diff --git a/OpenGLRaw.cabal b/OpenGLRaw.cabal
--- a/OpenGLRaw.cabal
+++ b/OpenGLRaw.cabal
@@ -1,279 +1,302 @@
-name: OpenGLRaw
-version: 1.4.0.0
-license: BSD3
-license-file: LICENSE
-maintainer: Sven Panne <svenpanne@gmail.com>, Jason Dagit <dagitj@gmail.com>
-bug-reports: https://github.com/haskell-opengl/OpenGLRaw/issues
-homepage: http://www.haskell.org/haskellwiki/Opengl
-category: Graphics
-synopsis: A raw binding for the OpenGL graphics system
-description:
-   OpenGLRaw is a raw Haskell binding for the OpenGL 3.2 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/>.
-build-type: Simple
-cabal-version:  >= 1.6
-extra-source-files:
-   README.md
-   include/HsOpenGLRaw.h
-
-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 platforms.
-
-library
-   exposed-modules:
-      Graphics.Rendering.OpenGL.Raw,
-      Graphics.Rendering.OpenGL.Raw.ARB,
-      Graphics.Rendering.OpenGL.Raw.ARB.ColorBufferFloat,
-      Graphics.Rendering.OpenGL.Raw.ARB.Compatibility,
-      Graphics.Rendering.OpenGL.Raw.ARB.ComputeShader,
-      Graphics.Rendering.OpenGL.Raw.ARB.CopyBuffer,
-      Graphics.Rendering.OpenGL.Raw.ARB.CreateContextProfile,
-      Graphics.Rendering.OpenGL.Raw.ARB.DepthBufferFloat,
-      Graphics.Rendering.OpenGL.Raw.ARB.DepthClamp,
-      Graphics.Rendering.OpenGL.Raw.ARB.DepthTexture,
-      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.ES3Compatibility,
-      Graphics.Rendering.OpenGL.Raw.ARB.FragmentProgram,
-      Graphics.Rendering.OpenGL.Raw.ARB.FragmentShader,
-      Graphics.Rendering.OpenGL.Raw.ARB.FramebufferObject,
-      Graphics.Rendering.OpenGL.Raw.ARB.FramebufferSRGB,
-      Graphics.Rendering.OpenGL.Raw.ARB.GeometryShader4,
-      Graphics.Rendering.OpenGL.Raw.ARB.GetProgramBinary,
-      Graphics.Rendering.OpenGL.Raw.ARB.GpuShader5,
-      Graphics.Rendering.OpenGL.Raw.ARB.HalfFloatPixel,
-      Graphics.Rendering.OpenGL.Raw.ARB.HalfFloatVertex,
-      Graphics.Rendering.OpenGL.Raw.ARB.InstancedArrays,
-      Graphics.Rendering.OpenGL.Raw.ARB.MapBufferRange,
-      Graphics.Rendering.OpenGL.Raw.ARB.MatrixPalette,
-      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.PixelBufferObject,
-      Graphics.Rendering.OpenGL.Raw.ARB.PointParameters,
-      Graphics.Rendering.OpenGL.Raw.ARB.PointSprite,
-      Graphics.Rendering.OpenGL.Raw.ARB.ProvokingVertex,
-      Graphics.Rendering.OpenGL.Raw.ARB.QueryBufferObject,
-      Graphics.Rendering.OpenGL.Raw.ARB.SampleShading,
-      Graphics.Rendering.OpenGL.Raw.ARB.SeamlessCubeMap,
-      Graphics.Rendering.OpenGL.Raw.ARB.SeparateShaderObjects,
-      Graphics.Rendering.OpenGL.Raw.ARB.ShaderAtomicCounters,
-      Graphics.Rendering.OpenGL.Raw.ARB.ShaderObjects,
-      Graphics.Rendering.OpenGL.Raw.ARB.ShaderStorageBufferObject,
-      Graphics.Rendering.OpenGL.Raw.ARB.ShadingLanguage100,
-      Graphics.Rendering.OpenGL.Raw.ARB.Shadow,
-      Graphics.Rendering.OpenGL.Raw.ARB.ShadowAmbient,
-      Graphics.Rendering.OpenGL.Raw.ARB.Sync,
-      Graphics.Rendering.OpenGL.Raw.ARB.TessellationShader,
-      Graphics.Rendering.OpenGL.Raw.ARB.TextureBorderClamp,
-      Graphics.Rendering.OpenGL.Raw.ARB.TextureBufferObject,
-      Graphics.Rendering.OpenGL.Raw.ARB.TextureCompression,
-      Graphics.Rendering.OpenGL.Raw.ARB.TextureCompressionRGTC,
-      Graphics.Rendering.OpenGL.Raw.ARB.TextureCubeMap,
-      Graphics.Rendering.OpenGL.Raw.ARB.TextureCubeMapArray,
-      Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvAdd,
-      Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvCombine,
-      Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvCrossbar,
-      Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvDot3,
-      Graphics.Rendering.OpenGL.Raw.ARB.TextureFloat,
-      Graphics.Rendering.OpenGL.Raw.ARB.TextureGather,
-      Graphics.Rendering.OpenGL.Raw.ARB.TextureMirroredRepeat,
-      Graphics.Rendering.OpenGL.Raw.ARB.TextureMultisample,
-      Graphics.Rendering.OpenGL.Raw.ARB.TextureRG,
-      Graphics.Rendering.OpenGL.Raw.ARB.TextureRectangle,
-      Graphics.Rendering.OpenGL.Raw.ARB.TimerQuery,
-      Graphics.Rendering.OpenGL.Raw.ARB.TransformFeedback3,
-      Graphics.Rendering.OpenGL.Raw.ARB.TransposeMatrix,
-      Graphics.Rendering.OpenGL.Raw.ARB.UniformBufferObject,
-      Graphics.Rendering.OpenGL.Raw.ARB.VertexArrayObject,
-      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.WindowPos,
-      Graphics.Rendering.OpenGL.Raw.Core31,
-      Graphics.Rendering.OpenGL.Raw.Core31.Types,
-      Graphics.Rendering.OpenGL.Raw.Core32,
-      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.ClipVolumeHint,
-      Graphics.Rendering.OpenGL.Raw.EXT.Cmyka,
-      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.DepthBoundsTest,
-      Graphics.Rendering.OpenGL.Raw.EXT.DirectStateAccess,
-      Graphics.Rendering.OpenGL.Raw.EXT.DrawRangeElements,
-      Graphics.Rendering.OpenGL.Raw.EXT.FogCoord,
-      Graphics.Rendering.OpenGL.Raw.EXT.FourTwoTwoPixels,
-      Graphics.Rendering.OpenGL.Raw.EXT.FragmentLighting,
-      Graphics.Rendering.OpenGL.Raw.EXT.FramebufferObject,
-      Graphics.Rendering.OpenGL.Raw.ARB.FramebufferNoAttachments,
-      Graphics.Rendering.OpenGL.Raw.EXT.FramebufferSRGB,
-      Graphics.Rendering.OpenGL.Raw.EXT.GeometryShader4,
-      Graphics.Rendering.OpenGL.Raw.EXT.GpuProgramParameters,
-      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.PackedFloat,
-      Graphics.Rendering.OpenGL.Raw.EXT.PackedPixels,
-      Graphics.Rendering.OpenGL.Raw.EXT.PalettedTexture,
-      Graphics.Rendering.OpenGL.Raw.EXT.PixelTransform,
-      Graphics.Rendering.OpenGL.Raw.EXT.PointParameters,
-      Graphics.Rendering.OpenGL.Raw.EXT.PolygonOffset,
-      Graphics.Rendering.OpenGL.Raw.EXT.ProvokingVertex,
-      Graphics.Rendering.OpenGL.Raw.EXT.RescaleNormal,
-      Graphics.Rendering.OpenGL.Raw.EXT.SceneMarker,
-      Graphics.Rendering.OpenGL.Raw.EXT.SecondaryColor,
-      Graphics.Rendering.OpenGL.Raw.EXT.SeparateSpecularColor,
-      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.TextureCompressionDxt1,
-      Graphics.Rendering.OpenGL.Raw.EXT.TextureCompressionLatc,
-      Graphics.Rendering.OpenGL.Raw.EXT.TextureCompressionS3tc,
-      Graphics.Rendering.OpenGL.Raw.EXT.TextureEnvAdd,
-      Graphics.Rendering.OpenGL.Raw.EXT.TextureEnvCombine,
-      Graphics.Rendering.OpenGL.Raw.EXT.TextureEnvDot3,
-      Graphics.Rendering.OpenGL.Raw.EXT.TextureFilterAnisotropic,
-      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.TextureSRGB,
-      Graphics.Rendering.OpenGL.Raw.EXT.TextureSwizzle,
-      Graphics.Rendering.OpenGL.Raw.EXT.TimerQuery,
-      Graphics.Rendering.OpenGL.Raw.EXT.VertexArray,
-      Graphics.Rendering.OpenGL.Raw.EXT.VertexShader,
-      Graphics.Rendering.OpenGL.Raw.EXT.VertexWeighting,
-      Graphics.Rendering.OpenGL.Raw.GetProcAddress,
-      Graphics.Rendering.OpenGL.Raw.NV,
-      Graphics.Rendering.OpenGL.Raw.NV.ConditionalRender,
-      Graphics.Rendering.OpenGL.Raw.NV.CopyDepthToColor,
-      Graphics.Rendering.OpenGL.Raw.NV.DepthBufferFloat,
-      Graphics.Rendering.OpenGL.Raw.NV.DepthClamp,
-      Graphics.Rendering.OpenGL.Raw.NV.ExplicitMultisample,
-      Graphics.Rendering.OpenGL.Raw.NV.Fence,
-      Graphics.Rendering.OpenGL.Raw.NV.FloatBuffer,
-      Graphics.Rendering.OpenGL.Raw.NV.FogDistance,
-      Graphics.Rendering.OpenGL.Raw.NV.FramebufferMultisampleCoverage,
-      Graphics.Rendering.OpenGL.Raw.NV.FragmentProgram,
-      Graphics.Rendering.OpenGL.Raw.NV.FragmentProgram2,
-      Graphics.Rendering.OpenGL.Raw.NV.GeometryProgram4,
-      Graphics.Rendering.OpenGL.Raw.NV.GpuProgram4,
-      Graphics.Rendering.OpenGL.Raw.NV.HalfFloat,
-      Graphics.Rendering.OpenGL.Raw.NV.LightMaxExponent,
-      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.PathRendering,
-      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.TexgenEmboss,
-      Graphics.Rendering.OpenGL.Raw.NV.TexgenReflection,
-      Graphics.Rendering.OpenGL.Raw.NV.TextureCompressionVtc,
-      Graphics.Rendering.OpenGL.Raw.NV.TextureEnvCombine4,
-      Graphics.Rendering.OpenGL.Raw.NV.TextureExpandNormal,
-      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.VertexArrayRange,
-      Graphics.Rendering.OpenGL.Raw.NV.VertexArrayRange2,
-      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.Types
-   other-modules:
-      Graphics.Rendering.OpenGL.Raw.ARB.Compatibility.Functions,
-      Graphics.Rendering.OpenGL.Raw.ARB.Compatibility.Tokens,
-      Graphics.Rendering.OpenGL.Raw.Core31.Functions,
-      Graphics.Rendering.OpenGL.Raw.Core31.Tokens,
-      Graphics.Rendering.OpenGL.Raw.Extensions
-   c-sources:
-      cbits/HsOpenGLRaw.c
-   hs-Source-Dirs: src
-   include-dirs: include
-   build-depends: base >= 3 && < 5
-   ghc-options: -Wall -O2
-   if impl(ghc)
-      -- these require 6.8, but that's pretty conservative these days
-      extensions: StandaloneDeriving, DeriveDataTypeable
-      build-depends: ghc-prim
-   if os(windows) && flag(UseNativeWindowsLibraries)
-      if arch(i386)
-         cpp-options: "-DCALLCONV=stdcall"
-      else
-         cpp-options: "-DCALLCONV=ccall"
-      cc-options: "-DUSE_WGLGETPROCADDRESS"
-      extra-libraries: opengl32
-   else
-      cpp-options: "-DCALLCONV=ccall"
-      if !os(darwin) && !os(ios) && flag(UseGlXGetProcAddress)
-         cc-options: "-DUSE_GLXGETPROCADDRESS"
-      else
-         cc-options: "-DUSE_DLSYM"
-      if os(darwin)
-         cpp-options: "-DHANDLE_IS_POINTER"
-         frameworks: OpenGL
-      else
-         if os(ios)
-            frameworks: OpenGLES
-         else
-            extra-libraries: GL
-
-source-repository head
-  type:     git
-  location: https://github.com/haskell-opengl/OpenGLRaw
+name: OpenGLRaw
+version: 1.5.0.0
+license: BSD3
+license-file: LICENSE
+maintainer: Sven Panne <svenpanne@gmail.com>, Jason Dagit <dagitj@gmail.com>
+bug-reports: https://github.com/haskell-opengl/OpenGLRaw/issues
+homepage: http://www.haskell.org/haskellwiki/Opengl
+category: Graphics
+synopsis: A raw binding for the OpenGL graphics system
+description:
+   OpenGLRaw is a raw Haskell binding for the OpenGL 3.2 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/>.
+build-type: Simple
+cabal-version:  >= 1.6
+extra-source-files:
+   README.md
+   include/HsOpenGLRaw.h
+
+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 platforms.
+
+library
+   exposed-modules:
+      Graphics.Rendering.OpenGL.Raw,
+      Graphics.Rendering.OpenGL.Raw.APPLE,
+      Graphics.Rendering.OpenGL.Raw.APPLE.FlushBufferRange,
+      Graphics.Rendering.OpenGL.Raw.APPLE.VertexArrayObject,
+      Graphics.Rendering.OpenGL.Raw.ARB,
+      Graphics.Rendering.OpenGL.Raw.ARB.BlendFuncExtended,
+      Graphics.Rendering.OpenGL.Raw.ARB.ColorBufferFloat,
+      Graphics.Rendering.OpenGL.Raw.ARB.Compatibility,
+      Graphics.Rendering.OpenGL.Raw.ARB.ComputeShader,
+      Graphics.Rendering.OpenGL.Raw.ARB.CopyBuffer,
+      Graphics.Rendering.OpenGL.Raw.ARB.CreateContextProfile,
+      Graphics.Rendering.OpenGL.Raw.ARB.DepthBufferFloat,
+      Graphics.Rendering.OpenGL.Raw.ARB.DepthClamp,
+      Graphics.Rendering.OpenGL.Raw.ARB.DepthTexture,
+      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.ES3Compatibility,
+      Graphics.Rendering.OpenGL.Raw.ARB.FragmentProgram,
+      Graphics.Rendering.OpenGL.Raw.ARB.FragmentShader,
+      Graphics.Rendering.OpenGL.Raw.ARB.FramebufferNoAttachments,
+      Graphics.Rendering.OpenGL.Raw.ARB.FramebufferObject,
+      Graphics.Rendering.OpenGL.Raw.ARB.FramebufferSRGB,
+      Graphics.Rendering.OpenGL.Raw.ARB.GPUShader5,
+      Graphics.Rendering.OpenGL.Raw.ARB.GPUShaderFP64,
+      Graphics.Rendering.OpenGL.Raw.ARB.GeometryShader4,
+      Graphics.Rendering.OpenGL.Raw.ARB.GetProgramBinary,
+      Graphics.Rendering.OpenGL.Raw.ARB.HalfFloatPixel,
+      Graphics.Rendering.OpenGL.Raw.ARB.HalfFloatVertex,
+      Graphics.Rendering.OpenGL.Raw.ARB.InstancedArrays,
+      Graphics.Rendering.OpenGL.Raw.ARB.MapBufferRange,
+      Graphics.Rendering.OpenGL.Raw.ARB.MatrixPalette,
+      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.PixelBufferObject,
+      Graphics.Rendering.OpenGL.Raw.ARB.PointParameters,
+      Graphics.Rendering.OpenGL.Raw.ARB.PointSprite,
+      Graphics.Rendering.OpenGL.Raw.ARB.ProvokingVertex,
+      Graphics.Rendering.OpenGL.Raw.ARB.QueryBufferObject,
+      Graphics.Rendering.OpenGL.Raw.ARB.SampleShading,
+      Graphics.Rendering.OpenGL.Raw.ARB.SamplerObjects,
+      Graphics.Rendering.OpenGL.Raw.ARB.SeamlessCubeMap,
+      Graphics.Rendering.OpenGL.Raw.ARB.SeparateShaderObjects,
+      Graphics.Rendering.OpenGL.Raw.ARB.ShaderAtomicCounters,
+      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.Sync,
+      Graphics.Rendering.OpenGL.Raw.ARB.TessellationShader,
+      Graphics.Rendering.OpenGL.Raw.ARB.TextureBorderClamp,
+      Graphics.Rendering.OpenGL.Raw.ARB.TextureBufferObject,
+      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.TextureEnvAdd,
+      Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvCombine,
+      Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvCrossbar,
+      Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvDot3,
+      Graphics.Rendering.OpenGL.Raw.ARB.TextureFloat,
+      Graphics.Rendering.OpenGL.Raw.ARB.TextureGather,
+      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.TextureSwizzle,
+      Graphics.Rendering.OpenGL.Raw.ARB.TimerQuery,
+      Graphics.Rendering.OpenGL.Raw.ARB.TransformFeedback2,
+      Graphics.Rendering.OpenGL.Raw.ARB.TransformFeedback3,
+      Graphics.Rendering.OpenGL.Raw.ARB.TransposeMatrix,
+      Graphics.Rendering.OpenGL.Raw.ARB.UniformBufferObject,
+      Graphics.Rendering.OpenGL.Raw.ARB.VertexArrayObject,
+      Graphics.Rendering.OpenGL.Raw.ARB.VertexAttrib64Bit,
+      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.VertexType2101010Rev,
+      Graphics.Rendering.OpenGL.Raw.ARB.WindowPos,
+      Graphics.Rendering.OpenGL.Raw.Core31,
+      Graphics.Rendering.OpenGL.Raw.Core31.Types,
+      Graphics.Rendering.OpenGL.Raw.Core32,
+      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.DepthBoundsTest,
+      Graphics.Rendering.OpenGL.Raw.EXT.DirectStateAccess,
+      Graphics.Rendering.OpenGL.Raw.EXT.DrawBuffers2,
+      Graphics.Rendering.OpenGL.Raw.EXT.DrawRangeElements,
+      Graphics.Rendering.OpenGL.Raw.EXT.FogCoord,
+      Graphics.Rendering.OpenGL.Raw.EXT.FourTwoTwoPixels,
+      Graphics.Rendering.OpenGL.Raw.EXT.FragmentLighting,
+      Graphics.Rendering.OpenGL.Raw.EXT.FramebufferBlit,
+      Graphics.Rendering.OpenGL.Raw.EXT.FramebufferMultisample,
+      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.PixelTransform,
+      Graphics.Rendering.OpenGL.Raw.EXT.PointParameters,
+      Graphics.Rendering.OpenGL.Raw.EXT.PolygonOffset,
+      Graphics.Rendering.OpenGL.Raw.EXT.ProvokingVertex,
+      Graphics.Rendering.OpenGL.Raw.EXT.RescaleNormal,
+      Graphics.Rendering.OpenGL.Raw.EXT.SceneMarker,
+      Graphics.Rendering.OpenGL.Raw.EXT.SecondaryColor,
+      Graphics.Rendering.OpenGL.Raw.EXT.SeparateSpecularColor,
+      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.TextureCompressionDXT1,
+      Graphics.Rendering.OpenGL.Raw.EXT.TextureCompressionLATC,
+      Graphics.Rendering.OpenGL.Raw.EXT.TextureCompressionRGTC,
+      Graphics.Rendering.OpenGL.Raw.EXT.TextureCompressionS3TC,
+      Graphics.Rendering.OpenGL.Raw.EXT.TextureEnvAdd,
+      Graphics.Rendering.OpenGL.Raw.EXT.TextureEnvCombine,
+      Graphics.Rendering.OpenGL.Raw.EXT.TextureEnvDot3,
+      Graphics.Rendering.OpenGL.Raw.EXT.TextureFilterAnisotropic,
+      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.TextureSRGB,
+      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.VertexShader,
+      Graphics.Rendering.OpenGL.Raw.EXT.VertexWeighting,
+      Graphics.Rendering.OpenGL.Raw.GetProcAddress,
+      Graphics.Rendering.OpenGL.Raw.NV,
+      Graphics.Rendering.OpenGL.Raw.NV.ConditionalRender,
+      Graphics.Rendering.OpenGL.Raw.NV.CopyDepthToColor,
+      Graphics.Rendering.OpenGL.Raw.NV.DepthBufferFloat,
+      Graphics.Rendering.OpenGL.Raw.NV.DepthClamp,
+      Graphics.Rendering.OpenGL.Raw.NV.ExplicitMultisample,
+      Graphics.Rendering.OpenGL.Raw.NV.Fence,
+      Graphics.Rendering.OpenGL.Raw.NV.FloatBuffer,
+      Graphics.Rendering.OpenGL.Raw.NV.FogDistance,
+      Graphics.Rendering.OpenGL.Raw.NV.FragmentProgram,
+      Graphics.Rendering.OpenGL.Raw.NV.FragmentProgram2,
+      Graphics.Rendering.OpenGL.Raw.NV.FramebufferMultisampleCoverage,
+      Graphics.Rendering.OpenGL.Raw.NV.GPUProgram4,
+      Graphics.Rendering.OpenGL.Raw.NV.GeometryProgram4,
+      Graphics.Rendering.OpenGL.Raw.NV.HalfFloat,
+      Graphics.Rendering.OpenGL.Raw.NV.LightMaxExponent,
+      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.PathRendering,
+      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.TexgenEmboss,
+      Graphics.Rendering.OpenGL.Raw.NV.TexgenReflection,
+      Graphics.Rendering.OpenGL.Raw.NV.TextureCompressionVTC,
+      Graphics.Rendering.OpenGL.Raw.NV.TextureEnvCombine4,
+      Graphics.Rendering.OpenGL.Raw.NV.TextureExpandNormal,
+      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.VertexArrayRange,
+      Graphics.Rendering.OpenGL.Raw.NV.VertexArrayRange2,
+      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.Types
+   other-modules:
+      Graphics.Rendering.OpenGL.Raw.ARB.Compatibility.Functions,
+      Graphics.Rendering.OpenGL.Raw.ARB.Compatibility.Tokens,
+      Graphics.Rendering.OpenGL.Raw.Core31.Functions,
+      Graphics.Rendering.OpenGL.Raw.Core31.Tokens,
+      Graphics.Rendering.OpenGL.Raw.Extensions
+   c-sources:
+      cbits/HsOpenGLRaw.c
+   hs-Source-Dirs: src
+   include-dirs: include
+   build-depends: base >= 3 && < 5
+   ghc-options: -Wall -O2
+   if impl(ghc)
+      -- these require 6.8, but that's pretty conservative these days
+      extensions: StandaloneDeriving, DeriveDataTypeable
+      build-depends: ghc-prim
+   if os(windows) && flag(UseNativeWindowsLibraries)
+      if arch(i386)
+         cpp-options: "-DCALLCONV=stdcall"
+      else
+         cpp-options: "-DCALLCONV=ccall"
+      cc-options: "-DUSE_WGLGETPROCADDRESS"
+      extra-libraries: opengl32
+   else
+      cpp-options: "-DCALLCONV=ccall"
+      if !os(darwin) && !os(ios) && flag(UseGlXGetProcAddress)
+         cc-options: "-DUSE_GLXGETPROCADDRESS"
+      else
+         cc-options: "-DUSE_DLSYM"
+      if os(darwin)
+         cpp-options: "-DHANDLE_IS_POINTER"
+         frameworks: OpenGL
+      else
+         if os(ios)
+            frameworks: OpenGLES
+         else
+            extra-libraries: GL
+
+source-repository head
+  type:     git
+  location: https://github.com/haskell-opengl/OpenGLRaw
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -1,1 +1,1 @@
-[![Build Status](https://travis-ci.org/haskell-opengl/OpenGLRaw.png)](https://travis-ci.org/haskell-opengl/OpenGLRaw)
+[![Build Status](https://travis-ci.org/haskell-opengl/OpenGLRaw.png)](https://travis-ci.org/haskell-opengl/OpenGLRaw)
diff --git a/cbits/HsOpenGLRaw.c b/cbits/HsOpenGLRaw.c
--- a/cbits/HsOpenGLRaw.c
+++ b/cbits/HsOpenGLRaw.c
@@ -1,153 +1,153 @@
-/* -----------------------------------------------------------------------------
- *
- * Module      :  C support for Graphics.Rendering.OpenGL.Raw.GetProcAddress.hs
- * Copyright   :  (c) Sven Panne 2013
- * License     :  BSD3
- *
- * Maintainer  :  Sven Panne <svenpanne@gmail.com>
- * Stability   :  stable
- * Portability :  portable
- *
- * -------------------------------------------------------------------------- */
-
-#if defined(USE_WGLGETPROCADDRESS)
-
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-
-static void*
-getProcAddress(const char *name)
-{
-  static int firstTime = 1;
-  static HMODULE handle = NULL;
-
-  if (firstTime) {
-    firstTime = 0;
-    handle = LoadLibrary(TEXT("opengl32"));
-  }
-  return handle ? GetProcAddress(handle, name) : NULL;
-}
-
-
-void*
-hs_OpenGLRaw_getProcAddress(const char *name)
-{
-  void *apiEntry = wglGetProcAddress(name);
-  /* Sometimes core API entries are not returned via wglGetProcAddress, so
-     we fall back to GetProcAddress in these cases. */
-  return (apiEntry == NULL) ? getProcAddress(name) : apiEntry;
-}
-
-/* -------------------------------------------------------------------------- */
-#elif defined(USE_NSADDRESSOFSYMBOL)
-
-#include <mach-o/dyld.h>
-#include <stdlib.h>
-#include <string.h>
-
-void*
-hs_OpenGLRaw_getProcAddress(const char *name)
-{
-  NSSymbol symbol;
-
-  /* Prepend a '_' for the Unix C symbol mangling convention */
-  char* symbolName = (char*)malloc(strlen(name) + 2);
-  if (!symbolName) {
-    return NULL;
-  }
-  symbolName[0] = '_';
-  strcpy(symbolName + 1, name);
-
-  if (!NSIsSymbolNameDefined(symbolName)) {
-    free(symbolName);
-    return NULL;
-  }
-
-  symbol = NSLookupAndBindSymbol(symbolName);
-  free(symbolName);
-  if (!symbol) {
-    return NULL;
-  }
-
-  return NSAddressOfSymbol(symbol);
-}
-
-/* -------------------------------------------------------------------------- */
-#elif defined(USE_DLSYM)
-
-#include <stdlib.h>
-#include <dlfcn.h>
-
-/* Do not depend on <GL/gl.h> */
-typedef unsigned char GLubyte;
-
-/* Do not depend on <GL/glx.h> */
-typedef void (*genericFunctionPointer)(void);
-typedef genericFunctionPointer (*PFNGLXGETPROCADDRESSARB)(const GLubyte *);
-
-static const char* gpaNames[] = {
-  "glXGetProcAddress", "glXGetProcAddressARB", "glXGetProcAddressEXT",
-  "_glXGetProcAddress", "_glXGetProcAddressARB", "_glXGetProcAddressEXT"
-};
-
-void*
-hs_OpenGLRaw_getProcAddress(const char *name)
-{
-  static int firstTime = 1;
-  static void *handle = NULL;
-  static void *gpa = NULL;
-
-  if (firstTime) {
-    firstTime = 0;
-
-    /* Get a handle for our executable. */
-    handle = dlopen(NULL, RTLD_LAZY);
-    /* If fail this early, there's not much we can do about it. */
-    if (!handle) {
-      return NULL;
-    }
-
-    {
-      /* Let's see if our platform supports a glXGetProcAddress() variant. */
-      int numNames = (int)(sizeof(gpaNames) / sizeof(gpaNames[0]));
-      int i;
-      for (i = 0;   (!gpa) && (i < numNames);   ++i) {
-        gpa = dlsym(handle, gpaNames[i]);
-      }
-    }
-  }
-
-  if (gpa) {
-    /* Fine, we seem to have some kind of glXGetProcAddress(), so use it. */
-    return ((PFNGLXGETPROCADDRESSARB)gpa)(name);
-  } else if (handle) {
-    /* Fallback to dlsym() if we have no glXGetProcAddress(), although we then
-       ignore the fact that OpenGL entry points could be context dependent. */
-    return dlsym(handle, name);
-  } else {
-    return NULL;
-  }
-}
-
-/* -------------------------------------------------------------------------- */
-#elif defined(USE_GLXGETPROCADDRESS)
-
-/* Do not depend on <GL/gl.h> */
-typedef unsigned char GLubyte;
-
-/* Do not depend on <GL/glx.h> */
-typedef void (*genericFunctionPointer)(void);
-extern genericFunctionPointer glXGetProcAddressARB(const GLubyte *);
-
-void*
-hs_OpenGLRaw_getProcAddress(const char *name)
-{
-  return glXGetProcAddressARB((const GLubyte*)name);
-}
-
-/* -------------------------------------------------------------------------- */
-#else
-
-#error "Don't know how to retrieve OpenGL extension entries"
-
-#endif
+/* -----------------------------------------------------------------------------
+ *
+ * Module      :  C support for Graphics.Rendering.OpenGL.Raw.GetProcAddress.hs
+ * Copyright   :  (c) Sven Panne 2013
+ * License     :  BSD3
+ *
+ * Maintainer  :  Sven Panne <svenpanne@gmail.com>
+ * Stability   :  stable
+ * Portability :  portable
+ *
+ * -------------------------------------------------------------------------- */
+
+#if defined(USE_WGLGETPROCADDRESS)
+
+#define WIN32_LEAN_AND_MEAN
+#include <windows.h>
+
+static void*
+getProcAddress(const char *name)
+{
+  static int firstTime = 1;
+  static HMODULE handle = NULL;
+
+  if (firstTime) {
+    firstTime = 0;
+    handle = LoadLibrary(TEXT("opengl32"));
+  }
+  return handle ? GetProcAddress(handle, name) : NULL;
+}
+
+
+void*
+hs_OpenGLRaw_getProcAddress(const char *name)
+{
+  void *apiEntry = wglGetProcAddress(name);
+  /* Sometimes core API entries are not returned via wglGetProcAddress, so
+     we fall back to GetProcAddress in these cases. */
+  return (apiEntry == NULL) ? getProcAddress(name) : apiEntry;
+}
+
+/* -------------------------------------------------------------------------- */
+#elif defined(USE_NSADDRESSOFSYMBOL)
+
+#include <mach-o/dyld.h>
+#include <stdlib.h>
+#include <string.h>
+
+void*
+hs_OpenGLRaw_getProcAddress(const char *name)
+{
+  NSSymbol symbol;
+
+  /* Prepend a '_' for the Unix C symbol mangling convention */
+  char* symbolName = (char*)malloc(strlen(name) + 2);
+  if (!symbolName) {
+    return NULL;
+  }
+  symbolName[0] = '_';
+  strcpy(symbolName + 1, name);
+
+  if (!NSIsSymbolNameDefined(symbolName)) {
+    free(symbolName);
+    return NULL;
+  }
+
+  symbol = NSLookupAndBindSymbol(symbolName);
+  free(symbolName);
+  if (!symbol) {
+    return NULL;
+  }
+
+  return NSAddressOfSymbol(symbol);
+}
+
+/* -------------------------------------------------------------------------- */
+#elif defined(USE_DLSYM)
+
+#include <stdlib.h>
+#include <dlfcn.h>
+
+/* Do not depend on <GL/gl.h> */
+typedef unsigned char GLubyte;
+
+/* Do not depend on <GL/glx.h> */
+typedef void (*genericFunctionPointer)(void);
+typedef genericFunctionPointer (*PFNGLXGETPROCADDRESSARB)(const GLubyte *);
+
+static const char* gpaNames[] = {
+  "glXGetProcAddress", "glXGetProcAddressARB", "glXGetProcAddressEXT",
+  "_glXGetProcAddress", "_glXGetProcAddressARB", "_glXGetProcAddressEXT"
+};
+
+void*
+hs_OpenGLRaw_getProcAddress(const char *name)
+{
+  static int firstTime = 1;
+  static void *handle = NULL;
+  static void *gpa = NULL;
+
+  if (firstTime) {
+    firstTime = 0;
+
+    /* Get a handle for our executable. */
+    handle = dlopen(NULL, RTLD_LAZY);
+    /* If fail this early, there's not much we can do about it. */
+    if (!handle) {
+      return NULL;
+    }
+
+    {
+      /* Let's see if our platform supports a glXGetProcAddress() variant. */
+      int numNames = (int)(sizeof(gpaNames) / sizeof(gpaNames[0]));
+      int i;
+      for (i = 0;   (!gpa) && (i < numNames);   ++i) {
+        gpa = dlsym(handle, gpaNames[i]);
+      }
+    }
+  }
+
+  if (gpa) {
+    /* Fine, we seem to have some kind of glXGetProcAddress(), so use it. */
+    return ((PFNGLXGETPROCADDRESSARB)gpa)(name);
+  } else if (handle) {
+    /* Fallback to dlsym() if we have no glXGetProcAddress(), although we then
+       ignore the fact that OpenGL entry points could be context dependent. */
+    return dlsym(handle, name);
+  } else {
+    return NULL;
+  }
+}
+
+/* -------------------------------------------------------------------------- */
+#elif defined(USE_GLXGETPROCADDRESS)
+
+/* Do not depend on <GL/gl.h> */
+typedef unsigned char GLubyte;
+
+/* Do not depend on <GL/glx.h> */
+typedef void (*genericFunctionPointer)(void);
+extern genericFunctionPointer glXGetProcAddressARB(const GLubyte *);
+
+void*
+hs_OpenGLRaw_getProcAddress(const char *name)
+{
+  return glXGetProcAddressARB((const GLubyte*)name);
+}
+
+/* -------------------------------------------------------------------------- */
+#else
+
+#error "Don't know how to retrieve OpenGL extension entries"
+
+#endif
diff --git a/include/HsOpenGLRaw.h b/include/HsOpenGLRaw.h
--- a/include/HsOpenGLRaw.h
+++ b/include/HsOpenGLRaw.h
@@ -1,29 +1,31 @@
-/* -----------------------------------------------------------------------------
- *
- * Module      :  GL extension support for Graphics.Rendering.OpenGL.Raw
- * Copyright   :  (c) Sven Panne 2013
- * License     :  BSD3
- * 
- * Maintainer  :  Sven Panne <svenpanne@gmail.com>
- * Stability   :  stable
- * Portability :  portable
- *
- * This header should only define preprocessor macros!
- *
- * -------------------------------------------------------------------------- */
-
-#ifndef HSOPENGLRAW_H
-#define HSOPENGLRAW_H
-
-/* NOTE: The macro must immediately start with the foreign declaration,
-   otherwise the magic mangler (hack_foreign) in the Hugs build system
-   doesn't recognize it. */
-#define EXTENSION_ENTRY(_entry,_ty) \
-foreign import CALLCONV unsafe "dynamic" dyn_/**/_entry :: Graphics.Rendering.OpenGL.Raw.Extensions.Invoker (_ty) ; \
-_entry :: (_ty) ; \
-_entry = dyn_/**/_entry ptr_/**/_entry ; \
-ptr_/**/_entry :: FunPtr a ; \
-ptr_/**/_entry = unsafePerformIO (Graphics.Rendering.OpenGL.Raw.Extensions.getExtensionEntry extensionNameString "_entry") ; \
-{-# NOINLINE ptr_/**/_entry #-}
-
-#endif
+/* -----------------------------------------------------------------------------
+ *
+ * Module      :  GL extension support for Graphics.Rendering.OpenGL.Raw
+ * Copyright   :  (c) Sven Panne 2013
+ * License     :  BSD3
+ * 
+ * Maintainer  :  Sven Panne <svenpanne@gmail.com>
+ * Stability   :  stable
+ * Portability :  portable
+ *
+ * This header should only define preprocessor macros!
+ *
+ * -------------------------------------------------------------------------- */
+
+#ifndef HSOPENGLRAW_H
+#define HSOPENGLRAW_H
+
+#define HASH #
+
+/* NOTE: The macro must immediately start with the foreign declaration,
+   otherwise the magic mangler (hack_foreign) in the Hugs build system
+   doesn't recognize it. */
+#define EXTENSION_ENTRY(_dyn_entry,_ptr_entry,_str_entry,_entry,_ty) \
+foreign import CALLCONV unsafe "dynamic" _dyn_entry :: Graphics.Rendering.OpenGL.Raw.Extensions.Invoker (_ty) ; \
+_entry :: (_ty) ; \
+_entry = _dyn_entry _ptr_entry ; \
+_ptr_entry :: FunPtr a ; \
+_ptr_entry = unsafePerformIO (Graphics.Rendering.OpenGL.Raw.Extensions.getExtensionEntry extensionNameString _str_entry) ; \
+{-HASH NOINLINE _ptr_entry HASH-}
+
+#endif
diff --git a/src/Graphics/Rendering/OpenGL/Raw.hs b/src/Graphics/Rendering/OpenGL/Raw.hs
--- a/src/Graphics/Rendering/OpenGL/Raw.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw.hs
@@ -1,29 +1,31 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- A convenience module, combining all raw OpenGL modules.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw (
-   module Graphics.Rendering.OpenGL.Raw.Types,
-   module Graphics.Rendering.OpenGL.Raw.ARB,
-   module Graphics.Rendering.OpenGL.Raw.Core32,
-   module Graphics.Rendering.OpenGL.Raw.EXT,
-   module Graphics.Rendering.OpenGL.Raw.NV,
-   module Graphics.Rendering.OpenGL.Raw.GetProcAddress
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Types
-import Graphics.Rendering.OpenGL.Raw.ARB
-import Graphics.Rendering.OpenGL.Raw.Core32
-import Graphics.Rendering.OpenGL.Raw.EXT
-import Graphics.Rendering.OpenGL.Raw.NV
-import Graphics.Rendering.OpenGL.Raw.GetProcAddress
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- A convenience module, combining all raw OpenGL modules.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw (
+   module Graphics.Rendering.OpenGL.Raw.Types,
+   module Graphics.Rendering.OpenGL.Raw.ARB,
+   module Graphics.Rendering.OpenGL.Raw.Core32,
+   module Graphics.Rendering.OpenGL.Raw.APPLE,
+   module Graphics.Rendering.OpenGL.Raw.EXT,
+   module Graphics.Rendering.OpenGL.Raw.NV,
+   module Graphics.Rendering.OpenGL.Raw.GetProcAddress
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Types
+import Graphics.Rendering.OpenGL.Raw.ARB
+import Graphics.Rendering.OpenGL.Raw.Core32
+import Graphics.Rendering.OpenGL.Raw.APPLE
+import Graphics.Rendering.OpenGL.Raw.EXT
+import Graphics.Rendering.OpenGL.Raw.NV
+import Graphics.Rendering.OpenGL.Raw.GetProcAddress
diff --git a/src/Graphics/Rendering/OpenGL/Raw/APPLE.hs b/src/Graphics/Rendering/OpenGL/Raw/APPLE.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/APPLE.hs
@@ -0,0 +1,61 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.APPLE
+-- Copyright   :  (c) Sven Panne 2014
+-- 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.SpecularVector,         -- # 159
+   -- module Graphics.Rendering.OpenGL.Raw.APPLE.TransformHint,          -- # 160
+   -- module Graphics.Rendering.OpenGL.Raw.APPLE.ClientStorage,          -- # 270
+   -- module Graphics.Rendering.OpenGL.Raw.APPLE.ElementArray,           -- # 271
+   -- module Graphics.Rendering.OpenGL.Raw.APPLE.Fence,                  -- # 272
+   module Graphics.Rendering.OpenGL.Raw.APPLE.VertexArrayObject,         -- # 273
+   -- module Graphics.Rendering.OpenGL.Raw.APPLE.VertexArrayRange,       -- # 274
+   -- module Graphics.Rendering.OpenGL.Raw.APPLE.YCBCR422,               -- # 275
+   module Graphics.Rendering.OpenGL.Raw.APPLE.FlushBufferRange,          -- # 321
+   -- module Graphics.Rendering.OpenGL.Raw.APPLE.TextureRange,           -- # 367
+   -- module Graphics.Rendering.OpenGL.Raw.APPLE.FloatPixels,            -- # 368
+   -- module Graphics.Rendering.OpenGL.Raw.APPLE.VertexProgramEvaluators,-- # 369
+   -- module Graphics.Rendering.OpenGL.Raw.APPLE.AuxDepthStencil,        -- # 370
+   -- module Graphics.Rendering.OpenGL.Raw.APPLE.ObjectPurgeable,        -- # 371
+   -- module Graphics.Rendering.OpenGL.Raw.APPLE.RowBytes,               -- # 372
+   -- module Graphics.Rendering.OpenGL.Raw.APPLE.RGB422,                 -- # 373
+   -- module Graphics.Rendering.OpenGL.Raw.APPLE.Texture2DLimitedNPOT,   -- # ES 59
+   -- module Graphics.Rendering.OpenGL.Raw.APPLE.FramebufferMultisample, -- # ES 78
+   -- module Graphics.Rendering.OpenGL.Raw.APPLE.TextureFormatBGRA8888,  -- # ES 79
+   -- module Graphics.Rendering.OpenGL.Raw.APPLE.TextureMaxLevel,        -- # ES 80
+   -- module Graphics.Rendering.OpenGL.Raw.APPLE.CopyTextureLevels,      -- # ES 123
+   -- module Graphics.Rendering.OpenGL.Raw.APPLE.Sync,                   -- # ES 124
+) where
+
+-- import Graphics.Rendering.OpenGL.Raw.APPLE.SpecularVector
+-- import Graphics.Rendering.OpenGL.Raw.APPLE.TransformHint
+-- 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.VertexArrayObject
+-- import Graphics.Rendering.OpenGL.Raw.APPLE.VertexArrayRange
+-- import Graphics.Rendering.OpenGL.Raw.APPLE.YCBCR422
+import Graphics.Rendering.OpenGL.Raw.APPLE.FlushBufferRange
+-- import Graphics.Rendering.OpenGL.Raw.APPLE.TextureRange
+-- import Graphics.Rendering.OpenGL.Raw.APPLE.FloatPixels
+-- import Graphics.Rendering.OpenGL.Raw.APPLE.VertexProgramEvaluators
+-- import Graphics.Rendering.OpenGL.Raw.APPLE.AuxDepthStencil
+-- import Graphics.Rendering.OpenGL.Raw.APPLE.ObjectPurgeable
+-- import Graphics.Rendering.OpenGL.Raw.APPLE.RowBytes
+-- import Graphics.Rendering.OpenGL.Raw.APPLE.RGB422
+-- import Graphics.Rendering.OpenGL.Raw.APPLE.Texture2DLimitedNPOT
+-- import Graphics.Rendering.OpenGL.Raw.APPLE.FramebufferMultisample
+-- import Graphics.Rendering.OpenGL.Raw.APPLE.TextureFormatBGRA8888
+-- import Graphics.Rendering.OpenGL.Raw.APPLE.TextureMaxLevel
+-- import Graphics.Rendering.OpenGL.Raw.APPLE.CopyTextureLevels
+-- import Graphics.Rendering.OpenGL.Raw.APPLE.Sync
diff --git a/src/Graphics/Rendering/OpenGL/Raw/APPLE/FlushBufferRange.hs b/src/Graphics/Rendering/OpenGL/Raw/APPLE/FlushBufferRange.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/APPLE/FlushBufferRange.hs
@@ -0,0 +1,45 @@
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.APPLE.FlushBufferRange
+-- Copyright   :  (c) Sven Panne 2014
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the APPLE_flush_buffer_range extension, see
+-- <http://www.opengl.org/registry/specs/APPLE/flush_buffer_range.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.APPLE.FlushBufferRange (
+   -- * Functions
+   glBufferParameteri,
+   glFlushMappedBufferRange,
+
+   -- * Tokens
+   gl__BUFFER_SERIALIZED_MODIFY,
+   gl_BUFFER_FLUSHING_UNMAP
+) where
+
+import Foreign.C.Types
+import Graphics.Rendering.OpenGL.Raw.ARB.MapBufferRange
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+import Graphics.Rendering.OpenGL.Raw.Extensions
+
+--------------------------------------------------------------------------------
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_APPLE_flush_buffer_range"
+
+EXTENSION_ENTRY(dyn_glBufferParameteri,ptr_glBufferParameteri,"glBufferParameteri",glBufferParameteri, GLenum -> GLenum -> GLint -> IO ())
+
+gl__BUFFER_SERIALIZED_MODIFY :: GLenum
+gl__BUFFER_SERIALIZED_MODIFY = 0x8A12
+
+gl_BUFFER_FLUSHING_UNMAP :: GLenum
+gl_BUFFER_FLUSHING_UNMAP = 0x8A13
diff --git a/src/Graphics/Rendering/OpenGL/Raw/APPLE/VertexArrayObject.hs b/src/Graphics/Rendering/OpenGL/Raw/APPLE/VertexArrayObject.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/APPLE/VertexArrayObject.hs
@@ -0,0 +1,40 @@
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.APPLE.VertexArrayObject
+-- Copyright   :  (c) Sven Panne 2014
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the APPLE_vertex_array_object extension,
+-- see <http://www.opengl.org/registry/specs/APPLE/vertex_array_object.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.APPLE.VertexArrayObject (
+   -- * Functions
+   glBindVertexArrayAPPLE,
+   glDeleteVertexArrays,
+   glGenVertexArrays,
+   glIsVertexArray,
+
+   -- * Tokens
+   gl_VERTEX_ARRAY_BINDING
+) where
+
+import Foreign.C.Types
+import Graphics.Rendering.OpenGL.Raw.ARB.VertexArrayObject
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+import Graphics.Rendering.OpenGL.Raw.Extensions
+
+--------------------------------------------------------------------------------
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_APPLE_vertex_array_object"
+
+EXTENSION_ENTRY(dyn_glBindVertexArrayAPPLE,ptr_glBindVertexArrayAPPLE,"glBindVertexArrayAPPLE",glBindVertexArrayAPPLE,GLuint -> IO ())
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB.hs
@@ -1,182 +1,321 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB
--- Copyright   :  (c) Sven Panne 2013
--- 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.Multitexture,                -- #1
-   module Graphics.Rendering.OpenGL.Raw.ARB.TransposeMatrix,             -- #3
-   module Graphics.Rendering.OpenGL.Raw.ARB.Multisample,                 -- #5
-   module Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvAdd,               -- #6
-   module Graphics.Rendering.OpenGL.Raw.ARB.TextureCubeMap,              -- #7
-   module Graphics.Rendering.OpenGL.Raw.ARB.TextureCompression,          -- #12
-   module Graphics.Rendering.OpenGL.Raw.ARB.TextureBorderClamp,          -- #13
-   module Graphics.Rendering.OpenGL.Raw.ARB.PointParameters,             -- #14
-   module Graphics.Rendering.OpenGL.Raw.ARB.VertexBlend,                 -- #15
-   module Graphics.Rendering.OpenGL.Raw.ARB.MatrixPalette,               -- #16
-   module Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvCombine,           -- #17
-   module Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvCrossbar,          -- #18
-   module Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvDot3,              -- #19
-   module Graphics.Rendering.OpenGL.Raw.ARB.TextureMirroredRepeat,       -- #21
-   module Graphics.Rendering.OpenGL.Raw.ARB.DepthTexture,                -- #22
-   module Graphics.Rendering.OpenGL.Raw.ARB.Shadow,                      -- #23
-   module Graphics.Rendering.OpenGL.Raw.ARB.ShadowAmbient,               -- #24
-   module Graphics.Rendering.OpenGL.Raw.ARB.WindowPos,                   -- #25
-   module Graphics.Rendering.OpenGL.Raw.ARB.VertexProgram,               -- #26
-   module Graphics.Rendering.OpenGL.Raw.ARB.FragmentProgram,             -- #27
-   module Graphics.Rendering.OpenGL.Raw.ARB.VertexBufferObject,          -- #28
-   module Graphics.Rendering.OpenGL.Raw.ARB.OcclusionQuery,              -- #29
-   module Graphics.Rendering.OpenGL.Raw.ARB.ShaderObjects,               -- #30
-   module Graphics.Rendering.OpenGL.Raw.ARB.VertexShader,                -- #31
-   module Graphics.Rendering.OpenGL.Raw.ARB.FragmentShader,              -- #32
-   module Graphics.Rendering.OpenGL.Raw.ARB.ShadingLanguage100,          -- #33
-   -- module Graphics.Rendering.OpenGL.Raw.ARB.TextureNonPowerOfTwo,     -- #34
-   module Graphics.Rendering.OpenGL.Raw.ARB.PointSprite,                 -- #35
-   -- module Graphics.Rendering.OpenGL.Raw.ARB.FragmentProgramShadow,    -- #36
-   module Graphics.Rendering.OpenGL.Raw.ARB.DrawBuffers,                 -- #37
-   module Graphics.Rendering.OpenGL.Raw.ARB.TextureRectangle,            -- #38
-   module Graphics.Rendering.OpenGL.Raw.ARB.ColorBufferFloat,            -- #39
-   module Graphics.Rendering.OpenGL.Raw.ARB.HalfFloatPixel,              -- #40
-   module Graphics.Rendering.OpenGL.Raw.ARB.TextureFloat,                -- #41
-   module Graphics.Rendering.OpenGL.Raw.ARB.PixelBufferObject,           -- #42
-   module Graphics.Rendering.OpenGL.Raw.ARB.DepthBufferFloat,            -- #43
-   module Graphics.Rendering.OpenGL.Raw.ARB.DrawInstanced,               -- #44
-   module Graphics.Rendering.OpenGL.Raw.ARB.FramebufferObject,           -- #45
-   module Graphics.Rendering.OpenGL.Raw.ARB.FramebufferSRGB,             -- #46
-   module Graphics.Rendering.OpenGL.Raw.ARB.GeometryShader4,             -- #47
-   module Graphics.Rendering.OpenGL.Raw.ARB.HalfFloatVertex,             -- #48
-   module Graphics.Rendering.OpenGL.Raw.ARB.InstancedArrays,             -- #49
-   module Graphics.Rendering.OpenGL.Raw.ARB.MapBufferRange,              -- #50
-   module Graphics.Rendering.OpenGL.Raw.ARB.TextureBufferObject,         -- #51
-   module Graphics.Rendering.OpenGL.Raw.ARB.TextureCompressionRGTC,      -- #52
-   module Graphics.Rendering.OpenGL.Raw.ARB.TextureRG,                   -- #53
-   module Graphics.Rendering.OpenGL.Raw.ARB.VertexArrayObject,           -- #54
-   -- module Graphics.Rendering.OpenGL.Raw.ARB.WGLCreateContext,         -- #55
-   -- module Graphics.Rendering.OpenGL.Raw.ARB.GLXCreateContext,         -- #56
-   module Graphics.Rendering.OpenGL.Raw.ARB.UniformBufferObject,         -- #57
-   module Graphics.Rendering.OpenGL.Raw.ARB.Compatibility,               -- #58
-   module Graphics.Rendering.OpenGL.Raw.ARB.CopyBuffer,                  -- #59
-   -- module Graphics.Rendering.OpenGL.Raw.ARB.ShaderTextureLod,         -- #60
-   module Graphics.Rendering.OpenGL.Raw.ARB.DepthClamp,                  -- #61
-   module Graphics.Rendering.OpenGL.Raw.ARB.DrawElementsBaseVertex,      -- #62
-   -- module Graphics.Rendering.OpenGL.Raw.ARB.FragmentCoordConventions, -- #63
-   module Graphics.Rendering.OpenGL.Raw.ARB.ProvokingVertex,             -- #64
-   module Graphics.Rendering.OpenGL.Raw.ARB.SeamlessCubeMap,             -- #65
-   module Graphics.Rendering.OpenGL.Raw.ARB.Sync,                        -- #66
-   module Graphics.Rendering.OpenGL.Raw.ARB.TextureMultisample,          -- #67
-   -- module Graphics.Rendering.OpenGL.Raw.ARB.VertexArrayBgra,          -- #68
-   module Graphics.Rendering.OpenGL.Raw.ARB.DrawBuffersBlend,            -- #69
-   module Graphics.Rendering.OpenGL.Raw.ARB.SampleShading,               -- #70
-   module Graphics.Rendering.OpenGL.Raw.ARB.TextureCubeMapArray,         -- #71
-   module Graphics.Rendering.OpenGL.Raw.ARB.TextureGather,               -- #72
-   -- module Graphics.Rendering.OpenGL.Raw.ARB.TextureQueryLod,          -- #73
-   -- module Graphics.Rendering.OpenGL.Raw.ARB.WGLCreateContextProfile,  -- #74
-   module Graphics.Rendering.OpenGL.Raw.ARB.CreateContextProfile,        -- #75
-   -- module Graphics.Rendering.OpenGL.Raw.ARB.ExplicitAttribLocation,   -- #79
-   module Graphics.Rendering.OpenGL.Raw.ARB.OcclusionQuery2,             -- #80
-   -- module Graphics.Rendering.OpenGL.Raw.ARB.ShaderBitEncoding,        -- #82
-   module Graphics.Rendering.OpenGL.Raw.ARB.TimerQuery,                  -- #85
-   module Graphics.Rendering.OpenGL.Raw.ARB.DrawIndirect,                -- #87
-   module Graphics.Rendering.OpenGL.Raw.ARB.GpuShader5,                  -- #88
-   module Graphics.Rendering.OpenGL.Raw.ARB.TessellationShader,          -- #91
-   module Graphics.Rendering.OpenGL.Raw.ARB.TransformFeedback3,          -- #94
-   module Graphics.Rendering.OpenGL.Raw.ARB.ES2Compatibility,            -- #95
-   module Graphics.Rendering.OpenGL.Raw.ARB.GetProgramBinary,            -- #96
-   module Graphics.Rendering.OpenGL.Raw.ARB.SeparateShaderObjects,       -- #97
-   module Graphics.Rendering.OpenGL.Raw.ARB.ShaderAtomicCounters,        -- #114
-   module Graphics.Rendering.OpenGL.Raw.ARB.ComputeShader,               -- #122
-   module Graphics.Rendering.OpenGL.Raw.ARB.ES3Compatibility,            -- #127
-   module Graphics.Rendering.OpenGL.Raw.ARB.FramebufferNoAttachments,    -- #130
-   module Graphics.Rendering.OpenGL.Raw.ARB.ShaderStorageBufferObject,   -- #137
-   module Graphics.Rendering.OpenGL.Raw.ARB.QueryBufferObject            -- #148
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ARB.Multitexture
-import Graphics.Rendering.OpenGL.Raw.ARB.TransposeMatrix
-import Graphics.Rendering.OpenGL.Raw.ARB.Multisample
-import Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvAdd
-import Graphics.Rendering.OpenGL.Raw.ARB.TextureCubeMap
-import Graphics.Rendering.OpenGL.Raw.ARB.TextureCompression
-import Graphics.Rendering.OpenGL.Raw.ARB.TextureBorderClamp
-import Graphics.Rendering.OpenGL.Raw.ARB.PointParameters
-import Graphics.Rendering.OpenGL.Raw.ARB.VertexBlend
-import Graphics.Rendering.OpenGL.Raw.ARB.MatrixPalette
-import Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvCombine
-import Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvCrossbar
-import Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvDot3
-import Graphics.Rendering.OpenGL.Raw.ARB.TextureMirroredRepeat
-import Graphics.Rendering.OpenGL.Raw.ARB.DepthTexture
-import Graphics.Rendering.OpenGL.Raw.ARB.Shadow
-import Graphics.Rendering.OpenGL.Raw.ARB.ShadowAmbient
-import Graphics.Rendering.OpenGL.Raw.ARB.WindowPos
-import Graphics.Rendering.OpenGL.Raw.ARB.VertexProgram
-import Graphics.Rendering.OpenGL.Raw.ARB.FragmentProgram
-import Graphics.Rendering.OpenGL.Raw.ARB.VertexBufferObject
-import Graphics.Rendering.OpenGL.Raw.ARB.OcclusionQuery
-import Graphics.Rendering.OpenGL.Raw.ARB.ShaderObjects
-import Graphics.Rendering.OpenGL.Raw.ARB.VertexShader
-import Graphics.Rendering.OpenGL.Raw.ARB.FragmentShader
-import Graphics.Rendering.OpenGL.Raw.ARB.ShadingLanguage100
--- import Graphics.Rendering.OpenGL.Raw.ARB.TextureNonPowerOfTwo
-import Graphics.Rendering.OpenGL.Raw.ARB.PointSprite
--- import Graphics.Rendering.OpenGL.Raw.ARB.FragmentProgramShadow
-import Graphics.Rendering.OpenGL.Raw.ARB.DrawBuffers
-import Graphics.Rendering.OpenGL.Raw.ARB.TextureRectangle
-import Graphics.Rendering.OpenGL.Raw.ARB.ColorBufferFloat
-import Graphics.Rendering.OpenGL.Raw.ARB.HalfFloatPixel
-import Graphics.Rendering.OpenGL.Raw.ARB.TextureFloat
-import Graphics.Rendering.OpenGL.Raw.ARB.PixelBufferObject
-import Graphics.Rendering.OpenGL.Raw.ARB.DepthBufferFloat
-import Graphics.Rendering.OpenGL.Raw.ARB.DrawInstanced
-import Graphics.Rendering.OpenGL.Raw.ARB.FramebufferObject
-import Graphics.Rendering.OpenGL.Raw.ARB.FramebufferSRGB
-import Graphics.Rendering.OpenGL.Raw.ARB.GeometryShader4
-import Graphics.Rendering.OpenGL.Raw.ARB.HalfFloatVertex
-import Graphics.Rendering.OpenGL.Raw.ARB.InstancedArrays
-import Graphics.Rendering.OpenGL.Raw.ARB.MapBufferRange
-import Graphics.Rendering.OpenGL.Raw.ARB.TextureBufferObject
-import Graphics.Rendering.OpenGL.Raw.ARB.TextureCompressionRGTC
-import Graphics.Rendering.OpenGL.Raw.ARB.TextureRG
-import Graphics.Rendering.OpenGL.Raw.ARB.VertexArrayObject
-import Graphics.Rendering.OpenGL.Raw.ARB.UniformBufferObject
-import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
-import Graphics.Rendering.OpenGL.Raw.ARB.CopyBuffer
--- import Graphics.Rendering.OpenGL.Raw.ARB.ShaderTextureLod
-import Graphics.Rendering.OpenGL.Raw.ARB.DepthClamp
-import Graphics.Rendering.OpenGL.Raw.ARB.DrawElementsBaseVertex
--- import Graphics.Rendering.OpenGL.Raw.ARB.FragmentCoordConventions
-import Graphics.Rendering.OpenGL.Raw.ARB.ProvokingVertex
-import Graphics.Rendering.OpenGL.Raw.ARB.SeamlessCubeMap
-import Graphics.Rendering.OpenGL.Raw.ARB.Sync
-import Graphics.Rendering.OpenGL.Raw.ARB.TextureMultisample
--- import Graphics.Rendering.OpenGL.Raw.ARB.VertexArrayBgra
-import Graphics.Rendering.OpenGL.Raw.ARB.DrawBuffersBlend
-import Graphics.Rendering.OpenGL.Raw.ARB.SampleShading
-import Graphics.Rendering.OpenGL.Raw.ARB.TextureCubeMapArray
-import Graphics.Rendering.OpenGL.Raw.ARB.TextureGather
--- import Graphics.Rendering.OpenGL.Raw.ARB.TextureQueryLod
-import Graphics.Rendering.OpenGL.Raw.ARB.CreateContextProfile
-import Graphics.Rendering.OpenGL.Raw.ARB.OcclusionQuery2
-import Graphics.Rendering.OpenGL.Raw.ARB.TimerQuery
-import Graphics.Rendering.OpenGL.Raw.ARB.DrawIndirect
-import Graphics.Rendering.OpenGL.Raw.ARB.GpuShader5
-import Graphics.Rendering.OpenGL.Raw.ARB.TessellationShader
-import Graphics.Rendering.OpenGL.Raw.ARB.TransformFeedback3
-import Graphics.Rendering.OpenGL.Raw.ARB.ES2Compatibility
-import Graphics.Rendering.OpenGL.Raw.ARB.GetProgramBinary
-import Graphics.Rendering.OpenGL.Raw.ARB.SeparateShaderObjects
-import Graphics.Rendering.OpenGL.Raw.ARB.ShaderAtomicCounters
-import Graphics.Rendering.OpenGL.Raw.ARB.ComputeShader
-import Graphics.Rendering.OpenGL.Raw.ARB.ES3Compatibility
-import Graphics.Rendering.OpenGL.Raw.ARB.FramebufferNoAttachments
-import Graphics.Rendering.OpenGL.Raw.ARB.ShaderStorageBufferObject
-import Graphics.Rendering.OpenGL.Raw.ARB.QueryBufferObject
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB
+-- Copyright   :  (c) Sven Panne 2013
+-- 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.Multitexture,                -- #1
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.GLX.GetProcAddress,       -- #2
+   module Graphics.Rendering.OpenGL.Raw.ARB.TransposeMatrix,             -- #3
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.WGL.BufferRegion,         -- #4
+   module Graphics.Rendering.OpenGL.Raw.ARB.Multisample,                 -- #5
+   module Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvAdd,               -- #6
+   module Graphics.Rendering.OpenGL.Raw.ARB.TextureCubeMap,              -- #7
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.WGL.ExtensionsString,     -- #8
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.WGL.PixelFormat,          -- #9
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.WGL.MakeCurrentRead,      -- #10
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.WGL.PBuffer,              -- #11
+   module Graphics.Rendering.OpenGL.Raw.ARB.TextureCompression,          -- #12
+   module Graphics.Rendering.OpenGL.Raw.ARB.TextureBorderClamp,          -- #13
+   module Graphics.Rendering.OpenGL.Raw.ARB.PointParameters,             -- #14
+   module Graphics.Rendering.OpenGL.Raw.ARB.VertexBlend,                 -- #15
+   module Graphics.Rendering.OpenGL.Raw.ARB.MatrixPalette,               -- #16
+   module Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvCombine,           -- #17
+   module Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvCrossbar,          -- #18
+   module Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvDot3,              -- #19
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.WGL.RenderTexture,        -- #20
+   module Graphics.Rendering.OpenGL.Raw.ARB.TextureMirroredRepeat,       -- #21
+   module Graphics.Rendering.OpenGL.Raw.ARB.DepthTexture,                -- #22
+   module Graphics.Rendering.OpenGL.Raw.ARB.Shadow,                      -- #23
+   module Graphics.Rendering.OpenGL.Raw.ARB.ShadowAmbient,               -- #24
+   module Graphics.Rendering.OpenGL.Raw.ARB.WindowPos,                   -- #25
+   module Graphics.Rendering.OpenGL.Raw.ARB.VertexProgram,               -- #26
+   module Graphics.Rendering.OpenGL.Raw.ARB.FragmentProgram,             -- #27
+   module Graphics.Rendering.OpenGL.Raw.ARB.VertexBufferObject,          -- #28
+   module Graphics.Rendering.OpenGL.Raw.ARB.OcclusionQuery,              -- #29
+   module Graphics.Rendering.OpenGL.Raw.ARB.ShaderObjects,               -- #30
+   module Graphics.Rendering.OpenGL.Raw.ARB.VertexShader,                -- #31
+   module Graphics.Rendering.OpenGL.Raw.ARB.FragmentShader,              -- #32
+   module Graphics.Rendering.OpenGL.Raw.ARB.ShadingLanguage100,          -- #33
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.TextureNonPowerOfTwo,     -- #34
+   module Graphics.Rendering.OpenGL.Raw.ARB.PointSprite,                 -- #35
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.FragmentProgramShadow,    -- #36
+   module Graphics.Rendering.OpenGL.Raw.ARB.DrawBuffers,                 -- #37
+   module Graphics.Rendering.OpenGL.Raw.ARB.TextureRectangle,            -- #38
+   module Graphics.Rendering.OpenGL.Raw.ARB.ColorBufferFloat,            -- #39
+   module Graphics.Rendering.OpenGL.Raw.ARB.HalfFloatPixel,              -- #40
+   module Graphics.Rendering.OpenGL.Raw.ARB.TextureFloat,                -- #41
+   module Graphics.Rendering.OpenGL.Raw.ARB.PixelBufferObject,           -- #42
+   module Graphics.Rendering.OpenGL.Raw.ARB.DepthBufferFloat,            -- #43
+   module Graphics.Rendering.OpenGL.Raw.ARB.DrawInstanced,               -- #44
+   module Graphics.Rendering.OpenGL.Raw.ARB.FramebufferObject,           -- #45
+   module Graphics.Rendering.OpenGL.Raw.ARB.FramebufferSRGB,             -- #46
+   module Graphics.Rendering.OpenGL.Raw.ARB.GeometryShader4,             -- #47
+   module Graphics.Rendering.OpenGL.Raw.ARB.HalfFloatVertex,             -- #48
+   module Graphics.Rendering.OpenGL.Raw.ARB.InstancedArrays,             -- #49
+   module Graphics.Rendering.OpenGL.Raw.ARB.MapBufferRange,              -- #50
+   module Graphics.Rendering.OpenGL.Raw.ARB.TextureBufferObject,         -- #51
+   module Graphics.Rendering.OpenGL.Raw.ARB.TextureCompressionRGTC,      -- #52
+   module Graphics.Rendering.OpenGL.Raw.ARB.TextureRG,                   -- #53
+   module Graphics.Rendering.OpenGL.Raw.ARB.VertexArrayObject,           -- #54
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.WGL.CreateContext,        -- #55
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.GLX.CreateContext,        -- #56
+   module Graphics.Rendering.OpenGL.Raw.ARB.UniformBufferObject,         -- #57
+   module Graphics.Rendering.OpenGL.Raw.ARB.Compatibility,               -- #58
+   module Graphics.Rendering.OpenGL.Raw.ARB.CopyBuffer,                  -- #59
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.ShaderTextureLOD,         -- #60
+   module Graphics.Rendering.OpenGL.Raw.ARB.DepthClamp,                  -- #61
+   module Graphics.Rendering.OpenGL.Raw.ARB.DrawElementsBaseVertex,      -- #62
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.FragmentCoordConventions, -- #63
+   module Graphics.Rendering.OpenGL.Raw.ARB.ProvokingVertex,             -- #64
+   module Graphics.Rendering.OpenGL.Raw.ARB.SeamlessCubeMap,             -- #65
+   module Graphics.Rendering.OpenGL.Raw.ARB.Sync,                        -- #66
+   module Graphics.Rendering.OpenGL.Raw.ARB.TextureMultisample,          -- #67
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.VertexArrayBGRA,          -- #68
+   module Graphics.Rendering.OpenGL.Raw.ARB.DrawBuffersBlend,            -- #69
+   module Graphics.Rendering.OpenGL.Raw.ARB.SampleShading,               -- #70
+   module Graphics.Rendering.OpenGL.Raw.ARB.TextureCubeMapArray,         -- #71
+   module Graphics.Rendering.OpenGL.Raw.ARB.TextureGather,               -- #72
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.TextureQueryLOD,          -- #73
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.WGL.CreateContextProfile, -- #74
+   module Graphics.Rendering.OpenGL.Raw.ARB.CreateContextProfile,        -- #75
+   module Graphics.Rendering.OpenGL.Raw.ARB.ShadingLanguageInclude,      -- #76
+   module Graphics.Rendering.OpenGL.Raw.ARB.TextureCompressionBPTC,      -- #77
+   module Graphics.Rendering.OpenGL.Raw.ARB.BlendFuncExtended,           -- #78
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.ExplicitAttribLocation,   -- #79
+   module Graphics.Rendering.OpenGL.Raw.ARB.OcclusionQuery2,             -- #80
+   module Graphics.Rendering.OpenGL.Raw.ARB.SamplerObjects,              -- #81
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.ShaderBitEncoding,        -- #82
+   module Graphics.Rendering.OpenGL.Raw.ARB.TextureRGB10A2UI,            -- #83
+   module Graphics.Rendering.OpenGL.Raw.ARB.TextureSwizzle,              -- #84
+   module Graphics.Rendering.OpenGL.Raw.ARB.TimerQuery,                  -- #85
+   module Graphics.Rendering.OpenGL.Raw.ARB.VertexType2101010Rev,        -- #86
+   module Graphics.Rendering.OpenGL.Raw.ARB.DrawIndirect,                -- #87
+   module Graphics.Rendering.OpenGL.Raw.ARB.GPUShader5,                  -- #88
+   module Graphics.Rendering.OpenGL.Raw.ARB.GPUShaderFP64,               -- #89
+   module Graphics.Rendering.OpenGL.Raw.ARB.ShaderSubroutine,            -- #90
+   module Graphics.Rendering.OpenGL.Raw.ARB.TessellationShader,          -- #91
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.TextureBufferObjectRGB32, -- #92
+   module Graphics.Rendering.OpenGL.Raw.ARB.TransformFeedback2,          -- #93
+   module Graphics.Rendering.OpenGL.Raw.ARB.TransformFeedback3,          -- #94
+   module Graphics.Rendering.OpenGL.Raw.ARB.ES2Compatibility,            -- #95
+   module Graphics.Rendering.OpenGL.Raw.ARB.GetProgramBinary,            -- #96
+   module Graphics.Rendering.OpenGL.Raw.ARB.SeparateShaderObjects,       -- #97
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.ShaderPrecision,          -- #98
+   module Graphics.Rendering.OpenGL.Raw.ARB.VertexAttrib64Bit,           -- #99
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.ViewportArray,            -- #100
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.CLEvent,                  -- #103
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.DebugOutput,              -- #104
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.Robustness,               -- #105
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.ShaderStencilExport,      -- #106
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.BaseInstance,             -- #107
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.ShadingLanguage420pack,   -- #108
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.TransformFeedbackInstanced, -- #109
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.CompressedTexturePixelStorage, -- #110
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.ConservativeDepth,        -- #111
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.InternalformatQuery,      -- #112
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.MapBufferAlignment,       -- #113
+   module Graphics.Rendering.OpenGL.Raw.ARB.ShaderAtomicCounters,        -- #114
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.ShaderImageLoadStore,     -- #115
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.ShadingLanguagePacking,   -- #116
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.TextureStorage,           -- #117
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.ArraysOfArrays,           -- #120
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.ClearBufferObject,        -- #121
+   module Graphics.Rendering.OpenGL.Raw.ARB.ComputeShader,               -- #122
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.CopyImage,                -- #123
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.TextureView,              -- #124
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.VertexAttribBinding,      -- #125
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.RobustnessIsolation,      -- #126
+   module Graphics.Rendering.OpenGL.Raw.ARB.ES3Compatibility,            -- #127
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.ExplicitUniformLocation,  -- #128
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.FragmentLayerViewport,    -- #129
+   module Graphics.Rendering.OpenGL.Raw.ARB.FramebufferNoAttachments,    -- #130
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.InternalformatQuery2,     -- #131
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.InvalidateSubdata,        -- #132
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.MultiDrawIndirect,        -- #133
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.ProgramInterfaceQuery,    -- #134
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.RobustBufferAccessBehavior, -- #135
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.ShaderImageSize,          -- #136
+   module Graphics.Rendering.OpenGL.Raw.ARB.ShaderStorageBufferObject,   -- #137
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.StencilTexturing,         -- #138
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.TextureBufferRange,       -- #139
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.TextureQueryLevels,       -- #140
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.TextureStorageMultisample,-- #141
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.BufferStorage,            -- #144
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.ClearTexture,             -- #145
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.EnhancedLayouts,          -- #146
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.MultiBind,                -- #147
+   module Graphics.Rendering.OpenGL.Raw.ARB.QueryBufferObject            -- #148
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.TextureMirrorClampToEdge, -- #149
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.TextureStencil8,          -- #150
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.VertexType10f11f11fRev,   -- #151
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.BindlessTexture,          -- #152
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.ComputeVariableGroupSize, -- #153
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.IndirectParameters,       -- #154
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.SeamlessCubemapPerTexture,-- #155
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.ShaderDrawParameters,     -- #156
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.ShaderGroupVote,          -- #157
+   -- module Graphics.Rendering.OpenGL.Raw.ARB.SparseTexture             -- #158
+) where
+
+import Graphics.Rendering.OpenGL.Raw.ARB.Multitexture
+-- import Graphics.Rendering.OpenGL.Raw.ARB.GLX.GetProcAddress
+import Graphics.Rendering.OpenGL.Raw.ARB.TransposeMatrix
+-- import Graphics.Rendering.OpenGL.Raw.ARB.WGL.BufferRegion
+import Graphics.Rendering.OpenGL.Raw.ARB.Multisample
+import Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvAdd
+import Graphics.Rendering.OpenGL.Raw.ARB.TextureCubeMap
+-- import Graphics.Rendering.OpenGL.Raw.ARB.WGL.ExtensionsString
+-- import Graphics.Rendering.OpenGL.Raw.ARB.WGL.PixelFormat
+-- import Graphics.Rendering.OpenGL.Raw.ARB.WGL.MakeCurrentRead
+-- import Graphics.Rendering.OpenGL.Raw.ARB.WGL.PBuffer
+import Graphics.Rendering.OpenGL.Raw.ARB.TextureCompression
+import Graphics.Rendering.OpenGL.Raw.ARB.TextureBorderClamp
+import Graphics.Rendering.OpenGL.Raw.ARB.PointParameters
+import Graphics.Rendering.OpenGL.Raw.ARB.VertexBlend
+import Graphics.Rendering.OpenGL.Raw.ARB.MatrixPalette
+import Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvCombine
+import Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvCrossbar
+import Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvDot3
+-- import Graphics.Rendering.OpenGL.Raw.ARB.WGL.RenderTexture
+import Graphics.Rendering.OpenGL.Raw.ARB.TextureMirroredRepeat
+import Graphics.Rendering.OpenGL.Raw.ARB.DepthTexture
+import Graphics.Rendering.OpenGL.Raw.ARB.Shadow
+import Graphics.Rendering.OpenGL.Raw.ARB.ShadowAmbient
+import Graphics.Rendering.OpenGL.Raw.ARB.WindowPos
+import Graphics.Rendering.OpenGL.Raw.ARB.VertexProgram
+import Graphics.Rendering.OpenGL.Raw.ARB.FragmentProgram
+import Graphics.Rendering.OpenGL.Raw.ARB.VertexBufferObject
+import Graphics.Rendering.OpenGL.Raw.ARB.OcclusionQuery
+import Graphics.Rendering.OpenGL.Raw.ARB.ShaderObjects
+import Graphics.Rendering.OpenGL.Raw.ARB.VertexShader
+import Graphics.Rendering.OpenGL.Raw.ARB.FragmentShader
+import Graphics.Rendering.OpenGL.Raw.ARB.ShadingLanguage100
+-- import Graphics.Rendering.OpenGL.Raw.ARB.TextureNonPowerOfTwo
+import Graphics.Rendering.OpenGL.Raw.ARB.PointSprite
+-- import Graphics.Rendering.OpenGL.Raw.ARB.FragmentProgramShadow
+import Graphics.Rendering.OpenGL.Raw.ARB.DrawBuffers
+import Graphics.Rendering.OpenGL.Raw.ARB.TextureRectangle
+import Graphics.Rendering.OpenGL.Raw.ARB.ColorBufferFloat
+import Graphics.Rendering.OpenGL.Raw.ARB.HalfFloatPixel
+import Graphics.Rendering.OpenGL.Raw.ARB.TextureFloat
+import Graphics.Rendering.OpenGL.Raw.ARB.PixelBufferObject
+import Graphics.Rendering.OpenGL.Raw.ARB.DepthBufferFloat
+import Graphics.Rendering.OpenGL.Raw.ARB.DrawInstanced
+import Graphics.Rendering.OpenGL.Raw.ARB.FramebufferObject
+import Graphics.Rendering.OpenGL.Raw.ARB.FramebufferSRGB
+import Graphics.Rendering.OpenGL.Raw.ARB.GeometryShader4
+import Graphics.Rendering.OpenGL.Raw.ARB.HalfFloatVertex
+import Graphics.Rendering.OpenGL.Raw.ARB.InstancedArrays
+import Graphics.Rendering.OpenGL.Raw.ARB.MapBufferRange
+import Graphics.Rendering.OpenGL.Raw.ARB.TextureBufferObject
+import Graphics.Rendering.OpenGL.Raw.ARB.TextureCompressionRGTC
+import Graphics.Rendering.OpenGL.Raw.ARB.TextureRG
+import Graphics.Rendering.OpenGL.Raw.ARB.VertexArrayObject
+-- import Graphics.Rendering.OpenGL.Raw.ARB.WGL.CreateContext
+-- import Graphics.Rendering.OpenGL.Raw.ARB.GLX.CreateContext
+import Graphics.Rendering.OpenGL.Raw.ARB.UniformBufferObject
+import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
+import Graphics.Rendering.OpenGL.Raw.ARB.CopyBuffer
+-- import Graphics.Rendering.OpenGL.Raw.ARB.ShaderTextureLOD
+import Graphics.Rendering.OpenGL.Raw.ARB.DepthClamp
+import Graphics.Rendering.OpenGL.Raw.ARB.DrawElementsBaseVertex
+-- import Graphics.Rendering.OpenGL.Raw.ARB.FragmentCoordConventions
+import Graphics.Rendering.OpenGL.Raw.ARB.ProvokingVertex
+import Graphics.Rendering.OpenGL.Raw.ARB.SeamlessCubeMap
+import Graphics.Rendering.OpenGL.Raw.ARB.Sync
+import Graphics.Rendering.OpenGL.Raw.ARB.TextureMultisample
+-- import Graphics.Rendering.OpenGL.Raw.ARB.VertexArrayBGRA
+import Graphics.Rendering.OpenGL.Raw.ARB.DrawBuffersBlend
+import Graphics.Rendering.OpenGL.Raw.ARB.SampleShading
+import Graphics.Rendering.OpenGL.Raw.ARB.TextureCubeMapArray
+import Graphics.Rendering.OpenGL.Raw.ARB.TextureGather
+-- import Graphics.Rendering.OpenGL.Raw.ARB.TextureQueryLOD
+-- import Graphics.Rendering.OpenGL.Raw.ARB.WGL.CreateContextProfile
+import Graphics.Rendering.OpenGL.Raw.ARB.CreateContextProfile
+import Graphics.Rendering.OpenGL.Raw.ARB.ShadingLanguageInclude
+import Graphics.Rendering.OpenGL.Raw.ARB.TextureCompressionBPTC
+import Graphics.Rendering.OpenGL.Raw.ARB.BlendFuncExtended
+-- import Graphics.Rendering.OpenGL.Raw.ARB.ExplicitAttribLocation
+import Graphics.Rendering.OpenGL.Raw.ARB.OcclusionQuery2
+import Graphics.Rendering.OpenGL.Raw.ARB.SamplerObjects
+-- import Graphics.Rendering.OpenGL.Raw.ARB.ShaderBitEncoding
+import Graphics.Rendering.OpenGL.Raw.ARB.TextureRGB10A2UI
+import Graphics.Rendering.OpenGL.Raw.ARB.TextureSwizzle
+import Graphics.Rendering.OpenGL.Raw.ARB.TimerQuery
+import Graphics.Rendering.OpenGL.Raw.ARB.VertexType2101010Rev
+import Graphics.Rendering.OpenGL.Raw.ARB.DrawIndirect
+import Graphics.Rendering.OpenGL.Raw.ARB.GPUShader5
+import Graphics.Rendering.OpenGL.Raw.ARB.GPUShaderFP64
+import Graphics.Rendering.OpenGL.Raw.ARB.ShaderSubroutine
+import Graphics.Rendering.OpenGL.Raw.ARB.TessellationShader
+-- import Graphics.Rendering.OpenGL.Raw.ARB.TextureBufferObjectRGB32
+import Graphics.Rendering.OpenGL.Raw.ARB.TransformFeedback2
+import Graphics.Rendering.OpenGL.Raw.ARB.TransformFeedback3
+import Graphics.Rendering.OpenGL.Raw.ARB.ES2Compatibility
+import Graphics.Rendering.OpenGL.Raw.ARB.GetProgramBinary
+import Graphics.Rendering.OpenGL.Raw.ARB.SeparateShaderObjects
+-- import Graphics.Rendering.OpenGL.Raw.ARB.ShaderPrecision
+import Graphics.Rendering.OpenGL.Raw.ARB.VertexAttrib64Bit
+-- import Graphics.Rendering.OpenGL.Raw.ARB.ViewportArray
+-- import Graphics.Rendering.OpenGL.Raw.ARB.CLEvent
+-- import Graphics.Rendering.OpenGL.Raw.ARB.DebugOutput
+-- import Graphics.Rendering.OpenGL.Raw.ARB.Robustness
+-- import Graphics.Rendering.OpenGL.Raw.ARB.ShaderStencilExport
+-- import Graphics.Rendering.OpenGL.Raw.ARB.BaseInstance
+-- import Graphics.Rendering.OpenGL.Raw.ARB.ShadingLanguage420pack
+-- import Graphics.Rendering.OpenGL.Raw.ARB.TransformFeedbackInstanced
+-- import Graphics.Rendering.OpenGL.Raw.ARB.CompressedTexturePixelStorage
+-- import Graphics.Rendering.OpenGL.Raw.ARB.ConservativeDepth
+-- import Graphics.Rendering.OpenGL.Raw.ARB.InternalformatQuery
+-- import Graphics.Rendering.OpenGL.Raw.ARB.MapBufferAlignment
+import Graphics.Rendering.OpenGL.Raw.ARB.ShaderAtomicCounters
+-- import Graphics.Rendering.OpenGL.Raw.ARB.ShaderImageLoadStore
+-- import Graphics.Rendering.OpenGL.Raw.ARB.ShadingLanguagePacking
+-- import Graphics.Rendering.OpenGL.Raw.ARB.TextureStorage
+-- import Graphics.Rendering.OpenGL.Raw.ARB.ArraysOfArrays
+-- import Graphics.Rendering.OpenGL.Raw.ARB.ClearBufferObject
+import Graphics.Rendering.OpenGL.Raw.ARB.ComputeShader
+-- import Graphics.Rendering.OpenGL.Raw.ARB.CopyImage
+-- import Graphics.Rendering.OpenGL.Raw.ARB.TextureView
+-- import Graphics.Rendering.OpenGL.Raw.ARB.VertexAttribBinding
+-- import Graphics.Rendering.OpenGL.Raw.ARB.RobustnessIsolation
+import Graphics.Rendering.OpenGL.Raw.ARB.ES3Compatibility
+-- import Graphics.Rendering.OpenGL.Raw.ARB.ExplicitUniformLocation
+-- import Graphics.Rendering.OpenGL.Raw.ARB.FragmentLayerViewport
+import Graphics.Rendering.OpenGL.Raw.ARB.FramebufferNoAttachments
+-- import Graphics.Rendering.OpenGL.Raw.ARB.InternalformatQuery2
+-- import Graphics.Rendering.OpenGL.Raw.ARB.InvalidateSubdata
+-- import Graphics.Rendering.OpenGL.Raw.ARB.MultiDrawIndirect
+-- import Graphics.Rendering.OpenGL.Raw.ARB.ProgramInterfaceQuery
+-- import Graphics.Rendering.OpenGL.Raw.ARB.RobustBufferAccessBehavior
+-- import Graphics.Rendering.OpenGL.Raw.ARB.ShaderImageSize
+import Graphics.Rendering.OpenGL.Raw.ARB.ShaderStorageBufferObject
+-- import Graphics.Rendering.OpenGL.Raw.ARB.StencilTexturing
+-- import Graphics.Rendering.OpenGL.Raw.ARB.TextureBufferRange
+-- import Graphics.Rendering.OpenGL.Raw.ARB.TextureQueryLevels
+-- import Graphics.Rendering.OpenGL.Raw.ARB.TextureStorageMultisample
+-- import Graphics.Rendering.OpenGL.Raw.ARB.BufferStorage
+-- import Graphics.Rendering.OpenGL.Raw.ARB.ClearTexture
+-- import Graphics.Rendering.OpenGL.Raw.ARB.EnhancedLayouts
+-- import Graphics.Rendering.OpenGL.Raw.ARB.MultiBind
+import Graphics.Rendering.OpenGL.Raw.ARB.QueryBufferObject
+-- import Graphics.Rendering.OpenGL.Raw.ARB.TextureMirrorClampToEdge
+-- import Graphics.Rendering.OpenGL.Raw.ARB.TextureStencil8
+-- import Graphics.Rendering.OpenGL.Raw.ARB.VertexType10f11f11fRev
+-- import Graphics.Rendering.OpenGL.Raw.ARB.BindlessTexture
+-- import Graphics.Rendering.OpenGL.Raw.ARB.ComputeVariableGroupSize
+-- import Graphics.Rendering.OpenGL.Raw.ARB.IndirectParameters
+-- import Graphics.Rendering.OpenGL.Raw.ARB.SeamlessCubemapPerTexture
+-- import Graphics.Rendering.OpenGL.Raw.ARB.ShaderDrawParameters
+-- import Graphics.Rendering.OpenGL.Raw.ARB.ShaderGroupVote
+-- import Graphics.Rendering.OpenGL.Raw.ARB.SparseTexture
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/BlendFuncExtended.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/BlendFuncExtended.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/BlendFuncExtended.hs
@@ -0,0 +1,56 @@
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.BlendFuncExtended
+-- Copyright   :  (c) Sven Panne 2014
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the ARB_blend_func_extended extension, see
+-- <http://www.opengl.org/registry/specs/ARB/blend_func_extended.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.BlendFuncExtended (
+   -- * Functions
+   glBindFragDataLocationIndexed,
+   glGetFragDataIndex,
+
+   -- * Tokens
+   gl_SRC1_COLOR,
+   gl_SRC1_ALPHA,
+   gl_ONE_MINUS_SRC1_COLOR,
+   gl_ONE_MINUS_SRC1_ALPHA,
+   gl_MAX_DUAL_SOURCE_DRAW_BUFFERS
+) where
+
+import Foreign.C.Types
+import Foreign.Ptr
+import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility.Tokens
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+import Graphics.Rendering.OpenGL.Raw.Extensions
+
+--------------------------------------------------------------------------------
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_ARB_blend_func_extended"
+
+EXTENSION_ENTRY(dyn_glBindFragDataLocationIndexed,ptr_glBindFragDataLocationIndexed,"glBindFragDataLocationIndexed",glBindFragDataLocationIndexed,GLuint -> GLuint -> GLuint -> Ptr GLchar -> IO ())
+EXTENSION_ENTRY(dyn_glGetFragDataIndex,ptr_glGetFragDataIndex,"glGetFragDataIndex",glGetFragDataIndex,GLuint -> Ptr GLchar -> IO GLint)
+
+gl_SRC1_COLOR :: GLenum
+gl_SRC1_COLOR = 0x88F9
+
+gl_ONE_MINUS_SRC1_COLOR :: GLenum
+gl_ONE_MINUS_SRC1_COLOR = 0x88FA
+
+gl_ONE_MINUS_SRC1_ALPHA :: GLenum
+gl_ONE_MINUS_SRC1_ALPHA = 0x88FB
+
+gl_MAX_DUAL_SOURCE_DRAW_BUFFERS :: GLenum
+gl_MAX_DUAL_SOURCE_DRAW_BUFFERS = 0x88FC
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/ColorBufferFloat.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/ColorBufferFloat.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/ColorBufferFloat.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/ColorBufferFloat.hs
@@ -1,29 +1,29 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.ColorBufferFloat
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All tokens from the ARB_color_buffer_float extension, see
--- <http://www.opengl.org/registry/specs/ARB/color_buffer_float.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.ColorBufferFloat (
-   -- * Tokens
-   gl_RGBA_FLOAT_MODE,
-   gl_CLAMP_VERTEX_COLOR,
-   gl_CLAMP_FRAGMENT_COLOR,
-   gl_CLAMP_READ_COLOR,
-   gl_FIXED_ONLY
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
-import Graphics.Rendering.OpenGL.Raw.Core32
-
-gl_RGBA_FLOAT_MODE :: GLenum
-gl_RGBA_FLOAT_MODE = 0x8820
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.ColorBufferFloat
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All tokens from the ARB_color_buffer_float extension, see
+-- <http://www.opengl.org/registry/specs/ARB/color_buffer_float.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.ColorBufferFloat (
+   -- * Tokens
+   gl_RGBA_FLOAT_MODE,
+   gl_CLAMP_VERTEX_COLOR,
+   gl_CLAMP_FRAGMENT_COLOR,
+   gl_CLAMP_READ_COLOR,
+   gl_FIXED_ONLY
+) where
+
+import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
+import Graphics.Rendering.OpenGL.Raw.Core32
+
+gl_RGBA_FLOAT_MODE :: GLenum
+gl_RGBA_FLOAT_MODE = 0x8820
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/Compatibility.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/Compatibility.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/Compatibility.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/Compatibility.hs
@@ -1,24 +1,24 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the ARB_compatibility extension, see
--- <http://www.opengl.org/registry/specs/ARB/compatibility.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.Compatibility (
-   -- * Functions
-   module Graphics.Rendering.OpenGL.Raw.ARB.Compatibility.Functions,
-   -- * Tokens
-   module Graphics.Rendering.OpenGL.Raw.ARB.Compatibility.Tokens
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility.Functions
-import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility.Tokens
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the ARB_compatibility extension, see
+-- <http://www.opengl.org/registry/specs/ARB/compatibility.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.Compatibility (
+   -- * Functions
+   module Graphics.Rendering.OpenGL.Raw.ARB.Compatibility.Functions,
+   -- * Tokens
+   module Graphics.Rendering.OpenGL.Raw.ARB.Compatibility.Tokens
+) where
+
+import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility.Functions
+import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/Compatibility/Functions.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/Compatibility/Functions.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/Compatibility/Functions.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/Compatibility/Functions.hs
@@ -1,794 +1,794 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
-{-# OPTIONS_HADDOCK hide #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.Compatibility.Functions
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions from the ARB_compatibility extension, see
--- <http://www.opengl.org/registry/specs/ARB/compatibility.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.Compatibility.Functions (
-   glAccum,
-   glAlphaFunc,
-   glAreTexturesResident,
-   glArrayElement,
-   glBegin,
-   glBitmap,
-   glCallList,
-   glCallLists,
-   glClearAccum,
-   glClearIndex,
-   glClientActiveTexture,
-   glClipPlane,
-   glColor3b,
-   glColor3bv,
-   glColor3d,
-   glColor3dv,
-   glColor3f,
-   glColor3fv,
-   glColor3i,
-   glColor3iv,
-   glColor3s,
-   glColor3sv,
-   glColor3ub,
-   glColor3ubv,
-   glColor3ui,
-   glColor3uiv,
-   glColor3us,
-   glColor3usv,
-   glColor4b,
-   glColor4bv,
-   glColor4d,
-   glColor4dv,
-   glColor4f,
-   glColor4fv,
-   glColor4i,
-   glColor4iv,
-   glColor4s,
-   glColor4sv,
-   glColor4ub,
-   glColor4ubv,
-   glColor4ui,
-   glColor4uiv,
-   glColor4us,
-   glColor4usv,
-   glColorMaterial,
-   glColorPointer,
-   glColorSubTable,
-   glColorTable,
-   glColorTableParameterfv,
-   glColorTableParameteriv,
-   glConvolutionFilter1D,
-   glConvolutionFilter2D,
-   glConvolutionParameterf,
-   glConvolutionParameterfv,
-   glConvolutionParameteri,
-   glConvolutionParameteriv,
-   glCopyColorSubTable,
-   glCopyColorTable,
-   glCopyConvolutionFilter1D,
-   glCopyConvolutionFilter2D,
-   glCopyPixels,
-   glDeleteLists,
-   glDisableClientState,
-   glDrawPixels,
-   glEdgeFlag,
-   glEdgeFlagPointer,
-   glEdgeFlagv,
-   glEnableClientState,
-   glEnd,
-   glEndList,
-   glEvalCoord1d,
-   glEvalCoord1dv,
-   glEvalCoord1f,
-   glEvalCoord1fv,
-   glEvalCoord2d,
-   glEvalCoord2dv,
-   glEvalCoord2f,
-   glEvalCoord2fv,
-   glEvalMesh1,
-   glEvalMesh2,
-   glEvalPoint1,
-   glEvalPoint2,
-   glFeedbackBuffer,
-   glFogCoordPointer,
-   glFogCoordd,
-   glFogCoorddv,
-   glFogCoordf,
-   glFogCoordfv,
-   glFogf,
-   glFogfv,
-   glFogi,
-   glFogiv,
-   glFrustum,
-   glGenLists,
-   glGetClipPlane,
-   glGetColorTable,
-   glGetColorTableParameterfv,
-   glGetColorTableParameteriv,
-   glGetConvolutionFilter,
-   glGetConvolutionParameterfv,
-   glGetConvolutionParameteriv,
-   glGetHistogram,
-   glGetHistogramParameterfv,
-   glGetHistogramParameteriv,
-   glGetLightfv,
-   glGetLightiv,
-   glGetMapdv,
-   glGetMapfv,
-   glGetMapiv,
-   glGetMaterialfv,
-   glGetMaterialiv,
-   glGetMinmax,
-   glGetMinmaxParameterfv,
-   glGetMinmaxParameteriv,
-   glGetPixelMapfv,
-   glGetPixelMapuiv,
-   glGetPixelMapusv,
-   glGetPolygonStipple,
-   glGetSeparableFilter,
-   glGetTexEnvfv,
-   glGetTexEnviv,
-   glGetTexGendv,
-   glGetTexGenfv,
-   glGetTexGeniv,
-   glHistogram,
-   glIndexMask,
-   glIndexPointer,
-   glIndexd,
-   glIndexdv,
-   glIndexf,
-   glIndexfv,
-   glIndexi,
-   glIndexiv,
-   glIndexs,
-   glIndexsv,
-   glIndexub,
-   glIndexubv,
-   glInitNames,
-   glInterleavedArrays,
-   glIsList,
-   glLightModelf,
-   glLightModelfv,
-   glLightModeli,
-   glLightModeliv,
-   glLightf,
-   glLightfv,
-   glLighti,
-   glLightiv,
-   glLineStipple,
-   glListBase,
-   glLoadIdentity,
-   glLoadMatrixd,
-   glLoadMatrixf,
-   glLoadName,
-   glLoadTransposeMatrixd,
-   glLoadTransposeMatrixf,
-   glMap1d,
-   glMap1f,
-   glMap2d,
-   glMap2f,
-   glMapGrid1d,
-   glMapGrid1f,
-   glMapGrid2d,
-   glMapGrid2f,
-   glMaterialf,
-   glMaterialfv,
-   glMateriali,
-   glMaterialiv,
-   glMatrixMode,
-   glMinmax,
-   glMultMatrixd,
-   glMultMatrixf,
-   glMultTransposeMatrixd,
-   glMultTransposeMatrixf,
-   glMultiTexCoord1d,
-   glMultiTexCoord1dv,
-   glMultiTexCoord1f,
-   glMultiTexCoord1fv,
-   glMultiTexCoord1i,
-   glMultiTexCoord1iv,
-   glMultiTexCoord1s,
-   glMultiTexCoord1sv,
-   glMultiTexCoord2d,
-   glMultiTexCoord2dv,
-   glMultiTexCoord2f,
-   glMultiTexCoord2fv,
-   glMultiTexCoord2i,
-   glMultiTexCoord2iv,
-   glMultiTexCoord2s,
-   glMultiTexCoord2sv,
-   glMultiTexCoord3d,
-   glMultiTexCoord3dv,
-   glMultiTexCoord3f,
-   glMultiTexCoord3fv,
-   glMultiTexCoord3i,
-   glMultiTexCoord3iv,
-   glMultiTexCoord3s,
-   glMultiTexCoord3sv,
-   glMultiTexCoord4d,
-   glMultiTexCoord4dv,
-   glMultiTexCoord4f,
-   glMultiTexCoord4fv,
-   glMultiTexCoord4i,
-   glMultiTexCoord4iv,
-   glMultiTexCoord4s,
-   glMultiTexCoord4sv,
-   glNewList,
-   glNormal3b,
-   glNormal3bv,
-   glNormal3d,
-   glNormal3dv,
-   glNormal3f,
-   glNormal3fv,
-   glNormal3i,
-   glNormal3iv,
-   glNormal3s,
-   glNormal3sv,
-   glNormalPointer,
-   glOrtho,
-   glPassThrough,
-   glPixelMapfv,
-   glPixelMapuiv,
-   glPixelMapusv,
-   glPixelTransferf,
-   glPixelTransferi,
-   glPixelZoom,
-   glPolygonStipple,
-   glPopAttrib,
-   glPopClientAttrib,
-   glPopMatrix,
-   glPopName,
-   glPrioritizeTextures,
-   glPushAttrib,
-   glPushClientAttrib,
-   glPushMatrix,
-   glPushName,
-   glRasterPos2d,
-   glRasterPos2dv,
-   glRasterPos2f,
-   glRasterPos2fv,
-   glRasterPos2i,
-   glRasterPos2iv,
-   glRasterPos2s,
-   glRasterPos2sv,
-   glRasterPos3d,
-   glRasterPos3dv,
-   glRasterPos3f,
-   glRasterPos3fv,
-   glRasterPos3i,
-   glRasterPos3iv,
-   glRasterPos3s,
-   glRasterPos3sv,
-   glRasterPos4d,
-   glRasterPos4dv,
-   glRasterPos4f,
-   glRasterPos4fv,
-   glRasterPos4i,
-   glRasterPos4iv,
-   glRasterPos4s,
-   glRasterPos4sv,
-   glRectd,
-   glRectdv,
-   glRectf,
-   glRectfv,
-   glRecti,
-   glRectiv,
-   glRects,
-   glRectsv,
-   glRenderMode,
-   glResetHistogram,
-   glResetMinmax,
-   glRotated,
-   glRotatef,
-   glSamplePass,
-   glScaled,
-   glScalef,
-   glSecondaryColor3b,
-   glSecondaryColor3bv,
-   glSecondaryColor3d,
-   glSecondaryColor3dv,
-   glSecondaryColor3f,
-   glSecondaryColor3fv,
-   glSecondaryColor3i,
-   glSecondaryColor3iv,
-   glSecondaryColor3s,
-   glSecondaryColor3sv,
-   glSecondaryColor3ub,
-   glSecondaryColor3ubv,
-   glSecondaryColor3ui,
-   glSecondaryColor3uiv,
-   glSecondaryColor3us,
-   glSecondaryColor3usv,
-   glSecondaryColorPointer,
-   glSelectBuffer,
-   glSeparableFilter2D,
-   glShadeModel,
-   glTexCoord1d,
-   glTexCoord1dv,
-   glTexCoord1f,
-   glTexCoord1fv,
-   glTexCoord1i,
-   glTexCoord1iv,
-   glTexCoord1s,
-   glTexCoord1sv,
-   glTexCoord2d,
-   glTexCoord2dv,
-   glTexCoord2f,
-   glTexCoord2fv,
-   glTexCoord2i,
-   glTexCoord2iv,
-   glTexCoord2s,
-   glTexCoord2sv,
-   glTexCoord3d,
-   glTexCoord3dv,
-   glTexCoord3f,
-   glTexCoord3fv,
-   glTexCoord3i,
-   glTexCoord3iv,
-   glTexCoord3s,
-   glTexCoord3sv,
-   glTexCoord4d,
-   glTexCoord4dv,
-   glTexCoord4f,
-   glTexCoord4fv,
-   glTexCoord4i,
-   glTexCoord4iv,
-   glTexCoord4s,
-   glTexCoord4sv,
-   glTexCoordPointer,
-   glTexEnvf,
-   glTexEnvfv,
-   glTexEnvi,
-   glTexEnviv,
-   glTexGend,
-   glTexGendv,
-   glTexGenf,
-   glTexGenfv,
-   glTexGeni,
-   glTexGeniv,
-   glTranslated,
-   glTranslatef,
-   glVertex2d,
-   glVertex2dv,
-   glVertex2f,
-   glVertex2fv,
-   glVertex2i,
-   glVertex2iv,
-   glVertex2s,
-   glVertex2sv,
-   glVertex3d,
-   glVertex3dv,
-   glVertex3f,
-   glVertex3fv,
-   glVertex3i,
-   glVertex3iv,
-   glVertex3s,
-   glVertex3sv,
-   glVertex4d,
-   glVertex4dv,
-   glVertex4f,
-   glVertex4fv,
-   glVertex4i,
-   glVertex4iv,
-   glVertex4s,
-   glVertex4sv,
-   glVertexPointer,
-   glWindowPos2d,
-   glWindowPos2dv,
-   glWindowPos2f,
-   glWindowPos2fv,
-   glWindowPos2i,
-   glWindowPos2iv,
-   glWindowPos2s,
-   glWindowPos2sv,
-   glWindowPos3d,
-   glWindowPos3dv,
-   glWindowPos3f,
-   glWindowPos3fv,
-   glWindowPos3i,
-   glWindowPos3iv,
-   glWindowPos3s,
-   glWindowPos3sv
-) where
-
-import Foreign.Ptr
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core31
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_ARB_compatibility"
-
-EXTENSION_ENTRY(glAccum,GLenum -> GLfloat -> IO ())
-EXTENSION_ENTRY(glAlphaFunc,GLenum -> GLclampf -> IO ())
-EXTENSION_ENTRY(glAreTexturesResident,GLsizei -> Ptr GLuint -> Ptr GLboolean -> IO GLboolean)
-EXTENSION_ENTRY(glArrayElement,GLint -> IO ())
-EXTENSION_ENTRY(glBegin,GLenum -> IO ())
-EXTENSION_ENTRY(glBitmap,GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> IO ())
-EXTENSION_ENTRY(glCallList,GLuint -> IO ())
-EXTENSION_ENTRY(glCallLists,GLsizei -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(glClearAccum,GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(glClearIndex,GLfloat -> IO ())
-EXTENSION_ENTRY(glClientActiveTexture,GLenum -> IO ())
-EXTENSION_ENTRY(glClipPlane,GLenum -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glColor3b,GLbyte -> GLbyte -> GLbyte -> IO ())
-EXTENSION_ENTRY(glColor3bv,Ptr GLbyte -> IO ())
-EXTENSION_ENTRY(glColor3d,GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(glColor3dv,Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glColor3f,GLfloat -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(glColor3fv,Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glColor3i,GLint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(glColor3iv,Ptr GLint -> IO ())
-EXTENSION_ENTRY(glColor3s,GLshort -> GLshort -> GLshort -> IO ())
-EXTENSION_ENTRY(glColor3sv,Ptr GLshort -> IO ())
-EXTENSION_ENTRY(glColor3ub,GLubyte -> GLubyte -> GLubyte -> IO ())
-EXTENSION_ENTRY(glColor3ubv,Ptr GLubyte -> IO ())
-EXTENSION_ENTRY(glColor3ui,GLuint -> GLuint -> GLuint -> IO ())
-EXTENSION_ENTRY(glColor3uiv,Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glColor3us,GLushort -> GLushort -> GLushort -> IO ())
-EXTENSION_ENTRY(glColor3usv,Ptr GLushort -> IO ())
-EXTENSION_ENTRY(glColor4b,GLbyte -> GLbyte -> GLbyte -> GLbyte -> IO ())
-EXTENSION_ENTRY(glColor4bv,Ptr GLbyte -> IO ())
-EXTENSION_ENTRY(glColor4d,GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(glColor4dv,Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glColor4f,GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(glColor4fv,Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glColor4i,GLint -> GLint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(glColor4iv,Ptr GLint -> IO ())
-EXTENSION_ENTRY(glColor4s,GLshort -> GLshort -> GLshort -> GLshort -> IO ())
-EXTENSION_ENTRY(glColor4sv,Ptr GLshort -> IO ())
-EXTENSION_ENTRY(glColor4ub,GLubyte -> GLubyte -> GLubyte -> GLubyte -> IO ())
-EXTENSION_ENTRY(glColor4ubv,Ptr GLubyte -> IO ())
-EXTENSION_ENTRY(glColor4ui,GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-EXTENSION_ENTRY(glColor4uiv,Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glColor4us,GLushort -> GLushort -> GLushort -> GLushort -> IO ())
-EXTENSION_ENTRY(glColor4usv,Ptr GLushort -> IO ())
-EXTENSION_ENTRY(glColorMaterial,GLenum -> GLenum -> IO ())
-EXTENSION_ENTRY(glColorPointer,GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(glColorSubTable,GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(glColorTable,GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(glColorTableParameterfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glColorTableParameteriv,GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glConvolutionFilter1D,GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(glConvolutionFilter2D,GLenum -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(glConvolutionParameterf,GLenum -> GLenum -> GLfloat -> IO ())
-EXTENSION_ENTRY(glConvolutionParameterfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glConvolutionParameteri,GLenum -> GLenum -> GLint -> IO ())
-EXTENSION_ENTRY(glConvolutionParameteriv,GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glCopyColorSubTable,GLenum -> GLsizei -> GLint -> GLint -> GLsizei -> IO ())
-EXTENSION_ENTRY(glCopyColorTable,GLenum -> GLenum -> GLint -> GLint -> GLsizei -> IO ())
-EXTENSION_ENTRY(glCopyConvolutionFilter1D,GLenum -> GLenum -> GLint -> GLint -> GLsizei -> IO ())
-EXTENSION_ENTRY(glCopyConvolutionFilter2D,GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
-EXTENSION_ENTRY(glCopyPixels,GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> IO ())
-EXTENSION_ENTRY(glDeleteLists,GLuint -> GLsizei -> IO ())
-EXTENSION_ENTRY(glDisableClientState,GLenum -> IO ())
-EXTENSION_ENTRY(glDrawPixels,GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(glEdgeFlag,GLboolean -> IO ())
-EXTENSION_ENTRY(glEdgeFlagPointer,GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(glEdgeFlagv,Ptr GLboolean -> IO ())
-EXTENSION_ENTRY(glEnableClientState,GLenum -> IO ())
-EXTENSION_ENTRY(glEnd,IO ())
-EXTENSION_ENTRY(glEndList,IO ())
-EXTENSION_ENTRY(glEvalCoord1d,GLdouble -> IO ())
-EXTENSION_ENTRY(glEvalCoord1dv,Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glEvalCoord1f,GLfloat -> IO ())
-EXTENSION_ENTRY(glEvalCoord1fv,Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glEvalCoord2d,GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(glEvalCoord2dv,Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glEvalCoord2f,GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(glEvalCoord2fv,Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glEvalMesh1,GLenum -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(glEvalMesh2,GLenum -> GLint -> GLint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(glEvalPoint1,GLint -> IO ())
-EXTENSION_ENTRY(glEvalPoint2,GLint -> GLint -> IO ())
-EXTENSION_ENTRY(glFeedbackBuffer,GLsizei -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glFogCoordPointer,GLenum -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(glFogCoordd,GLdouble -> IO ())
-EXTENSION_ENTRY(glFogCoorddv,Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glFogCoordf,GLfloat -> IO ())
-EXTENSION_ENTRY(glFogCoordfv,Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glFogf,GLenum -> GLfloat -> IO ())
-EXTENSION_ENTRY(glFogfv,GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glFogi,GLenum -> GLint -> IO ())
-EXTENSION_ENTRY(glFogiv,GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glFrustum,GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(glGenLists,GLsizei -> IO GLuint)
-EXTENSION_ENTRY(glGetClipPlane,GLenum -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glGetColorTable,GLenum -> GLenum -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(glGetColorTableParameterfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glGetColorTableParameteriv,GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glGetConvolutionFilter,GLenum -> GLenum -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(glGetConvolutionParameterfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glGetConvolutionParameteriv,GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glGetHistogram,GLenum -> GLboolean -> GLenum -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(glGetHistogramParameterfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glGetHistogramParameteriv,GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glGetLightfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glGetLightiv,GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glGetMapdv,GLenum -> GLenum -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glGetMapfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glGetMapiv,GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glGetMaterialfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glGetMaterialiv,GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glGetMinmax,GLenum -> GLboolean -> GLenum -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(glGetMinmaxParameterfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glGetMinmaxParameteriv,GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glGetPixelMapfv,GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glGetPixelMapuiv,GLenum -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glGetPixelMapusv,GLenum -> Ptr GLushort -> IO ())
-EXTENSION_ENTRY(glGetPolygonStipple,Ptr GLubyte -> IO ())
-EXTENSION_ENTRY(glGetSeparableFilter,GLenum -> GLenum -> GLenum -> Ptr a -> Ptr a -> Ptr a -> IO ())
-EXTENSION_ENTRY(glGetTexEnvfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glGetTexEnviv,GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glGetTexGendv,GLenum -> GLenum -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glGetTexGenfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glGetTexGeniv,GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glHistogram,GLenum -> GLsizei -> GLenum -> GLboolean -> IO ())
-EXTENSION_ENTRY(glIndexMask,GLuint -> IO ())
-EXTENSION_ENTRY(glIndexPointer,GLenum -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(glIndexd,GLdouble -> IO ())
-EXTENSION_ENTRY(glIndexdv,Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glIndexf,GLfloat -> IO ())
-EXTENSION_ENTRY(glIndexfv,Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glIndexi,GLint -> IO ())
-EXTENSION_ENTRY(glIndexiv,Ptr GLint -> IO ())
-EXTENSION_ENTRY(glIndexs,GLshort -> IO ())
-EXTENSION_ENTRY(glIndexsv,Ptr GLshort -> IO ())
-EXTENSION_ENTRY(glIndexub,GLubyte -> IO ())
-EXTENSION_ENTRY(glIndexubv,Ptr GLubyte -> IO ())
-EXTENSION_ENTRY(glInitNames,IO ())
-EXTENSION_ENTRY(glInterleavedArrays,GLenum -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(glIsList,GLuint -> IO GLboolean)
-EXTENSION_ENTRY(glLightModelf,GLenum -> GLfloat -> IO ())
-EXTENSION_ENTRY(glLightModelfv,GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glLightModeli,GLenum -> GLint -> IO ())
-EXTENSION_ENTRY(glLightModeliv,GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glLightf,GLenum -> GLenum -> GLfloat -> IO ())
-EXTENSION_ENTRY(glLightfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glLighti,GLenum -> GLenum -> GLint -> IO ())
-EXTENSION_ENTRY(glLightiv,GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glLineStipple,GLint -> GLushort -> IO ())
-EXTENSION_ENTRY(glListBase,GLuint -> IO ())
-EXTENSION_ENTRY(glLoadIdentity,IO ())
-EXTENSION_ENTRY(glLoadMatrixd,Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glLoadMatrixf,Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glLoadName,GLuint -> IO ())
-EXTENSION_ENTRY(glLoadTransposeMatrixd,Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glLoadTransposeMatrixf,Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glMap1d,GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glMap1f,GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glMap2d,GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glMap2f,GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glMapGrid1d,GLint -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(glMapGrid1f,GLint -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(glMapGrid2d,GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(glMapGrid2f,GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(glMaterialf,GLenum -> GLenum -> GLfloat -> IO ())
-EXTENSION_ENTRY(glMaterialfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glMateriali,GLenum -> GLenum -> GLint -> IO ())
-EXTENSION_ENTRY(glMaterialiv,GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glMatrixMode,GLenum -> IO ())
-EXTENSION_ENTRY(glMinmax,GLenum -> GLenum -> GLboolean -> IO ())
-EXTENSION_ENTRY(glMultMatrixd,Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glMultMatrixf,Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glMultTransposeMatrixd,Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glMultTransposeMatrixf,Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glMultiTexCoord1d,GLenum -> GLdouble -> IO ())
-EXTENSION_ENTRY(glMultiTexCoord1dv,GLenum -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glMultiTexCoord1f,GLenum -> GLfloat -> IO ())
-EXTENSION_ENTRY(glMultiTexCoord1fv,GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glMultiTexCoord1i,GLenum -> GLint -> IO ())
-EXTENSION_ENTRY(glMultiTexCoord1iv,GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glMultiTexCoord1s,GLenum -> GLshort -> IO ())
-EXTENSION_ENTRY(glMultiTexCoord1sv,GLenum -> Ptr GLshort -> IO ())
-EXTENSION_ENTRY(glMultiTexCoord2d,GLenum -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(glMultiTexCoord2dv,GLenum -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glMultiTexCoord2f,GLenum -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(glMultiTexCoord2fv,GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glMultiTexCoord2i,GLenum -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(glMultiTexCoord2iv,GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glMultiTexCoord2s,GLenum -> GLshort -> GLshort -> IO ())
-EXTENSION_ENTRY(glMultiTexCoord2sv,GLenum -> Ptr GLshort -> IO ())
-EXTENSION_ENTRY(glMultiTexCoord3d,GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(glMultiTexCoord3dv,GLenum -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glMultiTexCoord3f,GLenum -> GLfloat -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(glMultiTexCoord3fv,GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glMultiTexCoord3i,GLenum -> GLint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(glMultiTexCoord3iv,GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glMultiTexCoord3s,GLenum -> GLshort -> GLshort -> GLshort -> IO ())
-EXTENSION_ENTRY(glMultiTexCoord3sv,GLenum -> Ptr GLshort -> IO ())
-EXTENSION_ENTRY(glMultiTexCoord4d,GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(glMultiTexCoord4dv,GLenum -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glMultiTexCoord4f,GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(glMultiTexCoord4fv,GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glMultiTexCoord4i,GLenum -> GLint -> GLint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(glMultiTexCoord4iv,GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glMultiTexCoord4s,GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
-EXTENSION_ENTRY(glMultiTexCoord4sv,GLenum -> Ptr GLshort -> IO ())
-EXTENSION_ENTRY(glNewList,GLuint -> GLenum -> IO ())
-EXTENSION_ENTRY(glNormal3b,GLbyte -> GLbyte -> GLbyte -> IO ())
-EXTENSION_ENTRY(glNormal3bv,Ptr GLbyte -> IO ())
-EXTENSION_ENTRY(glNormal3d,GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(glNormal3dv,Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glNormal3f,GLfloat -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(glNormal3fv,Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glNormal3i,GLint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(glNormal3iv,Ptr GLint -> IO ())
-EXTENSION_ENTRY(glNormal3s,GLshort -> GLshort -> GLshort -> IO ())
-EXTENSION_ENTRY(glNormal3sv,Ptr GLshort -> IO ())
-EXTENSION_ENTRY(glNormalPointer,GLenum -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(glOrtho,GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(glPassThrough,GLfloat -> IO ())
-EXTENSION_ENTRY(glPixelMapfv,GLenum -> GLsizei -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glPixelMapuiv,GLenum -> GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glPixelMapusv,GLenum -> GLsizei -> Ptr GLushort -> IO ())
-EXTENSION_ENTRY(glPixelTransferf,GLenum -> GLfloat -> IO ())
-EXTENSION_ENTRY(glPixelTransferi,GLenum -> GLint -> IO ())
-EXTENSION_ENTRY(glPixelZoom,GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(glPolygonStipple,Ptr GLubyte -> IO ())
-EXTENSION_ENTRY(glPopAttrib,IO ())
-EXTENSION_ENTRY(glPopClientAttrib,IO ())
-EXTENSION_ENTRY(glPopMatrix,IO ())
-EXTENSION_ENTRY(glPopName,IO ())
-EXTENSION_ENTRY(glPrioritizeTextures,GLsizei -> Ptr GLuint -> Ptr GLclampf -> IO ())
-EXTENSION_ENTRY(glPushAttrib,GLbitfield -> IO ())
-EXTENSION_ENTRY(glPushClientAttrib,GLbitfield -> IO ())
-EXTENSION_ENTRY(glPushMatrix,IO ())
-EXTENSION_ENTRY(glPushName,GLuint -> IO ())
-EXTENSION_ENTRY(glRasterPos2d,GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(glRasterPos2dv,Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glRasterPos2f,GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(glRasterPos2fv,Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glRasterPos2i,GLint -> GLint -> IO ())
-EXTENSION_ENTRY(glRasterPos2iv,Ptr GLint -> IO ())
-EXTENSION_ENTRY(glRasterPos2s,GLshort -> GLshort -> IO ())
-EXTENSION_ENTRY(glRasterPos2sv,Ptr GLshort -> IO ())
-EXTENSION_ENTRY(glRasterPos3d,GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(glRasterPos3dv,Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glRasterPos3f,GLfloat -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(glRasterPos3fv,Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glRasterPos3i,GLint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(glRasterPos3iv,Ptr GLint -> IO ())
-EXTENSION_ENTRY(glRasterPos3s,GLshort -> GLshort -> GLshort -> IO ())
-EXTENSION_ENTRY(glRasterPos3sv,Ptr GLshort -> IO ())
-EXTENSION_ENTRY(glRasterPos4d,GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(glRasterPos4dv,Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glRasterPos4f,GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(glRasterPos4fv,Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glRasterPos4i,GLint -> GLint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(glRasterPos4iv,Ptr GLint -> IO ())
-EXTENSION_ENTRY(glRasterPos4s,GLshort -> GLshort -> GLshort -> GLshort -> IO ())
-EXTENSION_ENTRY(glRasterPos4sv,Ptr GLshort -> IO ())
-EXTENSION_ENTRY(glRectd,GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(glRectdv,Ptr GLdouble -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glRectf,GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(glRectfv,Ptr GLfloat -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glRecti,GLint -> GLint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(glRectiv,Ptr GLint -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glRects,GLshort -> GLshort -> GLshort -> GLshort -> IO ())
-EXTENSION_ENTRY(glRectsv,Ptr GLshort -> Ptr GLshort -> IO ())
-EXTENSION_ENTRY(glRenderMode,GLenum -> IO GLint)
-EXTENSION_ENTRY(glResetHistogram,GLenum -> IO ())
-EXTENSION_ENTRY(glResetMinmax,GLenum -> IO ())
-EXTENSION_ENTRY(glRotated,GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(glRotatef,GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(glSamplePass,GLenum -> IO ())
-EXTENSION_ENTRY(glScaled,GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(glScalef,GLfloat -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(glSecondaryColor3b,GLbyte -> GLbyte -> GLbyte -> IO ())
-EXTENSION_ENTRY(glSecondaryColor3bv,Ptr GLbyte -> IO ())
-EXTENSION_ENTRY(glSecondaryColor3d,GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(glSecondaryColor3dv,Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glSecondaryColor3f,GLfloat -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(glSecondaryColor3fv,Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glSecondaryColor3i,GLint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(glSecondaryColor3iv,Ptr GLint -> IO ())
-EXTENSION_ENTRY(glSecondaryColor3s,GLshort -> GLshort -> GLshort -> IO ())
-EXTENSION_ENTRY(glSecondaryColor3sv,Ptr GLshort -> IO ())
-EXTENSION_ENTRY(glSecondaryColor3ub,GLubyte -> GLubyte -> GLubyte -> IO ())
-EXTENSION_ENTRY(glSecondaryColor3ubv,Ptr GLubyte -> IO ())
-EXTENSION_ENTRY(glSecondaryColor3ui,GLuint -> GLuint -> GLuint -> IO ())
-EXTENSION_ENTRY(glSecondaryColor3uiv,Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glSecondaryColor3us,GLushort -> GLushort -> GLushort -> IO ())
-EXTENSION_ENTRY(glSecondaryColor3usv,Ptr GLushort -> IO ())
-EXTENSION_ENTRY(glSecondaryColorPointer,GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(glSelectBuffer,GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glSeparableFilter2D,GLenum -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> Ptr a -> IO ())
-EXTENSION_ENTRY(glShadeModel,GLenum -> IO ())
-EXTENSION_ENTRY(glTexCoord1d,GLdouble -> IO ())
-EXTENSION_ENTRY(glTexCoord1dv,Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glTexCoord1f,GLfloat -> IO ())
-EXTENSION_ENTRY(glTexCoord1fv,Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glTexCoord1i,GLint -> IO ())
-EXTENSION_ENTRY(glTexCoord1iv,Ptr GLint -> IO ())
-EXTENSION_ENTRY(glTexCoord1s,GLshort -> IO ())
-EXTENSION_ENTRY(glTexCoord1sv,Ptr GLshort -> IO ())
-EXTENSION_ENTRY(glTexCoord2d,GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(glTexCoord2dv,Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glTexCoord2f,GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(glTexCoord2fv,Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glTexCoord2i,GLint -> GLint -> IO ())
-EXTENSION_ENTRY(glTexCoord2iv,Ptr GLint -> IO ())
-EXTENSION_ENTRY(glTexCoord2s,GLshort -> GLshort -> IO ())
-EXTENSION_ENTRY(glTexCoord2sv,Ptr GLshort -> IO ())
-EXTENSION_ENTRY(glTexCoord3d,GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(glTexCoord3dv,Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glTexCoord3f,GLfloat -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(glTexCoord3fv,Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glTexCoord3i,GLint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(glTexCoord3iv,Ptr GLint -> IO ())
-EXTENSION_ENTRY(glTexCoord3s,GLshort -> GLshort -> GLshort -> IO ())
-EXTENSION_ENTRY(glTexCoord3sv,Ptr GLshort -> IO ())
-EXTENSION_ENTRY(glTexCoord4d,GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(glTexCoord4dv,Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glTexCoord4f,GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(glTexCoord4fv,Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glTexCoord4i,GLint -> GLint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(glTexCoord4iv,Ptr GLint -> IO ())
-EXTENSION_ENTRY(glTexCoord4s,GLshort -> GLshort -> GLshort -> GLshort -> IO ())
-EXTENSION_ENTRY(glTexCoord4sv,Ptr GLshort -> IO ())
-EXTENSION_ENTRY(glTexCoordPointer,GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(glTexEnvf,GLenum -> GLenum -> GLfloat -> IO ())
-EXTENSION_ENTRY(glTexEnvfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glTexEnvi,GLenum -> GLenum -> GLint -> IO ())
-EXTENSION_ENTRY(glTexEnviv,GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glTexGend,GLenum -> GLenum -> GLdouble -> IO ())
-EXTENSION_ENTRY(glTexGendv,GLenum -> GLenum -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glTexGenf,GLenum -> GLenum -> GLfloat -> IO ())
-EXTENSION_ENTRY(glTexGenfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glTexGeni,GLenum -> GLenum -> GLint -> IO ())
-EXTENSION_ENTRY(glTexGeniv,GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glTranslated,GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(glTranslatef,GLfloat -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(glVertex2d,GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(glVertex2dv,Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glVertex2f,GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(glVertex2fv,Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glVertex2i,GLint -> GLint -> IO ())
-EXTENSION_ENTRY(glVertex2iv,Ptr GLint -> IO ())
-EXTENSION_ENTRY(glVertex2s,GLshort -> GLshort -> IO ())
-EXTENSION_ENTRY(glVertex2sv,Ptr GLshort -> IO ())
-EXTENSION_ENTRY(glVertex3d,GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(glVertex3dv,Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glVertex3f,GLfloat -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(glVertex3fv,Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glVertex3i,GLint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(glVertex3iv,Ptr GLint -> IO ())
-EXTENSION_ENTRY(glVertex3s,GLshort -> GLshort -> GLshort -> IO ())
-EXTENSION_ENTRY(glVertex3sv,Ptr GLshort -> IO ())
-EXTENSION_ENTRY(glVertex4d,GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(glVertex4dv,Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glVertex4f,GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(glVertex4fv,Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glVertex4i,GLint -> GLint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(glVertex4iv,Ptr GLint -> IO ())
-EXTENSION_ENTRY(glVertex4s,GLshort -> GLshort -> GLshort -> GLshort -> IO ())
-EXTENSION_ENTRY(glVertex4sv,Ptr GLshort -> IO ())
-EXTENSION_ENTRY(glVertexPointer,GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(glWindowPos2d,GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(glWindowPos2dv,Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glWindowPos2f,GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(glWindowPos2fv,Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glWindowPos2i,GLint -> GLint -> IO ())
-EXTENSION_ENTRY(glWindowPos2iv,Ptr GLint -> IO ())
-EXTENSION_ENTRY(glWindowPos2s,GLshort -> GLshort -> IO ())
-EXTENSION_ENTRY(glWindowPos2sv,Ptr GLshort -> IO ())
-EXTENSION_ENTRY(glWindowPos3d,GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(glWindowPos3dv,Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glWindowPos3f,GLfloat -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(glWindowPos3fv,Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glWindowPos3i,GLint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(glWindowPos3iv,Ptr GLint -> IO ())
-EXTENSION_ENTRY(glWindowPos3s,GLshort -> GLshort -> GLshort -> IO ())
-EXTENSION_ENTRY(glWindowPos3sv,Ptr GLshort -> IO ())
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+{-# OPTIONS_HADDOCK hide #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.Compatibility.Functions
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions from the ARB_compatibility extension, see
+-- <http://www.opengl.org/registry/specs/ARB/compatibility.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.Compatibility.Functions (
+   glAccum,
+   glAlphaFunc,
+   glAreTexturesResident,
+   glArrayElement,
+   glBegin,
+   glBitmap,
+   glCallList,
+   glCallLists,
+   glClearAccum,
+   glClearIndex,
+   glClientActiveTexture,
+   glClipPlane,
+   glColor3b,
+   glColor3bv,
+   glColor3d,
+   glColor3dv,
+   glColor3f,
+   glColor3fv,
+   glColor3i,
+   glColor3iv,
+   glColor3s,
+   glColor3sv,
+   glColor3ub,
+   glColor3ubv,
+   glColor3ui,
+   glColor3uiv,
+   glColor3us,
+   glColor3usv,
+   glColor4b,
+   glColor4bv,
+   glColor4d,
+   glColor4dv,
+   glColor4f,
+   glColor4fv,
+   glColor4i,
+   glColor4iv,
+   glColor4s,
+   glColor4sv,
+   glColor4ub,
+   glColor4ubv,
+   glColor4ui,
+   glColor4uiv,
+   glColor4us,
+   glColor4usv,
+   glColorMaterial,
+   glColorPointer,
+   glColorSubTable,
+   glColorTable,
+   glColorTableParameterfv,
+   glColorTableParameteriv,
+   glConvolutionFilter1D,
+   glConvolutionFilter2D,
+   glConvolutionParameterf,
+   glConvolutionParameterfv,
+   glConvolutionParameteri,
+   glConvolutionParameteriv,
+   glCopyColorSubTable,
+   glCopyColorTable,
+   glCopyConvolutionFilter1D,
+   glCopyConvolutionFilter2D,
+   glCopyPixels,
+   glDeleteLists,
+   glDisableClientState,
+   glDrawPixels,
+   glEdgeFlag,
+   glEdgeFlagPointer,
+   glEdgeFlagv,
+   glEnableClientState,
+   glEnd,
+   glEndList,
+   glEvalCoord1d,
+   glEvalCoord1dv,
+   glEvalCoord1f,
+   glEvalCoord1fv,
+   glEvalCoord2d,
+   glEvalCoord2dv,
+   glEvalCoord2f,
+   glEvalCoord2fv,
+   glEvalMesh1,
+   glEvalMesh2,
+   glEvalPoint1,
+   glEvalPoint2,
+   glFeedbackBuffer,
+   glFogCoordPointer,
+   glFogCoordd,
+   glFogCoorddv,
+   glFogCoordf,
+   glFogCoordfv,
+   glFogf,
+   glFogfv,
+   glFogi,
+   glFogiv,
+   glFrustum,
+   glGenLists,
+   glGetClipPlane,
+   glGetColorTable,
+   glGetColorTableParameterfv,
+   glGetColorTableParameteriv,
+   glGetConvolutionFilter,
+   glGetConvolutionParameterfv,
+   glGetConvolutionParameteriv,
+   glGetHistogram,
+   glGetHistogramParameterfv,
+   glGetHistogramParameteriv,
+   glGetLightfv,
+   glGetLightiv,
+   glGetMapdv,
+   glGetMapfv,
+   glGetMapiv,
+   glGetMaterialfv,
+   glGetMaterialiv,
+   glGetMinmax,
+   glGetMinmaxParameterfv,
+   glGetMinmaxParameteriv,
+   glGetPixelMapfv,
+   glGetPixelMapuiv,
+   glGetPixelMapusv,
+   glGetPolygonStipple,
+   glGetSeparableFilter,
+   glGetTexEnvfv,
+   glGetTexEnviv,
+   glGetTexGendv,
+   glGetTexGenfv,
+   glGetTexGeniv,
+   glHistogram,
+   glIndexMask,
+   glIndexPointer,
+   glIndexd,
+   glIndexdv,
+   glIndexf,
+   glIndexfv,
+   glIndexi,
+   glIndexiv,
+   glIndexs,
+   glIndexsv,
+   glIndexub,
+   glIndexubv,
+   glInitNames,
+   glInterleavedArrays,
+   glIsList,
+   glLightModelf,
+   glLightModelfv,
+   glLightModeli,
+   glLightModeliv,
+   glLightf,
+   glLightfv,
+   glLighti,
+   glLightiv,
+   glLineStipple,
+   glListBase,
+   glLoadIdentity,
+   glLoadMatrixd,
+   glLoadMatrixf,
+   glLoadName,
+   glLoadTransposeMatrixd,
+   glLoadTransposeMatrixf,
+   glMap1d,
+   glMap1f,
+   glMap2d,
+   glMap2f,
+   glMapGrid1d,
+   glMapGrid1f,
+   glMapGrid2d,
+   glMapGrid2f,
+   glMaterialf,
+   glMaterialfv,
+   glMateriali,
+   glMaterialiv,
+   glMatrixMode,
+   glMinmax,
+   glMultMatrixd,
+   glMultMatrixf,
+   glMultTransposeMatrixd,
+   glMultTransposeMatrixf,
+   glMultiTexCoord1d,
+   glMultiTexCoord1dv,
+   glMultiTexCoord1f,
+   glMultiTexCoord1fv,
+   glMultiTexCoord1i,
+   glMultiTexCoord1iv,
+   glMultiTexCoord1s,
+   glMultiTexCoord1sv,
+   glMultiTexCoord2d,
+   glMultiTexCoord2dv,
+   glMultiTexCoord2f,
+   glMultiTexCoord2fv,
+   glMultiTexCoord2i,
+   glMultiTexCoord2iv,
+   glMultiTexCoord2s,
+   glMultiTexCoord2sv,
+   glMultiTexCoord3d,
+   glMultiTexCoord3dv,
+   glMultiTexCoord3f,
+   glMultiTexCoord3fv,
+   glMultiTexCoord3i,
+   glMultiTexCoord3iv,
+   glMultiTexCoord3s,
+   glMultiTexCoord3sv,
+   glMultiTexCoord4d,
+   glMultiTexCoord4dv,
+   glMultiTexCoord4f,
+   glMultiTexCoord4fv,
+   glMultiTexCoord4i,
+   glMultiTexCoord4iv,
+   glMultiTexCoord4s,
+   glMultiTexCoord4sv,
+   glNewList,
+   glNormal3b,
+   glNormal3bv,
+   glNormal3d,
+   glNormal3dv,
+   glNormal3f,
+   glNormal3fv,
+   glNormal3i,
+   glNormal3iv,
+   glNormal3s,
+   glNormal3sv,
+   glNormalPointer,
+   glOrtho,
+   glPassThrough,
+   glPixelMapfv,
+   glPixelMapuiv,
+   glPixelMapusv,
+   glPixelTransferf,
+   glPixelTransferi,
+   glPixelZoom,
+   glPolygonStipple,
+   glPopAttrib,
+   glPopClientAttrib,
+   glPopMatrix,
+   glPopName,
+   glPrioritizeTextures,
+   glPushAttrib,
+   glPushClientAttrib,
+   glPushMatrix,
+   glPushName,
+   glRasterPos2d,
+   glRasterPos2dv,
+   glRasterPos2f,
+   glRasterPos2fv,
+   glRasterPos2i,
+   glRasterPos2iv,
+   glRasterPos2s,
+   glRasterPos2sv,
+   glRasterPos3d,
+   glRasterPos3dv,
+   glRasterPos3f,
+   glRasterPos3fv,
+   glRasterPos3i,
+   glRasterPos3iv,
+   glRasterPos3s,
+   glRasterPos3sv,
+   glRasterPos4d,
+   glRasterPos4dv,
+   glRasterPos4f,
+   glRasterPos4fv,
+   glRasterPos4i,
+   glRasterPos4iv,
+   glRasterPos4s,
+   glRasterPos4sv,
+   glRectd,
+   glRectdv,
+   glRectf,
+   glRectfv,
+   glRecti,
+   glRectiv,
+   glRects,
+   glRectsv,
+   glRenderMode,
+   glResetHistogram,
+   glResetMinmax,
+   glRotated,
+   glRotatef,
+   glSamplePass,
+   glScaled,
+   glScalef,
+   glSecondaryColor3b,
+   glSecondaryColor3bv,
+   glSecondaryColor3d,
+   glSecondaryColor3dv,
+   glSecondaryColor3f,
+   glSecondaryColor3fv,
+   glSecondaryColor3i,
+   glSecondaryColor3iv,
+   glSecondaryColor3s,
+   glSecondaryColor3sv,
+   glSecondaryColor3ub,
+   glSecondaryColor3ubv,
+   glSecondaryColor3ui,
+   glSecondaryColor3uiv,
+   glSecondaryColor3us,
+   glSecondaryColor3usv,
+   glSecondaryColorPointer,
+   glSelectBuffer,
+   glSeparableFilter2D,
+   glShadeModel,
+   glTexCoord1d,
+   glTexCoord1dv,
+   glTexCoord1f,
+   glTexCoord1fv,
+   glTexCoord1i,
+   glTexCoord1iv,
+   glTexCoord1s,
+   glTexCoord1sv,
+   glTexCoord2d,
+   glTexCoord2dv,
+   glTexCoord2f,
+   glTexCoord2fv,
+   glTexCoord2i,
+   glTexCoord2iv,
+   glTexCoord2s,
+   glTexCoord2sv,
+   glTexCoord3d,
+   glTexCoord3dv,
+   glTexCoord3f,
+   glTexCoord3fv,
+   glTexCoord3i,
+   glTexCoord3iv,
+   glTexCoord3s,
+   glTexCoord3sv,
+   glTexCoord4d,
+   glTexCoord4dv,
+   glTexCoord4f,
+   glTexCoord4fv,
+   glTexCoord4i,
+   glTexCoord4iv,
+   glTexCoord4s,
+   glTexCoord4sv,
+   glTexCoordPointer,
+   glTexEnvf,
+   glTexEnvfv,
+   glTexEnvi,
+   glTexEnviv,
+   glTexGend,
+   glTexGendv,
+   glTexGenf,
+   glTexGenfv,
+   glTexGeni,
+   glTexGeniv,
+   glTranslated,
+   glTranslatef,
+   glVertex2d,
+   glVertex2dv,
+   glVertex2f,
+   glVertex2fv,
+   glVertex2i,
+   glVertex2iv,
+   glVertex2s,
+   glVertex2sv,
+   glVertex3d,
+   glVertex3dv,
+   glVertex3f,
+   glVertex3fv,
+   glVertex3i,
+   glVertex3iv,
+   glVertex3s,
+   glVertex3sv,
+   glVertex4d,
+   glVertex4dv,
+   glVertex4f,
+   glVertex4fv,
+   glVertex4i,
+   glVertex4iv,
+   glVertex4s,
+   glVertex4sv,
+   glVertexPointer,
+   glWindowPos2d,
+   glWindowPos2dv,
+   glWindowPos2f,
+   glWindowPos2fv,
+   glWindowPos2i,
+   glWindowPos2iv,
+   glWindowPos2s,
+   glWindowPos2sv,
+   glWindowPos3d,
+   glWindowPos3dv,
+   glWindowPos3f,
+   glWindowPos3fv,
+   glWindowPos3i,
+   glWindowPos3iv,
+   glWindowPos3s,
+   glWindowPos3sv
+) where
+
+import Foreign.Ptr
+import Foreign.C.Types
+import Graphics.Rendering.OpenGL.Raw.Core31
+import Graphics.Rendering.OpenGL.Raw.Extensions
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_ARB_compatibility"
+
+EXTENSION_ENTRY(dyn_glAccum,ptr_glAccum,"glAccum",glAccum,GLenum -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glAlphaFunc,ptr_glAlphaFunc,"glAlphaFunc",glAlphaFunc,GLenum -> GLclampf -> IO ())
+EXTENSION_ENTRY(dyn_glAreTexturesResident,ptr_glAreTexturesResident,"glAreTexturesResident",glAreTexturesResident,GLsizei -> Ptr GLuint -> Ptr GLboolean -> IO GLboolean)
+EXTENSION_ENTRY(dyn_glArrayElement,ptr_glArrayElement,"glArrayElement",glArrayElement,GLint -> IO ())
+EXTENSION_ENTRY(dyn_glBegin,ptr_glBegin,"glBegin",glBegin,GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glBitmap,ptr_glBitmap,"glBitmap",glBitmap,GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> IO ())
+EXTENSION_ENTRY(dyn_glCallList,ptr_glCallList,"glCallList",glCallList,GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glCallLists,ptr_glCallLists,"glCallLists",glCallLists,GLsizei -> GLenum -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glClearAccum,ptr_glClearAccum,"glClearAccum",glClearAccum,GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glClearIndex,ptr_glClearIndex,"glClearIndex",glClearIndex,GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glClientActiveTexture,ptr_glClientActiveTexture,"glClientActiveTexture",glClientActiveTexture,GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glClipPlane,ptr_glClipPlane,"glClipPlane",glClipPlane,GLenum -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glColor3b,ptr_glColor3b,"glColor3b",glColor3b,GLbyte -> GLbyte -> GLbyte -> IO ())
+EXTENSION_ENTRY(dyn_glColor3bv,ptr_glColor3bv,"glColor3bv",glColor3bv,Ptr GLbyte -> IO ())
+EXTENSION_ENTRY(dyn_glColor3d,ptr_glColor3d,"glColor3d",glColor3d,GLdouble -> GLdouble -> GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glColor3dv,ptr_glColor3dv,"glColor3dv",glColor3dv,Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glColor3f,ptr_glColor3f,"glColor3f",glColor3f,GLfloat -> GLfloat -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glColor3fv,ptr_glColor3fv,"glColor3fv",glColor3fv,Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glColor3i,ptr_glColor3i,"glColor3i",glColor3i,GLint -> GLint -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glColor3iv,ptr_glColor3iv,"glColor3iv",glColor3iv,Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glColor3s,ptr_glColor3s,"glColor3s",glColor3s,GLshort -> GLshort -> GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glColor3sv,ptr_glColor3sv,"glColor3sv",glColor3sv,Ptr GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glColor3ub,ptr_glColor3ub,"glColor3ub",glColor3ub,GLubyte -> GLubyte -> GLubyte -> IO ())
+EXTENSION_ENTRY(dyn_glColor3ubv,ptr_glColor3ubv,"glColor3ubv",glColor3ubv,Ptr GLubyte -> IO ())
+EXTENSION_ENTRY(dyn_glColor3ui,ptr_glColor3ui,"glColor3ui",glColor3ui,GLuint -> GLuint -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glColor3uiv,ptr_glColor3uiv,"glColor3uiv",glColor3uiv,Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glColor3us,ptr_glColor3us,"glColor3us",glColor3us,GLushort -> GLushort -> GLushort -> IO ())
+EXTENSION_ENTRY(dyn_glColor3usv,ptr_glColor3usv,"glColor3usv",glColor3usv,Ptr GLushort -> IO ())
+EXTENSION_ENTRY(dyn_glColor4b,ptr_glColor4b,"glColor4b",glColor4b,GLbyte -> GLbyte -> GLbyte -> GLbyte -> IO ())
+EXTENSION_ENTRY(dyn_glColor4bv,ptr_glColor4bv,"glColor4bv",glColor4bv,Ptr GLbyte -> IO ())
+EXTENSION_ENTRY(dyn_glColor4d,ptr_glColor4d,"glColor4d",glColor4d,GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glColor4dv,ptr_glColor4dv,"glColor4dv",glColor4dv,Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glColor4f,ptr_glColor4f,"glColor4f",glColor4f,GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glColor4fv,ptr_glColor4fv,"glColor4fv",glColor4fv,Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glColor4i,ptr_glColor4i,"glColor4i",glColor4i,GLint -> GLint -> GLint -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glColor4iv,ptr_glColor4iv,"glColor4iv",glColor4iv,Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glColor4s,ptr_glColor4s,"glColor4s",glColor4s,GLshort -> GLshort -> GLshort -> GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glColor4sv,ptr_glColor4sv,"glColor4sv",glColor4sv,Ptr GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glColor4ub,ptr_glColor4ub,"glColor4ub",glColor4ub,GLubyte -> GLubyte -> GLubyte -> GLubyte -> IO ())
+EXTENSION_ENTRY(dyn_glColor4ubv,ptr_glColor4ubv,"glColor4ubv",glColor4ubv,Ptr GLubyte -> IO ())
+EXTENSION_ENTRY(dyn_glColor4ui,ptr_glColor4ui,"glColor4ui",glColor4ui,GLuint -> GLuint -> GLuint -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glColor4uiv,ptr_glColor4uiv,"glColor4uiv",glColor4uiv,Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glColor4us,ptr_glColor4us,"glColor4us",glColor4us,GLushort -> GLushort -> GLushort -> GLushort -> IO ())
+EXTENSION_ENTRY(dyn_glColor4usv,ptr_glColor4usv,"glColor4usv",glColor4usv,Ptr GLushort -> IO ())
+EXTENSION_ENTRY(dyn_glColorMaterial,ptr_glColorMaterial,"glColorMaterial",glColorMaterial,GLenum -> GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glColorPointer,ptr_glColorPointer,"glColorPointer",glColorPointer,GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glColorSubTable,ptr_glColorSubTable,"glColorSubTable",glColorSubTable,GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glColorTable,ptr_glColorTable,"glColorTable",glColorTable,GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glColorTableParameterfv,ptr_glColorTableParameterfv,"glColorTableParameterfv",glColorTableParameterfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glColorTableParameteriv,ptr_glColorTableParameteriv,"glColorTableParameteriv",glColorTableParameteriv,GLenum -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glConvolutionFilter1D,ptr_glConvolutionFilter1D,"glConvolutionFilter1D",glConvolutionFilter1D,GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glConvolutionFilter2D,ptr_glConvolutionFilter2D,"glConvolutionFilter2D",glConvolutionFilter2D,GLenum -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glConvolutionParameterf,ptr_glConvolutionParameterf,"glConvolutionParameterf",glConvolutionParameterf,GLenum -> GLenum -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glConvolutionParameterfv,ptr_glConvolutionParameterfv,"glConvolutionParameterfv",glConvolutionParameterfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glConvolutionParameteri,ptr_glConvolutionParameteri,"glConvolutionParameteri",glConvolutionParameteri,GLenum -> GLenum -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glConvolutionParameteriv,ptr_glConvolutionParameteriv,"glConvolutionParameteriv",glConvolutionParameteriv,GLenum -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glCopyColorSubTable,ptr_glCopyColorSubTable,"glCopyColorSubTable",glCopyColorSubTable,GLenum -> GLsizei -> GLint -> GLint -> GLsizei -> IO ())
+EXTENSION_ENTRY(dyn_glCopyColorTable,ptr_glCopyColorTable,"glCopyColorTable",glCopyColorTable,GLenum -> GLenum -> GLint -> GLint -> GLsizei -> IO ())
+EXTENSION_ENTRY(dyn_glCopyConvolutionFilter1D,ptr_glCopyConvolutionFilter1D,"glCopyConvolutionFilter1D",glCopyConvolutionFilter1D,GLenum -> GLenum -> GLint -> GLint -> GLsizei -> IO ())
+EXTENSION_ENTRY(dyn_glCopyConvolutionFilter2D,ptr_glCopyConvolutionFilter2D,"glCopyConvolutionFilter2D",glCopyConvolutionFilter2D,GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
+EXTENSION_ENTRY(dyn_glCopyPixels,ptr_glCopyPixels,"glCopyPixels",glCopyPixels,GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glDeleteLists,ptr_glDeleteLists,"glDeleteLists",glDeleteLists,GLuint -> GLsizei -> IO ())
+EXTENSION_ENTRY(dyn_glDisableClientState,ptr_glDisableClientState,"glDisableClientState",glDisableClientState,GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glDrawPixels,ptr_glDrawPixels,"glDrawPixels",glDrawPixels,GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glEdgeFlag,ptr_glEdgeFlag,"glEdgeFlag",glEdgeFlag,GLboolean -> IO ())
+EXTENSION_ENTRY(dyn_glEdgeFlagPointer,ptr_glEdgeFlagPointer,"glEdgeFlagPointer",glEdgeFlagPointer,GLsizei -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glEdgeFlagv,ptr_glEdgeFlagv,"glEdgeFlagv",glEdgeFlagv,Ptr GLboolean -> IO ())
+EXTENSION_ENTRY(dyn_glEnableClientState,ptr_glEnableClientState,"glEnableClientState",glEnableClientState,GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glEnd,ptr_glEnd,"glEnd",glEnd,IO ())
+EXTENSION_ENTRY(dyn_glEndList,ptr_glEndList,"glEndList",glEndList,IO ())
+EXTENSION_ENTRY(dyn_glEvalCoord1d,ptr_glEvalCoord1d,"glEvalCoord1d",glEvalCoord1d,GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glEvalCoord1dv,ptr_glEvalCoord1dv,"glEvalCoord1dv",glEvalCoord1dv,Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glEvalCoord1f,ptr_glEvalCoord1f,"glEvalCoord1f",glEvalCoord1f,GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glEvalCoord1fv,ptr_glEvalCoord1fv,"glEvalCoord1fv",glEvalCoord1fv,Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glEvalCoord2d,ptr_glEvalCoord2d,"glEvalCoord2d",glEvalCoord2d,GLdouble -> GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glEvalCoord2dv,ptr_glEvalCoord2dv,"glEvalCoord2dv",glEvalCoord2dv,Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glEvalCoord2f,ptr_glEvalCoord2f,"glEvalCoord2f",glEvalCoord2f,GLfloat -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glEvalCoord2fv,ptr_glEvalCoord2fv,"glEvalCoord2fv",glEvalCoord2fv,Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glEvalMesh1,ptr_glEvalMesh1,"glEvalMesh1",glEvalMesh1,GLenum -> GLint -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glEvalMesh2,ptr_glEvalMesh2,"glEvalMesh2",glEvalMesh2,GLenum -> GLint -> GLint -> GLint -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glEvalPoint1,ptr_glEvalPoint1,"glEvalPoint1",glEvalPoint1,GLint -> IO ())
+EXTENSION_ENTRY(dyn_glEvalPoint2,ptr_glEvalPoint2,"glEvalPoint2",glEvalPoint2,GLint -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glFeedbackBuffer,ptr_glFeedbackBuffer,"glFeedbackBuffer",glFeedbackBuffer,GLsizei -> GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glFogCoordPointer,ptr_glFogCoordPointer,"glFogCoordPointer",glFogCoordPointer,GLenum -> GLsizei -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glFogCoordd,ptr_glFogCoordd,"glFogCoordd",glFogCoordd,GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glFogCoorddv,ptr_glFogCoorddv,"glFogCoorddv",glFogCoorddv,Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glFogCoordf,ptr_glFogCoordf,"glFogCoordf",glFogCoordf,GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glFogCoordfv,ptr_glFogCoordfv,"glFogCoordfv",glFogCoordfv,Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glFogf,ptr_glFogf,"glFogf",glFogf,GLenum -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glFogfv,ptr_glFogfv,"glFogfv",glFogfv,GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glFogi,ptr_glFogi,"glFogi",glFogi,GLenum -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glFogiv,ptr_glFogiv,"glFogiv",glFogiv,GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glFrustum,ptr_glFrustum,"glFrustum",glFrustum,GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glGenLists,ptr_glGenLists,"glGenLists",glGenLists,GLsizei -> IO GLuint)
+EXTENSION_ENTRY(dyn_glGetClipPlane,ptr_glGetClipPlane,"glGetClipPlane",glGetClipPlane,GLenum -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glGetColorTable,ptr_glGetColorTable,"glGetColorTable",glGetColorTable,GLenum -> GLenum -> GLenum -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glGetColorTableParameterfv,ptr_glGetColorTableParameterfv,"glGetColorTableParameterfv",glGetColorTableParameterfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glGetColorTableParameteriv,ptr_glGetColorTableParameteriv,"glGetColorTableParameteriv",glGetColorTableParameteriv,GLenum -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glGetConvolutionFilter,ptr_glGetConvolutionFilter,"glGetConvolutionFilter",glGetConvolutionFilter,GLenum -> GLenum -> GLenum -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glGetConvolutionParameterfv,ptr_glGetConvolutionParameterfv,"glGetConvolutionParameterfv",glGetConvolutionParameterfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glGetConvolutionParameteriv,ptr_glGetConvolutionParameteriv,"glGetConvolutionParameteriv",glGetConvolutionParameteriv,GLenum -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glGetHistogram,ptr_glGetHistogram,"glGetHistogram",glGetHistogram,GLenum -> GLboolean -> GLenum -> GLenum -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glGetHistogramParameterfv,ptr_glGetHistogramParameterfv,"glGetHistogramParameterfv",glGetHistogramParameterfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glGetHistogramParameteriv,ptr_glGetHistogramParameteriv,"glGetHistogramParameteriv",glGetHistogramParameteriv,GLenum -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glGetLightfv,ptr_glGetLightfv,"glGetLightfv",glGetLightfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glGetLightiv,ptr_glGetLightiv,"glGetLightiv",glGetLightiv,GLenum -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glGetMapdv,ptr_glGetMapdv,"glGetMapdv",glGetMapdv,GLenum -> GLenum -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glGetMapfv,ptr_glGetMapfv,"glGetMapfv",glGetMapfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glGetMapiv,ptr_glGetMapiv,"glGetMapiv",glGetMapiv,GLenum -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glGetMaterialfv,ptr_glGetMaterialfv,"glGetMaterialfv",glGetMaterialfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glGetMaterialiv,ptr_glGetMaterialiv,"glGetMaterialiv",glGetMaterialiv,GLenum -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glGetMinmax,ptr_glGetMinmax,"glGetMinmax",glGetMinmax,GLenum -> GLboolean -> GLenum -> GLenum -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glGetMinmaxParameterfv,ptr_glGetMinmaxParameterfv,"glGetMinmaxParameterfv",glGetMinmaxParameterfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glGetMinmaxParameteriv,ptr_glGetMinmaxParameteriv,"glGetMinmaxParameteriv",glGetMinmaxParameteriv,GLenum -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glGetPixelMapfv,ptr_glGetPixelMapfv,"glGetPixelMapfv",glGetPixelMapfv,GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glGetPixelMapuiv,ptr_glGetPixelMapuiv,"glGetPixelMapuiv",glGetPixelMapuiv,GLenum -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glGetPixelMapusv,ptr_glGetPixelMapusv,"glGetPixelMapusv",glGetPixelMapusv,GLenum -> Ptr GLushort -> IO ())
+EXTENSION_ENTRY(dyn_glGetPolygonStipple,ptr_glGetPolygonStipple,"glGetPolygonStipple",glGetPolygonStipple,Ptr GLubyte -> IO ())
+EXTENSION_ENTRY(dyn_glGetSeparableFilter,ptr_glGetSeparableFilter,"glGetSeparableFilter",glGetSeparableFilter,GLenum -> GLenum -> GLenum -> Ptr a -> Ptr a -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glGetTexEnvfv,ptr_glGetTexEnvfv,"glGetTexEnvfv",glGetTexEnvfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glGetTexEnviv,ptr_glGetTexEnviv,"glGetTexEnviv",glGetTexEnviv,GLenum -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glGetTexGendv,ptr_glGetTexGendv,"glGetTexGendv",glGetTexGendv,GLenum -> GLenum -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glGetTexGenfv,ptr_glGetTexGenfv,"glGetTexGenfv",glGetTexGenfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glGetTexGeniv,ptr_glGetTexGeniv,"glGetTexGeniv",glGetTexGeniv,GLenum -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glHistogram,ptr_glHistogram,"glHistogram",glHistogram,GLenum -> GLsizei -> GLenum -> GLboolean -> IO ())
+EXTENSION_ENTRY(dyn_glIndexMask,ptr_glIndexMask,"glIndexMask",glIndexMask,GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glIndexPointer,ptr_glIndexPointer,"glIndexPointer",glIndexPointer,GLenum -> GLsizei -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glIndexd,ptr_glIndexd,"glIndexd",glIndexd,GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glIndexdv,ptr_glIndexdv,"glIndexdv",glIndexdv,Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glIndexf,ptr_glIndexf,"glIndexf",glIndexf,GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glIndexfv,ptr_glIndexfv,"glIndexfv",glIndexfv,Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glIndexi,ptr_glIndexi,"glIndexi",glIndexi,GLint -> IO ())
+EXTENSION_ENTRY(dyn_glIndexiv,ptr_glIndexiv,"glIndexiv",glIndexiv,Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glIndexs,ptr_glIndexs,"glIndexs",glIndexs,GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glIndexsv,ptr_glIndexsv,"glIndexsv",glIndexsv,Ptr GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glIndexub,ptr_glIndexub,"glIndexub",glIndexub,GLubyte -> IO ())
+EXTENSION_ENTRY(dyn_glIndexubv,ptr_glIndexubv,"glIndexubv",glIndexubv,Ptr GLubyte -> IO ())
+EXTENSION_ENTRY(dyn_glInitNames,ptr_glInitNames,"glInitNames",glInitNames,IO ())
+EXTENSION_ENTRY(dyn_glInterleavedArrays,ptr_glInterleavedArrays,"glInterleavedArrays",glInterleavedArrays,GLenum -> GLsizei -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glIsList,ptr_glIsList,"glIsList",glIsList,GLuint -> IO GLboolean)
+EXTENSION_ENTRY(dyn_glLightModelf,ptr_glLightModelf,"glLightModelf",glLightModelf,GLenum -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glLightModelfv,ptr_glLightModelfv,"glLightModelfv",glLightModelfv,GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glLightModeli,ptr_glLightModeli,"glLightModeli",glLightModeli,GLenum -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glLightModeliv,ptr_glLightModeliv,"glLightModeliv",glLightModeliv,GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glLightf,ptr_glLightf,"glLightf",glLightf,GLenum -> GLenum -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glLightfv,ptr_glLightfv,"glLightfv",glLightfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glLighti,ptr_glLighti,"glLighti",glLighti,GLenum -> GLenum -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glLightiv,ptr_glLightiv,"glLightiv",glLightiv,GLenum -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glLineStipple,ptr_glLineStipple,"glLineStipple",glLineStipple,GLint -> GLushort -> IO ())
+EXTENSION_ENTRY(dyn_glListBase,ptr_glListBase,"glListBase",glListBase,GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glLoadIdentity,ptr_glLoadIdentity,"glLoadIdentity",glLoadIdentity,IO ())
+EXTENSION_ENTRY(dyn_glLoadMatrixd,ptr_glLoadMatrixd,"glLoadMatrixd",glLoadMatrixd,Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glLoadMatrixf,ptr_glLoadMatrixf,"glLoadMatrixf",glLoadMatrixf,Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glLoadName,ptr_glLoadName,"glLoadName",glLoadName,GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glLoadTransposeMatrixd,ptr_glLoadTransposeMatrixd,"glLoadTransposeMatrixd",glLoadTransposeMatrixd,Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glLoadTransposeMatrixf,ptr_glLoadTransposeMatrixf,"glLoadTransposeMatrixf",glLoadTransposeMatrixf,Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glMap1d,ptr_glMap1d,"glMap1d",glMap1d,GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glMap1f,ptr_glMap1f,"glMap1f",glMap1f,GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glMap2d,ptr_glMap2d,"glMap2d",glMap2d,GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glMap2f,ptr_glMap2f,"glMap2f",glMap2f,GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glMapGrid1d,ptr_glMapGrid1d,"glMapGrid1d",glMapGrid1d,GLint -> GLdouble -> GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glMapGrid1f,ptr_glMapGrid1f,"glMapGrid1f",glMapGrid1f,GLint -> GLfloat -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glMapGrid2d,ptr_glMapGrid2d,"glMapGrid2d",glMapGrid2d,GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glMapGrid2f,ptr_glMapGrid2f,"glMapGrid2f",glMapGrid2f,GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glMaterialf,ptr_glMaterialf,"glMaterialf",glMaterialf,GLenum -> GLenum -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glMaterialfv,ptr_glMaterialfv,"glMaterialfv",glMaterialfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glMateriali,ptr_glMateriali,"glMateriali",glMateriali,GLenum -> GLenum -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glMaterialiv,ptr_glMaterialiv,"glMaterialiv",glMaterialiv,GLenum -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glMatrixMode,ptr_glMatrixMode,"glMatrixMode",glMatrixMode,GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glMinmax,ptr_glMinmax,"glMinmax",glMinmax,GLenum -> GLenum -> GLboolean -> IO ())
+EXTENSION_ENTRY(dyn_glMultMatrixd,ptr_glMultMatrixd,"glMultMatrixd",glMultMatrixd,Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glMultMatrixf,ptr_glMultMatrixf,"glMultMatrixf",glMultMatrixf,Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glMultTransposeMatrixd,ptr_glMultTransposeMatrixd,"glMultTransposeMatrixd",glMultTransposeMatrixd,Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glMultTransposeMatrixf,ptr_glMultTransposeMatrixf,"glMultTransposeMatrixf",glMultTransposeMatrixf,Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexCoord1d,ptr_glMultiTexCoord1d,"glMultiTexCoord1d",glMultiTexCoord1d,GLenum -> GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexCoord1dv,ptr_glMultiTexCoord1dv,"glMultiTexCoord1dv",glMultiTexCoord1dv,GLenum -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexCoord1f,ptr_glMultiTexCoord1f,"glMultiTexCoord1f",glMultiTexCoord1f,GLenum -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexCoord1fv,ptr_glMultiTexCoord1fv,"glMultiTexCoord1fv",glMultiTexCoord1fv,GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexCoord1i,ptr_glMultiTexCoord1i,"glMultiTexCoord1i",glMultiTexCoord1i,GLenum -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexCoord1iv,ptr_glMultiTexCoord1iv,"glMultiTexCoord1iv",glMultiTexCoord1iv,GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexCoord1s,ptr_glMultiTexCoord1s,"glMultiTexCoord1s",glMultiTexCoord1s,GLenum -> GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexCoord1sv,ptr_glMultiTexCoord1sv,"glMultiTexCoord1sv",glMultiTexCoord1sv,GLenum -> Ptr GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexCoord2d,ptr_glMultiTexCoord2d,"glMultiTexCoord2d",glMultiTexCoord2d,GLenum -> GLdouble -> GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexCoord2dv,ptr_glMultiTexCoord2dv,"glMultiTexCoord2dv",glMultiTexCoord2dv,GLenum -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexCoord2f,ptr_glMultiTexCoord2f,"glMultiTexCoord2f",glMultiTexCoord2f,GLenum -> GLfloat -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexCoord2fv,ptr_glMultiTexCoord2fv,"glMultiTexCoord2fv",glMultiTexCoord2fv,GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexCoord2i,ptr_glMultiTexCoord2i,"glMultiTexCoord2i",glMultiTexCoord2i,GLenum -> GLint -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexCoord2iv,ptr_glMultiTexCoord2iv,"glMultiTexCoord2iv",glMultiTexCoord2iv,GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexCoord2s,ptr_glMultiTexCoord2s,"glMultiTexCoord2s",glMultiTexCoord2s,GLenum -> GLshort -> GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexCoord2sv,ptr_glMultiTexCoord2sv,"glMultiTexCoord2sv",glMultiTexCoord2sv,GLenum -> Ptr GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexCoord3d,ptr_glMultiTexCoord3d,"glMultiTexCoord3d",glMultiTexCoord3d,GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexCoord3dv,ptr_glMultiTexCoord3dv,"glMultiTexCoord3dv",glMultiTexCoord3dv,GLenum -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexCoord3f,ptr_glMultiTexCoord3f,"glMultiTexCoord3f",glMultiTexCoord3f,GLenum -> GLfloat -> GLfloat -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexCoord3fv,ptr_glMultiTexCoord3fv,"glMultiTexCoord3fv",glMultiTexCoord3fv,GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexCoord3i,ptr_glMultiTexCoord3i,"glMultiTexCoord3i",glMultiTexCoord3i,GLenum -> GLint -> GLint -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexCoord3iv,ptr_glMultiTexCoord3iv,"glMultiTexCoord3iv",glMultiTexCoord3iv,GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexCoord3s,ptr_glMultiTexCoord3s,"glMultiTexCoord3s",glMultiTexCoord3s,GLenum -> GLshort -> GLshort -> GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexCoord3sv,ptr_glMultiTexCoord3sv,"glMultiTexCoord3sv",glMultiTexCoord3sv,GLenum -> Ptr GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexCoord4d,ptr_glMultiTexCoord4d,"glMultiTexCoord4d",glMultiTexCoord4d,GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexCoord4dv,ptr_glMultiTexCoord4dv,"glMultiTexCoord4dv",glMultiTexCoord4dv,GLenum -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexCoord4f,ptr_glMultiTexCoord4f,"glMultiTexCoord4f",glMultiTexCoord4f,GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexCoord4fv,ptr_glMultiTexCoord4fv,"glMultiTexCoord4fv",glMultiTexCoord4fv,GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexCoord4i,ptr_glMultiTexCoord4i,"glMultiTexCoord4i",glMultiTexCoord4i,GLenum -> GLint -> GLint -> GLint -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexCoord4iv,ptr_glMultiTexCoord4iv,"glMultiTexCoord4iv",glMultiTexCoord4iv,GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexCoord4s,ptr_glMultiTexCoord4s,"glMultiTexCoord4s",glMultiTexCoord4s,GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexCoord4sv,ptr_glMultiTexCoord4sv,"glMultiTexCoord4sv",glMultiTexCoord4sv,GLenum -> Ptr GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glNewList,ptr_glNewList,"glNewList",glNewList,GLuint -> GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glNormal3b,ptr_glNormal3b,"glNormal3b",glNormal3b,GLbyte -> GLbyte -> GLbyte -> IO ())
+EXTENSION_ENTRY(dyn_glNormal3bv,ptr_glNormal3bv,"glNormal3bv",glNormal3bv,Ptr GLbyte -> IO ())
+EXTENSION_ENTRY(dyn_glNormal3d,ptr_glNormal3d,"glNormal3d",glNormal3d,GLdouble -> GLdouble -> GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glNormal3dv,ptr_glNormal3dv,"glNormal3dv",glNormal3dv,Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glNormal3f,ptr_glNormal3f,"glNormal3f",glNormal3f,GLfloat -> GLfloat -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glNormal3fv,ptr_glNormal3fv,"glNormal3fv",glNormal3fv,Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glNormal3i,ptr_glNormal3i,"glNormal3i",glNormal3i,GLint -> GLint -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glNormal3iv,ptr_glNormal3iv,"glNormal3iv",glNormal3iv,Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glNormal3s,ptr_glNormal3s,"glNormal3s",glNormal3s,GLshort -> GLshort -> GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glNormal3sv,ptr_glNormal3sv,"glNormal3sv",glNormal3sv,Ptr GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glNormalPointer,ptr_glNormalPointer,"glNormalPointer",glNormalPointer,GLenum -> GLsizei -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glOrtho,ptr_glOrtho,"glOrtho",glOrtho,GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glPassThrough,ptr_glPassThrough,"glPassThrough",glPassThrough,GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glPixelMapfv,ptr_glPixelMapfv,"glPixelMapfv",glPixelMapfv,GLenum -> GLsizei -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glPixelMapuiv,ptr_glPixelMapuiv,"glPixelMapuiv",glPixelMapuiv,GLenum -> GLsizei -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glPixelMapusv,ptr_glPixelMapusv,"glPixelMapusv",glPixelMapusv,GLenum -> GLsizei -> Ptr GLushort -> IO ())
+EXTENSION_ENTRY(dyn_glPixelTransferf,ptr_glPixelTransferf,"glPixelTransferf",glPixelTransferf,GLenum -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glPixelTransferi,ptr_glPixelTransferi,"glPixelTransferi",glPixelTransferi,GLenum -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glPixelZoom,ptr_glPixelZoom,"glPixelZoom",glPixelZoom,GLfloat -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glPolygonStipple,ptr_glPolygonStipple,"glPolygonStipple",glPolygonStipple,Ptr GLubyte -> IO ())
+EXTENSION_ENTRY(dyn_glPopAttrib,ptr_glPopAttrib,"glPopAttrib",glPopAttrib,IO ())
+EXTENSION_ENTRY(dyn_glPopClientAttrib,ptr_glPopClientAttrib,"glPopClientAttrib",glPopClientAttrib,IO ())
+EXTENSION_ENTRY(dyn_glPopMatrix,ptr_glPopMatrix,"glPopMatrix",glPopMatrix,IO ())
+EXTENSION_ENTRY(dyn_glPopName,ptr_glPopName,"glPopName",glPopName,IO ())
+EXTENSION_ENTRY(dyn_glPrioritizeTextures,ptr_glPrioritizeTextures,"glPrioritizeTextures",glPrioritizeTextures,GLsizei -> Ptr GLuint -> Ptr GLclampf -> IO ())
+EXTENSION_ENTRY(dyn_glPushAttrib,ptr_glPushAttrib,"glPushAttrib",glPushAttrib,GLbitfield -> IO ())
+EXTENSION_ENTRY(dyn_glPushClientAttrib,ptr_glPushClientAttrib,"glPushClientAttrib",glPushClientAttrib,GLbitfield -> IO ())
+EXTENSION_ENTRY(dyn_glPushMatrix,ptr_glPushMatrix,"glPushMatrix",glPushMatrix,IO ())
+EXTENSION_ENTRY(dyn_glPushName,ptr_glPushName,"glPushName",glPushName,GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glRasterPos2d,ptr_glRasterPos2d,"glRasterPos2d",glRasterPos2d,GLdouble -> GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glRasterPos2dv,ptr_glRasterPos2dv,"glRasterPos2dv",glRasterPos2dv,Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glRasterPos2f,ptr_glRasterPos2f,"glRasterPos2f",glRasterPos2f,GLfloat -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glRasterPos2fv,ptr_glRasterPos2fv,"glRasterPos2fv",glRasterPos2fv,Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glRasterPos2i,ptr_glRasterPos2i,"glRasterPos2i",glRasterPos2i,GLint -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glRasterPos2iv,ptr_glRasterPos2iv,"glRasterPos2iv",glRasterPos2iv,Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glRasterPos2s,ptr_glRasterPos2s,"glRasterPos2s",glRasterPos2s,GLshort -> GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glRasterPos2sv,ptr_glRasterPos2sv,"glRasterPos2sv",glRasterPos2sv,Ptr GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glRasterPos3d,ptr_glRasterPos3d,"glRasterPos3d",glRasterPos3d,GLdouble -> GLdouble -> GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glRasterPos3dv,ptr_glRasterPos3dv,"glRasterPos3dv",glRasterPos3dv,Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glRasterPos3f,ptr_glRasterPos3f,"glRasterPos3f",glRasterPos3f,GLfloat -> GLfloat -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glRasterPos3fv,ptr_glRasterPos3fv,"glRasterPos3fv",glRasterPos3fv,Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glRasterPos3i,ptr_glRasterPos3i,"glRasterPos3i",glRasterPos3i,GLint -> GLint -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glRasterPos3iv,ptr_glRasterPos3iv,"glRasterPos3iv",glRasterPos3iv,Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glRasterPos3s,ptr_glRasterPos3s,"glRasterPos3s",glRasterPos3s,GLshort -> GLshort -> GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glRasterPos3sv,ptr_glRasterPos3sv,"glRasterPos3sv",glRasterPos3sv,Ptr GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glRasterPos4d,ptr_glRasterPos4d,"glRasterPos4d",glRasterPos4d,GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glRasterPos4dv,ptr_glRasterPos4dv,"glRasterPos4dv",glRasterPos4dv,Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glRasterPos4f,ptr_glRasterPos4f,"glRasterPos4f",glRasterPos4f,GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glRasterPos4fv,ptr_glRasterPos4fv,"glRasterPos4fv",glRasterPos4fv,Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glRasterPos4i,ptr_glRasterPos4i,"glRasterPos4i",glRasterPos4i,GLint -> GLint -> GLint -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glRasterPos4iv,ptr_glRasterPos4iv,"glRasterPos4iv",glRasterPos4iv,Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glRasterPos4s,ptr_glRasterPos4s,"glRasterPos4s",glRasterPos4s,GLshort -> GLshort -> GLshort -> GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glRasterPos4sv,ptr_glRasterPos4sv,"glRasterPos4sv",glRasterPos4sv,Ptr GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glRectd,ptr_glRectd,"glRectd",glRectd,GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glRectdv,ptr_glRectdv,"glRectdv",glRectdv,Ptr GLdouble -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glRectf,ptr_glRectf,"glRectf",glRectf,GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glRectfv,ptr_glRectfv,"glRectfv",glRectfv,Ptr GLfloat -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glRecti,ptr_glRecti,"glRecti",glRecti,GLint -> GLint -> GLint -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glRectiv,ptr_glRectiv,"glRectiv",glRectiv,Ptr GLint -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glRects,ptr_glRects,"glRects",glRects,GLshort -> GLshort -> GLshort -> GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glRectsv,ptr_glRectsv,"glRectsv",glRectsv,Ptr GLshort -> Ptr GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glRenderMode,ptr_glRenderMode,"glRenderMode",glRenderMode,GLenum -> IO GLint)
+EXTENSION_ENTRY(dyn_glResetHistogram,ptr_glResetHistogram,"glResetHistogram",glResetHistogram,GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glResetMinmax,ptr_glResetMinmax,"glResetMinmax",glResetMinmax,GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glRotated,ptr_glRotated,"glRotated",glRotated,GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glRotatef,ptr_glRotatef,"glRotatef",glRotatef,GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glSamplePass,ptr_glSamplePass,"glSamplePass",glSamplePass,GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glScaled,ptr_glScaled,"glScaled",glScaled,GLdouble -> GLdouble -> GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glScalef,ptr_glScalef,"glScalef",glScalef,GLfloat -> GLfloat -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glSecondaryColor3b,ptr_glSecondaryColor3b,"glSecondaryColor3b",glSecondaryColor3b,GLbyte -> GLbyte -> GLbyte -> IO ())
+EXTENSION_ENTRY(dyn_glSecondaryColor3bv,ptr_glSecondaryColor3bv,"glSecondaryColor3bv",glSecondaryColor3bv,Ptr GLbyte -> IO ())
+EXTENSION_ENTRY(dyn_glSecondaryColor3d,ptr_glSecondaryColor3d,"glSecondaryColor3d",glSecondaryColor3d,GLdouble -> GLdouble -> GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glSecondaryColor3dv,ptr_glSecondaryColor3dv,"glSecondaryColor3dv",glSecondaryColor3dv,Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glSecondaryColor3f,ptr_glSecondaryColor3f,"glSecondaryColor3f",glSecondaryColor3f,GLfloat -> GLfloat -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glSecondaryColor3fv,ptr_glSecondaryColor3fv,"glSecondaryColor3fv",glSecondaryColor3fv,Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glSecondaryColor3i,ptr_glSecondaryColor3i,"glSecondaryColor3i",glSecondaryColor3i,GLint -> GLint -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glSecondaryColor3iv,ptr_glSecondaryColor3iv,"glSecondaryColor3iv",glSecondaryColor3iv,Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glSecondaryColor3s,ptr_glSecondaryColor3s,"glSecondaryColor3s",glSecondaryColor3s,GLshort -> GLshort -> GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glSecondaryColor3sv,ptr_glSecondaryColor3sv,"glSecondaryColor3sv",glSecondaryColor3sv,Ptr GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glSecondaryColor3ub,ptr_glSecondaryColor3ub,"glSecondaryColor3ub",glSecondaryColor3ub,GLubyte -> GLubyte -> GLubyte -> IO ())
+EXTENSION_ENTRY(dyn_glSecondaryColor3ubv,ptr_glSecondaryColor3ubv,"glSecondaryColor3ubv",glSecondaryColor3ubv,Ptr GLubyte -> IO ())
+EXTENSION_ENTRY(dyn_glSecondaryColor3ui,ptr_glSecondaryColor3ui,"glSecondaryColor3ui",glSecondaryColor3ui,GLuint -> GLuint -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glSecondaryColor3uiv,ptr_glSecondaryColor3uiv,"glSecondaryColor3uiv",glSecondaryColor3uiv,Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glSecondaryColor3us,ptr_glSecondaryColor3us,"glSecondaryColor3us",glSecondaryColor3us,GLushort -> GLushort -> GLushort -> IO ())
+EXTENSION_ENTRY(dyn_glSecondaryColor3usv,ptr_glSecondaryColor3usv,"glSecondaryColor3usv",glSecondaryColor3usv,Ptr GLushort -> IO ())
+EXTENSION_ENTRY(dyn_glSecondaryColorPointer,ptr_glSecondaryColorPointer,"glSecondaryColorPointer",glSecondaryColorPointer,GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glSelectBuffer,ptr_glSelectBuffer,"glSelectBuffer",glSelectBuffer,GLsizei -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glSeparableFilter2D,ptr_glSeparableFilter2D,"glSeparableFilter2D",glSeparableFilter2D,GLenum -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glShadeModel,ptr_glShadeModel,"glShadeModel",glShadeModel,GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glTexCoord1d,ptr_glTexCoord1d,"glTexCoord1d",glTexCoord1d,GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glTexCoord1dv,ptr_glTexCoord1dv,"glTexCoord1dv",glTexCoord1dv,Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glTexCoord1f,ptr_glTexCoord1f,"glTexCoord1f",glTexCoord1f,GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glTexCoord1fv,ptr_glTexCoord1fv,"glTexCoord1fv",glTexCoord1fv,Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glTexCoord1i,ptr_glTexCoord1i,"glTexCoord1i",glTexCoord1i,GLint -> IO ())
+EXTENSION_ENTRY(dyn_glTexCoord1iv,ptr_glTexCoord1iv,"glTexCoord1iv",glTexCoord1iv,Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glTexCoord1s,ptr_glTexCoord1s,"glTexCoord1s",glTexCoord1s,GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glTexCoord1sv,ptr_glTexCoord1sv,"glTexCoord1sv",glTexCoord1sv,Ptr GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glTexCoord2d,ptr_glTexCoord2d,"glTexCoord2d",glTexCoord2d,GLdouble -> GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glTexCoord2dv,ptr_glTexCoord2dv,"glTexCoord2dv",glTexCoord2dv,Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glTexCoord2f,ptr_glTexCoord2f,"glTexCoord2f",glTexCoord2f,GLfloat -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glTexCoord2fv,ptr_glTexCoord2fv,"glTexCoord2fv",glTexCoord2fv,Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glTexCoord2i,ptr_glTexCoord2i,"glTexCoord2i",glTexCoord2i,GLint -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glTexCoord2iv,ptr_glTexCoord2iv,"glTexCoord2iv",glTexCoord2iv,Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glTexCoord2s,ptr_glTexCoord2s,"glTexCoord2s",glTexCoord2s,GLshort -> GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glTexCoord2sv,ptr_glTexCoord2sv,"glTexCoord2sv",glTexCoord2sv,Ptr GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glTexCoord3d,ptr_glTexCoord3d,"glTexCoord3d",glTexCoord3d,GLdouble -> GLdouble -> GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glTexCoord3dv,ptr_glTexCoord3dv,"glTexCoord3dv",glTexCoord3dv,Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glTexCoord3f,ptr_glTexCoord3f,"glTexCoord3f",glTexCoord3f,GLfloat -> GLfloat -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glTexCoord3fv,ptr_glTexCoord3fv,"glTexCoord3fv",glTexCoord3fv,Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glTexCoord3i,ptr_glTexCoord3i,"glTexCoord3i",glTexCoord3i,GLint -> GLint -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glTexCoord3iv,ptr_glTexCoord3iv,"glTexCoord3iv",glTexCoord3iv,Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glTexCoord3s,ptr_glTexCoord3s,"glTexCoord3s",glTexCoord3s,GLshort -> GLshort -> GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glTexCoord3sv,ptr_glTexCoord3sv,"glTexCoord3sv",glTexCoord3sv,Ptr GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glTexCoord4d,ptr_glTexCoord4d,"glTexCoord4d",glTexCoord4d,GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glTexCoord4dv,ptr_glTexCoord4dv,"glTexCoord4dv",glTexCoord4dv,Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glTexCoord4f,ptr_glTexCoord4f,"glTexCoord4f",glTexCoord4f,GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glTexCoord4fv,ptr_glTexCoord4fv,"glTexCoord4fv",glTexCoord4fv,Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glTexCoord4i,ptr_glTexCoord4i,"glTexCoord4i",glTexCoord4i,GLint -> GLint -> GLint -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glTexCoord4iv,ptr_glTexCoord4iv,"glTexCoord4iv",glTexCoord4iv,Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glTexCoord4s,ptr_glTexCoord4s,"glTexCoord4s",glTexCoord4s,GLshort -> GLshort -> GLshort -> GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glTexCoord4sv,ptr_glTexCoord4sv,"glTexCoord4sv",glTexCoord4sv,Ptr GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glTexCoordPointer,ptr_glTexCoordPointer,"glTexCoordPointer",glTexCoordPointer,GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glTexEnvf,ptr_glTexEnvf,"glTexEnvf",glTexEnvf,GLenum -> GLenum -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glTexEnvfv,ptr_glTexEnvfv,"glTexEnvfv",glTexEnvfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glTexEnvi,ptr_glTexEnvi,"glTexEnvi",glTexEnvi,GLenum -> GLenum -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glTexEnviv,ptr_glTexEnviv,"glTexEnviv",glTexEnviv,GLenum -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glTexGend,ptr_glTexGend,"glTexGend",glTexGend,GLenum -> GLenum -> GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glTexGendv,ptr_glTexGendv,"glTexGendv",glTexGendv,GLenum -> GLenum -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glTexGenf,ptr_glTexGenf,"glTexGenf",glTexGenf,GLenum -> GLenum -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glTexGenfv,ptr_glTexGenfv,"glTexGenfv",glTexGenfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glTexGeni,ptr_glTexGeni,"glTexGeni",glTexGeni,GLenum -> GLenum -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glTexGeniv,ptr_glTexGeniv,"glTexGeniv",glTexGeniv,GLenum -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glTranslated,ptr_glTranslated,"glTranslated",glTranslated,GLdouble -> GLdouble -> GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glTranslatef,ptr_glTranslatef,"glTranslatef",glTranslatef,GLfloat -> GLfloat -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glVertex2d,ptr_glVertex2d,"glVertex2d",glVertex2d,GLdouble -> GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glVertex2dv,ptr_glVertex2dv,"glVertex2dv",glVertex2dv,Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glVertex2f,ptr_glVertex2f,"glVertex2f",glVertex2f,GLfloat -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glVertex2fv,ptr_glVertex2fv,"glVertex2fv",glVertex2fv,Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glVertex2i,ptr_glVertex2i,"glVertex2i",glVertex2i,GLint -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glVertex2iv,ptr_glVertex2iv,"glVertex2iv",glVertex2iv,Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glVertex2s,ptr_glVertex2s,"glVertex2s",glVertex2s,GLshort -> GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glVertex2sv,ptr_glVertex2sv,"glVertex2sv",glVertex2sv,Ptr GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glVertex3d,ptr_glVertex3d,"glVertex3d",glVertex3d,GLdouble -> GLdouble -> GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glVertex3dv,ptr_glVertex3dv,"glVertex3dv",glVertex3dv,Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glVertex3f,ptr_glVertex3f,"glVertex3f",glVertex3f,GLfloat -> GLfloat -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glVertex3fv,ptr_glVertex3fv,"glVertex3fv",glVertex3fv,Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glVertex3i,ptr_glVertex3i,"glVertex3i",glVertex3i,GLint -> GLint -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glVertex3iv,ptr_glVertex3iv,"glVertex3iv",glVertex3iv,Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glVertex3s,ptr_glVertex3s,"glVertex3s",glVertex3s,GLshort -> GLshort -> GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glVertex3sv,ptr_glVertex3sv,"glVertex3sv",glVertex3sv,Ptr GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glVertex4d,ptr_glVertex4d,"glVertex4d",glVertex4d,GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glVertex4dv,ptr_glVertex4dv,"glVertex4dv",glVertex4dv,Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glVertex4f,ptr_glVertex4f,"glVertex4f",glVertex4f,GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glVertex4fv,ptr_glVertex4fv,"glVertex4fv",glVertex4fv,Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glVertex4i,ptr_glVertex4i,"glVertex4i",glVertex4i,GLint -> GLint -> GLint -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glVertex4iv,ptr_glVertex4iv,"glVertex4iv",glVertex4iv,Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glVertex4s,ptr_glVertex4s,"glVertex4s",glVertex4s,GLshort -> GLshort -> GLshort -> GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glVertex4sv,ptr_glVertex4sv,"glVertex4sv",glVertex4sv,Ptr GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glVertexPointer,ptr_glVertexPointer,"glVertexPointer",glVertexPointer,GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glWindowPos2d,ptr_glWindowPos2d,"glWindowPos2d",glWindowPos2d,GLdouble -> GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glWindowPos2dv,ptr_glWindowPos2dv,"glWindowPos2dv",glWindowPos2dv,Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glWindowPos2f,ptr_glWindowPos2f,"glWindowPos2f",glWindowPos2f,GLfloat -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glWindowPos2fv,ptr_glWindowPos2fv,"glWindowPos2fv",glWindowPos2fv,Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glWindowPos2i,ptr_glWindowPos2i,"glWindowPos2i",glWindowPos2i,GLint -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glWindowPos2iv,ptr_glWindowPos2iv,"glWindowPos2iv",glWindowPos2iv,Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glWindowPos2s,ptr_glWindowPos2s,"glWindowPos2s",glWindowPos2s,GLshort -> GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glWindowPos2sv,ptr_glWindowPos2sv,"glWindowPos2sv",glWindowPos2sv,Ptr GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glWindowPos3d,ptr_glWindowPos3d,"glWindowPos3d",glWindowPos3d,GLdouble -> GLdouble -> GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glWindowPos3dv,ptr_glWindowPos3dv,"glWindowPos3dv",glWindowPos3dv,Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glWindowPos3f,ptr_glWindowPos3f,"glWindowPos3f",glWindowPos3f,GLfloat -> GLfloat -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glWindowPos3fv,ptr_glWindowPos3fv,"glWindowPos3fv",glWindowPos3fv,Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glWindowPos3i,ptr_glWindowPos3i,"glWindowPos3i",glWindowPos3i,GLint -> GLint -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glWindowPos3iv,ptr_glWindowPos3iv,"glWindowPos3iv",glWindowPos3iv,Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glWindowPos3s,ptr_glWindowPos3s,"glWindowPos3s",glWindowPos3s,GLshort -> GLshort -> GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glWindowPos3sv,ptr_glWindowPos3sv,"glWindowPos3sv",glWindowPos3sv,Ptr GLshort -> IO ())
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/Compatibility/Tokens.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/Compatibility/Tokens.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/Compatibility/Tokens.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/Compatibility/Tokens.hs
@@ -1,1528 +1,1528 @@
-{-# OPTIONS_HADDOCK hide #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.Compatibility.Tokens
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All tokens from the ARB_compatibility extension, see
--- <http://www.opengl.org/registry/specs/ARB/compatibility.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.Compatibility.Tokens where
-
-import Graphics.Rendering.OpenGL.Raw.Core31
-
-gl_2D :: GLenum
-gl_2D = 0x0600
-
-gl_2_BYTES :: GLenum
-gl_2_BYTES = 0x1407
-
-gl_3D :: GLenum
-gl_3D = 0x0601
-
-gl_3D_COLOR :: GLenum
-gl_3D_COLOR = 0x0602
-
-gl_3D_COLOR_TEXTURE :: GLenum
-gl_3D_COLOR_TEXTURE = 0x0603
-
-gl_3_BYTES :: GLenum
-gl_3_BYTES = 0x1408
-
-gl_4D_COLOR_TEXTURE :: GLenum
-gl_4D_COLOR_TEXTURE = 0x0604
-
-gl_4_BYTES :: GLenum
-gl_4_BYTES = 0x1409
-
-gl_ACCUM :: GLenum
-gl_ACCUM = 0x0100
-
-gl_ACCUM_ALPHA_BITS :: GLenum
-gl_ACCUM_ALPHA_BITS = 0x0D5B
-
-gl_ACCUM_BLUE_BITS :: GLenum
-gl_ACCUM_BLUE_BITS = 0x0D5A
-
-gl_ACCUM_BUFFER_BIT :: GLbitfield
-gl_ACCUM_BUFFER_BIT = 0x00000200
-
-gl_ACCUM_CLEAR_VALUE :: GLenum
-gl_ACCUM_CLEAR_VALUE = 0x0B80
-
-gl_ACCUM_GREEN_BITS :: GLenum
-gl_ACCUM_GREEN_BITS = 0x0D59
-
-gl_ACCUM_RED_BITS :: GLenum
-gl_ACCUM_RED_BITS = 0x0D58
-
-gl_ADD :: GLenum
-gl_ADD = 0x0104
-
-gl_ADD_SIGNED :: GLenum
-gl_ADD_SIGNED = 0x8574
-
-gl_ALIASED_POINT_SIZE_RANGE :: GLenum
-gl_ALIASED_POINT_SIZE_RANGE = 0x846D
-
-gl_ALL_ATTRIB_BITS :: GLbitfield
-gl_ALL_ATTRIB_BITS = 0xFFFFFFFF
-
-gl_ALPHA12 :: GLenum
-gl_ALPHA12 = 0x803D
-
-gl_ALPHA16 :: GLenum
-gl_ALPHA16 = 0x803E
-
-gl_ALPHA4 :: GLenum
-gl_ALPHA4 = 0x803B
-
-gl_ALPHA8 :: GLenum
-gl_ALPHA8 = 0x803C
-
-gl_ALPHA_BIAS :: GLenum
-gl_ALPHA_BIAS = 0x0D1D
-
-gl_ALPHA_BITS :: GLenum
-gl_ALPHA_BITS = 0x0D55
-
-gl_ALPHA_INTEGER :: GLenum
-gl_ALPHA_INTEGER = 0x8D97
-
-gl_ALPHA_SCALE :: GLenum
-gl_ALPHA_SCALE = 0x0D1C
-
-gl_ALPHA_TEST :: GLenum
-gl_ALPHA_TEST = 0x0BC0
-
-gl_ALPHA_TEST_FUNC :: GLenum
-gl_ALPHA_TEST_FUNC = 0x0BC1
-
-gl_ALPHA_TEST_REF :: GLenum
-gl_ALPHA_TEST_REF = 0x0BC2
-
-gl_AMBIENT :: GLenum
-gl_AMBIENT = 0x1200
-
-gl_AMBIENT_AND_DIFFUSE :: GLenum
-gl_AMBIENT_AND_DIFFUSE = 0x1602
-
-gl_ATTRIB_STACK_DEPTH :: GLenum
-gl_ATTRIB_STACK_DEPTH = 0x0BB0
-
-gl_AUTO_NORMAL :: GLenum
-gl_AUTO_NORMAL = 0x0D80
-
-gl_AUX0 :: GLenum
-gl_AUX0 = 0x0409
-
-gl_AUX1 :: GLenum
-gl_AUX1 = 0x040A
-
-gl_AUX2 :: GLenum
-gl_AUX2 = 0x040B
-
-gl_AUX3 :: GLenum
-gl_AUX3 = 0x040C
-
-gl_AUX_BUFFERS :: GLenum
-gl_AUX_BUFFERS = 0x0C00
-
-gl_BITMAP :: GLenum
-gl_BITMAP = 0x1A00
-
-gl_BITMAP_TOKEN :: GLenum
-gl_BITMAP_TOKEN = 0x0704
-
-gl_BLUE_BIAS :: GLenum
-gl_BLUE_BIAS = 0x0D1B
-
-gl_BLUE_BITS :: GLenum
-gl_BLUE_BITS = 0x0D54
-
-gl_BLUE_SCALE :: GLenum
-gl_BLUE_SCALE = 0x0D1A
-
-gl_C3F_V3F :: GLenum
-gl_C3F_V3F = 0x2A24
-
-gl_C4F_N3F_V3F :: GLenum
-gl_C4F_N3F_V3F = 0x2A26
-
-gl_C4UB_V2F :: GLenum
-gl_C4UB_V2F = 0x2A22
-
-gl_C4UB_V3F :: GLenum
-gl_C4UB_V3F = 0x2A23
-
-gl_CLAMP :: GLenum
-gl_CLAMP = 0x2900
-
-gl_CLAMP_FRAGMENT_COLOR :: GLenum
-gl_CLAMP_FRAGMENT_COLOR = 0x891B
-
-gl_CLAMP_VERTEX_COLOR :: GLenum
-gl_CLAMP_VERTEX_COLOR = 0x891A
-
-gl_CLIENT_ACTIVE_TEXTURE :: GLenum
-gl_CLIENT_ACTIVE_TEXTURE = 0x84E1
-
-gl_CLIENT_ALL_ATTRIB_BITS :: GLbitfield
-gl_CLIENT_ALL_ATTRIB_BITS = 0xFFFFFFFF
-
-gl_CLIENT_ATTRIB_STACK_DEPTH :: GLenum
-gl_CLIENT_ATTRIB_STACK_DEPTH = 0x0BB1
-
-gl_CLIENT_PIXEL_STORE_BIT :: GLbitfield
-gl_CLIENT_PIXEL_STORE_BIT = 0x00000001
-
-gl_CLIENT_VERTEX_ARRAY_BIT :: GLbitfield
-gl_CLIENT_VERTEX_ARRAY_BIT = 0x00000002
-
-gl_CLIP_PLANE0 :: GLenum
-gl_CLIP_PLANE0 = 0x3000
-
-gl_CLIP_PLANE1 :: GLenum
-gl_CLIP_PLANE1 = 0x3001
-
-gl_CLIP_PLANE2 :: GLenum
-gl_CLIP_PLANE2 = 0x3002
-
-gl_CLIP_PLANE3 :: GLenum
-gl_CLIP_PLANE3 = 0x3003
-
-gl_CLIP_PLANE4 :: GLenum
-gl_CLIP_PLANE4 = 0x3004
-
-gl_CLIP_PLANE5 :: GLenum
-gl_CLIP_PLANE5 = 0x3005
-
-gl_COEFF :: GLenum
-gl_COEFF = 0x0A00
-
-gl_COLOR_ARRAY :: GLenum
-gl_COLOR_ARRAY = 0x8076
-
-gl_COLOR_ARRAY_BUFFER_BINDING :: GLenum
-gl_COLOR_ARRAY_BUFFER_BINDING = 0x8898
-
-gl_COLOR_ARRAY_COUNT :: GLenum
-gl_COLOR_ARRAY_COUNT = 0x8084
-
-gl_COLOR_ARRAY_POINTER :: GLenum
-gl_COLOR_ARRAY_POINTER = 0x8090
-
-gl_COLOR_ARRAY_SIZE :: GLenum
-gl_COLOR_ARRAY_SIZE = 0x8081
-
-gl_COLOR_ARRAY_STRIDE :: GLenum
-gl_COLOR_ARRAY_STRIDE = 0x8083
-
-gl_COLOR_ARRAY_TYPE :: GLenum
-gl_COLOR_ARRAY_TYPE = 0x8082
-
-gl_COLOR_INDEX :: GLenum
-gl_COLOR_INDEX = 0x1900
-
-gl_COLOR_INDEXES :: GLenum
-gl_COLOR_INDEXES = 0x1603
-
-gl_COLOR_MATERIAL :: GLenum
-gl_COLOR_MATERIAL = 0x0B57
-
-gl_COLOR_MATERIAL_FACE :: GLenum
-gl_COLOR_MATERIAL_FACE = 0x0B55
-
-gl_COLOR_MATERIAL_PARAMETER :: GLenum
-gl_COLOR_MATERIAL_PARAMETER = 0x0B56
-
-gl_COLOR_MATRIX :: GLenum
-gl_COLOR_MATRIX = 0x80B1
-
-gl_COLOR_MATRIX_STACK_DEPTH :: GLenum
-gl_COLOR_MATRIX_STACK_DEPTH = 0x80B2
-
-gl_COLOR_SUM :: GLenum
-gl_COLOR_SUM = 0x8458
-
-gl_COLOR_TABLE :: GLenum
-gl_COLOR_TABLE = 0x80D0
-
-gl_COLOR_TABLE_ALPHA_SIZE :: GLenum
-gl_COLOR_TABLE_ALPHA_SIZE = 0x80DD
-
-gl_COLOR_TABLE_BIAS :: GLenum
-gl_COLOR_TABLE_BIAS = 0x80D7
-
-gl_COLOR_TABLE_BLUE_SIZE :: GLenum
-gl_COLOR_TABLE_BLUE_SIZE = 0x80DC
-
-gl_COLOR_TABLE_FORMAT :: GLenum
-gl_COLOR_TABLE_FORMAT = 0x80D8
-
-gl_COLOR_TABLE_GREEN_SIZE :: GLenum
-gl_COLOR_TABLE_GREEN_SIZE = 0x80DB
-
-gl_COLOR_TABLE_INTENSITY_SIZE :: GLenum
-gl_COLOR_TABLE_INTENSITY_SIZE = 0x80DF
-
-gl_COLOR_TABLE_LUMINANCE_SIZE :: GLenum
-gl_COLOR_TABLE_LUMINANCE_SIZE = 0x80DE
-
-gl_COLOR_TABLE_RED_SIZE :: GLenum
-gl_COLOR_TABLE_RED_SIZE = 0x80DA
-
-gl_COLOR_TABLE_SCALE :: GLenum
-gl_COLOR_TABLE_SCALE = 0x80D6
-
-gl_COLOR_TABLE_WIDTH :: GLenum
-gl_COLOR_TABLE_WIDTH = 0x80D9
-
-gl_COMBINE :: GLenum
-gl_COMBINE = 0x8570
-
-gl_COMBINE_ALPHA :: GLenum
-gl_COMBINE_ALPHA = 0x8572
-
-gl_COMBINE_RGB :: GLenum
-gl_COMBINE_RGB = 0x8571
-
-gl_COMPARE_R_TO_TEXTURE :: GLenum
-gl_COMPARE_R_TO_TEXTURE = 0x884E
-
-gl_COMPILE :: GLenum
-gl_COMPILE = 0x1300
-
-gl_COMPILE_AND_EXECUTE :: GLenum
-gl_COMPILE_AND_EXECUTE = 0x1301
-
-gl_COMPRESSED_ALPHA :: GLenum
-gl_COMPRESSED_ALPHA = 0x84E9
-
-gl_COMPRESSED_INTENSITY :: GLenum
-gl_COMPRESSED_INTENSITY = 0x84EC
-
-gl_COMPRESSED_LUMINANCE :: GLenum
-gl_COMPRESSED_LUMINANCE = 0x84EA
-
-gl_COMPRESSED_LUMINANCE_ALPHA :: GLenum
-gl_COMPRESSED_LUMINANCE_ALPHA = 0x84EB
-
-gl_COMPRESSED_SLUMINANCE :: GLenum
-gl_COMPRESSED_SLUMINANCE = 0x8C4A
-
-gl_COMPRESSED_SLUMINANCE_ALPHA :: GLenum
-gl_COMPRESSED_SLUMINANCE_ALPHA = 0x8C4B
-
-gl_CONSTANT :: GLenum
-gl_CONSTANT = 0x8576
-
-gl_CONSTANT_ATTENUATION :: GLenum
-gl_CONSTANT_ATTENUATION = 0x1207
-
-gl_CONSTANT_BORDER :: GLenum
-gl_CONSTANT_BORDER = 0x8151
-
-gl_CONVOLUTION_1D :: GLenum
-gl_CONVOLUTION_1D = 0x8010
-
-gl_CONVOLUTION_2D :: GLenum
-gl_CONVOLUTION_2D = 0x8011
-
-gl_CONVOLUTION_BORDER_COLOR :: GLenum
-gl_CONVOLUTION_BORDER_COLOR = 0x8154
-
-gl_CONVOLUTION_BORDER_MODE :: GLenum
-gl_CONVOLUTION_BORDER_MODE = 0x8013
-
-gl_CONVOLUTION_FILTER_BIAS :: GLenum
-gl_CONVOLUTION_FILTER_BIAS = 0x8015
-
-gl_CONVOLUTION_FILTER_SCALE :: GLenum
-gl_CONVOLUTION_FILTER_SCALE = 0x8014
-
-gl_CONVOLUTION_FORMAT :: GLenum
-gl_CONVOLUTION_FORMAT = 0x8017
-
-gl_CONVOLUTION_HEIGHT :: GLenum
-gl_CONVOLUTION_HEIGHT = 0x8019
-
-gl_CONVOLUTION_WIDTH :: GLenum
-gl_CONVOLUTION_WIDTH = 0x8018
-
-gl_COORD_REPLACE :: GLenum
-gl_COORD_REPLACE = 0x8862
-
-gl_COPY_PIXEL_TOKEN :: GLenum
-gl_COPY_PIXEL_TOKEN = 0x0706
-
-gl_CURRENT_BIT :: GLbitfield
-gl_CURRENT_BIT = 0x00000001
-
-gl_CURRENT_COLOR :: GLenum
-gl_CURRENT_COLOR = 0x0B00
-
-gl_CURRENT_FOG_COORD :: GLenum
-gl_CURRENT_FOG_COORD = 0x8453
-
-gl_CURRENT_FOG_COORDINATE :: GLenum
-gl_CURRENT_FOG_COORDINATE = 0x8453
-
-gl_CURRENT_INDEX :: GLenum
-gl_CURRENT_INDEX = 0x0B01
-
-gl_CURRENT_NORMAL :: GLenum
-gl_CURRENT_NORMAL = 0x0B02
-
-gl_CURRENT_RASTER_COLOR :: GLenum
-gl_CURRENT_RASTER_COLOR = 0x0B04
-
-gl_CURRENT_RASTER_DISTANCE :: GLenum
-gl_CURRENT_RASTER_DISTANCE = 0x0B09
-
-gl_CURRENT_RASTER_INDEX :: GLenum
-gl_CURRENT_RASTER_INDEX = 0x0B05
-
-gl_CURRENT_RASTER_POSITION :: GLenum
-gl_CURRENT_RASTER_POSITION = 0x0B07
-
-gl_CURRENT_RASTER_POSITION_VALID :: GLenum
-gl_CURRENT_RASTER_POSITION_VALID = 0x0B08
-
-gl_CURRENT_RASTER_SECONDARY_COLOR :: GLenum
-gl_CURRENT_RASTER_SECONDARY_COLOR = 0x845F
-
-gl_CURRENT_RASTER_TEXTURE_COORDS :: GLenum
-gl_CURRENT_RASTER_TEXTURE_COORDS = 0x0B06
-
-gl_CURRENT_SECONDARY_COLOR :: GLenum
-gl_CURRENT_SECONDARY_COLOR = 0x8459
-
-gl_CURRENT_TEXTURE_COORDS :: GLenum
-gl_CURRENT_TEXTURE_COORDS = 0x0B03
-
-gl_DECAL :: GLenum
-gl_DECAL = 0x2101
-
-gl_DEPTH_BIAS :: GLenum
-gl_DEPTH_BIAS = 0x0D1F
-
-gl_DEPTH_BITS :: GLenum
-gl_DEPTH_BITS = 0x0D56
-
-gl_DEPTH_SCALE :: GLenum
-gl_DEPTH_SCALE = 0x0D1E
-
-gl_DEPTH_TEXTURE_MODE :: GLenum
-gl_DEPTH_TEXTURE_MODE = 0x884B
-
-gl_DIFFUSE :: GLenum
-gl_DIFFUSE = 0x1201
-
-gl_DOMAIN :: GLenum
-gl_DOMAIN = 0x0A02
-
-gl_DOT3_RGB :: GLenum
-gl_DOT3_RGB = 0x86AE
-
-gl_DOT3_RGBA :: GLenum
-gl_DOT3_RGBA = 0x86AF
-
-gl_DRAW_PIXEL_TOKEN :: GLenum
-gl_DRAW_PIXEL_TOKEN = 0x0705
-
-gl_EDGE_FLAG :: GLenum
-gl_EDGE_FLAG = 0x0B43
-
-gl_EDGE_FLAG_ARRAY :: GLenum
-gl_EDGE_FLAG_ARRAY = 0x8079
-
-gl_EDGE_FLAG_ARRAY_BUFFER_BINDING :: GLenum
-gl_EDGE_FLAG_ARRAY_BUFFER_BINDING = 0x889B
-
-gl_EDGE_FLAG_ARRAY_COUNT :: GLenum
-gl_EDGE_FLAG_ARRAY_COUNT = 0x808D
-
-gl_EDGE_FLAG_ARRAY_POINTER :: GLenum
-gl_EDGE_FLAG_ARRAY_POINTER = 0x8093
-
-gl_EDGE_FLAG_ARRAY_STRIDE :: GLenum
-gl_EDGE_FLAG_ARRAY_STRIDE = 0x808C
-
-gl_EMISSION :: GLenum
-gl_EMISSION = 0x1600
-
-gl_ENABLE_BIT :: GLbitfield
-gl_ENABLE_BIT = 0x00002000
-
-gl_EVAL_BIT :: GLbitfield
-gl_EVAL_BIT = 0x00010000
-
-gl_EXP :: GLenum
-gl_EXP = 0x0800
-
-gl_EXP2 :: GLenum
-gl_EXP2 = 0x0801
-
-gl_EYE_LINEAR :: GLenum
-gl_EYE_LINEAR = 0x2400
-
-gl_EYE_PLANE :: GLenum
-gl_EYE_PLANE = 0x2502
-
-gl_FEEDBACK :: GLenum
-gl_FEEDBACK = 0x1C01
-
-gl_FEEDBACK_BUFFER_POINTER :: GLenum
-gl_FEEDBACK_BUFFER_POINTER = 0x0DF0
-
-gl_FEEDBACK_BUFFER_SIZE :: GLenum
-gl_FEEDBACK_BUFFER_SIZE = 0x0DF1
-
-gl_FEEDBACK_BUFFER_TYPE :: GLenum
-gl_FEEDBACK_BUFFER_TYPE = 0x0DF2
-
-gl_FLAT :: GLenum
-gl_FLAT = 0x1D00
-
-gl_FOG :: GLenum
-gl_FOG = 0x0B60
-
-gl_FOG_BIT :: GLbitfield
-gl_FOG_BIT = 0x00000080
-
-gl_FOG_COLOR :: GLenum
-gl_FOG_COLOR = 0x0B66
-
-gl_FOG_COORD :: GLenum
-gl_FOG_COORD = 0x8451
-
-gl_FOG_COORDINATE :: GLenum
-gl_FOG_COORDINATE = 0x8451
-
-gl_FOG_COORDINATE_ARRAY :: GLenum
-gl_FOG_COORDINATE_ARRAY = 0x8457
-
-gl_FOG_COORDINATE_ARRAY_BUFFER_BINDING :: GLenum
-gl_FOG_COORDINATE_ARRAY_BUFFER_BINDING = 0x889D
-
-gl_FOG_COORDINATE_ARRAY_POINTER :: GLenum
-gl_FOG_COORDINATE_ARRAY_POINTER = 0x8456
-
-gl_FOG_COORDINATE_ARRAY_STRIDE :: GLenum
-gl_FOG_COORDINATE_ARRAY_STRIDE = 0x8455
-
-gl_FOG_COORDINATE_ARRAY_TYPE :: GLenum
-gl_FOG_COORDINATE_ARRAY_TYPE = 0x8454
-
-gl_FOG_COORDINATE_SOURCE :: GLenum
-gl_FOG_COORDINATE_SOURCE = 0x8450
-
-gl_FOG_COORD_ARRAY :: GLenum
-gl_FOG_COORD_ARRAY = 0x8457
-
-gl_FOG_COORD_ARRAY_BUFFER_BINDING :: GLenum
-gl_FOG_COORD_ARRAY_BUFFER_BINDING = 0x889D
-
-gl_FOG_COORD_ARRAY_POINTER :: GLenum
-gl_FOG_COORD_ARRAY_POINTER = 0x8456
-
-gl_FOG_COORD_ARRAY_STRIDE :: GLenum
-gl_FOG_COORD_ARRAY_STRIDE = 0x8455
-
-gl_FOG_COORD_ARRAY_TYPE :: GLenum
-gl_FOG_COORD_ARRAY_TYPE = 0x8454
-
-gl_FOG_COORD_SRC :: GLenum
-gl_FOG_COORD_SRC = 0x8450
-
-gl_FOG_DENSITY :: GLenum
-gl_FOG_DENSITY = 0x0B62
-
-gl_FOG_END :: GLenum
-gl_FOG_END = 0x0B64
-
-gl_FOG_HINT :: GLenum
-gl_FOG_HINT = 0x0C54
-
-gl_FOG_INDEX :: GLenum
-gl_FOG_INDEX = 0x0B61
-
-gl_FOG_MODE :: GLenum
-gl_FOG_MODE = 0x0B65
-
-gl_FOG_START :: GLenum
-gl_FOG_START = 0x0B63
-
-gl_FRAGMENT_DEPTH :: GLenum
-gl_FRAGMENT_DEPTH = 0x8452
-
-gl_GENERATE_MIPMAP :: GLenum
-gl_GENERATE_MIPMAP = 0x8191
-
-gl_GENERATE_MIPMAP_HINT :: GLenum
-gl_GENERATE_MIPMAP_HINT = 0x8192
-
-gl_GREEN_BIAS :: GLenum
-gl_GREEN_BIAS = 0x0D19
-
-gl_GREEN_BITS :: GLenum
-gl_GREEN_BITS = 0x0D53
-
-gl_GREEN_SCALE :: GLenum
-gl_GREEN_SCALE = 0x0D18
-
-gl_HINT_BIT :: GLbitfield
-gl_HINT_BIT = 0x00008000
-
-gl_HISTOGRAM :: GLenum
-gl_HISTOGRAM = 0x8024
-
-gl_HISTOGRAM_ALPHA_SIZE :: GLenum
-gl_HISTOGRAM_ALPHA_SIZE = 0x802B
-
-gl_HISTOGRAM_BLUE_SIZE :: GLenum
-gl_HISTOGRAM_BLUE_SIZE = 0x802A
-
-gl_HISTOGRAM_FORMAT :: GLenum
-gl_HISTOGRAM_FORMAT = 0x8027
-
-gl_HISTOGRAM_GREEN_SIZE :: GLenum
-gl_HISTOGRAM_GREEN_SIZE = 0x8029
-
-gl_HISTOGRAM_LUMINANCE_SIZE :: GLenum
-gl_HISTOGRAM_LUMINANCE_SIZE = 0x802C
-
-gl_HISTOGRAM_RED_SIZE :: GLenum
-gl_HISTOGRAM_RED_SIZE = 0x8028
-
-gl_HISTOGRAM_SINK :: GLenum
-gl_HISTOGRAM_SINK = 0x802D
-
-gl_HISTOGRAM_WIDTH :: GLenum
-gl_HISTOGRAM_WIDTH = 0x8026
-
-gl_INDEX :: GLenum
-gl_INDEX = 0x8222
-
-gl_INDEX_ARRAY :: GLenum
-gl_INDEX_ARRAY = 0x8077
-
-gl_INDEX_ARRAY_BUFFER_BINDING :: GLenum
-gl_INDEX_ARRAY_BUFFER_BINDING = 0x8899
-
-gl_INDEX_ARRAY_COUNT :: GLenum
-gl_INDEX_ARRAY_COUNT = 0x8087
-
-gl_INDEX_ARRAY_POINTER :: GLenum
-gl_INDEX_ARRAY_POINTER = 0x8091
-
-gl_INDEX_ARRAY_STRIDE :: GLenum
-gl_INDEX_ARRAY_STRIDE = 0x8086
-
-gl_INDEX_ARRAY_TYPE :: GLenum
-gl_INDEX_ARRAY_TYPE = 0x8085
-
-gl_INDEX_BITS :: GLenum
-gl_INDEX_BITS = 0x0D51
-
-gl_INDEX_CLEAR_VALUE :: GLenum
-gl_INDEX_CLEAR_VALUE = 0x0C20
-
-gl_INDEX_LOGIC_OP :: GLenum
-gl_INDEX_LOGIC_OP = 0x0BF1
-
-gl_INDEX_MODE :: GLenum
-gl_INDEX_MODE = 0x0C30
-
-gl_INDEX_OFFSET :: GLenum
-gl_INDEX_OFFSET = 0x0D13
-
-gl_INDEX_SHIFT :: GLenum
-gl_INDEX_SHIFT = 0x0D12
-
-gl_INDEX_WRITEMASK :: GLenum
-gl_INDEX_WRITEMASK = 0x0C21
-
-gl_INTENSITY :: GLenum
-gl_INTENSITY = 0x8049
-
-gl_INTENSITY12 :: GLenum
-gl_INTENSITY12 = 0x804C
-
-gl_INTENSITY16 :: GLenum
-gl_INTENSITY16 = 0x804D
-
-gl_INTENSITY4 :: GLenum
-gl_INTENSITY4 = 0x804A
-
-gl_INTENSITY8 :: GLenum
-gl_INTENSITY8 = 0x804B
-
-gl_INTERPOLATE :: GLenum
-gl_INTERPOLATE = 0x8575
-
-gl_LIGHT0 :: GLenum
-gl_LIGHT0 = 0x4000
-
-gl_LIGHT1 :: GLenum
-gl_LIGHT1 = 0x4001
-
-gl_LIGHT2 :: GLenum
-gl_LIGHT2 = 0x4002
-
-gl_LIGHT3 :: GLenum
-gl_LIGHT3 = 0x4003
-
-gl_LIGHT4 :: GLenum
-gl_LIGHT4 = 0x4004
-
-gl_LIGHT5 :: GLenum
-gl_LIGHT5 = 0x4005
-
-gl_LIGHT6 :: GLenum
-gl_LIGHT6 = 0x4006
-
-gl_LIGHT7 :: GLenum
-gl_LIGHT7 = 0x4007
-
-gl_LIGHTING :: GLenum
-gl_LIGHTING = 0x0B50
-
-gl_LIGHTING_BIT :: GLbitfield
-gl_LIGHTING_BIT = 0x00000040
-
-gl_LIGHT_MODEL_AMBIENT :: GLenum
-gl_LIGHT_MODEL_AMBIENT = 0x0B53
-
-gl_LIGHT_MODEL_COLOR_CONTROL :: GLenum
-gl_LIGHT_MODEL_COLOR_CONTROL = 0x81F8
-
-gl_LIGHT_MODEL_LOCAL_VIEWER :: GLenum
-gl_LIGHT_MODEL_LOCAL_VIEWER = 0x0B51
-
-gl_LIGHT_MODEL_TWO_SIDE :: GLenum
-gl_LIGHT_MODEL_TWO_SIDE = 0x0B52
-
-gl_LINEAR_ATTENUATION :: GLenum
-gl_LINEAR_ATTENUATION = 0x1208
-
-gl_LINE_BIT :: GLbitfield
-gl_LINE_BIT = 0x00000004
-
-gl_LINE_RESET_TOKEN :: GLenum
-gl_LINE_RESET_TOKEN = 0x0707
-
-gl_LINE_STIPPLE :: GLenum
-gl_LINE_STIPPLE = 0x0B24
-
-gl_LINE_STIPPLE_PATTERN :: GLenum
-gl_LINE_STIPPLE_PATTERN = 0x0B25
-
-gl_LINE_STIPPLE_REPEAT :: GLenum
-gl_LINE_STIPPLE_REPEAT = 0x0B26
-
-gl_LINE_TOKEN :: GLenum
-gl_LINE_TOKEN = 0x0702
-
-gl_LIST_BASE :: GLenum
-gl_LIST_BASE = 0x0B32
-
-gl_LIST_BIT :: GLbitfield
-gl_LIST_BIT = 0x00020000
-
-gl_LIST_INDEX :: GLenum
-gl_LIST_INDEX = 0x0B33
-
-gl_LIST_MODE :: GLenum
-gl_LIST_MODE = 0x0B30
-
-gl_LOAD :: GLenum
-gl_LOAD = 0x0101
-
-gl_LOGIC_OP :: GLenum
-gl_LOGIC_OP = 0x0BF1
-
-gl_LUMINANCE :: GLenum
-gl_LUMINANCE = 0x1909
-
-gl_LUMINANCE12 :: GLenum
-gl_LUMINANCE12 = 0x8041
-
-gl_LUMINANCE12_ALPHA12 :: GLenum
-gl_LUMINANCE12_ALPHA12 = 0x8047
-
-gl_LUMINANCE12_ALPHA4 :: GLenum
-gl_LUMINANCE12_ALPHA4 = 0x8046
-
-gl_LUMINANCE16 :: GLenum
-gl_LUMINANCE16 = 0x8042
-
-gl_LUMINANCE16_ALPHA16 :: GLenum
-gl_LUMINANCE16_ALPHA16 = 0x8048
-
-gl_LUMINANCE4 :: GLenum
-gl_LUMINANCE4 = 0x803F
-
-gl_LUMINANCE4_ALPHA4 :: GLenum
-gl_LUMINANCE4_ALPHA4 = 0x8043
-
-gl_LUMINANCE6_ALPHA2 :: GLenum
-gl_LUMINANCE6_ALPHA2 = 0x8044
-
-gl_LUMINANCE8 :: GLenum
-gl_LUMINANCE8 = 0x8040
-
-gl_LUMINANCE8_ALPHA8 :: GLenum
-gl_LUMINANCE8_ALPHA8 = 0x8045
-
-gl_LUMINANCE_ALPHA :: GLenum
-gl_LUMINANCE_ALPHA = 0x190A
-
-gl_MAP1_COLOR_4 :: GLenum
-gl_MAP1_COLOR_4 = 0x0D90
-
-gl_MAP1_GRID_DOMAIN :: GLenum
-gl_MAP1_GRID_DOMAIN = 0x0DD0
-
-gl_MAP1_GRID_SEGMENTS :: GLenum
-gl_MAP1_GRID_SEGMENTS = 0x0DD1
-
-gl_MAP1_INDEX :: GLenum
-gl_MAP1_INDEX = 0x0D91
-
-gl_MAP1_NORMAL :: GLenum
-gl_MAP1_NORMAL = 0x0D92
-
-gl_MAP1_TEXTURE_COORD_1 :: GLenum
-gl_MAP1_TEXTURE_COORD_1 = 0x0D93
-
-gl_MAP1_TEXTURE_COORD_2 :: GLenum
-gl_MAP1_TEXTURE_COORD_2 = 0x0D94
-
-gl_MAP1_TEXTURE_COORD_3 :: GLenum
-gl_MAP1_TEXTURE_COORD_3 = 0x0D95
-
-gl_MAP1_TEXTURE_COORD_4 :: GLenum
-gl_MAP1_TEXTURE_COORD_4 = 0x0D96
-
-gl_MAP1_VERTEX_3 :: GLenum
-gl_MAP1_VERTEX_3 = 0x0D97
-
-gl_MAP1_VERTEX_4 :: GLenum
-gl_MAP1_VERTEX_4 = 0x0D98
-
-gl_MAP2_COLOR_4 :: GLenum
-gl_MAP2_COLOR_4 = 0x0DB0
-
-gl_MAP2_GRID_DOMAIN :: GLenum
-gl_MAP2_GRID_DOMAIN = 0x0DD2
-
-gl_MAP2_GRID_SEGMENTS :: GLenum
-gl_MAP2_GRID_SEGMENTS = 0x0DD3
-
-gl_MAP2_INDEX :: GLenum
-gl_MAP2_INDEX = 0x0DB1
-
-gl_MAP2_NORMAL :: GLenum
-gl_MAP2_NORMAL = 0x0DB2
-
-gl_MAP2_TEXTURE_COORD_1 :: GLenum
-gl_MAP2_TEXTURE_COORD_1 = 0x0DB3
-
-gl_MAP2_TEXTURE_COORD_2 :: GLenum
-gl_MAP2_TEXTURE_COORD_2 = 0x0DB4
-
-gl_MAP2_TEXTURE_COORD_3 :: GLenum
-gl_MAP2_TEXTURE_COORD_3 = 0x0DB5
-
-gl_MAP2_TEXTURE_COORD_4 :: GLenum
-gl_MAP2_TEXTURE_COORD_4 = 0x0DB6
-
-gl_MAP2_VERTEX_3 :: GLenum
-gl_MAP2_VERTEX_3 = 0x0DB7
-
-gl_MAP2_VERTEX_4 :: GLenum
-gl_MAP2_VERTEX_4 = 0x0DB8
-
-gl_MAP_COLOR :: GLenum
-gl_MAP_COLOR = 0x0D10
-
-gl_MAP_STENCIL :: GLenum
-gl_MAP_STENCIL = 0x0D11
-
-gl_MATRIX_MODE :: GLenum
-gl_MATRIX_MODE = 0x0BA0
-
-gl_MAX_ATTRIB_STACK_DEPTH :: GLenum
-gl_MAX_ATTRIB_STACK_DEPTH = 0x0D35
-
-gl_MAX_CLIENT_ATTRIB_STACK_DEPTH :: GLenum
-gl_MAX_CLIENT_ATTRIB_STACK_DEPTH = 0x0D3B
-
-gl_MAX_CLIP_PLANES :: GLenum
-gl_MAX_CLIP_PLANES = 0x0D32
-
-gl_MAX_COLOR_MATRIX_STACK_DEPTH :: GLenum
-gl_MAX_COLOR_MATRIX_STACK_DEPTH = 0x80B3
-
-gl_MAX_CONVOLUTION_HEIGHT :: GLenum
-gl_MAX_CONVOLUTION_HEIGHT = 0x801B
-
-gl_MAX_CONVOLUTION_WIDTH :: GLenum
-gl_MAX_CONVOLUTION_WIDTH = 0x801A
-
-gl_MAX_EVAL_ORDER :: GLenum
-gl_MAX_EVAL_ORDER = 0x0D30
-
-gl_MAX_LIGHTS :: GLenum
-gl_MAX_LIGHTS = 0x0D31
-
-gl_MAX_LIST_NESTING :: GLenum
-gl_MAX_LIST_NESTING = 0x0B31
-
-gl_MAX_MODELVIEW_STACK_DEPTH :: GLenum
-gl_MAX_MODELVIEW_STACK_DEPTH = 0x0D36
-
-gl_MAX_NAME_STACK_DEPTH :: GLenum
-gl_MAX_NAME_STACK_DEPTH = 0x0D37
-
-gl_MAX_PIXEL_MAP_TABLE :: GLenum
-gl_MAX_PIXEL_MAP_TABLE = 0x0D34
-
-gl_MAX_PROJECTION_STACK_DEPTH :: GLenum
-gl_MAX_PROJECTION_STACK_DEPTH = 0x0D38
-
-gl_MAX_TEXTURE_COORDS :: GLenum
-gl_MAX_TEXTURE_COORDS = 0x8871
-
-gl_MAX_TEXTURE_STACK_DEPTH :: GLenum
-gl_MAX_TEXTURE_STACK_DEPTH = 0x0D39
-
-gl_MAX_TEXTURE_UNITS :: GLenum
-gl_MAX_TEXTURE_UNITS = 0x84E2
-
-gl_MINMAX :: GLenum
-gl_MINMAX = 0x802E
-
-gl_MINMAX_FORMAT :: GLenum
-gl_MINMAX_FORMAT = 0x802F
-
-gl_MINMAX_SINK :: GLenum
-gl_MINMAX_SINK = 0x8030
-
-gl_MODELVIEW :: GLenum
-gl_MODELVIEW = 0x1700
-
-gl_MODELVIEW_MATRIX :: GLenum
-gl_MODELVIEW_MATRIX = 0x0BA6
-
-gl_MODELVIEW_STACK_DEPTH :: GLenum
-gl_MODELVIEW_STACK_DEPTH = 0x0BA3
-
-gl_MODULATE :: GLenum
-gl_MODULATE = 0x2100
-
-gl_MULT :: GLenum
-gl_MULT = 0x0103
-
-gl_MULTISAMPLE_BIT :: GLbitfield
-gl_MULTISAMPLE_BIT = 0x20000000
-
-gl_N3F_V3F :: GLenum
-gl_N3F_V3F = 0x2A25
-
-gl_NAME_STACK_DEPTH :: GLenum
-gl_NAME_STACK_DEPTH = 0x0D70
-
-gl_NORMALIZE :: GLenum
-gl_NORMALIZE = 0x0BA1
-
-gl_NORMAL_ARRAY :: GLenum
-gl_NORMAL_ARRAY = 0x8075
-
-gl_NORMAL_ARRAY_BUFFER_BINDING :: GLenum
-gl_NORMAL_ARRAY_BUFFER_BINDING = 0x8897
-
-gl_NORMAL_ARRAY_COUNT :: GLenum
-gl_NORMAL_ARRAY_COUNT = 0x8080
-
-gl_NORMAL_ARRAY_POINTER :: GLenum
-gl_NORMAL_ARRAY_POINTER = 0x808F
-
-gl_NORMAL_ARRAY_STRIDE :: GLenum
-gl_NORMAL_ARRAY_STRIDE = 0x807F
-
-gl_NORMAL_ARRAY_TYPE :: GLenum
-gl_NORMAL_ARRAY_TYPE = 0x807E
-
-gl_NORMAL_MAP :: GLenum
-gl_NORMAL_MAP = 0x8511
-
-gl_OBJECT_LINEAR :: GLenum
-gl_OBJECT_LINEAR = 0x2401
-
-gl_OBJECT_PLANE :: GLenum
-gl_OBJECT_PLANE = 0x2501
-
-gl_OPERAND0_ALPHA :: GLenum
-gl_OPERAND0_ALPHA = 0x8598
-
-gl_OPERAND0_RGB :: GLenum
-gl_OPERAND0_RGB = 0x8590
-
-gl_OPERAND1_ALPHA :: GLenum
-gl_OPERAND1_ALPHA = 0x8599
-
-gl_OPERAND1_RGB :: GLenum
-gl_OPERAND1_RGB = 0x8591
-
-gl_OPERAND2_ALPHA :: GLenum
-gl_OPERAND2_ALPHA = 0x859A
-
-gl_OPERAND2_RGB :: GLenum
-gl_OPERAND2_RGB = 0x8592
-
-gl_ORDER :: GLenum
-gl_ORDER = 0x0A01
-
-gl_PASS_THROUGH_TOKEN :: GLenum
-gl_PASS_THROUGH_TOKEN = 0x0700
-
-gl_PERSPECTIVE_CORRECTION_HINT :: GLenum
-gl_PERSPECTIVE_CORRECTION_HINT = 0x0C50
-
-gl_PIXEL_MAP_A_TO_A :: GLenum
-gl_PIXEL_MAP_A_TO_A = 0x0C79
-
-gl_PIXEL_MAP_A_TO_A_SIZE :: GLenum
-gl_PIXEL_MAP_A_TO_A_SIZE = 0x0CB9
-
-gl_PIXEL_MAP_B_TO_B :: GLenum
-gl_PIXEL_MAP_B_TO_B = 0x0C78
-
-gl_PIXEL_MAP_B_TO_B_SIZE :: GLenum
-gl_PIXEL_MAP_B_TO_B_SIZE = 0x0CB8
-
-gl_PIXEL_MAP_G_TO_G :: GLenum
-gl_PIXEL_MAP_G_TO_G = 0x0C77
-
-gl_PIXEL_MAP_G_TO_G_SIZE :: GLenum
-gl_PIXEL_MAP_G_TO_G_SIZE = 0x0CB7
-
-gl_PIXEL_MAP_I_TO_A :: GLenum
-gl_PIXEL_MAP_I_TO_A = 0x0C75
-
-gl_PIXEL_MAP_I_TO_A_SIZE :: GLenum
-gl_PIXEL_MAP_I_TO_A_SIZE = 0x0CB5
-
-gl_PIXEL_MAP_I_TO_B :: GLenum
-gl_PIXEL_MAP_I_TO_B = 0x0C74
-
-gl_PIXEL_MAP_I_TO_B_SIZE :: GLenum
-gl_PIXEL_MAP_I_TO_B_SIZE = 0x0CB4
-
-gl_PIXEL_MAP_I_TO_G :: GLenum
-gl_PIXEL_MAP_I_TO_G = 0x0C73
-
-gl_PIXEL_MAP_I_TO_G_SIZE :: GLenum
-gl_PIXEL_MAP_I_TO_G_SIZE = 0x0CB3
-
-gl_PIXEL_MAP_I_TO_I :: GLenum
-gl_PIXEL_MAP_I_TO_I = 0x0C70
-
-gl_PIXEL_MAP_I_TO_I_SIZE :: GLenum
-gl_PIXEL_MAP_I_TO_I_SIZE = 0x0CB0
-
-gl_PIXEL_MAP_I_TO_R :: GLenum
-gl_PIXEL_MAP_I_TO_R = 0x0C72
-
-gl_PIXEL_MAP_I_TO_R_SIZE :: GLenum
-gl_PIXEL_MAP_I_TO_R_SIZE = 0x0CB2
-
-gl_PIXEL_MAP_R_TO_R :: GLenum
-gl_PIXEL_MAP_R_TO_R = 0x0C76
-
-gl_PIXEL_MAP_R_TO_R_SIZE :: GLenum
-gl_PIXEL_MAP_R_TO_R_SIZE = 0x0CB6
-
-gl_PIXEL_MAP_S_TO_S :: GLenum
-gl_PIXEL_MAP_S_TO_S = 0x0C71
-
-gl_PIXEL_MAP_S_TO_S_SIZE :: GLenum
-gl_PIXEL_MAP_S_TO_S_SIZE = 0x0CB1
-
-gl_PIXEL_MODE_BIT :: GLbitfield
-gl_PIXEL_MODE_BIT = 0x00000020
-
-gl_POINT_BIT :: GLbitfield
-gl_POINT_BIT = 0x00000002
-
-gl_POINT_DISTANCE_ATTENUATION :: GLenum
-gl_POINT_DISTANCE_ATTENUATION = 0x8129
-
-gl_POINT_SIZE_MAX :: GLenum
-gl_POINT_SIZE_MAX = 0x8127
-
-gl_POINT_SIZE_MIN :: GLenum
-gl_POINT_SIZE_MIN = 0x8126
-
-gl_POINT_SMOOTH :: GLenum
-gl_POINT_SMOOTH = 0x0B10
-
-gl_POINT_SMOOTH_HINT :: GLenum
-gl_POINT_SMOOTH_HINT = 0x0C51
-
-gl_POINT_SPRITE :: GLenum
-gl_POINT_SPRITE = 0x8861
-
-gl_POINT_TOKEN :: GLenum
-gl_POINT_TOKEN = 0x0701
-
-gl_POLYGON :: GLenum
-gl_POLYGON = 0x0009
-
-gl_POLYGON_BIT :: GLbitfield
-gl_POLYGON_BIT = 0x00000008
-
-gl_POLYGON_MODE :: GLenum
-gl_POLYGON_MODE = 0x0B40
-
-gl_POLYGON_STIPPLE :: GLenum
-gl_POLYGON_STIPPLE = 0x0B42
-
-gl_POLYGON_STIPPLE_BIT :: GLbitfield
-gl_POLYGON_STIPPLE_BIT = 0x00000010
-
-gl_POLYGON_TOKEN :: GLenum
-gl_POLYGON_TOKEN = 0x0703
-
-gl_POSITION :: GLenum
-gl_POSITION = 0x1203
-
-gl_POST_COLOR_MATRIX_ALPHA_BIAS :: GLenum
-gl_POST_COLOR_MATRIX_ALPHA_BIAS = 0x80BB
-
-gl_POST_COLOR_MATRIX_ALPHA_SCALE :: GLenum
-gl_POST_COLOR_MATRIX_ALPHA_SCALE = 0x80B7
-
-gl_POST_COLOR_MATRIX_BLUE_BIAS :: GLenum
-gl_POST_COLOR_MATRIX_BLUE_BIAS = 0x80BA
-
-gl_POST_COLOR_MATRIX_BLUE_SCALE :: GLenum
-gl_POST_COLOR_MATRIX_BLUE_SCALE = 0x80B6
-
-gl_POST_COLOR_MATRIX_COLOR_TABLE :: GLenum
-gl_POST_COLOR_MATRIX_COLOR_TABLE = 0x80D2
-
-gl_POST_COLOR_MATRIX_GREEN_BIAS :: GLenum
-gl_POST_COLOR_MATRIX_GREEN_BIAS = 0x80B9
-
-gl_POST_COLOR_MATRIX_GREEN_SCALE :: GLenum
-gl_POST_COLOR_MATRIX_GREEN_SCALE = 0x80B5
-
-gl_POST_COLOR_MATRIX_RED_BIAS :: GLenum
-gl_POST_COLOR_MATRIX_RED_BIAS = 0x80B8
-
-gl_POST_COLOR_MATRIX_RED_SCALE :: GLenum
-gl_POST_COLOR_MATRIX_RED_SCALE = 0x80B4
-
-gl_POST_CONVOLUTION_ALPHA_BIAS :: GLenum
-gl_POST_CONVOLUTION_ALPHA_BIAS = 0x8023
-
-gl_POST_CONVOLUTION_ALPHA_SCALE :: GLenum
-gl_POST_CONVOLUTION_ALPHA_SCALE = 0x801F
-
-gl_POST_CONVOLUTION_BLUE_BIAS :: GLenum
-gl_POST_CONVOLUTION_BLUE_BIAS = 0x8022
-
-gl_POST_CONVOLUTION_BLUE_SCALE :: GLenum
-gl_POST_CONVOLUTION_BLUE_SCALE = 0x801E
-
-gl_POST_CONVOLUTION_COLOR_TABLE :: GLenum
-gl_POST_CONVOLUTION_COLOR_TABLE = 0x80D1
-
-gl_POST_CONVOLUTION_GREEN_BIAS :: GLenum
-gl_POST_CONVOLUTION_GREEN_BIAS = 0x8021
-
-gl_POST_CONVOLUTION_GREEN_SCALE :: GLenum
-gl_POST_CONVOLUTION_GREEN_SCALE = 0x801D
-
-gl_POST_CONVOLUTION_RED_BIAS :: GLenum
-gl_POST_CONVOLUTION_RED_BIAS = 0x8020
-
-gl_POST_CONVOLUTION_RED_SCALE :: GLenum
-gl_POST_CONVOLUTION_RED_SCALE = 0x801C
-
-gl_PREVIOUS :: GLenum
-gl_PREVIOUS = 0x8578
-
-gl_PRIMARY_COLOR :: GLenum
-gl_PRIMARY_COLOR = 0x8577
-
-gl_PROJECTION :: GLenum
-gl_PROJECTION = 0x1701
-
-gl_PROJECTION_MATRIX :: GLenum
-gl_PROJECTION_MATRIX = 0x0BA7
-
-gl_PROJECTION_STACK_DEPTH :: GLenum
-gl_PROJECTION_STACK_DEPTH = 0x0BA4
-
-gl_PROXY_COLOR_TABLE :: GLenum
-gl_PROXY_COLOR_TABLE = 0x80D3
-
-gl_PROXY_HISTOGRAM :: GLenum
-gl_PROXY_HISTOGRAM = 0x8025
-
-gl_PROXY_POST_COLOR_MATRIX_COLOR_TABLE :: GLenum
-gl_PROXY_POST_COLOR_MATRIX_COLOR_TABLE = 0x80D5
-
-gl_PROXY_POST_CONVOLUTION_COLOR_TABLE :: GLenum
-gl_PROXY_POST_CONVOLUTION_COLOR_TABLE = 0x80D4
-
-gl_Q :: GLenum
-gl_Q = 0x2003
-
-gl_QUADRATIC_ATTENUATION :: GLenum
-gl_QUADRATIC_ATTENUATION = 0x1209
-
-gl_QUADS :: GLenum
-gl_QUADS = 0x0007
-
-gl_QUAD_STRIP :: GLenum
-gl_QUAD_STRIP = 0x0008
-
-gl_R :: GLenum
-gl_R = 0x2002
-
-gl_REDUCE :: GLenum
-gl_REDUCE = 0x8016
-
-gl_RED_BIAS :: GLenum
-gl_RED_BIAS = 0x0D15
-
-gl_RED_BITS :: GLenum
-gl_RED_BITS = 0x0D52
-
-gl_RED_SCALE :: GLenum
-gl_RED_SCALE = 0x0D14
-
-gl_REFLECTION_MAP :: GLenum
-gl_REFLECTION_MAP = 0x8512
-
-gl_RENDER :: GLenum
-gl_RENDER = 0x1C00
-
-gl_RENDER_MODE :: GLenum
-gl_RENDER_MODE = 0x0C40
-
-gl_REPLICATE_BORDER :: GLenum
-gl_REPLICATE_BORDER = 0x8153
-
-gl_RESCALE_NORMAL :: GLenum
-gl_RESCALE_NORMAL = 0x803A
-
-gl_RETURN :: GLenum
-gl_RETURN = 0x0102
-
-gl_RGBA_MODE :: GLenum
-gl_RGBA_MODE = 0x0C31
-
-gl_RGB_SCALE :: GLenum
-gl_RGB_SCALE = 0x8573
-
-gl_S :: GLenum
-gl_S = 0x2000
-
-gl_SCISSOR_BIT :: GLbitfield
-gl_SCISSOR_BIT = 0x00080000
-
-gl_SECONDARY_COLOR_ARRAY :: GLenum
-gl_SECONDARY_COLOR_ARRAY = 0x845E
-
-gl_SECONDARY_COLOR_ARRAY_BUFFER_BINDING :: GLenum
-gl_SECONDARY_COLOR_ARRAY_BUFFER_BINDING = 0x889C
-
-gl_SECONDARY_COLOR_ARRAY_POINTER :: GLenum
-gl_SECONDARY_COLOR_ARRAY_POINTER = 0x845D
-
-gl_SECONDARY_COLOR_ARRAY_SIZE :: GLenum
-gl_SECONDARY_COLOR_ARRAY_SIZE = 0x845A
-
-gl_SECONDARY_COLOR_ARRAY_STRIDE :: GLenum
-gl_SECONDARY_COLOR_ARRAY_STRIDE = 0x845C
-
-gl_SECONDARY_COLOR_ARRAY_TYPE :: GLenum
-gl_SECONDARY_COLOR_ARRAY_TYPE = 0x845B
-
-gl_SELECT :: GLenum
-gl_SELECT = 0x1C02
-
-gl_SELECTION_BUFFER_POINTER :: GLenum
-gl_SELECTION_BUFFER_POINTER = 0x0DF3
-
-gl_SELECTION_BUFFER_SIZE :: GLenum
-gl_SELECTION_BUFFER_SIZE = 0x0DF4
-
-gl_SEPARABLE_2D :: GLenum
-gl_SEPARABLE_2D = 0x8012
-
-gl_SEPARATE_SPECULAR_COLOR :: GLenum
-gl_SEPARATE_SPECULAR_COLOR = 0x81FA
-
-gl_SHADE_MODEL :: GLenum
-gl_SHADE_MODEL = 0x0B54
-
-gl_SHININESS :: GLenum
-gl_SHININESS = 0x1601
-
-gl_SINGLE_COLOR :: GLenum
-gl_SINGLE_COLOR = 0x81F9
-
-gl_SLUMINANCE :: GLenum
-gl_SLUMINANCE = 0x8C46
-
-gl_SLUMINANCE8 :: GLenum
-gl_SLUMINANCE8 = 0x8C47
-
-gl_SLUMINANCE8_ALPHA8 :: GLenum
-gl_SLUMINANCE8_ALPHA8 = 0x8C45
-
-gl_SLUMINANCE_ALPHA :: GLenum
-gl_SLUMINANCE_ALPHA = 0x8C44
-
-gl_SMOOTH :: GLenum
-gl_SMOOTH = 0x1D01
-
-gl_SOURCE0_ALPHA :: GLenum
-gl_SOURCE0_ALPHA = 0x8588
-
-gl_SOURCE0_RGB :: GLenum
-gl_SOURCE0_RGB = 0x8580
-
-gl_SOURCE1_ALPHA :: GLenum
-gl_SOURCE1_ALPHA = 0x8589
-
-gl_SOURCE1_RGB :: GLenum
-gl_SOURCE1_RGB = 0x8581
-
-gl_SOURCE2_ALPHA :: GLenum
-gl_SOURCE2_ALPHA = 0x858A
-
-gl_SOURCE2_RGB :: GLenum
-gl_SOURCE2_RGB = 0x8582
-
-gl_SPECULAR :: GLenum
-gl_SPECULAR = 0x1202
-
-gl_SPHERE_MAP :: GLenum
-gl_SPHERE_MAP = 0x2402
-
-gl_SPOT_CUTOFF :: GLenum
-gl_SPOT_CUTOFF = 0x1206
-
-gl_SPOT_DIRECTION :: GLenum
-gl_SPOT_DIRECTION = 0x1204
-
-gl_SPOT_EXPONENT :: GLenum
-gl_SPOT_EXPONENT = 0x1205
-
-gl_SRC0_ALPHA :: GLenum
-gl_SRC0_ALPHA = 0x8588
-
-gl_SRC0_RGB :: GLenum
-gl_SRC0_RGB = 0x8580
-
-gl_SRC1_ALPHA :: GLenum
-gl_SRC1_ALPHA = 0x8589
-
-gl_SRC1_RGB :: GLenum
-gl_SRC1_RGB = 0x8581
-
-gl_SRC2_ALPHA :: GLenum
-gl_SRC2_ALPHA = 0x858A
-
-gl_SRC2_RGB :: GLenum
-gl_SRC2_RGB = 0x8582
-
-gl_STACK_OVERFLOW :: GLenum
-gl_STACK_OVERFLOW = 0x0503
-
-gl_STACK_UNDERFLOW :: GLenum
-gl_STACK_UNDERFLOW = 0x0504
-
-gl_STENCIL_BITS :: GLenum
-gl_STENCIL_BITS = 0x0D57
-
-gl_SUBTRACT :: GLenum
-gl_SUBTRACT = 0x84E7
-
-gl_T :: GLenum
-gl_T = 0x2001
-
-gl_T2F_C3F_V3F :: GLenum
-gl_T2F_C3F_V3F = 0x2A2A
-
-gl_T2F_C4F_N3F_V3F :: GLenum
-gl_T2F_C4F_N3F_V3F = 0x2A2C
-
-gl_T2F_C4UB_V3F :: GLenum
-gl_T2F_C4UB_V3F = 0x2A29
-
-gl_T2F_N3F_V3F :: GLenum
-gl_T2F_N3F_V3F = 0x2A2B
-
-gl_T2F_V3F :: GLenum
-gl_T2F_V3F = 0x2A27
-
-gl_T4F_C4F_N3F_V4F :: GLenum
-gl_T4F_C4F_N3F_V4F = 0x2A2D
-
-gl_T4F_V4F :: GLenum
-gl_T4F_V4F = 0x2A28
-
-gl_TABLE_TOO_LARGE :: GLenum
-gl_TABLE_TOO_LARGE = 0x8031
-
-gl_TEXTURE_BIT :: GLbitfield
-gl_TEXTURE_BIT = 0x00040000
-
-gl_TEXTURE_COMPONENTS :: GLenum
-gl_TEXTURE_COMPONENTS = 0x1003
-
-gl_TEXTURE_COORD_ARRAY :: GLenum
-gl_TEXTURE_COORD_ARRAY = 0x8078
-
-gl_TEXTURE_COORD_ARRAY_BUFFER_BINDING :: GLenum
-gl_TEXTURE_COORD_ARRAY_BUFFER_BINDING = 0x889A
-
-gl_TEXTURE_COORD_ARRAY_COUNT :: GLenum
-gl_TEXTURE_COORD_ARRAY_COUNT = 0x808B
-
-gl_TEXTURE_COORD_ARRAY_POINTER :: GLenum
-gl_TEXTURE_COORD_ARRAY_POINTER = 0x8092
-
-gl_TEXTURE_COORD_ARRAY_SIZE :: GLenum
-gl_TEXTURE_COORD_ARRAY_SIZE = 0x8088
-
-gl_TEXTURE_COORD_ARRAY_STRIDE :: GLenum
-gl_TEXTURE_COORD_ARRAY_STRIDE = 0x808A
-
-gl_TEXTURE_COORD_ARRAY_TYPE :: GLenum
-gl_TEXTURE_COORD_ARRAY_TYPE = 0x8089
-
-gl_TEXTURE_ENV :: GLenum
-gl_TEXTURE_ENV = 0x2300
-
-gl_TEXTURE_ENV_COLOR :: GLenum
-gl_TEXTURE_ENV_COLOR = 0x2201
-
-gl_TEXTURE_ENV_MODE :: GLenum
-gl_TEXTURE_ENV_MODE = 0x2200
-
-gl_TEXTURE_FILTER_CONTROL :: GLenum
-gl_TEXTURE_FILTER_CONTROL = 0x8500
-
-gl_TEXTURE_GEN_MODE :: GLenum
-gl_TEXTURE_GEN_MODE = 0x2500
-
-gl_TEXTURE_GEN_Q :: GLenum
-gl_TEXTURE_GEN_Q = 0x0C63
-
-gl_TEXTURE_GEN_R :: GLenum
-gl_TEXTURE_GEN_R = 0x0C62
-
-gl_TEXTURE_GEN_S :: GLenum
-gl_TEXTURE_GEN_S = 0x0C60
-
-gl_TEXTURE_GEN_T :: GLenum
-gl_TEXTURE_GEN_T = 0x0C61
-
-gl_TEXTURE_INTENSITY_SIZE :: GLenum
-gl_TEXTURE_INTENSITY_SIZE = 0x8061
-
-gl_TEXTURE_INTENSITY_TYPE :: GLenum
-gl_TEXTURE_INTENSITY_TYPE = 0x8C15
-
-gl_TEXTURE_LUMINANCE_SIZE :: GLenum
-gl_TEXTURE_LUMINANCE_SIZE = 0x8060
-
-gl_TEXTURE_LUMINANCE_TYPE :: GLenum
-gl_TEXTURE_LUMINANCE_TYPE = 0x8C14
-
-gl_TEXTURE_MATRIX :: GLenum
-gl_TEXTURE_MATRIX = 0x0BA8
-
-gl_TEXTURE_PRIORITY :: GLenum
-gl_TEXTURE_PRIORITY = 0x8066
-
-gl_TEXTURE_RESIDENT :: GLenum
-gl_TEXTURE_RESIDENT = 0x8067
-
-gl_TEXTURE_STACK_DEPTH :: GLenum
-gl_TEXTURE_STACK_DEPTH = 0x0BA5
-
-gl_TRANSFORM_BIT :: GLbitfield
-gl_TRANSFORM_BIT = 0x00001000
-
-gl_TRANSPOSE_COLOR_MATRIX :: GLenum
-gl_TRANSPOSE_COLOR_MATRIX = 0x84E6
-
-gl_TRANSPOSE_MODELVIEW_MATRIX :: GLenum
-gl_TRANSPOSE_MODELVIEW_MATRIX = 0x84E3
-
-gl_TRANSPOSE_PROJECTION_MATRIX :: GLenum
-gl_TRANSPOSE_PROJECTION_MATRIX = 0x84E4
-
-gl_TRANSPOSE_TEXTURE_MATRIX :: GLenum
-gl_TRANSPOSE_TEXTURE_MATRIX = 0x84E5
-
-gl_V2F :: GLenum
-gl_V2F = 0x2A20
-
-gl_V3F :: GLenum
-gl_V3F = 0x2A21
-
-gl_VERTEX_ARRAY :: GLenum
-gl_VERTEX_ARRAY = 0x8074
-
-gl_VERTEX_ARRAY_BUFFER_BINDING :: GLenum
-gl_VERTEX_ARRAY_BUFFER_BINDING = 0x8896
-
-gl_VERTEX_ARRAY_COUNT :: GLenum
-gl_VERTEX_ARRAY_COUNT = 0x807D
-
-gl_VERTEX_ARRAY_POINTER :: GLenum
-gl_VERTEX_ARRAY_POINTER = 0x808E
-
-gl_VERTEX_ARRAY_SIZE :: GLenum
-gl_VERTEX_ARRAY_SIZE = 0x807A
-
-gl_VERTEX_ARRAY_STRIDE :: GLenum
-gl_VERTEX_ARRAY_STRIDE = 0x807C
-
-gl_VERTEX_ARRAY_TYPE :: GLenum
-gl_VERTEX_ARRAY_TYPE = 0x807B
-
-gl_VERTEX_PROGRAM_TWO_SIDE :: GLenum
-gl_VERTEX_PROGRAM_TWO_SIDE = 0x8643
-
-gl_VIEWPORT_BIT :: GLbitfield
-gl_VIEWPORT_BIT = 0x00000800
-
-gl_WEIGHT_ARRAY_BUFFER_BINDING :: GLenum
-gl_WEIGHT_ARRAY_BUFFER_BINDING = 0x889E
-
-gl_ZOOM_X :: GLenum
-gl_ZOOM_X = 0x0D16
-
-gl_ZOOM_Y :: GLenum
-gl_ZOOM_Y = 0x0D17
+{-# OPTIONS_HADDOCK hide #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.Compatibility.Tokens
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All tokens from the ARB_compatibility extension, see
+-- <http://www.opengl.org/registry/specs/ARB/compatibility.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.Compatibility.Tokens where
+
+import Graphics.Rendering.OpenGL.Raw.Core31
+
+gl_2D :: GLenum
+gl_2D = 0x0600
+
+gl_2_BYTES :: GLenum
+gl_2_BYTES = 0x1407
+
+gl_3D :: GLenum
+gl_3D = 0x0601
+
+gl_3D_COLOR :: GLenum
+gl_3D_COLOR = 0x0602
+
+gl_3D_COLOR_TEXTURE :: GLenum
+gl_3D_COLOR_TEXTURE = 0x0603
+
+gl_3_BYTES :: GLenum
+gl_3_BYTES = 0x1408
+
+gl_4D_COLOR_TEXTURE :: GLenum
+gl_4D_COLOR_TEXTURE = 0x0604
+
+gl_4_BYTES :: GLenum
+gl_4_BYTES = 0x1409
+
+gl_ACCUM :: GLenum
+gl_ACCUM = 0x0100
+
+gl_ACCUM_ALPHA_BITS :: GLenum
+gl_ACCUM_ALPHA_BITS = 0x0D5B
+
+gl_ACCUM_BLUE_BITS :: GLenum
+gl_ACCUM_BLUE_BITS = 0x0D5A
+
+gl_ACCUM_BUFFER_BIT :: GLbitfield
+gl_ACCUM_BUFFER_BIT = 0x00000200
+
+gl_ACCUM_CLEAR_VALUE :: GLenum
+gl_ACCUM_CLEAR_VALUE = 0x0B80
+
+gl_ACCUM_GREEN_BITS :: GLenum
+gl_ACCUM_GREEN_BITS = 0x0D59
+
+gl_ACCUM_RED_BITS :: GLenum
+gl_ACCUM_RED_BITS = 0x0D58
+
+gl_ADD :: GLenum
+gl_ADD = 0x0104
+
+gl_ADD_SIGNED :: GLenum
+gl_ADD_SIGNED = 0x8574
+
+gl_ALIASED_POINT_SIZE_RANGE :: GLenum
+gl_ALIASED_POINT_SIZE_RANGE = 0x846D
+
+gl_ALL_ATTRIB_BITS :: GLbitfield
+gl_ALL_ATTRIB_BITS = 0xFFFFFFFF
+
+gl_ALPHA12 :: GLenum
+gl_ALPHA12 = 0x803D
+
+gl_ALPHA16 :: GLenum
+gl_ALPHA16 = 0x803E
+
+gl_ALPHA4 :: GLenum
+gl_ALPHA4 = 0x803B
+
+gl_ALPHA8 :: GLenum
+gl_ALPHA8 = 0x803C
+
+gl_ALPHA_BIAS :: GLenum
+gl_ALPHA_BIAS = 0x0D1D
+
+gl_ALPHA_BITS :: GLenum
+gl_ALPHA_BITS = 0x0D55
+
+gl_ALPHA_INTEGER :: GLenum
+gl_ALPHA_INTEGER = 0x8D97
+
+gl_ALPHA_SCALE :: GLenum
+gl_ALPHA_SCALE = 0x0D1C
+
+gl_ALPHA_TEST :: GLenum
+gl_ALPHA_TEST = 0x0BC0
+
+gl_ALPHA_TEST_FUNC :: GLenum
+gl_ALPHA_TEST_FUNC = 0x0BC1
+
+gl_ALPHA_TEST_REF :: GLenum
+gl_ALPHA_TEST_REF = 0x0BC2
+
+gl_AMBIENT :: GLenum
+gl_AMBIENT = 0x1200
+
+gl_AMBIENT_AND_DIFFUSE :: GLenum
+gl_AMBIENT_AND_DIFFUSE = 0x1602
+
+gl_ATTRIB_STACK_DEPTH :: GLenum
+gl_ATTRIB_STACK_DEPTH = 0x0BB0
+
+gl_AUTO_NORMAL :: GLenum
+gl_AUTO_NORMAL = 0x0D80
+
+gl_AUX0 :: GLenum
+gl_AUX0 = 0x0409
+
+gl_AUX1 :: GLenum
+gl_AUX1 = 0x040A
+
+gl_AUX2 :: GLenum
+gl_AUX2 = 0x040B
+
+gl_AUX3 :: GLenum
+gl_AUX3 = 0x040C
+
+gl_AUX_BUFFERS :: GLenum
+gl_AUX_BUFFERS = 0x0C00
+
+gl_BITMAP :: GLenum
+gl_BITMAP = 0x1A00
+
+gl_BITMAP_TOKEN :: GLenum
+gl_BITMAP_TOKEN = 0x0704
+
+gl_BLUE_BIAS :: GLenum
+gl_BLUE_BIAS = 0x0D1B
+
+gl_BLUE_BITS :: GLenum
+gl_BLUE_BITS = 0x0D54
+
+gl_BLUE_SCALE :: GLenum
+gl_BLUE_SCALE = 0x0D1A
+
+gl_C3F_V3F :: GLenum
+gl_C3F_V3F = 0x2A24
+
+gl_C4F_N3F_V3F :: GLenum
+gl_C4F_N3F_V3F = 0x2A26
+
+gl_C4UB_V2F :: GLenum
+gl_C4UB_V2F = 0x2A22
+
+gl_C4UB_V3F :: GLenum
+gl_C4UB_V3F = 0x2A23
+
+gl_CLAMP :: GLenum
+gl_CLAMP = 0x2900
+
+gl_CLAMP_FRAGMENT_COLOR :: GLenum
+gl_CLAMP_FRAGMENT_COLOR = 0x891B
+
+gl_CLAMP_VERTEX_COLOR :: GLenum
+gl_CLAMP_VERTEX_COLOR = 0x891A
+
+gl_CLIENT_ACTIVE_TEXTURE :: GLenum
+gl_CLIENT_ACTIVE_TEXTURE = 0x84E1
+
+gl_CLIENT_ALL_ATTRIB_BITS :: GLbitfield
+gl_CLIENT_ALL_ATTRIB_BITS = 0xFFFFFFFF
+
+gl_CLIENT_ATTRIB_STACK_DEPTH :: GLenum
+gl_CLIENT_ATTRIB_STACK_DEPTH = 0x0BB1
+
+gl_CLIENT_PIXEL_STORE_BIT :: GLbitfield
+gl_CLIENT_PIXEL_STORE_BIT = 0x00000001
+
+gl_CLIENT_VERTEX_ARRAY_BIT :: GLbitfield
+gl_CLIENT_VERTEX_ARRAY_BIT = 0x00000002
+
+gl_CLIP_PLANE0 :: GLenum
+gl_CLIP_PLANE0 = 0x3000
+
+gl_CLIP_PLANE1 :: GLenum
+gl_CLIP_PLANE1 = 0x3001
+
+gl_CLIP_PLANE2 :: GLenum
+gl_CLIP_PLANE2 = 0x3002
+
+gl_CLIP_PLANE3 :: GLenum
+gl_CLIP_PLANE3 = 0x3003
+
+gl_CLIP_PLANE4 :: GLenum
+gl_CLIP_PLANE4 = 0x3004
+
+gl_CLIP_PLANE5 :: GLenum
+gl_CLIP_PLANE5 = 0x3005
+
+gl_COEFF :: GLenum
+gl_COEFF = 0x0A00
+
+gl_COLOR_ARRAY :: GLenum
+gl_COLOR_ARRAY = 0x8076
+
+gl_COLOR_ARRAY_BUFFER_BINDING :: GLenum
+gl_COLOR_ARRAY_BUFFER_BINDING = 0x8898
+
+gl_COLOR_ARRAY_COUNT :: GLenum
+gl_COLOR_ARRAY_COUNT = 0x8084
+
+gl_COLOR_ARRAY_POINTER :: GLenum
+gl_COLOR_ARRAY_POINTER = 0x8090
+
+gl_COLOR_ARRAY_SIZE :: GLenum
+gl_COLOR_ARRAY_SIZE = 0x8081
+
+gl_COLOR_ARRAY_STRIDE :: GLenum
+gl_COLOR_ARRAY_STRIDE = 0x8083
+
+gl_COLOR_ARRAY_TYPE :: GLenum
+gl_COLOR_ARRAY_TYPE = 0x8082
+
+gl_COLOR_INDEX :: GLenum
+gl_COLOR_INDEX = 0x1900
+
+gl_COLOR_INDEXES :: GLenum
+gl_COLOR_INDEXES = 0x1603
+
+gl_COLOR_MATERIAL :: GLenum
+gl_COLOR_MATERIAL = 0x0B57
+
+gl_COLOR_MATERIAL_FACE :: GLenum
+gl_COLOR_MATERIAL_FACE = 0x0B55
+
+gl_COLOR_MATERIAL_PARAMETER :: GLenum
+gl_COLOR_MATERIAL_PARAMETER = 0x0B56
+
+gl_COLOR_MATRIX :: GLenum
+gl_COLOR_MATRIX = 0x80B1
+
+gl_COLOR_MATRIX_STACK_DEPTH :: GLenum
+gl_COLOR_MATRIX_STACK_DEPTH = 0x80B2
+
+gl_COLOR_SUM :: GLenum
+gl_COLOR_SUM = 0x8458
+
+gl_COLOR_TABLE :: GLenum
+gl_COLOR_TABLE = 0x80D0
+
+gl_COLOR_TABLE_ALPHA_SIZE :: GLenum
+gl_COLOR_TABLE_ALPHA_SIZE = 0x80DD
+
+gl_COLOR_TABLE_BIAS :: GLenum
+gl_COLOR_TABLE_BIAS = 0x80D7
+
+gl_COLOR_TABLE_BLUE_SIZE :: GLenum
+gl_COLOR_TABLE_BLUE_SIZE = 0x80DC
+
+gl_COLOR_TABLE_FORMAT :: GLenum
+gl_COLOR_TABLE_FORMAT = 0x80D8
+
+gl_COLOR_TABLE_GREEN_SIZE :: GLenum
+gl_COLOR_TABLE_GREEN_SIZE = 0x80DB
+
+gl_COLOR_TABLE_INTENSITY_SIZE :: GLenum
+gl_COLOR_TABLE_INTENSITY_SIZE = 0x80DF
+
+gl_COLOR_TABLE_LUMINANCE_SIZE :: GLenum
+gl_COLOR_TABLE_LUMINANCE_SIZE = 0x80DE
+
+gl_COLOR_TABLE_RED_SIZE :: GLenum
+gl_COLOR_TABLE_RED_SIZE = 0x80DA
+
+gl_COLOR_TABLE_SCALE :: GLenum
+gl_COLOR_TABLE_SCALE = 0x80D6
+
+gl_COLOR_TABLE_WIDTH :: GLenum
+gl_COLOR_TABLE_WIDTH = 0x80D9
+
+gl_COMBINE :: GLenum
+gl_COMBINE = 0x8570
+
+gl_COMBINE_ALPHA :: GLenum
+gl_COMBINE_ALPHA = 0x8572
+
+gl_COMBINE_RGB :: GLenum
+gl_COMBINE_RGB = 0x8571
+
+gl_COMPARE_R_TO_TEXTURE :: GLenum
+gl_COMPARE_R_TO_TEXTURE = 0x884E
+
+gl_COMPILE :: GLenum
+gl_COMPILE = 0x1300
+
+gl_COMPILE_AND_EXECUTE :: GLenum
+gl_COMPILE_AND_EXECUTE = 0x1301
+
+gl_COMPRESSED_ALPHA :: GLenum
+gl_COMPRESSED_ALPHA = 0x84E9
+
+gl_COMPRESSED_INTENSITY :: GLenum
+gl_COMPRESSED_INTENSITY = 0x84EC
+
+gl_COMPRESSED_LUMINANCE :: GLenum
+gl_COMPRESSED_LUMINANCE = 0x84EA
+
+gl_COMPRESSED_LUMINANCE_ALPHA :: GLenum
+gl_COMPRESSED_LUMINANCE_ALPHA = 0x84EB
+
+gl_COMPRESSED_SLUMINANCE :: GLenum
+gl_COMPRESSED_SLUMINANCE = 0x8C4A
+
+gl_COMPRESSED_SLUMINANCE_ALPHA :: GLenum
+gl_COMPRESSED_SLUMINANCE_ALPHA = 0x8C4B
+
+gl_CONSTANT :: GLenum
+gl_CONSTANT = 0x8576
+
+gl_CONSTANT_ATTENUATION :: GLenum
+gl_CONSTANT_ATTENUATION = 0x1207
+
+gl_CONSTANT_BORDER :: GLenum
+gl_CONSTANT_BORDER = 0x8151
+
+gl_CONVOLUTION_1D :: GLenum
+gl_CONVOLUTION_1D = 0x8010
+
+gl_CONVOLUTION_2D :: GLenum
+gl_CONVOLUTION_2D = 0x8011
+
+gl_CONVOLUTION_BORDER_COLOR :: GLenum
+gl_CONVOLUTION_BORDER_COLOR = 0x8154
+
+gl_CONVOLUTION_BORDER_MODE :: GLenum
+gl_CONVOLUTION_BORDER_MODE = 0x8013
+
+gl_CONVOLUTION_FILTER_BIAS :: GLenum
+gl_CONVOLUTION_FILTER_BIAS = 0x8015
+
+gl_CONVOLUTION_FILTER_SCALE :: GLenum
+gl_CONVOLUTION_FILTER_SCALE = 0x8014
+
+gl_CONVOLUTION_FORMAT :: GLenum
+gl_CONVOLUTION_FORMAT = 0x8017
+
+gl_CONVOLUTION_HEIGHT :: GLenum
+gl_CONVOLUTION_HEIGHT = 0x8019
+
+gl_CONVOLUTION_WIDTH :: GLenum
+gl_CONVOLUTION_WIDTH = 0x8018
+
+gl_COORD_REPLACE :: GLenum
+gl_COORD_REPLACE = 0x8862
+
+gl_COPY_PIXEL_TOKEN :: GLenum
+gl_COPY_PIXEL_TOKEN = 0x0706
+
+gl_CURRENT_BIT :: GLbitfield
+gl_CURRENT_BIT = 0x00000001
+
+gl_CURRENT_COLOR :: GLenum
+gl_CURRENT_COLOR = 0x0B00
+
+gl_CURRENT_FOG_COORD :: GLenum
+gl_CURRENT_FOG_COORD = 0x8453
+
+gl_CURRENT_FOG_COORDINATE :: GLenum
+gl_CURRENT_FOG_COORDINATE = 0x8453
+
+gl_CURRENT_INDEX :: GLenum
+gl_CURRENT_INDEX = 0x0B01
+
+gl_CURRENT_NORMAL :: GLenum
+gl_CURRENT_NORMAL = 0x0B02
+
+gl_CURRENT_RASTER_COLOR :: GLenum
+gl_CURRENT_RASTER_COLOR = 0x0B04
+
+gl_CURRENT_RASTER_DISTANCE :: GLenum
+gl_CURRENT_RASTER_DISTANCE = 0x0B09
+
+gl_CURRENT_RASTER_INDEX :: GLenum
+gl_CURRENT_RASTER_INDEX = 0x0B05
+
+gl_CURRENT_RASTER_POSITION :: GLenum
+gl_CURRENT_RASTER_POSITION = 0x0B07
+
+gl_CURRENT_RASTER_POSITION_VALID :: GLenum
+gl_CURRENT_RASTER_POSITION_VALID = 0x0B08
+
+gl_CURRENT_RASTER_SECONDARY_COLOR :: GLenum
+gl_CURRENT_RASTER_SECONDARY_COLOR = 0x845F
+
+gl_CURRENT_RASTER_TEXTURE_COORDS :: GLenum
+gl_CURRENT_RASTER_TEXTURE_COORDS = 0x0B06
+
+gl_CURRENT_SECONDARY_COLOR :: GLenum
+gl_CURRENT_SECONDARY_COLOR = 0x8459
+
+gl_CURRENT_TEXTURE_COORDS :: GLenum
+gl_CURRENT_TEXTURE_COORDS = 0x0B03
+
+gl_DECAL :: GLenum
+gl_DECAL = 0x2101
+
+gl_DEPTH_BIAS :: GLenum
+gl_DEPTH_BIAS = 0x0D1F
+
+gl_DEPTH_BITS :: GLenum
+gl_DEPTH_BITS = 0x0D56
+
+gl_DEPTH_SCALE :: GLenum
+gl_DEPTH_SCALE = 0x0D1E
+
+gl_DEPTH_TEXTURE_MODE :: GLenum
+gl_DEPTH_TEXTURE_MODE = 0x884B
+
+gl_DIFFUSE :: GLenum
+gl_DIFFUSE = 0x1201
+
+gl_DOMAIN :: GLenum
+gl_DOMAIN = 0x0A02
+
+gl_DOT3_RGB :: GLenum
+gl_DOT3_RGB = 0x86AE
+
+gl_DOT3_RGBA :: GLenum
+gl_DOT3_RGBA = 0x86AF
+
+gl_DRAW_PIXEL_TOKEN :: GLenum
+gl_DRAW_PIXEL_TOKEN = 0x0705
+
+gl_EDGE_FLAG :: GLenum
+gl_EDGE_FLAG = 0x0B43
+
+gl_EDGE_FLAG_ARRAY :: GLenum
+gl_EDGE_FLAG_ARRAY = 0x8079
+
+gl_EDGE_FLAG_ARRAY_BUFFER_BINDING :: GLenum
+gl_EDGE_FLAG_ARRAY_BUFFER_BINDING = 0x889B
+
+gl_EDGE_FLAG_ARRAY_COUNT :: GLenum
+gl_EDGE_FLAG_ARRAY_COUNT = 0x808D
+
+gl_EDGE_FLAG_ARRAY_POINTER :: GLenum
+gl_EDGE_FLAG_ARRAY_POINTER = 0x8093
+
+gl_EDGE_FLAG_ARRAY_STRIDE :: GLenum
+gl_EDGE_FLAG_ARRAY_STRIDE = 0x808C
+
+gl_EMISSION :: GLenum
+gl_EMISSION = 0x1600
+
+gl_ENABLE_BIT :: GLbitfield
+gl_ENABLE_BIT = 0x00002000
+
+gl_EVAL_BIT :: GLbitfield
+gl_EVAL_BIT = 0x00010000
+
+gl_EXP :: GLenum
+gl_EXP = 0x0800
+
+gl_EXP2 :: GLenum
+gl_EXP2 = 0x0801
+
+gl_EYE_LINEAR :: GLenum
+gl_EYE_LINEAR = 0x2400
+
+gl_EYE_PLANE :: GLenum
+gl_EYE_PLANE = 0x2502
+
+gl_FEEDBACK :: GLenum
+gl_FEEDBACK = 0x1C01
+
+gl_FEEDBACK_BUFFER_POINTER :: GLenum
+gl_FEEDBACK_BUFFER_POINTER = 0x0DF0
+
+gl_FEEDBACK_BUFFER_SIZE :: GLenum
+gl_FEEDBACK_BUFFER_SIZE = 0x0DF1
+
+gl_FEEDBACK_BUFFER_TYPE :: GLenum
+gl_FEEDBACK_BUFFER_TYPE = 0x0DF2
+
+gl_FLAT :: GLenum
+gl_FLAT = 0x1D00
+
+gl_FOG :: GLenum
+gl_FOG = 0x0B60
+
+gl_FOG_BIT :: GLbitfield
+gl_FOG_BIT = 0x00000080
+
+gl_FOG_COLOR :: GLenum
+gl_FOG_COLOR = 0x0B66
+
+gl_FOG_COORD :: GLenum
+gl_FOG_COORD = 0x8451
+
+gl_FOG_COORDINATE :: GLenum
+gl_FOG_COORDINATE = 0x8451
+
+gl_FOG_COORDINATE_ARRAY :: GLenum
+gl_FOG_COORDINATE_ARRAY = 0x8457
+
+gl_FOG_COORDINATE_ARRAY_BUFFER_BINDING :: GLenum
+gl_FOG_COORDINATE_ARRAY_BUFFER_BINDING = 0x889D
+
+gl_FOG_COORDINATE_ARRAY_POINTER :: GLenum
+gl_FOG_COORDINATE_ARRAY_POINTER = 0x8456
+
+gl_FOG_COORDINATE_ARRAY_STRIDE :: GLenum
+gl_FOG_COORDINATE_ARRAY_STRIDE = 0x8455
+
+gl_FOG_COORDINATE_ARRAY_TYPE :: GLenum
+gl_FOG_COORDINATE_ARRAY_TYPE = 0x8454
+
+gl_FOG_COORDINATE_SOURCE :: GLenum
+gl_FOG_COORDINATE_SOURCE = 0x8450
+
+gl_FOG_COORD_ARRAY :: GLenum
+gl_FOG_COORD_ARRAY = 0x8457
+
+gl_FOG_COORD_ARRAY_BUFFER_BINDING :: GLenum
+gl_FOG_COORD_ARRAY_BUFFER_BINDING = 0x889D
+
+gl_FOG_COORD_ARRAY_POINTER :: GLenum
+gl_FOG_COORD_ARRAY_POINTER = 0x8456
+
+gl_FOG_COORD_ARRAY_STRIDE :: GLenum
+gl_FOG_COORD_ARRAY_STRIDE = 0x8455
+
+gl_FOG_COORD_ARRAY_TYPE :: GLenum
+gl_FOG_COORD_ARRAY_TYPE = 0x8454
+
+gl_FOG_COORD_SRC :: GLenum
+gl_FOG_COORD_SRC = 0x8450
+
+gl_FOG_DENSITY :: GLenum
+gl_FOG_DENSITY = 0x0B62
+
+gl_FOG_END :: GLenum
+gl_FOG_END = 0x0B64
+
+gl_FOG_HINT :: GLenum
+gl_FOG_HINT = 0x0C54
+
+gl_FOG_INDEX :: GLenum
+gl_FOG_INDEX = 0x0B61
+
+gl_FOG_MODE :: GLenum
+gl_FOG_MODE = 0x0B65
+
+gl_FOG_START :: GLenum
+gl_FOG_START = 0x0B63
+
+gl_FRAGMENT_DEPTH :: GLenum
+gl_FRAGMENT_DEPTH = 0x8452
+
+gl_GENERATE_MIPMAP :: GLenum
+gl_GENERATE_MIPMAP = 0x8191
+
+gl_GENERATE_MIPMAP_HINT :: GLenum
+gl_GENERATE_MIPMAP_HINT = 0x8192
+
+gl_GREEN_BIAS :: GLenum
+gl_GREEN_BIAS = 0x0D19
+
+gl_GREEN_BITS :: GLenum
+gl_GREEN_BITS = 0x0D53
+
+gl_GREEN_SCALE :: GLenum
+gl_GREEN_SCALE = 0x0D18
+
+gl_HINT_BIT :: GLbitfield
+gl_HINT_BIT = 0x00008000
+
+gl_HISTOGRAM :: GLenum
+gl_HISTOGRAM = 0x8024
+
+gl_HISTOGRAM_ALPHA_SIZE :: GLenum
+gl_HISTOGRAM_ALPHA_SIZE = 0x802B
+
+gl_HISTOGRAM_BLUE_SIZE :: GLenum
+gl_HISTOGRAM_BLUE_SIZE = 0x802A
+
+gl_HISTOGRAM_FORMAT :: GLenum
+gl_HISTOGRAM_FORMAT = 0x8027
+
+gl_HISTOGRAM_GREEN_SIZE :: GLenum
+gl_HISTOGRAM_GREEN_SIZE = 0x8029
+
+gl_HISTOGRAM_LUMINANCE_SIZE :: GLenum
+gl_HISTOGRAM_LUMINANCE_SIZE = 0x802C
+
+gl_HISTOGRAM_RED_SIZE :: GLenum
+gl_HISTOGRAM_RED_SIZE = 0x8028
+
+gl_HISTOGRAM_SINK :: GLenum
+gl_HISTOGRAM_SINK = 0x802D
+
+gl_HISTOGRAM_WIDTH :: GLenum
+gl_HISTOGRAM_WIDTH = 0x8026
+
+gl_INDEX :: GLenum
+gl_INDEX = 0x8222
+
+gl_INDEX_ARRAY :: GLenum
+gl_INDEX_ARRAY = 0x8077
+
+gl_INDEX_ARRAY_BUFFER_BINDING :: GLenum
+gl_INDEX_ARRAY_BUFFER_BINDING = 0x8899
+
+gl_INDEX_ARRAY_COUNT :: GLenum
+gl_INDEX_ARRAY_COUNT = 0x8087
+
+gl_INDEX_ARRAY_POINTER :: GLenum
+gl_INDEX_ARRAY_POINTER = 0x8091
+
+gl_INDEX_ARRAY_STRIDE :: GLenum
+gl_INDEX_ARRAY_STRIDE = 0x8086
+
+gl_INDEX_ARRAY_TYPE :: GLenum
+gl_INDEX_ARRAY_TYPE = 0x8085
+
+gl_INDEX_BITS :: GLenum
+gl_INDEX_BITS = 0x0D51
+
+gl_INDEX_CLEAR_VALUE :: GLenum
+gl_INDEX_CLEAR_VALUE = 0x0C20
+
+gl_INDEX_LOGIC_OP :: GLenum
+gl_INDEX_LOGIC_OP = 0x0BF1
+
+gl_INDEX_MODE :: GLenum
+gl_INDEX_MODE = 0x0C30
+
+gl_INDEX_OFFSET :: GLenum
+gl_INDEX_OFFSET = 0x0D13
+
+gl_INDEX_SHIFT :: GLenum
+gl_INDEX_SHIFT = 0x0D12
+
+gl_INDEX_WRITEMASK :: GLenum
+gl_INDEX_WRITEMASK = 0x0C21
+
+gl_INTENSITY :: GLenum
+gl_INTENSITY = 0x8049
+
+gl_INTENSITY12 :: GLenum
+gl_INTENSITY12 = 0x804C
+
+gl_INTENSITY16 :: GLenum
+gl_INTENSITY16 = 0x804D
+
+gl_INTENSITY4 :: GLenum
+gl_INTENSITY4 = 0x804A
+
+gl_INTENSITY8 :: GLenum
+gl_INTENSITY8 = 0x804B
+
+gl_INTERPOLATE :: GLenum
+gl_INTERPOLATE = 0x8575
+
+gl_LIGHT0 :: GLenum
+gl_LIGHT0 = 0x4000
+
+gl_LIGHT1 :: GLenum
+gl_LIGHT1 = 0x4001
+
+gl_LIGHT2 :: GLenum
+gl_LIGHT2 = 0x4002
+
+gl_LIGHT3 :: GLenum
+gl_LIGHT3 = 0x4003
+
+gl_LIGHT4 :: GLenum
+gl_LIGHT4 = 0x4004
+
+gl_LIGHT5 :: GLenum
+gl_LIGHT5 = 0x4005
+
+gl_LIGHT6 :: GLenum
+gl_LIGHT6 = 0x4006
+
+gl_LIGHT7 :: GLenum
+gl_LIGHT7 = 0x4007
+
+gl_LIGHTING :: GLenum
+gl_LIGHTING = 0x0B50
+
+gl_LIGHTING_BIT :: GLbitfield
+gl_LIGHTING_BIT = 0x00000040
+
+gl_LIGHT_MODEL_AMBIENT :: GLenum
+gl_LIGHT_MODEL_AMBIENT = 0x0B53
+
+gl_LIGHT_MODEL_COLOR_CONTROL :: GLenum
+gl_LIGHT_MODEL_COLOR_CONTROL = 0x81F8
+
+gl_LIGHT_MODEL_LOCAL_VIEWER :: GLenum
+gl_LIGHT_MODEL_LOCAL_VIEWER = 0x0B51
+
+gl_LIGHT_MODEL_TWO_SIDE :: GLenum
+gl_LIGHT_MODEL_TWO_SIDE = 0x0B52
+
+gl_LINEAR_ATTENUATION :: GLenum
+gl_LINEAR_ATTENUATION = 0x1208
+
+gl_LINE_BIT :: GLbitfield
+gl_LINE_BIT = 0x00000004
+
+gl_LINE_RESET_TOKEN :: GLenum
+gl_LINE_RESET_TOKEN = 0x0707
+
+gl_LINE_STIPPLE :: GLenum
+gl_LINE_STIPPLE = 0x0B24
+
+gl_LINE_STIPPLE_PATTERN :: GLenum
+gl_LINE_STIPPLE_PATTERN = 0x0B25
+
+gl_LINE_STIPPLE_REPEAT :: GLenum
+gl_LINE_STIPPLE_REPEAT = 0x0B26
+
+gl_LINE_TOKEN :: GLenum
+gl_LINE_TOKEN = 0x0702
+
+gl_LIST_BASE :: GLenum
+gl_LIST_BASE = 0x0B32
+
+gl_LIST_BIT :: GLbitfield
+gl_LIST_BIT = 0x00020000
+
+gl_LIST_INDEX :: GLenum
+gl_LIST_INDEX = 0x0B33
+
+gl_LIST_MODE :: GLenum
+gl_LIST_MODE = 0x0B30
+
+gl_LOAD :: GLenum
+gl_LOAD = 0x0101
+
+gl_LOGIC_OP :: GLenum
+gl_LOGIC_OP = 0x0BF1
+
+gl_LUMINANCE :: GLenum
+gl_LUMINANCE = 0x1909
+
+gl_LUMINANCE12 :: GLenum
+gl_LUMINANCE12 = 0x8041
+
+gl_LUMINANCE12_ALPHA12 :: GLenum
+gl_LUMINANCE12_ALPHA12 = 0x8047
+
+gl_LUMINANCE12_ALPHA4 :: GLenum
+gl_LUMINANCE12_ALPHA4 = 0x8046
+
+gl_LUMINANCE16 :: GLenum
+gl_LUMINANCE16 = 0x8042
+
+gl_LUMINANCE16_ALPHA16 :: GLenum
+gl_LUMINANCE16_ALPHA16 = 0x8048
+
+gl_LUMINANCE4 :: GLenum
+gl_LUMINANCE4 = 0x803F
+
+gl_LUMINANCE4_ALPHA4 :: GLenum
+gl_LUMINANCE4_ALPHA4 = 0x8043
+
+gl_LUMINANCE6_ALPHA2 :: GLenum
+gl_LUMINANCE6_ALPHA2 = 0x8044
+
+gl_LUMINANCE8 :: GLenum
+gl_LUMINANCE8 = 0x8040
+
+gl_LUMINANCE8_ALPHA8 :: GLenum
+gl_LUMINANCE8_ALPHA8 = 0x8045
+
+gl_LUMINANCE_ALPHA :: GLenum
+gl_LUMINANCE_ALPHA = 0x190A
+
+gl_MAP1_COLOR_4 :: GLenum
+gl_MAP1_COLOR_4 = 0x0D90
+
+gl_MAP1_GRID_DOMAIN :: GLenum
+gl_MAP1_GRID_DOMAIN = 0x0DD0
+
+gl_MAP1_GRID_SEGMENTS :: GLenum
+gl_MAP1_GRID_SEGMENTS = 0x0DD1
+
+gl_MAP1_INDEX :: GLenum
+gl_MAP1_INDEX = 0x0D91
+
+gl_MAP1_NORMAL :: GLenum
+gl_MAP1_NORMAL = 0x0D92
+
+gl_MAP1_TEXTURE_COORD_1 :: GLenum
+gl_MAP1_TEXTURE_COORD_1 = 0x0D93
+
+gl_MAP1_TEXTURE_COORD_2 :: GLenum
+gl_MAP1_TEXTURE_COORD_2 = 0x0D94
+
+gl_MAP1_TEXTURE_COORD_3 :: GLenum
+gl_MAP1_TEXTURE_COORD_3 = 0x0D95
+
+gl_MAP1_TEXTURE_COORD_4 :: GLenum
+gl_MAP1_TEXTURE_COORD_4 = 0x0D96
+
+gl_MAP1_VERTEX_3 :: GLenum
+gl_MAP1_VERTEX_3 = 0x0D97
+
+gl_MAP1_VERTEX_4 :: GLenum
+gl_MAP1_VERTEX_4 = 0x0D98
+
+gl_MAP2_COLOR_4 :: GLenum
+gl_MAP2_COLOR_4 = 0x0DB0
+
+gl_MAP2_GRID_DOMAIN :: GLenum
+gl_MAP2_GRID_DOMAIN = 0x0DD2
+
+gl_MAP2_GRID_SEGMENTS :: GLenum
+gl_MAP2_GRID_SEGMENTS = 0x0DD3
+
+gl_MAP2_INDEX :: GLenum
+gl_MAP2_INDEX = 0x0DB1
+
+gl_MAP2_NORMAL :: GLenum
+gl_MAP2_NORMAL = 0x0DB2
+
+gl_MAP2_TEXTURE_COORD_1 :: GLenum
+gl_MAP2_TEXTURE_COORD_1 = 0x0DB3
+
+gl_MAP2_TEXTURE_COORD_2 :: GLenum
+gl_MAP2_TEXTURE_COORD_2 = 0x0DB4
+
+gl_MAP2_TEXTURE_COORD_3 :: GLenum
+gl_MAP2_TEXTURE_COORD_3 = 0x0DB5
+
+gl_MAP2_TEXTURE_COORD_4 :: GLenum
+gl_MAP2_TEXTURE_COORD_4 = 0x0DB6
+
+gl_MAP2_VERTEX_3 :: GLenum
+gl_MAP2_VERTEX_3 = 0x0DB7
+
+gl_MAP2_VERTEX_4 :: GLenum
+gl_MAP2_VERTEX_4 = 0x0DB8
+
+gl_MAP_COLOR :: GLenum
+gl_MAP_COLOR = 0x0D10
+
+gl_MAP_STENCIL :: GLenum
+gl_MAP_STENCIL = 0x0D11
+
+gl_MATRIX_MODE :: GLenum
+gl_MATRIX_MODE = 0x0BA0
+
+gl_MAX_ATTRIB_STACK_DEPTH :: GLenum
+gl_MAX_ATTRIB_STACK_DEPTH = 0x0D35
+
+gl_MAX_CLIENT_ATTRIB_STACK_DEPTH :: GLenum
+gl_MAX_CLIENT_ATTRIB_STACK_DEPTH = 0x0D3B
+
+gl_MAX_CLIP_PLANES :: GLenum
+gl_MAX_CLIP_PLANES = 0x0D32
+
+gl_MAX_COLOR_MATRIX_STACK_DEPTH :: GLenum
+gl_MAX_COLOR_MATRIX_STACK_DEPTH = 0x80B3
+
+gl_MAX_CONVOLUTION_HEIGHT :: GLenum
+gl_MAX_CONVOLUTION_HEIGHT = 0x801B
+
+gl_MAX_CONVOLUTION_WIDTH :: GLenum
+gl_MAX_CONVOLUTION_WIDTH = 0x801A
+
+gl_MAX_EVAL_ORDER :: GLenum
+gl_MAX_EVAL_ORDER = 0x0D30
+
+gl_MAX_LIGHTS :: GLenum
+gl_MAX_LIGHTS = 0x0D31
+
+gl_MAX_LIST_NESTING :: GLenum
+gl_MAX_LIST_NESTING = 0x0B31
+
+gl_MAX_MODELVIEW_STACK_DEPTH :: GLenum
+gl_MAX_MODELVIEW_STACK_DEPTH = 0x0D36
+
+gl_MAX_NAME_STACK_DEPTH :: GLenum
+gl_MAX_NAME_STACK_DEPTH = 0x0D37
+
+gl_MAX_PIXEL_MAP_TABLE :: GLenum
+gl_MAX_PIXEL_MAP_TABLE = 0x0D34
+
+gl_MAX_PROJECTION_STACK_DEPTH :: GLenum
+gl_MAX_PROJECTION_STACK_DEPTH = 0x0D38
+
+gl_MAX_TEXTURE_COORDS :: GLenum
+gl_MAX_TEXTURE_COORDS = 0x8871
+
+gl_MAX_TEXTURE_STACK_DEPTH :: GLenum
+gl_MAX_TEXTURE_STACK_DEPTH = 0x0D39
+
+gl_MAX_TEXTURE_UNITS :: GLenum
+gl_MAX_TEXTURE_UNITS = 0x84E2
+
+gl_MINMAX :: GLenum
+gl_MINMAX = 0x802E
+
+gl_MINMAX_FORMAT :: GLenum
+gl_MINMAX_FORMAT = 0x802F
+
+gl_MINMAX_SINK :: GLenum
+gl_MINMAX_SINK = 0x8030
+
+gl_MODELVIEW :: GLenum
+gl_MODELVIEW = 0x1700
+
+gl_MODELVIEW_MATRIX :: GLenum
+gl_MODELVIEW_MATRIX = 0x0BA6
+
+gl_MODELVIEW_STACK_DEPTH :: GLenum
+gl_MODELVIEW_STACK_DEPTH = 0x0BA3
+
+gl_MODULATE :: GLenum
+gl_MODULATE = 0x2100
+
+gl_MULT :: GLenum
+gl_MULT = 0x0103
+
+gl_MULTISAMPLE_BIT :: GLbitfield
+gl_MULTISAMPLE_BIT = 0x20000000
+
+gl_N3F_V3F :: GLenum
+gl_N3F_V3F = 0x2A25
+
+gl_NAME_STACK_DEPTH :: GLenum
+gl_NAME_STACK_DEPTH = 0x0D70
+
+gl_NORMALIZE :: GLenum
+gl_NORMALIZE = 0x0BA1
+
+gl_NORMAL_ARRAY :: GLenum
+gl_NORMAL_ARRAY = 0x8075
+
+gl_NORMAL_ARRAY_BUFFER_BINDING :: GLenum
+gl_NORMAL_ARRAY_BUFFER_BINDING = 0x8897
+
+gl_NORMAL_ARRAY_COUNT :: GLenum
+gl_NORMAL_ARRAY_COUNT = 0x8080
+
+gl_NORMAL_ARRAY_POINTER :: GLenum
+gl_NORMAL_ARRAY_POINTER = 0x808F
+
+gl_NORMAL_ARRAY_STRIDE :: GLenum
+gl_NORMAL_ARRAY_STRIDE = 0x807F
+
+gl_NORMAL_ARRAY_TYPE :: GLenum
+gl_NORMAL_ARRAY_TYPE = 0x807E
+
+gl_NORMAL_MAP :: GLenum
+gl_NORMAL_MAP = 0x8511
+
+gl_OBJECT_LINEAR :: GLenum
+gl_OBJECT_LINEAR = 0x2401
+
+gl_OBJECT_PLANE :: GLenum
+gl_OBJECT_PLANE = 0x2501
+
+gl_OPERAND0_ALPHA :: GLenum
+gl_OPERAND0_ALPHA = 0x8598
+
+gl_OPERAND0_RGB :: GLenum
+gl_OPERAND0_RGB = 0x8590
+
+gl_OPERAND1_ALPHA :: GLenum
+gl_OPERAND1_ALPHA = 0x8599
+
+gl_OPERAND1_RGB :: GLenum
+gl_OPERAND1_RGB = 0x8591
+
+gl_OPERAND2_ALPHA :: GLenum
+gl_OPERAND2_ALPHA = 0x859A
+
+gl_OPERAND2_RGB :: GLenum
+gl_OPERAND2_RGB = 0x8592
+
+gl_ORDER :: GLenum
+gl_ORDER = 0x0A01
+
+gl_PASS_THROUGH_TOKEN :: GLenum
+gl_PASS_THROUGH_TOKEN = 0x0700
+
+gl_PERSPECTIVE_CORRECTION_HINT :: GLenum
+gl_PERSPECTIVE_CORRECTION_HINT = 0x0C50
+
+gl_PIXEL_MAP_A_TO_A :: GLenum
+gl_PIXEL_MAP_A_TO_A = 0x0C79
+
+gl_PIXEL_MAP_A_TO_A_SIZE :: GLenum
+gl_PIXEL_MAP_A_TO_A_SIZE = 0x0CB9
+
+gl_PIXEL_MAP_B_TO_B :: GLenum
+gl_PIXEL_MAP_B_TO_B = 0x0C78
+
+gl_PIXEL_MAP_B_TO_B_SIZE :: GLenum
+gl_PIXEL_MAP_B_TO_B_SIZE = 0x0CB8
+
+gl_PIXEL_MAP_G_TO_G :: GLenum
+gl_PIXEL_MAP_G_TO_G = 0x0C77
+
+gl_PIXEL_MAP_G_TO_G_SIZE :: GLenum
+gl_PIXEL_MAP_G_TO_G_SIZE = 0x0CB7
+
+gl_PIXEL_MAP_I_TO_A :: GLenum
+gl_PIXEL_MAP_I_TO_A = 0x0C75
+
+gl_PIXEL_MAP_I_TO_A_SIZE :: GLenum
+gl_PIXEL_MAP_I_TO_A_SIZE = 0x0CB5
+
+gl_PIXEL_MAP_I_TO_B :: GLenum
+gl_PIXEL_MAP_I_TO_B = 0x0C74
+
+gl_PIXEL_MAP_I_TO_B_SIZE :: GLenum
+gl_PIXEL_MAP_I_TO_B_SIZE = 0x0CB4
+
+gl_PIXEL_MAP_I_TO_G :: GLenum
+gl_PIXEL_MAP_I_TO_G = 0x0C73
+
+gl_PIXEL_MAP_I_TO_G_SIZE :: GLenum
+gl_PIXEL_MAP_I_TO_G_SIZE = 0x0CB3
+
+gl_PIXEL_MAP_I_TO_I :: GLenum
+gl_PIXEL_MAP_I_TO_I = 0x0C70
+
+gl_PIXEL_MAP_I_TO_I_SIZE :: GLenum
+gl_PIXEL_MAP_I_TO_I_SIZE = 0x0CB0
+
+gl_PIXEL_MAP_I_TO_R :: GLenum
+gl_PIXEL_MAP_I_TO_R = 0x0C72
+
+gl_PIXEL_MAP_I_TO_R_SIZE :: GLenum
+gl_PIXEL_MAP_I_TO_R_SIZE = 0x0CB2
+
+gl_PIXEL_MAP_R_TO_R :: GLenum
+gl_PIXEL_MAP_R_TO_R = 0x0C76
+
+gl_PIXEL_MAP_R_TO_R_SIZE :: GLenum
+gl_PIXEL_MAP_R_TO_R_SIZE = 0x0CB6
+
+gl_PIXEL_MAP_S_TO_S :: GLenum
+gl_PIXEL_MAP_S_TO_S = 0x0C71
+
+gl_PIXEL_MAP_S_TO_S_SIZE :: GLenum
+gl_PIXEL_MAP_S_TO_S_SIZE = 0x0CB1
+
+gl_PIXEL_MODE_BIT :: GLbitfield
+gl_PIXEL_MODE_BIT = 0x00000020
+
+gl_POINT_BIT :: GLbitfield
+gl_POINT_BIT = 0x00000002
+
+gl_POINT_DISTANCE_ATTENUATION :: GLenum
+gl_POINT_DISTANCE_ATTENUATION = 0x8129
+
+gl_POINT_SIZE_MAX :: GLenum
+gl_POINT_SIZE_MAX = 0x8127
+
+gl_POINT_SIZE_MIN :: GLenum
+gl_POINT_SIZE_MIN = 0x8126
+
+gl_POINT_SMOOTH :: GLenum
+gl_POINT_SMOOTH = 0x0B10
+
+gl_POINT_SMOOTH_HINT :: GLenum
+gl_POINT_SMOOTH_HINT = 0x0C51
+
+gl_POINT_SPRITE :: GLenum
+gl_POINT_SPRITE = 0x8861
+
+gl_POINT_TOKEN :: GLenum
+gl_POINT_TOKEN = 0x0701
+
+gl_POLYGON :: GLenum
+gl_POLYGON = 0x0009
+
+gl_POLYGON_BIT :: GLbitfield
+gl_POLYGON_BIT = 0x00000008
+
+gl_POLYGON_MODE :: GLenum
+gl_POLYGON_MODE = 0x0B40
+
+gl_POLYGON_STIPPLE :: GLenum
+gl_POLYGON_STIPPLE = 0x0B42
+
+gl_POLYGON_STIPPLE_BIT :: GLbitfield
+gl_POLYGON_STIPPLE_BIT = 0x00000010
+
+gl_POLYGON_TOKEN :: GLenum
+gl_POLYGON_TOKEN = 0x0703
+
+gl_POSITION :: GLenum
+gl_POSITION = 0x1203
+
+gl_POST_COLOR_MATRIX_ALPHA_BIAS :: GLenum
+gl_POST_COLOR_MATRIX_ALPHA_BIAS = 0x80BB
+
+gl_POST_COLOR_MATRIX_ALPHA_SCALE :: GLenum
+gl_POST_COLOR_MATRIX_ALPHA_SCALE = 0x80B7
+
+gl_POST_COLOR_MATRIX_BLUE_BIAS :: GLenum
+gl_POST_COLOR_MATRIX_BLUE_BIAS = 0x80BA
+
+gl_POST_COLOR_MATRIX_BLUE_SCALE :: GLenum
+gl_POST_COLOR_MATRIX_BLUE_SCALE = 0x80B6
+
+gl_POST_COLOR_MATRIX_COLOR_TABLE :: GLenum
+gl_POST_COLOR_MATRIX_COLOR_TABLE = 0x80D2
+
+gl_POST_COLOR_MATRIX_GREEN_BIAS :: GLenum
+gl_POST_COLOR_MATRIX_GREEN_BIAS = 0x80B9
+
+gl_POST_COLOR_MATRIX_GREEN_SCALE :: GLenum
+gl_POST_COLOR_MATRIX_GREEN_SCALE = 0x80B5
+
+gl_POST_COLOR_MATRIX_RED_BIAS :: GLenum
+gl_POST_COLOR_MATRIX_RED_BIAS = 0x80B8
+
+gl_POST_COLOR_MATRIX_RED_SCALE :: GLenum
+gl_POST_COLOR_MATRIX_RED_SCALE = 0x80B4
+
+gl_POST_CONVOLUTION_ALPHA_BIAS :: GLenum
+gl_POST_CONVOLUTION_ALPHA_BIAS = 0x8023
+
+gl_POST_CONVOLUTION_ALPHA_SCALE :: GLenum
+gl_POST_CONVOLUTION_ALPHA_SCALE = 0x801F
+
+gl_POST_CONVOLUTION_BLUE_BIAS :: GLenum
+gl_POST_CONVOLUTION_BLUE_BIAS = 0x8022
+
+gl_POST_CONVOLUTION_BLUE_SCALE :: GLenum
+gl_POST_CONVOLUTION_BLUE_SCALE = 0x801E
+
+gl_POST_CONVOLUTION_COLOR_TABLE :: GLenum
+gl_POST_CONVOLUTION_COLOR_TABLE = 0x80D1
+
+gl_POST_CONVOLUTION_GREEN_BIAS :: GLenum
+gl_POST_CONVOLUTION_GREEN_BIAS = 0x8021
+
+gl_POST_CONVOLUTION_GREEN_SCALE :: GLenum
+gl_POST_CONVOLUTION_GREEN_SCALE = 0x801D
+
+gl_POST_CONVOLUTION_RED_BIAS :: GLenum
+gl_POST_CONVOLUTION_RED_BIAS = 0x8020
+
+gl_POST_CONVOLUTION_RED_SCALE :: GLenum
+gl_POST_CONVOLUTION_RED_SCALE = 0x801C
+
+gl_PREVIOUS :: GLenum
+gl_PREVIOUS = 0x8578
+
+gl_PRIMARY_COLOR :: GLenum
+gl_PRIMARY_COLOR = 0x8577
+
+gl_PROJECTION :: GLenum
+gl_PROJECTION = 0x1701
+
+gl_PROJECTION_MATRIX :: GLenum
+gl_PROJECTION_MATRIX = 0x0BA7
+
+gl_PROJECTION_STACK_DEPTH :: GLenum
+gl_PROJECTION_STACK_DEPTH = 0x0BA4
+
+gl_PROXY_COLOR_TABLE :: GLenum
+gl_PROXY_COLOR_TABLE = 0x80D3
+
+gl_PROXY_HISTOGRAM :: GLenum
+gl_PROXY_HISTOGRAM = 0x8025
+
+gl_PROXY_POST_COLOR_MATRIX_COLOR_TABLE :: GLenum
+gl_PROXY_POST_COLOR_MATRIX_COLOR_TABLE = 0x80D5
+
+gl_PROXY_POST_CONVOLUTION_COLOR_TABLE :: GLenum
+gl_PROXY_POST_CONVOLUTION_COLOR_TABLE = 0x80D4
+
+gl_Q :: GLenum
+gl_Q = 0x2003
+
+gl_QUADRATIC_ATTENUATION :: GLenum
+gl_QUADRATIC_ATTENUATION = 0x1209
+
+gl_QUADS :: GLenum
+gl_QUADS = 0x0007
+
+gl_QUAD_STRIP :: GLenum
+gl_QUAD_STRIP = 0x0008
+
+gl_R :: GLenum
+gl_R = 0x2002
+
+gl_REDUCE :: GLenum
+gl_REDUCE = 0x8016
+
+gl_RED_BIAS :: GLenum
+gl_RED_BIAS = 0x0D15
+
+gl_RED_BITS :: GLenum
+gl_RED_BITS = 0x0D52
+
+gl_RED_SCALE :: GLenum
+gl_RED_SCALE = 0x0D14
+
+gl_REFLECTION_MAP :: GLenum
+gl_REFLECTION_MAP = 0x8512
+
+gl_RENDER :: GLenum
+gl_RENDER = 0x1C00
+
+gl_RENDER_MODE :: GLenum
+gl_RENDER_MODE = 0x0C40
+
+gl_REPLICATE_BORDER :: GLenum
+gl_REPLICATE_BORDER = 0x8153
+
+gl_RESCALE_NORMAL :: GLenum
+gl_RESCALE_NORMAL = 0x803A
+
+gl_RETURN :: GLenum
+gl_RETURN = 0x0102
+
+gl_RGBA_MODE :: GLenum
+gl_RGBA_MODE = 0x0C31
+
+gl_RGB_SCALE :: GLenum
+gl_RGB_SCALE = 0x8573
+
+gl_S :: GLenum
+gl_S = 0x2000
+
+gl_SCISSOR_BIT :: GLbitfield
+gl_SCISSOR_BIT = 0x00080000
+
+gl_SECONDARY_COLOR_ARRAY :: GLenum
+gl_SECONDARY_COLOR_ARRAY = 0x845E
+
+gl_SECONDARY_COLOR_ARRAY_BUFFER_BINDING :: GLenum
+gl_SECONDARY_COLOR_ARRAY_BUFFER_BINDING = 0x889C
+
+gl_SECONDARY_COLOR_ARRAY_POINTER :: GLenum
+gl_SECONDARY_COLOR_ARRAY_POINTER = 0x845D
+
+gl_SECONDARY_COLOR_ARRAY_SIZE :: GLenum
+gl_SECONDARY_COLOR_ARRAY_SIZE = 0x845A
+
+gl_SECONDARY_COLOR_ARRAY_STRIDE :: GLenum
+gl_SECONDARY_COLOR_ARRAY_STRIDE = 0x845C
+
+gl_SECONDARY_COLOR_ARRAY_TYPE :: GLenum
+gl_SECONDARY_COLOR_ARRAY_TYPE = 0x845B
+
+gl_SELECT :: GLenum
+gl_SELECT = 0x1C02
+
+gl_SELECTION_BUFFER_POINTER :: GLenum
+gl_SELECTION_BUFFER_POINTER = 0x0DF3
+
+gl_SELECTION_BUFFER_SIZE :: GLenum
+gl_SELECTION_BUFFER_SIZE = 0x0DF4
+
+gl_SEPARABLE_2D :: GLenum
+gl_SEPARABLE_2D = 0x8012
+
+gl_SEPARATE_SPECULAR_COLOR :: GLenum
+gl_SEPARATE_SPECULAR_COLOR = 0x81FA
+
+gl_SHADE_MODEL :: GLenum
+gl_SHADE_MODEL = 0x0B54
+
+gl_SHININESS :: GLenum
+gl_SHININESS = 0x1601
+
+gl_SINGLE_COLOR :: GLenum
+gl_SINGLE_COLOR = 0x81F9
+
+gl_SLUMINANCE :: GLenum
+gl_SLUMINANCE = 0x8C46
+
+gl_SLUMINANCE8 :: GLenum
+gl_SLUMINANCE8 = 0x8C47
+
+gl_SLUMINANCE8_ALPHA8 :: GLenum
+gl_SLUMINANCE8_ALPHA8 = 0x8C45
+
+gl_SLUMINANCE_ALPHA :: GLenum
+gl_SLUMINANCE_ALPHA = 0x8C44
+
+gl_SMOOTH :: GLenum
+gl_SMOOTH = 0x1D01
+
+gl_SOURCE0_ALPHA :: GLenum
+gl_SOURCE0_ALPHA = 0x8588
+
+gl_SOURCE0_RGB :: GLenum
+gl_SOURCE0_RGB = 0x8580
+
+gl_SOURCE1_ALPHA :: GLenum
+gl_SOURCE1_ALPHA = 0x8589
+
+gl_SOURCE1_RGB :: GLenum
+gl_SOURCE1_RGB = 0x8581
+
+gl_SOURCE2_ALPHA :: GLenum
+gl_SOURCE2_ALPHA = 0x858A
+
+gl_SOURCE2_RGB :: GLenum
+gl_SOURCE2_RGB = 0x8582
+
+gl_SPECULAR :: GLenum
+gl_SPECULAR = 0x1202
+
+gl_SPHERE_MAP :: GLenum
+gl_SPHERE_MAP = 0x2402
+
+gl_SPOT_CUTOFF :: GLenum
+gl_SPOT_CUTOFF = 0x1206
+
+gl_SPOT_DIRECTION :: GLenum
+gl_SPOT_DIRECTION = 0x1204
+
+gl_SPOT_EXPONENT :: GLenum
+gl_SPOT_EXPONENT = 0x1205
+
+gl_SRC0_ALPHA :: GLenum
+gl_SRC0_ALPHA = 0x8588
+
+gl_SRC0_RGB :: GLenum
+gl_SRC0_RGB = 0x8580
+
+gl_SRC1_ALPHA :: GLenum
+gl_SRC1_ALPHA = 0x8589
+
+gl_SRC1_RGB :: GLenum
+gl_SRC1_RGB = 0x8581
+
+gl_SRC2_ALPHA :: GLenum
+gl_SRC2_ALPHA = 0x858A
+
+gl_SRC2_RGB :: GLenum
+gl_SRC2_RGB = 0x8582
+
+gl_STACK_OVERFLOW :: GLenum
+gl_STACK_OVERFLOW = 0x0503
+
+gl_STACK_UNDERFLOW :: GLenum
+gl_STACK_UNDERFLOW = 0x0504
+
+gl_STENCIL_BITS :: GLenum
+gl_STENCIL_BITS = 0x0D57
+
+gl_SUBTRACT :: GLenum
+gl_SUBTRACT = 0x84E7
+
+gl_T :: GLenum
+gl_T = 0x2001
+
+gl_T2F_C3F_V3F :: GLenum
+gl_T2F_C3F_V3F = 0x2A2A
+
+gl_T2F_C4F_N3F_V3F :: GLenum
+gl_T2F_C4F_N3F_V3F = 0x2A2C
+
+gl_T2F_C4UB_V3F :: GLenum
+gl_T2F_C4UB_V3F = 0x2A29
+
+gl_T2F_N3F_V3F :: GLenum
+gl_T2F_N3F_V3F = 0x2A2B
+
+gl_T2F_V3F :: GLenum
+gl_T2F_V3F = 0x2A27
+
+gl_T4F_C4F_N3F_V4F :: GLenum
+gl_T4F_C4F_N3F_V4F = 0x2A2D
+
+gl_T4F_V4F :: GLenum
+gl_T4F_V4F = 0x2A28
+
+gl_TABLE_TOO_LARGE :: GLenum
+gl_TABLE_TOO_LARGE = 0x8031
+
+gl_TEXTURE_BIT :: GLbitfield
+gl_TEXTURE_BIT = 0x00040000
+
+gl_TEXTURE_COMPONENTS :: GLenum
+gl_TEXTURE_COMPONENTS = 0x1003
+
+gl_TEXTURE_COORD_ARRAY :: GLenum
+gl_TEXTURE_COORD_ARRAY = 0x8078
+
+gl_TEXTURE_COORD_ARRAY_BUFFER_BINDING :: GLenum
+gl_TEXTURE_COORD_ARRAY_BUFFER_BINDING = 0x889A
+
+gl_TEXTURE_COORD_ARRAY_COUNT :: GLenum
+gl_TEXTURE_COORD_ARRAY_COUNT = 0x808B
+
+gl_TEXTURE_COORD_ARRAY_POINTER :: GLenum
+gl_TEXTURE_COORD_ARRAY_POINTER = 0x8092
+
+gl_TEXTURE_COORD_ARRAY_SIZE :: GLenum
+gl_TEXTURE_COORD_ARRAY_SIZE = 0x8088
+
+gl_TEXTURE_COORD_ARRAY_STRIDE :: GLenum
+gl_TEXTURE_COORD_ARRAY_STRIDE = 0x808A
+
+gl_TEXTURE_COORD_ARRAY_TYPE :: GLenum
+gl_TEXTURE_COORD_ARRAY_TYPE = 0x8089
+
+gl_TEXTURE_ENV :: GLenum
+gl_TEXTURE_ENV = 0x2300
+
+gl_TEXTURE_ENV_COLOR :: GLenum
+gl_TEXTURE_ENV_COLOR = 0x2201
+
+gl_TEXTURE_ENV_MODE :: GLenum
+gl_TEXTURE_ENV_MODE = 0x2200
+
+gl_TEXTURE_FILTER_CONTROL :: GLenum
+gl_TEXTURE_FILTER_CONTROL = 0x8500
+
+gl_TEXTURE_GEN_MODE :: GLenum
+gl_TEXTURE_GEN_MODE = 0x2500
+
+gl_TEXTURE_GEN_Q :: GLenum
+gl_TEXTURE_GEN_Q = 0x0C63
+
+gl_TEXTURE_GEN_R :: GLenum
+gl_TEXTURE_GEN_R = 0x0C62
+
+gl_TEXTURE_GEN_S :: GLenum
+gl_TEXTURE_GEN_S = 0x0C60
+
+gl_TEXTURE_GEN_T :: GLenum
+gl_TEXTURE_GEN_T = 0x0C61
+
+gl_TEXTURE_INTENSITY_SIZE :: GLenum
+gl_TEXTURE_INTENSITY_SIZE = 0x8061
+
+gl_TEXTURE_INTENSITY_TYPE :: GLenum
+gl_TEXTURE_INTENSITY_TYPE = 0x8C15
+
+gl_TEXTURE_LUMINANCE_SIZE :: GLenum
+gl_TEXTURE_LUMINANCE_SIZE = 0x8060
+
+gl_TEXTURE_LUMINANCE_TYPE :: GLenum
+gl_TEXTURE_LUMINANCE_TYPE = 0x8C14
+
+gl_TEXTURE_MATRIX :: GLenum
+gl_TEXTURE_MATRIX = 0x0BA8
+
+gl_TEXTURE_PRIORITY :: GLenum
+gl_TEXTURE_PRIORITY = 0x8066
+
+gl_TEXTURE_RESIDENT :: GLenum
+gl_TEXTURE_RESIDENT = 0x8067
+
+gl_TEXTURE_STACK_DEPTH :: GLenum
+gl_TEXTURE_STACK_DEPTH = 0x0BA5
+
+gl_TRANSFORM_BIT :: GLbitfield
+gl_TRANSFORM_BIT = 0x00001000
+
+gl_TRANSPOSE_COLOR_MATRIX :: GLenum
+gl_TRANSPOSE_COLOR_MATRIX = 0x84E6
+
+gl_TRANSPOSE_MODELVIEW_MATRIX :: GLenum
+gl_TRANSPOSE_MODELVIEW_MATRIX = 0x84E3
+
+gl_TRANSPOSE_PROJECTION_MATRIX :: GLenum
+gl_TRANSPOSE_PROJECTION_MATRIX = 0x84E4
+
+gl_TRANSPOSE_TEXTURE_MATRIX :: GLenum
+gl_TRANSPOSE_TEXTURE_MATRIX = 0x84E5
+
+gl_V2F :: GLenum
+gl_V2F = 0x2A20
+
+gl_V3F :: GLenum
+gl_V3F = 0x2A21
+
+gl_VERTEX_ARRAY :: GLenum
+gl_VERTEX_ARRAY = 0x8074
+
+gl_VERTEX_ARRAY_BUFFER_BINDING :: GLenum
+gl_VERTEX_ARRAY_BUFFER_BINDING = 0x8896
+
+gl_VERTEX_ARRAY_COUNT :: GLenum
+gl_VERTEX_ARRAY_COUNT = 0x807D
+
+gl_VERTEX_ARRAY_POINTER :: GLenum
+gl_VERTEX_ARRAY_POINTER = 0x808E
+
+gl_VERTEX_ARRAY_SIZE :: GLenum
+gl_VERTEX_ARRAY_SIZE = 0x807A
+
+gl_VERTEX_ARRAY_STRIDE :: GLenum
+gl_VERTEX_ARRAY_STRIDE = 0x807C
+
+gl_VERTEX_ARRAY_TYPE :: GLenum
+gl_VERTEX_ARRAY_TYPE = 0x807B
+
+gl_VERTEX_PROGRAM_TWO_SIDE :: GLenum
+gl_VERTEX_PROGRAM_TWO_SIDE = 0x8643
+
+gl_VIEWPORT_BIT :: GLbitfield
+gl_VIEWPORT_BIT = 0x00000800
+
+gl_WEIGHT_ARRAY_BUFFER_BINDING :: GLenum
+gl_WEIGHT_ARRAY_BUFFER_BINDING = 0x889E
+
+gl_ZOOM_X :: GLenum
+gl_ZOOM_X = 0x0D16
+
+gl_ZOOM_Y :: GLenum
+gl_ZOOM_Y = 0x0D17
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/ComputeShader.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/ComputeShader.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/ComputeShader.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/ComputeShader.hs
@@ -1,106 +1,106 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.ComputeShader
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the ARB_compute_shader extension, see
--- <http://www.opengl.org/registry/specs/ARB/compute_shader.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.ComputeShader (
-   -- * Functions
-   glDispatchCompute, glDispatchComputeIndirect,
-
-   -- * Tokens
-   gl_COMPUTE_SHADER,
-   gl_MAX_COMPUTE_UNIFORM_BLOCKS,
-   gl_MAX_COMPUTE_TEXTURE_IMAGE_UNITS,
-   gl_MAX_COMPUTE_IMAGE_UNIFORMS,
-   gl_MAX_COMPUTE_SHARED_MEMORY_SIZE,
-   gl_MAX_COMPUTE_UNIFORM_COMPONENTS,
-   gl_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS,
-   gl_MAX_COMPUTE_ATOMIC_COUNTERS,
-   gl_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS,
-   gl_MAX_COMPUTE_LOCAL_INVOCATIONS,
-   gl_MAX_COMPUTE_WORK_GROUP_COUNT,
-   gl_MAX_COMPUTE_WORK_GROUP_SIZE,
-   gl_COMPUTE_LOCAL_WORK_SIZE,
-   gl_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER,
-   gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER,
-   gl_DISPATCH_INDIRECT_BUFFER,
-   gl_DISPATCH_INDIRECT_BUFFER_BINDING,
-   gl_COMPUTE_SHADER_BIT
-) where
-
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_ARB_compute_shader"
-
-EXTENSION_ENTRY(glDispatchCompute,GLuint -> GLuint -> GLuint -> IO ())
-EXTENSION_ENTRY(glDispatchComputeIndirect,GLintptr -> IO ())
-
-gl_COMPUTE_SHADER :: GLenum
-gl_COMPUTE_SHADER = 0x91B9
-
-gl_MAX_COMPUTE_UNIFORM_BLOCKS :: GLenum
-gl_MAX_COMPUTE_UNIFORM_BLOCKS = 0x91BB
-
-gl_MAX_COMPUTE_TEXTURE_IMAGE_UNITS :: GLenum
-gl_MAX_COMPUTE_TEXTURE_IMAGE_UNITS = 0x91BC
-
-gl_MAX_COMPUTE_IMAGE_UNIFORMS :: GLenum
-gl_MAX_COMPUTE_IMAGE_UNIFORMS = 0x91BD
-
-gl_MAX_COMPUTE_SHARED_MEMORY_SIZE :: GLenum
-gl_MAX_COMPUTE_SHARED_MEMORY_SIZE = 0x8262
-
-gl_MAX_COMPUTE_UNIFORM_COMPONENTS :: GLenum
-gl_MAX_COMPUTE_UNIFORM_COMPONENTS = 0x8263
-
-gl_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS :: GLenum
-gl_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS = 0x8264
-
-gl_MAX_COMPUTE_ATOMIC_COUNTERS :: GLenum
-gl_MAX_COMPUTE_ATOMIC_COUNTERS = 0x8265
-
-gl_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS :: GLenum
-gl_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS = 0x8266
-
-gl_MAX_COMPUTE_LOCAL_INVOCATIONS :: GLenum
-gl_MAX_COMPUTE_LOCAL_INVOCATIONS = 0x90EB
-
-gl_MAX_COMPUTE_WORK_GROUP_COUNT :: GLenum
-gl_MAX_COMPUTE_WORK_GROUP_COUNT = 0x91BE
-
-gl_MAX_COMPUTE_WORK_GROUP_SIZE :: GLenum
-gl_MAX_COMPUTE_WORK_GROUP_SIZE = 0x91BF
-
-gl_COMPUTE_LOCAL_WORK_SIZE :: GLenum
-gl_COMPUTE_LOCAL_WORK_SIZE = 0x8267
-
-gl_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER :: GLenum
-gl_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER = 0x90EC
-
-gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER :: GLenum
-gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER = 0x90ED
-
-gl_DISPATCH_INDIRECT_BUFFER :: GLenum
-gl_DISPATCH_INDIRECT_BUFFER = 0x90EE
-
-gl_DISPATCH_INDIRECT_BUFFER_BINDING :: GLenum
-gl_DISPATCH_INDIRECT_BUFFER_BINDING = 0x90EF
-
-gl_COMPUTE_SHADER_BIT :: GLbitfield
-gl_COMPUTE_SHADER_BIT = 0x00000020
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.ComputeShader
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the ARB_compute_shader extension, see
+-- <http://www.opengl.org/registry/specs/ARB/compute_shader.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.ComputeShader (
+   -- * Functions
+   glDispatchCompute, glDispatchComputeIndirect,
+
+   -- * Tokens
+   gl_COMPUTE_SHADER,
+   gl_MAX_COMPUTE_UNIFORM_BLOCKS,
+   gl_MAX_COMPUTE_TEXTURE_IMAGE_UNITS,
+   gl_MAX_COMPUTE_IMAGE_UNIFORMS,
+   gl_MAX_COMPUTE_SHARED_MEMORY_SIZE,
+   gl_MAX_COMPUTE_UNIFORM_COMPONENTS,
+   gl_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS,
+   gl_MAX_COMPUTE_ATOMIC_COUNTERS,
+   gl_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS,
+   gl_MAX_COMPUTE_LOCAL_INVOCATIONS,
+   gl_MAX_COMPUTE_WORK_GROUP_COUNT,
+   gl_MAX_COMPUTE_WORK_GROUP_SIZE,
+   gl_COMPUTE_LOCAL_WORK_SIZE,
+   gl_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER,
+   gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER,
+   gl_DISPATCH_INDIRECT_BUFFER,
+   gl_DISPATCH_INDIRECT_BUFFER_BINDING,
+   gl_COMPUTE_SHADER_BIT
+) where
+
+import Foreign.C.Types
+import Graphics.Rendering.OpenGL.Raw.Extensions
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_ARB_compute_shader"
+
+EXTENSION_ENTRY(dyn_glDispatchCompute,ptr_glDispatchCompute,"glDispatchCompute",glDispatchCompute,GLuint -> GLuint -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glDispatchComputeIndirect,ptr_glDispatchComputeIndirect,"glDispatchComputeIndirect",glDispatchComputeIndirect,GLintptr -> IO ())
+
+gl_COMPUTE_SHADER :: GLenum
+gl_COMPUTE_SHADER = 0x91B9
+
+gl_MAX_COMPUTE_UNIFORM_BLOCKS :: GLenum
+gl_MAX_COMPUTE_UNIFORM_BLOCKS = 0x91BB
+
+gl_MAX_COMPUTE_TEXTURE_IMAGE_UNITS :: GLenum
+gl_MAX_COMPUTE_TEXTURE_IMAGE_UNITS = 0x91BC
+
+gl_MAX_COMPUTE_IMAGE_UNIFORMS :: GLenum
+gl_MAX_COMPUTE_IMAGE_UNIFORMS = 0x91BD
+
+gl_MAX_COMPUTE_SHARED_MEMORY_SIZE :: GLenum
+gl_MAX_COMPUTE_SHARED_MEMORY_SIZE = 0x8262
+
+gl_MAX_COMPUTE_UNIFORM_COMPONENTS :: GLenum
+gl_MAX_COMPUTE_UNIFORM_COMPONENTS = 0x8263
+
+gl_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS :: GLenum
+gl_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS = 0x8264
+
+gl_MAX_COMPUTE_ATOMIC_COUNTERS :: GLenum
+gl_MAX_COMPUTE_ATOMIC_COUNTERS = 0x8265
+
+gl_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS :: GLenum
+gl_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS = 0x8266
+
+gl_MAX_COMPUTE_LOCAL_INVOCATIONS :: GLenum
+gl_MAX_COMPUTE_LOCAL_INVOCATIONS = 0x90EB
+
+gl_MAX_COMPUTE_WORK_GROUP_COUNT :: GLenum
+gl_MAX_COMPUTE_WORK_GROUP_COUNT = 0x91BE
+
+gl_MAX_COMPUTE_WORK_GROUP_SIZE :: GLenum
+gl_MAX_COMPUTE_WORK_GROUP_SIZE = 0x91BF
+
+gl_COMPUTE_LOCAL_WORK_SIZE :: GLenum
+gl_COMPUTE_LOCAL_WORK_SIZE = 0x8267
+
+gl_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER :: GLenum
+gl_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER = 0x90EC
+
+gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER :: GLenum
+gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER = 0x90ED
+
+gl_DISPATCH_INDIRECT_BUFFER :: GLenum
+gl_DISPATCH_INDIRECT_BUFFER = 0x90EE
+
+gl_DISPATCH_INDIRECT_BUFFER_BINDING :: GLenum
+gl_DISPATCH_INDIRECT_BUFFER_BINDING = 0x90EF
+
+gl_COMPUTE_SHADER_BIT :: GLbitfield
+gl_COMPUTE_SHADER_BIT = 0x00000020
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/CopyBuffer.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/CopyBuffer.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/CopyBuffer.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/CopyBuffer.hs
@@ -1,47 +1,47 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.CopyBuffer
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the ARB_copy_buffer extension, see
--- <http://www.opengl.org/registry/specs/ARB/copy_buffer.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.CopyBuffer (
-   -- * Functions
-    glCopyBufferSubData,
-   -- * Tokens
-   gl_COPY_READ_BUFFER_BINDING, gl_COPY_READ_BUFFER,
-   gl_COPY_WRITE_BUFFER_BINDING, gl_COPY_WRITE_BUFFER
-
-) where
-
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_ARB_copy_buffer"
-
-EXTENSION_ENTRY(glCopyBufferSubData,GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> IO ())
-
-gl_COPY_READ_BUFFER_BINDING :: GLenum
-gl_COPY_READ_BUFFER_BINDING = 0x8F36
-
-gl_COPY_READ_BUFFER :: GLenum
-gl_COPY_READ_BUFFER = gl_COPY_READ_BUFFER
-
-gl_COPY_WRITE_BUFFER_BINDING :: GLenum
-gl_COPY_WRITE_BUFFER_BINDING = 0x8F37
-
-gl_COPY_WRITE_BUFFER :: GLenum
-gl_COPY_WRITE_BUFFER = gl_COPY_WRITE_BUFFER_BINDING
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.CopyBuffer
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the ARB_copy_buffer extension, see
+-- <http://www.opengl.org/registry/specs/ARB/copy_buffer.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.CopyBuffer (
+   -- * Functions
+    glCopyBufferSubData,
+   -- * Tokens
+   gl_COPY_READ_BUFFER_BINDING, gl_COPY_READ_BUFFER,
+   gl_COPY_WRITE_BUFFER_BINDING, gl_COPY_WRITE_BUFFER
+
+) where
+
+import Foreign.C.Types
+import Graphics.Rendering.OpenGL.Raw.Extensions
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_ARB_copy_buffer"
+
+EXTENSION_ENTRY(dyn_glCopyBufferSubData,ptr_glCopyBufferSubData,"glCopyBufferSubData",glCopyBufferSubData,GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> IO ())
+
+gl_COPY_READ_BUFFER_BINDING :: GLenum
+gl_COPY_READ_BUFFER_BINDING = 0x8F36
+
+gl_COPY_READ_BUFFER :: GLenum
+gl_COPY_READ_BUFFER = gl_COPY_READ_BUFFER
+
+gl_COPY_WRITE_BUFFER_BINDING :: GLenum
+gl_COPY_WRITE_BUFFER_BINDING = 0x8F37
+
+gl_COPY_WRITE_BUFFER :: GLenum
+gl_COPY_WRITE_BUFFER = gl_COPY_WRITE_BUFFER_BINDING
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/CreateContextProfile.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/CreateContextProfile.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/CreateContextProfile.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/CreateContextProfile.hs
@@ -1,32 +1,32 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.CreateContextProfile
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All tokens from the ARB_create_context_profile extension, see
--- <http://www.opengl.org/registry/specs/ARB/create_context_profile.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.CreateContextProfile (
-   -- * Tokens
-   gl_CONTEXT_CORE_PROFILE_BIT,
-   gl_CONTEXT_COMPATIBILITY_PROFILE_BIT,
-   gl_CONTEXT_PROFILE_MASK
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-
-gl_CONTEXT_CORE_PROFILE_BIT :: GLbitfield
-gl_CONTEXT_CORE_PROFILE_BIT = 0x00000001
-
-gl_CONTEXT_COMPATIBILITY_PROFILE_BIT :: GLbitfield
-gl_CONTEXT_COMPATIBILITY_PROFILE_BIT = 0x00000002
-
-gl_CONTEXT_PROFILE_MASK :: GLenum
-gl_CONTEXT_PROFILE_MASK = 0x9126
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.CreateContextProfile
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All tokens from the ARB_create_context_profile extension, see
+-- <http://www.opengl.org/registry/specs/ARB/create_context_profile.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.CreateContextProfile (
+   -- * Tokens
+   gl_CONTEXT_CORE_PROFILE_BIT,
+   gl_CONTEXT_COMPATIBILITY_PROFILE_BIT,
+   gl_CONTEXT_PROFILE_MASK
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+
+gl_CONTEXT_CORE_PROFILE_BIT :: GLbitfield
+gl_CONTEXT_CORE_PROFILE_BIT = 0x00000001
+
+gl_CONTEXT_COMPATIBILITY_PROFILE_BIT :: GLbitfield
+gl_CONTEXT_COMPATIBILITY_PROFILE_BIT = 0x00000002
+
+gl_CONTEXT_PROFILE_MASK :: GLenum
+gl_CONTEXT_PROFILE_MASK = 0x9126
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/DepthBufferFloat.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/DepthBufferFloat.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/DepthBufferFloat.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/DepthBufferFloat.hs
@@ -1,23 +1,23 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.DepthBufferFloat
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All tokens from the ARB_depth_buffer_float extension, see
--- <http://www.opengl.org/registry/specs/ARB/depth_buffer_float.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.DepthBufferFloat (
-   -- * Tokens
-   gl_DEPTH_COMPONENT32F,
-   gl_DEPTH32F_STENCIL8,
-   gl_FLOAT_32_UNSIGNED_INT_24_8_REV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core32
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.DepthBufferFloat
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All tokens from the ARB_depth_buffer_float extension, see
+-- <http://www.opengl.org/registry/specs/ARB/depth_buffer_float.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.DepthBufferFloat (
+   -- * Tokens
+   gl_DEPTH_COMPONENT32F,
+   gl_DEPTH32F_STENCIL8,
+   gl_FLOAT_32_UNSIGNED_INT_24_8_REV
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/DepthClamp.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/DepthClamp.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/DepthClamp.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/DepthClamp.hs
@@ -1,24 +1,24 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.DepthClamp
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All tokens from the ARB_depth_clamp extension, see
--- <http://www.opengl.org/registry/specs/ARB/depth_clamp.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.DepthClamp (
-   -- * Tokens
-   gl_DEPTH_CLAMP
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-
-gl_DEPTH_CLAMP :: GLenum
-gl_DEPTH_CLAMP = 0x864F
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.DepthClamp
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All tokens from the ARB_depth_clamp extension, see
+-- <http://www.opengl.org/registry/specs/ARB/depth_clamp.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.DepthClamp (
+   -- * Tokens
+   gl_DEPTH_CLAMP
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+
+gl_DEPTH_CLAMP :: GLenum
+gl_DEPTH_CLAMP = 0x864F
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/DepthTexture.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/DepthTexture.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/DepthTexture.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/DepthTexture.hs
@@ -1,27 +1,27 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.DepthTexture
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All tokens from the ARB_depth_texture extension extension, see
--- <http://www.opengl.org/registry/specs/ARB/depth_texture.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.DepthTexture (
-   -- * Tokens
-   gl_DEPTH_COMPONENT,
-   gl_DEPTH_COMPONENT16,
-   gl_DEPTH_COMPONENT24,
-   gl_DEPTH_COMPONENT32,
-   gl_TEXTURE_DEPTH_SIZE,
-   gl_DEPTH_TEXTURE_MODE
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
-import Graphics.Rendering.OpenGL.Raw.Core32
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.DepthTexture
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All tokens from the ARB_depth_texture extension extension, see
+-- <http://www.opengl.org/registry/specs/ARB/depth_texture.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.DepthTexture (
+   -- * Tokens
+   gl_DEPTH_COMPONENT,
+   gl_DEPTH_COMPONENT16,
+   gl_DEPTH_COMPONENT24,
+   gl_DEPTH_COMPONENT32,
+   gl_TEXTURE_DEPTH_SIZE,
+   gl_DEPTH_TEXTURE_MODE
+) where
+
+import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
+import Graphics.Rendering.OpenGL.Raw.Core32
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/DrawBuffers.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/DrawBuffers.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/DrawBuffers.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/DrawBuffers.hs
@@ -1,39 +1,39 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.DrawBuffers
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the ARB_point_sprite extension, see
--- <http://www.opengl.org/registry/specs/ARB/point_sprite.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.DrawBuffers (
-   -- * Functions
-   glDrawBuffers,
-   -- * Tokens
-   gl_MAX_DRAW_BUFFERS,
-   gl_DRAW_BUFFER0,
-   gl_DRAW_BUFFER1,
-   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_BUFFER10,
-   gl_DRAW_BUFFER11,
-   gl_DRAW_BUFFER12,
-   gl_DRAW_BUFFER13,
-   gl_DRAW_BUFFER14,
-   gl_DRAW_BUFFER15
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core32
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.DrawBuffers
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the ARB_point_sprite extension, see
+-- <http://www.opengl.org/registry/specs/ARB/point_sprite.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.DrawBuffers (
+   -- * Functions
+   glDrawBuffers,
+   -- * Tokens
+   gl_MAX_DRAW_BUFFERS,
+   gl_DRAW_BUFFER0,
+   gl_DRAW_BUFFER1,
+   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_BUFFER10,
+   gl_DRAW_BUFFER11,
+   gl_DRAW_BUFFER12,
+   gl_DRAW_BUFFER13,
+   gl_DRAW_BUFFER14,
+   gl_DRAW_BUFFER15
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/DrawBuffersBlend.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/DrawBuffersBlend.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/DrawBuffersBlend.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/DrawBuffersBlend.hs
@@ -1,38 +1,38 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.DrawBuffersBlend
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions from the ARB_draw_buffers_blend extension, see
--- <http://www.opengl.org/registry/specs/ARB/draw_buffers_blend.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.DrawBuffersBlend (
-   -- * Functions
-   glBlendEquationi,
-   glBlendEquationSeparatei,
-   glBlendFunci,
-   glBlendFuncSeparatei
-) where
-
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core32
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_ARB_draw_buffers_blend"
-
-EXTENSION_ENTRY(glBlendEquationi,GLuint -> GLenum -> IO ())
-EXTENSION_ENTRY(glBlendEquationSeparatei,GLuint -> GLenum -> GLenum -> IO ())
-EXTENSION_ENTRY(glBlendFunci,GLuint -> GLenum -> GLenum -> IO ())
-EXTENSION_ENTRY(glBlendFuncSeparatei,GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.DrawBuffersBlend
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions from the ARB_draw_buffers_blend extension, see
+-- <http://www.opengl.org/registry/specs/ARB/draw_buffers_blend.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.DrawBuffersBlend (
+   -- * Functions
+   glBlendEquationi,
+   glBlendEquationSeparatei,
+   glBlendFunci,
+   glBlendFuncSeparatei
+) where
+
+import Foreign.C.Types
+import Graphics.Rendering.OpenGL.Raw.Core32
+import Graphics.Rendering.OpenGL.Raw.Extensions
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_ARB_draw_buffers_blend"
+
+EXTENSION_ENTRY(dyn_glBlendEquationi,ptr_glBlendEquationi,"glBlendEquationi",glBlendEquationi,GLuint -> GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glBlendEquationSeparatei,ptr_glBlendEquationSeparatei,"glBlendEquationSeparatei",glBlendEquationSeparatei,GLuint -> GLenum -> GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glBlendFunci,ptr_glBlendFunci,"glBlendFunci",glBlendFunci,GLuint -> GLenum -> GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glBlendFuncSeparatei,ptr_glBlendFuncSeparatei,"glBlendFuncSeparatei",glBlendFuncSeparatei,GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
+
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/DrawElementsBaseVertex.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/DrawElementsBaseVertex.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/DrawElementsBaseVertex.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/DrawElementsBaseVertex.hs
@@ -1,38 +1,38 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.DrawElementsBaseVertex
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions from the ARB_draw_elements_base_vertex extension, see
--- <http://www.opengl.org/registry/specs/ARB/draw_elements_base_vertex.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.DrawElementsBaseVertex (
-   -- * Functions
-   glDrawElementsBaseVertex,
-   glDrawRangeElementsBaseVertex,
-   glDrawElementsInstancedBaseVertex,
-   glMultiDrawElementsBaseVertex
-) where
-
-import Foreign.Ptr
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_ARB_draw_elements_base_vertex"
-
-EXTENSION_ENTRY(glDrawElementsBaseVertex,GLenum -> GLsizei -> GLenum -> Ptr a -> GLint -> IO ())
-EXTENSION_ENTRY(glDrawRangeElementsBaseVertex,GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> GLint -> IO ())
-EXTENSION_ENTRY(glDrawElementsInstancedBaseVertex,GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> IO ())
-EXTENSION_ENTRY(glMultiDrawElementsBaseVertex,GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> Ptr GLint -> IO ())
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.DrawElementsBaseVertex
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions from the ARB_draw_elements_base_vertex extension, see
+-- <http://www.opengl.org/registry/specs/ARB/draw_elements_base_vertex.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.DrawElementsBaseVertex (
+   -- * Functions
+   glDrawElementsBaseVertex,
+   glDrawRangeElementsBaseVertex,
+   glDrawElementsInstancedBaseVertex,
+   glMultiDrawElementsBaseVertex
+) where
+
+import Foreign.Ptr
+import Foreign.C.Types
+import Graphics.Rendering.OpenGL.Raw.Extensions
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_ARB_draw_elements_base_vertex"
+
+EXTENSION_ENTRY(dyn_glDrawElementsBaseVertex,ptr_glDrawElementsBaseVertex,"glDrawElementsBaseVertex",glDrawElementsBaseVertex,GLenum -> GLsizei -> GLenum -> Ptr a -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glDrawRangeElementsBaseVertex,ptr_glDrawRangeElementsBaseVertex,"glDrawRangeElementsBaseVertex",glDrawRangeElementsBaseVertex,GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glDrawElementsInstancedBaseVertex,ptr_glDrawElementsInstancedBaseVertex,"glDrawElementsInstancedBaseVertex",glDrawElementsInstancedBaseVertex,GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glMultiDrawElementsBaseVertex,ptr_glMultiDrawElementsBaseVertex,"glMultiDrawElementsBaseVertex",glMultiDrawElementsBaseVertex,GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> Ptr GLint -> IO ())
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/DrawIndirect.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/DrawIndirect.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/DrawIndirect.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/DrawIndirect.hs
@@ -1,43 +1,43 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.DrawIndirect
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the ARB_draw_indirect extension, see
--- <http://www.opengl.org/registry/specs/ARB/draw_indirect.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.DrawIndirect (
-   -- * Functions
-   glDrawArraysIndirect, glDrawElementsIndirect,
-
-   -- * Tokens
-   gl_DRAW_INDIRECT_BUFFER, gl_DRAW_INDIRECT_BUFFER_BINDING
-
-) where
-
-import Foreign.C.Types
-import Foreign.Ptr
-import Graphics.Rendering.OpenGL.Raw.Extensions
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_ARB_draw_indirect"
-
-EXTENSION_ENTRY(glDrawArraysIndirect,GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(glDrawElementsIndirect,GLenum -> GLenum -> Ptr a -> IO ())
-
-gl_DRAW_INDIRECT_BUFFER :: GLenum
-gl_DRAW_INDIRECT_BUFFER = 0x8F3F
-
-gl_DRAW_INDIRECT_BUFFER_BINDING :: GLenum
-gl_DRAW_INDIRECT_BUFFER_BINDING = 0x8F43
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.DrawIndirect
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the ARB_draw_indirect extension, see
+-- <http://www.opengl.org/registry/specs/ARB/draw_indirect.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.DrawIndirect (
+   -- * Functions
+   glDrawArraysIndirect, glDrawElementsIndirect,
+
+   -- * Tokens
+   gl_DRAW_INDIRECT_BUFFER, gl_DRAW_INDIRECT_BUFFER_BINDING
+
+) where
+
+import Foreign.C.Types
+import Foreign.Ptr
+import Graphics.Rendering.OpenGL.Raw.Extensions
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_ARB_draw_indirect"
+
+EXTENSION_ENTRY(dyn_glDrawArraysIndirect,ptr_glDrawArraysIndirect,"glDrawArraysIndirect",glDrawArraysIndirect,GLenum -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glDrawElementsIndirect,ptr_glDrawElementsIndirect,"glDrawElementsIndirect",glDrawElementsIndirect,GLenum -> GLenum -> Ptr a -> IO ())
+
+gl_DRAW_INDIRECT_BUFFER :: GLenum
+gl_DRAW_INDIRECT_BUFFER = 0x8F3F
+
+gl_DRAW_INDIRECT_BUFFER_BINDING :: GLenum
+gl_DRAW_INDIRECT_BUFFER_BINDING = 0x8F43
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/DrawInstanced.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/DrawInstanced.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/DrawInstanced.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/DrawInstanced.hs
@@ -1,34 +1,34 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.DrawInstanced
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions from the ARB_draw_instanced extension, see
--- <http://www.opengl.org/registry/specs/ARB/draw_instanced.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.DrawInstanced (
-   -- * Functions
-   glDrawArraysInstanced,
-   glDrawElementsInstanced
-) where
-
-import Foreign.Ptr
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_ARB_draw_instanced"
-
-EXTENSION_ENTRY(glDrawArraysInstanced,GLenum -> GLint -> GLsizei -> GLsizei -> IO ())
-EXTENSION_ENTRY(glDrawElementsInstanced,GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> IO ())
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.DrawInstanced
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions from the ARB_draw_instanced extension, see
+-- <http://www.opengl.org/registry/specs/ARB/draw_instanced.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.DrawInstanced (
+   -- * Functions
+   glDrawArraysInstanced,
+   glDrawElementsInstanced
+) where
+
+import Foreign.Ptr
+import Foreign.C.Types
+import Graphics.Rendering.OpenGL.Raw.Extensions
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_ARB_draw_instanced"
+
+EXTENSION_ENTRY(dyn_glDrawArraysInstanced,ptr_glDrawArraysInstanced,"glDrawArraysInstanced",glDrawArraysInstanced,GLenum -> GLint -> GLsizei -> GLsizei -> IO ())
+EXTENSION_ENTRY(dyn_glDrawElementsInstanced,ptr_glDrawElementsInstanced,"glDrawElementsInstanced",glDrawElementsInstanced,GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> IO ())
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/ES2Compatibility.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/ES2Compatibility.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/ES2Compatibility.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/ES2Compatibility.hs
@@ -1,106 +1,106 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.ES2Compatibility
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions, tokens and types from the ARB_ES2_compatibility extension,
--- see <http://www.opengl.org/registry/specs/ARB/ES2_compatibility.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.ES2Compatibility (
-   -- * Functions
-   glReleaseShaderCompiler,
-   glShaderBinary,
-   glGetShaderPrecisionFormat,
-   glDepthRangef,
-   glClearDepthf,
-
-   -- * Tokens
-   gl_FIXED,
-   gl_IMPLEMENTATION_COLOR_READ_TYPE,
-   gl_IMPLEMENTATION_COLOR_READ_FORMAT,
-   gl_LOW_FLOAT,
-   gl_MEDIUM_FLOAT,
-   gl_HIGH_FLOAT,
-   gl_LOW_INT,
-   gl_MEDIUM_INT,
-   gl_HIGH_INT,
-   gl_SHADER_COMPILER,
-   gl_SHADER_BINARY_FORMATS,
-   gl_NUM_SHADER_BINARY_FORMATS,
-   gl_MAX_VERTEX_UNIFORM_VECTORS,
-   gl_MAX_VARYING_VECTORS,
-   gl_MAX_FRAGMENT_UNIFORM_VECTORS,
-   gl_RGB565
-) where
-
-import Foreign.C.Types
-import Foreign.Ptr
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_ARB_ES2_compatibility"
-
-EXTENSION_ENTRY(glReleaseShaderCompiler,IO ())
-EXTENSION_ENTRY(glShaderBinary,GLsizei -> Ptr GLuint -> GLenum -> Ptr a -> GLsizei -> IO ())
-EXTENSION_ENTRY(glGetShaderPrecisionFormat,GLenum -> GLenum -> Ptr GLint -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glDepthRangef,GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(glClearDepthf,GLfloat -> IO ())
-
-gl_FIXED :: GLenum
-gl_FIXED = 0x140C
-
-gl_IMPLEMENTATION_COLOR_READ_TYPE :: GLenum
-gl_IMPLEMENTATION_COLOR_READ_TYPE = 0x8B9A
-
-gl_IMPLEMENTATION_COLOR_READ_FORMAT :: GLenum
-gl_IMPLEMENTATION_COLOR_READ_FORMAT = 0x8B9B
-
-gl_LOW_FLOAT :: GLenum
-gl_LOW_FLOAT = 0x8DF0
-
-gl_MEDIUM_FLOAT :: GLenum
-gl_MEDIUM_FLOAT = 0x8DF1
-
-gl_HIGH_FLOAT :: GLenum
-gl_HIGH_FLOAT = 0x8DF2
-
-gl_LOW_INT :: GLenum
-gl_LOW_INT = 0x8DF3
-
-gl_MEDIUM_INT :: GLenum
-gl_MEDIUM_INT = 0x8DF4
-
-gl_HIGH_INT :: GLenum
-gl_HIGH_INT = 0x8DF5
-
-gl_SHADER_COMPILER :: GLenum
-gl_SHADER_COMPILER = 0x8DFA
-
-gl_SHADER_BINARY_FORMATS :: GLenum
-gl_SHADER_BINARY_FORMATS = 0x8DF8
-
-gl_NUM_SHADER_BINARY_FORMATS :: GLenum
-gl_NUM_SHADER_BINARY_FORMATS = 0x8DF9
-
-gl_MAX_VERTEX_UNIFORM_VECTORS :: GLenum
-gl_MAX_VERTEX_UNIFORM_VECTORS = 0x8DFB
-
-gl_MAX_VARYING_VECTORS :: GLenum
-gl_MAX_VARYING_VECTORS = 0x8DFC
-
-gl_MAX_FRAGMENT_UNIFORM_VECTORS :: GLenum
-gl_MAX_FRAGMENT_UNIFORM_VECTORS = 0x8DFD
-
-gl_RGB565 :: GLenum
-gl_RGB565 = 0x8D62
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.ES2Compatibility
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions, tokens and types from the ARB_ES2_compatibility extension,
+-- see <http://www.opengl.org/registry/specs/ARB/ES2_compatibility.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.ES2Compatibility (
+   -- * Functions
+   glReleaseShaderCompiler,
+   glShaderBinary,
+   glGetShaderPrecisionFormat,
+   glDepthRangef,
+   glClearDepthf,
+
+   -- * Tokens
+   gl_FIXED,
+   gl_IMPLEMENTATION_COLOR_READ_TYPE,
+   gl_IMPLEMENTATION_COLOR_READ_FORMAT,
+   gl_LOW_FLOAT,
+   gl_MEDIUM_FLOAT,
+   gl_HIGH_FLOAT,
+   gl_LOW_INT,
+   gl_MEDIUM_INT,
+   gl_HIGH_INT,
+   gl_SHADER_COMPILER,
+   gl_SHADER_BINARY_FORMATS,
+   gl_NUM_SHADER_BINARY_FORMATS,
+   gl_MAX_VERTEX_UNIFORM_VECTORS,
+   gl_MAX_VARYING_VECTORS,
+   gl_MAX_FRAGMENT_UNIFORM_VECTORS,
+   gl_RGB565
+) where
+
+import Foreign.C.Types
+import Foreign.Ptr
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+import Graphics.Rendering.OpenGL.Raw.Extensions
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_ARB_ES2_compatibility"
+
+EXTENSION_ENTRY(dyn_glReleaseShaderCompiler,ptr_glReleaseShaderCompiler,"glReleaseShaderCompiler",glReleaseShaderCompiler,IO ())
+EXTENSION_ENTRY(dyn_glShaderBinary,ptr_glShaderBinary,"glShaderBinary",glShaderBinary,GLsizei -> Ptr GLuint -> GLenum -> Ptr a -> GLsizei -> IO ())
+EXTENSION_ENTRY(dyn_glGetShaderPrecisionFormat,ptr_glGetShaderPrecisionFormat,"glGetShaderPrecisionFormat",glGetShaderPrecisionFormat,GLenum -> GLenum -> Ptr GLint -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glDepthRangef,ptr_glDepthRangef,"glDepthRangef",glDepthRangef,GLfloat -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glClearDepthf,ptr_glClearDepthf,"glClearDepthf",glClearDepthf,GLfloat -> IO ())
+
+gl_FIXED :: GLenum
+gl_FIXED = 0x140C
+
+gl_IMPLEMENTATION_COLOR_READ_TYPE :: GLenum
+gl_IMPLEMENTATION_COLOR_READ_TYPE = 0x8B9A
+
+gl_IMPLEMENTATION_COLOR_READ_FORMAT :: GLenum
+gl_IMPLEMENTATION_COLOR_READ_FORMAT = 0x8B9B
+
+gl_LOW_FLOAT :: GLenum
+gl_LOW_FLOAT = 0x8DF0
+
+gl_MEDIUM_FLOAT :: GLenum
+gl_MEDIUM_FLOAT = 0x8DF1
+
+gl_HIGH_FLOAT :: GLenum
+gl_HIGH_FLOAT = 0x8DF2
+
+gl_LOW_INT :: GLenum
+gl_LOW_INT = 0x8DF3
+
+gl_MEDIUM_INT :: GLenum
+gl_MEDIUM_INT = 0x8DF4
+
+gl_HIGH_INT :: GLenum
+gl_HIGH_INT = 0x8DF5
+
+gl_SHADER_COMPILER :: GLenum
+gl_SHADER_COMPILER = 0x8DFA
+
+gl_SHADER_BINARY_FORMATS :: GLenum
+gl_SHADER_BINARY_FORMATS = 0x8DF8
+
+gl_NUM_SHADER_BINARY_FORMATS :: GLenum
+gl_NUM_SHADER_BINARY_FORMATS = 0x8DF9
+
+gl_MAX_VERTEX_UNIFORM_VECTORS :: GLenum
+gl_MAX_VERTEX_UNIFORM_VECTORS = 0x8DFB
+
+gl_MAX_VARYING_VECTORS :: GLenum
+gl_MAX_VARYING_VECTORS = 0x8DFC
+
+gl_MAX_FRAGMENT_UNIFORM_VECTORS :: GLenum
+gl_MAX_FRAGMENT_UNIFORM_VECTORS = 0x8DFD
+
+gl_RGB565 :: GLenum
+gl_RGB565 = 0x8D62
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/ES3Compatibility.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/ES3Compatibility.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/ES3Compatibility.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/ES3Compatibility.hs
@@ -1,72 +1,72 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.ES3Compatibility
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions, tokens and types from the ARB_ES3_compatibility extension,
--- see <http://www.opengl.org/registry/specs/ARB/ES3_compatibility.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.ES3Compatibility (
-   -- * Tokens
-   gl_COMPRESSED_RGB8_ETC2,
-   gl_COMPRESSED_SRGB8_ETC2,
-   gl_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,
-   gl_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,
-   gl_COMPRESSED_RGBA8_ETC2_EAC,
-   gl_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,
-   gl_COMPRESSED_R11_EAC,
-   gl_COMPRESSED_SIGNED_R11_EAC,
-   gl_COMPRESSED_RG11_EAC,
-   gl_COMPRESSED_SIGNED_RG11_EAC,
-   gl_PRIMITIVE_RESTART_FIXED_INDEX,
-   gl_ANY_SAMPLES_PASSED_CONSERVATIVE,
-   gl_MAX_ELEMENT_INDEX
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-
-gl_COMPRESSED_RGB8_ETC2 :: GLenum
-gl_COMPRESSED_RGB8_ETC2 = 0x9274
-
-gl_COMPRESSED_SRGB8_ETC2 :: GLenum
-gl_COMPRESSED_SRGB8_ETC2 = 0x9275
-
-gl_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 :: GLenum
-gl_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9276
-
-gl_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 :: GLenum
-gl_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9277
-
-gl_COMPRESSED_RGBA8_ETC2_EAC :: GLenum
-gl_COMPRESSED_RGBA8_ETC2_EAC = 0x9278
-
-gl_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC :: GLenum
-gl_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC = 0x9279
-
-gl_COMPRESSED_R11_EAC :: GLenum
-gl_COMPRESSED_R11_EAC = 0x9270
-
-gl_COMPRESSED_SIGNED_R11_EAC :: GLenum
-gl_COMPRESSED_SIGNED_R11_EAC = 0x9271
-
-gl_COMPRESSED_RG11_EAC :: GLenum
-gl_COMPRESSED_RG11_EAC = 0x9272
-
-gl_COMPRESSED_SIGNED_RG11_EAC :: GLenum
-gl_COMPRESSED_SIGNED_RG11_EAC = 0x9273
-
-gl_PRIMITIVE_RESTART_FIXED_INDEX :: GLenum
-gl_PRIMITIVE_RESTART_FIXED_INDEX = 0x8D69
-
-gl_ANY_SAMPLES_PASSED_CONSERVATIVE :: GLenum
-gl_ANY_SAMPLES_PASSED_CONSERVATIVE = 0x8D6A
-
-gl_MAX_ELEMENT_INDEX :: GLenum
-gl_MAX_ELEMENT_INDEX = 0x8D6B
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.ES3Compatibility
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions, tokens and types from the ARB_ES3_compatibility extension,
+-- see <http://www.opengl.org/registry/specs/ARB/ES3_compatibility.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.ES3Compatibility (
+   -- * Tokens
+   gl_COMPRESSED_RGB8_ETC2,
+   gl_COMPRESSED_SRGB8_ETC2,
+   gl_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,
+   gl_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,
+   gl_COMPRESSED_RGBA8_ETC2_EAC,
+   gl_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,
+   gl_COMPRESSED_R11_EAC,
+   gl_COMPRESSED_SIGNED_R11_EAC,
+   gl_COMPRESSED_RG11_EAC,
+   gl_COMPRESSED_SIGNED_RG11_EAC,
+   gl_PRIMITIVE_RESTART_FIXED_INDEX,
+   gl_ANY_SAMPLES_PASSED_CONSERVATIVE,
+   gl_MAX_ELEMENT_INDEX
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+
+gl_COMPRESSED_RGB8_ETC2 :: GLenum
+gl_COMPRESSED_RGB8_ETC2 = 0x9274
+
+gl_COMPRESSED_SRGB8_ETC2 :: GLenum
+gl_COMPRESSED_SRGB8_ETC2 = 0x9275
+
+gl_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 :: GLenum
+gl_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9276
+
+gl_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 :: GLenum
+gl_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9277
+
+gl_COMPRESSED_RGBA8_ETC2_EAC :: GLenum
+gl_COMPRESSED_RGBA8_ETC2_EAC = 0x9278
+
+gl_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC :: GLenum
+gl_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC = 0x9279
+
+gl_COMPRESSED_R11_EAC :: GLenum
+gl_COMPRESSED_R11_EAC = 0x9270
+
+gl_COMPRESSED_SIGNED_R11_EAC :: GLenum
+gl_COMPRESSED_SIGNED_R11_EAC = 0x9271
+
+gl_COMPRESSED_RG11_EAC :: GLenum
+gl_COMPRESSED_RG11_EAC = 0x9272
+
+gl_COMPRESSED_SIGNED_RG11_EAC :: GLenum
+gl_COMPRESSED_SIGNED_RG11_EAC = 0x9273
+
+gl_PRIMITIVE_RESTART_FIXED_INDEX :: GLenum
+gl_PRIMITIVE_RESTART_FIXED_INDEX = 0x8D69
+
+gl_ANY_SAMPLES_PASSED_CONSERVATIVE :: GLenum
+gl_ANY_SAMPLES_PASSED_CONSERVATIVE = 0x8D6A
+
+gl_MAX_ELEMENT_INDEX :: GLenum
+gl_MAX_ELEMENT_INDEX = 0x8D6B
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/FragmentProgram.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/FragmentProgram.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/FragmentProgram.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/FragmentProgram.hs
@@ -1,159 +1,159 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.FragmentProgram
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the ARB_fragment_program extension, see
--- <http://www.opengl.org/registry/specs/ARB/fragment_program.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.FragmentProgram (
-   -- * Functions
-   glProgramString,
-   glBindProgram,
-   glDeletePrograms,
-   glGenPrograms,
-   glProgramEnvParameter4d,
-   glProgramEnvParameter4dv,
-   glProgramEnvParameter4f,
-   glProgramEnvParameter4fv,
-   glProgramLocalParameter4d,
-   glProgramLocalParameter4dv,
-   glProgramLocalParameter4f,
-   glProgramLocalParameter4fv,
-   glGetProgramEnvParameterdv,
-   glGetProgramEnvParameterfv,
-   glGetProgramLocalParameterdv,
-   glGetProgramLocalParameterfv,
-   glGetProgramiv,
-   glGetProgramString,
-   glIsProgram,
-   -- * Tokens
-   gl_FRAGMENT_PROGRAM,
-   gl_PROGRAM_FORMAT_ASCII,
-   gl_PROGRAM_LENGTH,
-   gl_PROGRAM_FORMAT,
-   gl_PROGRAM_BINDING,
-   gl_PROGRAM_INSTRUCTIONS,
-   gl_MAX_PROGRAM_INSTRUCTIONS,
-   gl_PROGRAM_NATIVE_INSTRUCTIONS,
-   gl_MAX_PROGRAM_NATIVE_INSTRUCTIONS,
-   gl_PROGRAM_TEMPORARIES,
-   gl_MAX_PROGRAM_TEMPORARIES,
-   gl_PROGRAM_NATIVE_TEMPORARIES,
-   gl_MAX_PROGRAM_NATIVE_TEMPORARIES,
-   gl_PROGRAM_PARAMETERS,
-   gl_MAX_PROGRAM_PARAMETERS,
-   gl_PROGRAM_NATIVE_PARAMETERS,
-   gl_MAX_PROGRAM_NATIVE_PARAMETERS,
-   gl_PROGRAM_ATTRIBS,
-   gl_MAX_PROGRAM_ATTRIBS,
-   gl_PROGRAM_NATIVE_ATTRIBS,
-   gl_MAX_PROGRAM_NATIVE_ATTRIBS,
-   gl_MAX_PROGRAM_LOCAL_PARAMETERS,
-   gl_MAX_PROGRAM_ENV_PARAMETERS,
-   gl_PROGRAM_UNDER_NATIVE_LIMITS,
-   gl_PROGRAM_ALU_INSTRUCTIONS,
-   gl_PROGRAM_TEX_INSTRUCTIONS,
-   gl_PROGRAM_TEX_INDIRECTIONS,
-   gl_PROGRAM_NATIVE_ALU_INSTRUCTIONS,
-   gl_PROGRAM_NATIVE_TEX_INSTRUCTIONS,
-   gl_PROGRAM_NATIVE_TEX_INDIRECTIONS,
-   gl_MAX_PROGRAM_ALU_INSTRUCTIONS,
-   gl_MAX_PROGRAM_TEX_INSTRUCTIONS,
-   gl_MAX_PROGRAM_TEX_INDIRECTIONS,
-   gl_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS,
-   gl_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS,
-   gl_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS,
-   gl_PROGRAM_STRING,
-   gl_PROGRAM_ERROR_POSITION,
-   gl_CURRENT_MATRIX,
-   gl_TRANSPOSE_CURRENT_MATRIX,
-   gl_CURRENT_MATRIX_STACK_DEPTH,
-   gl_MAX_PROGRAM_MATRICES,
-   gl_MAX_PROGRAM_MATRIX_STACK_DEPTH,
-   gl_MAX_TEXTURE_COORDS,
-   gl_MAX_TEXTURE_IMAGE_UNITS,
-   gl_PROGRAM_ERROR_STRING,
-   gl_MATRIX0,
-   gl_MATRIX1,
-   gl_MATRIX2,
-   gl_MATRIX3,
-   gl_MATRIX4,
-   gl_MATRIX5,
-   gl_MATRIX6,
-   gl_MATRIX7,
-   gl_MATRIX8,
-   gl_MATRIX9,
-   gl_MATRIX10,
-   gl_MATRIX11,
-   gl_MATRIX12,
-   gl_MATRIX13,
-   gl_MATRIX14,
-   gl_MATRIX15,
-   gl_MATRIX16,
-   gl_MATRIX17,
-   gl_MATRIX18,
-   gl_MATRIX19,
-   gl_MATRIX20,
-   gl_MATRIX21,
-   gl_MATRIX22,
-   gl_MATRIX23,
-   gl_MATRIX24,
-   gl_MATRIX25,
-   gl_MATRIX26,
-   gl_MATRIX27,
-   gl_MATRIX28,
-   gl_MATRIX29,
-   gl_MATRIX30,
-   gl_MATRIX31
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
-import Graphics.Rendering.OpenGL.Raw.ARB.VertexProgram
-import Graphics.Rendering.OpenGL.Raw.Core32
-
-gl_FRAGMENT_PROGRAM :: GLenum
-gl_FRAGMENT_PROGRAM = 0x8804
-
-gl_PROGRAM_ALU_INSTRUCTIONS :: GLenum
-gl_PROGRAM_ALU_INSTRUCTIONS = 0x8805
-
-gl_PROGRAM_TEX_INSTRUCTIONS :: GLenum
-gl_PROGRAM_TEX_INSTRUCTIONS = 0x8806
-
-gl_PROGRAM_TEX_INDIRECTIONS :: GLenum
-gl_PROGRAM_TEX_INDIRECTIONS = 0x8807
-
-gl_PROGRAM_NATIVE_ALU_INSTRUCTIONS :: GLenum
-gl_PROGRAM_NATIVE_ALU_INSTRUCTIONS = 0x8808
-
-gl_PROGRAM_NATIVE_TEX_INSTRUCTIONS :: GLenum
-gl_PROGRAM_NATIVE_TEX_INSTRUCTIONS = 0x8809
-
-gl_PROGRAM_NATIVE_TEX_INDIRECTIONS :: GLenum
-gl_PROGRAM_NATIVE_TEX_INDIRECTIONS = 0x880A
-
-gl_MAX_PROGRAM_ALU_INSTRUCTIONS :: GLenum
-gl_MAX_PROGRAM_ALU_INSTRUCTIONS = 0x880B
-
-gl_MAX_PROGRAM_TEX_INSTRUCTIONS :: GLenum
-gl_MAX_PROGRAM_TEX_INSTRUCTIONS = 0x880C
-
-gl_MAX_PROGRAM_TEX_INDIRECTIONS :: GLenum
-gl_MAX_PROGRAM_TEX_INDIRECTIONS = 0x880D
-
-gl_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS :: GLenum
-gl_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS = 0x880E
-
-gl_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS :: GLenum
-gl_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS = 0x880F
-
-gl_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS :: GLenum
-gl_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS = 0x8810
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.FragmentProgram
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the ARB_fragment_program extension, see
+-- <http://www.opengl.org/registry/specs/ARB/fragment_program.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.FragmentProgram (
+   -- * Functions
+   glProgramString,
+   glBindProgram,
+   glDeletePrograms,
+   glGenPrograms,
+   glProgramEnvParameter4d,
+   glProgramEnvParameter4dv,
+   glProgramEnvParameter4f,
+   glProgramEnvParameter4fv,
+   glProgramLocalParameter4d,
+   glProgramLocalParameter4dv,
+   glProgramLocalParameter4f,
+   glProgramLocalParameter4fv,
+   glGetProgramEnvParameterdv,
+   glGetProgramEnvParameterfv,
+   glGetProgramLocalParameterdv,
+   glGetProgramLocalParameterfv,
+   glGetProgramiv,
+   glGetProgramString,
+   glIsProgram,
+   -- * Tokens
+   gl_FRAGMENT_PROGRAM,
+   gl_PROGRAM_FORMAT_ASCII,
+   gl_PROGRAM_LENGTH,
+   gl_PROGRAM_FORMAT,
+   gl_PROGRAM_BINDING,
+   gl_PROGRAM_INSTRUCTIONS,
+   gl_MAX_PROGRAM_INSTRUCTIONS,
+   gl_PROGRAM_NATIVE_INSTRUCTIONS,
+   gl_MAX_PROGRAM_NATIVE_INSTRUCTIONS,
+   gl_PROGRAM_TEMPORARIES,
+   gl_MAX_PROGRAM_TEMPORARIES,
+   gl_PROGRAM_NATIVE_TEMPORARIES,
+   gl_MAX_PROGRAM_NATIVE_TEMPORARIES,
+   gl_PROGRAM_PARAMETERS,
+   gl_MAX_PROGRAM_PARAMETERS,
+   gl_PROGRAM_NATIVE_PARAMETERS,
+   gl_MAX_PROGRAM_NATIVE_PARAMETERS,
+   gl_PROGRAM_ATTRIBS,
+   gl_MAX_PROGRAM_ATTRIBS,
+   gl_PROGRAM_NATIVE_ATTRIBS,
+   gl_MAX_PROGRAM_NATIVE_ATTRIBS,
+   gl_MAX_PROGRAM_LOCAL_PARAMETERS,
+   gl_MAX_PROGRAM_ENV_PARAMETERS,
+   gl_PROGRAM_UNDER_NATIVE_LIMITS,
+   gl_PROGRAM_ALU_INSTRUCTIONS,
+   gl_PROGRAM_TEX_INSTRUCTIONS,
+   gl_PROGRAM_TEX_INDIRECTIONS,
+   gl_PROGRAM_NATIVE_ALU_INSTRUCTIONS,
+   gl_PROGRAM_NATIVE_TEX_INSTRUCTIONS,
+   gl_PROGRAM_NATIVE_TEX_INDIRECTIONS,
+   gl_MAX_PROGRAM_ALU_INSTRUCTIONS,
+   gl_MAX_PROGRAM_TEX_INSTRUCTIONS,
+   gl_MAX_PROGRAM_TEX_INDIRECTIONS,
+   gl_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS,
+   gl_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS,
+   gl_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS,
+   gl_PROGRAM_STRING,
+   gl_PROGRAM_ERROR_POSITION,
+   gl_CURRENT_MATRIX,
+   gl_TRANSPOSE_CURRENT_MATRIX,
+   gl_CURRENT_MATRIX_STACK_DEPTH,
+   gl_MAX_PROGRAM_MATRICES,
+   gl_MAX_PROGRAM_MATRIX_STACK_DEPTH,
+   gl_MAX_TEXTURE_COORDS,
+   gl_MAX_TEXTURE_IMAGE_UNITS,
+   gl_PROGRAM_ERROR_STRING,
+   gl_MATRIX0,
+   gl_MATRIX1,
+   gl_MATRIX2,
+   gl_MATRIX3,
+   gl_MATRIX4,
+   gl_MATRIX5,
+   gl_MATRIX6,
+   gl_MATRIX7,
+   gl_MATRIX8,
+   gl_MATRIX9,
+   gl_MATRIX10,
+   gl_MATRIX11,
+   gl_MATRIX12,
+   gl_MATRIX13,
+   gl_MATRIX14,
+   gl_MATRIX15,
+   gl_MATRIX16,
+   gl_MATRIX17,
+   gl_MATRIX18,
+   gl_MATRIX19,
+   gl_MATRIX20,
+   gl_MATRIX21,
+   gl_MATRIX22,
+   gl_MATRIX23,
+   gl_MATRIX24,
+   gl_MATRIX25,
+   gl_MATRIX26,
+   gl_MATRIX27,
+   gl_MATRIX28,
+   gl_MATRIX29,
+   gl_MATRIX30,
+   gl_MATRIX31
+) where
+
+import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
+import Graphics.Rendering.OpenGL.Raw.ARB.VertexProgram
+import Graphics.Rendering.OpenGL.Raw.Core32
+
+gl_FRAGMENT_PROGRAM :: GLenum
+gl_FRAGMENT_PROGRAM = 0x8804
+
+gl_PROGRAM_ALU_INSTRUCTIONS :: GLenum
+gl_PROGRAM_ALU_INSTRUCTIONS = 0x8805
+
+gl_PROGRAM_TEX_INSTRUCTIONS :: GLenum
+gl_PROGRAM_TEX_INSTRUCTIONS = 0x8806
+
+gl_PROGRAM_TEX_INDIRECTIONS :: GLenum
+gl_PROGRAM_TEX_INDIRECTIONS = 0x8807
+
+gl_PROGRAM_NATIVE_ALU_INSTRUCTIONS :: GLenum
+gl_PROGRAM_NATIVE_ALU_INSTRUCTIONS = 0x8808
+
+gl_PROGRAM_NATIVE_TEX_INSTRUCTIONS :: GLenum
+gl_PROGRAM_NATIVE_TEX_INSTRUCTIONS = 0x8809
+
+gl_PROGRAM_NATIVE_TEX_INDIRECTIONS :: GLenum
+gl_PROGRAM_NATIVE_TEX_INDIRECTIONS = 0x880A
+
+gl_MAX_PROGRAM_ALU_INSTRUCTIONS :: GLenum
+gl_MAX_PROGRAM_ALU_INSTRUCTIONS = 0x880B
+
+gl_MAX_PROGRAM_TEX_INSTRUCTIONS :: GLenum
+gl_MAX_PROGRAM_TEX_INSTRUCTIONS = 0x880C
+
+gl_MAX_PROGRAM_TEX_INDIRECTIONS :: GLenum
+gl_MAX_PROGRAM_TEX_INDIRECTIONS = 0x880D
+
+gl_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS :: GLenum
+gl_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS = 0x880E
+
+gl_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS :: GLenum
+gl_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS = 0x880F
+
+gl_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS :: GLenum
+gl_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS = 0x8810
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/FragmentShader.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/FragmentShader.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/FragmentShader.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/FragmentShader.hs
@@ -1,26 +1,26 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.FragmentShader
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All tokens from the ARB_fragment_shader extension, see
--- <http://www.opengl.org/registry/specs/ARB/fragment_shader.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.FragmentShader (
-   -- * Tokens
-   gl_FRAGMENT_SHADER,
-   gl_MAX_FRAGMENT_UNIFORM_COMPONENTS,
-   gl_MAX_TEXTURE_COORDS,
-   gl_MAX_TEXTURE_IMAGE_UNITS,
-   gl_FRAGMENT_SHADER_DERIVATIVE_HINT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
-import Graphics.Rendering.OpenGL.Raw.Core32
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.FragmentShader
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All tokens from the ARB_fragment_shader extension, see
+-- <http://www.opengl.org/registry/specs/ARB/fragment_shader.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.FragmentShader (
+   -- * Tokens
+   gl_FRAGMENT_SHADER,
+   gl_MAX_FRAGMENT_UNIFORM_COMPONENTS,
+   gl_MAX_TEXTURE_COORDS,
+   gl_MAX_TEXTURE_IMAGE_UNITS,
+   gl_FRAGMENT_SHADER_DERIVATIVE_HINT
+) where
+
+import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
+import Graphics.Rendering.OpenGL.Raw.Core32
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/FramebufferNoAttachments.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/FramebufferNoAttachments.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/FramebufferNoAttachments.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/FramebufferNoAttachments.hs
@@ -1,73 +1,73 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.FramebufferNoAttachments
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the ARB_framebuffer_no_attachments
--- extension, see
--- <http://www.opengl.org/registry/specs/ARB/framebuffer_no_attachments.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.FramebufferNoAttachments (
-   -- * Functions
-   glFramebufferParameteri,
-   glGetFramebufferParameteriv,
-
-   -- * Tokens
-   gl_FRAMEBUFFER_DEFAULT_WIDTH,
-   gl_FRAMEBUFFER_DEFAULT_HEIGHT,
-   gl_FRAMEBUFFER_DEFAULT_LAYERS,
-   gl_FRAMEBUFFER_DEFAULT_SAMPLES,
-   gl_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS,
-   gl_MAX_FRAMEBUFFER_WIDTH,
-   gl_MAX_FRAMEBUFFER_HEIGHT,
-   gl_MAX_FRAMEBUFFER_LAYERS,
-   gl_MAX_FRAMEBUFFER_SAMPLES
-) where
-
-import Foreign.C.Types
-import Foreign.Ptr
-import Graphics.Rendering.OpenGL.Raw.Extensions
-import Graphics.Rendering.OpenGL.Raw.Types
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_ARB_framebuffer_no_attachments"
-
-EXTENSION_ENTRY(glFramebufferParameteri,GLenum -> GLenum -> GLint -> IO ())
-EXTENSION_ENTRY(glGetFramebufferParameteriv,GLenum -> GLenum -> Ptr GLint)
-
-gl_FRAMEBUFFER_DEFAULT_WIDTH :: GLenum
-gl_FRAMEBUFFER_DEFAULT_WIDTH = 0x9310
-
-gl_FRAMEBUFFER_DEFAULT_HEIGHT :: GLenum
-gl_FRAMEBUFFER_DEFAULT_HEIGHT = 0x9311
-
-gl_FRAMEBUFFER_DEFAULT_LAYERS :: GLenum
-gl_FRAMEBUFFER_DEFAULT_LAYERS = 0x9312
-
-gl_FRAMEBUFFER_DEFAULT_SAMPLES :: GLenum
-gl_FRAMEBUFFER_DEFAULT_SAMPLES = 0x9313
-
-gl_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS :: GLenum
-gl_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS = 0x9314
-
-gl_MAX_FRAMEBUFFER_WIDTH :: GLenum
-gl_MAX_FRAMEBUFFER_WIDTH = 0x9315
-
-gl_MAX_FRAMEBUFFER_HEIGHT :: GLenum
-gl_MAX_FRAMEBUFFER_HEIGHT = 0x9316
-
-gl_MAX_FRAMEBUFFER_LAYERS :: GLenum
-gl_MAX_FRAMEBUFFER_LAYERS = 0x9317
-
-gl_MAX_FRAMEBUFFER_SAMPLES :: GLenum
-gl_MAX_FRAMEBUFFER_SAMPLES = 0x9318
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.FramebufferNoAttachments
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the ARB_framebuffer_no_attachments
+-- extension, see
+-- <http://www.opengl.org/registry/specs/ARB/framebuffer_no_attachments.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.FramebufferNoAttachments (
+   -- * Functions
+   glFramebufferParameteri,
+   glGetFramebufferParameteriv,
+
+   -- * Tokens
+   gl_FRAMEBUFFER_DEFAULT_WIDTH,
+   gl_FRAMEBUFFER_DEFAULT_HEIGHT,
+   gl_FRAMEBUFFER_DEFAULT_LAYERS,
+   gl_FRAMEBUFFER_DEFAULT_SAMPLES,
+   gl_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS,
+   gl_MAX_FRAMEBUFFER_WIDTH,
+   gl_MAX_FRAMEBUFFER_HEIGHT,
+   gl_MAX_FRAMEBUFFER_LAYERS,
+   gl_MAX_FRAMEBUFFER_SAMPLES
+) where
+
+import Foreign.C.Types
+import Foreign.Ptr
+import Graphics.Rendering.OpenGL.Raw.Extensions
+import Graphics.Rendering.OpenGL.Raw.Types
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_ARB_framebuffer_no_attachments"
+
+EXTENSION_ENTRY(dyn_glFramebufferParameteri,ptr_glFramebufferParameteri,"glFramebufferParameteri",glFramebufferParameteri,GLenum -> GLenum -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glGetFramebufferParameteriv,ptr_glGetFramebufferParameteriv,"glGetFramebufferParameteriv",glGetFramebufferParameteriv,GLenum -> GLenum -> Ptr GLint)
+
+gl_FRAMEBUFFER_DEFAULT_WIDTH :: GLenum
+gl_FRAMEBUFFER_DEFAULT_WIDTH = 0x9310
+
+gl_FRAMEBUFFER_DEFAULT_HEIGHT :: GLenum
+gl_FRAMEBUFFER_DEFAULT_HEIGHT = 0x9311
+
+gl_FRAMEBUFFER_DEFAULT_LAYERS :: GLenum
+gl_FRAMEBUFFER_DEFAULT_LAYERS = 0x9312
+
+gl_FRAMEBUFFER_DEFAULT_SAMPLES :: GLenum
+gl_FRAMEBUFFER_DEFAULT_SAMPLES = 0x9313
+
+gl_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS :: GLenum
+gl_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS = 0x9314
+
+gl_MAX_FRAMEBUFFER_WIDTH :: GLenum
+gl_MAX_FRAMEBUFFER_WIDTH = 0x9315
+
+gl_MAX_FRAMEBUFFER_HEIGHT :: GLenum
+gl_MAX_FRAMEBUFFER_HEIGHT = 0x9316
+
+gl_MAX_FRAMEBUFFER_LAYERS :: GLenum
+gl_MAX_FRAMEBUFFER_LAYERS = 0x9317
+
+gl_MAX_FRAMEBUFFER_SAMPLES :: GLenum
+gl_MAX_FRAMEBUFFER_SAMPLES = 0x9318
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/FramebufferObject.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/FramebufferObject.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/FramebufferObject.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/FramebufferObject.hs
@@ -1,117 +1,117 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.FramebufferObject
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the ARB_framebuffer_object extension, see
--- <http://www.opengl.org/registry/specs/ARB/framebuffer_object.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.FramebufferObject (
-   -- * Functions
-   glIsRenderbuffer,
-   glBindRenderbuffer,
-   glDeleteRenderbuffers,
-   glGenRenderbuffers,
-   glRenderbufferStorage,
-   glRenderbufferStorageMultisample,
-   glGetRenderbufferParameteriv,
-   glIsFramebuffer,
-   glBindFramebuffer,
-   glDeleteFramebuffers,
-   glGenFramebuffers,
-   glCheckFramebufferStatus,
-   glFramebufferTexture1D,
-   glFramebufferTexture2D,
-   glFramebufferTexture3D,
-   glFramebufferTextureLayer,
-   glFramebufferRenderbuffer,
-   glGetFramebufferAttachmentParameteriv,
-   glBlitFramebuffer,
-   glGenerateMipmap,
-   -- * Tokens
-   gl_FRAMEBUFFER,
-   gl_READ_FRAMEBUFFER,
-   gl_DRAW_FRAMEBUFFER,
-   gl_RENDERBUFFER,
-   gl_STENCIL_INDEX1,
-   gl_STENCIL_INDEX4,
-   gl_STENCIL_INDEX8,
-   gl_STENCIL_INDEX16,
-   gl_RENDERBUFFER_WIDTH,
-   gl_RENDERBUFFER_HEIGHT,
-   gl_RENDERBUFFER_INTERNAL_FORMAT,
-   gl_RENDERBUFFER_RED_SIZE,
-   gl_RENDERBUFFER_GREEN_SIZE,
-   gl_RENDERBUFFER_BLUE_SIZE,
-   gl_RENDERBUFFER_ALPHA_SIZE,
-   gl_RENDERBUFFER_DEPTH_SIZE,
-   gl_RENDERBUFFER_STENCIL_SIZE,
-   gl_RENDERBUFFER_SAMPLES,
-   gl_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE,
-   gl_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME,
-   gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL,
-   gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE,
-   gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER,
-   gl_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING,
-   gl_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE,
-   gl_FRAMEBUFFER_ATTACHMENT_RED_SIZE,
-   gl_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE,
-   gl_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE,
-   gl_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE,
-   gl_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE,
-   gl_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE,
-   gl_SRGB,
-   gl_UNSIGNED_NORMALIZED,
-   gl_FRAMEBUFFER_DEFAULT,
-   gl_INDEX,
-   gl_COLOR_ATTACHMENT0,
-   gl_COLOR_ATTACHMENT1,
-   gl_COLOR_ATTACHMENT2,
-   gl_COLOR_ATTACHMENT3,
-   gl_COLOR_ATTACHMENT4,
-   gl_COLOR_ATTACHMENT5,
-   gl_COLOR_ATTACHMENT6,
-   gl_COLOR_ATTACHMENT7,
-   gl_COLOR_ATTACHMENT8,
-   gl_COLOR_ATTACHMENT9,
-   gl_COLOR_ATTACHMENT10,
-   gl_COLOR_ATTACHMENT11,
-   gl_COLOR_ATTACHMENT12,
-   gl_COLOR_ATTACHMENT13,
-   gl_COLOR_ATTACHMENT14,
-   gl_COLOR_ATTACHMENT15,
-   gl_DEPTH_ATTACHMENT,
-   gl_STENCIL_ATTACHMENT,
-   gl_DEPTH_STENCIL_ATTACHMENT,
-   gl_MAX_SAMPLES,
-   gl_FRAMEBUFFER_COMPLETE,
-   gl_FRAMEBUFFER_INCOMPLETE_ATTACHMENT,
-   gl_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT,
-   gl_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER,
-   gl_FRAMEBUFFER_INCOMPLETE_READ_BUFFER,
-   gl_FRAMEBUFFER_UNSUPPORTED,
-   gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE,
-   gl_FRAMEBUFFER_UNDEFINED,
-   gl_FRAMEBUFFER_BINDING,
-   gl_DRAW_FRAMEBUFFER_BINDING,
-   gl_READ_FRAMEBUFFER_BINDING,
-   gl_RENDERBUFFER_BINDING,
-   gl_MAX_COLOR_ATTACHMENTS,
-   gl_MAX_RENDERBUFFER_SIZE,
-   gl_INVALID_FRAMEBUFFER_OPERATION,
-   gl_DEPTH_STENCIL,
-   gl_UNSIGNED_INT_24_8,
-   gl_DEPTH24_STENCIL8,
-   gl_TEXTURE_STENCIL_SIZE
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
-import Graphics.Rendering.OpenGL.Raw.Core31.Functions
-import Graphics.Rendering.OpenGL.Raw.Core31.Tokens
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.FramebufferObject
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the ARB_framebuffer_object extension, see
+-- <http://www.opengl.org/registry/specs/ARB/framebuffer_object.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.FramebufferObject (
+   -- * Functions
+   glIsRenderbuffer,
+   glBindRenderbuffer,
+   glDeleteRenderbuffers,
+   glGenRenderbuffers,
+   glRenderbufferStorage,
+   glRenderbufferStorageMultisample,
+   glGetRenderbufferParameteriv,
+   glIsFramebuffer,
+   glBindFramebuffer,
+   glDeleteFramebuffers,
+   glGenFramebuffers,
+   glCheckFramebufferStatus,
+   glFramebufferTexture1D,
+   glFramebufferTexture2D,
+   glFramebufferTexture3D,
+   glFramebufferTextureLayer,
+   glFramebufferRenderbuffer,
+   glGetFramebufferAttachmentParameteriv,
+   glBlitFramebuffer,
+   glGenerateMipmap,
+   -- * Tokens
+   gl_FRAMEBUFFER,
+   gl_READ_FRAMEBUFFER,
+   gl_DRAW_FRAMEBUFFER,
+   gl_RENDERBUFFER,
+   gl_STENCIL_INDEX1,
+   gl_STENCIL_INDEX4,
+   gl_STENCIL_INDEX8,
+   gl_STENCIL_INDEX16,
+   gl_RENDERBUFFER_WIDTH,
+   gl_RENDERBUFFER_HEIGHT,
+   gl_RENDERBUFFER_INTERNAL_FORMAT,
+   gl_RENDERBUFFER_RED_SIZE,
+   gl_RENDERBUFFER_GREEN_SIZE,
+   gl_RENDERBUFFER_BLUE_SIZE,
+   gl_RENDERBUFFER_ALPHA_SIZE,
+   gl_RENDERBUFFER_DEPTH_SIZE,
+   gl_RENDERBUFFER_STENCIL_SIZE,
+   gl_RENDERBUFFER_SAMPLES,
+   gl_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE,
+   gl_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME,
+   gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL,
+   gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE,
+   gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER,
+   gl_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING,
+   gl_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE,
+   gl_FRAMEBUFFER_ATTACHMENT_RED_SIZE,
+   gl_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE,
+   gl_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE,
+   gl_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE,
+   gl_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE,
+   gl_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE,
+   gl_SRGB,
+   gl_UNSIGNED_NORMALIZED,
+   gl_FRAMEBUFFER_DEFAULT,
+   gl_INDEX,
+   gl_COLOR_ATTACHMENT0,
+   gl_COLOR_ATTACHMENT1,
+   gl_COLOR_ATTACHMENT2,
+   gl_COLOR_ATTACHMENT3,
+   gl_COLOR_ATTACHMENT4,
+   gl_COLOR_ATTACHMENT5,
+   gl_COLOR_ATTACHMENT6,
+   gl_COLOR_ATTACHMENT7,
+   gl_COLOR_ATTACHMENT8,
+   gl_COLOR_ATTACHMENT9,
+   gl_COLOR_ATTACHMENT10,
+   gl_COLOR_ATTACHMENT11,
+   gl_COLOR_ATTACHMENT12,
+   gl_COLOR_ATTACHMENT13,
+   gl_COLOR_ATTACHMENT14,
+   gl_COLOR_ATTACHMENT15,
+   gl_DEPTH_ATTACHMENT,
+   gl_STENCIL_ATTACHMENT,
+   gl_DEPTH_STENCIL_ATTACHMENT,
+   gl_MAX_SAMPLES,
+   gl_FRAMEBUFFER_COMPLETE,
+   gl_FRAMEBUFFER_INCOMPLETE_ATTACHMENT,
+   gl_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT,
+   gl_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER,
+   gl_FRAMEBUFFER_INCOMPLETE_READ_BUFFER,
+   gl_FRAMEBUFFER_UNSUPPORTED,
+   gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE,
+   gl_FRAMEBUFFER_UNDEFINED,
+   gl_FRAMEBUFFER_BINDING,
+   gl_DRAW_FRAMEBUFFER_BINDING,
+   gl_READ_FRAMEBUFFER_BINDING,
+   gl_RENDERBUFFER_BINDING,
+   gl_MAX_COLOR_ATTACHMENTS,
+   gl_MAX_RENDERBUFFER_SIZE,
+   gl_INVALID_FRAMEBUFFER_OPERATION,
+   gl_DEPTH_STENCIL,
+   gl_UNSIGNED_INT_24_8,
+   gl_DEPTH24_STENCIL8,
+   gl_TEXTURE_STENCIL_SIZE
+) where
+
+import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
+import Graphics.Rendering.OpenGL.Raw.Core31.Functions
+import Graphics.Rendering.OpenGL.Raw.Core31.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/FramebufferSRGB.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/FramebufferSRGB.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/FramebufferSRGB.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/FramebufferSRGB.hs
@@ -1,22 +1,22 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.FramebufferSRGB
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All tokens from the ARB_framebuffer_sRGB extension, see
--- <http://www.opengl.org/registry/specs/ARB/framebuffer_sRGB.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.FramebufferSRGB (
-   -- * Tokens
-   gl_FRAMEBUFFER_SRGB
-
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core32
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.FramebufferSRGB
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All tokens from the ARB_framebuffer_sRGB extension, see
+-- <http://www.opengl.org/registry/specs/ARB/framebuffer_sRGB.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.FramebufferSRGB (
+   -- * Tokens
+   gl_FRAMEBUFFER_SRGB
+
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/GPUShader5.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/GPUShader5.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/GPUShader5.hs
@@ -0,0 +1,45 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.GPUShader5
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the ARB_gpu_shader5 extension, see
+-- <http://www.opengl.org/registry/specs/ARB/gpu_shader5.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.GPUShader5 (
+   gl_GEOMETRY_SHADER_INVOCATIONS,
+   gl_MAX_GEOMETRY_SHADER_INVOCATIONS,
+   gl_MIN_FRAGMENT_INTERPOLATION_OFFSET,
+   gl_MAX_FRAGMENT_INTERPOLATION_OFFSET,
+   gl_FRAGMENT_INTERPOLATION_OFFSET_BITS,
+   gl_MAX_VERTEX_STREAMS
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+
+--------------------------------------------------------------------------------
+
+gl_GEOMETRY_SHADER_INVOCATIONS :: GLenum
+gl_GEOMETRY_SHADER_INVOCATIONS = 0x887F
+
+gl_MAX_GEOMETRY_SHADER_INVOCATIONS :: GLenum
+gl_MAX_GEOMETRY_SHADER_INVOCATIONS = 0x8E5A
+
+gl_MIN_FRAGMENT_INTERPOLATION_OFFSET :: GLenum
+gl_MIN_FRAGMENT_INTERPOLATION_OFFSET = 0x8E5B
+
+gl_MAX_FRAGMENT_INTERPOLATION_OFFSET :: GLenum
+gl_MAX_FRAGMENT_INTERPOLATION_OFFSET = 0x8E5C
+
+gl_FRAGMENT_INTERPOLATION_OFFSET_BITS :: GLenum
+gl_FRAGMENT_INTERPOLATION_OFFSET_BITS = 0x8E5D
+
+gl_MAX_VERTEX_STREAMS :: GLenum
+gl_MAX_VERTEX_STREAMS = 0x8E71
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/GPUShaderFP64.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/GPUShaderFP64.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/GPUShaderFP64.hs
@@ -0,0 +1,118 @@
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.GPUShaderFP64
+-- Copyright   :  (c) Sven Panne 2014
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the ARB_gpu_shader_fp64 extension, see
+-- <http://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.GPUShaderFP64 (
+   -- * Functions
+   glUniform1d,
+   glUniform2d,
+   glUniform3d,
+   glUniform4d,
+   glUniform1dv,
+   glUniform2dv,
+   glUniform3dv,
+   glUniform4dv,
+   glUniformMatrix2dv,
+   glUniformMatrix3dv,
+   glUniformMatrix4dv,
+   glUniformMatrix2x3dv,
+   glUniformMatrix2x4dv,
+   glUniformMatrix3x2dv,
+   glUniformMatrix3x4dv,
+   glUniformMatrix4x2dv,
+   glUniformMatrix4x3dv,
+   glGetUniformdv,
+
+   -- * Tokens
+   gl_DOUBLE_VEC2,
+   gl_DOUBLE_VEC3,
+   gl_DOUBLE_VEC4,
+   gl_DOUBLE_MAT2,
+   gl_DOUBLE_MAT3,
+   gl_DOUBLE_MAT4,
+   gl_DOUBLE_MAT2x3,
+   gl_DOUBLE_MAT2x4,
+   gl_DOUBLE_MAT3x2,
+   gl_DOUBLE_MAT3x4,
+   gl_DOUBLE_MAT4x2, 
+   gl_DOUBLE_MAT4x3
+) where
+
+import Foreign.C.Types
+import Foreign.Ptr
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+import Graphics.Rendering.OpenGL.Raw.Extensions
+
+--------------------------------------------------------------------------------
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_ARB_gpu_shader_fp64"
+
+EXTENSION_ENTRY(dyn_glUniform1d,ptr_glUniform1d,"glUniform1d",glUniform1d,GLint -> GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glUniform2d,ptr_glUniform2d,"glUniform2d",glUniform2d,GLint -> GLdouble -> GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glUniform3d,ptr_glUniform3d,"glUniform3d",glUniform3d,GLint -> GLdouble -> GLdouble -> GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glUniform4d,ptr_glUniform4d,"glUniform4d",glUniform4d,GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glUniform1dv,ptr_glUniform1dv,"glUniform1dv",glUniform1dv,GLint -> GLsizei -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glUniform2dv,ptr_glUniform2dv,"glUniform2dv",glUniform2dv,GLint -> GLsizei -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glUniform3dv,ptr_glUniform3dv,"glUniform3dv",glUniform3dv,GLint -> GLsizei -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glUniform4dv,ptr_glUniform4dv,"glUniform4dv",glUniform4dv,GLint -> GLsizei -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glUniformMatrix2dv,ptr_glUniformMatrix2dv,"glUniformMatrix2dv",glUniformMatrix2dv,GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glUniformMatrix3dv,ptr_glUniformMatrix3dv,"glUniformMatrix3dv",glUniformMatrix3dv,GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glUniformMatrix4dv,ptr_glUniformMatrix4dv,"glUniformMatrix4dv",glUniformMatrix4dv,GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glUniformMatrix2x3dv,ptr_glUniformMatrix2x3dv,"glUniformMatrix2x3dv",glUniformMatrix2x3dv,GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glUniformMatrix2x4dv,ptr_glUniformMatrix2x4dv,"glUniformMatrix2x4dv",glUniformMatrix2x4dv,GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glUniformMatrix3x2dv,ptr_glUniformMatrix3x2dv,"glUniformMatrix3x2dv",glUniformMatrix3x2dv,GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glUniformMatrix3x4dv,ptr_glUniformMatrix3x4dv,"glUniformMatrix3x4dv",glUniformMatrix3x4dv,GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glUniformMatrix4x2dv,ptr_glUniformMatrix4x2dv,"glUniformMatrix4x2dv",glUniformMatrix4x2dv,GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glUniformMatrix4x3dv,ptr_glUniformMatrix4x3dv,"glUniformMatrix4x3dv",glUniformMatrix4x3dv,GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glGetUniformdv,ptr_glGetUniformdv,"glGetUniformdv",glGetUniformdv,GLuint -> GLint -> Ptr GLdouble -> IO ())
+
+gl_DOUBLE_VEC2 :: GLenum
+gl_DOUBLE_VEC2 = 0x8FFC
+
+gl_DOUBLE_VEC3 :: GLenum
+gl_DOUBLE_VEC3 = 0x8FFD
+
+gl_DOUBLE_VEC4 :: GLenum
+gl_DOUBLE_VEC4 = 0x8FFE
+
+gl_DOUBLE_MAT2 :: GLenum
+gl_DOUBLE_MAT2 = 0x8F46
+
+gl_DOUBLE_MAT3 :: GLenum
+gl_DOUBLE_MAT3 = 0x8F47
+
+gl_DOUBLE_MAT4 :: GLenum
+gl_DOUBLE_MAT4 = 0x8F48
+
+gl_DOUBLE_MAT2x3 :: GLenum
+gl_DOUBLE_MAT2x3 = 0x8F49
+
+gl_DOUBLE_MAT2x4 :: GLenum
+gl_DOUBLE_MAT2x4 = 0x8F4A
+
+gl_DOUBLE_MAT3x2 :: GLenum
+gl_DOUBLE_MAT3x2 = 0x8F4B
+
+gl_DOUBLE_MAT3x4 :: GLenum
+gl_DOUBLE_MAT3x4 = 0x8F4C
+
+gl_DOUBLE_MAT4x2 :: GLenum
+gl_DOUBLE_MAT4x2 = 0x8F4D
+
+gl_DOUBLE_MAT4x3 :: GLenum
+gl_DOUBLE_MAT4x3 = 0x8F4E
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/GeometryShader4.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/GeometryShader4.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/GeometryShader4.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/GeometryShader4.hs
@@ -1,116 +1,116 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.GeometryShader4
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the ARB_geometry_shader4 extension, see
--- <http://www.opengl.org/registry/specs/ARB/geometry_shader4.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.GeometryShader4 (
-   -- * Functions
-   glProgramParameteri,
-   glFramebufferTexture,
-   glFramebufferTextureLayer,
-   glFramebufferTextureFace,
-
-   -- * Tokens
-   gl_LINES_ADJACENCY,
-   gl_LINE_STRIP_ADJACENCY,
-   gl_TRIANGLES_ADJACENCY,
-   gl_TRIANGLE_STRIP_ADJACENCY,
-   gl_PROGRAM_POINT_SIZE,
-   gl_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS,
-   gl_FRAMEBUFFER_ATTACHMENT_LAYERED,
-   gl_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS,
-   gl_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT,
-   gl_GEOMETRY_SHADER,
-   gl_GEOMETRY_VERTICES_OUT,
-   gl_GEOMETRY_INPUT_TYPE,
-   gl_GEOMETRY_OUTPUT_TYPE,
-   gl_MAX_GEOMETRY_VARYING_COMPONENTS,
-   gl_MAX_VERTEX_VARYING_COMPONENTS,
-   gl_MAX_GEOMETRY_UNIFORM_COMPONENTS,
-   gl_MAX_GEOMETRY_OUTPUT_VERTICES,
-   gl_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS,
-   gl_MAX_VARYING_COMPONENTS,
-   gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER
-) where
-
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core31.Functions
-import Graphics.Rendering.OpenGL.Raw.Core31.Tokens
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
---------------------------------------------------------------------------------
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_ARB_geometry_shader4"
-
-EXTENSION_ENTRY(glProgramParameteri,GLuint -> GLenum -> GLint -> IO ())
-EXTENSION_ENTRY(glFramebufferTexture,GLenum -> GLenum -> GLuint -> GLint -> IO ())
-EXTENSION_ENTRY(glFramebufferTextureFace,GLenum -> GLenum -> GLuint -> GLint -> GLenum -> IO ())
-
-gl_LINES_ADJACENCY :: GLenum
-gl_LINES_ADJACENCY = 0x000A
-
-gl_LINE_STRIP_ADJACENCY :: GLenum
-gl_LINE_STRIP_ADJACENCY = 0x000B
-
-gl_TRIANGLES_ADJACENCY :: GLenum
-gl_TRIANGLES_ADJACENCY = 0x000C
-
-gl_TRIANGLE_STRIP_ADJACENCY :: GLenum
-gl_TRIANGLE_STRIP_ADJACENCY = 0x000D
-
-gl_PROGRAM_POINT_SIZE :: GLenum
-gl_PROGRAM_POINT_SIZE = 0x8642
-
-gl_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS :: GLenum
-gl_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS = 0x8C29
-
-gl_FRAMEBUFFER_ATTACHMENT_LAYERED :: GLenum
-gl_FRAMEBUFFER_ATTACHMENT_LAYERED = 0x8DA7
-
-gl_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS :: GLenum
-gl_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS = 0x8DA8
-
-gl_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT :: GLenum
-gl_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT = 0x8DA9
-
-gl_GEOMETRY_SHADER :: GLenum
-gl_GEOMETRY_SHADER = 0x8DD9
-
-gl_GEOMETRY_VERTICES_OUT :: GLenum
-gl_GEOMETRY_VERTICES_OUT = 0x8DDA
-
-gl_GEOMETRY_INPUT_TYPE :: GLenum
-gl_GEOMETRY_INPUT_TYPE = 0x8DDB
-
-gl_GEOMETRY_OUTPUT_TYPE :: GLenum
-gl_GEOMETRY_OUTPUT_TYPE = 0x8DDC
-
-gl_MAX_GEOMETRY_VARYING_COMPONENTS :: GLenum
-gl_MAX_GEOMETRY_VARYING_COMPONENTS = 0x8DDD
-
-gl_MAX_VERTEX_VARYING_COMPONENTS :: GLenum
-gl_MAX_VERTEX_VARYING_COMPONENTS = 0x8DDE
-
-gl_MAX_GEOMETRY_UNIFORM_COMPONENTS :: GLenum
-gl_MAX_GEOMETRY_UNIFORM_COMPONENTS = 0x8DDF
-
-gl_MAX_GEOMETRY_OUTPUT_VERTICES :: GLenum
-gl_MAX_GEOMETRY_OUTPUT_VERTICES = 0x8DE0
-
-gl_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS :: GLenum
-gl_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS = 0x8DE1
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.GeometryShader4
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the ARB_geometry_shader4 extension, see
+-- <http://www.opengl.org/registry/specs/ARB/geometry_shader4.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.GeometryShader4 (
+   -- * Functions
+   glProgramParameteri,
+   glFramebufferTexture,
+   glFramebufferTextureLayer,
+   glFramebufferTextureFace,
+
+   -- * Tokens
+   gl_LINES_ADJACENCY,
+   gl_LINE_STRIP_ADJACENCY,
+   gl_TRIANGLES_ADJACENCY,
+   gl_TRIANGLE_STRIP_ADJACENCY,
+   gl_PROGRAM_POINT_SIZE,
+   gl_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS,
+   gl_FRAMEBUFFER_ATTACHMENT_LAYERED,
+   gl_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS,
+   gl_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT,
+   gl_GEOMETRY_SHADER,
+   gl_GEOMETRY_VERTICES_OUT,
+   gl_GEOMETRY_INPUT_TYPE,
+   gl_GEOMETRY_OUTPUT_TYPE,
+   gl_MAX_GEOMETRY_VARYING_COMPONENTS,
+   gl_MAX_VERTEX_VARYING_COMPONENTS,
+   gl_MAX_GEOMETRY_UNIFORM_COMPONENTS,
+   gl_MAX_GEOMETRY_OUTPUT_VERTICES,
+   gl_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS,
+   gl_MAX_VARYING_COMPONENTS,
+   gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER
+) where
+
+import Foreign.C.Types
+import Graphics.Rendering.OpenGL.Raw.Core31.Functions
+import Graphics.Rendering.OpenGL.Raw.Core31.Tokens
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+import Graphics.Rendering.OpenGL.Raw.Extensions
+
+--------------------------------------------------------------------------------
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_ARB_geometry_shader4"
+
+EXTENSION_ENTRY(dyn_glProgramParameteri,ptr_glProgramParameteri,"glProgramParameteri",glProgramParameteri,GLuint -> GLenum -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glFramebufferTexture,ptr_glFramebufferTexture,"glFramebufferTexture",glFramebufferTexture,GLenum -> GLenum -> GLuint -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glFramebufferTextureFace,ptr_glFramebufferTextureFace,"glFramebufferTextureFace",glFramebufferTextureFace,GLenum -> GLenum -> GLuint -> GLint -> GLenum -> IO ())
+
+gl_LINES_ADJACENCY :: GLenum
+gl_LINES_ADJACENCY = 0x000A
+
+gl_LINE_STRIP_ADJACENCY :: GLenum
+gl_LINE_STRIP_ADJACENCY = 0x000B
+
+gl_TRIANGLES_ADJACENCY :: GLenum
+gl_TRIANGLES_ADJACENCY = 0x000C
+
+gl_TRIANGLE_STRIP_ADJACENCY :: GLenum
+gl_TRIANGLE_STRIP_ADJACENCY = 0x000D
+
+gl_PROGRAM_POINT_SIZE :: GLenum
+gl_PROGRAM_POINT_SIZE = 0x8642
+
+gl_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS :: GLenum
+gl_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS = 0x8C29
+
+gl_FRAMEBUFFER_ATTACHMENT_LAYERED :: GLenum
+gl_FRAMEBUFFER_ATTACHMENT_LAYERED = 0x8DA7
+
+gl_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS :: GLenum
+gl_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS = 0x8DA8
+
+gl_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT :: GLenum
+gl_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT = 0x8DA9
+
+gl_GEOMETRY_SHADER :: GLenum
+gl_GEOMETRY_SHADER = 0x8DD9
+
+gl_GEOMETRY_VERTICES_OUT :: GLenum
+gl_GEOMETRY_VERTICES_OUT = 0x8DDA
+
+gl_GEOMETRY_INPUT_TYPE :: GLenum
+gl_GEOMETRY_INPUT_TYPE = 0x8DDB
+
+gl_GEOMETRY_OUTPUT_TYPE :: GLenum
+gl_GEOMETRY_OUTPUT_TYPE = 0x8DDC
+
+gl_MAX_GEOMETRY_VARYING_COMPONENTS :: GLenum
+gl_MAX_GEOMETRY_VARYING_COMPONENTS = 0x8DDD
+
+gl_MAX_VERTEX_VARYING_COMPONENTS :: GLenum
+gl_MAX_VERTEX_VARYING_COMPONENTS = 0x8DDE
+
+gl_MAX_GEOMETRY_UNIFORM_COMPONENTS :: GLenum
+gl_MAX_GEOMETRY_UNIFORM_COMPONENTS = 0x8DDF
+
+gl_MAX_GEOMETRY_OUTPUT_VERTICES :: GLenum
+gl_MAX_GEOMETRY_OUTPUT_VERTICES = 0x8DE0
+
+gl_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS :: GLenum
+gl_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS = 0x8DE1
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/GetProgramBinary.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/GetProgramBinary.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/GetProgramBinary.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/GetProgramBinary.hs
@@ -1,53 +1,53 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.GetProgramBinary
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the ARB_get_program_binary extension, see
--- <http://www.opengl.org/registry/specs/ARB/get_program_binary.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.GetProgramBinary (
-   -- * Functions
-   glGetProgramBinary, glProgramBinary, glProgramParameteri,
-
-   -- * Tokens
-   gl_PROGRAM_BINARY_RETRIEVABLE_HINT,
-   gl_PROGRAM_BINARY_LENGTH,
-   gl_NUM_PROGRAM_BINARY_FORMATS,
-   gl_PROGRAM_BINARY_FORMATS
-
-) where
-
-import Foreign.C.Types
-import Foreign.Ptr
-import Graphics.Rendering.OpenGL.Raw.ARB.GeometryShader4
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_ARB_get_program_binary"
-
-EXTENSION_ENTRY(glGetProgramBinary,GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(glProgramBinary,GLuint -> GLenum -> Ptr a -> GLsizei -> IO ())
-
-gl_PROGRAM_BINARY_RETRIEVABLE_HINT :: GLenum
-gl_PROGRAM_BINARY_RETRIEVABLE_HINT = 0x8257
-
-gl_PROGRAM_BINARY_LENGTH :: GLenum
-gl_PROGRAM_BINARY_LENGTH = 0x8741
-
-gl_NUM_PROGRAM_BINARY_FORMATS :: GLenum
-gl_NUM_PROGRAM_BINARY_FORMATS = 0x87FE
-
-gl_PROGRAM_BINARY_FORMATS :: GLenum
-gl_PROGRAM_BINARY_FORMATS = 0x87FF
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.GetProgramBinary
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the ARB_get_program_binary extension, see
+-- <http://www.opengl.org/registry/specs/ARB/get_program_binary.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.GetProgramBinary (
+   -- * Functions
+   glGetProgramBinary, glProgramBinary, glProgramParameteri,
+
+   -- * Tokens
+   gl_PROGRAM_BINARY_RETRIEVABLE_HINT,
+   gl_PROGRAM_BINARY_LENGTH,
+   gl_NUM_PROGRAM_BINARY_FORMATS,
+   gl_PROGRAM_BINARY_FORMATS
+
+) where
+
+import Foreign.C.Types
+import Foreign.Ptr
+import Graphics.Rendering.OpenGL.Raw.ARB.GeometryShader4
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+import Graphics.Rendering.OpenGL.Raw.Extensions
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_ARB_get_program_binary"
+
+EXTENSION_ENTRY(dyn_glGetProgramBinary,ptr_glGetProgramBinary,"glGetProgramBinary",glGetProgramBinary,GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glProgramBinary,ptr_glProgramBinary,"glProgramBinary",glProgramBinary,GLuint -> GLenum -> Ptr a -> GLsizei -> IO ())
+
+gl_PROGRAM_BINARY_RETRIEVABLE_HINT :: GLenum
+gl_PROGRAM_BINARY_RETRIEVABLE_HINT = 0x8257
+
+gl_PROGRAM_BINARY_LENGTH :: GLenum
+gl_PROGRAM_BINARY_LENGTH = 0x8741
+
+gl_NUM_PROGRAM_BINARY_FORMATS :: GLenum
+gl_NUM_PROGRAM_BINARY_FORMATS = 0x87FE
+
+gl_PROGRAM_BINARY_FORMATS :: GLenum
+gl_PROGRAM_BINARY_FORMATS = 0x87FF
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,45 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.GpuShader5
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the ARB_gpu_shader5 extension, see
--- <http://www.opengl.org/registry/specs/ARB/gpu_shader5.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.GpuShader5 (
-   gl_GEOMETRY_SHADER_INVOCATIONS,
-   gl_MAX_GEOMETRY_SHADER_INVOCATIONS,
-   gl_MIN_FRAGMENT_INTERPOLATION_OFFSET,
-   gl_MAX_FRAGMENT_INTERPOLATION_OFFSET,
-   gl_FRAGMENT_INTERPOLATION_OFFSET_BITS,
-   gl_MAX_VERTEX_STREAMS
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-
---------------------------------------------------------------------------------
-
-gl_GEOMETRY_SHADER_INVOCATIONS :: GLenum
-gl_GEOMETRY_SHADER_INVOCATIONS = 0x887F
-
-gl_MAX_GEOMETRY_SHADER_INVOCATIONS :: GLenum
-gl_MAX_GEOMETRY_SHADER_INVOCATIONS = 0x8E5A
-
-gl_MIN_FRAGMENT_INTERPOLATION_OFFSET :: GLenum
-gl_MIN_FRAGMENT_INTERPOLATION_OFFSET = 0x8E5B
-
-gl_MAX_FRAGMENT_INTERPOLATION_OFFSET :: GLenum
-gl_MAX_FRAGMENT_INTERPOLATION_OFFSET = 0x8E5C
-
-gl_FRAGMENT_INTERPOLATION_OFFSET_BITS :: GLenum
-gl_FRAGMENT_INTERPOLATION_OFFSET_BITS = 0x8E5D
-
-gl_MAX_VERTEX_STREAMS :: GLenum
-gl_MAX_VERTEX_STREAMS = 0x8E71
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/HalfFloatPixel.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/HalfFloatPixel.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/HalfFloatPixel.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/HalfFloatPixel.hs
@@ -1,21 +1,21 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.HalfFloatPixel
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All tokens from the ARB_half_float_pixel extension, see
--- <http://www.opengl.org/registry/specs/ARB/half_float_pixel.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.HalfFloatPixel (
-   -- * Tokens
-   gl_HALF_FLOAT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core32
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.HalfFloatPixel
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All tokens from the ARB_half_float_pixel extension, see
+-- <http://www.opengl.org/registry/specs/ARB/half_float_pixel.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.HalfFloatPixel (
+   -- * Tokens
+   gl_HALF_FLOAT
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/HalfFloatVertex.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/HalfFloatVertex.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/HalfFloatVertex.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/HalfFloatVertex.hs
@@ -1,21 +1,21 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.HalfFloatVertex
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All tokens from the ARB_half_float_vertex extension, see
--- <http://www.opengl.org/registry/specs/ARB/half_float_vertex.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.HalfFloatVertex (
-   -- * Tokens
-   gl_HALF_FLOAT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core32
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.HalfFloatVertex
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All tokens from the ARB_half_float_vertex extension, see
+-- <http://www.opengl.org/registry/specs/ARB/half_float_vertex.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.HalfFloatVertex (
+   -- * Tokens
+   gl_HALF_FLOAT
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/InstancedArrays.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/InstancedArrays.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/InstancedArrays.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/InstancedArrays.hs
@@ -1,36 +1,36 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.InstancedArrays
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the ARB_instanced_arrays extension, see
--- <http://www.opengl.org/registry/specs/ARB/instanced_arrays.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.InstancedArrays (
-   -- * Functions
-   glVertexAttribDivisor,
-   -- * Tokens
-   gl_VERTEX_ATTRIB_ARRAY_DIVISOR
-) where
-
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core32
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_ARB_instanced_arrays"
-
-EXTENSION_ENTRY(glVertexAttribDivisor,GLuint -> GLuint -> IO ())
-
-gl_VERTEX_ATTRIB_ARRAY_DIVISOR :: GLenum
-gl_VERTEX_ATTRIB_ARRAY_DIVISOR = 0x88FE
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.InstancedArrays
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the ARB_instanced_arrays extension, see
+-- <http://www.opengl.org/registry/specs/ARB/instanced_arrays.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.InstancedArrays (
+   -- * Functions
+   glVertexAttribDivisor,
+   -- * Tokens
+   gl_VERTEX_ATTRIB_ARRAY_DIVISOR
+) where
+
+import Foreign.C.Types
+import Graphics.Rendering.OpenGL.Raw.Core32
+import Graphics.Rendering.OpenGL.Raw.Extensions
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_ARB_instanced_arrays"
+
+EXTENSION_ENTRY(dyn_glVertexAttribDivisor,ptr_glVertexAttribDivisor,"glVertexAttribDivisor",glVertexAttribDivisor,GLuint -> GLuint -> IO ())
+
+gl_VERTEX_ATTRIB_ARRAY_DIVISOR :: GLenum
+gl_VERTEX_ATTRIB_ARRAY_DIVISOR = 0x88FE
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/MapBufferRange.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/MapBufferRange.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/MapBufferRange.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/MapBufferRange.hs
@@ -1,29 +1,29 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.MapBufferRange
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the ARB_map_buffer_range extension, see
--- <http://www.opengl.org/registry/specs/ARB/map_buffer_range.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.MapBufferRange (
-   -- * Functions
-   glMapBufferRange,
-   glFlushMappedBufferRange,
-   -- * Tokens
-   gl_MAP_READ_BIT,
-   gl_MAP_WRITE_BIT,
-   gl_MAP_INVALIDATE_RANGE_BIT,
-   gl_MAP_INVALIDATE_BUFFER_BIT,
-   gl_MAP_FLUSH_EXPLICIT_BIT,
-   gl_MAP_UNSYNCHRONIZED_BIT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core32
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.MapBufferRange
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the ARB_map_buffer_range extension, see
+-- <http://www.opengl.org/registry/specs/ARB/map_buffer_range.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.MapBufferRange (
+   -- * Functions
+   glMapBufferRange,
+   glFlushMappedBufferRange,
+   -- * Tokens
+   gl_MAP_READ_BIT,
+   gl_MAP_WRITE_BIT,
+   gl_MAP_INVALIDATE_RANGE_BIT,
+   gl_MAP_INVALIDATE_BUFFER_BIT,
+   gl_MAP_FLUSH_EXPLICIT_BIT,
+   gl_MAP_UNSYNCHRONIZED_BIT
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/MatrixPalette.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/MatrixPalette.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/MatrixPalette.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/MatrixPalette.hs
@@ -1,81 +1,81 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.MatrixPalette
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the ARB_matrix_palette extension, see
--- <http://www.opengl.org/registry/specs/ARB/matrix_palette.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.MatrixPalette (
-   -- * Functions
-   glCurrentPaletteMatrix,
-   glMatrixIndexubv,
-   glMatrixIndexusv,
-   glMatrixIndexuiv,
-   glMatrixIndexPointer,
-   -- * Tokens
-   gl_MATRIX_PALETTE,
-   gl_MAX_MATRIX_PALETTE_STACK_DEPTH,
-   gl_MAX_PALETTE_MATRICES,
-   gl_CURRENT_PALETTE_MATRIX,
-   gl_MATRIX_INDEX_ARRAY,
-   gl_CURRENT_MATRIX_INDEX,
-   gl_MATRIX_INDEX_ARRAY_SIZE,
-   gl_MATRIX_INDEX_ARRAY_TYPE,
-   gl_MATRIX_INDEX_ARRAY_STRIDE,
-   gl_MATRIX_INDEX_ARRAY_POINTER
-) where
-
-import Foreign.Ptr
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core32
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_ARB_matrix_palette"
-
-EXTENSION_ENTRY(glCurrentPaletteMatrix,GLint -> IO ())
-EXTENSION_ENTRY(glMatrixIndexubv,GLint -> Ptr GLubyte -> IO ())
-EXTENSION_ENTRY(glMatrixIndexusv,GLint -> Ptr GLushort -> IO ())
-EXTENSION_ENTRY(glMatrixIndexuiv,GLint -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glMatrixIndexPointer,GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
-
-gl_MATRIX_PALETTE :: GLenum
-gl_MATRIX_PALETTE = 0x8840
-
-gl_MAX_MATRIX_PALETTE_STACK_DEPTH :: GLenum
-gl_MAX_MATRIX_PALETTE_STACK_DEPTH = 0x8841
-
-gl_MAX_PALETTE_MATRICES :: GLenum
-gl_MAX_PALETTE_MATRICES = 0x8842
-
-gl_CURRENT_PALETTE_MATRIX :: GLenum
-gl_CURRENT_PALETTE_MATRIX = 0x8843
-
-gl_MATRIX_INDEX_ARRAY :: GLenum
-gl_MATRIX_INDEX_ARRAY = 0x8844
-
-gl_CURRENT_MATRIX_INDEX :: GLenum
-gl_CURRENT_MATRIX_INDEX = 0x8845
-
-gl_MATRIX_INDEX_ARRAY_SIZE :: GLenum
-gl_MATRIX_INDEX_ARRAY_SIZE = 0x8846
-
-gl_MATRIX_INDEX_ARRAY_TYPE :: GLenum
-gl_MATRIX_INDEX_ARRAY_TYPE = 0x8847
-
-gl_MATRIX_INDEX_ARRAY_STRIDE :: GLenum
-gl_MATRIX_INDEX_ARRAY_STRIDE = 0x8848
-
-gl_MATRIX_INDEX_ARRAY_POINTER :: GLenum
-gl_MATRIX_INDEX_ARRAY_POINTER = 0x8849
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.MatrixPalette
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the ARB_matrix_palette extension, see
+-- <http://www.opengl.org/registry/specs/ARB/matrix_palette.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.MatrixPalette (
+   -- * Functions
+   glCurrentPaletteMatrix,
+   glMatrixIndexubv,
+   glMatrixIndexusv,
+   glMatrixIndexuiv,
+   glMatrixIndexPointer,
+   -- * Tokens
+   gl_MATRIX_PALETTE,
+   gl_MAX_MATRIX_PALETTE_STACK_DEPTH,
+   gl_MAX_PALETTE_MATRICES,
+   gl_CURRENT_PALETTE_MATRIX,
+   gl_MATRIX_INDEX_ARRAY,
+   gl_CURRENT_MATRIX_INDEX,
+   gl_MATRIX_INDEX_ARRAY_SIZE,
+   gl_MATRIX_INDEX_ARRAY_TYPE,
+   gl_MATRIX_INDEX_ARRAY_STRIDE,
+   gl_MATRIX_INDEX_ARRAY_POINTER
+) where
+
+import Foreign.Ptr
+import Foreign.C.Types
+import Graphics.Rendering.OpenGL.Raw.Core32
+import Graphics.Rendering.OpenGL.Raw.Extensions
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_ARB_matrix_palette"
+
+EXTENSION_ENTRY(dyn_glCurrentPaletteMatrix,ptr_glCurrentPaletteMatrix,"glCurrentPaletteMatrix",glCurrentPaletteMatrix,GLint -> IO ())
+EXTENSION_ENTRY(dyn_glMatrixIndexubv,ptr_glMatrixIndexubv,"glMatrixIndexubv",glMatrixIndexubv,GLint -> Ptr GLubyte -> IO ())
+EXTENSION_ENTRY(dyn_glMatrixIndexusv,ptr_glMatrixIndexusv,"glMatrixIndexusv",glMatrixIndexusv,GLint -> Ptr GLushort -> IO ())
+EXTENSION_ENTRY(dyn_glMatrixIndexuiv,ptr_glMatrixIndexuiv,"glMatrixIndexuiv",glMatrixIndexuiv,GLint -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glMatrixIndexPointer,ptr_glMatrixIndexPointer,"glMatrixIndexPointer",glMatrixIndexPointer,GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
+
+gl_MATRIX_PALETTE :: GLenum
+gl_MATRIX_PALETTE = 0x8840
+
+gl_MAX_MATRIX_PALETTE_STACK_DEPTH :: GLenum
+gl_MAX_MATRIX_PALETTE_STACK_DEPTH = 0x8841
+
+gl_MAX_PALETTE_MATRICES :: GLenum
+gl_MAX_PALETTE_MATRICES = 0x8842
+
+gl_CURRENT_PALETTE_MATRIX :: GLenum
+gl_CURRENT_PALETTE_MATRIX = 0x8843
+
+gl_MATRIX_INDEX_ARRAY :: GLenum
+gl_MATRIX_INDEX_ARRAY = 0x8844
+
+gl_CURRENT_MATRIX_INDEX :: GLenum
+gl_CURRENT_MATRIX_INDEX = 0x8845
+
+gl_MATRIX_INDEX_ARRAY_SIZE :: GLenum
+gl_MATRIX_INDEX_ARRAY_SIZE = 0x8846
+
+gl_MATRIX_INDEX_ARRAY_TYPE :: GLenum
+gl_MATRIX_INDEX_ARRAY_TYPE = 0x8847
+
+gl_MATRIX_INDEX_ARRAY_STRIDE :: GLenum
+gl_MATRIX_INDEX_ARRAY_STRIDE = 0x8848
+
+gl_MATRIX_INDEX_ARRAY_POINTER :: GLenum
+gl_MATRIX_INDEX_ARRAY_POINTER = 0x8849
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/Multisample.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/Multisample.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/Multisample.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/Multisample.hs
@@ -1,32 +1,32 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.Multisample
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the ARB_multisample extension, see
--- <http://www.opengl.org/registry/specs/ARB/multisample.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.Multisample (
-   -- * Functions
-   glSampleCoverage,
-   -- * Tokens
-   gl_MULTISAMPLE,
-   gl_SAMPLE_ALPHA_TO_COVERAGE,
-   gl_SAMPLE_ALPHA_TO_ONE,
-   gl_SAMPLE_COVERAGE,
-   gl_MULTISAMPLE_BIT,
-   gl_SAMPLE_BUFFERS,
-   gl_SAMPLES,
-   gl_SAMPLE_COVERAGE_VALUE,
-   gl_SAMPLE_COVERAGE_INVERT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
-import Graphics.Rendering.OpenGL.Raw.Core32
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.Multisample
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the ARB_multisample extension, see
+-- <http://www.opengl.org/registry/specs/ARB/multisample.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.Multisample (
+   -- * Functions
+   glSampleCoverage,
+   -- * Tokens
+   gl_MULTISAMPLE,
+   gl_SAMPLE_ALPHA_TO_COVERAGE,
+   gl_SAMPLE_ALPHA_TO_ONE,
+   gl_SAMPLE_COVERAGE,
+   gl_MULTISAMPLE_BIT,
+   gl_SAMPLE_BUFFERS,
+   gl_SAMPLES,
+   gl_SAMPLE_COVERAGE_VALUE,
+   gl_SAMPLE_COVERAGE_INVERT
+) where
+
+import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
+import Graphics.Rendering.OpenGL.Raw.Core32
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/Multitexture.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/Multitexture.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/Multitexture.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/Multitexture.hs
@@ -1,91 +1,91 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.Multitexture
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the ARB_multitexture extension, see
--- <http://www.opengl.org/registry/specs/ARB/multitexture.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.Multitexture (
-   -- * Functions
-   glActiveTexture,
-   glClientActiveTexture,
-   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,
-   -- * Tokens
-   gl_ACTIVE_TEXTURE,
-   gl_CLIENT_ACTIVE_TEXTURE,
-   gl_MAX_TEXTURE_UNITS,
-   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
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
-import Graphics.Rendering.OpenGL.Raw.Core32
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.Multitexture
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the ARB_multitexture extension, see
+-- <http://www.opengl.org/registry/specs/ARB/multitexture.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.Multitexture (
+   -- * Functions
+   glActiveTexture,
+   glClientActiveTexture,
+   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,
+   -- * Tokens
+   gl_ACTIVE_TEXTURE,
+   gl_CLIENT_ACTIVE_TEXTURE,
+   gl_MAX_TEXTURE_UNITS,
+   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
+) where
+
+import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
+import Graphics.Rendering.OpenGL.Raw.Core32
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/OcclusionQuery.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/OcclusionQuery.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/OcclusionQuery.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/OcclusionQuery.hs
@@ -1,34 +1,34 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.OcclusionQuery
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the ARB_occlusion_query extension, see
--- <http://www.opengl.org/registry/specs/ARB/occlusion_query.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.OcclusionQuery (
-   -- * Functions
-   glGenQueries,
-   glDeleteQueries,
-   glIsQuery,
-   glBeginQuery,
-   glEndQuery,
-   glGetQueryiv,
-   glGetQueryObjectiv,
-   glGetQueryObjectuiv,
-   -- * Tokens
-   gl_SAMPLES_PASSED,
-   gl_QUERY_COUNTER_BITS,
-   gl_CURRENT_QUERY,
-   gl_QUERY_RESULT,
-   gl_QUERY_RESULT_AVAILABLE
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core32
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.OcclusionQuery
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the ARB_occlusion_query extension, see
+-- <http://www.opengl.org/registry/specs/ARB/occlusion_query.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.OcclusionQuery (
+   -- * Functions
+   glGenQueries,
+   glDeleteQueries,
+   glIsQuery,
+   glBeginQuery,
+   glEndQuery,
+   glGetQueryiv,
+   glGetQueryObjectiv,
+   glGetQueryObjectuiv,
+   -- * Tokens
+   gl_SAMPLES_PASSED,
+   gl_QUERY_COUNTER_BITS,
+   gl_CURRENT_QUERY,
+   gl_QUERY_RESULT,
+   gl_QUERY_RESULT_AVAILABLE
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/OcclusionQuery2.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/OcclusionQuery2.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/OcclusionQuery2.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/OcclusionQuery2.hs
@@ -1,24 +1,24 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.OcclusionQuery2
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the ARB_occlusion_query2 extension, see
--- <http://www.opengl.org/registry/specs/ARB/occlusion_query2.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.OcclusionQuery2 (
-   -- * Tokens
-   gl_ANY_SAMPLES_PASSED
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-
-gl_ANY_SAMPLES_PASSED :: GLenum
-gl_ANY_SAMPLES_PASSED = 0x8C2F
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.OcclusionQuery2
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the ARB_occlusion_query2 extension, see
+-- <http://www.opengl.org/registry/specs/ARB/occlusion_query2.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.OcclusionQuery2 (
+   -- * Tokens
+   gl_ANY_SAMPLES_PASSED
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+
+gl_ANY_SAMPLES_PASSED :: GLenum
+gl_ANY_SAMPLES_PASSED = 0x8C2F
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/PixelBufferObject.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/PixelBufferObject.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/PixelBufferObject.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/PixelBufferObject.hs
@@ -1,24 +1,24 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.PixelBufferObject
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All tokens from the ARB_pixel_buffer_object extension, see
--- <http://www.opengl.org/registry/specs/ARB/pixel_buffer_object.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.PixelBufferObject (
-   -- * Tokens
-   gl_PIXEL_PACK_BUFFER,
-   gl_PIXEL_UNPACK_BUFFER,
-   gl_PIXEL_PACK_BUFFER_BINDING,
-   gl_PIXEL_UNPACK_BUFFER_BINDING
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core32
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.PixelBufferObject
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All tokens from the ARB_pixel_buffer_object extension, see
+-- <http://www.opengl.org/registry/specs/ARB/pixel_buffer_object.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.PixelBufferObject (
+   -- * Tokens
+   gl_PIXEL_PACK_BUFFER,
+   gl_PIXEL_UNPACK_BUFFER,
+   gl_PIXEL_PACK_BUFFER_BINDING,
+   gl_PIXEL_UNPACK_BUFFER_BINDING
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/PointParameters.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/PointParameters.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/PointParameters.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/PointParameters.hs
@@ -1,28 +1,28 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.PointParameters
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the ARB_point_parameters extension, see
--- <http://www.opengl.org/registry/specs/ARB/point_parameters.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.PointParameters (
-   -- * Functions
-   glPointParameterf,
-   glPointParameterfv,
-   -- * Tokens
-   gl_POINT_SIZE_MIN,
-   gl_POINT_SIZE_MAX,
-   gl_POINT_FADE_THRESHOLD_SIZE,
-   gl_POINT_DISTANCE_ATTENUATION,
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
-import Graphics.Rendering.OpenGL.Raw.Core32
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.PointParameters
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the ARB_point_parameters extension, see
+-- <http://www.opengl.org/registry/specs/ARB/point_parameters.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.PointParameters (
+   -- * Functions
+   glPointParameterf,
+   glPointParameterfv,
+   -- * Tokens
+   gl_POINT_SIZE_MIN,
+   gl_POINT_SIZE_MAX,
+   gl_POINT_FADE_THRESHOLD_SIZE,
+   gl_POINT_DISTANCE_ATTENUATION,
+) where
+
+import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
+import Graphics.Rendering.OpenGL.Raw.Core32
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/PointSprite.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/PointSprite.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/PointSprite.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/PointSprite.hs
@@ -1,22 +1,22 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.PointSprite
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All tokens from the ARB_point_sprite extension, see
--- <http://www.opengl.org/registry/specs/ARB/point_sprite.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.PointSprite (
-   -- * Tokens
-   gl_POINT_SPRITE,
-   gl_COORD_REPLACE
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.PointSprite
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All tokens from the ARB_point_sprite extension, see
+-- <http://www.opengl.org/registry/specs/ARB/point_sprite.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.PointSprite (
+   -- * Tokens
+   gl_POINT_SPRITE,
+   gl_COORD_REPLACE
+) where
+
+import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/ProvokingVertex.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/ProvokingVertex.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/ProvokingVertex.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/ProvokingVertex.hs
@@ -1,48 +1,48 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.ProvokingVertex
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the ARB_provoking_vertex extension, see
--- <http://www.opengl.org/registry/specs/ARB/provoking_vertex.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.ProvokingVertex (
-   -- * Functions
-   glProvokingVertex,
-   -- * Tokens
-   gl_FIRST_VERTEX_CONVENTION,
-   gl_LAST_VERTEX_CONVENTION,
-   gl_PROVOKING_VERTEX,
-   gl_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION
-) where
-
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_ARB_provoking_vertex"
-
-EXTENSION_ENTRY(glProvokingVertex,GLenum -> IO ())
-
-gl_FIRST_VERTEX_CONVENTION :: GLenum
-gl_FIRST_VERTEX_CONVENTION = 0x8E4D
-
-gl_LAST_VERTEX_CONVENTION :: GLenum
-gl_LAST_VERTEX_CONVENTION = 0x8E4E
-
-gl_PROVOKING_VERTEX :: GLenum
-gl_PROVOKING_VERTEX = 0x8E4F
-
-gl_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION :: GLenum
-gl_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION = 0x8E4C
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.ProvokingVertex
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the ARB_provoking_vertex extension, see
+-- <http://www.opengl.org/registry/specs/ARB/provoking_vertex.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.ProvokingVertex (
+   -- * Functions
+   glProvokingVertex,
+   -- * Tokens
+   gl_FIRST_VERTEX_CONVENTION,
+   gl_LAST_VERTEX_CONVENTION,
+   gl_PROVOKING_VERTEX,
+   gl_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION
+) where
+
+import Foreign.C.Types
+import Graphics.Rendering.OpenGL.Raw.Extensions
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_ARB_provoking_vertex"
+
+EXTENSION_ENTRY(dyn_glProvokingVertex,ptr_glProvokingVertex,"glProvokingVertex",glProvokingVertex,GLenum -> IO ())
+
+gl_FIRST_VERTEX_CONVENTION :: GLenum
+gl_FIRST_VERTEX_CONVENTION = 0x8E4D
+
+gl_LAST_VERTEX_CONVENTION :: GLenum
+gl_LAST_VERTEX_CONVENTION = 0x8E4E
+
+gl_PROVOKING_VERTEX :: GLenum
+gl_PROVOKING_VERTEX = 0x8E4F
+
+gl_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION :: GLenum
+gl_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION = 0x8E4C
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/QueryBufferObject.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/QueryBufferObject.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/QueryBufferObject.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/QueryBufferObject.hs
@@ -1,34 +1,34 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.QueryBufferObject
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the ARB_query_buffer_object extension, see
--- <http://www.opengl.org/registry/specs/ARB/query_buffer_object.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.QueryBufferObject (
-   -- * Tokens
-   gl_QUERY_BUFFER, gl_QUERY_BUFFER_BINDING, gl_QUERY_RESULT_NO_WAIT,
-   gl_QUERY_BUFFER_BARRIER_BIT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-
-gl_QUERY_BUFFER :: GLenum
-gl_QUERY_BUFFER = 0x9192
-
-gl_QUERY_BUFFER_BINDING :: GLenum
-gl_QUERY_BUFFER_BINDING = 0x9193
-
-gl_QUERY_RESULT_NO_WAIT :: GLenum
-gl_QUERY_RESULT_NO_WAIT = 0x9194
-
-gl_QUERY_BUFFER_BARRIER_BIT :: GLbitfield
-gl_QUERY_BUFFER_BARRIER_BIT = 0x00008000
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.QueryBufferObject
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the ARB_query_buffer_object extension, see
+-- <http://www.opengl.org/registry/specs/ARB/query_buffer_object.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.QueryBufferObject (
+   -- * Tokens
+   gl_QUERY_BUFFER, gl_QUERY_BUFFER_BINDING, gl_QUERY_RESULT_NO_WAIT,
+   gl_QUERY_BUFFER_BARRIER_BIT
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+
+gl_QUERY_BUFFER :: GLenum
+gl_QUERY_BUFFER = 0x9192
+
+gl_QUERY_BUFFER_BINDING :: GLenum
+gl_QUERY_BUFFER_BINDING = 0x9193
+
+gl_QUERY_RESULT_NO_WAIT :: GLenum
+gl_QUERY_RESULT_NO_WAIT = 0x9194
+
+gl_QUERY_BUFFER_BARRIER_BIT :: GLbitfield
+gl_QUERY_BUFFER_BARRIER_BIT = 0x00008000
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/SampleShading.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/SampleShading.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/SampleShading.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/SampleShading.hs
@@ -1,40 +1,40 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.SampleShading
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the ARB_sample_shading extension, see
--- <http://www.opengl.org/registry/specs/ARB/sample_shading.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.SampleShading (
-   -- * Functions
-   glMinSampleShading,
-   -- * Tokens
-   gl_SAMPLE_SHADING,
-   gl_MIN_SAMPLE_SHADING_VALUE
-) where
-
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core32
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_ARB_sample_shading"
-
-EXTENSION_ENTRY(glMinSampleShading,GLclampf -> IO ())
-
-gl_SAMPLE_SHADING :: GLenum
-gl_SAMPLE_SHADING = 0x8C36
-
-gl_MIN_SAMPLE_SHADING_VALUE :: GLenum
-gl_MIN_SAMPLE_SHADING_VALUE = 0x8C37
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.SampleShading
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the ARB_sample_shading extension, see
+-- <http://www.opengl.org/registry/specs/ARB/sample_shading.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.SampleShading (
+   -- * Functions
+   glMinSampleShading,
+   -- * Tokens
+   gl_SAMPLE_SHADING,
+   gl_MIN_SAMPLE_SHADING_VALUE
+) where
+
+import Foreign.C.Types
+import Graphics.Rendering.OpenGL.Raw.Core32
+import Graphics.Rendering.OpenGL.Raw.Extensions
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_ARB_sample_shading"
+
+EXTENSION_ENTRY(dyn_glMinSampleShading,ptr_glMinSampleShading,"glMinSampleShading",glMinSampleShading,GLclampf -> IO ())
+
+gl_SAMPLE_SHADING :: GLenum
+gl_SAMPLE_SHADING = 0x8C36
+
+gl_MIN_SAMPLE_SHADING_VALUE :: GLenum
+gl_MIN_SAMPLE_SHADING_VALUE = 0x8C37
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/SamplerObjects.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/SamplerObjects.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/SamplerObjects.hs
@@ -0,0 +1,66 @@
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.SamplerObjects
+-- Copyright   :  (c) Sven Panne 2014
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the ARB_sampler_objects extension, see
+-- <http://www.opengl.org/registry/specs/ARB/sampler_objects.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.SamplerObjects (
+   -- * Functions
+   glGenSamplers,
+   glDeleteSamplers,
+   glIsSampler,
+   glBindSampler,
+   glSamplerParameteri,
+   glSamplerParameteriv,
+   glSamplerParameterf,
+   glSamplerParameterfv,
+   glSamplerParameterIiv,
+   glSamplerParameterIuiv,
+   glGetSamplerParameteriv,
+   glGetSamplerParameterIiv,
+   glGetSamplerParameterfv,
+   glGetSamplerParameterIuiv,
+
+   -- * Tokens
+   gl_SAMPLER_BINDING
+) where
+
+import Foreign.C.Types
+import Foreign.Ptr
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+import Graphics.Rendering.OpenGL.Raw.Extensions
+
+--------------------------------------------------------------------------------
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_ARB_sampler_objects"
+
+EXTENSION_ENTRY(dyn_glGenSamplers,ptr_glGenSamplers,"glGenSamplers",glGenSamplers,GLsizei -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glDeleteSamplers,ptr_glDeleteSamplers,"glDeleteSamplers",glDeleteSamplers,GLsizei -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glIsSampler,ptr_glIsSampler,"glIsSampler",glIsSampler,GLuint -> IO GLboolean)
+EXTENSION_ENTRY(dyn_glBindSampler,ptr_glBindSampler,"glBindSampler",glBindSampler,GLuint -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glSamplerParameteri,ptr_glSamplerParameteri,"glSamplerParameteri",glSamplerParameteri,GLuint -> GLenum -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glSamplerParameteriv,ptr_glSamplerParameteriv,"glSamplerParameteriv",glSamplerParameteriv,GLuint -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glSamplerParameterf,ptr_glSamplerParameterf,"glSamplerParameterf",glSamplerParameterf,GLuint -> GLenum -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glSamplerParameterfv,ptr_glSamplerParameterfv,"glSamplerParameterfv",glSamplerParameterfv,GLuint -> GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glSamplerParameterIiv,ptr_glSamplerParameterIiv,"glSamplerParameterIiv",glSamplerParameterIiv,GLuint -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glSamplerParameterIuiv,ptr_glSamplerParameterIuiv,"glSamplerParameterIuiv",glSamplerParameterIuiv,GLuint -> GLenum -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glGetSamplerParameteriv,ptr_glGetSamplerParameteriv,"glGetSamplerParameteriv",glGetSamplerParameteriv,GLuint -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glGetSamplerParameterIiv,ptr_glGetSamplerParameterIiv,"glGetSamplerParameterIiv",glGetSamplerParameterIiv,GLuint -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glGetSamplerParameterfv,ptr_glGetSamplerParameterfv,"glGetSamplerParameterfv",glGetSamplerParameterfv,GLuint -> GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glGetSamplerParameterIuiv,ptr_glGetSamplerParameterIuiv,"glGetSamplerParameterIuiv",glGetSamplerParameterIuiv,GLuint -> GLenum -> Ptr GLuint -> IO ())
+
+gl_SAMPLER_BINDING :: GLenum
+gl_SAMPLER_BINDING = 0x8919
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/SeamlessCubeMap.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/SeamlessCubeMap.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/SeamlessCubeMap.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/SeamlessCubeMap.hs
@@ -1,24 +1,24 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.SeamlessCubeMap
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All tokens from the ARB_seamless_cube_map extension, see
--- <http://www.opengl.org/registry/specs/ARB/seamless_cube_map.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.SeamlessCubeMap (
-   -- * Tokens
-   gl_TEXTURE_CUBE_MAP_SEAMLESS
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-
-gl_TEXTURE_CUBE_MAP_SEAMLESS :: GLenum
-gl_TEXTURE_CUBE_MAP_SEAMLESS = 0x884F
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.SeamlessCubeMap
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All tokens from the ARB_seamless_cube_map extension, see
+-- <http://www.opengl.org/registry/specs/ARB/seamless_cube_map.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.SeamlessCubeMap (
+   -- * Tokens
+   gl_TEXTURE_CUBE_MAP_SEAMLESS
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+
+gl_TEXTURE_CUBE_MAP_SEAMLESS :: GLenum
+gl_TEXTURE_CUBE_MAP_SEAMLESS = 0x884F
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/SeparateShaderObjects.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/SeparateShaderObjects.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/SeparateShaderObjects.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/SeparateShaderObjects.hs
@@ -1,188 +1,188 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.SeparateShaderObjects
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the separate_shader_objects, see
--- <http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.SeparateShaderObjects (
-   -- * Functions
-   glUseProgramStages,
-   glActiveShaderProgram,
-   glCreateShaderProgramv,
-   glBindProgramPipeline,
-   glDeleteProgramPipelines,
-   glGenProgramPipelines,
-   glIsProgramPipeline,
-   glGetProgramPipelineiv,
-   glProgramUniform1i,
-   glProgramUniform1iv,
-   glProgramUniform1f,
-   glProgramUniform1fv,
-   glProgramUniform1d,
-   glProgramUniform1dv,
-   glProgramUniform1ui,
-   glProgramUniform1uiv,
-   glProgramUniform2i,
-   glProgramUniform2iv,
-   glProgramUniform2f,
-   glProgramUniform2fv,
-   glProgramUniform2d,
-   glProgramUniform2dv,
-   glProgramUniform2ui,
-   glProgramUniform2uiv,
-   glProgramUniform3i,
-   glProgramUniform3iv,
-   glProgramUniform3f,
-   glProgramUniform3fv,
-   glProgramUniform3d,
-   glProgramUniform3dv,
-   glProgramUniform3ui,
-   glProgramUniform3uiv,
-   glProgramUniform4i,
-   glProgramUniform4iv,
-   glProgramUniform4f,
-   glProgramUniform4fv,
-   glProgramUniform4d,
-   glProgramUniform4dv,
-   glProgramUniform4ui,
-   glProgramUniform4uiv,
-   glProgramUniformMatrix2fv,
-   glProgramUniformMatrix3fv,
-   glProgramUniformMatrix4fv,
-   glProgramUniformMatrix2dv,
-   glProgramUniformMatrix3dv,
-   glProgramUniformMatrix4dv,
-   glProgramUniformMatrix2x3fv,
-   glProgramUniformMatrix3x2fv,
-   glProgramUniformMatrix2x4fv,
-   glProgramUniformMatrix4x2fv,
-   glProgramUniformMatrix3x4fv,
-   glProgramUniformMatrix4x3fv,
-   glProgramUniformMatrix2x3dv,
-   glProgramUniformMatrix3x2dv,
-   glProgramUniformMatrix2x4dv,
-   glProgramUniformMatrix4x2dv,
-   glProgramUniformMatrix3x4dv,
-   glProgramUniformMatrix4x3dv,
-   glValidateProgramPipeline,
-   glGetProgramPipelineInfoLog,
-
-   -- * Tokens
-   gl_VERTEX_SHADER_BIT,
-   gl_FRAGMENT_SHADER_BIT,
-   gl_GEOMETRY_SHADER_BIT,
-   gl_TESS_CONTROL_SHADER_BIT,
-   gl_TESS_EVALUATION_SHADER_BIT,
-   gl_ALL_SHADER_BITS,
-   gl_PROGRAM_SEPARABLE,
-   gl_ACTIVE_PROGRAM,
-   gl_PROGRAM_PIPELINE_BINDING
-) where
-
-import Foreign.C.Types
-import Foreign.Ptr
-import Graphics.Rendering.OpenGL.Raw.Extensions
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_separate_shader_objects"
-
-EXTENSION_ENTRY(glUseProgramStages,GLuint -> GLbitfield -> GLuint -> IO ())
-EXTENSION_ENTRY(glActiveShaderProgram,GLuint -> GLuint -> IO ())
-EXTENSION_ENTRY(glCreateShaderProgramv,GLenum -> GLsizei -> Ptr (Ptr GLchar) -> IO GLuint)
-EXTENSION_ENTRY(glBindProgramPipeline,GLuint -> IO ())
-EXTENSION_ENTRY(glDeleteProgramPipelines,GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glGenProgramPipelines,GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glIsProgramPipeline,GLuint -> IO GLboolean)
-EXTENSION_ENTRY(glGetProgramPipelineiv,GLuint -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glProgramUniform1i,GLuint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(glProgramUniform1iv,GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glProgramUniform1f,GLuint -> GLint -> GLfloat -> IO ())
-EXTENSION_ENTRY(glProgramUniform1fv,GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glProgramUniform1d,GLuint -> GLint -> GLdouble -> IO ())
-EXTENSION_ENTRY(glProgramUniform1dv,GLuint -> GLint -> GLsizei -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glProgramUniform1ui,GLuint -> GLint -> GLuint -> IO ())
-EXTENSION_ENTRY(glProgramUniform1uiv,GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glProgramUniform2i,GLuint -> GLint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(glProgramUniform2iv,GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glProgramUniform2f,GLuint -> GLint -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(glProgramUniform2fv,GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glProgramUniform2d,GLuint -> GLint -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(glProgramUniform2dv,GLuint -> GLint -> GLsizei -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glProgramUniform2ui,GLuint -> GLint -> GLuint -> GLuint -> IO ())
-EXTENSION_ENTRY(glProgramUniform2uiv,GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glProgramUniform3i,GLuint -> GLint -> GLint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(glProgramUniform3iv,GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glProgramUniform3f,GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(glProgramUniform3fv,GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glProgramUniform3d,GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(glProgramUniform3dv,GLuint -> GLint -> GLsizei -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glProgramUniform3ui,GLuint -> GLint -> GLuint -> GLuint -> GLuint -> IO ())
-EXTENSION_ENTRY(glProgramUniform3uiv,GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glProgramUniform4i,GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(glProgramUniform4iv,GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glProgramUniform4f,GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(glProgramUniform4fv,GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glProgramUniform4d,GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(glProgramUniform4dv,GLuint -> GLint -> GLsizei -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glProgramUniform4ui,GLuint -> GLint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-EXTENSION_ENTRY(glProgramUniform4uiv,GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glProgramUniformMatrix2fv,GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glProgramUniformMatrix3fv,GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glProgramUniformMatrix4fv,GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glProgramUniformMatrix2dv,GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glProgramUniformMatrix3dv,GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glProgramUniformMatrix4dv,GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glProgramUniformMatrix2x3fv,GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glProgramUniformMatrix3x2fv,GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glProgramUniformMatrix2x4fv,GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glProgramUniformMatrix4x2fv,GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glProgramUniformMatrix3x4fv,GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glProgramUniformMatrix4x3fv,GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glProgramUniformMatrix2x3dv,GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glProgramUniformMatrix3x2dv,GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glProgramUniformMatrix2x4dv,GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glProgramUniformMatrix4x2dv,GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glProgramUniformMatrix3x4dv,GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glProgramUniformMatrix4x3dv,GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glValidateProgramPipeline,GLuint -> IO ())
-EXTENSION_ENTRY(glGetProgramPipelineInfoLog,GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-
-gl_VERTEX_SHADER_BIT :: GLbitfield
-gl_VERTEX_SHADER_BIT = 0x00000001
-
-gl_FRAGMENT_SHADER_BIT :: GLbitfield
-gl_FRAGMENT_SHADER_BIT = 0x00000002
-
-gl_GEOMETRY_SHADER_BIT :: GLbitfield
-gl_GEOMETRY_SHADER_BIT = 0x00000004
-
-gl_TESS_CONTROL_SHADER_BIT :: GLbitfield
-gl_TESS_CONTROL_SHADER_BIT = 0x00000008
-
-gl_TESS_EVALUATION_SHADER_BIT :: GLbitfield
-gl_TESS_EVALUATION_SHADER_BIT = 0x00000010
-
-gl_ALL_SHADER_BITS :: GLbitfield
-gl_ALL_SHADER_BITS = 0xFFFFFFFF
-
-gl_PROGRAM_SEPARABLE :: GLenum
-gl_PROGRAM_SEPARABLE = 0x8258
-
-gl_ACTIVE_PROGRAM :: GLenum
-gl_ACTIVE_PROGRAM = 0x8259
-
-gl_PROGRAM_PIPELINE_BINDING :: GLenum
-gl_PROGRAM_PIPELINE_BINDING = 0x825A
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.SeparateShaderObjects
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the separate_shader_objects, see
+-- <http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.SeparateShaderObjects (
+   -- * Functions
+   glUseProgramStages,
+   glActiveShaderProgram,
+   glCreateShaderProgramv,
+   glBindProgramPipeline,
+   glDeleteProgramPipelines,
+   glGenProgramPipelines,
+   glIsProgramPipeline,
+   glGetProgramPipelineiv,
+   glProgramUniform1i,
+   glProgramUniform1iv,
+   glProgramUniform1f,
+   glProgramUniform1fv,
+   glProgramUniform1d,
+   glProgramUniform1dv,
+   glProgramUniform1ui,
+   glProgramUniform1uiv,
+   glProgramUniform2i,
+   glProgramUniform2iv,
+   glProgramUniform2f,
+   glProgramUniform2fv,
+   glProgramUniform2d,
+   glProgramUniform2dv,
+   glProgramUniform2ui,
+   glProgramUniform2uiv,
+   glProgramUniform3i,
+   glProgramUniform3iv,
+   glProgramUniform3f,
+   glProgramUniform3fv,
+   glProgramUniform3d,
+   glProgramUniform3dv,
+   glProgramUniform3ui,
+   glProgramUniform3uiv,
+   glProgramUniform4i,
+   glProgramUniform4iv,
+   glProgramUniform4f,
+   glProgramUniform4fv,
+   glProgramUniform4d,
+   glProgramUniform4dv,
+   glProgramUniform4ui,
+   glProgramUniform4uiv,
+   glProgramUniformMatrix2fv,
+   glProgramUniformMatrix3fv,
+   glProgramUniformMatrix4fv,
+   glProgramUniformMatrix2dv,
+   glProgramUniformMatrix3dv,
+   glProgramUniformMatrix4dv,
+   glProgramUniformMatrix2x3fv,
+   glProgramUniformMatrix3x2fv,
+   glProgramUniformMatrix2x4fv,
+   glProgramUniformMatrix4x2fv,
+   glProgramUniformMatrix3x4fv,
+   glProgramUniformMatrix4x3fv,
+   glProgramUniformMatrix2x3dv,
+   glProgramUniformMatrix3x2dv,
+   glProgramUniformMatrix2x4dv,
+   glProgramUniformMatrix4x2dv,
+   glProgramUniformMatrix3x4dv,
+   glProgramUniformMatrix4x3dv,
+   glValidateProgramPipeline,
+   glGetProgramPipelineInfoLog,
+
+   -- * Tokens
+   gl_VERTEX_SHADER_BIT,
+   gl_FRAGMENT_SHADER_BIT,
+   gl_GEOMETRY_SHADER_BIT,
+   gl_TESS_CONTROL_SHADER_BIT,
+   gl_TESS_EVALUATION_SHADER_BIT,
+   gl_ALL_SHADER_BITS,
+   gl_PROGRAM_SEPARABLE,
+   gl_ACTIVE_PROGRAM,
+   gl_PROGRAM_PIPELINE_BINDING
+) where
+
+import Foreign.C.Types
+import Foreign.Ptr
+import Graphics.Rendering.OpenGL.Raw.Extensions
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_separate_shader_objects"
+
+EXTENSION_ENTRY(dyn_glUseProgramStages,ptr_glUseProgramStages,"glUseProgramStages",glUseProgramStages,GLuint -> GLbitfield -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glActiveShaderProgram,ptr_glActiveShaderProgram,"glActiveShaderProgram",glActiveShaderProgram,GLuint -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glCreateShaderProgramv,ptr_glCreateShaderProgramv,"glCreateShaderProgramv",glCreateShaderProgramv,GLenum -> GLsizei -> Ptr (Ptr GLchar) -> IO GLuint)
+EXTENSION_ENTRY(dyn_glBindProgramPipeline,ptr_glBindProgramPipeline,"glBindProgramPipeline",glBindProgramPipeline,GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glDeleteProgramPipelines,ptr_glDeleteProgramPipelines,"glDeleteProgramPipelines",glDeleteProgramPipelines,GLsizei -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glGenProgramPipelines,ptr_glGenProgramPipelines,"glGenProgramPipelines",glGenProgramPipelines,GLsizei -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glIsProgramPipeline,ptr_glIsProgramPipeline,"glIsProgramPipeline",glIsProgramPipeline,GLuint -> IO GLboolean)
+EXTENSION_ENTRY(dyn_glGetProgramPipelineiv,ptr_glGetProgramPipelineiv,"glGetProgramPipelineiv",glGetProgramPipelineiv,GLuint -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glProgramUniform1i,ptr_glProgramUniform1i,"glProgramUniform1i",glProgramUniform1i,GLuint -> GLint -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glProgramUniform1iv,ptr_glProgramUniform1iv,"glProgramUniform1iv",glProgramUniform1iv,GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glProgramUniform1f,ptr_glProgramUniform1f,"glProgramUniform1f",glProgramUniform1f,GLuint -> GLint -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glProgramUniform1fv,ptr_glProgramUniform1fv,"glProgramUniform1fv",glProgramUniform1fv,GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glProgramUniform1d,ptr_glProgramUniform1d,"glProgramUniform1d",glProgramUniform1d,GLuint -> GLint -> GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glProgramUniform1dv,ptr_glProgramUniform1dv,"glProgramUniform1dv",glProgramUniform1dv,GLuint -> GLint -> GLsizei -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glProgramUniform1ui,ptr_glProgramUniform1ui,"glProgramUniform1ui",glProgramUniform1ui,GLuint -> GLint -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glProgramUniform1uiv,ptr_glProgramUniform1uiv,"glProgramUniform1uiv",glProgramUniform1uiv,GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glProgramUniform2i,ptr_glProgramUniform2i,"glProgramUniform2i",glProgramUniform2i,GLuint -> GLint -> GLint -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glProgramUniform2iv,ptr_glProgramUniform2iv,"glProgramUniform2iv",glProgramUniform2iv,GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glProgramUniform2f,ptr_glProgramUniform2f,"glProgramUniform2f",glProgramUniform2f,GLuint -> GLint -> GLfloat -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glProgramUniform2fv,ptr_glProgramUniform2fv,"glProgramUniform2fv",glProgramUniform2fv,GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glProgramUniform2d,ptr_glProgramUniform2d,"glProgramUniform2d",glProgramUniform2d,GLuint -> GLint -> GLdouble -> GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glProgramUniform2dv,ptr_glProgramUniform2dv,"glProgramUniform2dv",glProgramUniform2dv,GLuint -> GLint -> GLsizei -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glProgramUniform2ui,ptr_glProgramUniform2ui,"glProgramUniform2ui",glProgramUniform2ui,GLuint -> GLint -> GLuint -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glProgramUniform2uiv,ptr_glProgramUniform2uiv,"glProgramUniform2uiv",glProgramUniform2uiv,GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glProgramUniform3i,ptr_glProgramUniform3i,"glProgramUniform3i",glProgramUniform3i,GLuint -> GLint -> GLint -> GLint -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glProgramUniform3iv,ptr_glProgramUniform3iv,"glProgramUniform3iv",glProgramUniform3iv,GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glProgramUniform3f,ptr_glProgramUniform3f,"glProgramUniform3f",glProgramUniform3f,GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glProgramUniform3fv,ptr_glProgramUniform3fv,"glProgramUniform3fv",glProgramUniform3fv,GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glProgramUniform3d,ptr_glProgramUniform3d,"glProgramUniform3d",glProgramUniform3d,GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glProgramUniform3dv,ptr_glProgramUniform3dv,"glProgramUniform3dv",glProgramUniform3dv,GLuint -> GLint -> GLsizei -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glProgramUniform3ui,ptr_glProgramUniform3ui,"glProgramUniform3ui",glProgramUniform3ui,GLuint -> GLint -> GLuint -> GLuint -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glProgramUniform3uiv,ptr_glProgramUniform3uiv,"glProgramUniform3uiv",glProgramUniform3uiv,GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glProgramUniform4i,ptr_glProgramUniform4i,"glProgramUniform4i",glProgramUniform4i,GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glProgramUniform4iv,ptr_glProgramUniform4iv,"glProgramUniform4iv",glProgramUniform4iv,GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glProgramUniform4f,ptr_glProgramUniform4f,"glProgramUniform4f",glProgramUniform4f,GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glProgramUniform4fv,ptr_glProgramUniform4fv,"glProgramUniform4fv",glProgramUniform4fv,GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glProgramUniform4d,ptr_glProgramUniform4d,"glProgramUniform4d",glProgramUniform4d,GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glProgramUniform4dv,ptr_glProgramUniform4dv,"glProgramUniform4dv",glProgramUniform4dv,GLuint -> GLint -> GLsizei -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glProgramUniform4ui,ptr_glProgramUniform4ui,"glProgramUniform4ui",glProgramUniform4ui,GLuint -> GLint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glProgramUniform4uiv,ptr_glProgramUniform4uiv,"glProgramUniform4uiv",glProgramUniform4uiv,GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glProgramUniformMatrix2fv,ptr_glProgramUniformMatrix2fv,"glProgramUniformMatrix2fv",glProgramUniformMatrix2fv,GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glProgramUniformMatrix3fv,ptr_glProgramUniformMatrix3fv,"glProgramUniformMatrix3fv",glProgramUniformMatrix3fv,GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glProgramUniformMatrix4fv,ptr_glProgramUniformMatrix4fv,"glProgramUniformMatrix4fv",glProgramUniformMatrix4fv,GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glProgramUniformMatrix2dv,ptr_glProgramUniformMatrix2dv,"glProgramUniformMatrix2dv",glProgramUniformMatrix2dv,GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glProgramUniformMatrix3dv,ptr_glProgramUniformMatrix3dv,"glProgramUniformMatrix3dv",glProgramUniformMatrix3dv,GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glProgramUniformMatrix4dv,ptr_glProgramUniformMatrix4dv,"glProgramUniformMatrix4dv",glProgramUniformMatrix4dv,GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glProgramUniformMatrix2x3fv,ptr_glProgramUniformMatrix2x3fv,"glProgramUniformMatrix2x3fv",glProgramUniformMatrix2x3fv,GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glProgramUniformMatrix3x2fv,ptr_glProgramUniformMatrix3x2fv,"glProgramUniformMatrix3x2fv",glProgramUniformMatrix3x2fv,GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glProgramUniformMatrix2x4fv,ptr_glProgramUniformMatrix2x4fv,"glProgramUniformMatrix2x4fv",glProgramUniformMatrix2x4fv,GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glProgramUniformMatrix4x2fv,ptr_glProgramUniformMatrix4x2fv,"glProgramUniformMatrix4x2fv",glProgramUniformMatrix4x2fv,GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glProgramUniformMatrix3x4fv,ptr_glProgramUniformMatrix3x4fv,"glProgramUniformMatrix3x4fv",glProgramUniformMatrix3x4fv,GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glProgramUniformMatrix4x3fv,ptr_glProgramUniformMatrix4x3fv,"glProgramUniformMatrix4x3fv",glProgramUniformMatrix4x3fv,GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glProgramUniformMatrix2x3dv,ptr_glProgramUniformMatrix2x3dv,"glProgramUniformMatrix2x3dv",glProgramUniformMatrix2x3dv,GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glProgramUniformMatrix3x2dv,ptr_glProgramUniformMatrix3x2dv,"glProgramUniformMatrix3x2dv",glProgramUniformMatrix3x2dv,GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glProgramUniformMatrix2x4dv,ptr_glProgramUniformMatrix2x4dv,"glProgramUniformMatrix2x4dv",glProgramUniformMatrix2x4dv,GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glProgramUniformMatrix4x2dv,ptr_glProgramUniformMatrix4x2dv,"glProgramUniformMatrix4x2dv",glProgramUniformMatrix4x2dv,GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glProgramUniformMatrix3x4dv,ptr_glProgramUniformMatrix3x4dv,"glProgramUniformMatrix3x4dv",glProgramUniformMatrix3x4dv,GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glProgramUniformMatrix4x3dv,ptr_glProgramUniformMatrix4x3dv,"glProgramUniformMatrix4x3dv",glProgramUniformMatrix4x3dv,GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glValidateProgramPipeline,ptr_glValidateProgramPipeline,"glValidateProgramPipeline",glValidateProgramPipeline,GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glGetProgramPipelineInfoLog,ptr_glGetProgramPipelineInfoLog,"glGetProgramPipelineInfoLog",glGetProgramPipelineInfoLog,GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
+
+gl_VERTEX_SHADER_BIT :: GLbitfield
+gl_VERTEX_SHADER_BIT = 0x00000001
+
+gl_FRAGMENT_SHADER_BIT :: GLbitfield
+gl_FRAGMENT_SHADER_BIT = 0x00000002
+
+gl_GEOMETRY_SHADER_BIT :: GLbitfield
+gl_GEOMETRY_SHADER_BIT = 0x00000004
+
+gl_TESS_CONTROL_SHADER_BIT :: GLbitfield
+gl_TESS_CONTROL_SHADER_BIT = 0x00000008
+
+gl_TESS_EVALUATION_SHADER_BIT :: GLbitfield
+gl_TESS_EVALUATION_SHADER_BIT = 0x00000010
+
+gl_ALL_SHADER_BITS :: GLbitfield
+gl_ALL_SHADER_BITS = 0xFFFFFFFF
+
+gl_PROGRAM_SEPARABLE :: GLenum
+gl_PROGRAM_SEPARABLE = 0x8258
+
+gl_ACTIVE_PROGRAM :: GLenum
+gl_ACTIVE_PROGRAM = 0x8259
+
+gl_PROGRAM_PIPELINE_BINDING :: GLenum
+gl_PROGRAM_PIPELINE_BINDING = 0x825A
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/ShaderAtomicCounters.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/ShaderAtomicCounters.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/ShaderAtomicCounters.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/ShaderAtomicCounters.hs
@@ -1,149 +1,149 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.ShaderAtomicCounters
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the ARB_shader_atomic_counters extension,
--- see <http://www.opengl.org/registry/specs/ARB/shader_atomic_counters.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.ShaderAtomicCounters (
-   -- * Functions
-   glGetActiveAtomicCounterBufferiv,
-   -- * Tokens
-   gl_ATOMIC_COUNTER_BUFFER,
-   gl_ATOMIC_COUNTER_BUFFER_BINDING,
-   gl_ATOMIC_COUNTER_BUFFER_START,
-   gl_ATOMIC_COUNTER_BUFFER_SIZE,
-   gl_ATOMIC_COUNTER_BUFFER_DATA_SIZE,
-   gl_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS,
-   gl_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES,
-   gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_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_GEOMETRY_SHADER,
-   gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER,
-   gl_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS,
-   gl_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS,
-   gl_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS,
-   gl_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS,
-   gl_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS,
-   gl_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS,
-   gl_MAX_VERTEX_ATOMIC_COUNTERS,
-   gl_MAX_TESS_CONTROL_ATOMIC_COUNTERS,
-   gl_MAX_TESS_EVALUATION_ATOMIC_COUNTERS,
-   gl_MAX_GEOMETRY_ATOMIC_COUNTERS,
-   gl_MAX_FRAGMENT_ATOMIC_COUNTERS,
-   gl_MAX_COMBINED_ATOMIC_COUNTERS,
-   gl_MAX_ATOMIC_COUNTER_BUFFER_SIZE,
-   gl_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS,
-   gl_ACTIVE_ATOMIC_COUNTER_BUFFERS,
-   gl_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX,
-   gl_UNSIGNED_INT_ATOMIC_COUNTER
-) where
-
-import Foreign.C.Types
-import Foreign.Ptr
-import Graphics.Rendering.OpenGL.Raw.Extensions
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_ARB_shader_atomic_counter"
-
-EXTENSION_ENTRY(glGetActiveAtomicCounterBufferiv,GLuint -> GLuint -> GLenum -> Ptr GLint -> IO ())
-
-gl_ATOMIC_COUNTER_BUFFER :: GLenum
-gl_ATOMIC_COUNTER_BUFFER = 0x92C0
-
-gl_ATOMIC_COUNTER_BUFFER_BINDING :: GLenum
-gl_ATOMIC_COUNTER_BUFFER_BINDING = 0x92C1
-
-gl_ATOMIC_COUNTER_BUFFER_START :: GLenum
-gl_ATOMIC_COUNTER_BUFFER_START = 0x92C2
-
-gl_ATOMIC_COUNTER_BUFFER_SIZE :: GLenum
-gl_ATOMIC_COUNTER_BUFFER_SIZE = 0x92C3
-
-gl_ATOMIC_COUNTER_BUFFER_DATA_SIZE :: GLenum
-gl_ATOMIC_COUNTER_BUFFER_DATA_SIZE = 0x92C4
-
-gl_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS :: GLenum
-gl_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS = 0x92C5
-
-gl_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES :: GLenum
-gl_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES = 0x92C6
-
-gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER :: GLenum
-gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER = 0x92C7
-
-gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER :: GLenum
-gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER = 0x92C8
-
-gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER :: GLenum
-gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER = 0x92C9
-
-gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER :: GLenum
-gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER = 0x92CA
-
-gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER :: GLenum
-gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER = 0x92CB
-
-gl_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS :: GLenum
-gl_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS = 0x92CC
-
-gl_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS :: GLenum
-gl_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS = 0x92CD
-
-gl_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS :: GLenum
-gl_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS = 0x92CE
-
-gl_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS :: GLenum
-gl_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS = 0x92CF
-
-gl_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS :: GLenum
-gl_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS = 0x92D0
-
-gl_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS :: GLenum
-gl_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS = 0x92D1
-
-gl_MAX_VERTEX_ATOMIC_COUNTERS :: GLenum
-gl_MAX_VERTEX_ATOMIC_COUNTERS = 0x92D2
-
-gl_MAX_TESS_CONTROL_ATOMIC_COUNTERS :: GLenum
-gl_MAX_TESS_CONTROL_ATOMIC_COUNTERS = 0x92D3
-
-gl_MAX_TESS_EVALUATION_ATOMIC_COUNTERS :: GLenum
-gl_MAX_TESS_EVALUATION_ATOMIC_COUNTERS = 0x92D4
-
-gl_MAX_GEOMETRY_ATOMIC_COUNTERS :: GLenum
-gl_MAX_GEOMETRY_ATOMIC_COUNTERS = 0x92D5
-
-gl_MAX_FRAGMENT_ATOMIC_COUNTERS :: GLenum
-gl_MAX_FRAGMENT_ATOMIC_COUNTERS = 0x92D6
-
-gl_MAX_COMBINED_ATOMIC_COUNTERS :: GLenum
-gl_MAX_COMBINED_ATOMIC_COUNTERS = 0x92D7
-
-gl_MAX_ATOMIC_COUNTER_BUFFER_SIZE :: GLenum
-gl_MAX_ATOMIC_COUNTER_BUFFER_SIZE = 0x92D8
-
-gl_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS :: GLenum
-gl_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS = 0x92DC
-
-gl_ACTIVE_ATOMIC_COUNTER_BUFFERS :: GLenum
-gl_ACTIVE_ATOMIC_COUNTER_BUFFERS = 0x92D9
-
-gl_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX :: GLenum
-gl_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX = 0x92DA
-
-gl_UNSIGNED_INT_ATOMIC_COUNTER :: GLenum
-gl_UNSIGNED_INT_ATOMIC_COUNTER = 0x92DB
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.ShaderAtomicCounters
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the ARB_shader_atomic_counters extension,
+-- see <http://www.opengl.org/registry/specs/ARB/shader_atomic_counters.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.ShaderAtomicCounters (
+   -- * Functions
+   glGetActiveAtomicCounterBufferiv,
+   -- * Tokens
+   gl_ATOMIC_COUNTER_BUFFER,
+   gl_ATOMIC_COUNTER_BUFFER_BINDING,
+   gl_ATOMIC_COUNTER_BUFFER_START,
+   gl_ATOMIC_COUNTER_BUFFER_SIZE,
+   gl_ATOMIC_COUNTER_BUFFER_DATA_SIZE,
+   gl_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS,
+   gl_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES,
+   gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_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_GEOMETRY_SHADER,
+   gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER,
+   gl_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS,
+   gl_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS,
+   gl_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS,
+   gl_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS,
+   gl_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS,
+   gl_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS,
+   gl_MAX_VERTEX_ATOMIC_COUNTERS,
+   gl_MAX_TESS_CONTROL_ATOMIC_COUNTERS,
+   gl_MAX_TESS_EVALUATION_ATOMIC_COUNTERS,
+   gl_MAX_GEOMETRY_ATOMIC_COUNTERS,
+   gl_MAX_FRAGMENT_ATOMIC_COUNTERS,
+   gl_MAX_COMBINED_ATOMIC_COUNTERS,
+   gl_MAX_ATOMIC_COUNTER_BUFFER_SIZE,
+   gl_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS,
+   gl_ACTIVE_ATOMIC_COUNTER_BUFFERS,
+   gl_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX,
+   gl_UNSIGNED_INT_ATOMIC_COUNTER
+) where
+
+import Foreign.C.Types
+import Foreign.Ptr
+import Graphics.Rendering.OpenGL.Raw.Extensions
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_ARB_shader_atomic_counter"
+
+EXTENSION_ENTRY(dyn_glGetActiveAtomicCounterBufferiv,ptr_glGetActiveAtomicCounterBufferiv,"glGetActiveAtomicCounterBufferiv",glGetActiveAtomicCounterBufferiv,GLuint -> GLuint -> GLenum -> Ptr GLint -> IO ())
+
+gl_ATOMIC_COUNTER_BUFFER :: GLenum
+gl_ATOMIC_COUNTER_BUFFER = 0x92C0
+
+gl_ATOMIC_COUNTER_BUFFER_BINDING :: GLenum
+gl_ATOMIC_COUNTER_BUFFER_BINDING = 0x92C1
+
+gl_ATOMIC_COUNTER_BUFFER_START :: GLenum
+gl_ATOMIC_COUNTER_BUFFER_START = 0x92C2
+
+gl_ATOMIC_COUNTER_BUFFER_SIZE :: GLenum
+gl_ATOMIC_COUNTER_BUFFER_SIZE = 0x92C3
+
+gl_ATOMIC_COUNTER_BUFFER_DATA_SIZE :: GLenum
+gl_ATOMIC_COUNTER_BUFFER_DATA_SIZE = 0x92C4
+
+gl_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS :: GLenum
+gl_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS = 0x92C5
+
+gl_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES :: GLenum
+gl_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES = 0x92C6
+
+gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER :: GLenum
+gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER = 0x92C7
+
+gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER :: GLenum
+gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER = 0x92C8
+
+gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER :: GLenum
+gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER = 0x92C9
+
+gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER :: GLenum
+gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER = 0x92CA
+
+gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER :: GLenum
+gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER = 0x92CB
+
+gl_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS :: GLenum
+gl_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS = 0x92CC
+
+gl_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS :: GLenum
+gl_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS = 0x92CD
+
+gl_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS :: GLenum
+gl_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS = 0x92CE
+
+gl_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS :: GLenum
+gl_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS = 0x92CF
+
+gl_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS :: GLenum
+gl_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS = 0x92D0
+
+gl_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS :: GLenum
+gl_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS = 0x92D1
+
+gl_MAX_VERTEX_ATOMIC_COUNTERS :: GLenum
+gl_MAX_VERTEX_ATOMIC_COUNTERS = 0x92D2
+
+gl_MAX_TESS_CONTROL_ATOMIC_COUNTERS :: GLenum
+gl_MAX_TESS_CONTROL_ATOMIC_COUNTERS = 0x92D3
+
+gl_MAX_TESS_EVALUATION_ATOMIC_COUNTERS :: GLenum
+gl_MAX_TESS_EVALUATION_ATOMIC_COUNTERS = 0x92D4
+
+gl_MAX_GEOMETRY_ATOMIC_COUNTERS :: GLenum
+gl_MAX_GEOMETRY_ATOMIC_COUNTERS = 0x92D5
+
+gl_MAX_FRAGMENT_ATOMIC_COUNTERS :: GLenum
+gl_MAX_FRAGMENT_ATOMIC_COUNTERS = 0x92D6
+
+gl_MAX_COMBINED_ATOMIC_COUNTERS :: GLenum
+gl_MAX_COMBINED_ATOMIC_COUNTERS = 0x92D7
+
+gl_MAX_ATOMIC_COUNTER_BUFFER_SIZE :: GLenum
+gl_MAX_ATOMIC_COUNTER_BUFFER_SIZE = 0x92D8
+
+gl_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS :: GLenum
+gl_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS = 0x92DC
+
+gl_ACTIVE_ATOMIC_COUNTER_BUFFERS :: GLenum
+gl_ACTIVE_ATOMIC_COUNTER_BUFFERS = 0x92D9
+
+gl_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX :: GLenum
+gl_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX = 0x92DA
+
+gl_UNSIGNED_INT_ATOMIC_COUNTER :: GLenum
+gl_UNSIGNED_INT_ATOMIC_COUNTER = 0x92DB
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/ShaderObjects.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/ShaderObjects.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/ShaderObjects.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/ShaderObjects.hs
@@ -1,166 +1,166 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.ShaderObjects
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions, tokens and types from the ARB_shader_objects extension,
--- see <http://www.opengl.org/registry/specs/ARB/shader_objects.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.ShaderObjects (
-   -- * Functions
-   glDeleteObject,
-   glGetHandle,
-   glDetachObject,
-   glCreateShaderObject,
-   glShaderSource,
-   glCompileShader,
-   glCreateProgramObject,
-   glAttachObject,
-   glLinkProgram,
-   glUseProgramObject,
-   glValidateProgram,
-   glUniform1f,
-   glUniform2f,
-   glUniform3f,
-   glUniform4f,
-   glUniform1i,
-   glUniform2i,
-   glUniform3i,
-   glUniform4i,
-   glUniform1fv,
-   glUniform2fv,
-   glUniform3fv,
-   glUniform4fv,
-   glUniform1iv,
-   glUniform2iv,
-   glUniform3iv,
-   glUniform4iv,
-   glUniformMatrix2fv,
-   glUniformMatrix3fv,
-   glUniformMatrix4fv,
-   glGetObjectParameterfv,
-   glGetObjectParameteriv,
-   glGetInfoLog,
-   glGetAttachedObjects,
-   glGetUniformLocation,
-   glGetActiveUniform,
-   glGetUniformfv,
-   glGetUniformiv,
-   glGetShaderSource,
-   -- * Tokens
-   gl_PROGRAM_OBJECT,
-   gl_OBJECT_TYPE_ARB,
-   gl_OBJECT_SUBTYPE,
-   gl_OBJECT_DELETE_STATUS,
-   gl_OBJECT_COMPILE_STATUS,
-   gl_OBJECT_LINK_STATUS,
-   gl_OBJECT_VALIDATE_STATUS,
-   gl_OBJECT_INFO_LOG_LENGTH,
-   gl_OBJECT_ATTACHED_OBJECTS,
-   gl_OBJECT_ACTIVE_UNIFORMS,
-   gl_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH,
-   gl_OBJECT_SHADER_SOURCE_LENGTH,
-   gl_SHADER_OBJECT,
-   gl_FLOAT,
-   gl_FLOAT_VEC2,
-   gl_FLOAT_VEC3,
-   gl_FLOAT_VEC4,
-   gl_INT,
-   gl_INT_VEC2,
-   gl_INT_VEC3,
-   gl_INT_VEC4,
-   gl_BOOL,
-   gl_BOOL_VEC2,
-   gl_BOOL_VEC3,
-   gl_BOOL_VEC4,
-   gl_FLOAT_MAT2,
-   gl_FLOAT_MAT3,
-   gl_FLOAT_MAT4,
-   gl_SAMPLER_1D,
-   gl_SAMPLER_2D,
-   gl_SAMPLER_3D,
-   gl_SAMPLER_CUBE,
-   gl_SAMPLER_1D_SHADOW,
-   gl_SAMPLER_2D_SHADOW,
-   gl_SAMPLER_2D_RECT,
-   gl_SAMPLER_2D_RECT_SHADOW,
-   -- * Types
-   GLhandle
-) where
-
-import Foreign.Ptr
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.Core32
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_ARB_shader_objects"
-
-EXTENSION_ENTRY(glDeleteObject,GLhandle -> IO ())
-EXTENSION_ENTRY(glGetHandle,GLenum -> IO GLhandle)
-EXTENSION_ENTRY(glDetachObject,GLhandle -> GLhandle -> IO ())
-EXTENSION_ENTRY(glCreateShaderObject,GLenum -> IO GLhandle)
-EXTENSION_ENTRY(glCreateProgramObject,IO GLhandle)
-EXTENSION_ENTRY(glAttachObject,GLhandle -> GLhandle -> IO ())
-EXTENSION_ENTRY(glUseProgramObject,GLhandle -> IO ())
-EXTENSION_ENTRY(glGetObjectParameterfv,GLhandle -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glGetObjectParameteriv,GLhandle -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glGetInfoLog,GLhandle -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-EXTENSION_ENTRY(glGetAttachedObjects,GLhandle -> GLsizei -> Ptr GLsizei -> Ptr GLhandle -> IO ())
-
-gl_PROGRAM_OBJECT :: GLenum
-gl_PROGRAM_OBJECT = 0x8B40
-
--- | Note: We use the ARB suffix here, because the name clashes with the ARB_sync extension.
-gl_OBJECT_TYPE_ARB :: GLenum
-gl_OBJECT_TYPE_ARB = 0x8B4E
-
-gl_OBJECT_SUBTYPE :: GLenum
-gl_OBJECT_SUBTYPE = 0x8B4F
-
-gl_OBJECT_DELETE_STATUS :: GLenum
-gl_OBJECT_DELETE_STATUS = 0x8B80
-
-gl_OBJECT_COMPILE_STATUS :: GLenum
-gl_OBJECT_COMPILE_STATUS = 0x8B81
-
-gl_OBJECT_LINK_STATUS :: GLenum
-gl_OBJECT_LINK_STATUS = 0x8B82
-
-gl_OBJECT_VALIDATE_STATUS :: GLenum
-gl_OBJECT_VALIDATE_STATUS = 0x8B83
-
-gl_OBJECT_INFO_LOG_LENGTH :: GLenum
-gl_OBJECT_INFO_LOG_LENGTH = 0x8B84
-
-gl_OBJECT_ATTACHED_OBJECTS :: GLenum
-gl_OBJECT_ATTACHED_OBJECTS = 0x8B85
-
-gl_OBJECT_ACTIVE_UNIFORMS :: GLenum
-gl_OBJECT_ACTIVE_UNIFORMS = 0x8B86
-
-gl_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH :: GLenum
-gl_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH = 0x8B87
-
-gl_OBJECT_SHADER_SOURCE_LENGTH :: GLenum
-gl_OBJECT_SHADER_SOURCE_LENGTH = 0x8B88
-
-gl_SHADER_OBJECT :: GLenum
-gl_SHADER_OBJECT = 0x8B48
-
-#if HANDLE_IS_POINTER
-type GLhandle = Ptr ()
-#else
-type GLhandle = CUInt
-#endif
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.ShaderObjects
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions, tokens and types from the ARB_shader_objects extension,
+-- see <http://www.opengl.org/registry/specs/ARB/shader_objects.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.ShaderObjects (
+   -- * Functions
+   glDeleteObject,
+   glGetHandle,
+   glDetachObject,
+   glCreateShaderObject,
+   glShaderSource,
+   glCompileShader,
+   glCreateProgramObject,
+   glAttachObject,
+   glLinkProgram,
+   glUseProgramObject,
+   glValidateProgram,
+   glUniform1f,
+   glUniform2f,
+   glUniform3f,
+   glUniform4f,
+   glUniform1i,
+   glUniform2i,
+   glUniform3i,
+   glUniform4i,
+   glUniform1fv,
+   glUniform2fv,
+   glUniform3fv,
+   glUniform4fv,
+   glUniform1iv,
+   glUniform2iv,
+   glUniform3iv,
+   glUniform4iv,
+   glUniformMatrix2fv,
+   glUniformMatrix3fv,
+   glUniformMatrix4fv,
+   glGetObjectParameterfv,
+   glGetObjectParameteriv,
+   glGetInfoLog,
+   glGetAttachedObjects,
+   glGetUniformLocation,
+   glGetActiveUniform,
+   glGetUniformfv,
+   glGetUniformiv,
+   glGetShaderSource,
+   -- * Tokens
+   gl_PROGRAM_OBJECT,
+   gl_OBJECT_TYPE_ARB,
+   gl_OBJECT_SUBTYPE,
+   gl_OBJECT_DELETE_STATUS,
+   gl_OBJECT_COMPILE_STATUS,
+   gl_OBJECT_LINK_STATUS,
+   gl_OBJECT_VALIDATE_STATUS,
+   gl_OBJECT_INFO_LOG_LENGTH,
+   gl_OBJECT_ATTACHED_OBJECTS,
+   gl_OBJECT_ACTIVE_UNIFORMS,
+   gl_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH,
+   gl_OBJECT_SHADER_SOURCE_LENGTH,
+   gl_SHADER_OBJECT,
+   gl_FLOAT,
+   gl_FLOAT_VEC2,
+   gl_FLOAT_VEC3,
+   gl_FLOAT_VEC4,
+   gl_INT,
+   gl_INT_VEC2,
+   gl_INT_VEC3,
+   gl_INT_VEC4,
+   gl_BOOL,
+   gl_BOOL_VEC2,
+   gl_BOOL_VEC3,
+   gl_BOOL_VEC4,
+   gl_FLOAT_MAT2,
+   gl_FLOAT_MAT3,
+   gl_FLOAT_MAT4,
+   gl_SAMPLER_1D,
+   gl_SAMPLER_2D,
+   gl_SAMPLER_3D,
+   gl_SAMPLER_CUBE,
+   gl_SAMPLER_1D_SHADOW,
+   gl_SAMPLER_2D_SHADOW,
+   gl_SAMPLER_2D_RECT,
+   gl_SAMPLER_2D_RECT_SHADOW,
+   -- * Types
+   GLhandle
+) where
+
+import Foreign.Ptr
+import Foreign.C.Types
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+import Graphics.Rendering.OpenGL.Raw.Core32
+import Graphics.Rendering.OpenGL.Raw.Extensions
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_ARB_shader_objects"
+
+EXTENSION_ENTRY(dyn_glDeleteObject,ptr_glDeleteObject,"glDeleteObject",glDeleteObject,GLhandle -> IO ())
+EXTENSION_ENTRY(dyn_glGetHandle,ptr_glGetHandle,"glGetHandle",glGetHandle,GLenum -> IO GLhandle)
+EXTENSION_ENTRY(dyn_glDetachObject,ptr_glDetachObject,"glDetachObject",glDetachObject,GLhandle -> GLhandle -> IO ())
+EXTENSION_ENTRY(dyn_glCreateShaderObject,ptr_glCreateShaderObject,"glCreateShaderObject",glCreateShaderObject,GLenum -> IO GLhandle)
+EXTENSION_ENTRY(dyn_glCreateProgramObject,ptr_glCreateProgramObject,"glCreateProgramObject",glCreateProgramObject,IO GLhandle)
+EXTENSION_ENTRY(dyn_glAttachObject,ptr_glAttachObject,"glAttachObject",glAttachObject,GLhandle -> GLhandle -> IO ())
+EXTENSION_ENTRY(dyn_glUseProgramObject,ptr_glUseProgramObject,"glUseProgramObject",glUseProgramObject,GLhandle -> IO ())
+EXTENSION_ENTRY(dyn_glGetObjectParameterfv,ptr_glGetObjectParameterfv,"glGetObjectParameterfv",glGetObjectParameterfv,GLhandle -> GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glGetObjectParameteriv,ptr_glGetObjectParameteriv,"glGetObjectParameteriv",glGetObjectParameteriv,GLhandle -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glGetInfoLog,ptr_glGetInfoLog,"glGetInfoLog",glGetInfoLog,GLhandle -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
+EXTENSION_ENTRY(dyn_glGetAttachedObjects,ptr_glGetAttachedObjects,"glGetAttachedObjects",glGetAttachedObjects,GLhandle -> GLsizei -> Ptr GLsizei -> Ptr GLhandle -> IO ())
+
+gl_PROGRAM_OBJECT :: GLenum
+gl_PROGRAM_OBJECT = 0x8B40
+
+-- | Note: We use the ARB suffix here, because the name clashes with the ARB_sync extension.
+gl_OBJECT_TYPE_ARB :: GLenum
+gl_OBJECT_TYPE_ARB = 0x8B4E
+
+gl_OBJECT_SUBTYPE :: GLenum
+gl_OBJECT_SUBTYPE = 0x8B4F
+
+gl_OBJECT_DELETE_STATUS :: GLenum
+gl_OBJECT_DELETE_STATUS = 0x8B80
+
+gl_OBJECT_COMPILE_STATUS :: GLenum
+gl_OBJECT_COMPILE_STATUS = 0x8B81
+
+gl_OBJECT_LINK_STATUS :: GLenum
+gl_OBJECT_LINK_STATUS = 0x8B82
+
+gl_OBJECT_VALIDATE_STATUS :: GLenum
+gl_OBJECT_VALIDATE_STATUS = 0x8B83
+
+gl_OBJECT_INFO_LOG_LENGTH :: GLenum
+gl_OBJECT_INFO_LOG_LENGTH = 0x8B84
+
+gl_OBJECT_ATTACHED_OBJECTS :: GLenum
+gl_OBJECT_ATTACHED_OBJECTS = 0x8B85
+
+gl_OBJECT_ACTIVE_UNIFORMS :: GLenum
+gl_OBJECT_ACTIVE_UNIFORMS = 0x8B86
+
+gl_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH :: GLenum
+gl_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH = 0x8B87
+
+gl_OBJECT_SHADER_SOURCE_LENGTH :: GLenum
+gl_OBJECT_SHADER_SOURCE_LENGTH = 0x8B88
+
+gl_SHADER_OBJECT :: GLenum
+gl_SHADER_OBJECT = 0x8B48
+
+#if HANDLE_IS_POINTER
+type GLhandle = Ptr ()
+#else
+type GLhandle = CUInt
+#endif
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/ShaderStorageBufferObject.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/ShaderStorageBufferObject.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/ShaderStorageBufferObject.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/ShaderStorageBufferObject.hs
@@ -1,101 +1,101 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.ShaderStorageBufferObject
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the ARB_shader_storage_buffer_object, see
--- <http://www.opengl.org/registry/specs/ARB/shader_storage_buffer_object.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.ShaderStorageBufferObject (
-   -- * Functions
-   glShaderStorageBlockBinding,
-
-   -- * Tokens
-   gl_SHADER_STORAGE_BUFFER,
-   gl_SHADER_STORAGE_BUFFER_BINDING,
-   gl_SHADER_STORAGE_BUFFER_START,
-   gl_SHADER_STORAGE_BUFFER_SIZE,
-   gl_MAX_VERTEX_SHADER_STORAGE_BLOCKS,
-   gl_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS,
-   gl_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS,
-   gl_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS,
-   gl_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS,
-   gl_MAX_COMPUTE_SHADER_STORAGE_BLOCKS,
-   gl_MAX_COMBINED_SHADER_STORAGE_BLOCKS,
-   gl_MAX_SHADER_STORAGE_BUFFER_BINDINGS,
-   gl_MAX_SHADER_STORAGE_BLOCK_SIZE,
-   gl_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT,
-   gl_SHADER_STORAGE_BARRIER_BIT,
-   gl_MAX_COMBINED_SHADER_OUTPUT_RESOURCES,
-   gl_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS
-) where
-
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_ARB_shader_storage_buffer_object"
-
-EXTENSION_ENTRY(glShaderStorageBlockBinding, GLuint -> GLuint -> GLuint -> IO())
-
-gl_SHADER_STORAGE_BUFFER :: GLenum
-gl_SHADER_STORAGE_BUFFER = 0x90D2
-
-gl_SHADER_STORAGE_BUFFER_BINDING :: GLenum
-gl_SHADER_STORAGE_BUFFER_BINDING = 0x90D3
-
-gl_SHADER_STORAGE_BUFFER_START :: GLenum
-gl_SHADER_STORAGE_BUFFER_START = 0x90D4
-
-gl_SHADER_STORAGE_BUFFER_SIZE :: GLenum
-gl_SHADER_STORAGE_BUFFER_SIZE = 0x90D5
-
-gl_MAX_VERTEX_SHADER_STORAGE_BLOCKS :: GLenum
-gl_MAX_VERTEX_SHADER_STORAGE_BLOCKS = 0x90D6
-
-gl_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS :: GLenum
-gl_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS = 0x90D7
-
-gl_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS :: GLenum
-gl_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS = 0x90D8
-
-gl_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS :: GLenum
-gl_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS = 0x90D9
-
-gl_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS :: GLenum
-gl_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS = 0x90DA
-
-gl_MAX_COMPUTE_SHADER_STORAGE_BLOCKS :: GLenum
-gl_MAX_COMPUTE_SHADER_STORAGE_BLOCKS = 0x90DB
-
-gl_MAX_COMBINED_SHADER_STORAGE_BLOCKS :: GLenum
-gl_MAX_COMBINED_SHADER_STORAGE_BLOCKS = 0x90DC
-
-gl_MAX_SHADER_STORAGE_BUFFER_BINDINGS :: GLenum
-gl_MAX_SHADER_STORAGE_BUFFER_BINDINGS = 0x90DD
-
-gl_MAX_SHADER_STORAGE_BLOCK_SIZE :: GLenum
-gl_MAX_SHADER_STORAGE_BLOCK_SIZE = 0x90DE
-
-gl_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT :: GLenum
-gl_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT = 0x90DF
-
-gl_SHADER_STORAGE_BARRIER_BIT :: GLbitfield
-gl_SHADER_STORAGE_BARRIER_BIT = 0x00002000
-
-gl_MAX_COMBINED_SHADER_OUTPUT_RESOURCES :: GLenum
-gl_MAX_COMBINED_SHADER_OUTPUT_RESOURCES = 0x8F39
-
-gl_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS :: GLenum
-gl_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS = 0x8F39
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.ShaderStorageBufferObject
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the ARB_shader_storage_buffer_object, see
+-- <http://www.opengl.org/registry/specs/ARB/shader_storage_buffer_object.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.ShaderStorageBufferObject (
+   -- * Functions
+   glShaderStorageBlockBinding,
+
+   -- * Tokens
+   gl_SHADER_STORAGE_BUFFER,
+   gl_SHADER_STORAGE_BUFFER_BINDING,
+   gl_SHADER_STORAGE_BUFFER_START,
+   gl_SHADER_STORAGE_BUFFER_SIZE,
+   gl_MAX_VERTEX_SHADER_STORAGE_BLOCKS,
+   gl_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS,
+   gl_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS,
+   gl_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS,
+   gl_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS,
+   gl_MAX_COMPUTE_SHADER_STORAGE_BLOCKS,
+   gl_MAX_COMBINED_SHADER_STORAGE_BLOCKS,
+   gl_MAX_SHADER_STORAGE_BUFFER_BINDINGS,
+   gl_MAX_SHADER_STORAGE_BLOCK_SIZE,
+   gl_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT,
+   gl_SHADER_STORAGE_BARRIER_BIT,
+   gl_MAX_COMBINED_SHADER_OUTPUT_RESOURCES,
+   gl_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS
+) where
+
+import Foreign.C.Types
+import Graphics.Rendering.OpenGL.Raw.Extensions
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_ARB_shader_storage_buffer_object"
+
+EXTENSION_ENTRY(dyn_glShaderStorageBlockBinding,ptr_glShaderStorageBlockBinding,"glShaderStorageBlockBinding",glShaderStorageBlockBinding, GLuint -> GLuint -> GLuint -> IO())
+
+gl_SHADER_STORAGE_BUFFER :: GLenum
+gl_SHADER_STORAGE_BUFFER = 0x90D2
+
+gl_SHADER_STORAGE_BUFFER_BINDING :: GLenum
+gl_SHADER_STORAGE_BUFFER_BINDING = 0x90D3
+
+gl_SHADER_STORAGE_BUFFER_START :: GLenum
+gl_SHADER_STORAGE_BUFFER_START = 0x90D4
+
+gl_SHADER_STORAGE_BUFFER_SIZE :: GLenum
+gl_SHADER_STORAGE_BUFFER_SIZE = 0x90D5
+
+gl_MAX_VERTEX_SHADER_STORAGE_BLOCKS :: GLenum
+gl_MAX_VERTEX_SHADER_STORAGE_BLOCKS = 0x90D6
+
+gl_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS :: GLenum
+gl_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS = 0x90D7
+
+gl_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS :: GLenum
+gl_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS = 0x90D8
+
+gl_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS :: GLenum
+gl_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS = 0x90D9
+
+gl_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS :: GLenum
+gl_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS = 0x90DA
+
+gl_MAX_COMPUTE_SHADER_STORAGE_BLOCKS :: GLenum
+gl_MAX_COMPUTE_SHADER_STORAGE_BLOCKS = 0x90DB
+
+gl_MAX_COMBINED_SHADER_STORAGE_BLOCKS :: GLenum
+gl_MAX_COMBINED_SHADER_STORAGE_BLOCKS = 0x90DC
+
+gl_MAX_SHADER_STORAGE_BUFFER_BINDINGS :: GLenum
+gl_MAX_SHADER_STORAGE_BUFFER_BINDINGS = 0x90DD
+
+gl_MAX_SHADER_STORAGE_BLOCK_SIZE :: GLenum
+gl_MAX_SHADER_STORAGE_BLOCK_SIZE = 0x90DE
+
+gl_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT :: GLenum
+gl_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT = 0x90DF
+
+gl_SHADER_STORAGE_BARRIER_BIT :: GLbitfield
+gl_SHADER_STORAGE_BARRIER_BIT = 0x00002000
+
+gl_MAX_COMBINED_SHADER_OUTPUT_RESOURCES :: GLenum
+gl_MAX_COMBINED_SHADER_OUTPUT_RESOURCES = 0x8F39
+
+gl_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS :: GLenum
+gl_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS = 0x8F39
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/ShaderSubroutine.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/ShaderSubroutine.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/ShaderSubroutine.hs
@@ -0,0 +1,89 @@
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.ShaderSubroutine
+-- Copyright   :  (c) Sven Panne 2014
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the ARB_shader_subroutine extension, see
+-- <http://www.opengl.org/registry/specs/ARB/shader_subroutine.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.ShaderSubroutine (
+   -- * Functions
+   glGetSubroutineUniformLocation,
+   glGetSubroutineIndex,
+   glGetActiveSubroutineUniformiv,
+   glGetActiveSubroutineUniformName,
+   glGetActiveSubroutineName,
+   glUniformSubroutinesuiv,
+   glGetUniformSubroutineuiv,
+   glGetProgramStageiv,
+
+   -- * Tokens
+   gl_ACTIVE_SUBROUTINES,
+   gl_ACTIVE_SUBROUTINE_UNIFORMS,
+   gl_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS,
+   gl_ACTIVE_SUBROUTINE_MAX_LENGTH,
+   gl_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH,
+   gl_MAX_SUBROUTINES,
+   gl_MAX_SUBROUTINE_UNIFORM_LOCATIONS,
+   gl_NUM_COMPATIBLE_SUBROUTINES,
+   gl_COMPATIBLE_SUBROUTINES,
+   gl_UNIFORM_SIZE,
+   gl_UNIFORM_NAME_LENGTH
+) where
+
+import Foreign.C.Types
+import Foreign.Ptr
+import Graphics.Rendering.OpenGL.Raw.ARB.UniformBufferObject
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+import Graphics.Rendering.OpenGL.Raw.Extensions
+
+--------------------------------------------------------------------------------
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_ARB_shader_subroutine"
+
+EXTENSION_ENTRY(dyn_glGetSubroutineUniformLocation,ptr_glGetSubroutineUniformLocation,"glGetSubroutineUniformLocation",glGetSubroutineUniformLocation,GLuint -> GLenum -> Ptr GLchar -> IO GLint)
+EXTENSION_ENTRY(dyn_glGetSubroutineIndex,ptr_glGetSubroutineIndex,"glGetSubroutineIndex",glGetSubroutineIndex,GLuint -> GLenum -> Ptr GLchar -> IO GLuint)
+EXTENSION_ENTRY(dyn_glGetActiveSubroutineUniformiv,ptr_glGetActiveSubroutineUniformiv,"glGetActiveSubroutineUniformiv",glGetActiveSubroutineUniformiv,GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glGetActiveSubroutineUniformName,ptr_glGetActiveSubroutineUniformName,"glGetActiveSubroutineUniformName",glGetActiveSubroutineUniformName,GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
+EXTENSION_ENTRY(dyn_glGetActiveSubroutineName,ptr_glGetActiveSubroutineName,"glGetActiveSubroutineName",glGetActiveSubroutineName,GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
+EXTENSION_ENTRY(dyn_glUniformSubroutinesuiv,ptr_glUniformSubroutinesuiv,"glUniformSubroutinesuiv",glUniformSubroutinesuiv,GLenum -> GLsizei -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glGetUniformSubroutineuiv,ptr_glGetUniformSubroutineuiv,"glGetUniformSubroutineuiv",glGetUniformSubroutineuiv,GLenum -> GLint -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glGetProgramStageiv,ptr_glGetProgramStageiv,"glGetProgramStageiv",glGetProgramStageiv,GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ())
+
+gl_ACTIVE_SUBROUTINES :: GLenum
+gl_ACTIVE_SUBROUTINES = 0x8DE5
+
+gl_ACTIVE_SUBROUTINE_UNIFORMS :: GLenum
+gl_ACTIVE_SUBROUTINE_UNIFORMS = 0x8DE6
+
+gl_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS :: GLenum
+gl_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS = 0x8E47
+
+gl_ACTIVE_SUBROUTINE_MAX_LENGTH :: GLenum
+gl_ACTIVE_SUBROUTINE_MAX_LENGTH = 0x8E48
+
+gl_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH :: GLenum
+gl_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH = 0x8E49
+
+gl_MAX_SUBROUTINES :: GLenum
+gl_MAX_SUBROUTINES = 0x8DE7
+
+gl_MAX_SUBROUTINE_UNIFORM_LOCATIONS :: GLenum
+gl_MAX_SUBROUTINE_UNIFORM_LOCATIONS = 0x8DE8
+
+gl_NUM_COMPATIBLE_SUBROUTINES :: GLenum
+gl_NUM_COMPATIBLE_SUBROUTINES = 0x8E4A
+
+gl_COMPATIBLE_SUBROUTINES :: GLenum
+gl_COMPATIBLE_SUBROUTINES = 0x8E4B
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/ShadingLanguage100.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/ShadingLanguage100.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/ShadingLanguage100.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/ShadingLanguage100.hs
@@ -1,21 +1,21 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.ShadingLanguage100
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All tokens from the ARB_shading_language_100 extension, see
--- <http://www.opengl.org/registry/specs/ARB/shading_language_100.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.ShadingLanguage100 (
-   -- * Tokens
-   gl_SHADING_LANGUAGE_VERSION
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core32
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.ShadingLanguage100
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All tokens from the ARB_shading_language_100 extension, see
+-- <http://www.opengl.org/registry/specs/ARB/shading_language_100.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.ShadingLanguage100 (
+   -- * Tokens
+   gl_SHADING_LANGUAGE_VERSION
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/ShadingLanguageInclude.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/ShadingLanguageInclude.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/ShadingLanguageInclude.hs
@@ -0,0 +1,61 @@
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.ShadingLanguageInclude
+-- Copyright   :  (c) Sven Panne 2014
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the ARB_shading_language_include extension,
+-- see <http://www.opengl.org/registry/specs/ARB/shading_language_include.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.ShadingLanguageInclude (
+   -- * Functions
+   glNamedString,
+   glDeleteNamedString,
+   glCompileShaderInclude,
+   glIsNamedString,
+   glGetNamedString,
+   glGetNamedStringiv,
+
+   -- * Tokens
+   gl_SHADER_INCLUDE,
+   gl_NAMED_STRING_LENGTH,
+   gl_NAMED_STRING_TYPE
+) where
+
+import Foreign.C.Types
+import Foreign.Ptr
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+import Graphics.Rendering.OpenGL.Raw.Extensions
+
+--------------------------------------------------------------------------------
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_ARB_shading_language_include"
+
+EXTENSION_ENTRY(dyn_glNamedString,ptr_glNamedString,"glNamedString",glNamedString,GLenum -> GLint -> Ptr GLchar -> GLint -> Ptr GLchar -> IO ())
+EXTENSION_ENTRY(dyn_glDeleteNamedString,ptr_glDeleteNamedString,"glDeleteNamedString",glDeleteNamedString,GLint -> Ptr GLchar -> IO ())
+EXTENSION_ENTRY(dyn_glCompileShaderInclude,ptr_glCompileShaderInclude,"glCompileShaderInclude",glCompileShaderInclude,GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glIsNamedString,ptr_glIsNamedString,"glIsNamedString",glIsNamedString,GLint -> Ptr GLchar -> IO GLboolean)
+EXTENSION_ENTRY(dyn_glGetNamedString,ptr_glGetNamedString,"glGetNamedString",glGetNamedString,GLint -> Ptr GLchar -> GLsizei -> Ptr GLint -> Ptr GLchar -> IO ())
+EXTENSION_ENTRY(dyn_glGetNamedStringiv,ptr_glGetNamedStringiv,"glGetNamedStringiv",glGetNamedStringiv,GLint -> Ptr GLchar -> GLenum -> Ptr GLint -> IO ())
+
+gl_SHADER_INCLUDE :: GLenum
+gl_SHADER_INCLUDE = 0x8DAE
+
+gl_NAMED_STRING_LENGTH :: GLenum
+gl_NAMED_STRING_LENGTH = 0x8DE9
+
+gl_NAMED_STRING_TYPE :: GLenum
+gl_NAMED_STRING_TYPE = 0x8DEA
+
+
+
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/Shadow.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/Shadow.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/Shadow.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/Shadow.hs
@@ -1,24 +1,24 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.Shadow
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All tokens from the ARB_shadow extension, see
--- <http://www.opengl.org/registry/specs/ARB/shadow.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.Shadow (
-   -- * Tokens
-   gl_TEXTURE_COMPARE_MODE,
-   gl_TEXTURE_COMPARE_FUNC,
-   gl_COMPARE_R_TO_TEXTURE
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
-import Graphics.Rendering.OpenGL.Raw.Core32
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.Shadow
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All tokens from the ARB_shadow extension, see
+-- <http://www.opengl.org/registry/specs/ARB/shadow.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.Shadow (
+   -- * Tokens
+   gl_TEXTURE_COMPARE_MODE,
+   gl_TEXTURE_COMPARE_FUNC,
+   gl_COMPARE_R_TO_TEXTURE
+) where
+
+import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
+import Graphics.Rendering.OpenGL.Raw.Core32
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/ShadowAmbient.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/ShadowAmbient.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/ShadowAmbient.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/ShadowAmbient.hs
@@ -1,24 +1,24 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.ShadowAmbient
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All tokens from the ARB_shadow_ambient extension, see
--- <http://www.opengl.org/registry/specs/ARB/shadow_ambient.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.ShadowAmbient (
-   -- * Tokens
-   gl_TEXTURE_COMPARE_FAIL_VALUE
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core32
-
-gl_TEXTURE_COMPARE_FAIL_VALUE :: GLenum
-gl_TEXTURE_COMPARE_FAIL_VALUE = 0x80BF
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.ShadowAmbient
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All tokens from the ARB_shadow_ambient extension, see
+-- <http://www.opengl.org/registry/specs/ARB/shadow_ambient.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.ShadowAmbient (
+   -- * Tokens
+   gl_TEXTURE_COMPARE_FAIL_VALUE
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
+
+gl_TEXTURE_COMPARE_FAIL_VALUE :: GLenum
+gl_TEXTURE_COMPARE_FAIL_VALUE = 0x80BF
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/Sync.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/Sync.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/Sync.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/Sync.hs
@@ -1,109 +1,109 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.Sync
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions, tokens and types from the ARB_sync extension, see
--- <http://www.opengl.org/registry/specs/ARB/sync.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.Sync (
-   -- * Functions
-   glFenceSync,
-   glIsSync,
-   glDeleteSync,
-   glClientWaitSync,
-   glWaitSync,
-   glGetInteger64v,
-   glGetSynciv,
-   -- * Tokens
-   gl_MAX_SERVER_WAIT_TIMEOUT,
-   gl_OBJECT_TYPE,
-   gl_SYNC_CONDITION,
-   gl_SYNC_STATUS,
-   gl_SYNC_FLAGS,
-   gl_SYNC_FENCE,
-   gl_SYNC_GPU_COMMANDS_COMPLETE,
-   gl_UNSIGNALED,
-   gl_SIGNALED,
-   gl_SYNC_FLUSH_COMMANDS_BIT,
-   gl_TIMEOUT_IGNORED,
-   gl_ALREADY_SIGNALED,
-   gl_TIMEOUT_EXPIRED,
-   gl_CONDITION_SATISFIED,
-   gl_WAIT_FAILED,
-   -- * Types
-   GLint64,
-   GLuint64,
-   GLsync
-) where
-
-import Foreign.Ptr
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_ARB_sync"
-
-EXTENSION_ENTRY(glFenceSync,GLenum -> GLbitfield -> IO GLsync)
-EXTENSION_ENTRY(glIsSync,GLsync -> IO GLboolean)
-EXTENSION_ENTRY(glDeleteSync,GLsync -> IO ())
-EXTENSION_ENTRY(glClientWaitSync,GLsync -> GLbitfield -> GLuint64 -> IO GLenum)
-EXTENSION_ENTRY(glWaitSync,GLsync -> GLbitfield -> GLuint64 -> IO ())
-EXTENSION_ENTRY(glGetInteger64v,GLenum -> Ptr GLint64 -> IO ())
-EXTENSION_ENTRY(glGetSynciv,GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> IO ())
-
-gl_MAX_SERVER_WAIT_TIMEOUT :: GLenum
-gl_MAX_SERVER_WAIT_TIMEOUT = 0x9111
-
-gl_OBJECT_TYPE :: GLenum
-gl_OBJECT_TYPE = 0x9112
-
-gl_SYNC_CONDITION :: GLenum
-gl_SYNC_CONDITION = 0x9113
-
-gl_SYNC_STATUS :: GLenum
-gl_SYNC_STATUS = 0x9114
-
-gl_SYNC_FLAGS :: GLenum
-gl_SYNC_FLAGS = 0x9115
-
-gl_SYNC_FENCE :: GLenum
-gl_SYNC_FENCE = 0x9116
-
-gl_SYNC_GPU_COMMANDS_COMPLETE :: GLenum
-gl_SYNC_GPU_COMMANDS_COMPLETE = 0x9117
-
-gl_UNSIGNALED :: GLenum
-gl_UNSIGNALED = 0x9118
-
-gl_SIGNALED :: GLenum
-gl_SIGNALED = 0x9119
-
-gl_SYNC_FLUSH_COMMANDS_BIT :: GLbitfield
-gl_SYNC_FLUSH_COMMANDS_BIT = 0x00000001
-
-gl_TIMEOUT_IGNORED :: GLuint64
-gl_TIMEOUT_IGNORED = 0xFFFFFFFFFFFFFFFF
-
-gl_ALREADY_SIGNALED :: GLenum
-gl_ALREADY_SIGNALED = 0x911A
-
-gl_TIMEOUT_EXPIRED :: GLenum
-gl_TIMEOUT_EXPIRED = 0x911B
-
-gl_CONDITION_SATISFIED :: GLenum
-gl_CONDITION_SATISFIED = 0x911C
-
-gl_WAIT_FAILED :: GLenum
-gl_WAIT_FAILED = 0x911D
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.Sync
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions, tokens and types from the ARB_sync extension, see
+-- <http://www.opengl.org/registry/specs/ARB/sync.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.Sync (
+   -- * Functions
+   glFenceSync,
+   glIsSync,
+   glDeleteSync,
+   glClientWaitSync,
+   glWaitSync,
+   glGetInteger64v,
+   glGetSynciv,
+   -- * Tokens
+   gl_MAX_SERVER_WAIT_TIMEOUT,
+   gl_OBJECT_TYPE,
+   gl_SYNC_CONDITION,
+   gl_SYNC_STATUS,
+   gl_SYNC_FLAGS,
+   gl_SYNC_FENCE,
+   gl_SYNC_GPU_COMMANDS_COMPLETE,
+   gl_UNSIGNALED,
+   gl_SIGNALED,
+   gl_SYNC_FLUSH_COMMANDS_BIT,
+   gl_TIMEOUT_IGNORED,
+   gl_ALREADY_SIGNALED,
+   gl_TIMEOUT_EXPIRED,
+   gl_CONDITION_SATISFIED,
+   gl_WAIT_FAILED,
+   -- * Types
+   GLint64,
+   GLuint64,
+   GLsync
+) where
+
+import Foreign.Ptr
+import Foreign.C.Types
+import Graphics.Rendering.OpenGL.Raw.Types
+import Graphics.Rendering.OpenGL.Raw.Extensions
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_ARB_sync"
+
+EXTENSION_ENTRY(dyn_glFenceSync,ptr_glFenceSync,"glFenceSync",glFenceSync,GLenum -> GLbitfield -> IO GLsync)
+EXTENSION_ENTRY(dyn_glIsSync,ptr_glIsSync,"glIsSync",glIsSync,GLsync -> IO GLboolean)
+EXTENSION_ENTRY(dyn_glDeleteSync,ptr_glDeleteSync,"glDeleteSync",glDeleteSync,GLsync -> IO ())
+EXTENSION_ENTRY(dyn_glClientWaitSync,ptr_glClientWaitSync,"glClientWaitSync",glClientWaitSync,GLsync -> GLbitfield -> GLuint64 -> IO GLenum)
+EXTENSION_ENTRY(dyn_glWaitSync,ptr_glWaitSync,"glWaitSync",glWaitSync,GLsync -> GLbitfield -> GLuint64 -> IO ())
+EXTENSION_ENTRY(dyn_glGetInteger64v,ptr_glGetInteger64v,"glGetInteger64v",glGetInteger64v,GLenum -> Ptr GLint64 -> IO ())
+EXTENSION_ENTRY(dyn_glGetSynciv,ptr_glGetSynciv,"glGetSynciv",glGetSynciv,GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> IO ())
+
+gl_MAX_SERVER_WAIT_TIMEOUT :: GLenum
+gl_MAX_SERVER_WAIT_TIMEOUT = 0x9111
+
+gl_OBJECT_TYPE :: GLenum
+gl_OBJECT_TYPE = 0x9112
+
+gl_SYNC_CONDITION :: GLenum
+gl_SYNC_CONDITION = 0x9113
+
+gl_SYNC_STATUS :: GLenum
+gl_SYNC_STATUS = 0x9114
+
+gl_SYNC_FLAGS :: GLenum
+gl_SYNC_FLAGS = 0x9115
+
+gl_SYNC_FENCE :: GLenum
+gl_SYNC_FENCE = 0x9116
+
+gl_SYNC_GPU_COMMANDS_COMPLETE :: GLenum
+gl_SYNC_GPU_COMMANDS_COMPLETE = 0x9117
+
+gl_UNSIGNALED :: GLenum
+gl_UNSIGNALED = 0x9118
+
+gl_SIGNALED :: GLenum
+gl_SIGNALED = 0x9119
+
+gl_SYNC_FLUSH_COMMANDS_BIT :: GLbitfield
+gl_SYNC_FLUSH_COMMANDS_BIT = 0x00000001
+
+gl_TIMEOUT_IGNORED :: GLuint64
+gl_TIMEOUT_IGNORED = 0xFFFFFFFFFFFFFFFF
+
+gl_ALREADY_SIGNALED :: GLenum
+gl_ALREADY_SIGNALED = 0x911A
+
+gl_TIMEOUT_EXPIRED :: GLenum
+gl_TIMEOUT_EXPIRED = 0x911B
+
+gl_CONDITION_SATISFIED :: GLenum
+gl_CONDITION_SATISFIED = 0x911C
+
+gl_WAIT_FAILED :: GLenum
+gl_WAIT_FAILED = 0x911D
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TessellationShader.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TessellationShader.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TessellationShader.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/TessellationShader.hs
@@ -1,169 +1,171 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TessellationShader
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the ARB_tessellation_shader extension, see
--- <http://www.opengl.org/registry/specs/ARB/tessellation_shader.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.TessellationShader (
-   -- * Functions
-   glPatchParameteri,
-   glPatchParameterfv,
-
-   -- * Tokens
-   gl_PATCHES,
-   gl_PATCH_VERTICES,
-   gl_PATCH_DEFAULT_INNER_LEVEL,
-   gl_PATCH_DEFAULT_OUTER_LEVEL,
-   gl_TESS_CONTROL_OUTPUT_VERTICES,
-   gl_TESS_GEN_MODE,
-   gl_TESS_GEN_SPACING,
-   gl_TESS_GEN_VERTEX_ORDER,
-   gl_TESS_GEN_POINT_MODE,
-   gl_TRIANGLES,
-   gl_ISOLINES,
-   gl_EQUAL,
-   gl_FRACTIONAL_ODD,
-   gl_FRACTIONAL_EVEN,
-   gl_CCW,
-   gl_CW,
-   gl_MAX_PATCH_VERTICES,
-   gl_MAX_TESS_GEN_LEVEL,
-   gl_MAX_TESS_CONTROL_UNIFORM_COMPONENTS,
-   gl_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS,
-   gl_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS,
-   gl_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS,
-   gl_MAX_TESS_CONTROL_OUTPUT_COMPONENTS,
-   gl_MAX_TESS_PATCH_COMPONENTS,
-   gl_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS,
-   gl_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS,
-   gl_MAX_TESS_CONTROL_UNIFORM_BLOCKS,
-   gl_MAX_TESS_EVALUATION_UNIFORM_BLOCKS,
-   gl_MAX_TESS_CONTROL_INPUT_COMPONENTS,
-   gl_MAX_TESS_EVALUATION_INPUT_COMPONENTS,
-   gl_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS,
-   gl_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS,
-   gl_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER,
-   gl_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER,
-   gl_TESS_EVALUATION_SHADER,
-   gl_TESS_CONTROL_SHADER
-) where
-
-import Foreign.C.Types
-import Foreign.Ptr
-import Graphics.Rendering.OpenGL.Raw.Extensions
-import Graphics.Rendering.OpenGL.Raw.Core31.Tokens
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_ARB_ARB_tessellation_shader"
-
-EXTENSION_ENTRY(glPatchParameteri,GLenum -> GLint -> IO ())
-EXTENSION_ENTRY(glPatchParameterfv,GLenum -> Ptr GLfloat -> IO ())
-
-gl_PATCHES :: GLenum
-gl_PATCHES = 0x000E
-
-gl_PATCH_VERTICES :: GLenum
-gl_PATCH_VERTICES = 0x8E72
-
-gl_PATCH_DEFAULT_INNER_LEVEL :: GLenum
-gl_PATCH_DEFAULT_INNER_LEVEL = 0x8E73
-
-gl_PATCH_DEFAULT_OUTER_LEVEL :: GLenum
-gl_PATCH_DEFAULT_OUTER_LEVEL = 0x8E74
-
-gl_TESS_CONTROL_OUTPUT_VERTICES :: GLenum
-gl_TESS_CONTROL_OUTPUT_VERTICES = 0x8E75
-
-gl_TESS_GEN_MODE :: GLenum
-gl_TESS_GEN_MODE = 0x8E76
-
-gl_TESS_GEN_SPACING :: GLenum
-gl_TESS_GEN_SPACING = 0x8E77
-
-gl_TESS_GEN_VERTEX_ORDER :: GLenum
-gl_TESS_GEN_VERTEX_ORDER = 0x8E78
-
-gl_TESS_GEN_POINT_MODE :: GLenum
-gl_TESS_GEN_POINT_MODE = 0x8E79
-
-gl_ISOLINES :: GLenum
-gl_ISOLINES = 0x8E7A
-
-gl_FRACTIONAL_ODD :: GLenum
-gl_FRACTIONAL_ODD = 0x8E7B
-
-gl_FRACTIONAL_EVEN :: GLenum
-gl_FRACTIONAL_EVEN = 0x8E7C
-
-gl_MAX_PATCH_VERTICES :: GLenum
-gl_MAX_PATCH_VERTICES = 0x8E7D
-
-gl_MAX_TESS_GEN_LEVEL :: GLenum
-gl_MAX_TESS_GEN_LEVEL = 0x8E7E
-
-gl_MAX_TESS_CONTROL_UNIFORM_COMPONENTS :: GLenum
-gl_MAX_TESS_CONTROL_UNIFORM_COMPONENTS = 0x8E7F
-
-gl_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS :: GLenum
-gl_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS = 0x8E80
-
-gl_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS :: GLenum
-gl_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS = 0x8E81
-
-gl_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS :: GLenum
-gl_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS = 0x8E82
-
-gl_MAX_TESS_CONTROL_OUTPUT_COMPONENTS :: GLenum
-gl_MAX_TESS_CONTROL_OUTPUT_COMPONENTS = 0x8E83
-
-gl_MAX_TESS_PATCH_COMPONENTS :: GLenum
-gl_MAX_TESS_PATCH_COMPONENTS = 0x8E84
-
-gl_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS :: GLenum
-gl_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS = 0x8E85
-
-gl_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS :: GLenum
-gl_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS = 0x8E86
-
-gl_MAX_TESS_CONTROL_UNIFORM_BLOCKS :: GLenum
-gl_MAX_TESS_CONTROL_UNIFORM_BLOCKS = 0x8E89
-
-gl_MAX_TESS_EVALUATION_UNIFORM_BLOCKS :: GLenum
-gl_MAX_TESS_EVALUATION_UNIFORM_BLOCKS = 0x8E8A
-
-gl_MAX_TESS_CONTROL_INPUT_COMPONENTS :: GLenum
-gl_MAX_TESS_CONTROL_INPUT_COMPONENTS = 0x886C
-
-gl_MAX_TESS_EVALUATION_INPUT_COMPONENTS :: GLenum
-gl_MAX_TESS_EVALUATION_INPUT_COMPONENTS = 0x886D
-
-gl_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS :: GLenum
-gl_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS = 0x8E1E
-
-gl_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS :: GLenum
-gl_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS = 0x8E1F
-
-gl_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER :: GLenum
-gl_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER = 0x84F0
-
-gl_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER :: GLenum
-gl_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER = 0x84F1
-
-gl_TESS_EVALUATION_SHADER :: GLenum
-gl_TESS_EVALUATION_SHADER = 0x8E87
-
-gl_TESS_CONTROL_SHADER :: GLenum
-gl_TESS_CONTROL_SHADER = 0x8E88
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TessellationShader
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the ARB_tessellation_shader extension, see
+-- <http://www.opengl.org/registry/specs/ARB/tessellation_shader.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.TessellationShader (
+   -- * Functions
+   glPatchParameteri,
+   glPatchParameterfv,
+
+   -- * Tokens
+   gl_PATCHES,
+   gl_PATCH_VERTICES,
+   gl_PATCH_DEFAULT_INNER_LEVEL,
+   gl_PATCH_DEFAULT_OUTER_LEVEL,
+   gl_TESS_CONTROL_OUTPUT_VERTICES,
+   gl_TESS_GEN_MODE,
+   gl_TESS_GEN_SPACING,
+   gl_TESS_GEN_VERTEX_ORDER,
+   gl_TESS_GEN_POINT_MODE,
+   gl_TRIANGLES,
+   gl_ISOLINES,
+   gl_QUADS,
+   gl_EQUAL,
+   gl_FRACTIONAL_ODD,
+   gl_FRACTIONAL_EVEN,
+   gl_CCW,
+   gl_CW,
+   gl_MAX_PATCH_VERTICES,
+   gl_MAX_TESS_GEN_LEVEL,
+   gl_MAX_TESS_CONTROL_UNIFORM_COMPONENTS,
+   gl_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS,
+   gl_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS,
+   gl_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS,
+   gl_MAX_TESS_CONTROL_OUTPUT_COMPONENTS,
+   gl_MAX_TESS_PATCH_COMPONENTS,
+   gl_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS,
+   gl_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS,
+   gl_MAX_TESS_CONTROL_UNIFORM_BLOCKS,
+   gl_MAX_TESS_EVALUATION_UNIFORM_BLOCKS,
+   gl_MAX_TESS_CONTROL_INPUT_COMPONENTS,
+   gl_MAX_TESS_EVALUATION_INPUT_COMPONENTS,
+   gl_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS,
+   gl_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS,
+   gl_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER,
+   gl_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER,
+   gl_TESS_EVALUATION_SHADER,
+   gl_TESS_CONTROL_SHADER
+) where
+
+import Foreign.C.Types
+import Foreign.Ptr
+import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility.Tokens
+import Graphics.Rendering.OpenGL.Raw.Core31.Tokens
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+import Graphics.Rendering.OpenGL.Raw.Extensions
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_ARB_ARB_tessellation_shader"
+
+EXTENSION_ENTRY(dyn_glPatchParameteri,ptr_glPatchParameteri,"glPatchParameteri",glPatchParameteri,GLenum -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glPatchParameterfv,ptr_glPatchParameterfv,"glPatchParameterfv",glPatchParameterfv,GLenum -> Ptr GLfloat -> IO ())
+
+gl_PATCHES :: GLenum
+gl_PATCHES = 0x000E
+
+gl_PATCH_VERTICES :: GLenum
+gl_PATCH_VERTICES = 0x8E72
+
+gl_PATCH_DEFAULT_INNER_LEVEL :: GLenum
+gl_PATCH_DEFAULT_INNER_LEVEL = 0x8E73
+
+gl_PATCH_DEFAULT_OUTER_LEVEL :: GLenum
+gl_PATCH_DEFAULT_OUTER_LEVEL = 0x8E74
+
+gl_TESS_CONTROL_OUTPUT_VERTICES :: GLenum
+gl_TESS_CONTROL_OUTPUT_VERTICES = 0x8E75
+
+gl_TESS_GEN_MODE :: GLenum
+gl_TESS_GEN_MODE = 0x8E76
+
+gl_TESS_GEN_SPACING :: GLenum
+gl_TESS_GEN_SPACING = 0x8E77
+
+gl_TESS_GEN_VERTEX_ORDER :: GLenum
+gl_TESS_GEN_VERTEX_ORDER = 0x8E78
+
+gl_TESS_GEN_POINT_MODE :: GLenum
+gl_TESS_GEN_POINT_MODE = 0x8E79
+
+gl_ISOLINES :: GLenum
+gl_ISOLINES = 0x8E7A
+
+gl_FRACTIONAL_ODD :: GLenum
+gl_FRACTIONAL_ODD = 0x8E7B
+
+gl_FRACTIONAL_EVEN :: GLenum
+gl_FRACTIONAL_EVEN = 0x8E7C
+
+gl_MAX_PATCH_VERTICES :: GLenum
+gl_MAX_PATCH_VERTICES = 0x8E7D
+
+gl_MAX_TESS_GEN_LEVEL :: GLenum
+gl_MAX_TESS_GEN_LEVEL = 0x8E7E
+
+gl_MAX_TESS_CONTROL_UNIFORM_COMPONENTS :: GLenum
+gl_MAX_TESS_CONTROL_UNIFORM_COMPONENTS = 0x8E7F
+
+gl_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS :: GLenum
+gl_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS = 0x8E80
+
+gl_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS :: GLenum
+gl_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS = 0x8E81
+
+gl_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS :: GLenum
+gl_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS = 0x8E82
+
+gl_MAX_TESS_CONTROL_OUTPUT_COMPONENTS :: GLenum
+gl_MAX_TESS_CONTROL_OUTPUT_COMPONENTS = 0x8E83
+
+gl_MAX_TESS_PATCH_COMPONENTS :: GLenum
+gl_MAX_TESS_PATCH_COMPONENTS = 0x8E84
+
+gl_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS :: GLenum
+gl_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS = 0x8E85
+
+gl_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS :: GLenum
+gl_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS = 0x8E86
+
+gl_MAX_TESS_CONTROL_UNIFORM_BLOCKS :: GLenum
+gl_MAX_TESS_CONTROL_UNIFORM_BLOCKS = 0x8E89
+
+gl_MAX_TESS_EVALUATION_UNIFORM_BLOCKS :: GLenum
+gl_MAX_TESS_EVALUATION_UNIFORM_BLOCKS = 0x8E8A
+
+gl_MAX_TESS_CONTROL_INPUT_COMPONENTS :: GLenum
+gl_MAX_TESS_CONTROL_INPUT_COMPONENTS = 0x886C
+
+gl_MAX_TESS_EVALUATION_INPUT_COMPONENTS :: GLenum
+gl_MAX_TESS_EVALUATION_INPUT_COMPONENTS = 0x886D
+
+gl_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS :: GLenum
+gl_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS = 0x8E1E
+
+gl_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS :: GLenum
+gl_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS = 0x8E1F
+
+gl_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER :: GLenum
+gl_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER = 0x84F0
+
+gl_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER :: GLenum
+gl_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER = 0x84F1
+
+gl_TESS_EVALUATION_SHADER :: GLenum
+gl_TESS_EVALUATION_SHADER = 0x8E87
+
+gl_TESS_CONTROL_SHADER :: GLenum
+gl_TESS_CONTROL_SHADER = 0x8E88
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureBorderClamp.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureBorderClamp.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureBorderClamp.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureBorderClamp.hs
@@ -1,21 +1,21 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureBorderClamp
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the ARB_texture_border_clamp extension, see
--- <http://www.opengl.org/registry/specs/ARB/texture_border_clamp.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.TextureBorderClamp (
-   -- * Tokens
- gl_CLAMP_TO_BORDER
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core32
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureBorderClamp
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the ARB_texture_border_clamp extension, see
+-- <http://www.opengl.org/registry/specs/ARB/texture_border_clamp.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.TextureBorderClamp (
+   -- * Tokens
+ gl_CLAMP_TO_BORDER
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureBufferObject.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureBufferObject.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureBufferObject.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureBufferObject.hs
@@ -1,52 +1,52 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureBufferObject
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the ARB_texture_buffer_object, see
--- <http://www.opengl.org/registry/specs/ARB/texture_buffer_object.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.TextureBufferObject (
-   -- * Functions
-   glTexBuffer,
-   -- * Tokens
-   gl_TEXTURE_BUFFER,
-   gl_MAX_TEXTURE_BUFFER_SIZE,
-   gl_TEXTURE_BINDING_BUFFER,
-   gl_TEXTURE_BUFFER_DATA_STORE_BINDING,
-   gl_TEXTURE_BUFFER_FORMAT
-) where
-
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_ARB_texture_buffer_object"
-
-EXTENSION_ENTRY(glTexBuffer,GLenum -> GLenum -> GLuint -> IO ())
-
-gl_TEXTURE_BUFFER :: GLenum
-gl_TEXTURE_BUFFER = 0x8C2A
-
-gl_MAX_TEXTURE_BUFFER_SIZE :: GLenum
-gl_MAX_TEXTURE_BUFFER_SIZE = 0x8C2B
-
-gl_TEXTURE_BINDING_BUFFER :: GLenum
-gl_TEXTURE_BINDING_BUFFER = 0x8C2C
-
-gl_TEXTURE_BUFFER_DATA_STORE_BINDING :: GLenum
-gl_TEXTURE_BUFFER_DATA_STORE_BINDING = 0x8C2D
-
-gl_TEXTURE_BUFFER_FORMAT :: GLenum
-gl_TEXTURE_BUFFER_FORMAT = 0x8C2E
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureBufferObject
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the ARB_texture_buffer_object, see
+-- <http://www.opengl.org/registry/specs/ARB/texture_buffer_object.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.TextureBufferObject (
+   -- * Functions
+   glTexBuffer,
+   -- * Tokens
+   gl_TEXTURE_BUFFER,
+   gl_MAX_TEXTURE_BUFFER_SIZE,
+   gl_TEXTURE_BINDING_BUFFER,
+   gl_TEXTURE_BUFFER_DATA_STORE_BINDING,
+   gl_TEXTURE_BUFFER_FORMAT
+) where
+
+import Foreign.C.Types
+import Graphics.Rendering.OpenGL.Raw.Extensions
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_ARB_texture_buffer_object"
+
+EXTENSION_ENTRY(dyn_glTexBuffer,ptr_glTexBuffer,"glTexBuffer",glTexBuffer,GLenum -> GLenum -> GLuint -> IO ())
+
+gl_TEXTURE_BUFFER :: GLenum
+gl_TEXTURE_BUFFER = 0x8C2A
+
+gl_MAX_TEXTURE_BUFFER_SIZE :: GLenum
+gl_MAX_TEXTURE_BUFFER_SIZE = 0x8C2B
+
+gl_TEXTURE_BINDING_BUFFER :: GLenum
+gl_TEXTURE_BINDING_BUFFER = 0x8C2C
+
+gl_TEXTURE_BUFFER_DATA_STORE_BINDING :: GLenum
+gl_TEXTURE_BUFFER_DATA_STORE_BINDING = 0x8C2D
+
+gl_TEXTURE_BUFFER_FORMAT :: GLenum
+gl_TEXTURE_BUFFER_FORMAT = 0x8C2E
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureCompression.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureCompression.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureCompression.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureCompression.hs
@@ -1,40 +1,40 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureCompression
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the ARB_texture_compression extension, see
--- <http://www.opengl.org/registry/specs/ARB/texture_compression.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.TextureCompression (
-   -- * Functions
-   glCompressedTexImage3D,
-   glCompressedTexImage2D,
-   glCompressedTexImage1D,
-   glCompressedTexSubImage3D,
-   glCompressedTexSubImage2D,
-   glCompressedTexSubImage1D,
-   glGetCompressedTexImage,
-   -- * Tokens
-   gl_COMPRESSED_ALPHA,
-   gl_COMPRESSED_LUMINANCE,
-   gl_COMPRESSED_LUMINANCE_ALPHA,
-   gl_COMPRESSED_INTENSITY,
-   gl_COMPRESSED_RGB,
-   gl_COMPRESSED_RGBA,
-   gl_TEXTURE_COMPRESSION_HINT,
-   gl_TEXTURE_COMPRESSED_IMAGE_SIZE,
-   gl_TEXTURE_COMPRESSED,
-   gl_NUM_COMPRESSED_TEXTURE_FORMATS,
-   gl_COMPRESSED_TEXTURE_FORMATS
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
-import Graphics.Rendering.OpenGL.Raw.Core32
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureCompression
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the ARB_texture_compression extension, see
+-- <http://www.opengl.org/registry/specs/ARB/texture_compression.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.TextureCompression (
+   -- * Functions
+   glCompressedTexImage3D,
+   glCompressedTexImage2D,
+   glCompressedTexImage1D,
+   glCompressedTexSubImage3D,
+   glCompressedTexSubImage2D,
+   glCompressedTexSubImage1D,
+   glGetCompressedTexImage,
+   -- * Tokens
+   gl_COMPRESSED_ALPHA,
+   gl_COMPRESSED_LUMINANCE,
+   gl_COMPRESSED_LUMINANCE_ALPHA,
+   gl_COMPRESSED_INTENSITY,
+   gl_COMPRESSED_RGB,
+   gl_COMPRESSED_RGBA,
+   gl_TEXTURE_COMPRESSION_HINT,
+   gl_TEXTURE_COMPRESSED_IMAGE_SIZE,
+   gl_TEXTURE_COMPRESSED,
+   gl_NUM_COMPRESSED_TEXTURE_FORMATS,
+   gl_COMPRESSED_TEXTURE_FORMATS
+) where
+
+import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
+import Graphics.Rendering.OpenGL.Raw.Core32
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureCompressionBPTC.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureCompressionBPTC.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureCompressionBPTC.hs
@@ -0,0 +1,37 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureCompressionBPTC
+-- Copyright   :  (c) Sven Panne 2014
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the ARB_texture_compression_bptc extension,
+-- see <http://www.opengl.org/registry/specs/ARB/texture_compression_bptc.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.TextureCompressionBPTC (
+   gl_COMPRESSED_RGBA_BPTC_UNORM,
+   gl_COMPRESSED_SRGB_ALPHA_BPTC_UNORM,
+   gl_COMPRESSED_RGB_BPTC_SIGNED_FLOAT,
+   gl_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+
+--------------------------------------------------------------------------------
+
+gl_COMPRESSED_RGBA_BPTC_UNORM :: GLenum
+gl_COMPRESSED_RGBA_BPTC_UNORM = 0x8E8C
+
+gl_COMPRESSED_SRGB_ALPHA_BPTC_UNORM :: GLenum
+gl_COMPRESSED_SRGB_ALPHA_BPTC_UNORM = 0x8E8D
+
+gl_COMPRESSED_RGB_BPTC_SIGNED_FLOAT :: GLenum
+gl_COMPRESSED_RGB_BPTC_SIGNED_FLOAT = 0x8E8E
+
+gl_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT :: GLenum
+gl_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT = 0x8E8F
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureCompressionRGTC.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureCompressionRGTC.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureCompressionRGTC.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureCompressionRGTC.hs
@@ -1,24 +1,24 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureCompressionRGTC
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All tokens from the ARB_texture_compression_rgtc extension, see
--- <http://www.opengl.org/registry/specs/ARB/texture_compression_rgtc.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.TextureCompressionRGTC (
-   -- * Tokens
-   gl_COMPRESSED_RED_RGTC1,
-   gl_COMPRESSED_SIGNED_RED_RGTC1,
-   gl_COMPRESSED_RG_RGTC2,
-   gl_COMPRESSED_SIGNED_RG_RGTC2
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core32
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureCompressionRGTC
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All tokens from the ARB_texture_compression_rgtc extension, see
+-- <http://www.opengl.org/registry/specs/ARB/texture_compression_rgtc.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.TextureCompressionRGTC (
+   -- * Tokens
+   gl_COMPRESSED_RED_RGTC1,
+   gl_COMPRESSED_SIGNED_RED_RGTC1,
+   gl_COMPRESSED_RG_RGTC2,
+   gl_COMPRESSED_SIGNED_RG_RGTC2
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureCubeMap.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureCubeMap.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureCubeMap.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureCubeMap.hs
@@ -1,33 +1,33 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureCubeMap
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the ARB_texture_cube_map extension, see
--- <http://www.opengl.org/registry/specs/ARB/texture_cube_map.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.TextureCubeMap (
-   -- * Tokens
-   gl_NORMAL_MAP,
-   gl_REFLECTION_MAP,
-   gl_TEXTURE_CUBE_MAP,
-   gl_TEXTURE_BINDING_CUBE_MAP,
-   gl_TEXTURE_CUBE_MAP_POSITIVE_X,
-   gl_TEXTURE_CUBE_MAP_NEGATIVE_X,
-   gl_TEXTURE_CUBE_MAP_POSITIVE_Y,
-   gl_TEXTURE_CUBE_MAP_NEGATIVE_Y,
-   gl_TEXTURE_CUBE_MAP_POSITIVE_Z,
-   gl_TEXTURE_CUBE_MAP_NEGATIVE_Z,
-   gl_PROXY_TEXTURE_CUBE_MAP,
-   gl_MAX_CUBE_MAP_TEXTURE_SIZE
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
-import Graphics.Rendering.OpenGL.Raw.Core32
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureCubeMap
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the ARB_texture_cube_map extension, see
+-- <http://www.opengl.org/registry/specs/ARB/texture_cube_map.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.TextureCubeMap (
+   -- * Tokens
+   gl_NORMAL_MAP,
+   gl_REFLECTION_MAP,
+   gl_TEXTURE_CUBE_MAP,
+   gl_TEXTURE_BINDING_CUBE_MAP,
+   gl_TEXTURE_CUBE_MAP_POSITIVE_X,
+   gl_TEXTURE_CUBE_MAP_NEGATIVE_X,
+   gl_TEXTURE_CUBE_MAP_POSITIVE_Y,
+   gl_TEXTURE_CUBE_MAP_NEGATIVE_Y,
+   gl_TEXTURE_CUBE_MAP_POSITIVE_Z,
+   gl_TEXTURE_CUBE_MAP_NEGATIVE_Z,
+   gl_PROXY_TEXTURE_CUBE_MAP,
+   gl_MAX_CUBE_MAP_TEXTURE_SIZE
+) where
+
+import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
+import Graphics.Rendering.OpenGL.Raw.Core32
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureCubeMapArray.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureCubeMapArray.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureCubeMapArray.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureCubeMapArray.hs
@@ -1,49 +1,49 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureCubeMapArray
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All tokens from the ARB_texture_cube_map_array extension, see
--- <http://www.opengl.org/registry/specs/ARB/texture_cube_map_array.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.TextureCubeMapArray (
-   -- * Tokens
-   gl_TEXTURE_CUBE_MAP_ARRAY,
-   gl_TEXTURE_BINDING_CUBE_MAP_ARRAY,
-   gl_PROXY_TEXTURE_CUBE_MAP_ARRAY,
-   gl_SAMPLER_CUBE_MAP_ARRAY,
-   gl_SAMPLER_CUBE_MAP_ARRAY_SHADOW,
-   gl_INT_SAMPLER_CUBE_MAP_ARRAY,
-   gl_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core32
-
-gl_TEXTURE_CUBE_MAP_ARRAY :: GLenum
-gl_TEXTURE_CUBE_MAP_ARRAY = 0x9009
-
-gl_TEXTURE_BINDING_CUBE_MAP_ARRAY :: GLenum
-gl_TEXTURE_BINDING_CUBE_MAP_ARRAY = 0x900A
-
-gl_PROXY_TEXTURE_CUBE_MAP_ARRAY :: GLenum
-gl_PROXY_TEXTURE_CUBE_MAP_ARRAY = 0x900B
-
-gl_SAMPLER_CUBE_MAP_ARRAY :: GLenum
-gl_SAMPLER_CUBE_MAP_ARRAY = 0x900C
-
-gl_SAMPLER_CUBE_MAP_ARRAY_SHADOW :: GLenum
-gl_SAMPLER_CUBE_MAP_ARRAY_SHADOW = 0x900D
-
-gl_INT_SAMPLER_CUBE_MAP_ARRAY :: GLenum
-gl_INT_SAMPLER_CUBE_MAP_ARRAY = 0x900E
-
-gl_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY :: GLenum
-gl_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY = 0x900F
-
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureCubeMapArray
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All tokens from the ARB_texture_cube_map_array extension, see
+-- <http://www.opengl.org/registry/specs/ARB/texture_cube_map_array.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.TextureCubeMapArray (
+   -- * Tokens
+   gl_TEXTURE_CUBE_MAP_ARRAY,
+   gl_TEXTURE_BINDING_CUBE_MAP_ARRAY,
+   gl_PROXY_TEXTURE_CUBE_MAP_ARRAY,
+   gl_SAMPLER_CUBE_MAP_ARRAY,
+   gl_SAMPLER_CUBE_MAP_ARRAY_SHADOW,
+   gl_INT_SAMPLER_CUBE_MAP_ARRAY,
+   gl_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
+
+gl_TEXTURE_CUBE_MAP_ARRAY :: GLenum
+gl_TEXTURE_CUBE_MAP_ARRAY = 0x9009
+
+gl_TEXTURE_BINDING_CUBE_MAP_ARRAY :: GLenum
+gl_TEXTURE_BINDING_CUBE_MAP_ARRAY = 0x900A
+
+gl_PROXY_TEXTURE_CUBE_MAP_ARRAY :: GLenum
+gl_PROXY_TEXTURE_CUBE_MAP_ARRAY = 0x900B
+
+gl_SAMPLER_CUBE_MAP_ARRAY :: GLenum
+gl_SAMPLER_CUBE_MAP_ARRAY = 0x900C
+
+gl_SAMPLER_CUBE_MAP_ARRAY_SHADOW :: GLenum
+gl_SAMPLER_CUBE_MAP_ARRAY_SHADOW = 0x900D
+
+gl_INT_SAMPLER_CUBE_MAP_ARRAY :: GLenum
+gl_INT_SAMPLER_CUBE_MAP_ARRAY = 0x900E
+
+gl_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY :: GLenum
+gl_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY = 0x900F
+
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureEnvAdd.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureEnvAdd.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureEnvAdd.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureEnvAdd.hs
@@ -1,21 +1,21 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvAdd
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All tokens from the ARB_texture_env_add extension, see
--- <http://www.opengl.org/registry/specs/ARB/texture_env_add.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvAdd (
-   -- * Tokens
-   gl_ADD
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvAdd
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All tokens from the ARB_texture_env_add extension, see
+-- <http://www.opengl.org/registry/specs/ARB/texture_env_add.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvAdd (
+   -- * Tokens
+   gl_ADD
+) where
+
+import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureEnvCombine.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureEnvCombine.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureEnvCombine.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureEnvCombine.hs
@@ -1,52 +1,52 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvCombine
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All tokens from the ARB_texture_env_combine extension, see
--- <http://www.opengl.org/registry/specs/ARB/texture_env_combine.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvCombine (
-   -- * Tokens
-   gl_COMBINE,
-   gl_COMBINE_RGB,
-   gl_COMBINE_ALPHA,
-   gl_SOURCE0_RGB,
-   gl_SOURCE1_RGB,
-   gl_SOURCE2_RGB,
-   gl_SOURCE0_ALPHA,
-   gl_SOURCE1_ALPHA,
-   gl_SOURCE2_ALPHA,
-   gl_OPERAND0_RGB,
-   gl_OPERAND1_RGB,
-   gl_OPERAND2_RGB,
-   gl_OPERAND0_ALPHA,
-   gl_OPERAND1_ALPHA,
-   gl_OPERAND2_ALPHA,
-   gl_RGB_SCALE,
-   gl_ALPHA_SCALE,
-   gl_REPLACE,
-   gl_MODULATE,
-   gl_ADD,
-   gl_ADD_SIGNED,
-   gl_INTERPOLATE,
-   gl_SUBTRACT,
-   gl_TEXTURE,
-   gl_CONSTANT,
-   gl_PRIMARY_COLOR,
-   gl_PREVIOUS,
-   gl_SRC_COLOR,
-   gl_ONE_MINUS_SRC_COLOR,
-   gl_SRC_ALPHA,
-   gl_ONE_MINUS_SRC_ALPHA
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
-import Graphics.Rendering.OpenGL.Raw.Core32
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvCombine
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All tokens from the ARB_texture_env_combine extension, see
+-- <http://www.opengl.org/registry/specs/ARB/texture_env_combine.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvCombine (
+   -- * Tokens
+   gl_COMBINE,
+   gl_COMBINE_RGB,
+   gl_COMBINE_ALPHA,
+   gl_SOURCE0_RGB,
+   gl_SOURCE1_RGB,
+   gl_SOURCE2_RGB,
+   gl_SOURCE0_ALPHA,
+   gl_SOURCE1_ALPHA,
+   gl_SOURCE2_ALPHA,
+   gl_OPERAND0_RGB,
+   gl_OPERAND1_RGB,
+   gl_OPERAND2_RGB,
+   gl_OPERAND0_ALPHA,
+   gl_OPERAND1_ALPHA,
+   gl_OPERAND2_ALPHA,
+   gl_RGB_SCALE,
+   gl_ALPHA_SCALE,
+   gl_REPLACE,
+   gl_MODULATE,
+   gl_ADD,
+   gl_ADD_SIGNED,
+   gl_INTERPOLATE,
+   gl_SUBTRACT,
+   gl_TEXTURE,
+   gl_CONSTANT,
+   gl_PRIMARY_COLOR,
+   gl_PREVIOUS,
+   gl_SRC_COLOR,
+   gl_ONE_MINUS_SRC_COLOR,
+   gl_SRC_ALPHA,
+   gl_ONE_MINUS_SRC_ALPHA
+) where
+
+import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
+import Graphics.Rendering.OpenGL.Raw.Core32
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureEnvCrossbar.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureEnvCrossbar.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureEnvCrossbar.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureEnvCrossbar.hs
@@ -1,52 +1,52 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvCrossbar
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All tokens from the ARB_texture_env_crossbar extension, see
--- <http://www.opengl.org/registry/specs/ARB/texture_env_crossbar.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvCrossbar (
-   -- * Tokens
-   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
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core32
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvCrossbar
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All tokens from the ARB_texture_env_crossbar extension, see
+-- <http://www.opengl.org/registry/specs/ARB/texture_env_crossbar.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvCrossbar (
+   -- * Tokens
+   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
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureEnvDot3.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureEnvDot3.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureEnvDot3.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureEnvDot3.hs
@@ -1,22 +1,22 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvDot3
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All tokens from the ARB_texture_env_dot3 extension, see
--- <http://www.opengl.org/registry/specs/ARB/texture_env_dot3.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvDot3 (
-   -- * Tokens
-   gl_DOT3_RGB,
-   gl_DOT3_RGBA
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvDot3
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All tokens from the ARB_texture_env_dot3 extension, see
+-- <http://www.opengl.org/registry/specs/ARB/texture_env_dot3.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvDot3 (
+   -- * Tokens
+   gl_DOT3_RGB,
+   gl_DOT3_RGBA
+) where
+
+import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureFloat.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureFloat.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureFloat.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureFloat.hs
@@ -1,65 +1,65 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureFloat
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All tokens from the ARB_texture_float extension, see
--- <http://www.opengl.org/registry/specs/ARB/texture_float.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.TextureFloat (
-   -- * Tokens
-   gl_TEXTURE_RED_TYPE,
-   gl_TEXTURE_GREEN_TYPE,
-   gl_TEXTURE_BLUE_TYPE,
-   gl_TEXTURE_ALPHA_TYPE,
-   gl_TEXTURE_LUMINANCE_TYPE,
-   gl_TEXTURE_INTENSITY_TYPE,
-   gl_TEXTURE_DEPTH_TYPE,
-   gl_UNSIGNED_NORMALIZED,
-   gl_RGBA32F,
-   gl_RGB32F,
-   gl_ALPHA32F,
-   gl_INTENSITY32F,
-   gl_LUMINANCE32F,
-   gl_LUMINANCE_ALPHA32F,
-   gl_RGBA16F,
-   gl_RGB16F,
-   gl_ALPHA16F,
-   gl_INTENSITY16F,
-   gl_LUMINANCE16F,
-   gl_LUMINANCE_ALPHA16F
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
-import Graphics.Rendering.OpenGL.Raw.Core32
-
-gl_ALPHA32F :: GLenum
-gl_ALPHA32F = 0x8816
-
-gl_INTENSITY32F :: GLenum
-gl_INTENSITY32F = 0x8817
-
-gl_LUMINANCE32F :: GLenum
-gl_LUMINANCE32F = 0x8818
-
-gl_LUMINANCE_ALPHA32F :: GLenum
-gl_LUMINANCE_ALPHA32F = 0x8819
-
-gl_ALPHA16F :: GLenum
-gl_ALPHA16F = 0x881C
-
-gl_INTENSITY16F :: GLenum
-gl_INTENSITY16F = 0x881D
-
-gl_LUMINANCE16F :: GLenum
-gl_LUMINANCE16F = 0x881E
-
-gl_LUMINANCE_ALPHA16F :: GLenum
-gl_LUMINANCE_ALPHA16F = 0x881F
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureFloat
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All tokens from the ARB_texture_float extension, see
+-- <http://www.opengl.org/registry/specs/ARB/texture_float.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.TextureFloat (
+   -- * Tokens
+   gl_TEXTURE_RED_TYPE,
+   gl_TEXTURE_GREEN_TYPE,
+   gl_TEXTURE_BLUE_TYPE,
+   gl_TEXTURE_ALPHA_TYPE,
+   gl_TEXTURE_LUMINANCE_TYPE,
+   gl_TEXTURE_INTENSITY_TYPE,
+   gl_TEXTURE_DEPTH_TYPE,
+   gl_UNSIGNED_NORMALIZED,
+   gl_RGBA32F,
+   gl_RGB32F,
+   gl_ALPHA32F,
+   gl_INTENSITY32F,
+   gl_LUMINANCE32F,
+   gl_LUMINANCE_ALPHA32F,
+   gl_RGBA16F,
+   gl_RGB16F,
+   gl_ALPHA16F,
+   gl_INTENSITY16F,
+   gl_LUMINANCE16F,
+   gl_LUMINANCE_ALPHA16F
+) where
+
+import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
+import Graphics.Rendering.OpenGL.Raw.Core32
+
+gl_ALPHA32F :: GLenum
+gl_ALPHA32F = 0x8816
+
+gl_INTENSITY32F :: GLenum
+gl_INTENSITY32F = 0x8817
+
+gl_LUMINANCE32F :: GLenum
+gl_LUMINANCE32F = 0x8818
+
+gl_LUMINANCE_ALPHA32F :: GLenum
+gl_LUMINANCE_ALPHA32F = 0x8819
+
+gl_ALPHA16F :: GLenum
+gl_ALPHA16F = 0x881C
+
+gl_INTENSITY16F :: GLenum
+gl_INTENSITY16F = 0x881D
+
+gl_LUMINANCE16F :: GLenum
+gl_LUMINANCE16F = 0x881E
+
+gl_LUMINANCE_ALPHA16F :: GLenum
+gl_LUMINANCE_ALPHA16F = 0x881F
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureGather.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureGather.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureGather.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureGather.hs
@@ -1,32 +1,32 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureGather
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All tokens from the ARB_texture_gather extension, see
--- <http://www.opengl.org/registry/specs/ARB/.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.TextureGather (
-   -- * Tokens
-   gl_MIN_PROGRAM_TEXTURE_GATHER_OFFSET,
-   gl_MAX_PROGRAM_TEXTURE_GATHER_OFFSET,
-   gl_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core32
-
-gl_MIN_PROGRAM_TEXTURE_GATHER_OFFSET :: GLenum
-gl_MIN_PROGRAM_TEXTURE_GATHER_OFFSET = 0x8E5E
-
-gl_MAX_PROGRAM_TEXTURE_GATHER_OFFSET :: GLenum
-gl_MAX_PROGRAM_TEXTURE_GATHER_OFFSET = 0x8E5F
-
-gl_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS :: GLenum
-gl_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS = 0x8F9F
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureGather
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All tokens from the ARB_texture_gather extension, see
+-- <http://www.opengl.org/registry/specs/ARB/.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.TextureGather (
+   -- * Tokens
+   gl_MIN_PROGRAM_TEXTURE_GATHER_OFFSET,
+   gl_MAX_PROGRAM_TEXTURE_GATHER_OFFSET,
+   gl_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
+
+gl_MIN_PROGRAM_TEXTURE_GATHER_OFFSET :: GLenum
+gl_MIN_PROGRAM_TEXTURE_GATHER_OFFSET = 0x8E5E
+
+gl_MAX_PROGRAM_TEXTURE_GATHER_OFFSET :: GLenum
+gl_MAX_PROGRAM_TEXTURE_GATHER_OFFSET = 0x8E5F
+
+gl_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS :: GLenum
+gl_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS = 0x8F9F
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureMirroredRepeat.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureMirroredRepeat.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureMirroredRepeat.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureMirroredRepeat.hs
@@ -1,21 +1,21 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureMirroredRepeat
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All tokens from the ARB_texture_mirrored_repeat extension, see
--- <http://www.opengl.org/registry/specs/ARB/texture_mirrored_repeat.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.TextureMirroredRepeat (
-   -- * Tokens
-   gl_MIRRORED_REPEAT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core32
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureMirroredRepeat
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All tokens from the ARB_texture_mirrored_repeat extension, see
+-- <http://www.opengl.org/registry/specs/ARB/texture_mirrored_repeat.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.TextureMirroredRepeat (
+   -- * Tokens
+   gl_MIRRORED_REPEAT
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureMultisample.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureMultisample.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureMultisample.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureMultisample.hs
@@ -1,124 +1,124 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureMultisample
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the ARB_texture_multisample extension, see
--- <http://www.opengl.org/registry/specs/ARB/texture_multisample.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.TextureMultisample (
-   -- * Functions
-   glTexImage2DMultisample,
-   glTexImage3DMultisample,
-   glGetMultisamplefv,
-   glSampleMaski,
-   -- * Tokens
-   gl_SAMPLE_POSITION,
-   gl_SAMPLE_MASK,
-   gl_SAMPLE_MASK_VALUE,
-   gl_TEXTURE_2D_MULTISAMPLE,
-   gl_PROXY_TEXTURE_2D_MULTISAMPLE,
-   gl_TEXTURE_2D_MULTISAMPLE_ARRAY,
-   gl_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY,
-   gl_MAX_SAMPLE_MASK_WORDS,
-   gl_MAX_COLOR_TEXTURE_SAMPLES,
-   gl_MAX_DEPTH_TEXTURE_SAMPLES,
-   gl_MAX_INTEGER_SAMPLES,
-   gl_TEXTURE_BINDING_2D_MULTISAMPLE,
-   gl_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY,
-   gl_TEXTURE_SAMPLES,
-   gl_TEXTURE_FIXED_SAMPLE_LOCATIONS,
-   gl_SAMPLER_2D_MULTISAMPLE,
-   gl_INT_SAMPLER_2D_MULTISAMPLE,
-   gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE,
-   gl_SAMPLER_2D_MULTISAMPLE_ARRAY,
-   gl_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
-   gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY
-) where
-
-import Foreign.Ptr
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_ARB_texture_multisample"
-
-EXTENSION_ENTRY(glTexImage2DMultisample,GLenum -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> IO ())
-EXTENSION_ENTRY(glTexImage3DMultisample,GLenum -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
-EXTENSION_ENTRY(glGetMultisamplefv,GLenum -> GLuint -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glSampleMaski,GLuint -> GLbitfield -> IO ())
-
-
-gl_SAMPLE_POSITION :: GLenum
-gl_SAMPLE_POSITION = 0x8E50
-
-gl_SAMPLE_MASK :: GLenum
-gl_SAMPLE_MASK = 0x8E51
-
-gl_SAMPLE_MASK_VALUE :: GLenum
-gl_SAMPLE_MASK_VALUE = 0x8E52
-
-gl_TEXTURE_2D_MULTISAMPLE :: GLenum
-gl_TEXTURE_2D_MULTISAMPLE = 0x9100
-
-gl_PROXY_TEXTURE_2D_MULTISAMPLE :: GLenum
-gl_PROXY_TEXTURE_2D_MULTISAMPLE = 0x9101
-
-gl_TEXTURE_2D_MULTISAMPLE_ARRAY :: GLenum
-gl_TEXTURE_2D_MULTISAMPLE_ARRAY = 0x9102
-
-gl_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY :: GLenum
-gl_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY = 0x9103
-
-gl_MAX_SAMPLE_MASK_WORDS :: GLenum
-gl_MAX_SAMPLE_MASK_WORDS = 0x8E59
-
-gl_MAX_COLOR_TEXTURE_SAMPLES :: GLenum
-gl_MAX_COLOR_TEXTURE_SAMPLES = 0x910E
-
-gl_MAX_DEPTH_TEXTURE_SAMPLES :: GLenum
-gl_MAX_DEPTH_TEXTURE_SAMPLES = 0x910F
-
-gl_MAX_INTEGER_SAMPLES :: GLenum
-gl_MAX_INTEGER_SAMPLES = 0x9110
-
-gl_TEXTURE_BINDING_2D_MULTISAMPLE :: GLenum
-gl_TEXTURE_BINDING_2D_MULTISAMPLE = 0x9104
-
-gl_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY :: GLenum
-gl_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY = 0x9105
-
-gl_TEXTURE_SAMPLES :: GLenum
-gl_TEXTURE_SAMPLES = 0x9106
-
-gl_TEXTURE_FIXED_SAMPLE_LOCATIONS :: GLenum
-gl_TEXTURE_FIXED_SAMPLE_LOCATIONS = 0x9107
-
-gl_SAMPLER_2D_MULTISAMPLE :: GLenum
-gl_SAMPLER_2D_MULTISAMPLE = 0x9108
-
-gl_INT_SAMPLER_2D_MULTISAMPLE :: GLenum
-gl_INT_SAMPLER_2D_MULTISAMPLE = 0x9109
-
-gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE :: GLenum
-gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE = 0x910A
-
-gl_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
-gl_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910B
-
-gl_INT_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
-gl_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910C
-
-gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
-gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910D
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureMultisample
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the ARB_texture_multisample extension, see
+-- <http://www.opengl.org/registry/specs/ARB/texture_multisample.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.TextureMultisample (
+   -- * Functions
+   glTexImage2DMultisample,
+   glTexImage3DMultisample,
+   glGetMultisamplefv,
+   glSampleMaski,
+   -- * Tokens
+   gl_SAMPLE_POSITION,
+   gl_SAMPLE_MASK,
+   gl_SAMPLE_MASK_VALUE,
+   gl_TEXTURE_2D_MULTISAMPLE,
+   gl_PROXY_TEXTURE_2D_MULTISAMPLE,
+   gl_TEXTURE_2D_MULTISAMPLE_ARRAY,
+   gl_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY,
+   gl_MAX_SAMPLE_MASK_WORDS,
+   gl_MAX_COLOR_TEXTURE_SAMPLES,
+   gl_MAX_DEPTH_TEXTURE_SAMPLES,
+   gl_MAX_INTEGER_SAMPLES,
+   gl_TEXTURE_BINDING_2D_MULTISAMPLE,
+   gl_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY,
+   gl_TEXTURE_SAMPLES,
+   gl_TEXTURE_FIXED_SAMPLE_LOCATIONS,
+   gl_SAMPLER_2D_MULTISAMPLE,
+   gl_INT_SAMPLER_2D_MULTISAMPLE,
+   gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE,
+   gl_SAMPLER_2D_MULTISAMPLE_ARRAY,
+   gl_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+   gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY
+) where
+
+import Foreign.Ptr
+import Foreign.C.Types
+import Graphics.Rendering.OpenGL.Raw.Extensions
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_ARB_texture_multisample"
+
+EXTENSION_ENTRY(dyn_glTexImage2DMultisample,ptr_glTexImage2DMultisample,"glTexImage2DMultisample",glTexImage2DMultisample,GLenum -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> IO ())
+EXTENSION_ENTRY(dyn_glTexImage3DMultisample,ptr_glTexImage3DMultisample,"glTexImage3DMultisample",glTexImage3DMultisample,GLenum -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
+EXTENSION_ENTRY(dyn_glGetMultisamplefv,ptr_glGetMultisamplefv,"glGetMultisamplefv",glGetMultisamplefv,GLenum -> GLuint -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glSampleMaski,ptr_glSampleMaski,"glSampleMaski",glSampleMaski,GLuint -> GLbitfield -> IO ())
+
+
+gl_SAMPLE_POSITION :: GLenum
+gl_SAMPLE_POSITION = 0x8E50
+
+gl_SAMPLE_MASK :: GLenum
+gl_SAMPLE_MASK = 0x8E51
+
+gl_SAMPLE_MASK_VALUE :: GLenum
+gl_SAMPLE_MASK_VALUE = 0x8E52
+
+gl_TEXTURE_2D_MULTISAMPLE :: GLenum
+gl_TEXTURE_2D_MULTISAMPLE = 0x9100
+
+gl_PROXY_TEXTURE_2D_MULTISAMPLE :: GLenum
+gl_PROXY_TEXTURE_2D_MULTISAMPLE = 0x9101
+
+gl_TEXTURE_2D_MULTISAMPLE_ARRAY :: GLenum
+gl_TEXTURE_2D_MULTISAMPLE_ARRAY = 0x9102
+
+gl_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY :: GLenum
+gl_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY = 0x9103
+
+gl_MAX_SAMPLE_MASK_WORDS :: GLenum
+gl_MAX_SAMPLE_MASK_WORDS = 0x8E59
+
+gl_MAX_COLOR_TEXTURE_SAMPLES :: GLenum
+gl_MAX_COLOR_TEXTURE_SAMPLES = 0x910E
+
+gl_MAX_DEPTH_TEXTURE_SAMPLES :: GLenum
+gl_MAX_DEPTH_TEXTURE_SAMPLES = 0x910F
+
+gl_MAX_INTEGER_SAMPLES :: GLenum
+gl_MAX_INTEGER_SAMPLES = 0x9110
+
+gl_TEXTURE_BINDING_2D_MULTISAMPLE :: GLenum
+gl_TEXTURE_BINDING_2D_MULTISAMPLE = 0x9104
+
+gl_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY :: GLenum
+gl_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY = 0x9105
+
+gl_TEXTURE_SAMPLES :: GLenum
+gl_TEXTURE_SAMPLES = 0x9106
+
+gl_TEXTURE_FIXED_SAMPLE_LOCATIONS :: GLenum
+gl_TEXTURE_FIXED_SAMPLE_LOCATIONS = 0x9107
+
+gl_SAMPLER_2D_MULTISAMPLE :: GLenum
+gl_SAMPLER_2D_MULTISAMPLE = 0x9108
+
+gl_INT_SAMPLER_2D_MULTISAMPLE :: GLenum
+gl_INT_SAMPLER_2D_MULTISAMPLE = 0x9109
+
+gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE :: GLenum
+gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE = 0x910A
+
+gl_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
+gl_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910B
+
+gl_INT_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
+gl_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910C
+
+gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
+gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910D
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureRG.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureRG.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureRG.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureRG.hs
@@ -1,45 +1,45 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureRG
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All tokens from the ARB_texture_rg extension, see
--- <http://www.opengl.org/registry/specs/ARB/texture_rg.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.TextureRG (
-   -- * Tokens
-   gl_R8,
-   gl_R16,
-   gl_RG8,
-   gl_RG16,
-   gl_R16F,
-   gl_R32F,
-   gl_RG16F,
-   gl_RG32F,
-   gl_R8I,
-   gl_R8UI,
-   gl_R16I,
-   gl_R16UI,
-   gl_R32I,
-   gl_R32UI,
-   gl_RG8I,
-   gl_RG8UI,
-   gl_RG16I,
-   gl_RG16UI,
-   gl_RG32I,
-   gl_RG32UI,
-   gl_RED,
-   gl_RG,
-   gl_COMPRESSED_RED,
-   gl_COMPRESSED_RG,
-   gl_RG_INTEGER
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core32
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureRG
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All tokens from the ARB_texture_rg extension, see
+-- <http://www.opengl.org/registry/specs/ARB/texture_rg.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.TextureRG (
+   -- * Tokens
+   gl_R8,
+   gl_R16,
+   gl_RG8,
+   gl_RG16,
+   gl_R16F,
+   gl_R32F,
+   gl_RG16F,
+   gl_RG32F,
+   gl_R8I,
+   gl_R8UI,
+   gl_R16I,
+   gl_R16UI,
+   gl_R32I,
+   gl_R32UI,
+   gl_RG8I,
+   gl_RG8UI,
+   gl_RG16I,
+   gl_RG16UI,
+   gl_RG32I,
+   gl_RG32UI,
+   gl_RED,
+   gl_RG,
+   gl_COMPRESSED_RED,
+   gl_COMPRESSED_RG,
+   gl_RG_INTEGER
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureRGB10A2UI.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureRGB10A2UI.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureRGB10A2UI.hs
@@ -0,0 +1,25 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureRGB10A2UI
+-- Copyright   :  (c) Sven Panne 2014
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the ARB_texture_rgb10_a2ui extension, see
+-- <http://www.opengl.org/registry/specs/ARB/texture_rgb10_a2ui.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.TextureRGB10A2UI (
+   gl_RGB10_A2UI
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+
+--------------------------------------------------------------------------------
+
+gl_RGB10_A2UI :: GLenum
+gl_RGB10_A2UI = 0x906F
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureRectangle.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureRectangle.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureRectangle.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureRectangle.hs
@@ -1,44 +1,44 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureRectangle
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All tokens from the ARB_texture_rectangle extension, see
--- <http://www.opengl.org/registry/specs/ARB/texture_rectangle.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.TextureRectangle (
-   -- * Tokens
-   gl_TEXTURE_RECTANGLE,
-   gl_TEXTURE_BINDING_RECTANGLE,
-   gl_PROXY_TEXTURE_RECTANGLE,
-   gl_MAX_RECTANGLE_TEXTURE_SIZE,
-   gl_SAMPLER_2D_RECT,
-   gl_SAMPLER_2D_RECT_SHADOW
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-
-gl_TEXTURE_RECTANGLE :: GLenum
-gl_TEXTURE_RECTANGLE = 0x84F5
-
-gl_TEXTURE_BINDING_RECTANGLE :: GLenum
-gl_TEXTURE_BINDING_RECTANGLE = 0x84F6
-
-gl_PROXY_TEXTURE_RECTANGLE :: GLenum
-gl_PROXY_TEXTURE_RECTANGLE = 0x84F7
-
-gl_MAX_RECTANGLE_TEXTURE_SIZE :: GLenum
-gl_MAX_RECTANGLE_TEXTURE_SIZE = 0x84F8
-
-gl_SAMPLER_2D_RECT :: GLenum
-gl_SAMPLER_2D_RECT = 0x8B63
-
-gl_SAMPLER_2D_RECT_SHADOW :: GLenum
-gl_SAMPLER_2D_RECT_SHADOW = 0x8B64
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureRectangle
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All tokens from the ARB_texture_rectangle extension, see
+-- <http://www.opengl.org/registry/specs/ARB/texture_rectangle.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.TextureRectangle (
+   -- * Tokens
+   gl_TEXTURE_RECTANGLE,
+   gl_TEXTURE_BINDING_RECTANGLE,
+   gl_PROXY_TEXTURE_RECTANGLE,
+   gl_MAX_RECTANGLE_TEXTURE_SIZE,
+   gl_SAMPLER_2D_RECT,
+   gl_SAMPLER_2D_RECT_SHADOW
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+
+gl_TEXTURE_RECTANGLE :: GLenum
+gl_TEXTURE_RECTANGLE = 0x84F5
+
+gl_TEXTURE_BINDING_RECTANGLE :: GLenum
+gl_TEXTURE_BINDING_RECTANGLE = 0x84F6
+
+gl_PROXY_TEXTURE_RECTANGLE :: GLenum
+gl_PROXY_TEXTURE_RECTANGLE = 0x84F7
+
+gl_MAX_RECTANGLE_TEXTURE_SIZE :: GLenum
+gl_MAX_RECTANGLE_TEXTURE_SIZE = 0x84F8
+
+gl_SAMPLER_2D_RECT :: GLenum
+gl_SAMPLER_2D_RECT = 0x8B63
+
+gl_SAMPLER_2D_RECT_SHADOW :: GLenum
+gl_SAMPLER_2D_RECT_SHADOW = 0x8B64
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureSwizzle.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureSwizzle.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureSwizzle.hs
@@ -0,0 +1,41 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureSwizzle
+-- Copyright   :  (c) Sven Panne 2014
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the ARB_texture_swizzle extension, see
+-- <http://www.opengl.org/registry/specs/ARB/texture_swizzle.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.TextureSwizzle (
+   gl_TEXTURE_SWIZZLE_R,
+   gl_TEXTURE_SWIZZLE_G,
+   gl_TEXTURE_SWIZZLE_B,
+   gl_TEXTURE_SWIZZLE_A,
+   gl_TEXTURE_SWIZZLE_RGBA
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+
+--------------------------------------------------------------------------------
+
+gl_TEXTURE_SWIZZLE_R :: GLenum
+gl_TEXTURE_SWIZZLE_R = 0x8E42
+
+gl_TEXTURE_SWIZZLE_G :: GLenum
+gl_TEXTURE_SWIZZLE_G = 0x8E43
+
+gl_TEXTURE_SWIZZLE_B :: GLenum
+gl_TEXTURE_SWIZZLE_B = 0x8E44
+
+gl_TEXTURE_SWIZZLE_A :: GLenum
+gl_TEXTURE_SWIZZLE_A = 0x8E45
+
+gl_TEXTURE_SWIZZLE_RGBA :: GLenum
+gl_TEXTURE_SWIZZLE_RGBA = 0x8E46
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TimerQuery.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TimerQuery.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TimerQuery.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/TimerQuery.hs
@@ -1,46 +1,46 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TimerQuery
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions, tokens and types from the ARB_timer_query, see
--- <http://www.opengl.org/registry/specs/ARB/timer_query.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.TimerQuery (
-   -- * Functions
-   glQueryCounter,
-   glGetQueryObjecti64v,
-   glGetQueryObjectui64v,
-
-   -- * Tokens
-   gl_TIME_ELAPSED,
-   gl_TIMESTAMP
-) where
-
-import Foreign.C.Types
-import Foreign.Ptr
-import Graphics.Rendering.OpenGL.Raw.Core32
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_ARB_timer_query"
-
-EXTENSION_ENTRY(glQueryCounter, GLuint -> GLenum -> IO ())
-EXTENSION_ENTRY(glGetQueryObjecti64v,GLuint -> GLenum -> Ptr GLint64 -> IO ())
-EXTENSION_ENTRY(glGetQueryObjectui64v,GLuint -> GLenum -> Ptr GLuint64 -> IO ())
-
-gl_TIME_ELAPSED :: GLenum
-gl_TIME_ELAPSED = 0x88BF
-
-gl_TIMESTAMP :: GLenum
-gl_TIMESTAMP = 0x8E28
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TimerQuery
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions, tokens and types from the ARB_timer_query, see
+-- <http://www.opengl.org/registry/specs/ARB/timer_query.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.TimerQuery (
+   -- * Functions
+   glQueryCounter,
+   glGetQueryObjecti64v,
+   glGetQueryObjectui64v,
+
+   -- * Tokens
+   gl_TIME_ELAPSED,
+   gl_TIMESTAMP
+) where
+
+import Foreign.C.Types
+import Foreign.Ptr
+import Graphics.Rendering.OpenGL.Raw.Core32
+import Graphics.Rendering.OpenGL.Raw.Extensions
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_ARB_timer_query"
+
+EXTENSION_ENTRY(dyn_glQueryCounter,ptr_glQueryCounter,"glQueryCounter",glQueryCounter, GLuint -> GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glGetQueryObjecti64v,ptr_glGetQueryObjecti64v,"glGetQueryObjecti64v",glGetQueryObjecti64v,GLuint -> GLenum -> Ptr GLint64 -> IO ())
+EXTENSION_ENTRY(dyn_glGetQueryObjectui64v,ptr_glGetQueryObjectui64v,"glGetQueryObjectui64v",glGetQueryObjectui64v,GLuint -> GLenum -> Ptr GLuint64 -> IO ())
+
+gl_TIME_ELAPSED :: GLenum
+gl_TIME_ELAPSED = 0x88BF
+
+gl_TIMESTAMP :: GLenum
+gl_TIMESTAMP = 0x8E28
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TransformFeedback2.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TransformFeedback2.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/TransformFeedback2.hs
@@ -0,0 +1,74 @@
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TransformFeedback2
+-- Copyright   :  (c) Sven Panne 2014
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the ARB_transform_feedback2 extension, see
+-- <http://www.opengl.org/registry/specs/ARB/transform_feedback2.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.TransformFeedback2 (
+   -- * Functions
+   glBindTransformFeedback,
+   glDeleteTransformFeedbacks,
+   glGenTransformFeedbacks,
+   glIsTransformFeedback,
+   glPauseTransformFeedback,
+   glResumeTransformFeedback,
+   glDrawTransformFeedback,
+
+   -- * Tokens
+   gl_TRANSFORM_FEEDBACK,
+   gl_TRANSFORM_FEEDBACK_PAUSED,
+   gl_TRANSFORM_FEEDBACK_BUFFER_PAUSED,
+   gl_TRANSFORM_FEEDBACK_ACTIVE,
+   gl_TRANSFORM_FEEDBACK_BUFFER_ACTIVE,
+   gl_TRANSFORM_FEEDBACK_BINDING
+) where
+
+import Foreign.C.Types
+import Foreign.Ptr
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+import Graphics.Rendering.OpenGL.Raw.Extensions
+
+--------------------------------------------------------------------------------
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_ARB_transform_feedback2"
+
+EXTENSION_ENTRY(dyn_glBindTransformFeedback,ptr_glBindTransformFeedback,"glBindTransformFeedback",glBindTransformFeedback,GLenum -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glDeleteTransformFeedbacks,ptr_glDeleteTransformFeedbacks,"glDeleteTransformFeedbacks",glDeleteTransformFeedbacks,GLsizei -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glGenTransformFeedbacks,ptr_glGenTransformFeedbacks,"glGenTransformFeedbacks",glGenTransformFeedbacks,GLsizei -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glIsTransformFeedback,ptr_glIsTransformFeedback,"glIsTransformFeedback",glIsTransformFeedback,GLuint -> IO GLboolean)
+EXTENSION_ENTRY(dyn_glPauseTransformFeedback,ptr_glPauseTransformFeedback,"glPauseTransformFeedback",glPauseTransformFeedback,IO ())
+EXTENSION_ENTRY(dyn_glResumeTransformFeedback,ptr_glResumeTransformFeedback,"glResumeTransformFeedback",glResumeTransformFeedback,IO ())
+EXTENSION_ENTRY(dyn_glDrawTransformFeedback,ptr_glDrawTransformFeedback,"glDrawTransformFeedback",glDrawTransformFeedback,GLenum -> GLuint -> IO ())
+
+gl_TRANSFORM_FEEDBACK :: GLenum
+gl_TRANSFORM_FEEDBACK = 0x8E22
+
+-- | Legacy name.
+gl_TRANSFORM_FEEDBACK_PAUSED :: GLenum
+gl_TRANSFORM_FEEDBACK_PAUSED = gl_TRANSFORM_FEEDBACK_BUFFER_PAUSED
+
+gl_TRANSFORM_FEEDBACK_BUFFER_PAUSED :: GLenum
+gl_TRANSFORM_FEEDBACK_BUFFER_PAUSED = 0x8E23
+
+-- | Legacy name.
+gl_TRANSFORM_FEEDBACK_ACTIVE :: GLenum
+gl_TRANSFORM_FEEDBACK_ACTIVE = gl_TRANSFORM_FEEDBACK_BUFFER_ACTIVE
+
+gl_TRANSFORM_FEEDBACK_BUFFER_ACTIVE :: GLenum
+gl_TRANSFORM_FEEDBACK_BUFFER_ACTIVE = 0x8E24
+
+gl_TRANSFORM_FEEDBACK_BINDING :: GLenum
+gl_TRANSFORM_FEEDBACK_BINDING = 0x8E25
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TransformFeedback3.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TransformFeedback3.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TransformFeedback3.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/TransformFeedback3.hs
@@ -1,49 +1,49 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TransformFeedback3
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions, tokens and types from the ARB_transform_feedback3
--- extension, see
--- <http://www.opengl.org/registry/specs/ARB/transform_feedback3.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.TransformFeedback3 (
-   -- * Functions
-   glDrawTransformFeedbackStream,
-   glBeginQueryIndexed,
-   glEndQueryIndexed,
-   glGetQueryIndexediv,
-
-   -- * Tokens
-   gl_MAX_TRANSFORM_FEEDBACK_BUFFERS,
-   gl_MAX_VERTEX_STREAMS
-) where
-
-import Foreign.C.Types
-import Foreign.Ptr
-import Graphics.Rendering.OpenGL.Raw.ARB.GpuShader5
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
---------------------------------------------------------------------------------
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_ARB_transform_feedback3"
-
-EXTENSION_ENTRY(glDrawTransformFeedbackStream, GLenum -> GLuint -> GLuint -> IO ())
-EXTENSION_ENTRY(glBeginQueryIndexed, GLenum -> GLuint -> GLuint -> IO ())
-EXTENSION_ENTRY(glEndQueryIndexed, GLenum -> GLuint -> IO ())
-EXTENSION_ENTRY(glGetQueryIndexediv, GLenum -> GLuint -> GLenum -> Ptr GLint -> IO ())
-
-gl_MAX_TRANSFORM_FEEDBACK_BUFFERS :: GLenum
-gl_MAX_TRANSFORM_FEEDBACK_BUFFERS = 0x8E70
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TransformFeedback3
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions, tokens and types from the ARB_transform_feedback3
+-- extension, see
+-- <http://www.opengl.org/registry/specs/ARB/transform_feedback3.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.TransformFeedback3 (
+   -- * Functions
+   glDrawTransformFeedbackStream,
+   glBeginQueryIndexed,
+   glEndQueryIndexed,
+   glGetQueryIndexediv,
+
+   -- * Tokens
+   gl_MAX_TRANSFORM_FEEDBACK_BUFFERS,
+   gl_MAX_VERTEX_STREAMS
+) where
+
+import Foreign.C.Types
+import Foreign.Ptr
+import Graphics.Rendering.OpenGL.Raw.ARB.GPUShader5
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+import Graphics.Rendering.OpenGL.Raw.Extensions
+
+--------------------------------------------------------------------------------
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_ARB_transform_feedback3"
+
+EXTENSION_ENTRY(dyn_glDrawTransformFeedbackStream,ptr_glDrawTransformFeedbackStream,"glDrawTransformFeedbackStream",glDrawTransformFeedbackStream, GLenum -> GLuint -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glBeginQueryIndexed,ptr_glBeginQueryIndexed,"glBeginQueryIndexed",glBeginQueryIndexed, GLenum -> GLuint -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glEndQueryIndexed,ptr_glEndQueryIndexed,"glEndQueryIndexed",glEndQueryIndexed, GLenum -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glGetQueryIndexediv,ptr_glGetQueryIndexediv,"glGetQueryIndexediv",glGetQueryIndexediv, GLenum -> GLuint -> GLenum -> Ptr GLint -> IO ())
+
+gl_MAX_TRANSFORM_FEEDBACK_BUFFERS :: GLenum
+gl_MAX_TRANSFORM_FEEDBACK_BUFFERS = 0x8E70
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TransposeMatrix.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TransposeMatrix.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TransposeMatrix.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/TransposeMatrix.hs
@@ -1,29 +1,29 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TransposeMatrix
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the ARB_transpose_matrix extension, see
--- <http://www.opengl.org/registry/specs/ARB/transpose_matrix.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.TransposeMatrix (
-   -- * Functions
-   glLoadTransposeMatrixf,
-   glLoadTransposeMatrixd,
-   glMultTransposeMatrixf,
-   glMultTransposeMatrixd,
-   -- * Tokens
-   gl_TRANSPOSE_MODELVIEW_MATRIX,
-   gl_TRANSPOSE_PROJECTION_MATRIX,
-   gl_TRANSPOSE_TEXTURE_MATRIX,
-   gl_TRANSPOSE_COLOR_MATRIX
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TransposeMatrix
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the ARB_transpose_matrix extension, see
+-- <http://www.opengl.org/registry/specs/ARB/transpose_matrix.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.TransposeMatrix (
+   -- * Functions
+   glLoadTransposeMatrixf,
+   glLoadTransposeMatrixd,
+   glMultTransposeMatrixf,
+   glMultTransposeMatrixd,
+   -- * Tokens
+   gl_TRANSPOSE_MODELVIEW_MATRIX,
+   gl_TRANSPOSE_PROJECTION_MATRIX,
+   gl_TRANSPOSE_TEXTURE_MATRIX,
+   gl_TRANSPOSE_COLOR_MATRIX
+) where
+
+import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/UniformBufferObject.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/UniformBufferObject.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/UniformBufferObject.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/UniformBufferObject.hs
@@ -1,183 +1,183 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.UniformBufferObject
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the ARB_uniform_buffer_object extension, see
--- <http://www.opengl.org/registry/specs/ARB/uniform_buffer_object.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.UniformBufferObject (
-   -- * Functions
-   glGetUniformIndices,
-   glGetActiveUniformsiv,
-   glGetActiveUniformName,
-   glGetUniformBlockIndex,
-   glGetActiveUniformBlockiv,
-   glGetActiveUniformBlockName,
-   glBindBufferRange,
-   glBindBufferBase,
-   glGetIntegeri_v,
-   glUniformBlockBinding,
-   -- * Tokens
-   gl_UNIFORM_BUFFER,
-   gl_UNIFORM_BUFFER_BINDING,
-   gl_UNIFORM_BUFFER_START,
-   gl_UNIFORM_BUFFER_SIZE,
-   gl_MAX_VERTEX_UNIFORM_BLOCKS,
-   gl_MAX_GEOMETRY_UNIFORM_BLOCKS,
-   gl_MAX_FRAGMENT_UNIFORM_BLOCKS,
-   gl_MAX_COMBINED_UNIFORM_BLOCKS,
-   gl_MAX_UNIFORM_BUFFER_BINDINGS,
-   gl_MAX_UNIFORM_BLOCK_SIZE,
-   gl_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS,
-   gl_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS,
-   gl_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS,
-   gl_UNIFORM_BUFFER_OFFSET_ALIGNMENT,
-   gl_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH,
-   gl_ACTIVE_UNIFORM_BLOCKS,
-   gl_UNIFORM_TYPE,
-   gl_UNIFORM_SIZE,
-   gl_UNIFORM_NAME_LENGTH,
-   gl_UNIFORM_BLOCK_INDEX,
-   gl_UNIFORM_OFFSET,
-   gl_UNIFORM_ARRAY_STRIDE,
-   gl_UNIFORM_MATRIX_STRIDE,
-   gl_UNIFORM_IS_ROW_MAJOR,
-   gl_UNIFORM_BLOCK_BINDING,
-   gl_UNIFORM_BLOCK_DATA_SIZE,
-   gl_UNIFORM_BLOCK_NAME_LENGTH,
-   gl_UNIFORM_BLOCK_ACTIVE_UNIFORMS,
-   gl_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES,
-   gl_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER,
-   gl_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER,
-   gl_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER,
-   gl_INVALID_INDEX
-) where
-
-import Foreign.Ptr
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_ARB_uniform_buffer_object"
-
-EXTENSION_ENTRY(glGetUniformIndices,GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glGetActiveUniformsiv,GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glGetActiveUniformName,GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-EXTENSION_ENTRY(glGetUniformBlockIndex,GLuint -> Ptr GLchar -> IO GLuint)
-EXTENSION_ENTRY(glGetActiveUniformBlockiv,GLuint -> GLuint -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glGetActiveUniformBlockName,GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-EXTENSION_ENTRY(glBindBufferRange,GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> IO ())
-EXTENSION_ENTRY(glBindBufferBase,GLenum -> GLuint -> GLuint -> IO ())
-EXTENSION_ENTRY(glGetIntegeri_v,GLenum -> GLuint -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glUniformBlockBinding,GLuint -> GLuint -> GLuint -> IO ())
-
-gl_UNIFORM_BUFFER :: GLenum
-gl_UNIFORM_BUFFER = 0x8A11
-
-gl_UNIFORM_BUFFER_BINDING :: GLenum
-gl_UNIFORM_BUFFER_BINDING = 0x8A28
-
-gl_UNIFORM_BUFFER_START :: GLenum
-gl_UNIFORM_BUFFER_START = 0x8A29
-
-gl_UNIFORM_BUFFER_SIZE :: GLenum
-gl_UNIFORM_BUFFER_SIZE = 0x8A2A
-
-gl_MAX_VERTEX_UNIFORM_BLOCKS :: GLenum
-gl_MAX_VERTEX_UNIFORM_BLOCKS = 0x8A2B
-
-gl_MAX_GEOMETRY_UNIFORM_BLOCKS :: GLenum
-gl_MAX_GEOMETRY_UNIFORM_BLOCKS = 0x8A2C
-
-gl_MAX_FRAGMENT_UNIFORM_BLOCKS :: GLenum
-gl_MAX_FRAGMENT_UNIFORM_BLOCKS = 0x8A2D
-
-gl_MAX_COMBINED_UNIFORM_BLOCKS :: GLenum
-gl_MAX_COMBINED_UNIFORM_BLOCKS = 0x8A2E
-
-gl_MAX_UNIFORM_BUFFER_BINDINGS :: GLenum
-gl_MAX_UNIFORM_BUFFER_BINDINGS = 0x8A2F
-
-gl_MAX_UNIFORM_BLOCK_SIZE :: GLenum
-gl_MAX_UNIFORM_BLOCK_SIZE = 0x8A30
-
-gl_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS :: GLenum
-gl_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS = 0x8A31
-
-gl_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS :: GLenum
-gl_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS = 0x8A32
-
-gl_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS :: GLenum
-gl_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS = 0x8A33
-
-gl_UNIFORM_BUFFER_OFFSET_ALIGNMENT :: GLenum
-gl_UNIFORM_BUFFER_OFFSET_ALIGNMENT = 0x8A34
-
-gl_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH :: GLenum
-gl_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH = 0x8A35
-
-gl_ACTIVE_UNIFORM_BLOCKS :: GLenum
-gl_ACTIVE_UNIFORM_BLOCKS = 0x8A36
-
-gl_UNIFORM_TYPE :: GLenum
-gl_UNIFORM_TYPE = 0x8A37
-
-gl_UNIFORM_SIZE :: GLenum
-gl_UNIFORM_SIZE = 0x8A38
-
-gl_UNIFORM_NAME_LENGTH :: GLenum
-gl_UNIFORM_NAME_LENGTH = 0x8A39
-
-gl_UNIFORM_BLOCK_INDEX :: GLenum
-gl_UNIFORM_BLOCK_INDEX = 0x8A3A
-
-gl_UNIFORM_OFFSET :: GLenum
-gl_UNIFORM_OFFSET = 0x8A3B
-
-gl_UNIFORM_ARRAY_STRIDE :: GLenum
-gl_UNIFORM_ARRAY_STRIDE = 0x8A3C
-
-gl_UNIFORM_MATRIX_STRIDE :: GLenum
-gl_UNIFORM_MATRIX_STRIDE = 0x8A3D
-
-gl_UNIFORM_IS_ROW_MAJOR :: GLenum
-gl_UNIFORM_IS_ROW_MAJOR = 0x8A3E
-
-gl_UNIFORM_BLOCK_BINDING :: GLenum
-gl_UNIFORM_BLOCK_BINDING = 0x8A3F
-
-gl_UNIFORM_BLOCK_DATA_SIZE :: GLenum
-gl_UNIFORM_BLOCK_DATA_SIZE = 0x8A40
-
-gl_UNIFORM_BLOCK_NAME_LENGTH :: GLenum
-gl_UNIFORM_BLOCK_NAME_LENGTH = 0x8A41
-
-gl_UNIFORM_BLOCK_ACTIVE_UNIFORMS :: GLenum
-gl_UNIFORM_BLOCK_ACTIVE_UNIFORMS = 0x8A42
-
-gl_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES :: GLenum
-gl_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = 0x8A43
-
-gl_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER :: GLenum
-gl_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = 0x8A44
-
-gl_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER :: GLenum
-gl_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER = 0x8A45
-
-gl_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER :: GLenum
-gl_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = 0x8A46
-
-gl_INVALID_INDEX :: GLenum
-gl_INVALID_INDEX = 0xFFFFFFFF
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.UniformBufferObject
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the ARB_uniform_buffer_object extension, see
+-- <http://www.opengl.org/registry/specs/ARB/uniform_buffer_object.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.UniformBufferObject (
+   -- * Functions
+   glGetUniformIndices,
+   glGetActiveUniformsiv,
+   glGetActiveUniformName,
+   glGetUniformBlockIndex,
+   glGetActiveUniformBlockiv,
+   glGetActiveUniformBlockName,
+   glBindBufferRange,
+   glBindBufferBase,
+   glGetIntegeri_v,
+   glUniformBlockBinding,
+   -- * Tokens
+   gl_UNIFORM_BUFFER,
+   gl_UNIFORM_BUFFER_BINDING,
+   gl_UNIFORM_BUFFER_START,
+   gl_UNIFORM_BUFFER_SIZE,
+   gl_MAX_VERTEX_UNIFORM_BLOCKS,
+   gl_MAX_GEOMETRY_UNIFORM_BLOCKS,
+   gl_MAX_FRAGMENT_UNIFORM_BLOCKS,
+   gl_MAX_COMBINED_UNIFORM_BLOCKS,
+   gl_MAX_UNIFORM_BUFFER_BINDINGS,
+   gl_MAX_UNIFORM_BLOCK_SIZE,
+   gl_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS,
+   gl_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS,
+   gl_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS,
+   gl_UNIFORM_BUFFER_OFFSET_ALIGNMENT,
+   gl_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH,
+   gl_ACTIVE_UNIFORM_BLOCKS,
+   gl_UNIFORM_TYPE,
+   gl_UNIFORM_SIZE,
+   gl_UNIFORM_NAME_LENGTH,
+   gl_UNIFORM_BLOCK_INDEX,
+   gl_UNIFORM_OFFSET,
+   gl_UNIFORM_ARRAY_STRIDE,
+   gl_UNIFORM_MATRIX_STRIDE,
+   gl_UNIFORM_IS_ROW_MAJOR,
+   gl_UNIFORM_BLOCK_BINDING,
+   gl_UNIFORM_BLOCK_DATA_SIZE,
+   gl_UNIFORM_BLOCK_NAME_LENGTH,
+   gl_UNIFORM_BLOCK_ACTIVE_UNIFORMS,
+   gl_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES,
+   gl_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER,
+   gl_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER,
+   gl_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER,
+   gl_INVALID_INDEX
+) where
+
+import Foreign.Ptr
+import Foreign.C.Types
+import Graphics.Rendering.OpenGL.Raw.Extensions
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_ARB_uniform_buffer_object"
+
+EXTENSION_ENTRY(dyn_glGetUniformIndices,ptr_glGetUniformIndices,"glGetUniformIndices",glGetUniformIndices,GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glGetActiveUniformsiv,ptr_glGetActiveUniformsiv,"glGetActiveUniformsiv",glGetActiveUniformsiv,GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glGetActiveUniformName,ptr_glGetActiveUniformName,"glGetActiveUniformName",glGetActiveUniformName,GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
+EXTENSION_ENTRY(dyn_glGetUniformBlockIndex,ptr_glGetUniformBlockIndex,"glGetUniformBlockIndex",glGetUniformBlockIndex,GLuint -> Ptr GLchar -> IO GLuint)
+EXTENSION_ENTRY(dyn_glGetActiveUniformBlockiv,ptr_glGetActiveUniformBlockiv,"glGetActiveUniformBlockiv",glGetActiveUniformBlockiv,GLuint -> GLuint -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glGetActiveUniformBlockName,ptr_glGetActiveUniformBlockName,"glGetActiveUniformBlockName",glGetActiveUniformBlockName,GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
+EXTENSION_ENTRY(dyn_glBindBufferRange,ptr_glBindBufferRange,"glBindBufferRange",glBindBufferRange,GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> IO ())
+EXTENSION_ENTRY(dyn_glBindBufferBase,ptr_glBindBufferBase,"glBindBufferBase",glBindBufferBase,GLenum -> GLuint -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glGetIntegeri_v,ptr_glGetIntegeri_v,"glGetIntegeri_v",glGetIntegeri_v,GLenum -> GLuint -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glUniformBlockBinding,ptr_glUniformBlockBinding,"glUniformBlockBinding",glUniformBlockBinding,GLuint -> GLuint -> GLuint -> IO ())
+
+gl_UNIFORM_BUFFER :: GLenum
+gl_UNIFORM_BUFFER = 0x8A11
+
+gl_UNIFORM_BUFFER_BINDING :: GLenum
+gl_UNIFORM_BUFFER_BINDING = 0x8A28
+
+gl_UNIFORM_BUFFER_START :: GLenum
+gl_UNIFORM_BUFFER_START = 0x8A29
+
+gl_UNIFORM_BUFFER_SIZE :: GLenum
+gl_UNIFORM_BUFFER_SIZE = 0x8A2A
+
+gl_MAX_VERTEX_UNIFORM_BLOCKS :: GLenum
+gl_MAX_VERTEX_UNIFORM_BLOCKS = 0x8A2B
+
+gl_MAX_GEOMETRY_UNIFORM_BLOCKS :: GLenum
+gl_MAX_GEOMETRY_UNIFORM_BLOCKS = 0x8A2C
+
+gl_MAX_FRAGMENT_UNIFORM_BLOCKS :: GLenum
+gl_MAX_FRAGMENT_UNIFORM_BLOCKS = 0x8A2D
+
+gl_MAX_COMBINED_UNIFORM_BLOCKS :: GLenum
+gl_MAX_COMBINED_UNIFORM_BLOCKS = 0x8A2E
+
+gl_MAX_UNIFORM_BUFFER_BINDINGS :: GLenum
+gl_MAX_UNIFORM_BUFFER_BINDINGS = 0x8A2F
+
+gl_MAX_UNIFORM_BLOCK_SIZE :: GLenum
+gl_MAX_UNIFORM_BLOCK_SIZE = 0x8A30
+
+gl_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS :: GLenum
+gl_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS = 0x8A31
+
+gl_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS :: GLenum
+gl_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS = 0x8A32
+
+gl_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS :: GLenum
+gl_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS = 0x8A33
+
+gl_UNIFORM_BUFFER_OFFSET_ALIGNMENT :: GLenum
+gl_UNIFORM_BUFFER_OFFSET_ALIGNMENT = 0x8A34
+
+gl_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH :: GLenum
+gl_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH = 0x8A35
+
+gl_ACTIVE_UNIFORM_BLOCKS :: GLenum
+gl_ACTIVE_UNIFORM_BLOCKS = 0x8A36
+
+gl_UNIFORM_TYPE :: GLenum
+gl_UNIFORM_TYPE = 0x8A37
+
+gl_UNIFORM_SIZE :: GLenum
+gl_UNIFORM_SIZE = 0x8A38
+
+gl_UNIFORM_NAME_LENGTH :: GLenum
+gl_UNIFORM_NAME_LENGTH = 0x8A39
+
+gl_UNIFORM_BLOCK_INDEX :: GLenum
+gl_UNIFORM_BLOCK_INDEX = 0x8A3A
+
+gl_UNIFORM_OFFSET :: GLenum
+gl_UNIFORM_OFFSET = 0x8A3B
+
+gl_UNIFORM_ARRAY_STRIDE :: GLenum
+gl_UNIFORM_ARRAY_STRIDE = 0x8A3C
+
+gl_UNIFORM_MATRIX_STRIDE :: GLenum
+gl_UNIFORM_MATRIX_STRIDE = 0x8A3D
+
+gl_UNIFORM_IS_ROW_MAJOR :: GLenum
+gl_UNIFORM_IS_ROW_MAJOR = 0x8A3E
+
+gl_UNIFORM_BLOCK_BINDING :: GLenum
+gl_UNIFORM_BLOCK_BINDING = 0x8A3F
+
+gl_UNIFORM_BLOCK_DATA_SIZE :: GLenum
+gl_UNIFORM_BLOCK_DATA_SIZE = 0x8A40
+
+gl_UNIFORM_BLOCK_NAME_LENGTH :: GLenum
+gl_UNIFORM_BLOCK_NAME_LENGTH = 0x8A41
+
+gl_UNIFORM_BLOCK_ACTIVE_UNIFORMS :: GLenum
+gl_UNIFORM_BLOCK_ACTIVE_UNIFORMS = 0x8A42
+
+gl_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES :: GLenum
+gl_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = 0x8A43
+
+gl_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER :: GLenum
+gl_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = 0x8A44
+
+gl_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER :: GLenum
+gl_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER = 0x8A45
+
+gl_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER :: GLenum
+gl_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = 0x8A46
+
+gl_INVALID_INDEX :: GLenum
+gl_INVALID_INDEX = 0xFFFFFFFF
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexArrayObject.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexArrayObject.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexArrayObject.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexArrayObject.hs
@@ -1,26 +1,26 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.VertexArrayObject
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the ARB_vertex_array_object extension, see
--- <http://www.opengl.org/registry/specs/ARB/vertex_array_object.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.VertexArrayObject (
-   -- * Functions
-   glBindVertexArray,
-   glDeleteVertexArrays,
-   glGenVertexArrays,
-   glIsVertexArray,
-   -- * Tokens
-   gl_VERTEX_ARRAY_BINDING
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core32
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.VertexArrayObject
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the ARB_vertex_array_object extension, see
+-- <http://www.opengl.org/registry/specs/ARB/vertex_array_object.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.VertexArrayObject (
+   -- * Functions
+   glBindVertexArray,
+   glDeleteVertexArrays,
+   glGenVertexArrays,
+   glIsVertexArray,
+   -- * Tokens
+   gl_VERTEX_ARRAY_BINDING
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexAttrib64Bit.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexAttrib64Bit.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexAttrib64Bit.hs
@@ -0,0 +1,69 @@
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.VertexAttrib64Bit
+-- Copyright   :  (c) Sven Panne 2014
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the ARB_vertex_attrib_64bit extension, see
+-- <http://www.opengl.org/registry/specs/ARB/vertex_attrib_64bit.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.VertexAttrib64Bit (
+   -- * Functions
+   glVertexAttribL1d,
+   glVertexAttribL2d,
+   glVertexAttribL3d,
+   glVertexAttribL4d,
+   glVertexAttribL1dv,
+   glVertexAttribL2dv,
+   glVertexAttribL3dv,
+   glVertexAttribL4dv,
+   glVertexAttribLPointer,
+   glGetVertexAttribLdv,
+
+   -- * Tokens
+   gl_RGB32I,
+   gl_DOUBLE_VEC2,
+   gl_DOUBLE_VEC3,
+   gl_DOUBLE_VEC4,
+   gl_DOUBLE_MAT2,
+   gl_DOUBLE_MAT3,
+   gl_DOUBLE_MAT4,
+   gl_DOUBLE_MAT2x3,
+   gl_DOUBLE_MAT2x4,
+   gl_DOUBLE_MAT3x2,
+   gl_DOUBLE_MAT3x4,
+   gl_DOUBLE_MAT4x2,
+   gl_DOUBLE_MAT4x3
+) where
+
+import Foreign.C.Types
+import Foreign.Ptr
+import Graphics.Rendering.OpenGL.Raw.ARB.GPUShaderFP64
+import Graphics.Rendering.OpenGL.Raw.Core31.Tokens
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+import Graphics.Rendering.OpenGL.Raw.Extensions
+
+--------------------------------------------------------------------------------
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_ARB_vertex_attrib_64bit"
+
+EXTENSION_ENTRY(dyn_glVertexAttribL1d,ptr_glVertexAttribL1d,"glVertexAttribL1d",glVertexAttribL1d,GLuint -> GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttribL2d,ptr_glVertexAttribL2d,"glVertexAttribL2d",glVertexAttribL2d,GLuint -> GLdouble -> GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttribL3d,ptr_glVertexAttribL3d,"glVertexAttribL3d",glVertexAttribL3d,GLuint -> GLdouble -> GLdouble -> GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttribL4d,ptr_glVertexAttribL4d,"glVertexAttribL4d",glVertexAttribL4d,GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttribL1dv,ptr_glVertexAttribL1dv,"glVertexAttribL1dv",glVertexAttribL1dv,GLuint -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttribL2dv,ptr_glVertexAttribL2dv,"glVertexAttribL2dv",glVertexAttribL2dv,GLuint -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttribL3dv,ptr_glVertexAttribL3dv,"glVertexAttribL3dv",glVertexAttribL3dv,GLuint -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttribL4dv,ptr_glVertexAttribL4dv,"glVertexAttribL4dv",glVertexAttribL4dv,GLuint -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttribLPointer,ptr_glVertexAttribLPointer,"glVertexAttribLPointer",glVertexAttribLPointer,GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glGetVertexAttribLdv,ptr_glGetVertexAttribLdv,"glGetVertexAttribLdv",glGetVertexAttribLdv,GLuint -> GLenum -> Ptr GLdouble -> IO ())
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexBlend.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexBlend.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexBlend.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexBlend.hs
@@ -1,219 +1,219 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.VertexBlend
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the ARB_vertex_blend extension, see
--- <http://www.opengl.org/registry/specs/ARB/vertex_blend.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.VertexBlend (
-   -- * Functions
-   glWeightbv,
-   glWeightsv,
-   glWeightiv,
-   glWeightfv,
-   glWeightdv,
-   glWeightubv,
-   glWeightusv,
-   glWeightuiv,
-   glWeightPointer,
-   glVertexBlend,
-   -- * Tokens
-   gl_MAX_VERTEX_UNITS,
-   gl_ACTIVE_VERTEX_UNITS,
-   gl_WEIGHT_SUM_UNITY,
-   gl_VERTEX_BLEND,
-   gl_MODELVIEW0,
-   gl_MODELVIEW1,
-   gl_MODELVIEW2,
-   gl_MODELVIEW3,
-   gl_MODELVIEW4,
-   gl_MODELVIEW5,
-   gl_MODELVIEW6,
-   gl_MODELVIEW7,
-   gl_MODELVIEW8,
-   gl_MODELVIEW9,
-   gl_MODELVIEW10,
-   gl_MODELVIEW11,
-   gl_MODELVIEW12,
-   gl_MODELVIEW13,
-   gl_MODELVIEW14,
-   gl_MODELVIEW15,
-   gl_MODELVIEW16,
-   gl_MODELVIEW17,
-   gl_MODELVIEW18,
-   gl_MODELVIEW19,
-   gl_MODELVIEW20,
-   gl_MODELVIEW21,
-   gl_MODELVIEW22,
-   gl_MODELVIEW23,
-   gl_MODELVIEW24,
-   gl_MODELVIEW25,
-   gl_MODELVIEW26,
-   gl_MODELVIEW27,
-   gl_MODELVIEW28,
-   gl_MODELVIEW29,
-   gl_MODELVIEW30,
-   gl_MODELVIEW31,
-   gl_CURRENT_WEIGHT,
-   gl_WEIGHT_ARRAY_TYPE,
-   gl_WEIGHT_ARRAY_STRIDE,
-   gl_WEIGHT_ARRAY_SIZE,
-   gl_WEIGHT_ARRAY_POINTER,
-   gl_WEIGHT_ARRAY
-) where
-
-import Foreign.Ptr
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core32
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_ARB_vertex_blend"
-
-EXTENSION_ENTRY(glWeightbv,GLint -> Ptr GLbyte -> IO ())
-EXTENSION_ENTRY(glWeightsv,GLint -> Ptr GLshort -> IO ())
-EXTENSION_ENTRY(glWeightiv,GLint -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glWeightfv,GLint -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glWeightdv,GLint -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glWeightubv,GLint -> Ptr GLubyte -> IO ())
-EXTENSION_ENTRY(glWeightusv,GLint -> Ptr GLushort -> IO ())
-EXTENSION_ENTRY(glWeightuiv,GLint -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glWeightPointer,GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(glVertexBlend,GLint -> IO ())
-
-gl_MAX_VERTEX_UNITS :: GLenum
-gl_MAX_VERTEX_UNITS = 0x86A4
-
-gl_ACTIVE_VERTEX_UNITS :: GLenum
-gl_ACTIVE_VERTEX_UNITS = 0x86A5
-
-gl_WEIGHT_SUM_UNITY :: GLenum
-gl_WEIGHT_SUM_UNITY = 0x86A6
-
-gl_VERTEX_BLEND :: GLenum
-gl_VERTEX_BLEND = 0x86A7
-
-gl_MODELVIEW0 :: GLenum
-gl_MODELVIEW0 = 0x1700
-
-gl_MODELVIEW1 :: GLenum
-gl_MODELVIEW1 = 0x850a
-
-gl_MODELVIEW2 :: GLenum
-gl_MODELVIEW2 = 0x8722
-
-gl_MODELVIEW3 :: GLenum
-gl_MODELVIEW3 = 0x8723
-
-gl_MODELVIEW4 :: GLenum
-gl_MODELVIEW4 = 0x8724
-
-gl_MODELVIEW5 :: GLenum
-gl_MODELVIEW5 = 0x8725
-
-gl_MODELVIEW6 :: GLenum
-gl_MODELVIEW6 = 0x8726
-
-gl_MODELVIEW7 :: GLenum
-gl_MODELVIEW7 = 0x8727
-
-gl_MODELVIEW8 :: GLenum
-gl_MODELVIEW8 = 0x8728
-
-gl_MODELVIEW9 :: GLenum
-gl_MODELVIEW9 = 0x8729
-
-gl_MODELVIEW10 :: GLenum
-gl_MODELVIEW10 = 0x872A
-
-gl_MODELVIEW11 :: GLenum
-gl_MODELVIEW11 = 0x872B
-
-gl_MODELVIEW12 :: GLenum
-gl_MODELVIEW12 = 0x872C
-
-gl_MODELVIEW13 :: GLenum
-gl_MODELVIEW13 = 0x872D
-
-gl_MODELVIEW14 :: GLenum
-gl_MODELVIEW14 = 0x872E
-
-gl_MODELVIEW15 :: GLenum
-gl_MODELVIEW15 = 0x872F
-
-gl_MODELVIEW16 :: GLenum
-gl_MODELVIEW16 = 0x8730
-
-gl_MODELVIEW17 :: GLenum
-gl_MODELVIEW17 = 0x8731
-
-gl_MODELVIEW18 :: GLenum
-gl_MODELVIEW18 = 0x8732
-
-gl_MODELVIEW19 :: GLenum
-gl_MODELVIEW19 = 0x8733
-
-gl_MODELVIEW20 :: GLenum
-gl_MODELVIEW20 = 0x8734
-
-gl_MODELVIEW21 :: GLenum
-gl_MODELVIEW21 = 0x8735
-
-gl_MODELVIEW22 :: GLenum
-gl_MODELVIEW22 = 0x8736
-
-gl_MODELVIEW23 :: GLenum
-gl_MODELVIEW23 = 0x8737
-
-gl_MODELVIEW24 :: GLenum
-gl_MODELVIEW24 = 0x8738
-
-gl_MODELVIEW25 :: GLenum
-gl_MODELVIEW25 = 0x8739
-
-gl_MODELVIEW26 :: GLenum
-gl_MODELVIEW26 = 0x873A
-
-gl_MODELVIEW27 :: GLenum
-gl_MODELVIEW27 = 0x873B
-
-gl_MODELVIEW28 :: GLenum
-gl_MODELVIEW28 = 0x873C
-
-gl_MODELVIEW29 :: GLenum
-gl_MODELVIEW29 = 0x873D
-
-gl_MODELVIEW30 :: GLenum
-gl_MODELVIEW30 = 0x873E
-
-gl_MODELVIEW31 :: GLenum
-gl_MODELVIEW31 = 0x873F
-
-gl_CURRENT_WEIGHT :: GLenum
-gl_CURRENT_WEIGHT = 0x86A8
-
-gl_WEIGHT_ARRAY_TYPE :: GLenum
-gl_WEIGHT_ARRAY_TYPE = 0x86A9
-
-gl_WEIGHT_ARRAY_STRIDE :: GLenum
-gl_WEIGHT_ARRAY_STRIDE = 0x86AA
-
-gl_WEIGHT_ARRAY_SIZE :: GLenum
-gl_WEIGHT_ARRAY_SIZE = 0x86AB
-
-gl_WEIGHT_ARRAY_POINTER :: GLenum
-gl_WEIGHT_ARRAY_POINTER = 0x86AC
-
-gl_WEIGHT_ARRAY :: GLenum
-gl_WEIGHT_ARRAY = 0x86AD
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.VertexBlend
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the ARB_vertex_blend extension, see
+-- <http://www.opengl.org/registry/specs/ARB/vertex_blend.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.VertexBlend (
+   -- * Functions
+   glWeightbv,
+   glWeightsv,
+   glWeightiv,
+   glWeightfv,
+   glWeightdv,
+   glWeightubv,
+   glWeightusv,
+   glWeightuiv,
+   glWeightPointer,
+   glVertexBlend,
+   -- * Tokens
+   gl_MAX_VERTEX_UNITS,
+   gl_ACTIVE_VERTEX_UNITS,
+   gl_WEIGHT_SUM_UNITY,
+   gl_VERTEX_BLEND,
+   gl_MODELVIEW0,
+   gl_MODELVIEW1,
+   gl_MODELVIEW2,
+   gl_MODELVIEW3,
+   gl_MODELVIEW4,
+   gl_MODELVIEW5,
+   gl_MODELVIEW6,
+   gl_MODELVIEW7,
+   gl_MODELVIEW8,
+   gl_MODELVIEW9,
+   gl_MODELVIEW10,
+   gl_MODELVIEW11,
+   gl_MODELVIEW12,
+   gl_MODELVIEW13,
+   gl_MODELVIEW14,
+   gl_MODELVIEW15,
+   gl_MODELVIEW16,
+   gl_MODELVIEW17,
+   gl_MODELVIEW18,
+   gl_MODELVIEW19,
+   gl_MODELVIEW20,
+   gl_MODELVIEW21,
+   gl_MODELVIEW22,
+   gl_MODELVIEW23,
+   gl_MODELVIEW24,
+   gl_MODELVIEW25,
+   gl_MODELVIEW26,
+   gl_MODELVIEW27,
+   gl_MODELVIEW28,
+   gl_MODELVIEW29,
+   gl_MODELVIEW30,
+   gl_MODELVIEW31,
+   gl_CURRENT_WEIGHT,
+   gl_WEIGHT_ARRAY_TYPE,
+   gl_WEIGHT_ARRAY_STRIDE,
+   gl_WEIGHT_ARRAY_SIZE,
+   gl_WEIGHT_ARRAY_POINTER,
+   gl_WEIGHT_ARRAY
+) where
+
+import Foreign.Ptr
+import Foreign.C.Types
+import Graphics.Rendering.OpenGL.Raw.Core32
+import Graphics.Rendering.OpenGL.Raw.Extensions
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_ARB_vertex_blend"
+
+EXTENSION_ENTRY(dyn_glWeightbv,ptr_glWeightbv,"glWeightbv",glWeightbv,GLint -> Ptr GLbyte -> IO ())
+EXTENSION_ENTRY(dyn_glWeightsv,ptr_glWeightsv,"glWeightsv",glWeightsv,GLint -> Ptr GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glWeightiv,ptr_glWeightiv,"glWeightiv",glWeightiv,GLint -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glWeightfv,ptr_glWeightfv,"glWeightfv",glWeightfv,GLint -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glWeightdv,ptr_glWeightdv,"glWeightdv",glWeightdv,GLint -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glWeightubv,ptr_glWeightubv,"glWeightubv",glWeightubv,GLint -> Ptr GLubyte -> IO ())
+EXTENSION_ENTRY(dyn_glWeightusv,ptr_glWeightusv,"glWeightusv",glWeightusv,GLint -> Ptr GLushort -> IO ())
+EXTENSION_ENTRY(dyn_glWeightuiv,ptr_glWeightuiv,"glWeightuiv",glWeightuiv,GLint -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glWeightPointer,ptr_glWeightPointer,"glWeightPointer",glWeightPointer,GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glVertexBlend,ptr_glVertexBlend,"glVertexBlend",glVertexBlend,GLint -> IO ())
+
+gl_MAX_VERTEX_UNITS :: GLenum
+gl_MAX_VERTEX_UNITS = 0x86A4
+
+gl_ACTIVE_VERTEX_UNITS :: GLenum
+gl_ACTIVE_VERTEX_UNITS = 0x86A5
+
+gl_WEIGHT_SUM_UNITY :: GLenum
+gl_WEIGHT_SUM_UNITY = 0x86A6
+
+gl_VERTEX_BLEND :: GLenum
+gl_VERTEX_BLEND = 0x86A7
+
+gl_MODELVIEW0 :: GLenum
+gl_MODELVIEW0 = 0x1700
+
+gl_MODELVIEW1 :: GLenum
+gl_MODELVIEW1 = 0x850a
+
+gl_MODELVIEW2 :: GLenum
+gl_MODELVIEW2 = 0x8722
+
+gl_MODELVIEW3 :: GLenum
+gl_MODELVIEW3 = 0x8723
+
+gl_MODELVIEW4 :: GLenum
+gl_MODELVIEW4 = 0x8724
+
+gl_MODELVIEW5 :: GLenum
+gl_MODELVIEW5 = 0x8725
+
+gl_MODELVIEW6 :: GLenum
+gl_MODELVIEW6 = 0x8726
+
+gl_MODELVIEW7 :: GLenum
+gl_MODELVIEW7 = 0x8727
+
+gl_MODELVIEW8 :: GLenum
+gl_MODELVIEW8 = 0x8728
+
+gl_MODELVIEW9 :: GLenum
+gl_MODELVIEW9 = 0x8729
+
+gl_MODELVIEW10 :: GLenum
+gl_MODELVIEW10 = 0x872A
+
+gl_MODELVIEW11 :: GLenum
+gl_MODELVIEW11 = 0x872B
+
+gl_MODELVIEW12 :: GLenum
+gl_MODELVIEW12 = 0x872C
+
+gl_MODELVIEW13 :: GLenum
+gl_MODELVIEW13 = 0x872D
+
+gl_MODELVIEW14 :: GLenum
+gl_MODELVIEW14 = 0x872E
+
+gl_MODELVIEW15 :: GLenum
+gl_MODELVIEW15 = 0x872F
+
+gl_MODELVIEW16 :: GLenum
+gl_MODELVIEW16 = 0x8730
+
+gl_MODELVIEW17 :: GLenum
+gl_MODELVIEW17 = 0x8731
+
+gl_MODELVIEW18 :: GLenum
+gl_MODELVIEW18 = 0x8732
+
+gl_MODELVIEW19 :: GLenum
+gl_MODELVIEW19 = 0x8733
+
+gl_MODELVIEW20 :: GLenum
+gl_MODELVIEW20 = 0x8734
+
+gl_MODELVIEW21 :: GLenum
+gl_MODELVIEW21 = 0x8735
+
+gl_MODELVIEW22 :: GLenum
+gl_MODELVIEW22 = 0x8736
+
+gl_MODELVIEW23 :: GLenum
+gl_MODELVIEW23 = 0x8737
+
+gl_MODELVIEW24 :: GLenum
+gl_MODELVIEW24 = 0x8738
+
+gl_MODELVIEW25 :: GLenum
+gl_MODELVIEW25 = 0x8739
+
+gl_MODELVIEW26 :: GLenum
+gl_MODELVIEW26 = 0x873A
+
+gl_MODELVIEW27 :: GLenum
+gl_MODELVIEW27 = 0x873B
+
+gl_MODELVIEW28 :: GLenum
+gl_MODELVIEW28 = 0x873C
+
+gl_MODELVIEW29 :: GLenum
+gl_MODELVIEW29 = 0x873D
+
+gl_MODELVIEW30 :: GLenum
+gl_MODELVIEW30 = 0x873E
+
+gl_MODELVIEW31 :: GLenum
+gl_MODELVIEW31 = 0x873F
+
+gl_CURRENT_WEIGHT :: GLenum
+gl_CURRENT_WEIGHT = 0x86A8
+
+gl_WEIGHT_ARRAY_TYPE :: GLenum
+gl_WEIGHT_ARRAY_TYPE = 0x86A9
+
+gl_WEIGHT_ARRAY_STRIDE :: GLenum
+gl_WEIGHT_ARRAY_STRIDE = 0x86AA
+
+gl_WEIGHT_ARRAY_SIZE :: GLenum
+gl_WEIGHT_ARRAY_SIZE = 0x86AB
+
+gl_WEIGHT_ARRAY_POINTER :: GLenum
+gl_WEIGHT_ARRAY_POINTER = 0x86AC
+
+gl_WEIGHT_ARRAY :: GLenum
+gl_WEIGHT_ARRAY = 0x86AD
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexBufferObject.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexBufferObject.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexBufferObject.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexBufferObject.hs
@@ -1,64 +1,64 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.VertexBufferObject
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the ARB_vertex_buffer_object extension, see
--- <http://www.opengl.org/registry/specs/ARB/vertex_buffer_object.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.VertexBufferObject (
-   -- * Functions
-   glBindBuffer,
-   glDeleteBuffers,
-   glGenBuffers,
-   glIsBuffer,
-   glBufferData,
-   glBufferSubData,
-   glGetBufferSubData,
-   glMapBuffer,
-   glUnmapBuffer,
-   glGetBufferParameteriv,
-   glGetBufferPointerv,
-   -- * Tokens
-   gl_ARRAY_BUFFER,
-   gl_ELEMENT_ARRAY_BUFFER,
-   gl_ARRAY_BUFFER_BINDING,
-   gl_ELEMENT_ARRAY_BUFFER_BINDING,
-   gl_VERTEX_ARRAY_BUFFER_BINDING,
-   gl_NORMAL_ARRAY_BUFFER_BINDING,
-   gl_COLOR_ARRAY_BUFFER_BINDING,
-   gl_INDEX_ARRAY_BUFFER_BINDING,
-   gl_TEXTURE_COORD_ARRAY_BUFFER_BINDING,
-   gl_EDGE_FLAG_ARRAY_BUFFER_BINDING,
-   gl_SECONDARY_COLOR_ARRAY_BUFFER_BINDING,
-   gl_FOG_COORDINATE_ARRAY_BUFFER_BINDING,
-   gl_WEIGHT_ARRAY_BUFFER_BINDING,
-   gl_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING,
-   gl_STREAM_DRAW,
-   gl_STREAM_READ,
-   gl_STREAM_COPY,
-   gl_STATIC_DRAW,
-   gl_STATIC_READ,
-   gl_STATIC_COPY,
-   gl_DYNAMIC_DRAW,
-   gl_DYNAMIC_READ,
-   gl_DYNAMIC_COPY,
-   gl_READ_ONLY,
-   gl_WRITE_ONLY,
-   gl_READ_WRITE,
-   gl_BUFFER_SIZE,
-   gl_BUFFER_USAGE,
-   gl_BUFFER_ACCESS,
-   gl_BUFFER_MAPPED,
-   gl_BUFFER_MAP_POINTER
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
-import Graphics.Rendering.OpenGL.Raw.Core32
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.VertexBufferObject
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the ARB_vertex_buffer_object extension, see
+-- <http://www.opengl.org/registry/specs/ARB/vertex_buffer_object.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.VertexBufferObject (
+   -- * Functions
+   glBindBuffer,
+   glDeleteBuffers,
+   glGenBuffers,
+   glIsBuffer,
+   glBufferData,
+   glBufferSubData,
+   glGetBufferSubData,
+   glMapBuffer,
+   glUnmapBuffer,
+   glGetBufferParameteriv,
+   glGetBufferPointerv,
+   -- * Tokens
+   gl_ARRAY_BUFFER,
+   gl_ELEMENT_ARRAY_BUFFER,
+   gl_ARRAY_BUFFER_BINDING,
+   gl_ELEMENT_ARRAY_BUFFER_BINDING,
+   gl_VERTEX_ARRAY_BUFFER_BINDING,
+   gl_NORMAL_ARRAY_BUFFER_BINDING,
+   gl_COLOR_ARRAY_BUFFER_BINDING,
+   gl_INDEX_ARRAY_BUFFER_BINDING,
+   gl_TEXTURE_COORD_ARRAY_BUFFER_BINDING,
+   gl_EDGE_FLAG_ARRAY_BUFFER_BINDING,
+   gl_SECONDARY_COLOR_ARRAY_BUFFER_BINDING,
+   gl_FOG_COORDINATE_ARRAY_BUFFER_BINDING,
+   gl_WEIGHT_ARRAY_BUFFER_BINDING,
+   gl_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING,
+   gl_STREAM_DRAW,
+   gl_STREAM_READ,
+   gl_STREAM_COPY,
+   gl_STATIC_DRAW,
+   gl_STATIC_READ,
+   gl_STATIC_COPY,
+   gl_DYNAMIC_DRAW,
+   gl_DYNAMIC_READ,
+   gl_DYNAMIC_COPY,
+   gl_READ_ONLY,
+   gl_WRITE_ONLY,
+   gl_READ_WRITE,
+   gl_BUFFER_SIZE,
+   gl_BUFFER_USAGE,
+   gl_BUFFER_ACCESS,
+   gl_BUFFER_MAPPED,
+   gl_BUFFER_MAP_POINTER
+) where
+
+import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
+import Graphics.Rendering.OpenGL.Raw.Core32
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexProgram.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexProgram.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexProgram.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexProgram.hs
@@ -1,394 +1,394 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.VertexProgram
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the ARB_vertex_program extension, see
--- <http://www.opengl.org/registry/specs/ARB/vertex_program.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.VertexProgram (
-   -- * Functions
-   glVertexAttrib1s,
-   glVertexAttrib1f,
-   glVertexAttrib1d,
-   glVertexAttrib2s,
-   glVertexAttrib2f,
-   glVertexAttrib2d,
-   glVertexAttrib3s,
-   glVertexAttrib3f,
-   glVertexAttrib3d,
-   glVertexAttrib4s,
-   glVertexAttrib4f,
-   glVertexAttrib4d,
-   glVertexAttrib4Nub,
-   glVertexAttrib1sv,
-   glVertexAttrib1fv,
-   glVertexAttrib1dv,
-   glVertexAttrib2sv,
-   glVertexAttrib2fv,
-   glVertexAttrib2dv,
-   glVertexAttrib3sv,
-   glVertexAttrib3fv,
-   glVertexAttrib3dv,
-   glVertexAttrib4bv,
-   glVertexAttrib4sv,
-   glVertexAttrib4iv,
-   glVertexAttrib4ubv,
-   glVertexAttrib4usv,
-   glVertexAttrib4uiv,
-   glVertexAttrib4fv,
-   glVertexAttrib4dv,
-   glVertexAttrib4Nbv,
-   glVertexAttrib4Nsv,
-   glVertexAttrib4Niv,
-   glVertexAttrib4Nubv,
-   glVertexAttrib4Nusv,
-   glVertexAttrib4Nuiv,
-   glVertexAttribPointer,
-   glEnableVertexAttribArray,
-   glDisableVertexAttribArray,
-   glProgramString,
-   glBindProgram,
-   glDeletePrograms,
-   glGenPrograms,
-   glProgramEnvParameter4d,
-   glProgramEnvParameter4dv,
-   glProgramEnvParameter4f,
-   glProgramEnvParameter4fv,
-   glProgramLocalParameter4d,
-   glProgramLocalParameter4dv,
-   glProgramLocalParameter4f,
-   glProgramLocalParameter4fv,
-   glGetProgramEnvParameterdv,
-   glGetProgramEnvParameterfv,
-   glGetProgramLocalParameterdv,
-   glGetProgramLocalParameterfv,
-   glGetProgramiv,
-   glGetProgramString,
-   glGetVertexAttribdv,
-   glGetVertexAttribfv,
-   glGetVertexAttribiv,
-   glGetVertexAttribPointerv,
-   glIsProgram,
-   -- * Tokens
-   gl_VERTEX_PROGRAM,
-   gl_VERTEX_PROGRAM_POINT_SIZE,
-   gl_VERTEX_PROGRAM_TWO_SIDE,
-   gl_COLOR_SUM,
-   gl_PROGRAM_FORMAT_ASCII,
-   gl_VERTEX_ATTRIB_ARRAY_ENABLED,
-   gl_VERTEX_ATTRIB_ARRAY_SIZE,
-   gl_VERTEX_ATTRIB_ARRAY_STRIDE,
-   gl_VERTEX_ATTRIB_ARRAY_TYPE,
-   gl_VERTEX_ATTRIB_ARRAY_NORMALIZED,
-   gl_CURRENT_VERTEX_ATTRIB,
-   gl_VERTEX_ATTRIB_ARRAY_POINTER,
-   gl_PROGRAM_LENGTH,
-   gl_PROGRAM_FORMAT,
-   gl_PROGRAM_BINDING,
-   gl_PROGRAM_INSTRUCTIONS,
-   gl_MAX_PROGRAM_INSTRUCTIONS,
-   gl_PROGRAM_NATIVE_INSTRUCTIONS,
-   gl_MAX_PROGRAM_NATIVE_INSTRUCTIONS,
-   gl_PROGRAM_TEMPORARIES,
-   gl_MAX_PROGRAM_TEMPORARIES,
-   gl_PROGRAM_NATIVE_TEMPORARIES,
-   gl_MAX_PROGRAM_NATIVE_TEMPORARIES,
-   gl_PROGRAM_PARAMETERS,
-   gl_MAX_PROGRAM_PARAMETERS,
-   gl_PROGRAM_NATIVE_PARAMETERS,
-   gl_MAX_PROGRAM_NATIVE_PARAMETERS,
-   gl_PROGRAM_ATTRIBS,
-   gl_MAX_PROGRAM_ATTRIBS,
-   gl_PROGRAM_NATIVE_ATTRIBS,
-   gl_MAX_PROGRAM_NATIVE_ATTRIBS,
-   gl_PROGRAM_ADDRESS_REGISTERS,
-   gl_MAX_PROGRAM_ADDRESS_REGISTERS,
-   gl_PROGRAM_NATIVE_ADDRESS_REGISTERS,
-   gl_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS,
-   gl_MAX_PROGRAM_LOCAL_PARAMETERS,
-   gl_MAX_PROGRAM_ENV_PARAMETERS,
-   gl_PROGRAM_UNDER_NATIVE_LIMITS,
-   gl_PROGRAM_STRING,
-   gl_PROGRAM_ERROR_POSITION,
-   gl_CURRENT_MATRIX,
-   gl_TRANSPOSE_CURRENT_MATRIX,
-   gl_CURRENT_MATRIX_STACK_DEPTH,
-   gl_MAX_VERTEX_ATTRIBS,
-   gl_MAX_PROGRAM_MATRICES,
-   gl_MAX_PROGRAM_MATRIX_STACK_DEPTH,
-   gl_PROGRAM_ERROR_STRING,
-   gl_MATRIX0,
-   gl_MATRIX1,
-   gl_MATRIX2,
-   gl_MATRIX3,
-   gl_MATRIX4,
-   gl_MATRIX5,
-   gl_MATRIX6,
-   gl_MATRIX7,
-   gl_MATRIX8,
-   gl_MATRIX9,
-   gl_MATRIX10,
-   gl_MATRIX11,
-   gl_MATRIX12,
-   gl_MATRIX13,
-   gl_MATRIX14,
-   gl_MATRIX15,
-   gl_MATRIX16,
-   gl_MATRIX17,
-   gl_MATRIX18,
-   gl_MATRIX19,
-   gl_MATRIX20,
-   gl_MATRIX21,
-   gl_MATRIX22,
-   gl_MATRIX23,
-   gl_MATRIX24,
-   gl_MATRIX25,
-   gl_MATRIX26,
-   gl_MATRIX27,
-   gl_MATRIX28,
-   gl_MATRIX29,
-   gl_MATRIX30,
-   gl_MATRIX31
-) where
-
-import Foreign.Ptr
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
-import Graphics.Rendering.OpenGL.Raw.Core32
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_ARB_vertex_program"
-
-EXTENSION_ENTRY(glProgramString,GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(glBindProgram,GLenum -> GLuint -> IO ())
-EXTENSION_ENTRY(glDeletePrograms,GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glGenPrograms,GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glProgramEnvParameter4d,GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble  -> IO ())
-EXTENSION_ENTRY(glProgramEnvParameter4dv,GLenum -> GLuint -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glProgramEnvParameter4f,GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat  -> IO ())
-EXTENSION_ENTRY(glProgramEnvParameter4fv,GLenum -> GLuint -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glProgramLocalParameter4d,GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble  -> IO ())
-EXTENSION_ENTRY(glProgramLocalParameter4dv,GLenum -> GLuint -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glProgramLocalParameter4f,GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat  -> IO ())
-EXTENSION_ENTRY(glProgramLocalParameter4fv,GLenum -> GLuint -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glGetProgramEnvParameterdv,GLenum -> GLuint -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glGetProgramEnvParameterfv,GLenum -> GLuint -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glGetProgramLocalParameterdv,GLenum -> GLuint -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glGetProgramLocalParameterfv,GLenum -> GLuint -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glGetProgramString,GLenum -> GLenum -> Ptr a -> IO ())
-
-gl_VERTEX_PROGRAM :: GLenum
-gl_VERTEX_PROGRAM = 0x8620
-
-gl_PROGRAM_FORMAT_ASCII :: GLenum
-gl_PROGRAM_FORMAT_ASCII = 0x8875
-
-gl_PROGRAM_LENGTH :: GLenum
-gl_PROGRAM_LENGTH = 0x8627
-
-gl_PROGRAM_FORMAT :: GLenum
-gl_PROGRAM_FORMAT = 0x8876
-
-gl_PROGRAM_BINDING :: GLenum
-gl_PROGRAM_BINDING = 0x8677
-
-gl_PROGRAM_INSTRUCTIONS :: GLenum
-gl_PROGRAM_INSTRUCTIONS = 0x88A0
-
-gl_MAX_PROGRAM_INSTRUCTIONS :: GLenum
-gl_MAX_PROGRAM_INSTRUCTIONS = 0x88A1
-
-gl_PROGRAM_NATIVE_INSTRUCTIONS :: GLenum
-gl_PROGRAM_NATIVE_INSTRUCTIONS = 0x88A2
-
-gl_MAX_PROGRAM_NATIVE_INSTRUCTIONS :: GLenum
-gl_MAX_PROGRAM_NATIVE_INSTRUCTIONS = 0x88A3
-
-gl_PROGRAM_TEMPORARIES :: GLenum
-gl_PROGRAM_TEMPORARIES = 0x88A4
-
-gl_MAX_PROGRAM_TEMPORARIES :: GLenum
-gl_MAX_PROGRAM_TEMPORARIES = 0x88A5
-
-gl_PROGRAM_NATIVE_TEMPORARIES :: GLenum
-gl_PROGRAM_NATIVE_TEMPORARIES = 0x88A6
-
-gl_MAX_PROGRAM_NATIVE_TEMPORARIES :: GLenum
-gl_MAX_PROGRAM_NATIVE_TEMPORARIES = 0x88A7
-
-gl_PROGRAM_PARAMETERS :: GLenum
-gl_PROGRAM_PARAMETERS = 0x88A8
-
-gl_MAX_PROGRAM_PARAMETERS :: GLenum
-gl_MAX_PROGRAM_PARAMETERS = 0x88A9
-
-gl_PROGRAM_NATIVE_PARAMETERS :: GLenum
-gl_PROGRAM_NATIVE_PARAMETERS = 0x88AA
-
-gl_MAX_PROGRAM_NATIVE_PARAMETERS :: GLenum
-gl_MAX_PROGRAM_NATIVE_PARAMETERS = 0x88AB
-
-gl_PROGRAM_ATTRIBS :: GLenum
-gl_PROGRAM_ATTRIBS = 0x88AC
-
-gl_MAX_PROGRAM_ATTRIBS :: GLenum
-gl_MAX_PROGRAM_ATTRIBS = 0x88AD
-
-gl_PROGRAM_NATIVE_ATTRIBS :: GLenum
-gl_PROGRAM_NATIVE_ATTRIBS = 0x88AE
-
-gl_MAX_PROGRAM_NATIVE_ATTRIBS :: GLenum
-gl_MAX_PROGRAM_NATIVE_ATTRIBS = 0x88AF
-
-gl_PROGRAM_ADDRESS_REGISTERS :: GLenum
-gl_PROGRAM_ADDRESS_REGISTERS = 0x88B0
-
-gl_MAX_PROGRAM_ADDRESS_REGISTERS :: GLenum
-gl_MAX_PROGRAM_ADDRESS_REGISTERS = 0x88B1
-
-gl_PROGRAM_NATIVE_ADDRESS_REGISTERS :: GLenum
-gl_PROGRAM_NATIVE_ADDRESS_REGISTERS = 0x88B2
-
-gl_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS :: GLenum
-gl_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS = 0x88B3
-
-gl_MAX_PROGRAM_LOCAL_PARAMETERS :: GLenum
-gl_MAX_PROGRAM_LOCAL_PARAMETERS = 0x88B4
-
-gl_MAX_PROGRAM_ENV_PARAMETERS :: GLenum
-gl_MAX_PROGRAM_ENV_PARAMETERS = 0x88B5
-
-gl_PROGRAM_UNDER_NATIVE_LIMITS :: GLenum
-gl_PROGRAM_UNDER_NATIVE_LIMITS = 0x88B6
-
-gl_PROGRAM_STRING :: GLenum
-gl_PROGRAM_STRING = 0x8628
-
-gl_PROGRAM_ERROR_POSITION :: GLenum
-gl_PROGRAM_ERROR_POSITION = 0x864B
-
-gl_CURRENT_MATRIX :: GLenum
-gl_CURRENT_MATRIX = 0x8641
-
-gl_TRANSPOSE_CURRENT_MATRIX :: GLenum
-gl_TRANSPOSE_CURRENT_MATRIX = 0x88B7
-
-gl_CURRENT_MATRIX_STACK_DEPTH :: GLenum
-gl_CURRENT_MATRIX_STACK_DEPTH = 0x8640
-
-gl_MAX_PROGRAM_MATRICES :: GLenum
-gl_MAX_PROGRAM_MATRICES = 0x862F
-
-gl_MAX_PROGRAM_MATRIX_STACK_DEPTH :: GLenum
-gl_MAX_PROGRAM_MATRIX_STACK_DEPTH = 0x862E
-
-gl_PROGRAM_ERROR_STRING :: GLenum
-gl_PROGRAM_ERROR_STRING = 0x8874
-
-gl_MATRIX0 :: GLenum
-gl_MATRIX0 = 0x88C0
-
-gl_MATRIX1 :: GLenum
-gl_MATRIX1 = 0x88C1
-
-gl_MATRIX2 :: GLenum
-gl_MATRIX2 = 0x88C2
-
-gl_MATRIX3 :: GLenum
-gl_MATRIX3 = 0x88C3
-
-gl_MATRIX4 :: GLenum
-gl_MATRIX4 = 0x88C4
-
-gl_MATRIX5 :: GLenum
-gl_MATRIX5 = 0x88C5
-
-gl_MATRIX6 :: GLenum
-gl_MATRIX6 = 0x88C6
-
-gl_MATRIX7 :: GLenum
-gl_MATRIX7 = 0x88C7
-
-gl_MATRIX8 :: GLenum
-gl_MATRIX8 = 0x88C8
-
-gl_MATRIX9 :: GLenum
-gl_MATRIX9 = 0x88C9
-
-gl_MATRIX10 :: GLenum
-gl_MATRIX10 = 0x88CA
-
-gl_MATRIX11 :: GLenum
-gl_MATRIX11 = 0x88CB
-
-gl_MATRIX12 :: GLenum
-gl_MATRIX12 = 0x88CC
-
-gl_MATRIX13 :: GLenum
-gl_MATRIX13 = 0x88CD
-
-gl_MATRIX14 :: GLenum
-gl_MATRIX14 = 0x88CE
-
-gl_MATRIX15 :: GLenum
-gl_MATRIX15 = 0x88CF
-
-gl_MATRIX16 :: GLenum
-gl_MATRIX16 = 0x88D0
-
-gl_MATRIX17 :: GLenum
-gl_MATRIX17 = 0x88D1
-
-gl_MATRIX18 :: GLenum
-gl_MATRIX18 = 0x88D2
-
-gl_MATRIX19 :: GLenum
-gl_MATRIX19 = 0x88D3
-
-gl_MATRIX20 :: GLenum
-gl_MATRIX20 = 0x88D4
-
-gl_MATRIX21 :: GLenum
-gl_MATRIX21 = 0x88D5
-
-gl_MATRIX22 :: GLenum
-gl_MATRIX22 = 0x88D6
-
-gl_MATRIX23 :: GLenum
-gl_MATRIX23 = 0x88D7
-
-gl_MATRIX24 :: GLenum
-gl_MATRIX24 = 0x88D8
-
-gl_MATRIX25 :: GLenum
-gl_MATRIX25 = 0x88D9
-
-gl_MATRIX26 :: GLenum
-gl_MATRIX26 = 0x88DA
-
-gl_MATRIX27 :: GLenum
-gl_MATRIX27 = 0x88DB
-
-gl_MATRIX28 :: GLenum
-gl_MATRIX28 = 0x88DC
-
-gl_MATRIX29 :: GLenum
-gl_MATRIX29 = 0x88DD
-
-gl_MATRIX30 :: GLenum
-gl_MATRIX30 = 0x88DE
-
-gl_MATRIX31 :: GLenum
-gl_MATRIX31 = 0x88DF
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.VertexProgram
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the ARB_vertex_program extension, see
+-- <http://www.opengl.org/registry/specs/ARB/vertex_program.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.VertexProgram (
+   -- * Functions
+   glVertexAttrib1s,
+   glVertexAttrib1f,
+   glVertexAttrib1d,
+   glVertexAttrib2s,
+   glVertexAttrib2f,
+   glVertexAttrib2d,
+   glVertexAttrib3s,
+   glVertexAttrib3f,
+   glVertexAttrib3d,
+   glVertexAttrib4s,
+   glVertexAttrib4f,
+   glVertexAttrib4d,
+   glVertexAttrib4Nub,
+   glVertexAttrib1sv,
+   glVertexAttrib1fv,
+   glVertexAttrib1dv,
+   glVertexAttrib2sv,
+   glVertexAttrib2fv,
+   glVertexAttrib2dv,
+   glVertexAttrib3sv,
+   glVertexAttrib3fv,
+   glVertexAttrib3dv,
+   glVertexAttrib4bv,
+   glVertexAttrib4sv,
+   glVertexAttrib4iv,
+   glVertexAttrib4ubv,
+   glVertexAttrib4usv,
+   glVertexAttrib4uiv,
+   glVertexAttrib4fv,
+   glVertexAttrib4dv,
+   glVertexAttrib4Nbv,
+   glVertexAttrib4Nsv,
+   glVertexAttrib4Niv,
+   glVertexAttrib4Nubv,
+   glVertexAttrib4Nusv,
+   glVertexAttrib4Nuiv,
+   glVertexAttribPointer,
+   glEnableVertexAttribArray,
+   glDisableVertexAttribArray,
+   glProgramString,
+   glBindProgram,
+   glDeletePrograms,
+   glGenPrograms,
+   glProgramEnvParameter4d,
+   glProgramEnvParameter4dv,
+   glProgramEnvParameter4f,
+   glProgramEnvParameter4fv,
+   glProgramLocalParameter4d,
+   glProgramLocalParameter4dv,
+   glProgramLocalParameter4f,
+   glProgramLocalParameter4fv,
+   glGetProgramEnvParameterdv,
+   glGetProgramEnvParameterfv,
+   glGetProgramLocalParameterdv,
+   glGetProgramLocalParameterfv,
+   glGetProgramiv,
+   glGetProgramString,
+   glGetVertexAttribdv,
+   glGetVertexAttribfv,
+   glGetVertexAttribiv,
+   glGetVertexAttribPointerv,
+   glIsProgram,
+   -- * Tokens
+   gl_VERTEX_PROGRAM,
+   gl_VERTEX_PROGRAM_POINT_SIZE,
+   gl_VERTEX_PROGRAM_TWO_SIDE,
+   gl_COLOR_SUM,
+   gl_PROGRAM_FORMAT_ASCII,
+   gl_VERTEX_ATTRIB_ARRAY_ENABLED,
+   gl_VERTEX_ATTRIB_ARRAY_SIZE,
+   gl_VERTEX_ATTRIB_ARRAY_STRIDE,
+   gl_VERTEX_ATTRIB_ARRAY_TYPE,
+   gl_VERTEX_ATTRIB_ARRAY_NORMALIZED,
+   gl_CURRENT_VERTEX_ATTRIB,
+   gl_VERTEX_ATTRIB_ARRAY_POINTER,
+   gl_PROGRAM_LENGTH,
+   gl_PROGRAM_FORMAT,
+   gl_PROGRAM_BINDING,
+   gl_PROGRAM_INSTRUCTIONS,
+   gl_MAX_PROGRAM_INSTRUCTIONS,
+   gl_PROGRAM_NATIVE_INSTRUCTIONS,
+   gl_MAX_PROGRAM_NATIVE_INSTRUCTIONS,
+   gl_PROGRAM_TEMPORARIES,
+   gl_MAX_PROGRAM_TEMPORARIES,
+   gl_PROGRAM_NATIVE_TEMPORARIES,
+   gl_MAX_PROGRAM_NATIVE_TEMPORARIES,
+   gl_PROGRAM_PARAMETERS,
+   gl_MAX_PROGRAM_PARAMETERS,
+   gl_PROGRAM_NATIVE_PARAMETERS,
+   gl_MAX_PROGRAM_NATIVE_PARAMETERS,
+   gl_PROGRAM_ATTRIBS,
+   gl_MAX_PROGRAM_ATTRIBS,
+   gl_PROGRAM_NATIVE_ATTRIBS,
+   gl_MAX_PROGRAM_NATIVE_ATTRIBS,
+   gl_PROGRAM_ADDRESS_REGISTERS,
+   gl_MAX_PROGRAM_ADDRESS_REGISTERS,
+   gl_PROGRAM_NATIVE_ADDRESS_REGISTERS,
+   gl_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS,
+   gl_MAX_PROGRAM_LOCAL_PARAMETERS,
+   gl_MAX_PROGRAM_ENV_PARAMETERS,
+   gl_PROGRAM_UNDER_NATIVE_LIMITS,
+   gl_PROGRAM_STRING,
+   gl_PROGRAM_ERROR_POSITION,
+   gl_CURRENT_MATRIX,
+   gl_TRANSPOSE_CURRENT_MATRIX,
+   gl_CURRENT_MATRIX_STACK_DEPTH,
+   gl_MAX_VERTEX_ATTRIBS,
+   gl_MAX_PROGRAM_MATRICES,
+   gl_MAX_PROGRAM_MATRIX_STACK_DEPTH,
+   gl_PROGRAM_ERROR_STRING,
+   gl_MATRIX0,
+   gl_MATRIX1,
+   gl_MATRIX2,
+   gl_MATRIX3,
+   gl_MATRIX4,
+   gl_MATRIX5,
+   gl_MATRIX6,
+   gl_MATRIX7,
+   gl_MATRIX8,
+   gl_MATRIX9,
+   gl_MATRIX10,
+   gl_MATRIX11,
+   gl_MATRIX12,
+   gl_MATRIX13,
+   gl_MATRIX14,
+   gl_MATRIX15,
+   gl_MATRIX16,
+   gl_MATRIX17,
+   gl_MATRIX18,
+   gl_MATRIX19,
+   gl_MATRIX20,
+   gl_MATRIX21,
+   gl_MATRIX22,
+   gl_MATRIX23,
+   gl_MATRIX24,
+   gl_MATRIX25,
+   gl_MATRIX26,
+   gl_MATRIX27,
+   gl_MATRIX28,
+   gl_MATRIX29,
+   gl_MATRIX30,
+   gl_MATRIX31
+) where
+
+import Foreign.Ptr
+import Foreign.C.Types
+import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
+import Graphics.Rendering.OpenGL.Raw.Core32
+import Graphics.Rendering.OpenGL.Raw.Extensions
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_ARB_vertex_program"
+
+EXTENSION_ENTRY(dyn_glProgramString,ptr_glProgramString,"glProgramString",glProgramString,GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glBindProgram,ptr_glBindProgram,"glBindProgram",glBindProgram,GLenum -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glDeletePrograms,ptr_glDeletePrograms,"glDeletePrograms",glDeletePrograms,GLsizei -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glGenPrograms,ptr_glGenPrograms,"glGenPrograms",glGenPrograms,GLsizei -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glProgramEnvParameter4d,ptr_glProgramEnvParameter4d,"glProgramEnvParameter4d",glProgramEnvParameter4d,GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble  -> IO ())
+EXTENSION_ENTRY(dyn_glProgramEnvParameter4dv,ptr_glProgramEnvParameter4dv,"glProgramEnvParameter4dv",glProgramEnvParameter4dv,GLenum -> GLuint -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glProgramEnvParameter4f,ptr_glProgramEnvParameter4f,"glProgramEnvParameter4f",glProgramEnvParameter4f,GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat  -> IO ())
+EXTENSION_ENTRY(dyn_glProgramEnvParameter4fv,ptr_glProgramEnvParameter4fv,"glProgramEnvParameter4fv",glProgramEnvParameter4fv,GLenum -> GLuint -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glProgramLocalParameter4d,ptr_glProgramLocalParameter4d,"glProgramLocalParameter4d",glProgramLocalParameter4d,GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble  -> IO ())
+EXTENSION_ENTRY(dyn_glProgramLocalParameter4dv,ptr_glProgramLocalParameter4dv,"glProgramLocalParameter4dv",glProgramLocalParameter4dv,GLenum -> GLuint -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glProgramLocalParameter4f,ptr_glProgramLocalParameter4f,"glProgramLocalParameter4f",glProgramLocalParameter4f,GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat  -> IO ())
+EXTENSION_ENTRY(dyn_glProgramLocalParameter4fv,ptr_glProgramLocalParameter4fv,"glProgramLocalParameter4fv",glProgramLocalParameter4fv,GLenum -> GLuint -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glGetProgramEnvParameterdv,ptr_glGetProgramEnvParameterdv,"glGetProgramEnvParameterdv",glGetProgramEnvParameterdv,GLenum -> GLuint -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glGetProgramEnvParameterfv,ptr_glGetProgramEnvParameterfv,"glGetProgramEnvParameterfv",glGetProgramEnvParameterfv,GLenum -> GLuint -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glGetProgramLocalParameterdv,ptr_glGetProgramLocalParameterdv,"glGetProgramLocalParameterdv",glGetProgramLocalParameterdv,GLenum -> GLuint -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glGetProgramLocalParameterfv,ptr_glGetProgramLocalParameterfv,"glGetProgramLocalParameterfv",glGetProgramLocalParameterfv,GLenum -> GLuint -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glGetProgramString,ptr_glGetProgramString,"glGetProgramString",glGetProgramString,GLenum -> GLenum -> Ptr a -> IO ())
+
+gl_VERTEX_PROGRAM :: GLenum
+gl_VERTEX_PROGRAM = 0x8620
+
+gl_PROGRAM_FORMAT_ASCII :: GLenum
+gl_PROGRAM_FORMAT_ASCII = 0x8875
+
+gl_PROGRAM_LENGTH :: GLenum
+gl_PROGRAM_LENGTH = 0x8627
+
+gl_PROGRAM_FORMAT :: GLenum
+gl_PROGRAM_FORMAT = 0x8876
+
+gl_PROGRAM_BINDING :: GLenum
+gl_PROGRAM_BINDING = 0x8677
+
+gl_PROGRAM_INSTRUCTIONS :: GLenum
+gl_PROGRAM_INSTRUCTIONS = 0x88A0
+
+gl_MAX_PROGRAM_INSTRUCTIONS :: GLenum
+gl_MAX_PROGRAM_INSTRUCTIONS = 0x88A1
+
+gl_PROGRAM_NATIVE_INSTRUCTIONS :: GLenum
+gl_PROGRAM_NATIVE_INSTRUCTIONS = 0x88A2
+
+gl_MAX_PROGRAM_NATIVE_INSTRUCTIONS :: GLenum
+gl_MAX_PROGRAM_NATIVE_INSTRUCTIONS = 0x88A3
+
+gl_PROGRAM_TEMPORARIES :: GLenum
+gl_PROGRAM_TEMPORARIES = 0x88A4
+
+gl_MAX_PROGRAM_TEMPORARIES :: GLenum
+gl_MAX_PROGRAM_TEMPORARIES = 0x88A5
+
+gl_PROGRAM_NATIVE_TEMPORARIES :: GLenum
+gl_PROGRAM_NATIVE_TEMPORARIES = 0x88A6
+
+gl_MAX_PROGRAM_NATIVE_TEMPORARIES :: GLenum
+gl_MAX_PROGRAM_NATIVE_TEMPORARIES = 0x88A7
+
+gl_PROGRAM_PARAMETERS :: GLenum
+gl_PROGRAM_PARAMETERS = 0x88A8
+
+gl_MAX_PROGRAM_PARAMETERS :: GLenum
+gl_MAX_PROGRAM_PARAMETERS = 0x88A9
+
+gl_PROGRAM_NATIVE_PARAMETERS :: GLenum
+gl_PROGRAM_NATIVE_PARAMETERS = 0x88AA
+
+gl_MAX_PROGRAM_NATIVE_PARAMETERS :: GLenum
+gl_MAX_PROGRAM_NATIVE_PARAMETERS = 0x88AB
+
+gl_PROGRAM_ATTRIBS :: GLenum
+gl_PROGRAM_ATTRIBS = 0x88AC
+
+gl_MAX_PROGRAM_ATTRIBS :: GLenum
+gl_MAX_PROGRAM_ATTRIBS = 0x88AD
+
+gl_PROGRAM_NATIVE_ATTRIBS :: GLenum
+gl_PROGRAM_NATIVE_ATTRIBS = 0x88AE
+
+gl_MAX_PROGRAM_NATIVE_ATTRIBS :: GLenum
+gl_MAX_PROGRAM_NATIVE_ATTRIBS = 0x88AF
+
+gl_PROGRAM_ADDRESS_REGISTERS :: GLenum
+gl_PROGRAM_ADDRESS_REGISTERS = 0x88B0
+
+gl_MAX_PROGRAM_ADDRESS_REGISTERS :: GLenum
+gl_MAX_PROGRAM_ADDRESS_REGISTERS = 0x88B1
+
+gl_PROGRAM_NATIVE_ADDRESS_REGISTERS :: GLenum
+gl_PROGRAM_NATIVE_ADDRESS_REGISTERS = 0x88B2
+
+gl_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS :: GLenum
+gl_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS = 0x88B3
+
+gl_MAX_PROGRAM_LOCAL_PARAMETERS :: GLenum
+gl_MAX_PROGRAM_LOCAL_PARAMETERS = 0x88B4
+
+gl_MAX_PROGRAM_ENV_PARAMETERS :: GLenum
+gl_MAX_PROGRAM_ENV_PARAMETERS = 0x88B5
+
+gl_PROGRAM_UNDER_NATIVE_LIMITS :: GLenum
+gl_PROGRAM_UNDER_NATIVE_LIMITS = 0x88B6
+
+gl_PROGRAM_STRING :: GLenum
+gl_PROGRAM_STRING = 0x8628
+
+gl_PROGRAM_ERROR_POSITION :: GLenum
+gl_PROGRAM_ERROR_POSITION = 0x864B
+
+gl_CURRENT_MATRIX :: GLenum
+gl_CURRENT_MATRIX = 0x8641
+
+gl_TRANSPOSE_CURRENT_MATRIX :: GLenum
+gl_TRANSPOSE_CURRENT_MATRIX = 0x88B7
+
+gl_CURRENT_MATRIX_STACK_DEPTH :: GLenum
+gl_CURRENT_MATRIX_STACK_DEPTH = 0x8640
+
+gl_MAX_PROGRAM_MATRICES :: GLenum
+gl_MAX_PROGRAM_MATRICES = 0x862F
+
+gl_MAX_PROGRAM_MATRIX_STACK_DEPTH :: GLenum
+gl_MAX_PROGRAM_MATRIX_STACK_DEPTH = 0x862E
+
+gl_PROGRAM_ERROR_STRING :: GLenum
+gl_PROGRAM_ERROR_STRING = 0x8874
+
+gl_MATRIX0 :: GLenum
+gl_MATRIX0 = 0x88C0
+
+gl_MATRIX1 :: GLenum
+gl_MATRIX1 = 0x88C1
+
+gl_MATRIX2 :: GLenum
+gl_MATRIX2 = 0x88C2
+
+gl_MATRIX3 :: GLenum
+gl_MATRIX3 = 0x88C3
+
+gl_MATRIX4 :: GLenum
+gl_MATRIX4 = 0x88C4
+
+gl_MATRIX5 :: GLenum
+gl_MATRIX5 = 0x88C5
+
+gl_MATRIX6 :: GLenum
+gl_MATRIX6 = 0x88C6
+
+gl_MATRIX7 :: GLenum
+gl_MATRIX7 = 0x88C7
+
+gl_MATRIX8 :: GLenum
+gl_MATRIX8 = 0x88C8
+
+gl_MATRIX9 :: GLenum
+gl_MATRIX9 = 0x88C9
+
+gl_MATRIX10 :: GLenum
+gl_MATRIX10 = 0x88CA
+
+gl_MATRIX11 :: GLenum
+gl_MATRIX11 = 0x88CB
+
+gl_MATRIX12 :: GLenum
+gl_MATRIX12 = 0x88CC
+
+gl_MATRIX13 :: GLenum
+gl_MATRIX13 = 0x88CD
+
+gl_MATRIX14 :: GLenum
+gl_MATRIX14 = 0x88CE
+
+gl_MATRIX15 :: GLenum
+gl_MATRIX15 = 0x88CF
+
+gl_MATRIX16 :: GLenum
+gl_MATRIX16 = 0x88D0
+
+gl_MATRIX17 :: GLenum
+gl_MATRIX17 = 0x88D1
+
+gl_MATRIX18 :: GLenum
+gl_MATRIX18 = 0x88D2
+
+gl_MATRIX19 :: GLenum
+gl_MATRIX19 = 0x88D3
+
+gl_MATRIX20 :: GLenum
+gl_MATRIX20 = 0x88D4
+
+gl_MATRIX21 :: GLenum
+gl_MATRIX21 = 0x88D5
+
+gl_MATRIX22 :: GLenum
+gl_MATRIX22 = 0x88D6
+
+gl_MATRIX23 :: GLenum
+gl_MATRIX23 = 0x88D7
+
+gl_MATRIX24 :: GLenum
+gl_MATRIX24 = 0x88D8
+
+gl_MATRIX25 :: GLenum
+gl_MATRIX25 = 0x88D9
+
+gl_MATRIX26 :: GLenum
+gl_MATRIX26 = 0x88DA
+
+gl_MATRIX27 :: GLenum
+gl_MATRIX27 = 0x88DB
+
+gl_MATRIX28 :: GLenum
+gl_MATRIX28 = 0x88DC
+
+gl_MATRIX29 :: GLenum
+gl_MATRIX29 = 0x88DD
+
+gl_MATRIX30 :: GLenum
+gl_MATRIX30 = 0x88DE
+
+gl_MATRIX31 :: GLenum
+gl_MATRIX31 = 0x88DF
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexShader.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexShader.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexShader.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexShader.hs
@@ -1,101 +1,101 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.VertexShader
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the ARB_vertex_shader extension, see
--- <http://www.opengl.org/registry/specs/ARB/vertex_shader.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.VertexShader (
-   -- * Functions
-   glVertexAttrib1f,
-   glVertexAttrib1s,
-   glVertexAttrib1d,
-   glVertexAttrib2f,
-   glVertexAttrib2s,
-   glVertexAttrib2d,
-   glVertexAttrib3f,
-   glVertexAttrib3s,
-   glVertexAttrib3d,
-   glVertexAttrib4f,
-   glVertexAttrib4s,
-   glVertexAttrib4d,
-   glVertexAttrib4Nub,
-   glVertexAttrib1fv,
-   glVertexAttrib1sv,
-   glVertexAttrib1dv,
-   glVertexAttrib2fv,
-   glVertexAttrib2sv,
-   glVertexAttrib2dv,
-   glVertexAttrib3fv,
-   glVertexAttrib3sv,
-   glVertexAttrib3dv,
-   glVertexAttrib4fv,
-   glVertexAttrib4sv,
-   glVertexAttrib4dv,
-   glVertexAttrib4iv,
-   glVertexAttrib4bv,
-   glVertexAttrib4ubv,
-   glVertexAttrib4usv,
-   glVertexAttrib4uiv,
-   glVertexAttrib4Nbv,
-   glVertexAttrib4Nsv,
-   glVertexAttrib4Niv,
-   glVertexAttrib4Nubv,
-   glVertexAttrib4Nusv,
-   glVertexAttrib4Nuiv,
-   glVertexAttribPointer,
-   glEnableVertexAttribArray,
-   glDisableVertexAttribArray,
-   glBindAttribLocation,
-   glGetActiveAttrib,
-   glGetAttribLocation,
-   glGetVertexAttribdv,
-   glGetVertexAttribfv,
-   glGetVertexAttribiv,
-   glGetVertexAttribPointerv,
-   -- * Tokens
-   gl_VERTEX_SHADER,
-   gl_MAX_VERTEX_UNIFORM_COMPONENTS,
-   gl_MAX_VARYING_FLOATS,
-   gl_MAX_VERTEX_ATTRIBS,
-   gl_MAX_TEXTURE_IMAGE_UNITS,
-   gl_MAX_VERTEX_TEXTURE_IMAGE_UNITS,
-   gl_MAX_COMBINED_TEXTURE_IMAGE_UNITS,
-   gl_MAX_TEXTURE_COORDS,
-   gl_VERTEX_PROGRAM_POINT_SIZE,
-   gl_VERTEX_PROGRAM_TWO_SIDE,
-   gl_OBJECT_ACTIVE_ATTRIBUTES,
-   gl_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH,
-   gl_VERTEX_ATTRIB_ARRAY_ENABLED,
-   gl_VERTEX_ATTRIB_ARRAY_SIZE,
-   gl_VERTEX_ATTRIB_ARRAY_STRIDE,
-   gl_VERTEX_ATTRIB_ARRAY_TYPE,
-   gl_VERTEX_ATTRIB_ARRAY_NORMALIZED,
-   gl_CURRENT_VERTEX_ATTRIB,
-   gl_VERTEX_ATTRIB_ARRAY_POINTER,
-   gl_FLOAT,
-   gl_FLOAT_VEC2,
-   gl_FLOAT_VEC3,
-   gl_FLOAT_VEC4,
-   gl_FLOAT_MAT2,
-   gl_FLOAT_MAT3,
-   gl_FLOAT_MAT4
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
-import Graphics.Rendering.OpenGL.Raw.Core32
-
-gl_OBJECT_ACTIVE_ATTRIBUTES :: GLenum
-gl_OBJECT_ACTIVE_ATTRIBUTES = 0x8B89
-
-gl_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH :: GLenum
-gl_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH = 0x8B8A
-
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.VertexShader
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the ARB_vertex_shader extension, see
+-- <http://www.opengl.org/registry/specs/ARB/vertex_shader.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.VertexShader (
+   -- * Functions
+   glVertexAttrib1f,
+   glVertexAttrib1s,
+   glVertexAttrib1d,
+   glVertexAttrib2f,
+   glVertexAttrib2s,
+   glVertexAttrib2d,
+   glVertexAttrib3f,
+   glVertexAttrib3s,
+   glVertexAttrib3d,
+   glVertexAttrib4f,
+   glVertexAttrib4s,
+   glVertexAttrib4d,
+   glVertexAttrib4Nub,
+   glVertexAttrib1fv,
+   glVertexAttrib1sv,
+   glVertexAttrib1dv,
+   glVertexAttrib2fv,
+   glVertexAttrib2sv,
+   glVertexAttrib2dv,
+   glVertexAttrib3fv,
+   glVertexAttrib3sv,
+   glVertexAttrib3dv,
+   glVertexAttrib4fv,
+   glVertexAttrib4sv,
+   glVertexAttrib4dv,
+   glVertexAttrib4iv,
+   glVertexAttrib4bv,
+   glVertexAttrib4ubv,
+   glVertexAttrib4usv,
+   glVertexAttrib4uiv,
+   glVertexAttrib4Nbv,
+   glVertexAttrib4Nsv,
+   glVertexAttrib4Niv,
+   glVertexAttrib4Nubv,
+   glVertexAttrib4Nusv,
+   glVertexAttrib4Nuiv,
+   glVertexAttribPointer,
+   glEnableVertexAttribArray,
+   glDisableVertexAttribArray,
+   glBindAttribLocation,
+   glGetActiveAttrib,
+   glGetAttribLocation,
+   glGetVertexAttribdv,
+   glGetVertexAttribfv,
+   glGetVertexAttribiv,
+   glGetVertexAttribPointerv,
+   -- * Tokens
+   gl_VERTEX_SHADER,
+   gl_MAX_VERTEX_UNIFORM_COMPONENTS,
+   gl_MAX_VARYING_FLOATS,
+   gl_MAX_VERTEX_ATTRIBS,
+   gl_MAX_TEXTURE_IMAGE_UNITS,
+   gl_MAX_VERTEX_TEXTURE_IMAGE_UNITS,
+   gl_MAX_COMBINED_TEXTURE_IMAGE_UNITS,
+   gl_MAX_TEXTURE_COORDS,
+   gl_VERTEX_PROGRAM_POINT_SIZE,
+   gl_VERTEX_PROGRAM_TWO_SIDE,
+   gl_OBJECT_ACTIVE_ATTRIBUTES,
+   gl_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH,
+   gl_VERTEX_ATTRIB_ARRAY_ENABLED,
+   gl_VERTEX_ATTRIB_ARRAY_SIZE,
+   gl_VERTEX_ATTRIB_ARRAY_STRIDE,
+   gl_VERTEX_ATTRIB_ARRAY_TYPE,
+   gl_VERTEX_ATTRIB_ARRAY_NORMALIZED,
+   gl_CURRENT_VERTEX_ATTRIB,
+   gl_VERTEX_ATTRIB_ARRAY_POINTER,
+   gl_FLOAT,
+   gl_FLOAT_VEC2,
+   gl_FLOAT_VEC3,
+   gl_FLOAT_VEC4,
+   gl_FLOAT_MAT2,
+   gl_FLOAT_MAT3,
+   gl_FLOAT_MAT4
+) where
+
+import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
+import Graphics.Rendering.OpenGL.Raw.Core32
+
+gl_OBJECT_ACTIVE_ATTRIBUTES :: GLenum
+gl_OBJECT_ACTIVE_ATTRIBUTES = 0x8B89
+
+gl_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH :: GLenum
+gl_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH = 0x8B8A
+
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexType2101010Rev.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexType2101010Rev.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexType2101010Rev.hs
@@ -0,0 +1,117 @@
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.VertexType2101010Rev
+-- Copyright   :  (c) Sven Panne 2014
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the ARB_vertex_type_2_10_10_10_rev
+-- extension, see
+-- <http://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.VertexType2101010Rev (
+   -- * Functions
+   glVertexAttribP1ui,
+   glVertexAttribP1uiv,
+   glVertexAttribP2ui,
+   glVertexAttribP2uiv,
+   glVertexAttribP3ui,
+   glVertexAttribP3uiv,
+   glVertexAttribP4ui,
+   glVertexAttribP4uiv,
+   glVertexP2ui,
+   glVertexP2uiv,
+   glVertexP3ui,
+   glVertexP3uiv,
+   glVertexP4ui,
+   glVertexP4uiv,
+   glTexCoordP1ui,
+   glTexCoordP1uiv,
+   glTexCoordP2ui,
+   glTexCoordP2uiv,
+   glTexCoordP3ui,
+   glTexCoordP3uiv,
+   glTexCoordP4ui,
+   glTexCoordP4uiv,
+   glMultiTexCoordP1ui,
+   glMultiTexCoordP1uiv,
+   glMultiTexCoordP2ui,
+   glMultiTexCoordP2uiv,
+   glMultiTexCoordP3ui,
+   glMultiTexCoordP3uiv,
+   glMultiTexCoordP4ui,
+   glMultiTexCoordP4uiv,
+   glNormalP3ui,
+   glNormalP3uiv,
+   glColorP3ui,
+   glColorP3uiv,
+   glColorP4ui,
+   glColorP4uiv,
+   glSecondaryColorP3ui,
+   glSecondaryColorP3uiv,
+
+   -- * Tokens
+   gl_UNSIGNED_INT_2_10_10_10_REV,
+   gl_INT_2_10_10_10_REV
+) where
+
+import Foreign.C.Types
+import Foreign.Ptr
+import Graphics.Rendering.OpenGL.Raw.Core31.Tokens
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+import Graphics.Rendering.OpenGL.Raw.Extensions
+
+--------------------------------------------------------------------------------
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_ARB_vertex_type_2_10_10_10_rev"
+
+EXTENSION_ENTRY(dyn_glVertexAttribP1ui,ptr_glVertexAttribP1ui,"glVertexAttribP1ui",glVertexAttribP1ui,GLuint -> GLenum -> GLboolean -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttribP1uiv,ptr_glVertexAttribP1uiv,"glVertexAttribP1uiv",glVertexAttribP1uiv,GLuint -> GLenum -> GLboolean -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttribP2ui,ptr_glVertexAttribP2ui,"glVertexAttribP2ui",glVertexAttribP2ui,GLuint -> GLenum -> GLboolean -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttribP2uiv,ptr_glVertexAttribP2uiv,"glVertexAttribP2uiv",glVertexAttribP2uiv,GLuint -> GLenum -> GLboolean -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttribP3ui,ptr_glVertexAttribP3ui,"glVertexAttribP3ui",glVertexAttribP3ui,GLuint -> GLenum -> GLboolean -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttribP3uiv,ptr_glVertexAttribP3uiv,"glVertexAttribP3uiv",glVertexAttribP3uiv,GLuint -> GLenum -> GLboolean -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttribP4ui,ptr_glVertexAttribP4ui,"glVertexAttribP4ui",glVertexAttribP4ui,GLuint -> GLenum -> GLboolean -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttribP4uiv,ptr_glVertexAttribP4uiv,"glVertexAttribP4uiv",glVertexAttribP4uiv,GLuint -> GLenum -> GLboolean -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glVertexP2ui,ptr_glVertexP2ui,"glVertexP2ui",glVertexP2ui,GLenum -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glVertexP2uiv,ptr_glVertexP2uiv,"glVertexP2uiv",glVertexP2uiv,GLenum -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glVertexP3ui,ptr_glVertexP3ui,"glVertexP3ui",glVertexP3ui,GLenum -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glVertexP3uiv,ptr_glVertexP3uiv,"glVertexP3uiv",glVertexP3uiv,GLenum -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glVertexP4ui,ptr_glVertexP4ui,"glVertexP4ui",glVertexP4ui,GLenum -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glVertexP4uiv,ptr_glVertexP4uiv,"glVertexP4uiv",glVertexP4uiv,GLenum -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glTexCoordP1ui,ptr_glTexCoordP1ui,"glTexCoordP1ui",glTexCoordP1ui,GLenum -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glTexCoordP1uiv,ptr_glTexCoordP1uiv,"glTexCoordP1uiv",glTexCoordP1uiv,GLenum -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glTexCoordP2ui,ptr_glTexCoordP2ui,"glTexCoordP2ui",glTexCoordP2ui,GLenum -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glTexCoordP2uiv,ptr_glTexCoordP2uiv,"glTexCoordP2uiv",glTexCoordP2uiv,GLenum -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glTexCoordP3ui,ptr_glTexCoordP3ui,"glTexCoordP3ui",glTexCoordP3ui,GLenum -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glTexCoordP3uiv,ptr_glTexCoordP3uiv,"glTexCoordP3uiv",glTexCoordP3uiv,GLenum -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glTexCoordP4ui,ptr_glTexCoordP4ui,"glTexCoordP4ui",glTexCoordP4ui,GLenum -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glTexCoordP4uiv,ptr_glTexCoordP4uiv,"glTexCoordP4uiv",glTexCoordP4uiv,GLenum -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexCoordP1ui,ptr_glMultiTexCoordP1ui,"glMultiTexCoordP1ui",glMultiTexCoordP1ui,GLenum -> GLenum -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexCoordP1uiv,ptr_glMultiTexCoordP1uiv,"glMultiTexCoordP1uiv",glMultiTexCoordP1uiv,GLenum -> GLenum -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexCoordP2ui,ptr_glMultiTexCoordP2ui,"glMultiTexCoordP2ui",glMultiTexCoordP2ui,GLenum -> GLenum -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexCoordP2uiv,ptr_glMultiTexCoordP2uiv,"glMultiTexCoordP2uiv",glMultiTexCoordP2uiv,GLenum -> GLenum -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexCoordP3ui,ptr_glMultiTexCoordP3ui,"glMultiTexCoordP3ui",glMultiTexCoordP3ui,GLenum -> GLenum -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexCoordP3uiv,ptr_glMultiTexCoordP3uiv,"glMultiTexCoordP3uiv",glMultiTexCoordP3uiv,GLenum -> GLenum -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexCoordP4ui,ptr_glMultiTexCoordP4ui,"glMultiTexCoordP4ui",glMultiTexCoordP4ui,GLenum -> GLenum -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexCoordP4uiv,ptr_glMultiTexCoordP4uiv,"glMultiTexCoordP4uiv",glMultiTexCoordP4uiv,GLenum -> GLenum -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glNormalP3ui,ptr_glNormalP3ui,"glNormalP3ui",glNormalP3ui,GLenum -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glNormalP3uiv,ptr_glNormalP3uiv,"glNormalP3uiv",glNormalP3uiv,GLenum -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glColorP3ui,ptr_glColorP3ui,"glColorP3ui",glColorP3ui,GLenum -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glColorP3uiv,ptr_glColorP3uiv,"glColorP3uiv",glColorP3uiv,GLenum -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glColorP4ui,ptr_glColorP4ui,"glColorP4ui",glColorP4ui,GLenum -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glColorP4uiv,ptr_glColorP4uiv,"glColorP4uiv",glColorP4uiv,GLenum -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glSecondaryColorP3ui,ptr_glSecondaryColorP3ui,"glSecondaryColorP3ui",glSecondaryColorP3ui,GLenum -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glSecondaryColorP3uiv,ptr_glSecondaryColorP3uiv,"glSecondaryColorP3uiv",glSecondaryColorP3uiv,GLenum -> Ptr GLuint -> IO ())
+
+gl_INT_2_10_10_10_REV :: GLenum
+gl_INT_2_10_10_10_REV = 0x8D9F
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/WindowPos.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/WindowPos.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/WindowPos.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/WindowPos.hs
@@ -1,36 +1,36 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.WindowPos
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions from the ARB_shadow extension, see
--- <http://www.opengl.org/registry/specs/ARB/shadow.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.WindowPos (
-   -- * Functions
-   glWindowPos2d,
-   glWindowPos2f,
-   glWindowPos2i,
-   glWindowPos2s,
-   glWindowPos2dv,
-   glWindowPos2fv,
-   glWindowPos2iv,
-   glWindowPos2sv,
-   glWindowPos3d,
-   glWindowPos3f,
-   glWindowPos3i,
-   glWindowPos3s,
-   glWindowPos3dv,
-   glWindowPos3fv,
-   glWindowPos3iv,
-   glWindowPos3sv
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.WindowPos
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions from the ARB_shadow extension, see
+-- <http://www.opengl.org/registry/specs/ARB/shadow.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.ARB.WindowPos (
+   -- * Functions
+   glWindowPos2d,
+   glWindowPos2f,
+   glWindowPos2i,
+   glWindowPos2s,
+   glWindowPos2dv,
+   glWindowPos2fv,
+   glWindowPos2iv,
+   glWindowPos2sv,
+   glWindowPos3d,
+   glWindowPos3f,
+   glWindowPos3i,
+   glWindowPos3s,
+   glWindowPos3dv,
+   glWindowPos3fv,
+   glWindowPos3iv,
+   glWindowPos3sv
+) where
+
+import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
diff --git a/src/Graphics/Rendering/OpenGL/Raw/Core31.hs b/src/Graphics/Rendering/OpenGL/Raw/Core31.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/Core31.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/Core31.hs
@@ -1,42 +1,42 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.Core31
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions, tokens and types from the OpenGL 3.1 core, see
--- <http://www.opengl.org/registry/>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.Core31 (
-   -- * Functions
-   module Graphics.Rendering.OpenGL.Raw.Core31.Functions,
-   -- * Tokens
-   module Graphics.Rendering.OpenGL.Raw.Core31.Tokens,
-   -- * Types
-   module Graphics.Rendering.OpenGL.Raw.Core31.Types,
-   -- * Extensions promoted to OpenGL 3.1 core
-   module Graphics.Rendering.OpenGL.Raw.ARB.DrawInstanced,
-   module Graphics.Rendering.OpenGL.Raw.ARB.CopyBuffer,
-   module Graphics.Rendering.OpenGL.Raw.ARB.TextureBufferObject,
-   module Graphics.Rendering.OpenGL.Raw.ARB.TextureRectangle,
-   module Graphics.Rendering.OpenGL.Raw.ARB.UniformBufferObject
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core31.Functions
-import Graphics.Rendering.OpenGL.Raw.Core31.Tokens
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-
-import Graphics.Rendering.OpenGL.Raw.ARB.DrawInstanced
-import Graphics.Rendering.OpenGL.Raw.ARB.CopyBuffer
-import Graphics.Rendering.OpenGL.Raw.ARB.TextureBufferObject
-import Graphics.Rendering.OpenGL.Raw.ARB.TextureRectangle
-import Graphics.Rendering.OpenGL.Raw.ARB.UniformBufferObject hiding (
-   gl_MAX_GEOMETRY_UNIFORM_BLOCKS,
-   gl_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS,
-   gl_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER )
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.Core31
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions, tokens and types from the OpenGL 3.1 core, see
+-- <http://www.opengl.org/registry/>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.Core31 (
+   -- * Functions
+   module Graphics.Rendering.OpenGL.Raw.Core31.Functions,
+   -- * Tokens
+   module Graphics.Rendering.OpenGL.Raw.Core31.Tokens,
+   -- * Types
+   module Graphics.Rendering.OpenGL.Raw.Core31.Types,
+   -- * Extensions promoted to OpenGL 3.1 core
+   module Graphics.Rendering.OpenGL.Raw.ARB.DrawInstanced,
+   module Graphics.Rendering.OpenGL.Raw.ARB.CopyBuffer,
+   module Graphics.Rendering.OpenGL.Raw.ARB.TextureBufferObject,
+   module Graphics.Rendering.OpenGL.Raw.ARB.TextureRectangle,
+   module Graphics.Rendering.OpenGL.Raw.ARB.UniformBufferObject
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core31.Functions
+import Graphics.Rendering.OpenGL.Raw.Core31.Tokens
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+
+import Graphics.Rendering.OpenGL.Raw.ARB.DrawInstanced
+import Graphics.Rendering.OpenGL.Raw.ARB.CopyBuffer
+import Graphics.Rendering.OpenGL.Raw.ARB.TextureBufferObject
+import Graphics.Rendering.OpenGL.Raw.ARB.TextureRectangle
+import Graphics.Rendering.OpenGL.Raw.ARB.UniformBufferObject hiding (
+   gl_MAX_GEOMETRY_UNIFORM_BLOCKS,
+   gl_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS,
+   gl_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER )
diff --git a/src/Graphics/Rendering/OpenGL/Raw/Core31/Functions.hs b/src/Graphics/Rendering/OpenGL/Raw/Core31/Functions.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/Core31/Functions.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/Core31/Functions.hs
@@ -1,598 +1,598 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
-{-# OPTIONS_HADDOCK hide #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.Core31.Functions
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions from the OpenGL 3.1 core, see
--- <http://www.opengl.org/registry/>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.Core31.Functions (
-   glActiveTexture,
-   glAttachShader,
-   glBeginConditionalRender,
-   glBeginQuery,
-   glBeginTransformFeedback,
-   glBindAttribLocation,
-   glBindBuffer,
-   glBindFragDataLocation,
-   glBindFramebuffer,
-   glBindRenderbuffer,
-   glBindTexture,
-   glBindVertexArray,
-   glBlendColor,
-   glBlendEquation,
-   glBlendEquationSeparate,
-   glBlendFunc,
-   glBlendFuncSeparate,
-   glBlitFramebuffer,
-   glBufferData,
-   glBufferSubData,
-   glCheckFramebufferStatus,
-   glClampColor,
-   glClear,
-   glClearBufferfi,
-   glClearBufferfv,
-   glClearBufferiv,
-   glClearBufferuiv,
-   glClearColor,
-   glClearDepth,
-   glClearStencil,
-   glColorMask,
-   glColorMaski,
-   glCompileShader,
-   glCompressedTexImage1D,
-   glCompressedTexImage2D,
-   glCompressedTexImage3D,
-   glCompressedTexSubImage1D,
-   glCompressedTexSubImage2D,
-   glCompressedTexSubImage3D,
-   glCopyTexImage1D,
-   glCopyTexImage2D,
-   glCopyTexSubImage1D,
-   glCopyTexSubImage2D,
-   glCopyTexSubImage3D,
-   glCreateProgram,
-   glCreateShader,
-   glCullFace,
-   glDeleteBuffers,
-   glDeleteFramebuffers,
-   glDeleteProgram,
-   glDeleteQueries,
-   glDeleteRenderbuffers,
-   glDeleteShader,
-   glDeleteTextures,
-   glDeleteVertexArrays,
-   glDepthFunc,
-   glDepthMask,
-   glDepthRange,
-   glDetachShader,
-   glDisable,
-   glDisableVertexAttribArray,
-   glDisablei,
-   glDrawArrays,
-   glDrawBuffer,
-   glDrawBuffers,
-   glDrawElements,
-   glDrawRangeElements,
-   glEnable,
-   glEnableVertexAttribArray,
-   glEnablei,
-   glEndConditionalRender,
-   glEndQuery,
-   glEndTransformFeedback,
-   glFinish,
-   glFlush,
-   glFlushMappedBufferRange,
-   glFramebufferRenderbuffer,
-   glFramebufferTexture1D,
-   glFramebufferTexture2D,
-   glFramebufferTexture3D,
-   glFramebufferTextureLayer,
-   glFrontFace,
-   glGenBuffers,
-   glGenFramebuffers,
-   glGenQueries,
-   glGenRenderbuffers,
-   glGenTextures,
-   glGenVertexArrays,
-   glGenerateMipmap,
-   glGetActiveAttrib,
-   glGetActiveUniform,
-   glGetAttachedShaders,
-   glGetAttribLocation,
-   glGetBooleani_v,
-   glGetBooleanv,
-   glGetBufferParameteriv,
-   glGetBufferPointerv,
-   glGetBufferSubData,
-   glGetCompressedTexImage,
-   glGetDoublev,
-   glGetError,
-   glGetFloatv,
-   glGetFragDataLocation,
-   glGetFramebufferAttachmentParameteriv,
-   glGetIntegerv,
-   glGetPointerv,
-   glGetProgramInfoLog,
-   glGetProgramiv,
-   glGetQueryObjectiv,
-   glGetQueryObjectuiv,
-   glGetQueryiv,
-   glGetRenderbufferParameteriv,
-   glGetShaderInfoLog,
-   glGetShaderSource,
-   glGetShaderiv,
-   glGetString,
-   glGetStringi,
-   glGetTexImage,
-   glGetTexLevelParameterfv,
-   glGetTexLevelParameteriv,
-   glGetTexParameterIiv,
-   glGetTexParameterIuiv,
-   glGetTexParameterfv,
-   glGetTexParameteriv,
-   glGetTransformFeedbackVarying,
-   glGetUniformLocation,
-   glGetUniformfv,
-   glGetUniformiv,
-   glGetUniformuiv,
-   glGetVertexAttribIiv,
-   glGetVertexAttribIuiv,
-   glGetVertexAttribPointerv,
-   glGetVertexAttribdv,
-   glGetVertexAttribfv,
-   glGetVertexAttribiv,
-   glHint,
-   glIsBuffer,
-   glIsEnabled,
-   glIsEnabledi,
-   glIsFramebuffer,
-   glIsProgram,
-   glIsQuery,
-   glIsRenderbuffer,
-   glIsShader,
-   glIsTexture,
-   glIsVertexArray,
-   glLineWidth,
-   glLinkProgram,
-   glLogicOp,
-   glMapBuffer,
-   glMapBufferRange,
-   glMultiDrawArrays,
-   glMultiDrawElements,
-   glPixelStoref,
-   glPixelStorei,
-   glPointParameterf,
-   glPointParameterfv,
-   glPointParameteri,
-   glPointParameteriv,
-   glPointSize,
-   glPolygonMode,
-   glPolygonOffset,
-   glPrimitiveRestartIndex,
-   glReadBuffer,
-   glReadPixels,
-   glRenderbufferStorage,
-   glRenderbufferStorageMultisample,
-   glSampleCoverage,
-   glScissor,
-   glShaderSource,
-   glStencilFunc,
-   glStencilFuncSeparate,
-   glStencilMask,
-   glStencilMaskSeparate,
-   glStencilOp,
-   glStencilOpSeparate,
-   glTexImage1D,
-   glTexImage2D,
-   glTexImage3D,
-   glTexParameterIiv,
-   glTexParameterIuiv,
-   glTexParameterf,
-   glTexParameterfv,
-   glTexParameteri,
-   glTexParameteriv,
-   glTexSubImage1D,
-   glTexSubImage2D,
-   glTexSubImage3D,
-   glTransformFeedbackVaryings,
-   glUniform1f,
-   glUniform1fv,
-   glUniform1i,
-   glUniform1iv,
-   glUniform1ui,
-   glUniform1uiv,
-   glUniform2f,
-   glUniform2fv,
-   glUniform2i,
-   glUniform2iv,
-   glUniform2ui,
-   glUniform2uiv,
-   glUniform3f,
-   glUniform3fv,
-   glUniform3i,
-   glUniform3iv,
-   glUniform3ui,
-   glUniform3uiv,
-   glUniform4f,
-   glUniform4fv,
-   glUniform4i,
-   glUniform4iv,
-   glUniform4ui,
-   glUniform4uiv,
-   glUniformMatrix2fv,
-   glUniformMatrix2x3fv,
-   glUniformMatrix2x4fv,
-   glUniformMatrix3fv,
-   glUniformMatrix3x2fv,
-   glUniformMatrix3x4fv,
-   glUniformMatrix4fv,
-   glUniformMatrix4x2fv,
-   glUniformMatrix4x3fv,
-   glUnmapBuffer,
-   glUseProgram,
-   glValidateProgram,
-   glVertexAttrib1d,
-   glVertexAttrib1dv,
-   glVertexAttrib1f,
-   glVertexAttrib1fv,
-   glVertexAttrib1s,
-   glVertexAttrib1sv,
-   glVertexAttrib2d,
-   glVertexAttrib2dv,
-   glVertexAttrib2f,
-   glVertexAttrib2fv,
-   glVertexAttrib2s,
-   glVertexAttrib2sv,
-   glVertexAttrib3d,
-   glVertexAttrib3dv,
-   glVertexAttrib3f,
-   glVertexAttrib3fv,
-   glVertexAttrib3s,
-   glVertexAttrib3sv,
-   glVertexAttrib4Nbv,
-   glVertexAttrib4Niv,
-   glVertexAttrib4Nsv,
-   glVertexAttrib4Nub,
-   glVertexAttrib4Nubv,
-   glVertexAttrib4Nuiv,
-   glVertexAttrib4Nusv,
-   glVertexAttrib4bv,
-   glVertexAttrib4d,
-   glVertexAttrib4dv,
-   glVertexAttrib4f,
-   glVertexAttrib4fv,
-   glVertexAttrib4iv,
-   glVertexAttrib4s,
-   glVertexAttrib4sv,
-   glVertexAttrib4ubv,
-   glVertexAttrib4uiv,
-   glVertexAttrib4usv,
-   glVertexAttribI1i,
-   glVertexAttribI1iv,
-   glVertexAttribI1ui,
-   glVertexAttribI1uiv,
-   glVertexAttribI2i,
-   glVertexAttribI2iv,
-   glVertexAttribI2ui,
-   glVertexAttribI2uiv,
-   glVertexAttribI3i,
-   glVertexAttribI3iv,
-   glVertexAttribI3ui,
-   glVertexAttribI3uiv,
-   glVertexAttribI4bv,
-   glVertexAttribI4i,
-   glVertexAttribI4iv,
-   glVertexAttribI4sv,
-   glVertexAttribI4ubv,
-   glVertexAttribI4ui,
-   glVertexAttribI4uiv,
-   glVertexAttribI4usv,
-   glVertexAttribIPointer,
-   glVertexAttribPointer,
-   glViewport
-) where
-
-import Foreign.Ptr
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "OpenGL 3.1"
-
-EXTENSION_ENTRY(glActiveTexture,GLenum -> IO ())
-EXTENSION_ENTRY(glAttachShader,GLuint -> GLuint -> IO ())
-EXTENSION_ENTRY(glBeginConditionalRender,GLuint -> GLenum -> IO ())
-EXTENSION_ENTRY(glBeginQuery,GLenum -> GLuint -> IO ())
-EXTENSION_ENTRY(glBeginTransformFeedback,GLenum -> IO ())
-EXTENSION_ENTRY(glBindAttribLocation,GLuint -> GLuint -> Ptr GLchar -> IO ())
-EXTENSION_ENTRY(glBindBuffer,GLenum -> GLuint -> IO ())
-EXTENSION_ENTRY(glBindFragDataLocation,GLuint -> GLuint -> Ptr GLchar -> IO ())
-EXTENSION_ENTRY(glBindFramebuffer,GLenum -> GLuint -> IO ())
-EXTENSION_ENTRY(glBindRenderbuffer,GLenum -> GLuint -> IO ())
-EXTENSION_ENTRY(glBindTexture,GLenum -> GLuint -> IO ())
-EXTENSION_ENTRY(glBindVertexArray,GLuint -> IO ())
-EXTENSION_ENTRY(glBlendColor,GLclampf -> GLclampf -> GLclampf -> GLclampf -> IO ())
-EXTENSION_ENTRY(glBlendEquation,GLenum -> IO ())
-EXTENSION_ENTRY(glBlendEquationSeparate,GLenum -> GLenum -> IO ())
-EXTENSION_ENTRY(glBlendFunc,GLenum -> GLenum -> IO ())
-EXTENSION_ENTRY(glBlendFuncSeparate,GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-EXTENSION_ENTRY(glBlitFramebuffer,GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> IO ())
-EXTENSION_ENTRY(glBufferData,GLenum -> GLsizeiptr -> Ptr a -> GLenum -> IO ())
-EXTENSION_ENTRY(glBufferSubData,GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> IO ())
-EXTENSION_ENTRY(glCheckFramebufferStatus,GLenum -> IO GLenum)
-EXTENSION_ENTRY(glClampColor,GLenum -> GLenum -> IO ())
-EXTENSION_ENTRY(glClear,GLbitfield -> IO ())
-EXTENSION_ENTRY(glClearBufferfi,GLenum -> GLint -> GLfloat -> GLint -> IO ())
-EXTENSION_ENTRY(glClearBufferfv,GLenum -> GLint -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glClearBufferiv,GLenum -> GLint -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glClearBufferuiv,GLenum -> GLint -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glClearColor,GLclampf -> GLclampf -> GLclampf -> GLclampf -> IO ())
-EXTENSION_ENTRY(glClearDepth,GLclampd -> IO ())
-EXTENSION_ENTRY(glClearStencil,GLint -> IO ())
-EXTENSION_ENTRY(glColorMask,GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
-EXTENSION_ENTRY(glColorMaski,GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
-EXTENSION_ENTRY(glCompileShader,GLuint -> IO ())
-EXTENSION_ENTRY(glCompressedTexImage1D,GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(glCompressedTexImage2D,GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(glCompressedTexImage3D,GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(glCompressedTexSubImage1D,GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(glCompressedTexSubImage2D,GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(glCompressedTexSubImage3D,GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(glCopyTexImage1D,GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> IO ())
-EXTENSION_ENTRY(glCopyTexImage2D,GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> IO ())
-EXTENSION_ENTRY(glCopyTexSubImage1D,GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ())
-EXTENSION_ENTRY(glCopyTexSubImage2D,GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
-EXTENSION_ENTRY(glCopyTexSubImage3D,GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
-EXTENSION_ENTRY(glCreateProgram,IO GLuint)
-EXTENSION_ENTRY(glCreateShader,GLenum -> IO GLuint)
-EXTENSION_ENTRY(glCullFace,GLenum -> IO ())
-EXTENSION_ENTRY(glDeleteBuffers,GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glDeleteFramebuffers,GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glDeleteProgram,GLuint -> IO ())
-EXTENSION_ENTRY(glDeleteQueries,GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glDeleteRenderbuffers,GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glDeleteShader,GLuint -> IO ())
-EXTENSION_ENTRY(glDeleteTextures,GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glDeleteVertexArrays,GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glDepthFunc,GLenum -> IO ())
-EXTENSION_ENTRY(glDepthMask,GLboolean -> IO ())
-EXTENSION_ENTRY(glDepthRange,GLclampd -> GLclampd -> IO ())
-EXTENSION_ENTRY(glDetachShader,GLuint -> GLuint -> IO ())
-EXTENSION_ENTRY(glDisable,GLenum -> IO ())
-EXTENSION_ENTRY(glDisableVertexAttribArray,GLuint -> IO ())
-EXTENSION_ENTRY(glDisablei,GLenum -> GLuint -> IO ())
-EXTENSION_ENTRY(glDrawArrays,GLenum -> GLint -> GLsizei -> IO ())
-EXTENSION_ENTRY(glDrawBuffer,GLenum -> IO ())
-EXTENSION_ENTRY(glDrawBuffers,GLsizei -> Ptr GLenum -> IO ())
-EXTENSION_ENTRY(glDrawElements,GLenum -> GLsizei -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(glDrawRangeElements,GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(glEnable,GLenum -> IO ())
-EXTENSION_ENTRY(glEnableVertexAttribArray,GLuint -> IO ())
-EXTENSION_ENTRY(glEnablei,GLenum -> GLuint -> IO ())
-EXTENSION_ENTRY(glEndConditionalRender,IO ())
-EXTENSION_ENTRY(glEndQuery,GLenum -> IO ())
-EXTENSION_ENTRY(glEndTransformFeedback,IO ())
-EXTENSION_ENTRY(glFinish,IO ())
-EXTENSION_ENTRY(glFlush,IO ())
-EXTENSION_ENTRY(glFlushMappedBufferRange,GLenum -> GLintptr -> GLsizeiptr -> IO ())
-EXTENSION_ENTRY(glFramebufferRenderbuffer,GLenum -> GLenum -> GLenum -> GLuint -> IO ())
-EXTENSION_ENTRY(glFramebufferTexture1D,GLenum -> GLenum -> GLenum -> GLuint -> GLint -> IO ())
-EXTENSION_ENTRY(glFramebufferTexture2D,GLenum -> GLenum -> GLenum -> GLuint -> GLint -> IO ())
-EXTENSION_ENTRY(glFramebufferTexture3D,GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(glFramebufferTextureLayer,GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(glFrontFace,GLenum -> IO ())
-EXTENSION_ENTRY(glGenBuffers,GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glGenFramebuffers,GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glGenQueries,GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glGenRenderbuffers,GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glGenTextures,GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glGenVertexArrays,GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glGenerateMipmap,GLenum -> IO ())
-EXTENSION_ENTRY(glGetActiveAttrib,GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> IO ())
-EXTENSION_ENTRY(glGetActiveUniform,GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> IO ())
-EXTENSION_ENTRY(glGetAttachedShaders,GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glGetAttribLocation,GLuint -> Ptr GLchar -> IO GLint)
-EXTENSION_ENTRY(glGetBooleani_v,GLenum -> GLuint -> Ptr GLboolean -> IO ())
-EXTENSION_ENTRY(glGetBooleanv,GLenum -> Ptr GLboolean -> IO ())
-EXTENSION_ENTRY(glGetBufferParameteriv,GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glGetBufferPointerv,GLenum -> GLenum -> Ptr (Ptr a) -> IO ())
-EXTENSION_ENTRY(glGetBufferSubData,GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> IO ())
-EXTENSION_ENTRY(glGetCompressedTexImage,GLenum -> GLint -> Ptr a -> IO ())
-EXTENSION_ENTRY(glGetDoublev,GLenum -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glGetError,IO GLenum)
-EXTENSION_ENTRY(glGetFloatv,GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glGetFragDataLocation,GLuint -> Ptr GLchar -> IO GLint)
-EXTENSION_ENTRY(glGetFramebufferAttachmentParameteriv,GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glGetIntegerv,GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glGetPointerv,GLenum -> Ptr (Ptr a) -> IO ())
-EXTENSION_ENTRY(glGetProgramInfoLog,GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-EXTENSION_ENTRY(glGetProgramiv,GLuint -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glGetQueryObjectiv,GLuint -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glGetQueryObjectuiv,GLuint -> GLenum -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glGetQueryiv,GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glGetRenderbufferParameteriv,GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glGetShaderInfoLog,GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-EXTENSION_ENTRY(glGetShaderSource,GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-EXTENSION_ENTRY(glGetShaderiv,GLuint -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glGetString,GLenum -> IO (Ptr GLubyte))
-EXTENSION_ENTRY(glGetStringi,GLenum -> GLuint -> IO (Ptr GLubyte))
-EXTENSION_ENTRY(glGetTexImage,GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(glGetTexLevelParameterfv,GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glGetTexLevelParameteriv,GLenum -> GLint -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glGetTexParameterIiv,GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glGetTexParameterIuiv,GLenum -> GLenum -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glGetTexParameterfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glGetTexParameteriv,GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glGetTransformFeedbackVarying,GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> IO ())
-EXTENSION_ENTRY(glGetUniformLocation,GLuint -> Ptr GLchar -> IO GLint)
-EXTENSION_ENTRY(glGetUniformfv,GLuint -> GLint -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glGetUniformiv,GLuint -> GLint -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glGetUniformuiv,GLuint -> GLint -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glGetVertexAttribIiv,GLuint -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glGetVertexAttribIuiv,GLuint -> GLenum -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glGetVertexAttribPointerv,GLuint -> GLenum -> Ptr (Ptr a) -> IO ())
-EXTENSION_ENTRY(glGetVertexAttribdv,GLuint -> GLenum -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glGetVertexAttribfv,GLuint -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glGetVertexAttribiv,GLuint -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glHint,GLenum -> GLenum -> IO ())
-EXTENSION_ENTRY(glIsBuffer,GLuint -> IO GLboolean)
-EXTENSION_ENTRY(glIsEnabled,GLenum -> IO GLboolean)
-EXTENSION_ENTRY(glIsEnabledi,GLenum -> GLuint -> IO GLboolean)
-EXTENSION_ENTRY(glIsFramebuffer,GLuint -> IO GLboolean)
-EXTENSION_ENTRY(glIsProgram,GLuint -> IO GLboolean)
-EXTENSION_ENTRY(glIsQuery,GLuint -> IO GLboolean)
-EXTENSION_ENTRY(glIsRenderbuffer,GLuint -> IO GLboolean)
-EXTENSION_ENTRY(glIsShader,GLuint -> IO GLboolean)
-EXTENSION_ENTRY(glIsTexture,GLuint -> IO GLboolean)
-EXTENSION_ENTRY(glIsVertexArray,GLuint -> IO GLboolean)
-EXTENSION_ENTRY(glLineWidth,GLfloat -> IO ())
-EXTENSION_ENTRY(glLinkProgram,GLuint -> IO ())
-EXTENSION_ENTRY(glLogicOp,GLenum -> IO ())
-EXTENSION_ENTRY(glMapBuffer,GLenum -> GLenum -> IO (Ptr a))
-EXTENSION_ENTRY(glMapBufferRange,GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> IO (Ptr a))
-EXTENSION_ENTRY(glMultiDrawArrays,GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> IO ())
-EXTENSION_ENTRY(glMultiDrawElements,GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> IO ())
-EXTENSION_ENTRY(glPixelStoref,GLenum -> GLfloat -> IO ())
-EXTENSION_ENTRY(glPixelStorei,GLenum -> GLint -> IO ())
-EXTENSION_ENTRY(glPointParameterf,GLenum -> GLfloat -> IO ())
-EXTENSION_ENTRY(glPointParameterfv,GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glPointParameteri,GLenum -> GLint -> IO ())
-EXTENSION_ENTRY(glPointParameteriv,GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glPointSize,GLfloat -> IO ())
-EXTENSION_ENTRY(glPolygonMode,GLenum -> GLenum -> IO ())
-EXTENSION_ENTRY(glPolygonOffset,GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(glPrimitiveRestartIndex,GLuint -> IO ())
-EXTENSION_ENTRY(glReadBuffer,GLenum -> IO ())
-EXTENSION_ENTRY(glReadPixels,GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(glRenderbufferStorage,GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
-EXTENSION_ENTRY(glRenderbufferStorageMultisample,GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
-EXTENSION_ENTRY(glSampleCoverage,GLclampf -> GLboolean -> IO ())
-EXTENSION_ENTRY(glScissor,GLint -> GLint -> GLsizei -> GLsizei -> IO ())
-EXTENSION_ENTRY(glShaderSource,GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glStencilFunc,GLenum -> GLint -> GLuint -> IO ())
-EXTENSION_ENTRY(glStencilFuncSeparate,GLenum -> GLenum -> GLint -> GLuint -> IO ())
-EXTENSION_ENTRY(glStencilMask,GLuint -> IO ())
-EXTENSION_ENTRY(glStencilMaskSeparate,GLenum -> GLuint -> IO ())
-EXTENSION_ENTRY(glStencilOp,GLenum -> GLenum -> GLenum -> IO ())
-EXTENSION_ENTRY(glStencilOpSeparate,GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-EXTENSION_ENTRY(glTexImage1D,GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(glTexImage2D,GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(glTexImage3D,GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(glTexParameterIiv,GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glTexParameterIuiv,GLenum -> GLenum -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glTexParameterf,GLenum -> GLenum -> GLfloat -> IO ())
-EXTENSION_ENTRY(glTexParameterfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glTexParameteri,GLenum -> GLenum -> GLint -> IO ())
-EXTENSION_ENTRY(glTexParameteriv,GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glTexSubImage1D,GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(glTexSubImage2D,GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(glTexSubImage3D,GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(glTransformFeedbackVaryings,GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> IO ())
-EXTENSION_ENTRY(glUniform1f,GLint -> GLfloat -> IO ())
-EXTENSION_ENTRY(glUniform1fv,GLint -> GLsizei -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glUniform1i,GLint -> GLint -> IO ())
-EXTENSION_ENTRY(glUniform1iv,GLint -> GLsizei -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glUniform1ui,GLint -> GLuint -> IO ())
-EXTENSION_ENTRY(glUniform1uiv,GLint -> GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glUniform2f,GLint -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(glUniform2fv,GLint -> GLsizei -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glUniform2i,GLint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(glUniform2iv,GLint -> GLsizei -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glUniform2ui,GLint -> GLuint -> GLuint -> IO ())
-EXTENSION_ENTRY(glUniform2uiv,GLint -> GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glUniform3f,GLint -> GLfloat -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(glUniform3fv,GLint -> GLsizei -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glUniform3i,GLint -> GLint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(glUniform3iv,GLint -> GLsizei -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glUniform3ui,GLint -> GLuint -> GLuint -> GLuint -> IO ())
-EXTENSION_ENTRY(glUniform3uiv,GLint -> GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glUniform4f,GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(glUniform4fv,GLint -> GLsizei -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glUniform4i,GLint -> GLint -> GLint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(glUniform4iv,GLint -> GLsizei -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glUniform4ui,GLint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-EXTENSION_ENTRY(glUniform4uiv,GLint -> GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glUniformMatrix2fv,GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glUniformMatrix2x3fv,GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glUniformMatrix2x4fv,GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glUniformMatrix3fv,GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glUniformMatrix3x2fv,GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glUniformMatrix3x4fv,GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glUniformMatrix4fv,GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glUniformMatrix4x2fv,GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glUniformMatrix4x3fv,GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glUnmapBuffer,GLenum -> IO GLboolean)
-EXTENSION_ENTRY(glUseProgram,GLuint -> IO ())
-EXTENSION_ENTRY(glValidateProgram,GLuint -> IO ())
-EXTENSION_ENTRY(glVertexAttrib1d,GLuint -> GLdouble -> IO ())
-EXTENSION_ENTRY(glVertexAttrib1dv,GLuint -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glVertexAttrib1f,GLuint -> GLfloat -> IO ())
-EXTENSION_ENTRY(glVertexAttrib1fv,GLuint -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glVertexAttrib1s,GLuint -> GLshort -> IO ())
-EXTENSION_ENTRY(glVertexAttrib1sv,GLuint -> Ptr GLshort -> IO ())
-EXTENSION_ENTRY(glVertexAttrib2d,GLuint -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(glVertexAttrib2dv,GLuint -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glVertexAttrib2f,GLuint -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(glVertexAttrib2fv,GLuint -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glVertexAttrib2s,GLuint -> GLshort -> GLshort -> IO ())
-EXTENSION_ENTRY(glVertexAttrib2sv,GLuint -> Ptr GLshort -> IO ())
-EXTENSION_ENTRY(glVertexAttrib3d,GLuint -> GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(glVertexAttrib3dv,GLuint -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glVertexAttrib3f,GLuint -> GLfloat -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(glVertexAttrib3fv,GLuint -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glVertexAttrib3s,GLuint -> GLshort -> GLshort -> GLshort -> IO ())
-EXTENSION_ENTRY(glVertexAttrib3sv,GLuint -> Ptr GLshort -> IO ())
-EXTENSION_ENTRY(glVertexAttrib4Nbv,GLuint -> Ptr GLbyte -> IO ())
-EXTENSION_ENTRY(glVertexAttrib4Niv,GLuint -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glVertexAttrib4Nsv,GLuint -> Ptr GLshort -> IO ())
-EXTENSION_ENTRY(glVertexAttrib4Nub,GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> IO ())
-EXTENSION_ENTRY(glVertexAttrib4Nubv,GLuint -> Ptr GLubyte -> IO ())
-EXTENSION_ENTRY(glVertexAttrib4Nuiv,GLuint -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glVertexAttrib4Nusv,GLuint -> Ptr GLushort -> IO ())
-EXTENSION_ENTRY(glVertexAttrib4bv,GLuint -> Ptr GLbyte -> IO ())
-EXTENSION_ENTRY(glVertexAttrib4d,GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(glVertexAttrib4dv,GLuint -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glVertexAttrib4f,GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(glVertexAttrib4fv,GLuint -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glVertexAttrib4iv,GLuint -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glVertexAttrib4s,GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
-EXTENSION_ENTRY(glVertexAttrib4sv,GLuint -> Ptr GLshort -> IO ())
-EXTENSION_ENTRY(glVertexAttrib4ubv,GLuint -> Ptr GLubyte -> IO ())
-EXTENSION_ENTRY(glVertexAttrib4uiv,GLuint -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glVertexAttrib4usv,GLuint -> Ptr GLushort -> IO ())
-EXTENSION_ENTRY(glVertexAttribI1i,GLuint -> GLint -> IO ())
-EXTENSION_ENTRY(glVertexAttribI1iv,GLuint -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glVertexAttribI1ui,GLuint -> GLuint -> IO ())
-EXTENSION_ENTRY(glVertexAttribI1uiv,GLuint -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glVertexAttribI2i,GLuint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(glVertexAttribI2iv,GLuint -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glVertexAttribI2ui,GLuint -> GLuint -> GLuint -> IO ())
-EXTENSION_ENTRY(glVertexAttribI2uiv,GLuint -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glVertexAttribI3i,GLuint -> GLint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(glVertexAttribI3iv,GLuint -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glVertexAttribI3ui,GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-EXTENSION_ENTRY(glVertexAttribI3uiv,GLuint -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glVertexAttribI4bv,GLuint -> Ptr GLbyte -> IO ())
-EXTENSION_ENTRY(glVertexAttribI4i,GLuint -> GLint -> GLint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(glVertexAttribI4iv,GLuint -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glVertexAttribI4sv,GLuint -> Ptr GLshort -> IO ())
-EXTENSION_ENTRY(glVertexAttribI4ubv,GLuint -> Ptr GLubyte -> IO ())
-EXTENSION_ENTRY(glVertexAttribI4ui,GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-EXTENSION_ENTRY(glVertexAttribI4uiv,GLuint -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glVertexAttribI4usv,GLuint -> Ptr GLushort -> IO ())
-EXTENSION_ENTRY(glVertexAttribIPointer,GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(glVertexAttribPointer,GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(glViewport,GLint -> GLint -> GLsizei -> GLsizei -> IO ())
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+{-# OPTIONS_HADDOCK hide #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.Core31.Functions
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions from the OpenGL 3.1 core, see
+-- <http://www.opengl.org/registry/>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.Core31.Functions (
+   glActiveTexture,
+   glAttachShader,
+   glBeginConditionalRender,
+   glBeginQuery,
+   glBeginTransformFeedback,
+   glBindAttribLocation,
+   glBindBuffer,
+   glBindFragDataLocation,
+   glBindFramebuffer,
+   glBindRenderbuffer,
+   glBindTexture,
+   glBindVertexArray,
+   glBlendColor,
+   glBlendEquation,
+   glBlendEquationSeparate,
+   glBlendFunc,
+   glBlendFuncSeparate,
+   glBlitFramebuffer,
+   glBufferData,
+   glBufferSubData,
+   glCheckFramebufferStatus,
+   glClampColor,
+   glClear,
+   glClearBufferfi,
+   glClearBufferfv,
+   glClearBufferiv,
+   glClearBufferuiv,
+   glClearColor,
+   glClearDepth,
+   glClearStencil,
+   glColorMask,
+   glColorMaski,
+   glCompileShader,
+   glCompressedTexImage1D,
+   glCompressedTexImage2D,
+   glCompressedTexImage3D,
+   glCompressedTexSubImage1D,
+   glCompressedTexSubImage2D,
+   glCompressedTexSubImage3D,
+   glCopyTexImage1D,
+   glCopyTexImage2D,
+   glCopyTexSubImage1D,
+   glCopyTexSubImage2D,
+   glCopyTexSubImage3D,
+   glCreateProgram,
+   glCreateShader,
+   glCullFace,
+   glDeleteBuffers,
+   glDeleteFramebuffers,
+   glDeleteProgram,
+   glDeleteQueries,
+   glDeleteRenderbuffers,
+   glDeleteShader,
+   glDeleteTextures,
+   glDeleteVertexArrays,
+   glDepthFunc,
+   glDepthMask,
+   glDepthRange,
+   glDetachShader,
+   glDisable,
+   glDisableVertexAttribArray,
+   glDisablei,
+   glDrawArrays,
+   glDrawBuffer,
+   glDrawBuffers,
+   glDrawElements,
+   glDrawRangeElements,
+   glEnable,
+   glEnableVertexAttribArray,
+   glEnablei,
+   glEndConditionalRender,
+   glEndQuery,
+   glEndTransformFeedback,
+   glFinish,
+   glFlush,
+   glFlushMappedBufferRange,
+   glFramebufferRenderbuffer,
+   glFramebufferTexture1D,
+   glFramebufferTexture2D,
+   glFramebufferTexture3D,
+   glFramebufferTextureLayer,
+   glFrontFace,
+   glGenBuffers,
+   glGenFramebuffers,
+   glGenQueries,
+   glGenRenderbuffers,
+   glGenTextures,
+   glGenVertexArrays,
+   glGenerateMipmap,
+   glGetActiveAttrib,
+   glGetActiveUniform,
+   glGetAttachedShaders,
+   glGetAttribLocation,
+   glGetBooleani_v,
+   glGetBooleanv,
+   glGetBufferParameteriv,
+   glGetBufferPointerv,
+   glGetBufferSubData,
+   glGetCompressedTexImage,
+   glGetDoublev,
+   glGetError,
+   glGetFloatv,
+   glGetFragDataLocation,
+   glGetFramebufferAttachmentParameteriv,
+   glGetIntegerv,
+   glGetPointerv,
+   glGetProgramInfoLog,
+   glGetProgramiv,
+   glGetQueryObjectiv,
+   glGetQueryObjectuiv,
+   glGetQueryiv,
+   glGetRenderbufferParameteriv,
+   glGetShaderInfoLog,
+   glGetShaderSource,
+   glGetShaderiv,
+   glGetString,
+   glGetStringi,
+   glGetTexImage,
+   glGetTexLevelParameterfv,
+   glGetTexLevelParameteriv,
+   glGetTexParameterIiv,
+   glGetTexParameterIuiv,
+   glGetTexParameterfv,
+   glGetTexParameteriv,
+   glGetTransformFeedbackVarying,
+   glGetUniformLocation,
+   glGetUniformfv,
+   glGetUniformiv,
+   glGetUniformuiv,
+   glGetVertexAttribIiv,
+   glGetVertexAttribIuiv,
+   glGetVertexAttribPointerv,
+   glGetVertexAttribdv,
+   glGetVertexAttribfv,
+   glGetVertexAttribiv,
+   glHint,
+   glIsBuffer,
+   glIsEnabled,
+   glIsEnabledi,
+   glIsFramebuffer,
+   glIsProgram,
+   glIsQuery,
+   glIsRenderbuffer,
+   glIsShader,
+   glIsTexture,
+   glIsVertexArray,
+   glLineWidth,
+   glLinkProgram,
+   glLogicOp,
+   glMapBuffer,
+   glMapBufferRange,
+   glMultiDrawArrays,
+   glMultiDrawElements,
+   glPixelStoref,
+   glPixelStorei,
+   glPointParameterf,
+   glPointParameterfv,
+   glPointParameteri,
+   glPointParameteriv,
+   glPointSize,
+   glPolygonMode,
+   glPolygonOffset,
+   glPrimitiveRestartIndex,
+   glReadBuffer,
+   glReadPixels,
+   glRenderbufferStorage,
+   glRenderbufferStorageMultisample,
+   glSampleCoverage,
+   glScissor,
+   glShaderSource,
+   glStencilFunc,
+   glStencilFuncSeparate,
+   glStencilMask,
+   glStencilMaskSeparate,
+   glStencilOp,
+   glStencilOpSeparate,
+   glTexImage1D,
+   glTexImage2D,
+   glTexImage3D,
+   glTexParameterIiv,
+   glTexParameterIuiv,
+   glTexParameterf,
+   glTexParameterfv,
+   glTexParameteri,
+   glTexParameteriv,
+   glTexSubImage1D,
+   glTexSubImage2D,
+   glTexSubImage3D,
+   glTransformFeedbackVaryings,
+   glUniform1f,
+   glUniform1fv,
+   glUniform1i,
+   glUniform1iv,
+   glUniform1ui,
+   glUniform1uiv,
+   glUniform2f,
+   glUniform2fv,
+   glUniform2i,
+   glUniform2iv,
+   glUniform2ui,
+   glUniform2uiv,
+   glUniform3f,
+   glUniform3fv,
+   glUniform3i,
+   glUniform3iv,
+   glUniform3ui,
+   glUniform3uiv,
+   glUniform4f,
+   glUniform4fv,
+   glUniform4i,
+   glUniform4iv,
+   glUniform4ui,
+   glUniform4uiv,
+   glUniformMatrix2fv,
+   glUniformMatrix2x3fv,
+   glUniformMatrix2x4fv,
+   glUniformMatrix3fv,
+   glUniformMatrix3x2fv,
+   glUniformMatrix3x4fv,
+   glUniformMatrix4fv,
+   glUniformMatrix4x2fv,
+   glUniformMatrix4x3fv,
+   glUnmapBuffer,
+   glUseProgram,
+   glValidateProgram,
+   glVertexAttrib1d,
+   glVertexAttrib1dv,
+   glVertexAttrib1f,
+   glVertexAttrib1fv,
+   glVertexAttrib1s,
+   glVertexAttrib1sv,
+   glVertexAttrib2d,
+   glVertexAttrib2dv,
+   glVertexAttrib2f,
+   glVertexAttrib2fv,
+   glVertexAttrib2s,
+   glVertexAttrib2sv,
+   glVertexAttrib3d,
+   glVertexAttrib3dv,
+   glVertexAttrib3f,
+   glVertexAttrib3fv,
+   glVertexAttrib3s,
+   glVertexAttrib3sv,
+   glVertexAttrib4Nbv,
+   glVertexAttrib4Niv,
+   glVertexAttrib4Nsv,
+   glVertexAttrib4Nub,
+   glVertexAttrib4Nubv,
+   glVertexAttrib4Nuiv,
+   glVertexAttrib4Nusv,
+   glVertexAttrib4bv,
+   glVertexAttrib4d,
+   glVertexAttrib4dv,
+   glVertexAttrib4f,
+   glVertexAttrib4fv,
+   glVertexAttrib4iv,
+   glVertexAttrib4s,
+   glVertexAttrib4sv,
+   glVertexAttrib4ubv,
+   glVertexAttrib4uiv,
+   glVertexAttrib4usv,
+   glVertexAttribI1i,
+   glVertexAttribI1iv,
+   glVertexAttribI1ui,
+   glVertexAttribI1uiv,
+   glVertexAttribI2i,
+   glVertexAttribI2iv,
+   glVertexAttribI2ui,
+   glVertexAttribI2uiv,
+   glVertexAttribI3i,
+   glVertexAttribI3iv,
+   glVertexAttribI3ui,
+   glVertexAttribI3uiv,
+   glVertexAttribI4bv,
+   glVertexAttribI4i,
+   glVertexAttribI4iv,
+   glVertexAttribI4sv,
+   glVertexAttribI4ubv,
+   glVertexAttribI4ui,
+   glVertexAttribI4uiv,
+   glVertexAttribI4usv,
+   glVertexAttribIPointer,
+   glVertexAttribPointer,
+   glViewport
+) where
+
+import Foreign.Ptr
+import Foreign.C.Types
+import Graphics.Rendering.OpenGL.Raw.Extensions
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "OpenGL 3.1"
+
+EXTENSION_ENTRY(dyn_glActiveTexture,ptr_glActiveTexture,"glActiveTexture",glActiveTexture,GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glAttachShader,ptr_glAttachShader,"glAttachShader",glAttachShader,GLuint -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glBeginConditionalRender,ptr_glBeginConditionalRender,"glBeginConditionalRender",glBeginConditionalRender,GLuint -> GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glBeginQuery,ptr_glBeginQuery,"glBeginQuery",glBeginQuery,GLenum -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glBeginTransformFeedback,ptr_glBeginTransformFeedback,"glBeginTransformFeedback",glBeginTransformFeedback,GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glBindAttribLocation,ptr_glBindAttribLocation,"glBindAttribLocation",glBindAttribLocation,GLuint -> GLuint -> Ptr GLchar -> IO ())
+EXTENSION_ENTRY(dyn_glBindBuffer,ptr_glBindBuffer,"glBindBuffer",glBindBuffer,GLenum -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glBindFragDataLocation,ptr_glBindFragDataLocation,"glBindFragDataLocation",glBindFragDataLocation,GLuint -> GLuint -> Ptr GLchar -> IO ())
+EXTENSION_ENTRY(dyn_glBindFramebuffer,ptr_glBindFramebuffer,"glBindFramebuffer",glBindFramebuffer,GLenum -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glBindRenderbuffer,ptr_glBindRenderbuffer,"glBindRenderbuffer",glBindRenderbuffer,GLenum -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glBindTexture,ptr_glBindTexture,"glBindTexture",glBindTexture,GLenum -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glBindVertexArray,ptr_glBindVertexArray,"glBindVertexArray",glBindVertexArray,GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glBlendColor,ptr_glBlendColor,"glBlendColor",glBlendColor,GLclampf -> GLclampf -> GLclampf -> GLclampf -> IO ())
+EXTENSION_ENTRY(dyn_glBlendEquation,ptr_glBlendEquation,"glBlendEquation",glBlendEquation,GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glBlendEquationSeparate,ptr_glBlendEquationSeparate,"glBlendEquationSeparate",glBlendEquationSeparate,GLenum -> GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glBlendFunc,ptr_glBlendFunc,"glBlendFunc",glBlendFunc,GLenum -> GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glBlendFuncSeparate,ptr_glBlendFuncSeparate,"glBlendFuncSeparate",glBlendFuncSeparate,GLenum -> GLenum -> GLenum -> GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glBlitFramebuffer,ptr_glBlitFramebuffer,"glBlitFramebuffer",glBlitFramebuffer,GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glBufferData,ptr_glBufferData,"glBufferData",glBufferData,GLenum -> GLsizeiptr -> Ptr a -> GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glBufferSubData,ptr_glBufferSubData,"glBufferSubData",glBufferSubData,GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glCheckFramebufferStatus,ptr_glCheckFramebufferStatus,"glCheckFramebufferStatus",glCheckFramebufferStatus,GLenum -> IO GLenum)
+EXTENSION_ENTRY(dyn_glClampColor,ptr_glClampColor,"glClampColor",glClampColor,GLenum -> GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glClear,ptr_glClear,"glClear",glClear,GLbitfield -> IO ())
+EXTENSION_ENTRY(dyn_glClearBufferfi,ptr_glClearBufferfi,"glClearBufferfi",glClearBufferfi,GLenum -> GLint -> GLfloat -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glClearBufferfv,ptr_glClearBufferfv,"glClearBufferfv",glClearBufferfv,GLenum -> GLint -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glClearBufferiv,ptr_glClearBufferiv,"glClearBufferiv",glClearBufferiv,GLenum -> GLint -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glClearBufferuiv,ptr_glClearBufferuiv,"glClearBufferuiv",glClearBufferuiv,GLenum -> GLint -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glClearColor,ptr_glClearColor,"glClearColor",glClearColor,GLclampf -> GLclampf -> GLclampf -> GLclampf -> IO ())
+EXTENSION_ENTRY(dyn_glClearDepth,ptr_glClearDepth,"glClearDepth",glClearDepth,GLclampd -> IO ())
+EXTENSION_ENTRY(dyn_glClearStencil,ptr_glClearStencil,"glClearStencil",glClearStencil,GLint -> IO ())
+EXTENSION_ENTRY(dyn_glColorMask,ptr_glColorMask,"glColorMask",glColorMask,GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
+EXTENSION_ENTRY(dyn_glColorMaski,ptr_glColorMaski,"glColorMaski",glColorMaski,GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
+EXTENSION_ENTRY(dyn_glCompileShader,ptr_glCompileShader,"glCompileShader",glCompileShader,GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glCompressedTexImage1D,ptr_glCompressedTexImage1D,"glCompressedTexImage1D",glCompressedTexImage1D,GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glCompressedTexImage2D,ptr_glCompressedTexImage2D,"glCompressedTexImage2D",glCompressedTexImage2D,GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glCompressedTexImage3D,ptr_glCompressedTexImage3D,"glCompressedTexImage3D",glCompressedTexImage3D,GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glCompressedTexSubImage1D,ptr_glCompressedTexSubImage1D,"glCompressedTexSubImage1D",glCompressedTexSubImage1D,GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glCompressedTexSubImage2D,ptr_glCompressedTexSubImage2D,"glCompressedTexSubImage2D",glCompressedTexSubImage2D,GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glCompressedTexSubImage3D,ptr_glCompressedTexSubImage3D,"glCompressedTexSubImage3D",glCompressedTexSubImage3D,GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glCopyTexImage1D,ptr_glCopyTexImage1D,"glCopyTexImage1D",glCopyTexImage1D,GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glCopyTexImage2D,ptr_glCopyTexImage2D,"glCopyTexImage2D",glCopyTexImage2D,GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glCopyTexSubImage1D,ptr_glCopyTexSubImage1D,"glCopyTexSubImage1D",glCopyTexSubImage1D,GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ())
+EXTENSION_ENTRY(dyn_glCopyTexSubImage2D,ptr_glCopyTexSubImage2D,"glCopyTexSubImage2D",glCopyTexSubImage2D,GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
+EXTENSION_ENTRY(dyn_glCopyTexSubImage3D,ptr_glCopyTexSubImage3D,"glCopyTexSubImage3D",glCopyTexSubImage3D,GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
+EXTENSION_ENTRY(dyn_glCreateProgram,ptr_glCreateProgram,"glCreateProgram",glCreateProgram,IO GLuint)
+EXTENSION_ENTRY(dyn_glCreateShader,ptr_glCreateShader,"glCreateShader",glCreateShader,GLenum -> IO GLuint)
+EXTENSION_ENTRY(dyn_glCullFace,ptr_glCullFace,"glCullFace",glCullFace,GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glDeleteBuffers,ptr_glDeleteBuffers,"glDeleteBuffers",glDeleteBuffers,GLsizei -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glDeleteFramebuffers,ptr_glDeleteFramebuffers,"glDeleteFramebuffers",glDeleteFramebuffers,GLsizei -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glDeleteProgram,ptr_glDeleteProgram,"glDeleteProgram",glDeleteProgram,GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glDeleteQueries,ptr_glDeleteQueries,"glDeleteQueries",glDeleteQueries,GLsizei -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glDeleteRenderbuffers,ptr_glDeleteRenderbuffers,"glDeleteRenderbuffers",glDeleteRenderbuffers,GLsizei -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glDeleteShader,ptr_glDeleteShader,"glDeleteShader",glDeleteShader,GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glDeleteTextures,ptr_glDeleteTextures,"glDeleteTextures",glDeleteTextures,GLsizei -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glDeleteVertexArrays,ptr_glDeleteVertexArrays,"glDeleteVertexArrays",glDeleteVertexArrays,GLsizei -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glDepthFunc,ptr_glDepthFunc,"glDepthFunc",glDepthFunc,GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glDepthMask,ptr_glDepthMask,"glDepthMask",glDepthMask,GLboolean -> IO ())
+EXTENSION_ENTRY(dyn_glDepthRange,ptr_glDepthRange,"glDepthRange",glDepthRange,GLclampd -> GLclampd -> IO ())
+EXTENSION_ENTRY(dyn_glDetachShader,ptr_glDetachShader,"glDetachShader",glDetachShader,GLuint -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glDisable,ptr_glDisable,"glDisable",glDisable,GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glDisableVertexAttribArray,ptr_glDisableVertexAttribArray,"glDisableVertexAttribArray",glDisableVertexAttribArray,GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glDisablei,ptr_glDisablei,"glDisablei",glDisablei,GLenum -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glDrawArrays,ptr_glDrawArrays,"glDrawArrays",glDrawArrays,GLenum -> GLint -> GLsizei -> IO ())
+EXTENSION_ENTRY(dyn_glDrawBuffer,ptr_glDrawBuffer,"glDrawBuffer",glDrawBuffer,GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glDrawBuffers,ptr_glDrawBuffers,"glDrawBuffers",glDrawBuffers,GLsizei -> Ptr GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glDrawElements,ptr_glDrawElements,"glDrawElements",glDrawElements,GLenum -> GLsizei -> GLenum -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glDrawRangeElements,ptr_glDrawRangeElements,"glDrawRangeElements",glDrawRangeElements,GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glEnable,ptr_glEnable,"glEnable",glEnable,GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glEnableVertexAttribArray,ptr_glEnableVertexAttribArray,"glEnableVertexAttribArray",glEnableVertexAttribArray,GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glEnablei,ptr_glEnablei,"glEnablei",glEnablei,GLenum -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glEndConditionalRender,ptr_glEndConditionalRender,"glEndConditionalRender",glEndConditionalRender,IO ())
+EXTENSION_ENTRY(dyn_glEndQuery,ptr_glEndQuery,"glEndQuery",glEndQuery,GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glEndTransformFeedback,ptr_glEndTransformFeedback,"glEndTransformFeedback",glEndTransformFeedback,IO ())
+EXTENSION_ENTRY(dyn_glFinish,ptr_glFinish,"glFinish",glFinish,IO ())
+EXTENSION_ENTRY(dyn_glFlush,ptr_glFlush,"glFlush",glFlush,IO ())
+EXTENSION_ENTRY(dyn_glFlushMappedBufferRange,ptr_glFlushMappedBufferRange,"glFlushMappedBufferRange",glFlushMappedBufferRange,GLenum -> GLintptr -> GLsizeiptr -> IO ())
+EXTENSION_ENTRY(dyn_glFramebufferRenderbuffer,ptr_glFramebufferRenderbuffer,"glFramebufferRenderbuffer",glFramebufferRenderbuffer,GLenum -> GLenum -> GLenum -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glFramebufferTexture1D,ptr_glFramebufferTexture1D,"glFramebufferTexture1D",glFramebufferTexture1D,GLenum -> GLenum -> GLenum -> GLuint -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glFramebufferTexture2D,ptr_glFramebufferTexture2D,"glFramebufferTexture2D",glFramebufferTexture2D,GLenum -> GLenum -> GLenum -> GLuint -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glFramebufferTexture3D,ptr_glFramebufferTexture3D,"glFramebufferTexture3D",glFramebufferTexture3D,GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glFramebufferTextureLayer,ptr_glFramebufferTextureLayer,"glFramebufferTextureLayer",glFramebufferTextureLayer,GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glFrontFace,ptr_glFrontFace,"glFrontFace",glFrontFace,GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glGenBuffers,ptr_glGenBuffers,"glGenBuffers",glGenBuffers,GLsizei -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glGenFramebuffers,ptr_glGenFramebuffers,"glGenFramebuffers",glGenFramebuffers,GLsizei -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glGenQueries,ptr_glGenQueries,"glGenQueries",glGenQueries,GLsizei -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glGenRenderbuffers,ptr_glGenRenderbuffers,"glGenRenderbuffers",glGenRenderbuffers,GLsizei -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glGenTextures,ptr_glGenTextures,"glGenTextures",glGenTextures,GLsizei -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glGenVertexArrays,ptr_glGenVertexArrays,"glGenVertexArrays",glGenVertexArrays,GLsizei -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glGenerateMipmap,ptr_glGenerateMipmap,"glGenerateMipmap",glGenerateMipmap,GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glGetActiveAttrib,ptr_glGetActiveAttrib,"glGetActiveAttrib",glGetActiveAttrib,GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> IO ())
+EXTENSION_ENTRY(dyn_glGetActiveUniform,ptr_glGetActiveUniform,"glGetActiveUniform",glGetActiveUniform,GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> IO ())
+EXTENSION_ENTRY(dyn_glGetAttachedShaders,ptr_glGetAttachedShaders,"glGetAttachedShaders",glGetAttachedShaders,GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glGetAttribLocation,ptr_glGetAttribLocation,"glGetAttribLocation",glGetAttribLocation,GLuint -> Ptr GLchar -> IO GLint)
+EXTENSION_ENTRY(dyn_glGetBooleani_v,ptr_glGetBooleani_v,"glGetBooleani_v",glGetBooleani_v,GLenum -> GLuint -> Ptr GLboolean -> IO ())
+EXTENSION_ENTRY(dyn_glGetBooleanv,ptr_glGetBooleanv,"glGetBooleanv",glGetBooleanv,GLenum -> Ptr GLboolean -> IO ())
+EXTENSION_ENTRY(dyn_glGetBufferParameteriv,ptr_glGetBufferParameteriv,"glGetBufferParameteriv",glGetBufferParameteriv,GLenum -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glGetBufferPointerv,ptr_glGetBufferPointerv,"glGetBufferPointerv",glGetBufferPointerv,GLenum -> GLenum -> Ptr (Ptr a) -> IO ())
+EXTENSION_ENTRY(dyn_glGetBufferSubData,ptr_glGetBufferSubData,"glGetBufferSubData",glGetBufferSubData,GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glGetCompressedTexImage,ptr_glGetCompressedTexImage,"glGetCompressedTexImage",glGetCompressedTexImage,GLenum -> GLint -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glGetDoublev,ptr_glGetDoublev,"glGetDoublev",glGetDoublev,GLenum -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glGetError,ptr_glGetError,"glGetError",glGetError,IO GLenum)
+EXTENSION_ENTRY(dyn_glGetFloatv,ptr_glGetFloatv,"glGetFloatv",glGetFloatv,GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glGetFragDataLocation,ptr_glGetFragDataLocation,"glGetFragDataLocation",glGetFragDataLocation,GLuint -> Ptr GLchar -> IO GLint)
+EXTENSION_ENTRY(dyn_glGetFramebufferAttachmentParameteriv,ptr_glGetFramebufferAttachmentParameteriv,"glGetFramebufferAttachmentParameteriv",glGetFramebufferAttachmentParameteriv,GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glGetIntegerv,ptr_glGetIntegerv,"glGetIntegerv",glGetIntegerv,GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glGetPointerv,ptr_glGetPointerv,"glGetPointerv",glGetPointerv,GLenum -> Ptr (Ptr a) -> IO ())
+EXTENSION_ENTRY(dyn_glGetProgramInfoLog,ptr_glGetProgramInfoLog,"glGetProgramInfoLog",glGetProgramInfoLog,GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
+EXTENSION_ENTRY(dyn_glGetProgramiv,ptr_glGetProgramiv,"glGetProgramiv",glGetProgramiv,GLuint -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glGetQueryObjectiv,ptr_glGetQueryObjectiv,"glGetQueryObjectiv",glGetQueryObjectiv,GLuint -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glGetQueryObjectuiv,ptr_glGetQueryObjectuiv,"glGetQueryObjectuiv",glGetQueryObjectuiv,GLuint -> GLenum -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glGetQueryiv,ptr_glGetQueryiv,"glGetQueryiv",glGetQueryiv,GLenum -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glGetRenderbufferParameteriv,ptr_glGetRenderbufferParameteriv,"glGetRenderbufferParameteriv",glGetRenderbufferParameteriv,GLenum -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glGetShaderInfoLog,ptr_glGetShaderInfoLog,"glGetShaderInfoLog",glGetShaderInfoLog,GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
+EXTENSION_ENTRY(dyn_glGetShaderSource,ptr_glGetShaderSource,"glGetShaderSource",glGetShaderSource,GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
+EXTENSION_ENTRY(dyn_glGetShaderiv,ptr_glGetShaderiv,"glGetShaderiv",glGetShaderiv,GLuint -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glGetString,ptr_glGetString,"glGetString",glGetString,GLenum -> IO (Ptr GLubyte))
+EXTENSION_ENTRY(dyn_glGetStringi,ptr_glGetStringi,"glGetStringi",glGetStringi,GLenum -> GLuint -> IO (Ptr GLubyte))
+EXTENSION_ENTRY(dyn_glGetTexImage,ptr_glGetTexImage,"glGetTexImage",glGetTexImage,GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glGetTexLevelParameterfv,ptr_glGetTexLevelParameterfv,"glGetTexLevelParameterfv",glGetTexLevelParameterfv,GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glGetTexLevelParameteriv,ptr_glGetTexLevelParameteriv,"glGetTexLevelParameteriv",glGetTexLevelParameteriv,GLenum -> GLint -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glGetTexParameterIiv,ptr_glGetTexParameterIiv,"glGetTexParameterIiv",glGetTexParameterIiv,GLenum -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glGetTexParameterIuiv,ptr_glGetTexParameterIuiv,"glGetTexParameterIuiv",glGetTexParameterIuiv,GLenum -> GLenum -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glGetTexParameterfv,ptr_glGetTexParameterfv,"glGetTexParameterfv",glGetTexParameterfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glGetTexParameteriv,ptr_glGetTexParameteriv,"glGetTexParameteriv",glGetTexParameteriv,GLenum -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glGetTransformFeedbackVarying,ptr_glGetTransformFeedbackVarying,"glGetTransformFeedbackVarying",glGetTransformFeedbackVarying,GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> IO ())
+EXTENSION_ENTRY(dyn_glGetUniformLocation,ptr_glGetUniformLocation,"glGetUniformLocation",glGetUniformLocation,GLuint -> Ptr GLchar -> IO GLint)
+EXTENSION_ENTRY(dyn_glGetUniformfv,ptr_glGetUniformfv,"glGetUniformfv",glGetUniformfv,GLuint -> GLint -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glGetUniformiv,ptr_glGetUniformiv,"glGetUniformiv",glGetUniformiv,GLuint -> GLint -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glGetUniformuiv,ptr_glGetUniformuiv,"glGetUniformuiv",glGetUniformuiv,GLuint -> GLint -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glGetVertexAttribIiv,ptr_glGetVertexAttribIiv,"glGetVertexAttribIiv",glGetVertexAttribIiv,GLuint -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glGetVertexAttribIuiv,ptr_glGetVertexAttribIuiv,"glGetVertexAttribIuiv",glGetVertexAttribIuiv,GLuint -> GLenum -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glGetVertexAttribPointerv,ptr_glGetVertexAttribPointerv,"glGetVertexAttribPointerv",glGetVertexAttribPointerv,GLuint -> GLenum -> Ptr (Ptr a) -> IO ())
+EXTENSION_ENTRY(dyn_glGetVertexAttribdv,ptr_glGetVertexAttribdv,"glGetVertexAttribdv",glGetVertexAttribdv,GLuint -> GLenum -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glGetVertexAttribfv,ptr_glGetVertexAttribfv,"glGetVertexAttribfv",glGetVertexAttribfv,GLuint -> GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glGetVertexAttribiv,ptr_glGetVertexAttribiv,"glGetVertexAttribiv",glGetVertexAttribiv,GLuint -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glHint,ptr_glHint,"glHint",glHint,GLenum -> GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glIsBuffer,ptr_glIsBuffer,"glIsBuffer",glIsBuffer,GLuint -> IO GLboolean)
+EXTENSION_ENTRY(dyn_glIsEnabled,ptr_glIsEnabled,"glIsEnabled",glIsEnabled,GLenum -> IO GLboolean)
+EXTENSION_ENTRY(dyn_glIsEnabledi,ptr_glIsEnabledi,"glIsEnabledi",glIsEnabledi,GLenum -> GLuint -> IO GLboolean)
+EXTENSION_ENTRY(dyn_glIsFramebuffer,ptr_glIsFramebuffer,"glIsFramebuffer",glIsFramebuffer,GLuint -> IO GLboolean)
+EXTENSION_ENTRY(dyn_glIsProgram,ptr_glIsProgram,"glIsProgram",glIsProgram,GLuint -> IO GLboolean)
+EXTENSION_ENTRY(dyn_glIsQuery,ptr_glIsQuery,"glIsQuery",glIsQuery,GLuint -> IO GLboolean)
+EXTENSION_ENTRY(dyn_glIsRenderbuffer,ptr_glIsRenderbuffer,"glIsRenderbuffer",glIsRenderbuffer,GLuint -> IO GLboolean)
+EXTENSION_ENTRY(dyn_glIsShader,ptr_glIsShader,"glIsShader",glIsShader,GLuint -> IO GLboolean)
+EXTENSION_ENTRY(dyn_glIsTexture,ptr_glIsTexture,"glIsTexture",glIsTexture,GLuint -> IO GLboolean)
+EXTENSION_ENTRY(dyn_glIsVertexArray,ptr_glIsVertexArray,"glIsVertexArray",glIsVertexArray,GLuint -> IO GLboolean)
+EXTENSION_ENTRY(dyn_glLineWidth,ptr_glLineWidth,"glLineWidth",glLineWidth,GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glLinkProgram,ptr_glLinkProgram,"glLinkProgram",glLinkProgram,GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glLogicOp,ptr_glLogicOp,"glLogicOp",glLogicOp,GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glMapBuffer,ptr_glMapBuffer,"glMapBuffer",glMapBuffer,GLenum -> GLenum -> IO (Ptr a))
+EXTENSION_ENTRY(dyn_glMapBufferRange,ptr_glMapBufferRange,"glMapBufferRange",glMapBufferRange,GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> IO (Ptr a))
+EXTENSION_ENTRY(dyn_glMultiDrawArrays,ptr_glMultiDrawArrays,"glMultiDrawArrays",glMultiDrawArrays,GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> IO ())
+EXTENSION_ENTRY(dyn_glMultiDrawElements,ptr_glMultiDrawElements,"glMultiDrawElements",glMultiDrawElements,GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> IO ())
+EXTENSION_ENTRY(dyn_glPixelStoref,ptr_glPixelStoref,"glPixelStoref",glPixelStoref,GLenum -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glPixelStorei,ptr_glPixelStorei,"glPixelStorei",glPixelStorei,GLenum -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glPointParameterf,ptr_glPointParameterf,"glPointParameterf",glPointParameterf,GLenum -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glPointParameterfv,ptr_glPointParameterfv,"glPointParameterfv",glPointParameterfv,GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glPointParameteri,ptr_glPointParameteri,"glPointParameteri",glPointParameteri,GLenum -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glPointParameteriv,ptr_glPointParameteriv,"glPointParameteriv",glPointParameteriv,GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glPointSize,ptr_glPointSize,"glPointSize",glPointSize,GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glPolygonMode,ptr_glPolygonMode,"glPolygonMode",glPolygonMode,GLenum -> GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glPolygonOffset,ptr_glPolygonOffset,"glPolygonOffset",glPolygonOffset,GLfloat -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glPrimitiveRestartIndex,ptr_glPrimitiveRestartIndex,"glPrimitiveRestartIndex",glPrimitiveRestartIndex,GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glReadBuffer,ptr_glReadBuffer,"glReadBuffer",glReadBuffer,GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glReadPixels,ptr_glReadPixels,"glReadPixels",glReadPixels,GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glRenderbufferStorage,ptr_glRenderbufferStorage,"glRenderbufferStorage",glRenderbufferStorage,GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
+EXTENSION_ENTRY(dyn_glRenderbufferStorageMultisample,ptr_glRenderbufferStorageMultisample,"glRenderbufferStorageMultisample",glRenderbufferStorageMultisample,GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
+EXTENSION_ENTRY(dyn_glSampleCoverage,ptr_glSampleCoverage,"glSampleCoverage",glSampleCoverage,GLclampf -> GLboolean -> IO ())
+EXTENSION_ENTRY(dyn_glScissor,ptr_glScissor,"glScissor",glScissor,GLint -> GLint -> GLsizei -> GLsizei -> IO ())
+EXTENSION_ENTRY(dyn_glShaderSource,ptr_glShaderSource,"glShaderSource",glShaderSource,GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glStencilFunc,ptr_glStencilFunc,"glStencilFunc",glStencilFunc,GLenum -> GLint -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glStencilFuncSeparate,ptr_glStencilFuncSeparate,"glStencilFuncSeparate",glStencilFuncSeparate,GLenum -> GLenum -> GLint -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glStencilMask,ptr_glStencilMask,"glStencilMask",glStencilMask,GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glStencilMaskSeparate,ptr_glStencilMaskSeparate,"glStencilMaskSeparate",glStencilMaskSeparate,GLenum -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glStencilOp,ptr_glStencilOp,"glStencilOp",glStencilOp,GLenum -> GLenum -> GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glStencilOpSeparate,ptr_glStencilOpSeparate,"glStencilOpSeparate",glStencilOpSeparate,GLenum -> GLenum -> GLenum -> GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glTexImage1D,ptr_glTexImage1D,"glTexImage1D",glTexImage1D,GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glTexImage2D,ptr_glTexImage2D,"glTexImage2D",glTexImage2D,GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glTexImage3D,ptr_glTexImage3D,"glTexImage3D",glTexImage3D,GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glTexParameterIiv,ptr_glTexParameterIiv,"glTexParameterIiv",glTexParameterIiv,GLenum -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glTexParameterIuiv,ptr_glTexParameterIuiv,"glTexParameterIuiv",glTexParameterIuiv,GLenum -> GLenum -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glTexParameterf,ptr_glTexParameterf,"glTexParameterf",glTexParameterf,GLenum -> GLenum -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glTexParameterfv,ptr_glTexParameterfv,"glTexParameterfv",glTexParameterfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glTexParameteri,ptr_glTexParameteri,"glTexParameteri",glTexParameteri,GLenum -> GLenum -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glTexParameteriv,ptr_glTexParameteriv,"glTexParameteriv",glTexParameteriv,GLenum -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glTexSubImage1D,ptr_glTexSubImage1D,"glTexSubImage1D",glTexSubImage1D,GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glTexSubImage2D,ptr_glTexSubImage2D,"glTexSubImage2D",glTexSubImage2D,GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glTexSubImage3D,ptr_glTexSubImage3D,"glTexSubImage3D",glTexSubImage3D,GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glTransformFeedbackVaryings,ptr_glTransformFeedbackVaryings,"glTransformFeedbackVaryings",glTransformFeedbackVaryings,GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glUniform1f,ptr_glUniform1f,"glUniform1f",glUniform1f,GLint -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glUniform1fv,ptr_glUniform1fv,"glUniform1fv",glUniform1fv,GLint -> GLsizei -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glUniform1i,ptr_glUniform1i,"glUniform1i",glUniform1i,GLint -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glUniform1iv,ptr_glUniform1iv,"glUniform1iv",glUniform1iv,GLint -> GLsizei -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glUniform1ui,ptr_glUniform1ui,"glUniform1ui",glUniform1ui,GLint -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glUniform1uiv,ptr_glUniform1uiv,"glUniform1uiv",glUniform1uiv,GLint -> GLsizei -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glUniform2f,ptr_glUniform2f,"glUniform2f",glUniform2f,GLint -> GLfloat -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glUniform2fv,ptr_glUniform2fv,"glUniform2fv",glUniform2fv,GLint -> GLsizei -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glUniform2i,ptr_glUniform2i,"glUniform2i",glUniform2i,GLint -> GLint -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glUniform2iv,ptr_glUniform2iv,"glUniform2iv",glUniform2iv,GLint -> GLsizei -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glUniform2ui,ptr_glUniform2ui,"glUniform2ui",glUniform2ui,GLint -> GLuint -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glUniform2uiv,ptr_glUniform2uiv,"glUniform2uiv",glUniform2uiv,GLint -> GLsizei -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glUniform3f,ptr_glUniform3f,"glUniform3f",glUniform3f,GLint -> GLfloat -> GLfloat -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glUniform3fv,ptr_glUniform3fv,"glUniform3fv",glUniform3fv,GLint -> GLsizei -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glUniform3i,ptr_glUniform3i,"glUniform3i",glUniform3i,GLint -> GLint -> GLint -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glUniform3iv,ptr_glUniform3iv,"glUniform3iv",glUniform3iv,GLint -> GLsizei -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glUniform3ui,ptr_glUniform3ui,"glUniform3ui",glUniform3ui,GLint -> GLuint -> GLuint -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glUniform3uiv,ptr_glUniform3uiv,"glUniform3uiv",glUniform3uiv,GLint -> GLsizei -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glUniform4f,ptr_glUniform4f,"glUniform4f",glUniform4f,GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glUniform4fv,ptr_glUniform4fv,"glUniform4fv",glUniform4fv,GLint -> GLsizei -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glUniform4i,ptr_glUniform4i,"glUniform4i",glUniform4i,GLint -> GLint -> GLint -> GLint -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glUniform4iv,ptr_glUniform4iv,"glUniform4iv",glUniform4iv,GLint -> GLsizei -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glUniform4ui,ptr_glUniform4ui,"glUniform4ui",glUniform4ui,GLint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glUniform4uiv,ptr_glUniform4uiv,"glUniform4uiv",glUniform4uiv,GLint -> GLsizei -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glUniformMatrix2fv,ptr_glUniformMatrix2fv,"glUniformMatrix2fv",glUniformMatrix2fv,GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glUniformMatrix2x3fv,ptr_glUniformMatrix2x3fv,"glUniformMatrix2x3fv",glUniformMatrix2x3fv,GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glUniformMatrix2x4fv,ptr_glUniformMatrix2x4fv,"glUniformMatrix2x4fv",glUniformMatrix2x4fv,GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glUniformMatrix3fv,ptr_glUniformMatrix3fv,"glUniformMatrix3fv",glUniformMatrix3fv,GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glUniformMatrix3x2fv,ptr_glUniformMatrix3x2fv,"glUniformMatrix3x2fv",glUniformMatrix3x2fv,GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glUniformMatrix3x4fv,ptr_glUniformMatrix3x4fv,"glUniformMatrix3x4fv",glUniformMatrix3x4fv,GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glUniformMatrix4fv,ptr_glUniformMatrix4fv,"glUniformMatrix4fv",glUniformMatrix4fv,GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glUniformMatrix4x2fv,ptr_glUniformMatrix4x2fv,"glUniformMatrix4x2fv",glUniformMatrix4x2fv,GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glUniformMatrix4x3fv,ptr_glUniformMatrix4x3fv,"glUniformMatrix4x3fv",glUniformMatrix4x3fv,GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glUnmapBuffer,ptr_glUnmapBuffer,"glUnmapBuffer",glUnmapBuffer,GLenum -> IO GLboolean)
+EXTENSION_ENTRY(dyn_glUseProgram,ptr_glUseProgram,"glUseProgram",glUseProgram,GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glValidateProgram,ptr_glValidateProgram,"glValidateProgram",glValidateProgram,GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib1d,ptr_glVertexAttrib1d,"glVertexAttrib1d",glVertexAttrib1d,GLuint -> GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib1dv,ptr_glVertexAttrib1dv,"glVertexAttrib1dv",glVertexAttrib1dv,GLuint -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib1f,ptr_glVertexAttrib1f,"glVertexAttrib1f",glVertexAttrib1f,GLuint -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib1fv,ptr_glVertexAttrib1fv,"glVertexAttrib1fv",glVertexAttrib1fv,GLuint -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib1s,ptr_glVertexAttrib1s,"glVertexAttrib1s",glVertexAttrib1s,GLuint -> GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib1sv,ptr_glVertexAttrib1sv,"glVertexAttrib1sv",glVertexAttrib1sv,GLuint -> Ptr GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib2d,ptr_glVertexAttrib2d,"glVertexAttrib2d",glVertexAttrib2d,GLuint -> GLdouble -> GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib2dv,ptr_glVertexAttrib2dv,"glVertexAttrib2dv",glVertexAttrib2dv,GLuint -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib2f,ptr_glVertexAttrib2f,"glVertexAttrib2f",glVertexAttrib2f,GLuint -> GLfloat -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib2fv,ptr_glVertexAttrib2fv,"glVertexAttrib2fv",glVertexAttrib2fv,GLuint -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib2s,ptr_glVertexAttrib2s,"glVertexAttrib2s",glVertexAttrib2s,GLuint -> GLshort -> GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib2sv,ptr_glVertexAttrib2sv,"glVertexAttrib2sv",glVertexAttrib2sv,GLuint -> Ptr GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib3d,ptr_glVertexAttrib3d,"glVertexAttrib3d",glVertexAttrib3d,GLuint -> GLdouble -> GLdouble -> GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib3dv,ptr_glVertexAttrib3dv,"glVertexAttrib3dv",glVertexAttrib3dv,GLuint -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib3f,ptr_glVertexAttrib3f,"glVertexAttrib3f",glVertexAttrib3f,GLuint -> GLfloat -> GLfloat -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib3fv,ptr_glVertexAttrib3fv,"glVertexAttrib3fv",glVertexAttrib3fv,GLuint -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib3s,ptr_glVertexAttrib3s,"glVertexAttrib3s",glVertexAttrib3s,GLuint -> GLshort -> GLshort -> GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib3sv,ptr_glVertexAttrib3sv,"glVertexAttrib3sv",glVertexAttrib3sv,GLuint -> Ptr GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib4Nbv,ptr_glVertexAttrib4Nbv,"glVertexAttrib4Nbv",glVertexAttrib4Nbv,GLuint -> Ptr GLbyte -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib4Niv,ptr_glVertexAttrib4Niv,"glVertexAttrib4Niv",glVertexAttrib4Niv,GLuint -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib4Nsv,ptr_glVertexAttrib4Nsv,"glVertexAttrib4Nsv",glVertexAttrib4Nsv,GLuint -> Ptr GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib4Nub,ptr_glVertexAttrib4Nub,"glVertexAttrib4Nub",glVertexAttrib4Nub,GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib4Nubv,ptr_glVertexAttrib4Nubv,"glVertexAttrib4Nubv",glVertexAttrib4Nubv,GLuint -> Ptr GLubyte -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib4Nuiv,ptr_glVertexAttrib4Nuiv,"glVertexAttrib4Nuiv",glVertexAttrib4Nuiv,GLuint -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib4Nusv,ptr_glVertexAttrib4Nusv,"glVertexAttrib4Nusv",glVertexAttrib4Nusv,GLuint -> Ptr GLushort -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib4bv,ptr_glVertexAttrib4bv,"glVertexAttrib4bv",glVertexAttrib4bv,GLuint -> Ptr GLbyte -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib4d,ptr_glVertexAttrib4d,"glVertexAttrib4d",glVertexAttrib4d,GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib4dv,ptr_glVertexAttrib4dv,"glVertexAttrib4dv",glVertexAttrib4dv,GLuint -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib4f,ptr_glVertexAttrib4f,"glVertexAttrib4f",glVertexAttrib4f,GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib4fv,ptr_glVertexAttrib4fv,"glVertexAttrib4fv",glVertexAttrib4fv,GLuint -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib4iv,ptr_glVertexAttrib4iv,"glVertexAttrib4iv",glVertexAttrib4iv,GLuint -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib4s,ptr_glVertexAttrib4s,"glVertexAttrib4s",glVertexAttrib4s,GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib4sv,ptr_glVertexAttrib4sv,"glVertexAttrib4sv",glVertexAttrib4sv,GLuint -> Ptr GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib4ubv,ptr_glVertexAttrib4ubv,"glVertexAttrib4ubv",glVertexAttrib4ubv,GLuint -> Ptr GLubyte -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib4uiv,ptr_glVertexAttrib4uiv,"glVertexAttrib4uiv",glVertexAttrib4uiv,GLuint -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib4usv,ptr_glVertexAttrib4usv,"glVertexAttrib4usv",glVertexAttrib4usv,GLuint -> Ptr GLushort -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttribI1i,ptr_glVertexAttribI1i,"glVertexAttribI1i",glVertexAttribI1i,GLuint -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttribI1iv,ptr_glVertexAttribI1iv,"glVertexAttribI1iv",glVertexAttribI1iv,GLuint -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttribI1ui,ptr_glVertexAttribI1ui,"glVertexAttribI1ui",glVertexAttribI1ui,GLuint -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttribI1uiv,ptr_glVertexAttribI1uiv,"glVertexAttribI1uiv",glVertexAttribI1uiv,GLuint -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttribI2i,ptr_glVertexAttribI2i,"glVertexAttribI2i",glVertexAttribI2i,GLuint -> GLint -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttribI2iv,ptr_glVertexAttribI2iv,"glVertexAttribI2iv",glVertexAttribI2iv,GLuint -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttribI2ui,ptr_glVertexAttribI2ui,"glVertexAttribI2ui",glVertexAttribI2ui,GLuint -> GLuint -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttribI2uiv,ptr_glVertexAttribI2uiv,"glVertexAttribI2uiv",glVertexAttribI2uiv,GLuint -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttribI3i,ptr_glVertexAttribI3i,"glVertexAttribI3i",glVertexAttribI3i,GLuint -> GLint -> GLint -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttribI3iv,ptr_glVertexAttribI3iv,"glVertexAttribI3iv",glVertexAttribI3iv,GLuint -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttribI3ui,ptr_glVertexAttribI3ui,"glVertexAttribI3ui",glVertexAttribI3ui,GLuint -> GLuint -> GLuint -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttribI3uiv,ptr_glVertexAttribI3uiv,"glVertexAttribI3uiv",glVertexAttribI3uiv,GLuint -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttribI4bv,ptr_glVertexAttribI4bv,"glVertexAttribI4bv",glVertexAttribI4bv,GLuint -> Ptr GLbyte -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttribI4i,ptr_glVertexAttribI4i,"glVertexAttribI4i",glVertexAttribI4i,GLuint -> GLint -> GLint -> GLint -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttribI4iv,ptr_glVertexAttribI4iv,"glVertexAttribI4iv",glVertexAttribI4iv,GLuint -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttribI4sv,ptr_glVertexAttribI4sv,"glVertexAttribI4sv",glVertexAttribI4sv,GLuint -> Ptr GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttribI4ubv,ptr_glVertexAttribI4ubv,"glVertexAttribI4ubv",glVertexAttribI4ubv,GLuint -> Ptr GLubyte -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttribI4ui,ptr_glVertexAttribI4ui,"glVertexAttribI4ui",glVertexAttribI4ui,GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttribI4uiv,ptr_glVertexAttribI4uiv,"glVertexAttribI4uiv",glVertexAttribI4uiv,GLuint -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttribI4usv,ptr_glVertexAttribI4usv,"glVertexAttribI4usv",glVertexAttribI4usv,GLuint -> Ptr GLushort -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttribIPointer,ptr_glVertexAttribIPointer,"glVertexAttribIPointer",glVertexAttribIPointer,GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttribPointer,ptr_glVertexAttribPointer,"glVertexAttribPointer",glVertexAttribPointer,GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glViewport,ptr_glViewport,"glViewport",glViewport,GLint -> GLint -> GLsizei -> GLsizei -> IO ())
diff --git a/src/Graphics/Rendering/OpenGL/Raw/Core31/Tokens.hs b/src/Graphics/Rendering/OpenGL/Raw/Core31/Tokens.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/Core31/Tokens.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/Core31/Tokens.hs
@@ -1,2064 +1,2064 @@
-{-# OPTIONS_HADDOCK hide #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.Core31.Tokens
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All tokens from the OpenGL 3.1 core, see <http://www.opengl.org/registry/>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.Core31.Tokens where
-
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-
-gl_ACTIVE_ATTRIBUTES :: GLenum
-gl_ACTIVE_ATTRIBUTES = 0x8B89
-
-gl_ACTIVE_ATTRIBUTE_MAX_LENGTH :: GLenum
-gl_ACTIVE_ATTRIBUTE_MAX_LENGTH = 0x8B8A
-
-gl_ACTIVE_TEXTURE :: GLenum
-gl_ACTIVE_TEXTURE = 0x84E0
-
-gl_ACTIVE_UNIFORMS :: GLenum
-gl_ACTIVE_UNIFORMS = 0x8B86
-
-gl_ACTIVE_UNIFORM_MAX_LENGTH :: GLenum
-gl_ACTIVE_UNIFORM_MAX_LENGTH = 0x8B87
-
-gl_ALIASED_LINE_WIDTH_RANGE :: GLenum
-gl_ALIASED_LINE_WIDTH_RANGE = 0x846E
-
-gl_ALPHA :: GLenum
-gl_ALPHA = 0x1906
-
-gl_ALWAYS :: GLenum
-gl_ALWAYS = 0x0207
-
-gl_AND :: GLenum
-gl_AND = 0x1501
-
-gl_AND_INVERTED :: GLenum
-gl_AND_INVERTED = 0x1504
-
-gl_AND_REVERSE :: GLenum
-gl_AND_REVERSE = 0x1502
-
-gl_ARRAY_BUFFER :: GLenum
-gl_ARRAY_BUFFER = 0x8892
-
-gl_ARRAY_BUFFER_BINDING :: GLenum
-gl_ARRAY_BUFFER_BINDING = 0x8894
-
-gl_ATTACHED_SHADERS :: GLenum
-gl_ATTACHED_SHADERS = 0x8B85
-
-gl_BACK :: GLenum
-gl_BACK = 0x0405
-
-gl_BACK_LEFT :: GLenum
-gl_BACK_LEFT = 0x0402
-
-gl_BACK_RIGHT :: GLenum
-gl_BACK_RIGHT = 0x0403
-
-gl_BGR :: GLenum
-gl_BGR = 0x80E0
-
-gl_BGRA :: GLenum
-gl_BGRA = 0x80E1
-
-gl_BGRA_INTEGER :: GLenum
-gl_BGRA_INTEGER = 0x8D9B
-
-gl_BGR_INTEGER :: GLenum
-gl_BGR_INTEGER = 0x8D9A
-
-gl_BLEND :: GLenum
-gl_BLEND = 0x0BE2
-
-gl_BLEND_COLOR :: GLenum
-gl_BLEND_COLOR = 0x8005
-
-gl_BLEND_DST :: GLenum
-gl_BLEND_DST = 0x0BE0
-
-gl_BLEND_DST_ALPHA :: GLenum
-gl_BLEND_DST_ALPHA = 0x80CA
-
-gl_BLEND_DST_RGB :: GLenum
-gl_BLEND_DST_RGB = 0x80C8
-
-gl_BLEND_EQUATION :: GLenum
-gl_BLEND_EQUATION = 0x8009
-
-gl_BLEND_EQUATION_ALPHA :: GLenum
-gl_BLEND_EQUATION_ALPHA = 0x883D
-
-gl_BLEND_EQUATION_RGB :: GLenum
-gl_BLEND_EQUATION_RGB = 0x8009
-
-gl_BLEND_SRC :: GLenum
-gl_BLEND_SRC = 0x0BE1
-
-gl_BLEND_SRC_ALPHA :: GLenum
-gl_BLEND_SRC_ALPHA = 0x80CB
-
-gl_BLEND_SRC_RGB :: GLenum
-gl_BLEND_SRC_RGB = 0x80C9
-
-gl_BLUE :: GLenum
-gl_BLUE = 0x1905
-
-gl_BLUE_INTEGER :: GLenum
-gl_BLUE_INTEGER = 0x8D96
-
-gl_BOOL :: GLenum
-gl_BOOL = 0x8B56
-
-gl_BOOL_VEC2 :: GLenum
-gl_BOOL_VEC2 = 0x8B57
-
-gl_BOOL_VEC3 :: GLenum
-gl_BOOL_VEC3 = 0x8B58
-
-gl_BOOL_VEC4 :: GLenum
-gl_BOOL_VEC4 = 0x8B59
-
-gl_BUFFER_ACCESS :: GLenum
-gl_BUFFER_ACCESS = 0x88BB
-
-gl_BUFFER_ACCESS_FLAGS :: GLenum
-gl_BUFFER_ACCESS_FLAGS = 0x911F
-
-gl_BUFFER_MAPPED :: GLenum
-gl_BUFFER_MAPPED = 0x88BC
-
-gl_BUFFER_MAP_LENGTH :: GLenum
-gl_BUFFER_MAP_LENGTH = 0x9120
-
-gl_BUFFER_MAP_OFFSET :: GLenum
-gl_BUFFER_MAP_OFFSET = 0x9121
-
-gl_BUFFER_MAP_POINTER :: GLenum
-gl_BUFFER_MAP_POINTER = 0x88BD
-
-gl_BUFFER_SIZE :: GLenum
-gl_BUFFER_SIZE = 0x8764
-
-gl_BUFFER_USAGE :: GLenum
-gl_BUFFER_USAGE = 0x8765
-
-gl_BYTE :: GLenum
-gl_BYTE = 0x1400
-
-gl_CCW :: GLenum
-gl_CCW = 0x0901
-
-gl_CLAMP_READ_COLOR :: GLenum
-gl_CLAMP_READ_COLOR = 0x891C
-
-gl_CLAMP_TO_BORDER :: GLenum
-gl_CLAMP_TO_BORDER = 0x812D
-
-gl_CLAMP_TO_EDGE :: GLenum
-gl_CLAMP_TO_EDGE = 0x812F
-
-gl_CLEAR :: GLenum
-gl_CLEAR = 0x1500
-
-gl_CLIP_DISTANCE0 :: GLenum
-gl_CLIP_DISTANCE0 = 0x3000
-
-gl_CLIP_DISTANCE1 :: GLenum
-gl_CLIP_DISTANCE1 = 0x3001
-
-gl_CLIP_DISTANCE2 :: GLenum
-gl_CLIP_DISTANCE2 = 0x3002
-
-gl_CLIP_DISTANCE3 :: GLenum
-gl_CLIP_DISTANCE3 = 0x3003
-
-gl_CLIP_DISTANCE4 :: GLenum
-gl_CLIP_DISTANCE4 = 0x3004
-
-gl_CLIP_DISTANCE5 :: GLenum
-gl_CLIP_DISTANCE5 = 0x3005
-
-gl_CLIP_DISTANCE6 :: GLenum
-gl_CLIP_DISTANCE6 = 0x3006
-
-gl_CLIP_DISTANCE7 :: GLenum
-gl_CLIP_DISTANCE7 = 0x3007
-
-gl_COLOR :: GLenum
-gl_COLOR = 0x1800
-
-gl_COLOR_ATTACHMENT0 :: GLenum
-gl_COLOR_ATTACHMENT0 = 0x8CE0
-
-gl_COLOR_ATTACHMENT1 :: GLenum
-gl_COLOR_ATTACHMENT1 = 0x8CE1
-
-gl_COLOR_ATTACHMENT10 :: GLenum
-gl_COLOR_ATTACHMENT10 = 0x8CEA
-
-gl_COLOR_ATTACHMENT11 :: GLenum
-gl_COLOR_ATTACHMENT11 = 0x8CEB
-
-gl_COLOR_ATTACHMENT12 :: GLenum
-gl_COLOR_ATTACHMENT12 = 0x8CEC
-
-gl_COLOR_ATTACHMENT13 :: GLenum
-gl_COLOR_ATTACHMENT13 = 0x8CED
-
-gl_COLOR_ATTACHMENT14 :: GLenum
-gl_COLOR_ATTACHMENT14 = 0x8CEE
-
-gl_COLOR_ATTACHMENT15 :: GLenum
-gl_COLOR_ATTACHMENT15 = 0x8CEF
-
-gl_COLOR_ATTACHMENT2 :: GLenum
-gl_COLOR_ATTACHMENT2 = 0x8CE2
-
-gl_COLOR_ATTACHMENT3 :: GLenum
-gl_COLOR_ATTACHMENT3 = 0x8CE3
-
-gl_COLOR_ATTACHMENT4 :: GLenum
-gl_COLOR_ATTACHMENT4 = 0x8CE4
-
-gl_COLOR_ATTACHMENT5 :: GLenum
-gl_COLOR_ATTACHMENT5 = 0x8CE5
-
-gl_COLOR_ATTACHMENT6 :: GLenum
-gl_COLOR_ATTACHMENT6 = 0x8CE6
-
-gl_COLOR_ATTACHMENT7 :: GLenum
-gl_COLOR_ATTACHMENT7 = 0x8CE7
-
-gl_COLOR_ATTACHMENT8 :: GLenum
-gl_COLOR_ATTACHMENT8 = 0x8CE8
-
-gl_COLOR_ATTACHMENT9 :: GLenum
-gl_COLOR_ATTACHMENT9 = 0x8CE9
-
-gl_COLOR_BUFFER_BIT :: GLbitfield
-gl_COLOR_BUFFER_BIT = 0x00004000
-
-gl_COLOR_CLEAR_VALUE :: GLenum
-gl_COLOR_CLEAR_VALUE = 0x0C22
-
-gl_COLOR_LOGIC_OP :: GLenum
-gl_COLOR_LOGIC_OP = 0x0BF2
-
-gl_COLOR_WRITEMASK :: GLenum
-gl_COLOR_WRITEMASK = 0x0C23
-
-gl_COMPARE_REF_TO_TEXTURE :: GLenum
-gl_COMPARE_REF_TO_TEXTURE = 0x884E
-
-gl_COMPILE_STATUS :: GLenum
-gl_COMPILE_STATUS = 0x8B81
-
-gl_COMPRESSED_RED :: GLenum
-gl_COMPRESSED_RED = 0x8225
-
-gl_COMPRESSED_RED_RGTC1 :: GLenum
-gl_COMPRESSED_RED_RGTC1 = 0x8DBB
-
-gl_COMPRESSED_RG :: GLenum
-gl_COMPRESSED_RG = 0x8226
-
-gl_COMPRESSED_RGB :: GLenum
-gl_COMPRESSED_RGB = 0x84ED
-
-gl_COMPRESSED_RGBA :: GLenum
-gl_COMPRESSED_RGBA = 0x84EE
-
-gl_COMPRESSED_RG_RGTC2 :: GLenum
-gl_COMPRESSED_RG_RGTC2 = 0x8DBD
-
-gl_COMPRESSED_SIGNED_RED_RGTC1 :: GLenum
-gl_COMPRESSED_SIGNED_RED_RGTC1 = 0x8DBC
-
-gl_COMPRESSED_SIGNED_RG_RGTC2 :: GLenum
-gl_COMPRESSED_SIGNED_RG_RGTC2 = 0x8DBE
-
-gl_COMPRESSED_SRGB :: GLenum
-gl_COMPRESSED_SRGB = 0x8C48
-
-gl_COMPRESSED_SRGB_ALPHA :: GLenum
-gl_COMPRESSED_SRGB_ALPHA = 0x8C49
-
-gl_COMPRESSED_TEXTURE_FORMATS :: GLenum
-gl_COMPRESSED_TEXTURE_FORMATS = 0x86A3
-
-gl_CONSTANT_ALPHA :: GLenum
-gl_CONSTANT_ALPHA = 0x8003
-
-gl_CONSTANT_COLOR :: GLenum
-gl_CONSTANT_COLOR = 0x8001
-
-gl_CONTEXT_FLAGS :: GLenum
-gl_CONTEXT_FLAGS = 0x821E
-
-gl_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT :: GLbitfield
-gl_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT = 0x0001
-
-gl_COPY :: GLenum
-gl_COPY = 0x1503
-
-gl_COPY_INVERTED :: GLenum
-gl_COPY_INVERTED = 0x150C
-
-gl_CULL_FACE :: GLenum
-gl_CULL_FACE = 0x0B44
-
-gl_CULL_FACE_MODE :: GLenum
-gl_CULL_FACE_MODE = 0x0B45
-
-gl_CURRENT_PROGRAM :: GLenum
-gl_CURRENT_PROGRAM = 0x8B8D
-
-gl_CURRENT_QUERY :: GLenum
-gl_CURRENT_QUERY = 0x8865
-
-gl_CURRENT_VERTEX_ATTRIB :: GLenum
-gl_CURRENT_VERTEX_ATTRIB = 0x8626
-
-gl_CW :: GLenum
-gl_CW = 0x0900
-
-gl_DECR :: GLenum
-gl_DECR = 0x1E03
-
-gl_DECR_WRAP :: GLenum
-gl_DECR_WRAP = 0x8508
-
-gl_DELETE_STATUS :: GLenum
-gl_DELETE_STATUS = 0x8B80
-
-gl_DEPTH :: GLenum
-gl_DEPTH = 0x1801
-
-gl_DEPTH24_STENCIL8 :: GLenum
-gl_DEPTH24_STENCIL8 = 0x88F0
-
-gl_DEPTH32F_STENCIL8 :: GLenum
-gl_DEPTH32F_STENCIL8 = 0x8CAD
-
-gl_DEPTH_ATTACHMENT :: GLenum
-gl_DEPTH_ATTACHMENT = 0x8D00
-
-gl_DEPTH_BUFFER :: GLenum
-gl_DEPTH_BUFFER = 0x8223
-
-gl_DEPTH_BUFFER_BIT :: GLbitfield
-gl_DEPTH_BUFFER_BIT = 0x00000100
-
-gl_DEPTH_CLEAR_VALUE :: GLenum
-gl_DEPTH_CLEAR_VALUE = 0x0B73
-
-gl_DEPTH_COMPONENT :: GLenum
-gl_DEPTH_COMPONENT = 0x1902
-
-gl_DEPTH_COMPONENT16 :: GLenum
-gl_DEPTH_COMPONENT16 = 0x81A5
-
-gl_DEPTH_COMPONENT24 :: GLenum
-gl_DEPTH_COMPONENT24 = 0x81A6
-
-gl_DEPTH_COMPONENT32 :: GLenum
-gl_DEPTH_COMPONENT32 = 0x81A7
-
-gl_DEPTH_COMPONENT32F :: GLenum
-gl_DEPTH_COMPONENT32F = 0x8CAC
-
-gl_DEPTH_FUNC :: GLenum
-gl_DEPTH_FUNC = 0x0B74
-
-gl_DEPTH_RANGE :: GLenum
-gl_DEPTH_RANGE = 0x0B70
-
-gl_DEPTH_STENCIL :: GLenum
-gl_DEPTH_STENCIL = 0x84F9
-
-gl_DEPTH_STENCIL_ATTACHMENT :: GLenum
-gl_DEPTH_STENCIL_ATTACHMENT = 0x821A
-
-gl_DEPTH_TEST :: GLenum
-gl_DEPTH_TEST = 0x0B71
-
-gl_DEPTH_WRITEMASK :: GLenum
-gl_DEPTH_WRITEMASK = 0x0B72
-
-gl_DITHER :: GLenum
-gl_DITHER = 0x0BD0
-
-gl_DONT_CARE :: GLenum
-gl_DONT_CARE = 0x1100
-
-gl_DOUBLE :: GLenum
-gl_DOUBLE = 0x140A
-
-gl_DOUBLEBUFFER :: GLenum
-gl_DOUBLEBUFFER = 0x0C32
-
-gl_DRAW_BUFFER :: GLenum
-gl_DRAW_BUFFER = 0x0C01
-
-gl_DRAW_BUFFER0 :: GLenum
-gl_DRAW_BUFFER0 = 0x8825
-
-gl_DRAW_BUFFER1 :: GLenum
-gl_DRAW_BUFFER1 = 0x8826
-
-gl_DRAW_BUFFER10 :: GLenum
-gl_DRAW_BUFFER10 = 0x882F
-
-gl_DRAW_BUFFER11 :: GLenum
-gl_DRAW_BUFFER11 = 0x8830
-
-gl_DRAW_BUFFER12 :: GLenum
-gl_DRAW_BUFFER12 = 0x8831
-
-gl_DRAW_BUFFER13 :: GLenum
-gl_DRAW_BUFFER13 = 0x8832
-
-gl_DRAW_BUFFER14 :: GLenum
-gl_DRAW_BUFFER14 = 0x8833
-
-gl_DRAW_BUFFER15 :: GLenum
-gl_DRAW_BUFFER15 = 0x8834
-
-gl_DRAW_BUFFER2 :: GLenum
-gl_DRAW_BUFFER2 = 0x8827
-
-gl_DRAW_BUFFER3 :: GLenum
-gl_DRAW_BUFFER3 = 0x8828
-
-gl_DRAW_BUFFER4 :: GLenum
-gl_DRAW_BUFFER4 = 0x8829
-
-gl_DRAW_BUFFER5 :: GLenum
-gl_DRAW_BUFFER5 = 0x882A
-
-gl_DRAW_BUFFER6 :: GLenum
-gl_DRAW_BUFFER6 = 0x882B
-
-gl_DRAW_BUFFER7 :: GLenum
-gl_DRAW_BUFFER7 = 0x882C
-
-gl_DRAW_BUFFER8 :: GLenum
-gl_DRAW_BUFFER8 = 0x882D
-
-gl_DRAW_BUFFER9 :: GLenum
-gl_DRAW_BUFFER9 = 0x882E
-
-gl_DRAW_FRAMEBUFFER :: GLenum
-gl_DRAW_FRAMEBUFFER = 0x8CA9
-
-gl_DRAW_FRAMEBUFFER_BINDING :: GLenum
-gl_DRAW_FRAMEBUFFER_BINDING = gl_FRAMEBUFFER_BINDING
-
-gl_DST_ALPHA :: GLenum
-gl_DST_ALPHA = 0x0304
-
-gl_DST_COLOR :: GLenum
-gl_DST_COLOR = 0x0306
-
-gl_DYNAMIC_COPY :: GLenum
-gl_DYNAMIC_COPY = 0x88EA
-
-gl_DYNAMIC_DRAW :: GLenum
-gl_DYNAMIC_DRAW = 0x88E8
-
-gl_DYNAMIC_READ :: GLenum
-gl_DYNAMIC_READ = 0x88E9
-
-gl_ELEMENT_ARRAY_BUFFER :: GLenum
-gl_ELEMENT_ARRAY_BUFFER = 0x8893
-
-gl_ELEMENT_ARRAY_BUFFER_BINDING :: GLenum
-gl_ELEMENT_ARRAY_BUFFER_BINDING = 0x8895
-
-gl_EQUAL :: GLenum
-gl_EQUAL = 0x0202
-
-gl_EQUIV :: GLenum
-gl_EQUIV = 0x1509
-
-gl_EXTENSIONS :: GLenum
-gl_EXTENSIONS = 0x1F03
-
-gl_FALSE :: GLenum
-gl_FALSE = 0
-
-gl_FASTEST :: GLenum
-gl_FASTEST = 0x1101
-
-gl_FILL :: GLenum
-gl_FILL = 0x1B02
-
-gl_FIXED_ONLY :: GLenum
-gl_FIXED_ONLY = 0x891D
-
-gl_FLOAT :: GLenum
-gl_FLOAT = 0x1406
-
-gl_FLOAT_32_UNSIGNED_INT_24_8_REV :: GLenum
-gl_FLOAT_32_UNSIGNED_INT_24_8_REV = 0x8DAD
-
-gl_FLOAT_MAT2 :: GLenum
-gl_FLOAT_MAT2 = 0x8B5A
-
-gl_FLOAT_MAT2x3 :: GLenum
-gl_FLOAT_MAT2x3 = 0x8B65
-
-gl_FLOAT_MAT2x4 :: GLenum
-gl_FLOAT_MAT2x4 = 0x8B66
-
-gl_FLOAT_MAT3 :: GLenum
-gl_FLOAT_MAT3 = 0x8B5B
-
-gl_FLOAT_MAT3x2 :: GLenum
-gl_FLOAT_MAT3x2 = 0x8B67
-
-gl_FLOAT_MAT3x4 :: GLenum
-gl_FLOAT_MAT3x4 = 0x8B68
-
-gl_FLOAT_MAT4 :: GLenum
-gl_FLOAT_MAT4 = 0x8B5C
-
-gl_FLOAT_MAT4x2 :: GLenum
-gl_FLOAT_MAT4x2 = 0x8B69
-
-gl_FLOAT_MAT4x3 :: GLenum
-gl_FLOAT_MAT4x3 = 0x8B6A
-
-gl_FLOAT_VEC2 :: GLenum
-gl_FLOAT_VEC2 = 0x8B50
-
-gl_FLOAT_VEC3 :: GLenum
-gl_FLOAT_VEC3 = 0x8B51
-
-gl_FLOAT_VEC4 :: GLenum
-gl_FLOAT_VEC4 = 0x8B52
-
-gl_FRAGMENT_SHADER :: GLenum
-gl_FRAGMENT_SHADER = 0x8B30
-
-gl_FRAGMENT_SHADER_DERIVATIVE_HINT :: GLenum
-gl_FRAGMENT_SHADER_DERIVATIVE_HINT = 0x8B8B
-
-gl_FRAMEBUFFER :: GLenum
-gl_FRAMEBUFFER = 0x8D40
-
-gl_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE :: GLenum
-gl_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE = 0x8215
-
-gl_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE :: GLenum
-gl_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE = 0x8214
-
-gl_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING :: GLenum
-gl_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING = 0x8210
-
-gl_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE :: GLenum
-gl_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE = 0x8211
-
-gl_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE :: GLenum
-gl_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE = 0x8216
-
-gl_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE :: GLenum
-gl_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE = 0x8213
-
-gl_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME :: GLenum
-gl_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = 0x8CD1
-
-gl_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE :: GLenum
-gl_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = 0x8CD0
-
-gl_FRAMEBUFFER_ATTACHMENT_RED_SIZE :: GLenum
-gl_FRAMEBUFFER_ATTACHMENT_RED_SIZE = 0x8212
-
-gl_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE :: GLenum
-gl_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE = 0x8217
-
-gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE :: GLenum
-gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = 0x8CD3
-
-gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER :: GLenum
-gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER = 0x8CD4
-
-gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL :: GLenum
-gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = 0x8CD2
-
-gl_FRAMEBUFFER_BINDING :: GLenum
-gl_FRAMEBUFFER_BINDING = 0x8CA6
-
-gl_FRAMEBUFFER_COMPLETE :: GLenum
-gl_FRAMEBUFFER_COMPLETE = 0x8CD5
-
-gl_FRAMEBUFFER_DEFAULT :: GLenum
-gl_FRAMEBUFFER_DEFAULT = 0x8218
-
-gl_FRAMEBUFFER_INCOMPLETE_ATTACHMENT :: GLenum
-gl_FRAMEBUFFER_INCOMPLETE_ATTACHMENT = 0x8CD6
-
-gl_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER :: GLenum
-gl_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER = 0x8CDB
-
-gl_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT :: GLenum
-gl_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = 0x8CD7
-
-gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE :: GLenum
-gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE = 0x8D56
-
-gl_FRAMEBUFFER_INCOMPLETE_READ_BUFFER :: GLenum
-gl_FRAMEBUFFER_INCOMPLETE_READ_BUFFER = 0x8CDC
-
-gl_FRAMEBUFFER_SRGB :: GLenum
-gl_FRAMEBUFFER_SRGB = 0x8DB9
-
-gl_FRAMEBUFFER_UNDEFINED :: GLenum
-gl_FRAMEBUFFER_UNDEFINED = 0x8219
-
-gl_FRAMEBUFFER_UNSUPPORTED :: GLenum
-gl_FRAMEBUFFER_UNSUPPORTED = 0x8CDD
-
-gl_FRONT :: GLenum
-gl_FRONT = 0x0404
-
-gl_FRONT_AND_BACK :: GLenum
-gl_FRONT_AND_BACK = 0x0408
-
-gl_FRONT_FACE :: GLenum
-gl_FRONT_FACE = 0x0B46
-
-gl_FRONT_LEFT :: GLenum
-gl_FRONT_LEFT = 0x0400
-
-gl_FRONT_RIGHT :: GLenum
-gl_FRONT_RIGHT = 0x0401
-
-gl_FUNC_ADD :: GLenum
-gl_FUNC_ADD = 0x8006
-
-gl_FUNC_REVERSE_SUBTRACT :: GLenum
-gl_FUNC_REVERSE_SUBTRACT = 0x800B
-
-gl_FUNC_SUBTRACT :: GLenum
-gl_FUNC_SUBTRACT = 0x800A
-
-gl_GEQUAL :: GLenum
-gl_GEQUAL = 0x0206
-
-gl_GREATER :: GLenum
-gl_GREATER = 0x0204
-
-gl_GREEN :: GLenum
-gl_GREEN = 0x1904
-
-gl_GREEN_INTEGER :: GLenum
-gl_GREEN_INTEGER = 0x8D95
-
-gl_HALF_FLOAT :: GLenum
-gl_HALF_FLOAT = 0x140B
-
-gl_INCR :: GLenum
-gl_INCR = 0x1E02
-
-gl_INCR_WRAP :: GLenum
-gl_INCR_WRAP = 0x8507
-
-gl_INFO_LOG_LENGTH :: GLenum
-gl_INFO_LOG_LENGTH = 0x8B84
-
-gl_INT :: GLenum
-gl_INT = 0x1404
-
-gl_INTERLEAVED_ATTRIBS :: GLenum
-gl_INTERLEAVED_ATTRIBS = 0x8C8C
-
-gl_INT_SAMPLER_1D :: GLenum
-gl_INT_SAMPLER_1D = 0x8DC9
-
-gl_INT_SAMPLER_1D_ARRAY :: GLenum
-gl_INT_SAMPLER_1D_ARRAY = 0x8DCE
-
-gl_INT_SAMPLER_2D :: GLenum
-gl_INT_SAMPLER_2D = 0x8DCA
-
-gl_INT_SAMPLER_2D_ARRAY :: GLenum
-gl_INT_SAMPLER_2D_ARRAY = 0x8DCF
-
-gl_INT_SAMPLER_2D_RECT :: GLenum
-gl_INT_SAMPLER_2D_RECT = 0x8DCD
-
-gl_INT_SAMPLER_3D :: GLenum
-gl_INT_SAMPLER_3D = 0x8DCB
-
-gl_INT_SAMPLER_BUFFER :: GLenum
-gl_INT_SAMPLER_BUFFER = 0x8DD0
-
-gl_INT_SAMPLER_CUBE :: GLenum
-gl_INT_SAMPLER_CUBE = 0x8DCC
-
-gl_INT_VEC2 :: GLenum
-gl_INT_VEC2 = 0x8B53
-
-gl_INT_VEC3 :: GLenum
-gl_INT_VEC3 = 0x8B54
-
-gl_INT_VEC4 :: GLenum
-gl_INT_VEC4 = 0x8B55
-
-gl_INVALID_ENUM :: GLenum
-gl_INVALID_ENUM = 0x0500
-
-gl_INVALID_FRAMEBUFFER_OPERATION :: GLenum
-gl_INVALID_FRAMEBUFFER_OPERATION = 0x0506
-
-gl_INVALID_OPERATION :: GLenum
-gl_INVALID_OPERATION = 0x0502
-
-gl_INVALID_VALUE :: GLenum
-gl_INVALID_VALUE = 0x0501
-
-gl_INVERT :: GLenum
-gl_INVERT = 0x150A
-
-gl_KEEP :: GLenum
-gl_KEEP = 0x1E00
-
-gl_LEFT :: GLenum
-gl_LEFT = 0x0406
-
-gl_LEQUAL :: GLenum
-gl_LEQUAL = 0x0203
-
-gl_LESS :: GLenum
-gl_LESS = 0x0201
-
-gl_LINE :: GLenum
-gl_LINE = 0x1B01
-
-gl_LINEAR :: GLenum
-gl_LINEAR = 0x2601
-
-gl_LINEAR_MIPMAP_LINEAR :: GLenum
-gl_LINEAR_MIPMAP_LINEAR = 0x2703
-
-gl_LINEAR_MIPMAP_NEAREST :: GLenum
-gl_LINEAR_MIPMAP_NEAREST = 0x2701
-
-gl_LINES :: GLenum
-gl_LINES = 0x0001
-
-gl_LINE_LOOP :: GLenum
-gl_LINE_LOOP = 0x0002
-
-gl_LINE_SMOOTH :: GLenum
-gl_LINE_SMOOTH = 0x0B20
-
-gl_LINE_SMOOTH_HINT :: GLenum
-gl_LINE_SMOOTH_HINT = 0x0C52
-
-gl_LINE_STRIP :: GLenum
-gl_LINE_STRIP = 0x0003
-
-gl_LINE_WIDTH :: GLenum
-gl_LINE_WIDTH = 0x0B21
-
-gl_LINE_WIDTH_GRANULARITY :: GLenum
-gl_LINE_WIDTH_GRANULARITY = 0x0B23
-
-gl_LINE_WIDTH_RANGE :: GLenum
-gl_LINE_WIDTH_RANGE = 0x0B22
-
-gl_LINK_STATUS :: GLenum
-gl_LINK_STATUS = 0x8B82
-
-gl_LOGIC_OP_MODE :: GLenum
-gl_LOGIC_OP_MODE = 0x0BF0
-
-gl_LOWER_LEFT :: GLenum
-gl_LOWER_LEFT = 0x8CA1
-
-gl_MAJOR_VERSION :: GLenum
-gl_MAJOR_VERSION = 0x821B
-
-gl_MAP_FLUSH_EXPLICIT_BIT :: GLbitfield
-gl_MAP_FLUSH_EXPLICIT_BIT = 0x0010
-
-gl_MAP_INVALIDATE_BUFFER_BIT :: GLbitfield
-gl_MAP_INVALIDATE_BUFFER_BIT = 0x0008
-
-gl_MAP_INVALIDATE_RANGE_BIT :: GLbitfield
-gl_MAP_INVALIDATE_RANGE_BIT = 0x0004
-
-gl_MAP_READ_BIT :: GLbitfield
-gl_MAP_READ_BIT = 0x0001
-
-gl_MAP_UNSYNCHRONIZED_BIT :: GLbitfield
-gl_MAP_UNSYNCHRONIZED_BIT = 0x0020
-
-gl_MAP_WRITE_BIT :: GLbitfield
-gl_MAP_WRITE_BIT = 0x0002
-
-gl_MAX :: GLenum
-gl_MAX = 0x8008
-
-gl_MAX_3D_TEXTURE_SIZE :: GLenum
-gl_MAX_3D_TEXTURE_SIZE = 0x8073
-
-gl_MAX_ARRAY_TEXTURE_LAYERS :: GLenum
-gl_MAX_ARRAY_TEXTURE_LAYERS = 0x88FF
-
-gl_MAX_CLIP_DISTANCES :: GLenum
-gl_MAX_CLIP_DISTANCES = 0x0D32
-
-gl_MAX_COLOR_ATTACHMENTS :: GLenum
-gl_MAX_COLOR_ATTACHMENTS = 0x8CDF
-
-gl_MAX_COMBINED_TEXTURE_IMAGE_UNITS :: GLenum
-gl_MAX_COMBINED_TEXTURE_IMAGE_UNITS = 0x8B4D
-
-gl_MAX_CUBE_MAP_TEXTURE_SIZE :: GLenum
-gl_MAX_CUBE_MAP_TEXTURE_SIZE = 0x851C
-
-gl_MAX_DRAW_BUFFERS :: GLenum
-gl_MAX_DRAW_BUFFERS = 0x8824
-
-gl_MAX_ELEMENTS_INDICES :: GLenum
-gl_MAX_ELEMENTS_INDICES = 0x80E9
-
-gl_MAX_ELEMENTS_VERTICES :: GLenum
-gl_MAX_ELEMENTS_VERTICES = 0x80E8
-
-gl_MAX_FRAGMENT_UNIFORM_COMPONENTS :: GLenum
-gl_MAX_FRAGMENT_UNIFORM_COMPONENTS = 0x8B49
-
-gl_MAX_PROGRAM_TEXEL_OFFSET :: GLenum
-gl_MAX_PROGRAM_TEXEL_OFFSET = 0x8905
-
-gl_MAX_RENDERBUFFER_SIZE :: GLenum
-gl_MAX_RENDERBUFFER_SIZE = 0x84E8
-
-gl_MAX_SAMPLES :: GLenum
-gl_MAX_SAMPLES = 0x8D57
-
-gl_MAX_TEXTURE_IMAGE_UNITS :: GLenum
-gl_MAX_TEXTURE_IMAGE_UNITS = 0x8872
-
-gl_MAX_TEXTURE_LOD_BIAS :: GLenum
-gl_MAX_TEXTURE_LOD_BIAS = 0x84FD
-
-gl_MAX_TEXTURE_SIZE :: GLenum
-gl_MAX_TEXTURE_SIZE = 0x0D33
-
-gl_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS :: GLenum
-gl_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = 0x8C8A
-
-gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS :: GLenum
-gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS = 0x8C8B
-
-gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS :: GLenum
-gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS = 0x8C80
-
-gl_MAX_VARYING_COMPONENTS :: GLenum
-gl_MAX_VARYING_COMPONENTS = 0x8B4B
-
-gl_MAX_VARYING_FLOATS :: GLenum
-gl_MAX_VARYING_FLOATS = 0x8B4B
-
-gl_MAX_VERTEX_ATTRIBS :: GLenum
-gl_MAX_VERTEX_ATTRIBS = 0x8869
-
-gl_MAX_VERTEX_TEXTURE_IMAGE_UNITS :: GLenum
-gl_MAX_VERTEX_TEXTURE_IMAGE_UNITS = 0x8B4C
-
-gl_MAX_VERTEX_UNIFORM_COMPONENTS :: GLenum
-gl_MAX_VERTEX_UNIFORM_COMPONENTS = 0x8B4A
-
-gl_MAX_VIEWPORT_DIMS :: GLenum
-gl_MAX_VIEWPORT_DIMS = 0x0D3A
-
-gl_MIN :: GLenum
-gl_MIN = 0x8007
-
-gl_MINOR_VERSION :: GLenum
-gl_MINOR_VERSION = 0x821C
-
-gl_MIN_PROGRAM_TEXEL_OFFSET :: GLenum
-gl_MIN_PROGRAM_TEXEL_OFFSET = 0x8904
-
-gl_MIRRORED_REPEAT :: GLenum
-gl_MIRRORED_REPEAT = 0x8370
-
-gl_MULTISAMPLE :: GLenum
-gl_MULTISAMPLE = 0x809D
-
-gl_NAND :: GLenum
-gl_NAND = 0x150E
-
-gl_NEAREST :: GLenum
-gl_NEAREST = 0x2600
-
-gl_NEAREST_MIPMAP_LINEAR :: GLenum
-gl_NEAREST_MIPMAP_LINEAR = 0x2702
-
-gl_NEAREST_MIPMAP_NEAREST :: GLenum
-gl_NEAREST_MIPMAP_NEAREST = 0x2700
-
-gl_NEVER :: GLenum
-gl_NEVER = 0x0200
-
-gl_NICEST :: GLenum
-gl_NICEST = 0x1102
-
-gl_NONE :: GLenum
-gl_NONE = 0
-
-gl_NOOP :: GLenum
-gl_NOOP = 0x1505
-
-gl_NOR :: GLenum
-gl_NOR = 0x1508
-
-gl_NOTEQUAL :: GLenum
-gl_NOTEQUAL = 0x0205
-
-gl_NO_ERROR :: GLenum
-gl_NO_ERROR = 0
-
-gl_NUM_COMPRESSED_TEXTURE_FORMATS :: GLenum
-gl_NUM_COMPRESSED_TEXTURE_FORMATS = 0x86A2
-
-gl_NUM_EXTENSIONS :: GLenum
-gl_NUM_EXTENSIONS = 0x821D
-
-gl_ONE :: GLenum
-gl_ONE = 1
-
-gl_ONE_MINUS_CONSTANT_ALPHA :: GLenum
-gl_ONE_MINUS_CONSTANT_ALPHA = 0x8004
-
-gl_ONE_MINUS_CONSTANT_COLOR :: GLenum
-gl_ONE_MINUS_CONSTANT_COLOR = 0x8002
-
-gl_ONE_MINUS_DST_ALPHA :: GLenum
-gl_ONE_MINUS_DST_ALPHA = 0x0305
-
-gl_ONE_MINUS_DST_COLOR :: GLenum
-gl_ONE_MINUS_DST_COLOR = 0x0307
-
-gl_ONE_MINUS_SRC_ALPHA :: GLenum
-gl_ONE_MINUS_SRC_ALPHA = 0x0303
-
-gl_ONE_MINUS_SRC_COLOR :: GLenum
-gl_ONE_MINUS_SRC_COLOR = 0x0301
-
-gl_OR :: GLenum
-gl_OR = 0x1507
-
-gl_OR_INVERTED :: GLenum
-gl_OR_INVERTED = 0x150D
-
-gl_OR_REVERSE :: GLenum
-gl_OR_REVERSE = 0x150B
-
-gl_OUT_OF_MEMORY :: GLenum
-gl_OUT_OF_MEMORY = 0x0505
-
-gl_PACK_ALIGNMENT :: GLenum
-gl_PACK_ALIGNMENT = 0x0D05
-
-gl_PACK_IMAGE_HEIGHT :: GLenum
-gl_PACK_IMAGE_HEIGHT = 0x806C
-
-gl_PACK_LSB_FIRST :: GLenum
-gl_PACK_LSB_FIRST = 0x0D01
-
-gl_PACK_ROW_LENGTH :: GLenum
-gl_PACK_ROW_LENGTH = 0x0D02
-
-gl_PACK_SKIP_IMAGES :: GLenum
-gl_PACK_SKIP_IMAGES = 0x806B
-
-gl_PACK_SKIP_PIXELS :: GLenum
-gl_PACK_SKIP_PIXELS = 0x0D04
-
-gl_PACK_SKIP_ROWS :: GLenum
-gl_PACK_SKIP_ROWS = 0x0D03
-
-gl_PACK_SWAP_BYTES :: GLenum
-gl_PACK_SWAP_BYTES = 0x0D00
-
-gl_PIXEL_PACK_BUFFER :: GLenum
-gl_PIXEL_PACK_BUFFER = 0x88EB
-
-gl_PIXEL_PACK_BUFFER_BINDING :: GLenum
-gl_PIXEL_PACK_BUFFER_BINDING = 0x88ED
-
-gl_PIXEL_UNPACK_BUFFER :: GLenum
-gl_PIXEL_UNPACK_BUFFER = 0x88EC
-
-gl_PIXEL_UNPACK_BUFFER_BINDING :: GLenum
-gl_PIXEL_UNPACK_BUFFER_BINDING = 0x88EF
-
-gl_POINT :: GLenum
-gl_POINT = 0x1B00
-
-gl_POINTS :: GLenum
-gl_POINTS = 0x0000
-
-gl_POINT_FADE_THRESHOLD_SIZE :: GLenum
-gl_POINT_FADE_THRESHOLD_SIZE = 0x8128
-
-gl_POINT_SIZE :: GLenum
-gl_POINT_SIZE = 0x0B11
-
-gl_POINT_SIZE_GRANULARITY :: GLenum
-gl_POINT_SIZE_GRANULARITY = 0x0B13
-
-gl_POINT_SIZE_RANGE :: GLenum
-gl_POINT_SIZE_RANGE = 0x0B12
-
-gl_POINT_SPRITE_COORD_ORIGIN :: GLenum
-gl_POINT_SPRITE_COORD_ORIGIN = 0x8CA0
-
-gl_POLYGON_OFFSET_FACTOR :: GLenum
-gl_POLYGON_OFFSET_FACTOR = 0x8038
-
-gl_POLYGON_OFFSET_FILL :: GLenum
-gl_POLYGON_OFFSET_FILL = 0x8037
-
-gl_POLYGON_OFFSET_LINE :: GLenum
-gl_POLYGON_OFFSET_LINE = 0x2A02
-
-gl_POLYGON_OFFSET_POINT :: GLenum
-gl_POLYGON_OFFSET_POINT = 0x2A01
-
-gl_POLYGON_OFFSET_UNITS :: GLenum
-gl_POLYGON_OFFSET_UNITS = 0x2A00
-
-gl_POLYGON_SMOOTH :: GLenum
-gl_POLYGON_SMOOTH = 0x0B41
-
-gl_POLYGON_SMOOTH_HINT :: GLenum
-gl_POLYGON_SMOOTH_HINT = 0x0C53
-
-gl_PRIMITIVES_GENERATED :: GLenum
-gl_PRIMITIVES_GENERATED = 0x8C87
-
-gl_PRIMITIVE_RESTART :: GLenum
-gl_PRIMITIVE_RESTART = 0x8F9D
-
-gl_PRIMITIVE_RESTART_INDEX :: GLenum
-gl_PRIMITIVE_RESTART_INDEX = 0x8F9E
-
-gl_PROXY_TEXTURE_1D :: GLenum
-gl_PROXY_TEXTURE_1D = 0x8063
-
-gl_PROXY_TEXTURE_1D_ARRAY :: GLenum
-gl_PROXY_TEXTURE_1D_ARRAY = 0x8C19
-
-gl_PROXY_TEXTURE_2D :: GLenum
-gl_PROXY_TEXTURE_2D = 0x8064
-
-gl_PROXY_TEXTURE_2D_ARRAY :: GLenum
-gl_PROXY_TEXTURE_2D_ARRAY = 0x8C1B
-
-gl_PROXY_TEXTURE_3D :: GLenum
-gl_PROXY_TEXTURE_3D = 0x8070
-
-gl_PROXY_TEXTURE_CUBE_MAP :: GLenum
-gl_PROXY_TEXTURE_CUBE_MAP = 0x851B
-
-gl_QUERY_BY_REGION_NO_WAIT :: GLenum
-gl_QUERY_BY_REGION_NO_WAIT = 0x8E16
-
-gl_QUERY_BY_REGION_WAIT :: GLenum
-gl_QUERY_BY_REGION_WAIT = 0x8E15
-
-gl_QUERY_COUNTER_BITS :: GLenum
-gl_QUERY_COUNTER_BITS = 0x8864
-
-gl_QUERY_NO_WAIT :: GLenum
-gl_QUERY_NO_WAIT = 0x8E14
-
-gl_QUERY_RESULT :: GLenum
-gl_QUERY_RESULT = 0x8866
-
-gl_QUERY_RESULT_AVAILABLE :: GLenum
-gl_QUERY_RESULT_AVAILABLE = 0x8867
-
-gl_QUERY_WAIT :: GLenum
-gl_QUERY_WAIT = 0x8E13
-
-gl_R11F_G11F_B10F :: GLenum
-gl_R11F_G11F_B10F = 0x8C3A
-
-gl_R16 :: GLenum
-gl_R16 = 0x822A
-
-gl_R16F :: GLenum
-gl_R16F = 0x822D
-
-gl_R16I :: GLenum
-gl_R16I = 0x8233
-
-gl_R16UI :: GLenum
-gl_R16UI = 0x8234
-
-gl_R16_SNORM :: GLenum
-gl_R16_SNORM = 0x8F98
-
-gl_R32F :: GLenum
-gl_R32F = 0x822E
-
-gl_R32I :: GLenum
-gl_R32I = 0x8235
-
-gl_R32UI :: GLenum
-gl_R32UI = 0x8236
-
-gl_R3_G3_B2 :: GLenum
-gl_R3_G3_B2 = 0x2A10
-
-gl_R8 :: GLenum
-gl_R8 = 0x8229
-
-gl_R8I :: GLenum
-gl_R8I = 0x8231
-
-gl_R8UI :: GLenum
-gl_R8UI = 0x8232
-
-gl_R8_SNORM :: GLenum
-gl_R8_SNORM = 0x8F94
-
-gl_RASTERIZER_DISCARD :: GLenum
-gl_RASTERIZER_DISCARD = 0x8C89
-
-gl_READ_BUFFER :: GLenum
-gl_READ_BUFFER = 0x0C02
-
-gl_READ_FRAMEBUFFER :: GLenum
-gl_READ_FRAMEBUFFER = 0x8CA8
-
-gl_READ_FRAMEBUFFER_BINDING :: GLenum
-gl_READ_FRAMEBUFFER_BINDING = 0x8CAA
-
-gl_READ_ONLY :: GLenum
-gl_READ_ONLY = 0x88B8
-
-gl_READ_WRITE :: GLenum
-gl_READ_WRITE = 0x88BA
-
-gl_RED :: GLenum
-gl_RED = 0x1903
-
-gl_RED_INTEGER :: GLenum
-gl_RED_INTEGER = 0x8D94
-
-gl_RED_SNORM :: GLenum
-gl_RED_SNORM = 0x8F90
-
-gl_RENDERBUFFER :: GLenum
-gl_RENDERBUFFER = 0x8D41
-
-gl_RENDERBUFFER_ALPHA_SIZE :: GLenum
-gl_RENDERBUFFER_ALPHA_SIZE = 0x8D53
-
-gl_RENDERBUFFER_BINDING :: GLenum
-gl_RENDERBUFFER_BINDING = 0x8CA7
-
-gl_RENDERBUFFER_BLUE_SIZE :: GLenum
-gl_RENDERBUFFER_BLUE_SIZE = 0x8D52
-
-gl_RENDERBUFFER_DEPTH_SIZE :: GLenum
-gl_RENDERBUFFER_DEPTH_SIZE = 0x8D54
-
-gl_RENDERBUFFER_GREEN_SIZE :: GLenum
-gl_RENDERBUFFER_GREEN_SIZE = 0x8D51
-
-gl_RENDERBUFFER_HEIGHT :: GLenum
-gl_RENDERBUFFER_HEIGHT = 0x8D43
-
-gl_RENDERBUFFER_INTERNAL_FORMAT :: GLenum
-gl_RENDERBUFFER_INTERNAL_FORMAT = 0x8D44
-
-gl_RENDERBUFFER_RED_SIZE :: GLenum
-gl_RENDERBUFFER_RED_SIZE = 0x8D50
-
-gl_RENDERBUFFER_SAMPLES :: GLenum
-gl_RENDERBUFFER_SAMPLES = 0x8CAB
-
-gl_RENDERBUFFER_STENCIL_SIZE :: GLenum
-gl_RENDERBUFFER_STENCIL_SIZE = 0x8D55
-
-gl_RENDERBUFFER_WIDTH :: GLenum
-gl_RENDERBUFFER_WIDTH = 0x8D42
-
-gl_RENDERER :: GLenum
-gl_RENDERER = 0x1F01
-
-gl_REPEAT :: GLenum
-gl_REPEAT = 0x2901
-
-gl_REPLACE :: GLenum
-gl_REPLACE = 0x1E01
-
-gl_RG :: GLenum
-gl_RG = 0x8227
-
-gl_RG16 :: GLenum
-gl_RG16 = 0x822C
-
-gl_RG16F :: GLenum
-gl_RG16F = 0x822F
-
-gl_RG16I :: GLenum
-gl_RG16I = 0x8239
-
-gl_RG16UI :: GLenum
-gl_RG16UI = 0x823A
-
-gl_RG16_SNORM :: GLenum
-gl_RG16_SNORM = 0x8F99
-
-gl_RG32F :: GLenum
-gl_RG32F = 0x8230
-
-gl_RG32I :: GLenum
-gl_RG32I = 0x823B
-
-gl_RG32UI :: GLenum
-gl_RG32UI = 0x823C
-
-gl_RG8 :: GLenum
-gl_RG8 = 0x822B
-
-gl_RG8I :: GLenum
-gl_RG8I = 0x8237
-
-gl_RG8UI :: GLenum
-gl_RG8UI = 0x8238
-
-gl_RG8_SNORM :: GLenum
-gl_RG8_SNORM = 0x8F95
-
-gl_RGB :: GLenum
-gl_RGB = 0x1907
-
-gl_RGB10 :: GLenum
-gl_RGB10 = 0x8052
-
-gl_RGB10_A2 :: GLenum
-gl_RGB10_A2 = 0x8059
-
-gl_RGB12 :: GLenum
-gl_RGB12 = 0x8053
-
-gl_RGB16 :: GLenum
-gl_RGB16 = 0x8054
-
-gl_RGB16F :: GLenum
-gl_RGB16F = 0x881B
-
-gl_RGB16I :: GLenum
-gl_RGB16I = 0x8D89
-
-gl_RGB16UI :: GLenum
-gl_RGB16UI = 0x8D77
-
-gl_RGB16_SNORM :: GLenum
-gl_RGB16_SNORM = 0x8F9A
-
-gl_RGB32F :: GLenum
-gl_RGB32F = 0x8815
-
-gl_RGB32I :: GLenum
-gl_RGB32I = 0x8D83
-
-gl_RGB32UI :: GLenum
-gl_RGB32UI = 0x8D71
-
-gl_RGB4 :: GLenum
-gl_RGB4 = 0x804F
-
-gl_RGB5 :: GLenum
-gl_RGB5 = 0x8050
-
-gl_RGB5_A1 :: GLenum
-gl_RGB5_A1 = 0x8057
-
-gl_RGB8 :: GLenum
-gl_RGB8 = 0x8051
-
-gl_RGB8I :: GLenum
-gl_RGB8I = 0x8D8F
-
-gl_RGB8UI :: GLenum
-gl_RGB8UI = 0x8D7D
-
-gl_RGB8_SNORM :: GLenum
-gl_RGB8_SNORM = 0x8F96
-
-gl_RGB9_E5 :: GLenum
-gl_RGB9_E5 = 0x8C3D
-
-gl_RGBA :: GLenum
-gl_RGBA = 0x1908
-
-gl_RGBA12 :: GLenum
-gl_RGBA12 = 0x805A
-
-gl_RGBA16 :: GLenum
-gl_RGBA16 = 0x805B
-
-gl_RGBA16F :: GLenum
-gl_RGBA16F = 0x881A
-
-gl_RGBA16I :: GLenum
-gl_RGBA16I = 0x8D88
-
-gl_RGBA16UI :: GLenum
-gl_RGBA16UI = 0x8D76
-
-gl_RGBA16_SNORM :: GLenum
-gl_RGBA16_SNORM = 0x8F9B
-
-gl_RGBA2 :: GLenum
-gl_RGBA2 = 0x8055
-
-gl_RGBA32F :: GLenum
-gl_RGBA32F = 0x8814
-
-gl_RGBA32I :: GLenum
-gl_RGBA32I = 0x8D82
-
-gl_RGBA32UI :: GLenum
-gl_RGBA32UI = 0x8D70
-
-gl_RGBA4 :: GLenum
-gl_RGBA4 = 0x8056
-
-gl_RGBA8 :: GLenum
-gl_RGBA8 = 0x8058
-
-gl_RGBA8I :: GLenum
-gl_RGBA8I = 0x8D8E
-
-gl_RGBA8UI :: GLenum
-gl_RGBA8UI = 0x8D7C
-
-gl_RGBA8_SNORM :: GLenum
-gl_RGBA8_SNORM = 0x8F97
-
-gl_RGBA_INTEGER :: GLenum
-gl_RGBA_INTEGER = 0x8D99
-
-gl_RGBA_SNORM :: GLenum
-gl_RGBA_SNORM = 0x8F93
-
-gl_RGB_INTEGER :: GLenum
-gl_RGB_INTEGER = 0x8D98
-
-gl_RGB_SNORM :: GLenum
-gl_RGB_SNORM = 0x8F92
-
-gl_RG_INTEGER :: GLenum
-gl_RG_INTEGER = 0x8228
-
-gl_RG_SNORM :: GLenum
-gl_RG_SNORM = 0x8F91
-
-gl_RIGHT :: GLenum
-gl_RIGHT = 0x0407
-
-gl_SAMPLER_1D :: GLenum
-gl_SAMPLER_1D = 0x8B5D
-
-gl_SAMPLER_1D_ARRAY :: GLenum
-gl_SAMPLER_1D_ARRAY = 0x8DC0
-
-gl_SAMPLER_1D_ARRAY_SHADOW :: GLenum
-gl_SAMPLER_1D_ARRAY_SHADOW = 0x8DC3
-
-gl_SAMPLER_1D_SHADOW :: GLenum
-gl_SAMPLER_1D_SHADOW = 0x8B61
-
-gl_SAMPLER_2D :: GLenum
-gl_SAMPLER_2D = 0x8B5E
-
-gl_SAMPLER_2D_ARRAY :: GLenum
-gl_SAMPLER_2D_ARRAY = 0x8DC1
-
-gl_SAMPLER_2D_ARRAY_SHADOW :: GLenum
-gl_SAMPLER_2D_ARRAY_SHADOW = 0x8DC4
-
-gl_SAMPLER_2D_SHADOW :: GLenum
-gl_SAMPLER_2D_SHADOW = 0x8B62
-
-gl_SAMPLER_3D :: GLenum
-gl_SAMPLER_3D = 0x8B5F
-
-gl_SAMPLER_BUFFER :: GLenum
-gl_SAMPLER_BUFFER = 0x8DC2
-
-gl_SAMPLER_CUBE :: GLenum
-gl_SAMPLER_CUBE = 0x8B60
-
-gl_SAMPLER_CUBE_SHADOW :: GLenum
-gl_SAMPLER_CUBE_SHADOW = 0x8DC5
-
-gl_SAMPLES :: GLenum
-gl_SAMPLES = 0x80A9
-
-gl_SAMPLES_PASSED :: GLenum
-gl_SAMPLES_PASSED = 0x8914
-
-gl_SAMPLE_ALPHA_TO_COVERAGE :: GLenum
-gl_SAMPLE_ALPHA_TO_COVERAGE = 0x809E
-
-gl_SAMPLE_ALPHA_TO_ONE :: GLenum
-gl_SAMPLE_ALPHA_TO_ONE = 0x809F
-
-gl_SAMPLE_BUFFERS :: GLenum
-gl_SAMPLE_BUFFERS = 0x80A8
-
-gl_SAMPLE_COVERAGE :: GLenum
-gl_SAMPLE_COVERAGE = 0x80A0
-
-gl_SAMPLE_COVERAGE_INVERT :: GLenum
-gl_SAMPLE_COVERAGE_INVERT = 0x80AB
-
-gl_SAMPLE_COVERAGE_VALUE :: GLenum
-gl_SAMPLE_COVERAGE_VALUE = 0x80AA
-
-gl_SCISSOR_BOX :: GLenum
-gl_SCISSOR_BOX = 0x0C10
-
-gl_SCISSOR_TEST :: GLenum
-gl_SCISSOR_TEST = 0x0C11
-
-gl_SEPARATE_ATTRIBS :: GLenum
-gl_SEPARATE_ATTRIBS = 0x8C8D
-
-gl_SET :: GLenum
-gl_SET = 0x150F
-
-gl_SHADER_SOURCE_LENGTH :: GLenum
-gl_SHADER_SOURCE_LENGTH = 0x8B88
-
-gl_SHADER_TYPE :: GLenum
-gl_SHADER_TYPE = 0x8B4F
-
-gl_SHADING_LANGUAGE_VERSION :: GLenum
-gl_SHADING_LANGUAGE_VERSION = 0x8B8C
-
-gl_SHORT :: GLenum
-gl_SHORT = 0x1402
-
-gl_SIGNED_NORMALIZED :: GLenum
-gl_SIGNED_NORMALIZED = 0x8F9C
-
-gl_SMOOTH_LINE_WIDTH_GRANULARITY :: GLenum
-gl_SMOOTH_LINE_WIDTH_GRANULARITY = 0x0B23
-
-gl_SMOOTH_LINE_WIDTH_RANGE :: GLenum
-gl_SMOOTH_LINE_WIDTH_RANGE = 0x0B22
-
-gl_SMOOTH_POINT_SIZE_GRANULARITY :: GLenum
-gl_SMOOTH_POINT_SIZE_GRANULARITY = 0x0B13
-
-gl_SMOOTH_POINT_SIZE_RANGE :: GLenum
-gl_SMOOTH_POINT_SIZE_RANGE = 0x0B12
-
-gl_SRC_ALPHA :: GLenum
-gl_SRC_ALPHA = 0x0302
-
-gl_SRC_ALPHA_SATURATE :: GLenum
-gl_SRC_ALPHA_SATURATE = 0x0308
-
-gl_SRC_COLOR :: GLenum
-gl_SRC_COLOR = 0x0300
-
-gl_SRGB :: GLenum
-gl_SRGB = 0x8C40
-
-gl_SRGB8 :: GLenum
-gl_SRGB8 = 0x8C41
-
-gl_SRGB8_ALPHA8 :: GLenum
-gl_SRGB8_ALPHA8 = 0x8C43
-
-gl_SRGB_ALPHA :: GLenum
-gl_SRGB_ALPHA = 0x8C42
-
-gl_STATIC_COPY :: GLenum
-gl_STATIC_COPY = 0x88E6
-
-gl_STATIC_DRAW :: GLenum
-gl_STATIC_DRAW = 0x88E4
-
-gl_STATIC_READ :: GLenum
-gl_STATIC_READ = 0x88E5
-
-gl_STENCIL :: GLenum
-gl_STENCIL = 0x1802
-
-gl_STENCIL_ATTACHMENT :: GLenum
-gl_STENCIL_ATTACHMENT = 0x8D20
-
-gl_STENCIL_BACK_FAIL :: GLenum
-gl_STENCIL_BACK_FAIL = 0x8801
-
-gl_STENCIL_BACK_FUNC :: GLenum
-gl_STENCIL_BACK_FUNC = 0x8800
-
-gl_STENCIL_BACK_PASS_DEPTH_FAIL :: GLenum
-gl_STENCIL_BACK_PASS_DEPTH_FAIL = 0x8802
-
-gl_STENCIL_BACK_PASS_DEPTH_PASS :: GLenum
-gl_STENCIL_BACK_PASS_DEPTH_PASS = 0x8803
-
-gl_STENCIL_BACK_REF :: GLenum
-gl_STENCIL_BACK_REF = 0x8CA3
-
-gl_STENCIL_BACK_VALUE_MASK :: GLenum
-gl_STENCIL_BACK_VALUE_MASK = 0x8CA4
-
-gl_STENCIL_BACK_WRITEMASK :: GLenum
-gl_STENCIL_BACK_WRITEMASK = 0x8CA5
-
-gl_STENCIL_BUFFER :: GLenum
-gl_STENCIL_BUFFER = 0x8224
-
-gl_STENCIL_BUFFER_BIT :: GLbitfield
-gl_STENCIL_BUFFER_BIT = 0x00000400
-
-gl_STENCIL_CLEAR_VALUE :: GLenum
-gl_STENCIL_CLEAR_VALUE = 0x0B91
-
-gl_STENCIL_FAIL :: GLenum
-gl_STENCIL_FAIL = 0x0B94
-
-gl_STENCIL_FUNC :: GLenum
-gl_STENCIL_FUNC = 0x0B92
-
-gl_STENCIL_INDEX :: GLenum
-gl_STENCIL_INDEX = 0x1901
-
-gl_STENCIL_INDEX1 :: GLenum
-gl_STENCIL_INDEX1 = 0x8D46
-
-gl_STENCIL_INDEX16 :: GLenum
-gl_STENCIL_INDEX16 = 0x8D49
-
-gl_STENCIL_INDEX4 :: GLenum
-gl_STENCIL_INDEX4 = 0x8D47
-
-gl_STENCIL_INDEX8 :: GLenum
-gl_STENCIL_INDEX8 = 0x8D48
-
-gl_STENCIL_PASS_DEPTH_FAIL :: GLenum
-gl_STENCIL_PASS_DEPTH_FAIL = 0x0B95
-
-gl_STENCIL_PASS_DEPTH_PASS :: GLenum
-gl_STENCIL_PASS_DEPTH_PASS = 0x0B96
-
-gl_STENCIL_REF :: GLenum
-gl_STENCIL_REF = 0x0B97
-
-gl_STENCIL_TEST :: GLenum
-gl_STENCIL_TEST = 0x0B90
-
-gl_STENCIL_VALUE_MASK :: GLenum
-gl_STENCIL_VALUE_MASK = 0x0B93
-
-gl_STENCIL_WRITEMASK :: GLenum
-gl_STENCIL_WRITEMASK = 0x0B98
-
-gl_STEREO :: GLenum
-gl_STEREO = 0x0C33
-
-gl_STREAM_COPY :: GLenum
-gl_STREAM_COPY = 0x88E2
-
-gl_STREAM_DRAW :: GLenum
-gl_STREAM_DRAW = 0x88E0
-
-gl_STREAM_READ :: GLenum
-gl_STREAM_READ = 0x88E1
-
-gl_SUBPIXEL_BITS :: GLenum
-gl_SUBPIXEL_BITS = 0x0D50
-
-gl_TEXTURE :: GLenum
-gl_TEXTURE = 0x1702
-
-gl_TEXTURE0 :: GLenum
-gl_TEXTURE0 = 0x84C0
-
-gl_TEXTURE1 :: GLenum
-gl_TEXTURE1 = 0x84C1
-
-gl_TEXTURE10 :: GLenum
-gl_TEXTURE10 = 0x84CA
-
-gl_TEXTURE11 :: GLenum
-gl_TEXTURE11 = 0x84CB
-
-gl_TEXTURE12 :: GLenum
-gl_TEXTURE12 = 0x84CC
-
-gl_TEXTURE13 :: GLenum
-gl_TEXTURE13 = 0x84CD
-
-gl_TEXTURE14 :: GLenum
-gl_TEXTURE14 = 0x84CE
-
-gl_TEXTURE15 :: GLenum
-gl_TEXTURE15 = 0x84CF
-
-gl_TEXTURE16 :: GLenum
-gl_TEXTURE16 = 0x84D0
-
-gl_TEXTURE17 :: GLenum
-gl_TEXTURE17 = 0x84D1
-
-gl_TEXTURE18 :: GLenum
-gl_TEXTURE18 = 0x84D2
-
-gl_TEXTURE19 :: GLenum
-gl_TEXTURE19 = 0x84D3
-
-gl_TEXTURE2 :: GLenum
-gl_TEXTURE2 = 0x84C2
-
-gl_TEXTURE20 :: GLenum
-gl_TEXTURE20 = 0x84D4
-
-gl_TEXTURE21 :: GLenum
-gl_TEXTURE21 = 0x84D5
-
-gl_TEXTURE22 :: GLenum
-gl_TEXTURE22 = 0x84D6
-
-gl_TEXTURE23 :: GLenum
-gl_TEXTURE23 = 0x84D7
-
-gl_TEXTURE24 :: GLenum
-gl_TEXTURE24 = 0x84D8
-
-gl_TEXTURE25 :: GLenum
-gl_TEXTURE25 = 0x84D9
-
-gl_TEXTURE26 :: GLenum
-gl_TEXTURE26 = 0x84DA
-
-gl_TEXTURE27 :: GLenum
-gl_TEXTURE27 = 0x84DB
-
-gl_TEXTURE28 :: GLenum
-gl_TEXTURE28 = 0x84DC
-
-gl_TEXTURE29 :: GLenum
-gl_TEXTURE29 = 0x84DD
-
-gl_TEXTURE3 :: GLenum
-gl_TEXTURE3 = 0x84C3
-
-gl_TEXTURE30 :: GLenum
-gl_TEXTURE30 = 0x84DE
-
-gl_TEXTURE31 :: GLenum
-gl_TEXTURE31 = 0x84DF
-
-gl_TEXTURE4 :: GLenum
-gl_TEXTURE4 = 0x84C4
-
-gl_TEXTURE5 :: GLenum
-gl_TEXTURE5 = 0x84C5
-
-gl_TEXTURE6 :: GLenum
-gl_TEXTURE6 = 0x84C6
-
-gl_TEXTURE7 :: GLenum
-gl_TEXTURE7 = 0x84C7
-
-gl_TEXTURE8 :: GLenum
-gl_TEXTURE8 = 0x84C8
-
-gl_TEXTURE9 :: GLenum
-gl_TEXTURE9 = 0x84C9
-
-gl_TEXTURE_1D :: GLenum
-gl_TEXTURE_1D = 0x0DE0
-
-gl_TEXTURE_1D_ARRAY :: GLenum
-gl_TEXTURE_1D_ARRAY = 0x8C18
-
-gl_TEXTURE_2D :: GLenum
-gl_TEXTURE_2D = 0x0DE1
-
-gl_TEXTURE_2D_ARRAY :: GLenum
-gl_TEXTURE_2D_ARRAY = 0x8C1A
-
-gl_TEXTURE_3D :: GLenum
-gl_TEXTURE_3D = 0x806F
-
-gl_TEXTURE_ALPHA_SIZE :: GLenum
-gl_TEXTURE_ALPHA_SIZE = 0x805F
-
-gl_TEXTURE_ALPHA_TYPE :: GLenum
-gl_TEXTURE_ALPHA_TYPE = 0x8C13
-
-gl_TEXTURE_BASE_LEVEL :: GLenum
-gl_TEXTURE_BASE_LEVEL = 0x813C
-
-gl_TEXTURE_BINDING_1D :: GLenum
-gl_TEXTURE_BINDING_1D = 0x8068
-
-gl_TEXTURE_BINDING_1D_ARRAY :: GLenum
-gl_TEXTURE_BINDING_1D_ARRAY = 0x8C1C
-
-gl_TEXTURE_BINDING_2D :: GLenum
-gl_TEXTURE_BINDING_2D = 0x8069
-
-gl_TEXTURE_BINDING_2D_ARRAY :: GLenum
-gl_TEXTURE_BINDING_2D_ARRAY = 0x8C1D
-
-gl_TEXTURE_BINDING_3D :: GLenum
-gl_TEXTURE_BINDING_3D = 0x806A
-
-gl_TEXTURE_BINDING_CUBE_MAP :: GLenum
-gl_TEXTURE_BINDING_CUBE_MAP = 0x8514
-
-gl_TEXTURE_BLUE_SIZE :: GLenum
-gl_TEXTURE_BLUE_SIZE = 0x805E
-
-gl_TEXTURE_BLUE_TYPE :: GLenum
-gl_TEXTURE_BLUE_TYPE = 0x8C12
-
-gl_TEXTURE_BORDER :: GLenum
-gl_TEXTURE_BORDER = 0x1005
-
-gl_TEXTURE_BORDER_COLOR :: GLenum
-gl_TEXTURE_BORDER_COLOR = 0x1004
-
-gl_TEXTURE_COMPARE_FUNC :: GLenum
-gl_TEXTURE_COMPARE_FUNC = 0x884D
-
-gl_TEXTURE_COMPARE_MODE :: GLenum
-gl_TEXTURE_COMPARE_MODE = 0x884C
-
-gl_TEXTURE_COMPRESSED :: GLenum
-gl_TEXTURE_COMPRESSED = 0x86A1
-
-gl_TEXTURE_COMPRESSED_IMAGE_SIZE :: GLenum
-gl_TEXTURE_COMPRESSED_IMAGE_SIZE = 0x86A0
-
-gl_TEXTURE_COMPRESSION_HINT :: GLenum
-gl_TEXTURE_COMPRESSION_HINT = 0x84EF
-
-gl_TEXTURE_CUBE_MAP :: GLenum
-gl_TEXTURE_CUBE_MAP = 0x8513
-
-gl_TEXTURE_CUBE_MAP_NEGATIVE_X :: GLenum
-gl_TEXTURE_CUBE_MAP_NEGATIVE_X = 0x8516
-
-gl_TEXTURE_CUBE_MAP_NEGATIVE_Y :: GLenum
-gl_TEXTURE_CUBE_MAP_NEGATIVE_Y = 0x8518
-
-gl_TEXTURE_CUBE_MAP_NEGATIVE_Z :: GLenum
-gl_TEXTURE_CUBE_MAP_NEGATIVE_Z = 0x851A
-
-gl_TEXTURE_CUBE_MAP_POSITIVE_X :: GLenum
-gl_TEXTURE_CUBE_MAP_POSITIVE_X = 0x8515
-
-gl_TEXTURE_CUBE_MAP_POSITIVE_Y :: GLenum
-gl_TEXTURE_CUBE_MAP_POSITIVE_Y = 0x8517
-
-gl_TEXTURE_CUBE_MAP_POSITIVE_Z :: GLenum
-gl_TEXTURE_CUBE_MAP_POSITIVE_Z = 0x8519
-
-gl_TEXTURE_DEPTH :: GLenum
-gl_TEXTURE_DEPTH = 0x8071
-
-gl_TEXTURE_DEPTH_SIZE :: GLenum
-gl_TEXTURE_DEPTH_SIZE = 0x884A
-
-gl_TEXTURE_DEPTH_TYPE :: GLenum
-gl_TEXTURE_DEPTH_TYPE = 0x8C16
-
-gl_TEXTURE_GREEN_SIZE :: GLenum
-gl_TEXTURE_GREEN_SIZE = 0x805D
-
-gl_TEXTURE_GREEN_TYPE :: GLenum
-gl_TEXTURE_GREEN_TYPE = 0x8C11
-
-gl_TEXTURE_HEIGHT :: GLenum
-gl_TEXTURE_HEIGHT = 0x1001
-
-gl_TEXTURE_INTERNAL_FORMAT :: GLenum
-gl_TEXTURE_INTERNAL_FORMAT = 0x1003
-
-gl_TEXTURE_LOD_BIAS :: GLenum
-gl_TEXTURE_LOD_BIAS = 0x8501
-
-gl_TEXTURE_MAG_FILTER :: GLenum
-gl_TEXTURE_MAG_FILTER = 0x2800
-
-gl_TEXTURE_MAX_LEVEL :: GLenum
-gl_TEXTURE_MAX_LEVEL = 0x813D
-
-gl_TEXTURE_MAX_LOD :: GLenum
-gl_TEXTURE_MAX_LOD = 0x813B
-
-gl_TEXTURE_MIN_FILTER :: GLenum
-gl_TEXTURE_MIN_FILTER = 0x2801
-
-gl_TEXTURE_MIN_LOD :: GLenum
-gl_TEXTURE_MIN_LOD = 0x813A
-
-gl_TEXTURE_RED_SIZE :: GLenum
-gl_TEXTURE_RED_SIZE = 0x805C
-
-gl_TEXTURE_RED_TYPE :: GLenum
-gl_TEXTURE_RED_TYPE = 0x8C10
-
-gl_TEXTURE_SHARED_SIZE :: GLenum
-gl_TEXTURE_SHARED_SIZE = 0x8C3F
-
-gl_TEXTURE_STENCIL_SIZE :: GLenum
-gl_TEXTURE_STENCIL_SIZE = 0x88F1
-
-gl_TEXTURE_WIDTH :: GLenum
-gl_TEXTURE_WIDTH = 0x1000
-
-gl_TEXTURE_WRAP_R :: GLenum
-gl_TEXTURE_WRAP_R = 0x8072
-
-gl_TEXTURE_WRAP_S :: GLenum
-gl_TEXTURE_WRAP_S = 0x2802
-
-gl_TEXTURE_WRAP_T :: GLenum
-gl_TEXTURE_WRAP_T = 0x2803
-
-gl_TRANSFORM_FEEDBACK_BUFFER :: GLenum
-gl_TRANSFORM_FEEDBACK_BUFFER = 0x8C8E
-
-gl_TRANSFORM_FEEDBACK_BUFFER_BINDING :: GLenum
-gl_TRANSFORM_FEEDBACK_BUFFER_BINDING = 0x8C8F
-
-gl_TRANSFORM_FEEDBACK_BUFFER_MODE :: GLenum
-gl_TRANSFORM_FEEDBACK_BUFFER_MODE = 0x8C7F
-
-gl_TRANSFORM_FEEDBACK_BUFFER_SIZE :: GLenum
-gl_TRANSFORM_FEEDBACK_BUFFER_SIZE = 0x8C85
-
-gl_TRANSFORM_FEEDBACK_BUFFER_START :: GLenum
-gl_TRANSFORM_FEEDBACK_BUFFER_START = 0x8C84
-
-gl_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN :: GLenum
-gl_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN = 0x8C88
-
-gl_TRANSFORM_FEEDBACK_VARYINGS :: GLenum
-gl_TRANSFORM_FEEDBACK_VARYINGS = 0x8C83
-
-gl_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH :: GLenum
-gl_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH = 0x8C76
-
-gl_TRIANGLES :: GLenum
-gl_TRIANGLES = 0x0004
-
-gl_TRIANGLE_FAN :: GLenum
-gl_TRIANGLE_FAN = 0x0006
-
-gl_TRIANGLE_STRIP :: GLenum
-gl_TRIANGLE_STRIP = 0x0005
-
-gl_TRUE :: GLenum
-gl_TRUE = 1
-
-gl_UNPACK_ALIGNMENT :: GLenum
-gl_UNPACK_ALIGNMENT = 0x0CF5
-
-gl_UNPACK_IMAGE_HEIGHT :: GLenum
-gl_UNPACK_IMAGE_HEIGHT = 0x806E
-
-gl_UNPACK_LSB_FIRST :: GLenum
-gl_UNPACK_LSB_FIRST = 0x0CF1
-
-gl_UNPACK_ROW_LENGTH :: GLenum
-gl_UNPACK_ROW_LENGTH = 0x0CF2
-
-gl_UNPACK_SKIP_IMAGES :: GLenum
-gl_UNPACK_SKIP_IMAGES = 0x806D
-
-gl_UNPACK_SKIP_PIXELS :: GLenum
-gl_UNPACK_SKIP_PIXELS = 0x0CF4
-
-gl_UNPACK_SKIP_ROWS :: GLenum
-gl_UNPACK_SKIP_ROWS = 0x0CF3
-
-gl_UNPACK_SWAP_BYTES :: GLenum
-gl_UNPACK_SWAP_BYTES = 0x0CF0
-
-gl_UNSIGNED_BYTE :: GLenum
-gl_UNSIGNED_BYTE = 0x1401
-
-gl_UNSIGNED_BYTE_2_3_3_REV :: GLenum
-gl_UNSIGNED_BYTE_2_3_3_REV = 0x8362
-
-gl_UNSIGNED_BYTE_3_3_2 :: GLenum
-gl_UNSIGNED_BYTE_3_3_2 = 0x8032
-
-gl_UNSIGNED_INT :: GLenum
-gl_UNSIGNED_INT = 0x1405
-
-gl_UNSIGNED_INT_10F_11F_11F_REV :: GLenum
-gl_UNSIGNED_INT_10F_11F_11F_REV = 0x8C3B
-
-gl_UNSIGNED_INT_10_10_10_2 :: GLenum
-gl_UNSIGNED_INT_10_10_10_2 = 0x8036
-
-gl_UNSIGNED_INT_24_8 :: GLenum
-gl_UNSIGNED_INT_24_8 = 0x84FA
-
-gl_UNSIGNED_INT_2_10_10_10_REV :: GLenum
-gl_UNSIGNED_INT_2_10_10_10_REV = 0x8368
-
-gl_UNSIGNED_INT_5_9_9_9_REV :: GLenum
-gl_UNSIGNED_INT_5_9_9_9_REV = 0x8C3E
-
-gl_UNSIGNED_INT_8_8_8_8 :: GLenum
-gl_UNSIGNED_INT_8_8_8_8 = 0x8035
-
-gl_UNSIGNED_INT_8_8_8_8_REV :: GLenum
-gl_UNSIGNED_INT_8_8_8_8_REV = 0x8367
-
-gl_UNSIGNED_INT_SAMPLER_1D :: GLenum
-gl_UNSIGNED_INT_SAMPLER_1D = 0x8DD1
-
-gl_UNSIGNED_INT_SAMPLER_1D_ARRAY :: GLenum
-gl_UNSIGNED_INT_SAMPLER_1D_ARRAY = 0x8DD6
-
-gl_UNSIGNED_INT_SAMPLER_2D :: GLenum
-gl_UNSIGNED_INT_SAMPLER_2D = 0x8DD2
-
-gl_UNSIGNED_INT_SAMPLER_2D_ARRAY :: GLenum
-gl_UNSIGNED_INT_SAMPLER_2D_ARRAY = 0x8DD7
-
-gl_UNSIGNED_INT_SAMPLER_2D_RECT :: GLenum
-gl_UNSIGNED_INT_SAMPLER_2D_RECT = 0x8DD5
-
-gl_UNSIGNED_INT_SAMPLER_3D :: GLenum
-gl_UNSIGNED_INT_SAMPLER_3D = 0x8DD3
-
-gl_UNSIGNED_INT_SAMPLER_BUFFER :: GLenum
-gl_UNSIGNED_INT_SAMPLER_BUFFER = 0x8DD8
-
-gl_UNSIGNED_INT_SAMPLER_CUBE :: GLenum
-gl_UNSIGNED_INT_SAMPLER_CUBE = 0x8DD4
-
-gl_UNSIGNED_INT_VEC2 :: GLenum
-gl_UNSIGNED_INT_VEC2 = 0x8DC6
-
-gl_UNSIGNED_INT_VEC3 :: GLenum
-gl_UNSIGNED_INT_VEC3 = 0x8DC7
-
-gl_UNSIGNED_INT_VEC4 :: GLenum
-gl_UNSIGNED_INT_VEC4 = 0x8DC8
-
-gl_UNSIGNED_NORMALIZED :: GLenum
-gl_UNSIGNED_NORMALIZED = 0x8C17
-
-gl_UNSIGNED_SHORT :: GLenum
-gl_UNSIGNED_SHORT = 0x1403
-
-gl_UNSIGNED_SHORT_1_5_5_5_REV :: GLenum
-gl_UNSIGNED_SHORT_1_5_5_5_REV = 0x8366
-
-gl_UNSIGNED_SHORT_4_4_4_4 :: GLenum
-gl_UNSIGNED_SHORT_4_4_4_4 = 0x8033
-
-gl_UNSIGNED_SHORT_4_4_4_4_REV :: GLenum
-gl_UNSIGNED_SHORT_4_4_4_4_REV = 0x8365
-
-gl_UNSIGNED_SHORT_5_5_5_1 :: GLenum
-gl_UNSIGNED_SHORT_5_5_5_1 = 0x8034
-
-gl_UNSIGNED_SHORT_5_6_5 :: GLenum
-gl_UNSIGNED_SHORT_5_6_5 = 0x8363
-
-gl_UNSIGNED_SHORT_5_6_5_REV :: GLenum
-gl_UNSIGNED_SHORT_5_6_5_REV = 0x8364
-
-gl_UPPER_LEFT :: GLenum
-gl_UPPER_LEFT = 0x8CA2
-
-gl_VALIDATE_STATUS :: GLenum
-gl_VALIDATE_STATUS = 0x8B83
-
-gl_VENDOR :: GLenum
-gl_VENDOR = 0x1F00
-
-gl_VERSION :: GLenum
-gl_VERSION = 0x1F02
-
-gl_VERTEX_ARRAY_BINDING :: GLenum
-gl_VERTEX_ARRAY_BINDING = 0x85B5
-
-gl_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING :: GLenum
-gl_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = 0x889F
-
-gl_VERTEX_ATTRIB_ARRAY_ENABLED :: GLenum
-gl_VERTEX_ATTRIB_ARRAY_ENABLED = 0x8622
-
-gl_VERTEX_ATTRIB_ARRAY_INTEGER :: GLenum
-gl_VERTEX_ATTRIB_ARRAY_INTEGER = 0x88FD
-
-gl_VERTEX_ATTRIB_ARRAY_NORMALIZED :: GLenum
-gl_VERTEX_ATTRIB_ARRAY_NORMALIZED = 0x886A
-
-gl_VERTEX_ATTRIB_ARRAY_POINTER :: GLenum
-gl_VERTEX_ATTRIB_ARRAY_POINTER = 0x8645
-
-gl_VERTEX_ATTRIB_ARRAY_SIZE :: GLenum
-gl_VERTEX_ATTRIB_ARRAY_SIZE = 0x8623
-
-gl_VERTEX_ATTRIB_ARRAY_STRIDE :: GLenum
-gl_VERTEX_ATTRIB_ARRAY_STRIDE = 0x8624
-
-gl_VERTEX_ATTRIB_ARRAY_TYPE :: GLenum
-gl_VERTEX_ATTRIB_ARRAY_TYPE = 0x8625
-
-gl_VERTEX_PROGRAM_POINT_SIZE :: GLenum
-gl_VERTEX_PROGRAM_POINT_SIZE = 0x8642
-
-gl_VERTEX_SHADER :: GLenum
-gl_VERTEX_SHADER = 0x8B31
-
-gl_VIEWPORT :: GLenum
-gl_VIEWPORT = 0x0BA2
-
-gl_WRITE_ONLY :: GLenum
-gl_WRITE_ONLY = 0x88B9
-
-gl_XOR :: GLenum
-gl_XOR = 0x1506
-
-gl_ZERO :: GLenum
-gl_ZERO = 0
+{-# OPTIONS_HADDOCK hide #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.Core31.Tokens
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All tokens from the OpenGL 3.1 core, see <http://www.opengl.org/registry/>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.Core31.Tokens where
+
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+
+gl_ACTIVE_ATTRIBUTES :: GLenum
+gl_ACTIVE_ATTRIBUTES = 0x8B89
+
+gl_ACTIVE_ATTRIBUTE_MAX_LENGTH :: GLenum
+gl_ACTIVE_ATTRIBUTE_MAX_LENGTH = 0x8B8A
+
+gl_ACTIVE_TEXTURE :: GLenum
+gl_ACTIVE_TEXTURE = 0x84E0
+
+gl_ACTIVE_UNIFORMS :: GLenum
+gl_ACTIVE_UNIFORMS = 0x8B86
+
+gl_ACTIVE_UNIFORM_MAX_LENGTH :: GLenum
+gl_ACTIVE_UNIFORM_MAX_LENGTH = 0x8B87
+
+gl_ALIASED_LINE_WIDTH_RANGE :: GLenum
+gl_ALIASED_LINE_WIDTH_RANGE = 0x846E
+
+gl_ALPHA :: GLenum
+gl_ALPHA = 0x1906
+
+gl_ALWAYS :: GLenum
+gl_ALWAYS = 0x0207
+
+gl_AND :: GLenum
+gl_AND = 0x1501
+
+gl_AND_INVERTED :: GLenum
+gl_AND_INVERTED = 0x1504
+
+gl_AND_REVERSE :: GLenum
+gl_AND_REVERSE = 0x1502
+
+gl_ARRAY_BUFFER :: GLenum
+gl_ARRAY_BUFFER = 0x8892
+
+gl_ARRAY_BUFFER_BINDING :: GLenum
+gl_ARRAY_BUFFER_BINDING = 0x8894
+
+gl_ATTACHED_SHADERS :: GLenum
+gl_ATTACHED_SHADERS = 0x8B85
+
+gl_BACK :: GLenum
+gl_BACK = 0x0405
+
+gl_BACK_LEFT :: GLenum
+gl_BACK_LEFT = 0x0402
+
+gl_BACK_RIGHT :: GLenum
+gl_BACK_RIGHT = 0x0403
+
+gl_BGR :: GLenum
+gl_BGR = 0x80E0
+
+gl_BGRA :: GLenum
+gl_BGRA = 0x80E1
+
+gl_BGRA_INTEGER :: GLenum
+gl_BGRA_INTEGER = 0x8D9B
+
+gl_BGR_INTEGER :: GLenum
+gl_BGR_INTEGER = 0x8D9A
+
+gl_BLEND :: GLenum
+gl_BLEND = 0x0BE2
+
+gl_BLEND_COLOR :: GLenum
+gl_BLEND_COLOR = 0x8005
+
+gl_BLEND_DST :: GLenum
+gl_BLEND_DST = 0x0BE0
+
+gl_BLEND_DST_ALPHA :: GLenum
+gl_BLEND_DST_ALPHA = 0x80CA
+
+gl_BLEND_DST_RGB :: GLenum
+gl_BLEND_DST_RGB = 0x80C8
+
+gl_BLEND_EQUATION :: GLenum
+gl_BLEND_EQUATION = 0x8009
+
+gl_BLEND_EQUATION_ALPHA :: GLenum
+gl_BLEND_EQUATION_ALPHA = 0x883D
+
+gl_BLEND_EQUATION_RGB :: GLenum
+gl_BLEND_EQUATION_RGB = 0x8009
+
+gl_BLEND_SRC :: GLenum
+gl_BLEND_SRC = 0x0BE1
+
+gl_BLEND_SRC_ALPHA :: GLenum
+gl_BLEND_SRC_ALPHA = 0x80CB
+
+gl_BLEND_SRC_RGB :: GLenum
+gl_BLEND_SRC_RGB = 0x80C9
+
+gl_BLUE :: GLenum
+gl_BLUE = 0x1905
+
+gl_BLUE_INTEGER :: GLenum
+gl_BLUE_INTEGER = 0x8D96
+
+gl_BOOL :: GLenum
+gl_BOOL = 0x8B56
+
+gl_BOOL_VEC2 :: GLenum
+gl_BOOL_VEC2 = 0x8B57
+
+gl_BOOL_VEC3 :: GLenum
+gl_BOOL_VEC3 = 0x8B58
+
+gl_BOOL_VEC4 :: GLenum
+gl_BOOL_VEC4 = 0x8B59
+
+gl_BUFFER_ACCESS :: GLenum
+gl_BUFFER_ACCESS = 0x88BB
+
+gl_BUFFER_ACCESS_FLAGS :: GLenum
+gl_BUFFER_ACCESS_FLAGS = 0x911F
+
+gl_BUFFER_MAPPED :: GLenum
+gl_BUFFER_MAPPED = 0x88BC
+
+gl_BUFFER_MAP_LENGTH :: GLenum
+gl_BUFFER_MAP_LENGTH = 0x9120
+
+gl_BUFFER_MAP_OFFSET :: GLenum
+gl_BUFFER_MAP_OFFSET = 0x9121
+
+gl_BUFFER_MAP_POINTER :: GLenum
+gl_BUFFER_MAP_POINTER = 0x88BD
+
+gl_BUFFER_SIZE :: GLenum
+gl_BUFFER_SIZE = 0x8764
+
+gl_BUFFER_USAGE :: GLenum
+gl_BUFFER_USAGE = 0x8765
+
+gl_BYTE :: GLenum
+gl_BYTE = 0x1400
+
+gl_CCW :: GLenum
+gl_CCW = 0x0901
+
+gl_CLAMP_READ_COLOR :: GLenum
+gl_CLAMP_READ_COLOR = 0x891C
+
+gl_CLAMP_TO_BORDER :: GLenum
+gl_CLAMP_TO_BORDER = 0x812D
+
+gl_CLAMP_TO_EDGE :: GLenum
+gl_CLAMP_TO_EDGE = 0x812F
+
+gl_CLEAR :: GLenum
+gl_CLEAR = 0x1500
+
+gl_CLIP_DISTANCE0 :: GLenum
+gl_CLIP_DISTANCE0 = 0x3000
+
+gl_CLIP_DISTANCE1 :: GLenum
+gl_CLIP_DISTANCE1 = 0x3001
+
+gl_CLIP_DISTANCE2 :: GLenum
+gl_CLIP_DISTANCE2 = 0x3002
+
+gl_CLIP_DISTANCE3 :: GLenum
+gl_CLIP_DISTANCE3 = 0x3003
+
+gl_CLIP_DISTANCE4 :: GLenum
+gl_CLIP_DISTANCE4 = 0x3004
+
+gl_CLIP_DISTANCE5 :: GLenum
+gl_CLIP_DISTANCE5 = 0x3005
+
+gl_CLIP_DISTANCE6 :: GLenum
+gl_CLIP_DISTANCE6 = 0x3006
+
+gl_CLIP_DISTANCE7 :: GLenum
+gl_CLIP_DISTANCE7 = 0x3007
+
+gl_COLOR :: GLenum
+gl_COLOR = 0x1800
+
+gl_COLOR_ATTACHMENT0 :: GLenum
+gl_COLOR_ATTACHMENT0 = 0x8CE0
+
+gl_COLOR_ATTACHMENT1 :: GLenum
+gl_COLOR_ATTACHMENT1 = 0x8CE1
+
+gl_COLOR_ATTACHMENT10 :: GLenum
+gl_COLOR_ATTACHMENT10 = 0x8CEA
+
+gl_COLOR_ATTACHMENT11 :: GLenum
+gl_COLOR_ATTACHMENT11 = 0x8CEB
+
+gl_COLOR_ATTACHMENT12 :: GLenum
+gl_COLOR_ATTACHMENT12 = 0x8CEC
+
+gl_COLOR_ATTACHMENT13 :: GLenum
+gl_COLOR_ATTACHMENT13 = 0x8CED
+
+gl_COLOR_ATTACHMENT14 :: GLenum
+gl_COLOR_ATTACHMENT14 = 0x8CEE
+
+gl_COLOR_ATTACHMENT15 :: GLenum
+gl_COLOR_ATTACHMENT15 = 0x8CEF
+
+gl_COLOR_ATTACHMENT2 :: GLenum
+gl_COLOR_ATTACHMENT2 = 0x8CE2
+
+gl_COLOR_ATTACHMENT3 :: GLenum
+gl_COLOR_ATTACHMENT3 = 0x8CE3
+
+gl_COLOR_ATTACHMENT4 :: GLenum
+gl_COLOR_ATTACHMENT4 = 0x8CE4
+
+gl_COLOR_ATTACHMENT5 :: GLenum
+gl_COLOR_ATTACHMENT5 = 0x8CE5
+
+gl_COLOR_ATTACHMENT6 :: GLenum
+gl_COLOR_ATTACHMENT6 = 0x8CE6
+
+gl_COLOR_ATTACHMENT7 :: GLenum
+gl_COLOR_ATTACHMENT7 = 0x8CE7
+
+gl_COLOR_ATTACHMENT8 :: GLenum
+gl_COLOR_ATTACHMENT8 = 0x8CE8
+
+gl_COLOR_ATTACHMENT9 :: GLenum
+gl_COLOR_ATTACHMENT9 = 0x8CE9
+
+gl_COLOR_BUFFER_BIT :: GLbitfield
+gl_COLOR_BUFFER_BIT = 0x00004000
+
+gl_COLOR_CLEAR_VALUE :: GLenum
+gl_COLOR_CLEAR_VALUE = 0x0C22
+
+gl_COLOR_LOGIC_OP :: GLenum
+gl_COLOR_LOGIC_OP = 0x0BF2
+
+gl_COLOR_WRITEMASK :: GLenum
+gl_COLOR_WRITEMASK = 0x0C23
+
+gl_COMPARE_REF_TO_TEXTURE :: GLenum
+gl_COMPARE_REF_TO_TEXTURE = 0x884E
+
+gl_COMPILE_STATUS :: GLenum
+gl_COMPILE_STATUS = 0x8B81
+
+gl_COMPRESSED_RED :: GLenum
+gl_COMPRESSED_RED = 0x8225
+
+gl_COMPRESSED_RED_RGTC1 :: GLenum
+gl_COMPRESSED_RED_RGTC1 = 0x8DBB
+
+gl_COMPRESSED_RG :: GLenum
+gl_COMPRESSED_RG = 0x8226
+
+gl_COMPRESSED_RGB :: GLenum
+gl_COMPRESSED_RGB = 0x84ED
+
+gl_COMPRESSED_RGBA :: GLenum
+gl_COMPRESSED_RGBA = 0x84EE
+
+gl_COMPRESSED_RG_RGTC2 :: GLenum
+gl_COMPRESSED_RG_RGTC2 = 0x8DBD
+
+gl_COMPRESSED_SIGNED_RED_RGTC1 :: GLenum
+gl_COMPRESSED_SIGNED_RED_RGTC1 = 0x8DBC
+
+gl_COMPRESSED_SIGNED_RG_RGTC2 :: GLenum
+gl_COMPRESSED_SIGNED_RG_RGTC2 = 0x8DBE
+
+gl_COMPRESSED_SRGB :: GLenum
+gl_COMPRESSED_SRGB = 0x8C48
+
+gl_COMPRESSED_SRGB_ALPHA :: GLenum
+gl_COMPRESSED_SRGB_ALPHA = 0x8C49
+
+gl_COMPRESSED_TEXTURE_FORMATS :: GLenum
+gl_COMPRESSED_TEXTURE_FORMATS = 0x86A3
+
+gl_CONSTANT_ALPHA :: GLenum
+gl_CONSTANT_ALPHA = 0x8003
+
+gl_CONSTANT_COLOR :: GLenum
+gl_CONSTANT_COLOR = 0x8001
+
+gl_CONTEXT_FLAGS :: GLenum
+gl_CONTEXT_FLAGS = 0x821E
+
+gl_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT :: GLbitfield
+gl_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT = 0x0001
+
+gl_COPY :: GLenum
+gl_COPY = 0x1503
+
+gl_COPY_INVERTED :: GLenum
+gl_COPY_INVERTED = 0x150C
+
+gl_CULL_FACE :: GLenum
+gl_CULL_FACE = 0x0B44
+
+gl_CULL_FACE_MODE :: GLenum
+gl_CULL_FACE_MODE = 0x0B45
+
+gl_CURRENT_PROGRAM :: GLenum
+gl_CURRENT_PROGRAM = 0x8B8D
+
+gl_CURRENT_QUERY :: GLenum
+gl_CURRENT_QUERY = 0x8865
+
+gl_CURRENT_VERTEX_ATTRIB :: GLenum
+gl_CURRENT_VERTEX_ATTRIB = 0x8626
+
+gl_CW :: GLenum
+gl_CW = 0x0900
+
+gl_DECR :: GLenum
+gl_DECR = 0x1E03
+
+gl_DECR_WRAP :: GLenum
+gl_DECR_WRAP = 0x8508
+
+gl_DELETE_STATUS :: GLenum
+gl_DELETE_STATUS = 0x8B80
+
+gl_DEPTH :: GLenum
+gl_DEPTH = 0x1801
+
+gl_DEPTH24_STENCIL8 :: GLenum
+gl_DEPTH24_STENCIL8 = 0x88F0
+
+gl_DEPTH32F_STENCIL8 :: GLenum
+gl_DEPTH32F_STENCIL8 = 0x8CAD
+
+gl_DEPTH_ATTACHMENT :: GLenum
+gl_DEPTH_ATTACHMENT = 0x8D00
+
+gl_DEPTH_BUFFER :: GLenum
+gl_DEPTH_BUFFER = 0x8223
+
+gl_DEPTH_BUFFER_BIT :: GLbitfield
+gl_DEPTH_BUFFER_BIT = 0x00000100
+
+gl_DEPTH_CLEAR_VALUE :: GLenum
+gl_DEPTH_CLEAR_VALUE = 0x0B73
+
+gl_DEPTH_COMPONENT :: GLenum
+gl_DEPTH_COMPONENT = 0x1902
+
+gl_DEPTH_COMPONENT16 :: GLenum
+gl_DEPTH_COMPONENT16 = 0x81A5
+
+gl_DEPTH_COMPONENT24 :: GLenum
+gl_DEPTH_COMPONENT24 = 0x81A6
+
+gl_DEPTH_COMPONENT32 :: GLenum
+gl_DEPTH_COMPONENT32 = 0x81A7
+
+gl_DEPTH_COMPONENT32F :: GLenum
+gl_DEPTH_COMPONENT32F = 0x8CAC
+
+gl_DEPTH_FUNC :: GLenum
+gl_DEPTH_FUNC = 0x0B74
+
+gl_DEPTH_RANGE :: GLenum
+gl_DEPTH_RANGE = 0x0B70
+
+gl_DEPTH_STENCIL :: GLenum
+gl_DEPTH_STENCIL = 0x84F9
+
+gl_DEPTH_STENCIL_ATTACHMENT :: GLenum
+gl_DEPTH_STENCIL_ATTACHMENT = 0x821A
+
+gl_DEPTH_TEST :: GLenum
+gl_DEPTH_TEST = 0x0B71
+
+gl_DEPTH_WRITEMASK :: GLenum
+gl_DEPTH_WRITEMASK = 0x0B72
+
+gl_DITHER :: GLenum
+gl_DITHER = 0x0BD0
+
+gl_DONT_CARE :: GLenum
+gl_DONT_CARE = 0x1100
+
+gl_DOUBLE :: GLenum
+gl_DOUBLE = 0x140A
+
+gl_DOUBLEBUFFER :: GLenum
+gl_DOUBLEBUFFER = 0x0C32
+
+gl_DRAW_BUFFER :: GLenum
+gl_DRAW_BUFFER = 0x0C01
+
+gl_DRAW_BUFFER0 :: GLenum
+gl_DRAW_BUFFER0 = 0x8825
+
+gl_DRAW_BUFFER1 :: GLenum
+gl_DRAW_BUFFER1 = 0x8826
+
+gl_DRAW_BUFFER10 :: GLenum
+gl_DRAW_BUFFER10 = 0x882F
+
+gl_DRAW_BUFFER11 :: GLenum
+gl_DRAW_BUFFER11 = 0x8830
+
+gl_DRAW_BUFFER12 :: GLenum
+gl_DRAW_BUFFER12 = 0x8831
+
+gl_DRAW_BUFFER13 :: GLenum
+gl_DRAW_BUFFER13 = 0x8832
+
+gl_DRAW_BUFFER14 :: GLenum
+gl_DRAW_BUFFER14 = 0x8833
+
+gl_DRAW_BUFFER15 :: GLenum
+gl_DRAW_BUFFER15 = 0x8834
+
+gl_DRAW_BUFFER2 :: GLenum
+gl_DRAW_BUFFER2 = 0x8827
+
+gl_DRAW_BUFFER3 :: GLenum
+gl_DRAW_BUFFER3 = 0x8828
+
+gl_DRAW_BUFFER4 :: GLenum
+gl_DRAW_BUFFER4 = 0x8829
+
+gl_DRAW_BUFFER5 :: GLenum
+gl_DRAW_BUFFER5 = 0x882A
+
+gl_DRAW_BUFFER6 :: GLenum
+gl_DRAW_BUFFER6 = 0x882B
+
+gl_DRAW_BUFFER7 :: GLenum
+gl_DRAW_BUFFER7 = 0x882C
+
+gl_DRAW_BUFFER8 :: GLenum
+gl_DRAW_BUFFER8 = 0x882D
+
+gl_DRAW_BUFFER9 :: GLenum
+gl_DRAW_BUFFER9 = 0x882E
+
+gl_DRAW_FRAMEBUFFER :: GLenum
+gl_DRAW_FRAMEBUFFER = 0x8CA9
+
+gl_DRAW_FRAMEBUFFER_BINDING :: GLenum
+gl_DRAW_FRAMEBUFFER_BINDING = gl_FRAMEBUFFER_BINDING
+
+gl_DST_ALPHA :: GLenum
+gl_DST_ALPHA = 0x0304
+
+gl_DST_COLOR :: GLenum
+gl_DST_COLOR = 0x0306
+
+gl_DYNAMIC_COPY :: GLenum
+gl_DYNAMIC_COPY = 0x88EA
+
+gl_DYNAMIC_DRAW :: GLenum
+gl_DYNAMIC_DRAW = 0x88E8
+
+gl_DYNAMIC_READ :: GLenum
+gl_DYNAMIC_READ = 0x88E9
+
+gl_ELEMENT_ARRAY_BUFFER :: GLenum
+gl_ELEMENT_ARRAY_BUFFER = 0x8893
+
+gl_ELEMENT_ARRAY_BUFFER_BINDING :: GLenum
+gl_ELEMENT_ARRAY_BUFFER_BINDING = 0x8895
+
+gl_EQUAL :: GLenum
+gl_EQUAL = 0x0202
+
+gl_EQUIV :: GLenum
+gl_EQUIV = 0x1509
+
+gl_EXTENSIONS :: GLenum
+gl_EXTENSIONS = 0x1F03
+
+gl_FALSE :: GLenum
+gl_FALSE = 0
+
+gl_FASTEST :: GLenum
+gl_FASTEST = 0x1101
+
+gl_FILL :: GLenum
+gl_FILL = 0x1B02
+
+gl_FIXED_ONLY :: GLenum
+gl_FIXED_ONLY = 0x891D
+
+gl_FLOAT :: GLenum
+gl_FLOAT = 0x1406
+
+gl_FLOAT_32_UNSIGNED_INT_24_8_REV :: GLenum
+gl_FLOAT_32_UNSIGNED_INT_24_8_REV = 0x8DAD
+
+gl_FLOAT_MAT2 :: GLenum
+gl_FLOAT_MAT2 = 0x8B5A
+
+gl_FLOAT_MAT2x3 :: GLenum
+gl_FLOAT_MAT2x3 = 0x8B65
+
+gl_FLOAT_MAT2x4 :: GLenum
+gl_FLOAT_MAT2x4 = 0x8B66
+
+gl_FLOAT_MAT3 :: GLenum
+gl_FLOAT_MAT3 = 0x8B5B
+
+gl_FLOAT_MAT3x2 :: GLenum
+gl_FLOAT_MAT3x2 = 0x8B67
+
+gl_FLOAT_MAT3x4 :: GLenum
+gl_FLOAT_MAT3x4 = 0x8B68
+
+gl_FLOAT_MAT4 :: GLenum
+gl_FLOAT_MAT4 = 0x8B5C
+
+gl_FLOAT_MAT4x2 :: GLenum
+gl_FLOAT_MAT4x2 = 0x8B69
+
+gl_FLOAT_MAT4x3 :: GLenum
+gl_FLOAT_MAT4x3 = 0x8B6A
+
+gl_FLOAT_VEC2 :: GLenum
+gl_FLOAT_VEC2 = 0x8B50
+
+gl_FLOAT_VEC3 :: GLenum
+gl_FLOAT_VEC3 = 0x8B51
+
+gl_FLOAT_VEC4 :: GLenum
+gl_FLOAT_VEC4 = 0x8B52
+
+gl_FRAGMENT_SHADER :: GLenum
+gl_FRAGMENT_SHADER = 0x8B30
+
+gl_FRAGMENT_SHADER_DERIVATIVE_HINT :: GLenum
+gl_FRAGMENT_SHADER_DERIVATIVE_HINT = 0x8B8B
+
+gl_FRAMEBUFFER :: GLenum
+gl_FRAMEBUFFER = 0x8D40
+
+gl_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE :: GLenum
+gl_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE = 0x8215
+
+gl_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE :: GLenum
+gl_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE = 0x8214
+
+gl_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING :: GLenum
+gl_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING = 0x8210
+
+gl_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE :: GLenum
+gl_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE = 0x8211
+
+gl_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE :: GLenum
+gl_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE = 0x8216
+
+gl_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE :: GLenum
+gl_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE = 0x8213
+
+gl_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME :: GLenum
+gl_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = 0x8CD1
+
+gl_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE :: GLenum
+gl_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = 0x8CD0
+
+gl_FRAMEBUFFER_ATTACHMENT_RED_SIZE :: GLenum
+gl_FRAMEBUFFER_ATTACHMENT_RED_SIZE = 0x8212
+
+gl_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE :: GLenum
+gl_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE = 0x8217
+
+gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE :: GLenum
+gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = 0x8CD3
+
+gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER :: GLenum
+gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER = 0x8CD4
+
+gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL :: GLenum
+gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = 0x8CD2
+
+gl_FRAMEBUFFER_BINDING :: GLenum
+gl_FRAMEBUFFER_BINDING = 0x8CA6
+
+gl_FRAMEBUFFER_COMPLETE :: GLenum
+gl_FRAMEBUFFER_COMPLETE = 0x8CD5
+
+gl_FRAMEBUFFER_DEFAULT :: GLenum
+gl_FRAMEBUFFER_DEFAULT = 0x8218
+
+gl_FRAMEBUFFER_INCOMPLETE_ATTACHMENT :: GLenum
+gl_FRAMEBUFFER_INCOMPLETE_ATTACHMENT = 0x8CD6
+
+gl_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER :: GLenum
+gl_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER = 0x8CDB
+
+gl_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT :: GLenum
+gl_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = 0x8CD7
+
+gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE :: GLenum
+gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE = 0x8D56
+
+gl_FRAMEBUFFER_INCOMPLETE_READ_BUFFER :: GLenum
+gl_FRAMEBUFFER_INCOMPLETE_READ_BUFFER = 0x8CDC
+
+gl_FRAMEBUFFER_SRGB :: GLenum
+gl_FRAMEBUFFER_SRGB = 0x8DB9
+
+gl_FRAMEBUFFER_UNDEFINED :: GLenum
+gl_FRAMEBUFFER_UNDEFINED = 0x8219
+
+gl_FRAMEBUFFER_UNSUPPORTED :: GLenum
+gl_FRAMEBUFFER_UNSUPPORTED = 0x8CDD
+
+gl_FRONT :: GLenum
+gl_FRONT = 0x0404
+
+gl_FRONT_AND_BACK :: GLenum
+gl_FRONT_AND_BACK = 0x0408
+
+gl_FRONT_FACE :: GLenum
+gl_FRONT_FACE = 0x0B46
+
+gl_FRONT_LEFT :: GLenum
+gl_FRONT_LEFT = 0x0400
+
+gl_FRONT_RIGHT :: GLenum
+gl_FRONT_RIGHT = 0x0401
+
+gl_FUNC_ADD :: GLenum
+gl_FUNC_ADD = 0x8006
+
+gl_FUNC_REVERSE_SUBTRACT :: GLenum
+gl_FUNC_REVERSE_SUBTRACT = 0x800B
+
+gl_FUNC_SUBTRACT :: GLenum
+gl_FUNC_SUBTRACT = 0x800A
+
+gl_GEQUAL :: GLenum
+gl_GEQUAL = 0x0206
+
+gl_GREATER :: GLenum
+gl_GREATER = 0x0204
+
+gl_GREEN :: GLenum
+gl_GREEN = 0x1904
+
+gl_GREEN_INTEGER :: GLenum
+gl_GREEN_INTEGER = 0x8D95
+
+gl_HALF_FLOAT :: GLenum
+gl_HALF_FLOAT = 0x140B
+
+gl_INCR :: GLenum
+gl_INCR = 0x1E02
+
+gl_INCR_WRAP :: GLenum
+gl_INCR_WRAP = 0x8507
+
+gl_INFO_LOG_LENGTH :: GLenum
+gl_INFO_LOG_LENGTH = 0x8B84
+
+gl_INT :: GLenum
+gl_INT = 0x1404
+
+gl_INTERLEAVED_ATTRIBS :: GLenum
+gl_INTERLEAVED_ATTRIBS = 0x8C8C
+
+gl_INT_SAMPLER_1D :: GLenum
+gl_INT_SAMPLER_1D = 0x8DC9
+
+gl_INT_SAMPLER_1D_ARRAY :: GLenum
+gl_INT_SAMPLER_1D_ARRAY = 0x8DCE
+
+gl_INT_SAMPLER_2D :: GLenum
+gl_INT_SAMPLER_2D = 0x8DCA
+
+gl_INT_SAMPLER_2D_ARRAY :: GLenum
+gl_INT_SAMPLER_2D_ARRAY = 0x8DCF
+
+gl_INT_SAMPLER_2D_RECT :: GLenum
+gl_INT_SAMPLER_2D_RECT = 0x8DCD
+
+gl_INT_SAMPLER_3D :: GLenum
+gl_INT_SAMPLER_3D = 0x8DCB
+
+gl_INT_SAMPLER_BUFFER :: GLenum
+gl_INT_SAMPLER_BUFFER = 0x8DD0
+
+gl_INT_SAMPLER_CUBE :: GLenum
+gl_INT_SAMPLER_CUBE = 0x8DCC
+
+gl_INT_VEC2 :: GLenum
+gl_INT_VEC2 = 0x8B53
+
+gl_INT_VEC3 :: GLenum
+gl_INT_VEC3 = 0x8B54
+
+gl_INT_VEC4 :: GLenum
+gl_INT_VEC4 = 0x8B55
+
+gl_INVALID_ENUM :: GLenum
+gl_INVALID_ENUM = 0x0500
+
+gl_INVALID_FRAMEBUFFER_OPERATION :: GLenum
+gl_INVALID_FRAMEBUFFER_OPERATION = 0x0506
+
+gl_INVALID_OPERATION :: GLenum
+gl_INVALID_OPERATION = 0x0502
+
+gl_INVALID_VALUE :: GLenum
+gl_INVALID_VALUE = 0x0501
+
+gl_INVERT :: GLenum
+gl_INVERT = 0x150A
+
+gl_KEEP :: GLenum
+gl_KEEP = 0x1E00
+
+gl_LEFT :: GLenum
+gl_LEFT = 0x0406
+
+gl_LEQUAL :: GLenum
+gl_LEQUAL = 0x0203
+
+gl_LESS :: GLenum
+gl_LESS = 0x0201
+
+gl_LINE :: GLenum
+gl_LINE = 0x1B01
+
+gl_LINEAR :: GLenum
+gl_LINEAR = 0x2601
+
+gl_LINEAR_MIPMAP_LINEAR :: GLenum
+gl_LINEAR_MIPMAP_LINEAR = 0x2703
+
+gl_LINEAR_MIPMAP_NEAREST :: GLenum
+gl_LINEAR_MIPMAP_NEAREST = 0x2701
+
+gl_LINES :: GLenum
+gl_LINES = 0x0001
+
+gl_LINE_LOOP :: GLenum
+gl_LINE_LOOP = 0x0002
+
+gl_LINE_SMOOTH :: GLenum
+gl_LINE_SMOOTH = 0x0B20
+
+gl_LINE_SMOOTH_HINT :: GLenum
+gl_LINE_SMOOTH_HINT = 0x0C52
+
+gl_LINE_STRIP :: GLenum
+gl_LINE_STRIP = 0x0003
+
+gl_LINE_WIDTH :: GLenum
+gl_LINE_WIDTH = 0x0B21
+
+gl_LINE_WIDTH_GRANULARITY :: GLenum
+gl_LINE_WIDTH_GRANULARITY = 0x0B23
+
+gl_LINE_WIDTH_RANGE :: GLenum
+gl_LINE_WIDTH_RANGE = 0x0B22
+
+gl_LINK_STATUS :: GLenum
+gl_LINK_STATUS = 0x8B82
+
+gl_LOGIC_OP_MODE :: GLenum
+gl_LOGIC_OP_MODE = 0x0BF0
+
+gl_LOWER_LEFT :: GLenum
+gl_LOWER_LEFT = 0x8CA1
+
+gl_MAJOR_VERSION :: GLenum
+gl_MAJOR_VERSION = 0x821B
+
+gl_MAP_FLUSH_EXPLICIT_BIT :: GLbitfield
+gl_MAP_FLUSH_EXPLICIT_BIT = 0x0010
+
+gl_MAP_INVALIDATE_BUFFER_BIT :: GLbitfield
+gl_MAP_INVALIDATE_BUFFER_BIT = 0x0008
+
+gl_MAP_INVALIDATE_RANGE_BIT :: GLbitfield
+gl_MAP_INVALIDATE_RANGE_BIT = 0x0004
+
+gl_MAP_READ_BIT :: GLbitfield
+gl_MAP_READ_BIT = 0x0001
+
+gl_MAP_UNSYNCHRONIZED_BIT :: GLbitfield
+gl_MAP_UNSYNCHRONIZED_BIT = 0x0020
+
+gl_MAP_WRITE_BIT :: GLbitfield
+gl_MAP_WRITE_BIT = 0x0002
+
+gl_MAX :: GLenum
+gl_MAX = 0x8008
+
+gl_MAX_3D_TEXTURE_SIZE :: GLenum
+gl_MAX_3D_TEXTURE_SIZE = 0x8073
+
+gl_MAX_ARRAY_TEXTURE_LAYERS :: GLenum
+gl_MAX_ARRAY_TEXTURE_LAYERS = 0x88FF
+
+gl_MAX_CLIP_DISTANCES :: GLenum
+gl_MAX_CLIP_DISTANCES = 0x0D32
+
+gl_MAX_COLOR_ATTACHMENTS :: GLenum
+gl_MAX_COLOR_ATTACHMENTS = 0x8CDF
+
+gl_MAX_COMBINED_TEXTURE_IMAGE_UNITS :: GLenum
+gl_MAX_COMBINED_TEXTURE_IMAGE_UNITS = 0x8B4D
+
+gl_MAX_CUBE_MAP_TEXTURE_SIZE :: GLenum
+gl_MAX_CUBE_MAP_TEXTURE_SIZE = 0x851C
+
+gl_MAX_DRAW_BUFFERS :: GLenum
+gl_MAX_DRAW_BUFFERS = 0x8824
+
+gl_MAX_ELEMENTS_INDICES :: GLenum
+gl_MAX_ELEMENTS_INDICES = 0x80E9
+
+gl_MAX_ELEMENTS_VERTICES :: GLenum
+gl_MAX_ELEMENTS_VERTICES = 0x80E8
+
+gl_MAX_FRAGMENT_UNIFORM_COMPONENTS :: GLenum
+gl_MAX_FRAGMENT_UNIFORM_COMPONENTS = 0x8B49
+
+gl_MAX_PROGRAM_TEXEL_OFFSET :: GLenum
+gl_MAX_PROGRAM_TEXEL_OFFSET = 0x8905
+
+gl_MAX_RENDERBUFFER_SIZE :: GLenum
+gl_MAX_RENDERBUFFER_SIZE = 0x84E8
+
+gl_MAX_SAMPLES :: GLenum
+gl_MAX_SAMPLES = 0x8D57
+
+gl_MAX_TEXTURE_IMAGE_UNITS :: GLenum
+gl_MAX_TEXTURE_IMAGE_UNITS = 0x8872
+
+gl_MAX_TEXTURE_LOD_BIAS :: GLenum
+gl_MAX_TEXTURE_LOD_BIAS = 0x84FD
+
+gl_MAX_TEXTURE_SIZE :: GLenum
+gl_MAX_TEXTURE_SIZE = 0x0D33
+
+gl_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS :: GLenum
+gl_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = 0x8C8A
+
+gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS :: GLenum
+gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS = 0x8C8B
+
+gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS :: GLenum
+gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS = 0x8C80
+
+gl_MAX_VARYING_COMPONENTS :: GLenum
+gl_MAX_VARYING_COMPONENTS = 0x8B4B
+
+gl_MAX_VARYING_FLOATS :: GLenum
+gl_MAX_VARYING_FLOATS = 0x8B4B
+
+gl_MAX_VERTEX_ATTRIBS :: GLenum
+gl_MAX_VERTEX_ATTRIBS = 0x8869
+
+gl_MAX_VERTEX_TEXTURE_IMAGE_UNITS :: GLenum
+gl_MAX_VERTEX_TEXTURE_IMAGE_UNITS = 0x8B4C
+
+gl_MAX_VERTEX_UNIFORM_COMPONENTS :: GLenum
+gl_MAX_VERTEX_UNIFORM_COMPONENTS = 0x8B4A
+
+gl_MAX_VIEWPORT_DIMS :: GLenum
+gl_MAX_VIEWPORT_DIMS = 0x0D3A
+
+gl_MIN :: GLenum
+gl_MIN = 0x8007
+
+gl_MINOR_VERSION :: GLenum
+gl_MINOR_VERSION = 0x821C
+
+gl_MIN_PROGRAM_TEXEL_OFFSET :: GLenum
+gl_MIN_PROGRAM_TEXEL_OFFSET = 0x8904
+
+gl_MIRRORED_REPEAT :: GLenum
+gl_MIRRORED_REPEAT = 0x8370
+
+gl_MULTISAMPLE :: GLenum
+gl_MULTISAMPLE = 0x809D
+
+gl_NAND :: GLenum
+gl_NAND = 0x150E
+
+gl_NEAREST :: GLenum
+gl_NEAREST = 0x2600
+
+gl_NEAREST_MIPMAP_LINEAR :: GLenum
+gl_NEAREST_MIPMAP_LINEAR = 0x2702
+
+gl_NEAREST_MIPMAP_NEAREST :: GLenum
+gl_NEAREST_MIPMAP_NEAREST = 0x2700
+
+gl_NEVER :: GLenum
+gl_NEVER = 0x0200
+
+gl_NICEST :: GLenum
+gl_NICEST = 0x1102
+
+gl_NONE :: GLenum
+gl_NONE = 0
+
+gl_NOOP :: GLenum
+gl_NOOP = 0x1505
+
+gl_NOR :: GLenum
+gl_NOR = 0x1508
+
+gl_NOTEQUAL :: GLenum
+gl_NOTEQUAL = 0x0205
+
+gl_NO_ERROR :: GLenum
+gl_NO_ERROR = 0
+
+gl_NUM_COMPRESSED_TEXTURE_FORMATS :: GLenum
+gl_NUM_COMPRESSED_TEXTURE_FORMATS = 0x86A2
+
+gl_NUM_EXTENSIONS :: GLenum
+gl_NUM_EXTENSIONS = 0x821D
+
+gl_ONE :: GLenum
+gl_ONE = 1
+
+gl_ONE_MINUS_CONSTANT_ALPHA :: GLenum
+gl_ONE_MINUS_CONSTANT_ALPHA = 0x8004
+
+gl_ONE_MINUS_CONSTANT_COLOR :: GLenum
+gl_ONE_MINUS_CONSTANT_COLOR = 0x8002
+
+gl_ONE_MINUS_DST_ALPHA :: GLenum
+gl_ONE_MINUS_DST_ALPHA = 0x0305
+
+gl_ONE_MINUS_DST_COLOR :: GLenum
+gl_ONE_MINUS_DST_COLOR = 0x0307
+
+gl_ONE_MINUS_SRC_ALPHA :: GLenum
+gl_ONE_MINUS_SRC_ALPHA = 0x0303
+
+gl_ONE_MINUS_SRC_COLOR :: GLenum
+gl_ONE_MINUS_SRC_COLOR = 0x0301
+
+gl_OR :: GLenum
+gl_OR = 0x1507
+
+gl_OR_INVERTED :: GLenum
+gl_OR_INVERTED = 0x150D
+
+gl_OR_REVERSE :: GLenum
+gl_OR_REVERSE = 0x150B
+
+gl_OUT_OF_MEMORY :: GLenum
+gl_OUT_OF_MEMORY = 0x0505
+
+gl_PACK_ALIGNMENT :: GLenum
+gl_PACK_ALIGNMENT = 0x0D05
+
+gl_PACK_IMAGE_HEIGHT :: GLenum
+gl_PACK_IMAGE_HEIGHT = 0x806C
+
+gl_PACK_LSB_FIRST :: GLenum
+gl_PACK_LSB_FIRST = 0x0D01
+
+gl_PACK_ROW_LENGTH :: GLenum
+gl_PACK_ROW_LENGTH = 0x0D02
+
+gl_PACK_SKIP_IMAGES :: GLenum
+gl_PACK_SKIP_IMAGES = 0x806B
+
+gl_PACK_SKIP_PIXELS :: GLenum
+gl_PACK_SKIP_PIXELS = 0x0D04
+
+gl_PACK_SKIP_ROWS :: GLenum
+gl_PACK_SKIP_ROWS = 0x0D03
+
+gl_PACK_SWAP_BYTES :: GLenum
+gl_PACK_SWAP_BYTES = 0x0D00
+
+gl_PIXEL_PACK_BUFFER :: GLenum
+gl_PIXEL_PACK_BUFFER = 0x88EB
+
+gl_PIXEL_PACK_BUFFER_BINDING :: GLenum
+gl_PIXEL_PACK_BUFFER_BINDING = 0x88ED
+
+gl_PIXEL_UNPACK_BUFFER :: GLenum
+gl_PIXEL_UNPACK_BUFFER = 0x88EC
+
+gl_PIXEL_UNPACK_BUFFER_BINDING :: GLenum
+gl_PIXEL_UNPACK_BUFFER_BINDING = 0x88EF
+
+gl_POINT :: GLenum
+gl_POINT = 0x1B00
+
+gl_POINTS :: GLenum
+gl_POINTS = 0x0000
+
+gl_POINT_FADE_THRESHOLD_SIZE :: GLenum
+gl_POINT_FADE_THRESHOLD_SIZE = 0x8128
+
+gl_POINT_SIZE :: GLenum
+gl_POINT_SIZE = 0x0B11
+
+gl_POINT_SIZE_GRANULARITY :: GLenum
+gl_POINT_SIZE_GRANULARITY = 0x0B13
+
+gl_POINT_SIZE_RANGE :: GLenum
+gl_POINT_SIZE_RANGE = 0x0B12
+
+gl_POINT_SPRITE_COORD_ORIGIN :: GLenum
+gl_POINT_SPRITE_COORD_ORIGIN = 0x8CA0
+
+gl_POLYGON_OFFSET_FACTOR :: GLenum
+gl_POLYGON_OFFSET_FACTOR = 0x8038
+
+gl_POLYGON_OFFSET_FILL :: GLenum
+gl_POLYGON_OFFSET_FILL = 0x8037
+
+gl_POLYGON_OFFSET_LINE :: GLenum
+gl_POLYGON_OFFSET_LINE = 0x2A02
+
+gl_POLYGON_OFFSET_POINT :: GLenum
+gl_POLYGON_OFFSET_POINT = 0x2A01
+
+gl_POLYGON_OFFSET_UNITS :: GLenum
+gl_POLYGON_OFFSET_UNITS = 0x2A00
+
+gl_POLYGON_SMOOTH :: GLenum
+gl_POLYGON_SMOOTH = 0x0B41
+
+gl_POLYGON_SMOOTH_HINT :: GLenum
+gl_POLYGON_SMOOTH_HINT = 0x0C53
+
+gl_PRIMITIVES_GENERATED :: GLenum
+gl_PRIMITIVES_GENERATED = 0x8C87
+
+gl_PRIMITIVE_RESTART :: GLenum
+gl_PRIMITIVE_RESTART = 0x8F9D
+
+gl_PRIMITIVE_RESTART_INDEX :: GLenum
+gl_PRIMITIVE_RESTART_INDEX = 0x8F9E
+
+gl_PROXY_TEXTURE_1D :: GLenum
+gl_PROXY_TEXTURE_1D = 0x8063
+
+gl_PROXY_TEXTURE_1D_ARRAY :: GLenum
+gl_PROXY_TEXTURE_1D_ARRAY = 0x8C19
+
+gl_PROXY_TEXTURE_2D :: GLenum
+gl_PROXY_TEXTURE_2D = 0x8064
+
+gl_PROXY_TEXTURE_2D_ARRAY :: GLenum
+gl_PROXY_TEXTURE_2D_ARRAY = 0x8C1B
+
+gl_PROXY_TEXTURE_3D :: GLenum
+gl_PROXY_TEXTURE_3D = 0x8070
+
+gl_PROXY_TEXTURE_CUBE_MAP :: GLenum
+gl_PROXY_TEXTURE_CUBE_MAP = 0x851B
+
+gl_QUERY_BY_REGION_NO_WAIT :: GLenum
+gl_QUERY_BY_REGION_NO_WAIT = 0x8E16
+
+gl_QUERY_BY_REGION_WAIT :: GLenum
+gl_QUERY_BY_REGION_WAIT = 0x8E15
+
+gl_QUERY_COUNTER_BITS :: GLenum
+gl_QUERY_COUNTER_BITS = 0x8864
+
+gl_QUERY_NO_WAIT :: GLenum
+gl_QUERY_NO_WAIT = 0x8E14
+
+gl_QUERY_RESULT :: GLenum
+gl_QUERY_RESULT = 0x8866
+
+gl_QUERY_RESULT_AVAILABLE :: GLenum
+gl_QUERY_RESULT_AVAILABLE = 0x8867
+
+gl_QUERY_WAIT :: GLenum
+gl_QUERY_WAIT = 0x8E13
+
+gl_R11F_G11F_B10F :: GLenum
+gl_R11F_G11F_B10F = 0x8C3A
+
+gl_R16 :: GLenum
+gl_R16 = 0x822A
+
+gl_R16F :: GLenum
+gl_R16F = 0x822D
+
+gl_R16I :: GLenum
+gl_R16I = 0x8233
+
+gl_R16UI :: GLenum
+gl_R16UI = 0x8234
+
+gl_R16_SNORM :: GLenum
+gl_R16_SNORM = 0x8F98
+
+gl_R32F :: GLenum
+gl_R32F = 0x822E
+
+gl_R32I :: GLenum
+gl_R32I = 0x8235
+
+gl_R32UI :: GLenum
+gl_R32UI = 0x8236
+
+gl_R3_G3_B2 :: GLenum
+gl_R3_G3_B2 = 0x2A10
+
+gl_R8 :: GLenum
+gl_R8 = 0x8229
+
+gl_R8I :: GLenum
+gl_R8I = 0x8231
+
+gl_R8UI :: GLenum
+gl_R8UI = 0x8232
+
+gl_R8_SNORM :: GLenum
+gl_R8_SNORM = 0x8F94
+
+gl_RASTERIZER_DISCARD :: GLenum
+gl_RASTERIZER_DISCARD = 0x8C89
+
+gl_READ_BUFFER :: GLenum
+gl_READ_BUFFER = 0x0C02
+
+gl_READ_FRAMEBUFFER :: GLenum
+gl_READ_FRAMEBUFFER = 0x8CA8
+
+gl_READ_FRAMEBUFFER_BINDING :: GLenum
+gl_READ_FRAMEBUFFER_BINDING = 0x8CAA
+
+gl_READ_ONLY :: GLenum
+gl_READ_ONLY = 0x88B8
+
+gl_READ_WRITE :: GLenum
+gl_READ_WRITE = 0x88BA
+
+gl_RED :: GLenum
+gl_RED = 0x1903
+
+gl_RED_INTEGER :: GLenum
+gl_RED_INTEGER = 0x8D94
+
+gl_RED_SNORM :: GLenum
+gl_RED_SNORM = 0x8F90
+
+gl_RENDERBUFFER :: GLenum
+gl_RENDERBUFFER = 0x8D41
+
+gl_RENDERBUFFER_ALPHA_SIZE :: GLenum
+gl_RENDERBUFFER_ALPHA_SIZE = 0x8D53
+
+gl_RENDERBUFFER_BINDING :: GLenum
+gl_RENDERBUFFER_BINDING = 0x8CA7
+
+gl_RENDERBUFFER_BLUE_SIZE :: GLenum
+gl_RENDERBUFFER_BLUE_SIZE = 0x8D52
+
+gl_RENDERBUFFER_DEPTH_SIZE :: GLenum
+gl_RENDERBUFFER_DEPTH_SIZE = 0x8D54
+
+gl_RENDERBUFFER_GREEN_SIZE :: GLenum
+gl_RENDERBUFFER_GREEN_SIZE = 0x8D51
+
+gl_RENDERBUFFER_HEIGHT :: GLenum
+gl_RENDERBUFFER_HEIGHT = 0x8D43
+
+gl_RENDERBUFFER_INTERNAL_FORMAT :: GLenum
+gl_RENDERBUFFER_INTERNAL_FORMAT = 0x8D44
+
+gl_RENDERBUFFER_RED_SIZE :: GLenum
+gl_RENDERBUFFER_RED_SIZE = 0x8D50
+
+gl_RENDERBUFFER_SAMPLES :: GLenum
+gl_RENDERBUFFER_SAMPLES = 0x8CAB
+
+gl_RENDERBUFFER_STENCIL_SIZE :: GLenum
+gl_RENDERBUFFER_STENCIL_SIZE = 0x8D55
+
+gl_RENDERBUFFER_WIDTH :: GLenum
+gl_RENDERBUFFER_WIDTH = 0x8D42
+
+gl_RENDERER :: GLenum
+gl_RENDERER = 0x1F01
+
+gl_REPEAT :: GLenum
+gl_REPEAT = 0x2901
+
+gl_REPLACE :: GLenum
+gl_REPLACE = 0x1E01
+
+gl_RG :: GLenum
+gl_RG = 0x8227
+
+gl_RG16 :: GLenum
+gl_RG16 = 0x822C
+
+gl_RG16F :: GLenum
+gl_RG16F = 0x822F
+
+gl_RG16I :: GLenum
+gl_RG16I = 0x8239
+
+gl_RG16UI :: GLenum
+gl_RG16UI = 0x823A
+
+gl_RG16_SNORM :: GLenum
+gl_RG16_SNORM = 0x8F99
+
+gl_RG32F :: GLenum
+gl_RG32F = 0x8230
+
+gl_RG32I :: GLenum
+gl_RG32I = 0x823B
+
+gl_RG32UI :: GLenum
+gl_RG32UI = 0x823C
+
+gl_RG8 :: GLenum
+gl_RG8 = 0x822B
+
+gl_RG8I :: GLenum
+gl_RG8I = 0x8237
+
+gl_RG8UI :: GLenum
+gl_RG8UI = 0x8238
+
+gl_RG8_SNORM :: GLenum
+gl_RG8_SNORM = 0x8F95
+
+gl_RGB :: GLenum
+gl_RGB = 0x1907
+
+gl_RGB10 :: GLenum
+gl_RGB10 = 0x8052
+
+gl_RGB10_A2 :: GLenum
+gl_RGB10_A2 = 0x8059
+
+gl_RGB12 :: GLenum
+gl_RGB12 = 0x8053
+
+gl_RGB16 :: GLenum
+gl_RGB16 = 0x8054
+
+gl_RGB16F :: GLenum
+gl_RGB16F = 0x881B
+
+gl_RGB16I :: GLenum
+gl_RGB16I = 0x8D89
+
+gl_RGB16UI :: GLenum
+gl_RGB16UI = 0x8D77
+
+gl_RGB16_SNORM :: GLenum
+gl_RGB16_SNORM = 0x8F9A
+
+gl_RGB32F :: GLenum
+gl_RGB32F = 0x8815
+
+gl_RGB32I :: GLenum
+gl_RGB32I = 0x8D83
+
+gl_RGB32UI :: GLenum
+gl_RGB32UI = 0x8D71
+
+gl_RGB4 :: GLenum
+gl_RGB4 = 0x804F
+
+gl_RGB5 :: GLenum
+gl_RGB5 = 0x8050
+
+gl_RGB5_A1 :: GLenum
+gl_RGB5_A1 = 0x8057
+
+gl_RGB8 :: GLenum
+gl_RGB8 = 0x8051
+
+gl_RGB8I :: GLenum
+gl_RGB8I = 0x8D8F
+
+gl_RGB8UI :: GLenum
+gl_RGB8UI = 0x8D7D
+
+gl_RGB8_SNORM :: GLenum
+gl_RGB8_SNORM = 0x8F96
+
+gl_RGB9_E5 :: GLenum
+gl_RGB9_E5 = 0x8C3D
+
+gl_RGBA :: GLenum
+gl_RGBA = 0x1908
+
+gl_RGBA12 :: GLenum
+gl_RGBA12 = 0x805A
+
+gl_RGBA16 :: GLenum
+gl_RGBA16 = 0x805B
+
+gl_RGBA16F :: GLenum
+gl_RGBA16F = 0x881A
+
+gl_RGBA16I :: GLenum
+gl_RGBA16I = 0x8D88
+
+gl_RGBA16UI :: GLenum
+gl_RGBA16UI = 0x8D76
+
+gl_RGBA16_SNORM :: GLenum
+gl_RGBA16_SNORM = 0x8F9B
+
+gl_RGBA2 :: GLenum
+gl_RGBA2 = 0x8055
+
+gl_RGBA32F :: GLenum
+gl_RGBA32F = 0x8814
+
+gl_RGBA32I :: GLenum
+gl_RGBA32I = 0x8D82
+
+gl_RGBA32UI :: GLenum
+gl_RGBA32UI = 0x8D70
+
+gl_RGBA4 :: GLenum
+gl_RGBA4 = 0x8056
+
+gl_RGBA8 :: GLenum
+gl_RGBA8 = 0x8058
+
+gl_RGBA8I :: GLenum
+gl_RGBA8I = 0x8D8E
+
+gl_RGBA8UI :: GLenum
+gl_RGBA8UI = 0x8D7C
+
+gl_RGBA8_SNORM :: GLenum
+gl_RGBA8_SNORM = 0x8F97
+
+gl_RGBA_INTEGER :: GLenum
+gl_RGBA_INTEGER = 0x8D99
+
+gl_RGBA_SNORM :: GLenum
+gl_RGBA_SNORM = 0x8F93
+
+gl_RGB_INTEGER :: GLenum
+gl_RGB_INTEGER = 0x8D98
+
+gl_RGB_SNORM :: GLenum
+gl_RGB_SNORM = 0x8F92
+
+gl_RG_INTEGER :: GLenum
+gl_RG_INTEGER = 0x8228
+
+gl_RG_SNORM :: GLenum
+gl_RG_SNORM = 0x8F91
+
+gl_RIGHT :: GLenum
+gl_RIGHT = 0x0407
+
+gl_SAMPLER_1D :: GLenum
+gl_SAMPLER_1D = 0x8B5D
+
+gl_SAMPLER_1D_ARRAY :: GLenum
+gl_SAMPLER_1D_ARRAY = 0x8DC0
+
+gl_SAMPLER_1D_ARRAY_SHADOW :: GLenum
+gl_SAMPLER_1D_ARRAY_SHADOW = 0x8DC3
+
+gl_SAMPLER_1D_SHADOW :: GLenum
+gl_SAMPLER_1D_SHADOW = 0x8B61
+
+gl_SAMPLER_2D :: GLenum
+gl_SAMPLER_2D = 0x8B5E
+
+gl_SAMPLER_2D_ARRAY :: GLenum
+gl_SAMPLER_2D_ARRAY = 0x8DC1
+
+gl_SAMPLER_2D_ARRAY_SHADOW :: GLenum
+gl_SAMPLER_2D_ARRAY_SHADOW = 0x8DC4
+
+gl_SAMPLER_2D_SHADOW :: GLenum
+gl_SAMPLER_2D_SHADOW = 0x8B62
+
+gl_SAMPLER_3D :: GLenum
+gl_SAMPLER_3D = 0x8B5F
+
+gl_SAMPLER_BUFFER :: GLenum
+gl_SAMPLER_BUFFER = 0x8DC2
+
+gl_SAMPLER_CUBE :: GLenum
+gl_SAMPLER_CUBE = 0x8B60
+
+gl_SAMPLER_CUBE_SHADOW :: GLenum
+gl_SAMPLER_CUBE_SHADOW = 0x8DC5
+
+gl_SAMPLES :: GLenum
+gl_SAMPLES = 0x80A9
+
+gl_SAMPLES_PASSED :: GLenum
+gl_SAMPLES_PASSED = 0x8914
+
+gl_SAMPLE_ALPHA_TO_COVERAGE :: GLenum
+gl_SAMPLE_ALPHA_TO_COVERAGE = 0x809E
+
+gl_SAMPLE_ALPHA_TO_ONE :: GLenum
+gl_SAMPLE_ALPHA_TO_ONE = 0x809F
+
+gl_SAMPLE_BUFFERS :: GLenum
+gl_SAMPLE_BUFFERS = 0x80A8
+
+gl_SAMPLE_COVERAGE :: GLenum
+gl_SAMPLE_COVERAGE = 0x80A0
+
+gl_SAMPLE_COVERAGE_INVERT :: GLenum
+gl_SAMPLE_COVERAGE_INVERT = 0x80AB
+
+gl_SAMPLE_COVERAGE_VALUE :: GLenum
+gl_SAMPLE_COVERAGE_VALUE = 0x80AA
+
+gl_SCISSOR_BOX :: GLenum
+gl_SCISSOR_BOX = 0x0C10
+
+gl_SCISSOR_TEST :: GLenum
+gl_SCISSOR_TEST = 0x0C11
+
+gl_SEPARATE_ATTRIBS :: GLenum
+gl_SEPARATE_ATTRIBS = 0x8C8D
+
+gl_SET :: GLenum
+gl_SET = 0x150F
+
+gl_SHADER_SOURCE_LENGTH :: GLenum
+gl_SHADER_SOURCE_LENGTH = 0x8B88
+
+gl_SHADER_TYPE :: GLenum
+gl_SHADER_TYPE = 0x8B4F
+
+gl_SHADING_LANGUAGE_VERSION :: GLenum
+gl_SHADING_LANGUAGE_VERSION = 0x8B8C
+
+gl_SHORT :: GLenum
+gl_SHORT = 0x1402
+
+gl_SIGNED_NORMALIZED :: GLenum
+gl_SIGNED_NORMALIZED = 0x8F9C
+
+gl_SMOOTH_LINE_WIDTH_GRANULARITY :: GLenum
+gl_SMOOTH_LINE_WIDTH_GRANULARITY = 0x0B23
+
+gl_SMOOTH_LINE_WIDTH_RANGE :: GLenum
+gl_SMOOTH_LINE_WIDTH_RANGE = 0x0B22
+
+gl_SMOOTH_POINT_SIZE_GRANULARITY :: GLenum
+gl_SMOOTH_POINT_SIZE_GRANULARITY = 0x0B13
+
+gl_SMOOTH_POINT_SIZE_RANGE :: GLenum
+gl_SMOOTH_POINT_SIZE_RANGE = 0x0B12
+
+gl_SRC_ALPHA :: GLenum
+gl_SRC_ALPHA = 0x0302
+
+gl_SRC_ALPHA_SATURATE :: GLenum
+gl_SRC_ALPHA_SATURATE = 0x0308
+
+gl_SRC_COLOR :: GLenum
+gl_SRC_COLOR = 0x0300
+
+gl_SRGB :: GLenum
+gl_SRGB = 0x8C40
+
+gl_SRGB8 :: GLenum
+gl_SRGB8 = 0x8C41
+
+gl_SRGB8_ALPHA8 :: GLenum
+gl_SRGB8_ALPHA8 = 0x8C43
+
+gl_SRGB_ALPHA :: GLenum
+gl_SRGB_ALPHA = 0x8C42
+
+gl_STATIC_COPY :: GLenum
+gl_STATIC_COPY = 0x88E6
+
+gl_STATIC_DRAW :: GLenum
+gl_STATIC_DRAW = 0x88E4
+
+gl_STATIC_READ :: GLenum
+gl_STATIC_READ = 0x88E5
+
+gl_STENCIL :: GLenum
+gl_STENCIL = 0x1802
+
+gl_STENCIL_ATTACHMENT :: GLenum
+gl_STENCIL_ATTACHMENT = 0x8D20
+
+gl_STENCIL_BACK_FAIL :: GLenum
+gl_STENCIL_BACK_FAIL = 0x8801
+
+gl_STENCIL_BACK_FUNC :: GLenum
+gl_STENCIL_BACK_FUNC = 0x8800
+
+gl_STENCIL_BACK_PASS_DEPTH_FAIL :: GLenum
+gl_STENCIL_BACK_PASS_DEPTH_FAIL = 0x8802
+
+gl_STENCIL_BACK_PASS_DEPTH_PASS :: GLenum
+gl_STENCIL_BACK_PASS_DEPTH_PASS = 0x8803
+
+gl_STENCIL_BACK_REF :: GLenum
+gl_STENCIL_BACK_REF = 0x8CA3
+
+gl_STENCIL_BACK_VALUE_MASK :: GLenum
+gl_STENCIL_BACK_VALUE_MASK = 0x8CA4
+
+gl_STENCIL_BACK_WRITEMASK :: GLenum
+gl_STENCIL_BACK_WRITEMASK = 0x8CA5
+
+gl_STENCIL_BUFFER :: GLenum
+gl_STENCIL_BUFFER = 0x8224
+
+gl_STENCIL_BUFFER_BIT :: GLbitfield
+gl_STENCIL_BUFFER_BIT = 0x00000400
+
+gl_STENCIL_CLEAR_VALUE :: GLenum
+gl_STENCIL_CLEAR_VALUE = 0x0B91
+
+gl_STENCIL_FAIL :: GLenum
+gl_STENCIL_FAIL = 0x0B94
+
+gl_STENCIL_FUNC :: GLenum
+gl_STENCIL_FUNC = 0x0B92
+
+gl_STENCIL_INDEX :: GLenum
+gl_STENCIL_INDEX = 0x1901
+
+gl_STENCIL_INDEX1 :: GLenum
+gl_STENCIL_INDEX1 = 0x8D46
+
+gl_STENCIL_INDEX16 :: GLenum
+gl_STENCIL_INDEX16 = 0x8D49
+
+gl_STENCIL_INDEX4 :: GLenum
+gl_STENCIL_INDEX4 = 0x8D47
+
+gl_STENCIL_INDEX8 :: GLenum
+gl_STENCIL_INDEX8 = 0x8D48
+
+gl_STENCIL_PASS_DEPTH_FAIL :: GLenum
+gl_STENCIL_PASS_DEPTH_FAIL = 0x0B95
+
+gl_STENCIL_PASS_DEPTH_PASS :: GLenum
+gl_STENCIL_PASS_DEPTH_PASS = 0x0B96
+
+gl_STENCIL_REF :: GLenum
+gl_STENCIL_REF = 0x0B97
+
+gl_STENCIL_TEST :: GLenum
+gl_STENCIL_TEST = 0x0B90
+
+gl_STENCIL_VALUE_MASK :: GLenum
+gl_STENCIL_VALUE_MASK = 0x0B93
+
+gl_STENCIL_WRITEMASK :: GLenum
+gl_STENCIL_WRITEMASK = 0x0B98
+
+gl_STEREO :: GLenum
+gl_STEREO = 0x0C33
+
+gl_STREAM_COPY :: GLenum
+gl_STREAM_COPY = 0x88E2
+
+gl_STREAM_DRAW :: GLenum
+gl_STREAM_DRAW = 0x88E0
+
+gl_STREAM_READ :: GLenum
+gl_STREAM_READ = 0x88E1
+
+gl_SUBPIXEL_BITS :: GLenum
+gl_SUBPIXEL_BITS = 0x0D50
+
+gl_TEXTURE :: GLenum
+gl_TEXTURE = 0x1702
+
+gl_TEXTURE0 :: GLenum
+gl_TEXTURE0 = 0x84C0
+
+gl_TEXTURE1 :: GLenum
+gl_TEXTURE1 = 0x84C1
+
+gl_TEXTURE10 :: GLenum
+gl_TEXTURE10 = 0x84CA
+
+gl_TEXTURE11 :: GLenum
+gl_TEXTURE11 = 0x84CB
+
+gl_TEXTURE12 :: GLenum
+gl_TEXTURE12 = 0x84CC
+
+gl_TEXTURE13 :: GLenum
+gl_TEXTURE13 = 0x84CD
+
+gl_TEXTURE14 :: GLenum
+gl_TEXTURE14 = 0x84CE
+
+gl_TEXTURE15 :: GLenum
+gl_TEXTURE15 = 0x84CF
+
+gl_TEXTURE16 :: GLenum
+gl_TEXTURE16 = 0x84D0
+
+gl_TEXTURE17 :: GLenum
+gl_TEXTURE17 = 0x84D1
+
+gl_TEXTURE18 :: GLenum
+gl_TEXTURE18 = 0x84D2
+
+gl_TEXTURE19 :: GLenum
+gl_TEXTURE19 = 0x84D3
+
+gl_TEXTURE2 :: GLenum
+gl_TEXTURE2 = 0x84C2
+
+gl_TEXTURE20 :: GLenum
+gl_TEXTURE20 = 0x84D4
+
+gl_TEXTURE21 :: GLenum
+gl_TEXTURE21 = 0x84D5
+
+gl_TEXTURE22 :: GLenum
+gl_TEXTURE22 = 0x84D6
+
+gl_TEXTURE23 :: GLenum
+gl_TEXTURE23 = 0x84D7
+
+gl_TEXTURE24 :: GLenum
+gl_TEXTURE24 = 0x84D8
+
+gl_TEXTURE25 :: GLenum
+gl_TEXTURE25 = 0x84D9
+
+gl_TEXTURE26 :: GLenum
+gl_TEXTURE26 = 0x84DA
+
+gl_TEXTURE27 :: GLenum
+gl_TEXTURE27 = 0x84DB
+
+gl_TEXTURE28 :: GLenum
+gl_TEXTURE28 = 0x84DC
+
+gl_TEXTURE29 :: GLenum
+gl_TEXTURE29 = 0x84DD
+
+gl_TEXTURE3 :: GLenum
+gl_TEXTURE3 = 0x84C3
+
+gl_TEXTURE30 :: GLenum
+gl_TEXTURE30 = 0x84DE
+
+gl_TEXTURE31 :: GLenum
+gl_TEXTURE31 = 0x84DF
+
+gl_TEXTURE4 :: GLenum
+gl_TEXTURE4 = 0x84C4
+
+gl_TEXTURE5 :: GLenum
+gl_TEXTURE5 = 0x84C5
+
+gl_TEXTURE6 :: GLenum
+gl_TEXTURE6 = 0x84C6
+
+gl_TEXTURE7 :: GLenum
+gl_TEXTURE7 = 0x84C7
+
+gl_TEXTURE8 :: GLenum
+gl_TEXTURE8 = 0x84C8
+
+gl_TEXTURE9 :: GLenum
+gl_TEXTURE9 = 0x84C9
+
+gl_TEXTURE_1D :: GLenum
+gl_TEXTURE_1D = 0x0DE0
+
+gl_TEXTURE_1D_ARRAY :: GLenum
+gl_TEXTURE_1D_ARRAY = 0x8C18
+
+gl_TEXTURE_2D :: GLenum
+gl_TEXTURE_2D = 0x0DE1
+
+gl_TEXTURE_2D_ARRAY :: GLenum
+gl_TEXTURE_2D_ARRAY = 0x8C1A
+
+gl_TEXTURE_3D :: GLenum
+gl_TEXTURE_3D = 0x806F
+
+gl_TEXTURE_ALPHA_SIZE :: GLenum
+gl_TEXTURE_ALPHA_SIZE = 0x805F
+
+gl_TEXTURE_ALPHA_TYPE :: GLenum
+gl_TEXTURE_ALPHA_TYPE = 0x8C13
+
+gl_TEXTURE_BASE_LEVEL :: GLenum
+gl_TEXTURE_BASE_LEVEL = 0x813C
+
+gl_TEXTURE_BINDING_1D :: GLenum
+gl_TEXTURE_BINDING_1D = 0x8068
+
+gl_TEXTURE_BINDING_1D_ARRAY :: GLenum
+gl_TEXTURE_BINDING_1D_ARRAY = 0x8C1C
+
+gl_TEXTURE_BINDING_2D :: GLenum
+gl_TEXTURE_BINDING_2D = 0x8069
+
+gl_TEXTURE_BINDING_2D_ARRAY :: GLenum
+gl_TEXTURE_BINDING_2D_ARRAY = 0x8C1D
+
+gl_TEXTURE_BINDING_3D :: GLenum
+gl_TEXTURE_BINDING_3D = 0x806A
+
+gl_TEXTURE_BINDING_CUBE_MAP :: GLenum
+gl_TEXTURE_BINDING_CUBE_MAP = 0x8514
+
+gl_TEXTURE_BLUE_SIZE :: GLenum
+gl_TEXTURE_BLUE_SIZE = 0x805E
+
+gl_TEXTURE_BLUE_TYPE :: GLenum
+gl_TEXTURE_BLUE_TYPE = 0x8C12
+
+gl_TEXTURE_BORDER :: GLenum
+gl_TEXTURE_BORDER = 0x1005
+
+gl_TEXTURE_BORDER_COLOR :: GLenum
+gl_TEXTURE_BORDER_COLOR = 0x1004
+
+gl_TEXTURE_COMPARE_FUNC :: GLenum
+gl_TEXTURE_COMPARE_FUNC = 0x884D
+
+gl_TEXTURE_COMPARE_MODE :: GLenum
+gl_TEXTURE_COMPARE_MODE = 0x884C
+
+gl_TEXTURE_COMPRESSED :: GLenum
+gl_TEXTURE_COMPRESSED = 0x86A1
+
+gl_TEXTURE_COMPRESSED_IMAGE_SIZE :: GLenum
+gl_TEXTURE_COMPRESSED_IMAGE_SIZE = 0x86A0
+
+gl_TEXTURE_COMPRESSION_HINT :: GLenum
+gl_TEXTURE_COMPRESSION_HINT = 0x84EF
+
+gl_TEXTURE_CUBE_MAP :: GLenum
+gl_TEXTURE_CUBE_MAP = 0x8513
+
+gl_TEXTURE_CUBE_MAP_NEGATIVE_X :: GLenum
+gl_TEXTURE_CUBE_MAP_NEGATIVE_X = 0x8516
+
+gl_TEXTURE_CUBE_MAP_NEGATIVE_Y :: GLenum
+gl_TEXTURE_CUBE_MAP_NEGATIVE_Y = 0x8518
+
+gl_TEXTURE_CUBE_MAP_NEGATIVE_Z :: GLenum
+gl_TEXTURE_CUBE_MAP_NEGATIVE_Z = 0x851A
+
+gl_TEXTURE_CUBE_MAP_POSITIVE_X :: GLenum
+gl_TEXTURE_CUBE_MAP_POSITIVE_X = 0x8515
+
+gl_TEXTURE_CUBE_MAP_POSITIVE_Y :: GLenum
+gl_TEXTURE_CUBE_MAP_POSITIVE_Y = 0x8517
+
+gl_TEXTURE_CUBE_MAP_POSITIVE_Z :: GLenum
+gl_TEXTURE_CUBE_MAP_POSITIVE_Z = 0x8519
+
+gl_TEXTURE_DEPTH :: GLenum
+gl_TEXTURE_DEPTH = 0x8071
+
+gl_TEXTURE_DEPTH_SIZE :: GLenum
+gl_TEXTURE_DEPTH_SIZE = 0x884A
+
+gl_TEXTURE_DEPTH_TYPE :: GLenum
+gl_TEXTURE_DEPTH_TYPE = 0x8C16
+
+gl_TEXTURE_GREEN_SIZE :: GLenum
+gl_TEXTURE_GREEN_SIZE = 0x805D
+
+gl_TEXTURE_GREEN_TYPE :: GLenum
+gl_TEXTURE_GREEN_TYPE = 0x8C11
+
+gl_TEXTURE_HEIGHT :: GLenum
+gl_TEXTURE_HEIGHT = 0x1001
+
+gl_TEXTURE_INTERNAL_FORMAT :: GLenum
+gl_TEXTURE_INTERNAL_FORMAT = 0x1003
+
+gl_TEXTURE_LOD_BIAS :: GLenum
+gl_TEXTURE_LOD_BIAS = 0x8501
+
+gl_TEXTURE_MAG_FILTER :: GLenum
+gl_TEXTURE_MAG_FILTER = 0x2800
+
+gl_TEXTURE_MAX_LEVEL :: GLenum
+gl_TEXTURE_MAX_LEVEL = 0x813D
+
+gl_TEXTURE_MAX_LOD :: GLenum
+gl_TEXTURE_MAX_LOD = 0x813B
+
+gl_TEXTURE_MIN_FILTER :: GLenum
+gl_TEXTURE_MIN_FILTER = 0x2801
+
+gl_TEXTURE_MIN_LOD :: GLenum
+gl_TEXTURE_MIN_LOD = 0x813A
+
+gl_TEXTURE_RED_SIZE :: GLenum
+gl_TEXTURE_RED_SIZE = 0x805C
+
+gl_TEXTURE_RED_TYPE :: GLenum
+gl_TEXTURE_RED_TYPE = 0x8C10
+
+gl_TEXTURE_SHARED_SIZE :: GLenum
+gl_TEXTURE_SHARED_SIZE = 0x8C3F
+
+gl_TEXTURE_STENCIL_SIZE :: GLenum
+gl_TEXTURE_STENCIL_SIZE = 0x88F1
+
+gl_TEXTURE_WIDTH :: GLenum
+gl_TEXTURE_WIDTH = 0x1000
+
+gl_TEXTURE_WRAP_R :: GLenum
+gl_TEXTURE_WRAP_R = 0x8072
+
+gl_TEXTURE_WRAP_S :: GLenum
+gl_TEXTURE_WRAP_S = 0x2802
+
+gl_TEXTURE_WRAP_T :: GLenum
+gl_TEXTURE_WRAP_T = 0x2803
+
+gl_TRANSFORM_FEEDBACK_BUFFER :: GLenum
+gl_TRANSFORM_FEEDBACK_BUFFER = 0x8C8E
+
+gl_TRANSFORM_FEEDBACK_BUFFER_BINDING :: GLenum
+gl_TRANSFORM_FEEDBACK_BUFFER_BINDING = 0x8C8F
+
+gl_TRANSFORM_FEEDBACK_BUFFER_MODE :: GLenum
+gl_TRANSFORM_FEEDBACK_BUFFER_MODE = 0x8C7F
+
+gl_TRANSFORM_FEEDBACK_BUFFER_SIZE :: GLenum
+gl_TRANSFORM_FEEDBACK_BUFFER_SIZE = 0x8C85
+
+gl_TRANSFORM_FEEDBACK_BUFFER_START :: GLenum
+gl_TRANSFORM_FEEDBACK_BUFFER_START = 0x8C84
+
+gl_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN :: GLenum
+gl_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN = 0x8C88
+
+gl_TRANSFORM_FEEDBACK_VARYINGS :: GLenum
+gl_TRANSFORM_FEEDBACK_VARYINGS = 0x8C83
+
+gl_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH :: GLenum
+gl_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH = 0x8C76
+
+gl_TRIANGLES :: GLenum
+gl_TRIANGLES = 0x0004
+
+gl_TRIANGLE_FAN :: GLenum
+gl_TRIANGLE_FAN = 0x0006
+
+gl_TRIANGLE_STRIP :: GLenum
+gl_TRIANGLE_STRIP = 0x0005
+
+gl_TRUE :: GLenum
+gl_TRUE = 1
+
+gl_UNPACK_ALIGNMENT :: GLenum
+gl_UNPACK_ALIGNMENT = 0x0CF5
+
+gl_UNPACK_IMAGE_HEIGHT :: GLenum
+gl_UNPACK_IMAGE_HEIGHT = 0x806E
+
+gl_UNPACK_LSB_FIRST :: GLenum
+gl_UNPACK_LSB_FIRST = 0x0CF1
+
+gl_UNPACK_ROW_LENGTH :: GLenum
+gl_UNPACK_ROW_LENGTH = 0x0CF2
+
+gl_UNPACK_SKIP_IMAGES :: GLenum
+gl_UNPACK_SKIP_IMAGES = 0x806D
+
+gl_UNPACK_SKIP_PIXELS :: GLenum
+gl_UNPACK_SKIP_PIXELS = 0x0CF4
+
+gl_UNPACK_SKIP_ROWS :: GLenum
+gl_UNPACK_SKIP_ROWS = 0x0CF3
+
+gl_UNPACK_SWAP_BYTES :: GLenum
+gl_UNPACK_SWAP_BYTES = 0x0CF0
+
+gl_UNSIGNED_BYTE :: GLenum
+gl_UNSIGNED_BYTE = 0x1401
+
+gl_UNSIGNED_BYTE_2_3_3_REV :: GLenum
+gl_UNSIGNED_BYTE_2_3_3_REV = 0x8362
+
+gl_UNSIGNED_BYTE_3_3_2 :: GLenum
+gl_UNSIGNED_BYTE_3_3_2 = 0x8032
+
+gl_UNSIGNED_INT :: GLenum
+gl_UNSIGNED_INT = 0x1405
+
+gl_UNSIGNED_INT_10F_11F_11F_REV :: GLenum
+gl_UNSIGNED_INT_10F_11F_11F_REV = 0x8C3B
+
+gl_UNSIGNED_INT_10_10_10_2 :: GLenum
+gl_UNSIGNED_INT_10_10_10_2 = 0x8036
+
+gl_UNSIGNED_INT_24_8 :: GLenum
+gl_UNSIGNED_INT_24_8 = 0x84FA
+
+gl_UNSIGNED_INT_2_10_10_10_REV :: GLenum
+gl_UNSIGNED_INT_2_10_10_10_REV = 0x8368
+
+gl_UNSIGNED_INT_5_9_9_9_REV :: GLenum
+gl_UNSIGNED_INT_5_9_9_9_REV = 0x8C3E
+
+gl_UNSIGNED_INT_8_8_8_8 :: GLenum
+gl_UNSIGNED_INT_8_8_8_8 = 0x8035
+
+gl_UNSIGNED_INT_8_8_8_8_REV :: GLenum
+gl_UNSIGNED_INT_8_8_8_8_REV = 0x8367
+
+gl_UNSIGNED_INT_SAMPLER_1D :: GLenum
+gl_UNSIGNED_INT_SAMPLER_1D = 0x8DD1
+
+gl_UNSIGNED_INT_SAMPLER_1D_ARRAY :: GLenum
+gl_UNSIGNED_INT_SAMPLER_1D_ARRAY = 0x8DD6
+
+gl_UNSIGNED_INT_SAMPLER_2D :: GLenum
+gl_UNSIGNED_INT_SAMPLER_2D = 0x8DD2
+
+gl_UNSIGNED_INT_SAMPLER_2D_ARRAY :: GLenum
+gl_UNSIGNED_INT_SAMPLER_2D_ARRAY = 0x8DD7
+
+gl_UNSIGNED_INT_SAMPLER_2D_RECT :: GLenum
+gl_UNSIGNED_INT_SAMPLER_2D_RECT = 0x8DD5
+
+gl_UNSIGNED_INT_SAMPLER_3D :: GLenum
+gl_UNSIGNED_INT_SAMPLER_3D = 0x8DD3
+
+gl_UNSIGNED_INT_SAMPLER_BUFFER :: GLenum
+gl_UNSIGNED_INT_SAMPLER_BUFFER = 0x8DD8
+
+gl_UNSIGNED_INT_SAMPLER_CUBE :: GLenum
+gl_UNSIGNED_INT_SAMPLER_CUBE = 0x8DD4
+
+gl_UNSIGNED_INT_VEC2 :: GLenum
+gl_UNSIGNED_INT_VEC2 = 0x8DC6
+
+gl_UNSIGNED_INT_VEC3 :: GLenum
+gl_UNSIGNED_INT_VEC3 = 0x8DC7
+
+gl_UNSIGNED_INT_VEC4 :: GLenum
+gl_UNSIGNED_INT_VEC4 = 0x8DC8
+
+gl_UNSIGNED_NORMALIZED :: GLenum
+gl_UNSIGNED_NORMALIZED = 0x8C17
+
+gl_UNSIGNED_SHORT :: GLenum
+gl_UNSIGNED_SHORT = 0x1403
+
+gl_UNSIGNED_SHORT_1_5_5_5_REV :: GLenum
+gl_UNSIGNED_SHORT_1_5_5_5_REV = 0x8366
+
+gl_UNSIGNED_SHORT_4_4_4_4 :: GLenum
+gl_UNSIGNED_SHORT_4_4_4_4 = 0x8033
+
+gl_UNSIGNED_SHORT_4_4_4_4_REV :: GLenum
+gl_UNSIGNED_SHORT_4_4_4_4_REV = 0x8365
+
+gl_UNSIGNED_SHORT_5_5_5_1 :: GLenum
+gl_UNSIGNED_SHORT_5_5_5_1 = 0x8034
+
+gl_UNSIGNED_SHORT_5_6_5 :: GLenum
+gl_UNSIGNED_SHORT_5_6_5 = 0x8363
+
+gl_UNSIGNED_SHORT_5_6_5_REV :: GLenum
+gl_UNSIGNED_SHORT_5_6_5_REV = 0x8364
+
+gl_UPPER_LEFT :: GLenum
+gl_UPPER_LEFT = 0x8CA2
+
+gl_VALIDATE_STATUS :: GLenum
+gl_VALIDATE_STATUS = 0x8B83
+
+gl_VENDOR :: GLenum
+gl_VENDOR = 0x1F00
+
+gl_VERSION :: GLenum
+gl_VERSION = 0x1F02
+
+gl_VERTEX_ARRAY_BINDING :: GLenum
+gl_VERTEX_ARRAY_BINDING = 0x85B5
+
+gl_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING :: GLenum
+gl_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = 0x889F
+
+gl_VERTEX_ATTRIB_ARRAY_ENABLED :: GLenum
+gl_VERTEX_ATTRIB_ARRAY_ENABLED = 0x8622
+
+gl_VERTEX_ATTRIB_ARRAY_INTEGER :: GLenum
+gl_VERTEX_ATTRIB_ARRAY_INTEGER = 0x88FD
+
+gl_VERTEX_ATTRIB_ARRAY_NORMALIZED :: GLenum
+gl_VERTEX_ATTRIB_ARRAY_NORMALIZED = 0x886A
+
+gl_VERTEX_ATTRIB_ARRAY_POINTER :: GLenum
+gl_VERTEX_ATTRIB_ARRAY_POINTER = 0x8645
+
+gl_VERTEX_ATTRIB_ARRAY_SIZE :: GLenum
+gl_VERTEX_ATTRIB_ARRAY_SIZE = 0x8623
+
+gl_VERTEX_ATTRIB_ARRAY_STRIDE :: GLenum
+gl_VERTEX_ATTRIB_ARRAY_STRIDE = 0x8624
+
+gl_VERTEX_ATTRIB_ARRAY_TYPE :: GLenum
+gl_VERTEX_ATTRIB_ARRAY_TYPE = 0x8625
+
+gl_VERTEX_PROGRAM_POINT_SIZE :: GLenum
+gl_VERTEX_PROGRAM_POINT_SIZE = 0x8642
+
+gl_VERTEX_SHADER :: GLenum
+gl_VERTEX_SHADER = 0x8B31
+
+gl_VIEWPORT :: GLenum
+gl_VIEWPORT = 0x0BA2
+
+gl_WRITE_ONLY :: GLenum
+gl_WRITE_ONLY = 0x88B9
+
+gl_XOR :: GLenum
+gl_XOR = 0x1506
+
+gl_ZERO :: GLenum
+gl_ZERO = 0
diff --git a/src/Graphics/Rendering/OpenGL/Raw/Core31/Types.hs b/src/Graphics/Rendering/OpenGL/Raw/Core31/Types.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/Core31/Types.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/Core31/Types.hs
@@ -1,37 +1,37 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.Core31.Types
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- This module corresponds to table 2.2 in section 2.3 (Command Syntax) of the
--- OpenGL 3.1 specs.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.Core31.Types (
-   GLboolean,
-   GLbyte,
-   GLubyte,
-   GLchar,
-   GLshort,
-   GLushort,
-   GLint,
-   GLuint,
-   GLsizei,
-   GLenum,
-   GLintptr,
-   GLsizeiptr,
-   GLbitfield,
-   GLhalf,
-   GLfloat,
-   GLclampf,
-   GLdouble,
-   GLclampd
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Types
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.Core31.Types
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- This module corresponds to table 2.2 in section 2.3 (Command Syntax) of the
+-- OpenGL 3.1 specs.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.Core31.Types (
+   GLboolean,
+   GLbyte,
+   GLubyte,
+   GLchar,
+   GLshort,
+   GLushort,
+   GLint,
+   GLuint,
+   GLsizei,
+   GLenum,
+   GLintptr,
+   GLsizeiptr,
+   GLbitfield,
+   GLhalf,
+   GLfloat,
+   GLclampf,
+   GLdouble,
+   GLclampd
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Types
diff --git a/src/Graphics/Rendering/OpenGL/Raw/Core32.hs b/src/Graphics/Rendering/OpenGL/Raw/Core32.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/Core32.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/Core32.hs
@@ -1,43 +1,57 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.Core32
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions, tokens and types from the OpenGL 3.2 core, see
--- <http://www.opengl.org/registry/>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.Core32 (
-   -- * OpenGL 3.1 core
-   module Graphics.Rendering.OpenGL.Raw.Core31,
-   -- * Extensions which had some hidden entitites in OpenGL 3.1 core
-   module Graphics.Rendering.OpenGL.Raw.ARB.UniformBufferObject,
-   -- * Extensions promoted to OpenGL 3.2 core
-   module Graphics.Rendering.OpenGL.Raw.ARB.CreateContextProfile,
-   module Graphics.Rendering.OpenGL.Raw.ARB.DrawElementsBaseVertex,
-   module Graphics.Rendering.OpenGL.Raw.ARB.ProvokingVertex,
-   module Graphics.Rendering.OpenGL.Raw.ARB.SeamlessCubeMap,
-   module Graphics.Rendering.OpenGL.Raw.ARB.TextureMultisample,
-   module Graphics.Rendering.OpenGL.Raw.ARB.DepthClamp,
-   module Graphics.Rendering.OpenGL.Raw.ARB.GeometryShader4,
-   module Graphics.Rendering.OpenGL.Raw.ARB.Sync
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core31
-
-import Graphics.Rendering.OpenGL.Raw.ARB.UniformBufferObject
-
-import Graphics.Rendering.OpenGL.Raw.ARB.CreateContextProfile
-import Graphics.Rendering.OpenGL.Raw.ARB.DrawElementsBaseVertex
-import Graphics.Rendering.OpenGL.Raw.ARB.ProvokingVertex
-import Graphics.Rendering.OpenGL.Raw.ARB.SeamlessCubeMap
-import Graphics.Rendering.OpenGL.Raw.ARB.TextureMultisample
-import Graphics.Rendering.OpenGL.Raw.ARB.DepthClamp
-import Graphics.Rendering.OpenGL.Raw.ARB.GeometryShader4
-import Graphics.Rendering.OpenGL.Raw.ARB.Sync
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.Core32
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions, tokens and types from the OpenGL 3.2 core, see
+-- <http://www.opengl.org/registry/>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.Core32 (
+   -- * OpenGL 3.1 core
+   module Graphics.Rendering.OpenGL.Raw.Core31,
+   -- * Extensions which had some hidden entitites in OpenGL 3.1 core
+   module Graphics.Rendering.OpenGL.Raw.ARB.UniformBufferObject,
+   -- * Extensions promoted to OpenGL 3.2 core
+   module Graphics.Rendering.OpenGL.Raw.ARB.CreateContextProfile,
+   module Graphics.Rendering.OpenGL.Raw.ARB.DrawElementsBaseVertex,
+   module Graphics.Rendering.OpenGL.Raw.ARB.ProvokingVertex,
+   module Graphics.Rendering.OpenGL.Raw.ARB.SeamlessCubeMap,
+   module Graphics.Rendering.OpenGL.Raw.ARB.TextureMultisample,
+   module Graphics.Rendering.OpenGL.Raw.ARB.DepthClamp,
+   module Graphics.Rendering.OpenGL.Raw.ARB.GeometryShader4,
+   module Graphics.Rendering.OpenGL.Raw.ARB.Sync,
+   -- * Additional OpenGL 3.2 entities
+   glGetInteger64i_v
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core31
+
+import Graphics.Rendering.OpenGL.Raw.ARB.UniformBufferObject
+
+import Graphics.Rendering.OpenGL.Raw.ARB.CreateContextProfile
+import Graphics.Rendering.OpenGL.Raw.ARB.DrawElementsBaseVertex
+import Graphics.Rendering.OpenGL.Raw.ARB.ProvokingVertex
+import Graphics.Rendering.OpenGL.Raw.ARB.SeamlessCubeMap
+import Graphics.Rendering.OpenGL.Raw.ARB.TextureMultisample
+import Graphics.Rendering.OpenGL.Raw.ARB.DepthClamp
+import Graphics.Rendering.OpenGL.Raw.ARB.GeometryShader4
+import Graphics.Rendering.OpenGL.Raw.ARB.Sync
+
+import Foreign.Ptr
+import Foreign.C.Types
+import Graphics.Rendering.OpenGL.Raw.Extensions
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "OpenGL 3.2"
+
+EXTENSION_ENTRY(dyn_glGetInteger64i_v,ptr_glGetInteger64i_v,"glGetInteger64i_v",glGetInteger64i_v,GLenum -> GLuint -> Ptr GLint64 -> IO ())
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT.hs
@@ -1,195 +1,195 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT
--- Copyright   :  (c) Sven Panne 2013
--- 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.BlendColor,
-   module Graphics.Rendering.OpenGL.Raw.EXT.PolygonOffset,
-   module Graphics.Rendering.OpenGL.Raw.EXT.Texture,
-   module Graphics.Rendering.OpenGL.Raw.EXT.Texture3D,
-   module Graphics.Rendering.OpenGL.Raw.EXT.Subtexture,
-   module Graphics.Rendering.OpenGL.Raw.EXT.CopyTexture,
-   module Graphics.Rendering.OpenGL.Raw.EXT.Histogram,
-   module Graphics.Rendering.OpenGL.Raw.EXT.Convolution,
-   module Graphics.Rendering.OpenGL.Raw.EXT.Cmyka,
-   module Graphics.Rendering.OpenGL.Raw.EXT.TextureObject,
-   module Graphics.Rendering.OpenGL.Raw.EXT.PackedPixels,
-   module Graphics.Rendering.OpenGL.Raw.EXT.RescaleNormal,
-   module Graphics.Rendering.OpenGL.Raw.EXT.VertexArray,
-   -- module Graphics.Rendering.OpenGL.Raw.EXT.MiscAttribute,
-   module Graphics.Rendering.OpenGL.Raw.EXT.BlendMinmax,
-   module Graphics.Rendering.OpenGL.Raw.EXT.BlendSubtract,
-   -- module Graphics.Rendering.OpenGL.Raw.EXT.BlendLogicOp,
-   module Graphics.Rendering.OpenGL.Raw.EXT.PointParameters,
-   module Graphics.Rendering.OpenGL.Raw.EXT.ColorSubtable,
-   module Graphics.Rendering.OpenGL.Raw.EXT.PalettedTexture,
-   module Graphics.Rendering.OpenGL.Raw.EXT.ClipVolumeHint,
-   -- module Graphics.Rendering.OpenGL.Raw.EXT.IndexTexture,
-   module Graphics.Rendering.OpenGL.Raw.EXT.IndexMaterial,
-   module Graphics.Rendering.OpenGL.Raw.EXT.IndexFunc,
-   module Graphics.Rendering.OpenGL.Raw.EXT.IndexArrayFormats,
-   module Graphics.Rendering.OpenGL.Raw.EXT.CompiledVertexArray,
-   module Graphics.Rendering.OpenGL.Raw.EXT.CullVertex,
-   module Graphics.Rendering.OpenGL.Raw.EXT.FragmentLighting,
-   module Graphics.Rendering.OpenGL.Raw.EXT.DrawRangeElements,
-   module Graphics.Rendering.OpenGL.Raw.EXT.LightTexture,
-   module Graphics.Rendering.OpenGL.Raw.EXT.SceneMarker,
-   module Graphics.Rendering.OpenGL.Raw.EXT.Bgra,
-   module Graphics.Rendering.OpenGL.Raw.EXT.PixelTransform,
-   -- module Graphics.Rendering.OpenGL.Raw.EXT.PixelTransformColorTable,
-   module Graphics.Rendering.OpenGL.Raw.EXT.SharedTexturePalette,
-   module Graphics.Rendering.OpenGL.Raw.EXT.SeparateSpecularColor,
-   module Graphics.Rendering.OpenGL.Raw.EXT.SecondaryColor,
-   -- module Graphics.Rendering.OpenGL.Raw.EXT.TextureEnv,
-   module Graphics.Rendering.OpenGL.Raw.EXT.TexturePerturbNormal,
-   module Graphics.Rendering.OpenGL.Raw.EXT.MultiDrawArrays,
-   module Graphics.Rendering.OpenGL.Raw.EXT.FogCoord,
-   module Graphics.Rendering.OpenGL.Raw.EXT.CoordinateFrame,
-   module Graphics.Rendering.OpenGL.Raw.EXT.TextureEnvCombine,
-   module Graphics.Rendering.OpenGL.Raw.EXT.BlendFuncSeparate,
-   module Graphics.Rendering.OpenGL.Raw.EXT.StencilWrap,
-   module Graphics.Rendering.OpenGL.Raw.EXT.FourTwoTwoPixels,
-   module Graphics.Rendering.OpenGL.Raw.EXT.TextureEnvAdd,
-   module Graphics.Rendering.OpenGL.Raw.EXT.TextureLodBias,
-   module Graphics.Rendering.OpenGL.Raw.EXT.TextureFilterAnisotropic,
-   module Graphics.Rendering.OpenGL.Raw.EXT.VertexWeighting,
-   module Graphics.Rendering.OpenGL.Raw.EXT.TextureCompressionS3tc,
-   module Graphics.Rendering.OpenGL.Raw.EXT.Multisample,
-   module Graphics.Rendering.OpenGL.Raw.EXT.TextureEnvDot3,
-   module Graphics.Rendering.OpenGL.Raw.EXT.VertexShader,
-   -- module Graphics.Rendering.OpenGL.Raw.EXT.ShadowFuncs,
-   module Graphics.Rendering.OpenGL.Raw.EXT.StencilTwoSide,
-   module Graphics.Rendering.OpenGL.Raw.EXT.DepthBoundsTest,
-   module Graphics.Rendering.OpenGL.Raw.EXT.TextureMirrorClamp,
-   module Graphics.Rendering.OpenGL.Raw.EXT.BlendEquationSeparate,
-   -- module Graphics.Rendering.OpenGL.Raw.EXT.PixelBufferObject,
-   module Graphics.Rendering.OpenGL.Raw.EXT.TextureCompressionDxt1,
-   module Graphics.Rendering.OpenGL.Raw.EXT.FramebufferObject,
-   -- module Graphics.Rendering.OpenGL.Raw.EXT.PackedDepthStencil,
-   module Graphics.Rendering.OpenGL.Raw.EXT.StencilClearTag,
-   module Graphics.Rendering.OpenGL.Raw.EXT.TextureSRGB,
-   -- module Graphics.Rendering.OpenGL.Raw.EXT.FramebufferBlit,
-   -- module Graphics.Rendering.OpenGL.Raw.EXT.FramebufferMultisample,
-   module Graphics.Rendering.OpenGL.Raw.EXT.TimerQuery,
-   module Graphics.Rendering.OpenGL.Raw.EXT.GpuProgramParameters,
-   module Graphics.Rendering.OpenGL.Raw.EXT.GeometryShader4,
-   -- module Graphics.Rendering.OpenGL.Raw.EXT.GpuShader4,
-   -- module Graphics.Rendering.OpenGL.Raw.EXT.DrawInstanced,
-   module Graphics.Rendering.OpenGL.Raw.EXT.PackedFloat,
-   -- 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.TextureSharedExponent,
-   module Graphics.Rendering.OpenGL.Raw.EXT.FramebufferSRGB,
-   -- module Graphics.Rendering.OpenGL.Raw.EXT.DrawBuffers2,
-   module Graphics.Rendering.OpenGL.Raw.EXT.BindableUniform,
-   module Graphics.Rendering.OpenGL.Raw.EXT.TextureInteger,
-   -- module Graphics.Rendering.OpenGL.Raw.EXT.TransformFeedback,
-   module Graphics.Rendering.OpenGL.Raw.EXT.DirectStateAccess,
-   -- module Graphics.Rendering.OpenGL.Raw.EXT.VertexArrayBgra,
-   module Graphics.Rendering.OpenGL.Raw.EXT.TextureSwizzle,
-   module Graphics.Rendering.OpenGL.Raw.EXT.ProvokingVertex
-   -- module Graphics.Rendering.OpenGL.Raw.EXT.TextureSnorm
-) where
-
-import Graphics.Rendering.OpenGL.Raw.EXT.Abgr
-import Graphics.Rendering.OpenGL.Raw.EXT.BlendColor
-import Graphics.Rendering.OpenGL.Raw.EXT.PolygonOffset
-import Graphics.Rendering.OpenGL.Raw.EXT.Texture
-import Graphics.Rendering.OpenGL.Raw.EXT.Texture3D
-import Graphics.Rendering.OpenGL.Raw.EXT.Subtexture
-import Graphics.Rendering.OpenGL.Raw.EXT.CopyTexture
-import Graphics.Rendering.OpenGL.Raw.EXT.Histogram
-import Graphics.Rendering.OpenGL.Raw.EXT.Convolution
-import Graphics.Rendering.OpenGL.Raw.EXT.Cmyka
-import Graphics.Rendering.OpenGL.Raw.EXT.TextureObject
-import Graphics.Rendering.OpenGL.Raw.EXT.PackedPixels
-import Graphics.Rendering.OpenGL.Raw.EXT.RescaleNormal
-import Graphics.Rendering.OpenGL.Raw.EXT.VertexArray
--- import Graphics.Rendering.OpenGL.Raw.EXT.MiscAttribute
-import Graphics.Rendering.OpenGL.Raw.EXT.BlendMinmax
-import Graphics.Rendering.OpenGL.Raw.EXT.BlendSubtract
--- import Graphics.Rendering.OpenGL.Raw.EXT.BlendLogicOp
-import Graphics.Rendering.OpenGL.Raw.EXT.PointParameters
-import Graphics.Rendering.OpenGL.Raw.EXT.ColorSubtable
-import Graphics.Rendering.OpenGL.Raw.EXT.PalettedTexture
-import Graphics.Rendering.OpenGL.Raw.EXT.ClipVolumeHint
--- import Graphics.Rendering.OpenGL.Raw.EXT.IndexTexture
-import Graphics.Rendering.OpenGL.Raw.EXT.IndexMaterial
-import Graphics.Rendering.OpenGL.Raw.EXT.IndexFunc
-import Graphics.Rendering.OpenGL.Raw.EXT.IndexArrayFormats
-import Graphics.Rendering.OpenGL.Raw.EXT.CompiledVertexArray
-import Graphics.Rendering.OpenGL.Raw.EXT.CullVertex
-import Graphics.Rendering.OpenGL.Raw.EXT.FragmentLighting
-import Graphics.Rendering.OpenGL.Raw.EXT.DrawRangeElements
-import Graphics.Rendering.OpenGL.Raw.EXT.LightTexture
-import Graphics.Rendering.OpenGL.Raw.EXT.SceneMarker
-import Graphics.Rendering.OpenGL.Raw.EXT.Bgra
-import Graphics.Rendering.OpenGL.Raw.EXT.PixelTransform
--- import Graphics.Rendering.OpenGL.Raw.EXT.PixelTransformColorTable
-import Graphics.Rendering.OpenGL.Raw.EXT.SharedTexturePalette
-import Graphics.Rendering.OpenGL.Raw.EXT.SeparateSpecularColor
-import Graphics.Rendering.OpenGL.Raw.EXT.SecondaryColor
--- import Graphics.Rendering.OpenGL.Raw.EXT.TextureEnv
-import Graphics.Rendering.OpenGL.Raw.EXT.TexturePerturbNormal
-import Graphics.Rendering.OpenGL.Raw.EXT.MultiDrawArrays
-import Graphics.Rendering.OpenGL.Raw.EXT.FogCoord
-import Graphics.Rendering.OpenGL.Raw.EXT.CoordinateFrame
-import Graphics.Rendering.OpenGL.Raw.EXT.TextureEnvCombine
-import Graphics.Rendering.OpenGL.Raw.EXT.BlendFuncSeparate
-import Graphics.Rendering.OpenGL.Raw.EXT.StencilWrap
-import Graphics.Rendering.OpenGL.Raw.EXT.FourTwoTwoPixels
-import Graphics.Rendering.OpenGL.Raw.EXT.TextureEnvAdd
-import Graphics.Rendering.OpenGL.Raw.EXT.TextureLodBias
-import Graphics.Rendering.OpenGL.Raw.EXT.TextureFilterAnisotropic
-import Graphics.Rendering.OpenGL.Raw.EXT.VertexWeighting
-import Graphics.Rendering.OpenGL.Raw.EXT.TextureCompressionS3tc
-import Graphics.Rendering.OpenGL.Raw.EXT.Multisample
-import Graphics.Rendering.OpenGL.Raw.EXT.TextureEnvDot3
-import Graphics.Rendering.OpenGL.Raw.EXT.VertexShader
--- import Graphics.Rendering.OpenGL.Raw.EXT.ShadowFuncs
-import Graphics.Rendering.OpenGL.Raw.EXT.StencilTwoSide
-import Graphics.Rendering.OpenGL.Raw.EXT.DepthBoundsTest
-import Graphics.Rendering.OpenGL.Raw.EXT.TextureMirrorClamp
-import Graphics.Rendering.OpenGL.Raw.EXT.BlendEquationSeparate
--- import Graphics.Rendering.OpenGL.Raw.EXT.PixelBufferObject
-import Graphics.Rendering.OpenGL.Raw.EXT.TextureCompressionDxt1
-import Graphics.Rendering.OpenGL.Raw.EXT.FramebufferObject
--- import Graphics.Rendering.OpenGL.Raw.EXT.PackedDepthStencil
-import Graphics.Rendering.OpenGL.Raw.EXT.StencilClearTag
-import Graphics.Rendering.OpenGL.Raw.EXT.TextureSRGB
--- import Graphics.Rendering.OpenGL.Raw.EXT.FramebufferBlit
--- import Graphics.Rendering.OpenGL.Raw.EXT.FramebufferMultisample
-import Graphics.Rendering.OpenGL.Raw.EXT.TimerQuery
-import Graphics.Rendering.OpenGL.Raw.EXT.GpuProgramParameters
-import Graphics.Rendering.OpenGL.Raw.EXT.GeometryShader4
--- import Graphics.Rendering.OpenGL.Raw.EXT.GpuShader4
--- import Graphics.Rendering.OpenGL.Raw.EXT.DrawInstanced
-import Graphics.Rendering.OpenGL.Raw.EXT.PackedFloat
--- 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.TextureSharedExponent
-import Graphics.Rendering.OpenGL.Raw.EXT.FramebufferSRGB
--- import Graphics.Rendering.OpenGL.Raw.EXT.DrawBuffers2
-import Graphics.Rendering.OpenGL.Raw.EXT.BindableUniform
-import Graphics.Rendering.OpenGL.Raw.EXT.TextureInteger
--- import Graphics.Rendering.OpenGL.Raw.EXT.TransformFeedback
-import Graphics.Rendering.OpenGL.Raw.EXT.DirectStateAccess
--- import Graphics.Rendering.OpenGL.Raw.EXT.VertexArrayBgra
-import Graphics.Rendering.OpenGL.Raw.EXT.TextureSwizzle
-import Graphics.Rendering.OpenGL.Raw.EXT.ProvokingVertex
--- import Graphics.Rendering.OpenGL.Raw.EXT.TextureSnorm
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT
+-- Copyright   :  (c) Sven Panne 2013
+-- 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.BlendColor,
+   module Graphics.Rendering.OpenGL.Raw.EXT.PolygonOffset,
+   module Graphics.Rendering.OpenGL.Raw.EXT.Texture,
+   module Graphics.Rendering.OpenGL.Raw.EXT.Texture3D,
+   module Graphics.Rendering.OpenGL.Raw.EXT.Subtexture,
+   module Graphics.Rendering.OpenGL.Raw.EXT.CopyTexture,
+   module Graphics.Rendering.OpenGL.Raw.EXT.Histogram,
+   module Graphics.Rendering.OpenGL.Raw.EXT.Convolution,
+   module Graphics.Rendering.OpenGL.Raw.EXT.CMYKA,
+   module Graphics.Rendering.OpenGL.Raw.EXT.TextureObject,
+   module Graphics.Rendering.OpenGL.Raw.EXT.PackedPixels,
+   module Graphics.Rendering.OpenGL.Raw.EXT.RescaleNormal,
+   module Graphics.Rendering.OpenGL.Raw.EXT.VertexArray,
+   -- module Graphics.Rendering.OpenGL.Raw.EXT.MiscAttribute,
+   module Graphics.Rendering.OpenGL.Raw.EXT.BlendMinmax,
+   module Graphics.Rendering.OpenGL.Raw.EXT.BlendSubtract,
+   -- module Graphics.Rendering.OpenGL.Raw.EXT.BlendLogicOp,
+   module Graphics.Rendering.OpenGL.Raw.EXT.PointParameters,
+   module Graphics.Rendering.OpenGL.Raw.EXT.ColorSubtable,
+   module Graphics.Rendering.OpenGL.Raw.EXT.PalettedTexture,
+   module Graphics.Rendering.OpenGL.Raw.EXT.ClipVolumeHint,
+   -- module Graphics.Rendering.OpenGL.Raw.EXT.IndexTexture,
+   module Graphics.Rendering.OpenGL.Raw.EXT.IndexMaterial,
+   module Graphics.Rendering.OpenGL.Raw.EXT.IndexFunc,
+   module Graphics.Rendering.OpenGL.Raw.EXT.IndexArrayFormats,
+   module Graphics.Rendering.OpenGL.Raw.EXT.CompiledVertexArray,
+   module Graphics.Rendering.OpenGL.Raw.EXT.CullVertex,
+   module Graphics.Rendering.OpenGL.Raw.EXT.FragmentLighting,
+   module Graphics.Rendering.OpenGL.Raw.EXT.DrawRangeElements,
+   module Graphics.Rendering.OpenGL.Raw.EXT.LightTexture,
+   module Graphics.Rendering.OpenGL.Raw.EXT.SceneMarker,
+   module Graphics.Rendering.OpenGL.Raw.EXT.BGRA,
+   module Graphics.Rendering.OpenGL.Raw.EXT.PixelTransform,
+   -- module Graphics.Rendering.OpenGL.Raw.EXT.PixelTransformColorTable,
+   module Graphics.Rendering.OpenGL.Raw.EXT.SharedTexturePalette,
+   module Graphics.Rendering.OpenGL.Raw.EXT.SeparateSpecularColor,
+   module Graphics.Rendering.OpenGL.Raw.EXT.SecondaryColor,
+   -- module Graphics.Rendering.OpenGL.Raw.EXT.TextureEnv,
+   module Graphics.Rendering.OpenGL.Raw.EXT.TexturePerturbNormal,
+   module Graphics.Rendering.OpenGL.Raw.EXT.MultiDrawArrays,
+   module Graphics.Rendering.OpenGL.Raw.EXT.FogCoord,
+   module Graphics.Rendering.OpenGL.Raw.EXT.CoordinateFrame,
+   module Graphics.Rendering.OpenGL.Raw.EXT.TextureEnvCombine,
+   module Graphics.Rendering.OpenGL.Raw.EXT.BlendFuncSeparate,
+   module Graphics.Rendering.OpenGL.Raw.EXT.StencilWrap,
+   module Graphics.Rendering.OpenGL.Raw.EXT.FourTwoTwoPixels,
+   module Graphics.Rendering.OpenGL.Raw.EXT.TextureEnvAdd,
+   module Graphics.Rendering.OpenGL.Raw.EXT.TextureLODBias,
+   module Graphics.Rendering.OpenGL.Raw.EXT.TextureFilterAnisotropic,
+   module Graphics.Rendering.OpenGL.Raw.EXT.VertexWeighting,
+   module Graphics.Rendering.OpenGL.Raw.EXT.TextureCompressionS3TC,
+   module Graphics.Rendering.OpenGL.Raw.EXT.Multisample,
+   module Graphics.Rendering.OpenGL.Raw.EXT.TextureEnvDot3,
+   module Graphics.Rendering.OpenGL.Raw.EXT.VertexShader,
+   -- module Graphics.Rendering.OpenGL.Raw.EXT.ShadowFuncs,
+   module Graphics.Rendering.OpenGL.Raw.EXT.StencilTwoSide,
+   module Graphics.Rendering.OpenGL.Raw.EXT.DepthBoundsTest,
+   module Graphics.Rendering.OpenGL.Raw.EXT.TextureMirrorClamp,
+   module Graphics.Rendering.OpenGL.Raw.EXT.BlendEquationSeparate,
+   -- module Graphics.Rendering.OpenGL.Raw.EXT.PixelBufferObject,
+   module Graphics.Rendering.OpenGL.Raw.EXT.TextureCompressionDXT1,
+   module Graphics.Rendering.OpenGL.Raw.EXT.FramebufferObject,
+   module Graphics.Rendering.OpenGL.Raw.EXT.PackedDepthStencil,
+   module Graphics.Rendering.OpenGL.Raw.EXT.StencilClearTag,
+   module Graphics.Rendering.OpenGL.Raw.EXT.TextureSRGB,
+   module Graphics.Rendering.OpenGL.Raw.EXT.FramebufferBlit,
+   module Graphics.Rendering.OpenGL.Raw.EXT.FramebufferMultisample,
+   module Graphics.Rendering.OpenGL.Raw.EXT.TimerQuery,
+   module Graphics.Rendering.OpenGL.Raw.EXT.GPUProgramParameters,
+   module Graphics.Rendering.OpenGL.Raw.EXT.GeometryShader4,
+   module Graphics.Rendering.OpenGL.Raw.EXT.GPUShader4,
+   -- module Graphics.Rendering.OpenGL.Raw.EXT.DrawInstanced,
+   module Graphics.Rendering.OpenGL.Raw.EXT.PackedFloat,
+   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.TextureSharedExponent,
+   module Graphics.Rendering.OpenGL.Raw.EXT.FramebufferSRGB,
+   module Graphics.Rendering.OpenGL.Raw.EXT.DrawBuffers2,
+   module Graphics.Rendering.OpenGL.Raw.EXT.BindableUniform,
+   module Graphics.Rendering.OpenGL.Raw.EXT.TextureInteger,
+   module Graphics.Rendering.OpenGL.Raw.EXT.TransformFeedback,
+   module Graphics.Rendering.OpenGL.Raw.EXT.DirectStateAccess,
+   -- module Graphics.Rendering.OpenGL.Raw.EXT.VertexArrayBGRA,
+   module Graphics.Rendering.OpenGL.Raw.EXT.TextureSwizzle,
+   module Graphics.Rendering.OpenGL.Raw.EXT.ProvokingVertex
+   -- module Graphics.Rendering.OpenGL.Raw.EXT.TextureSnorm
+) where
+
+import Graphics.Rendering.OpenGL.Raw.EXT.ABGR
+import Graphics.Rendering.OpenGL.Raw.EXT.BlendColor
+import Graphics.Rendering.OpenGL.Raw.EXT.PolygonOffset
+import Graphics.Rendering.OpenGL.Raw.EXT.Texture
+import Graphics.Rendering.OpenGL.Raw.EXT.Texture3D
+import Graphics.Rendering.OpenGL.Raw.EXT.Subtexture
+import Graphics.Rendering.OpenGL.Raw.EXT.CopyTexture
+import Graphics.Rendering.OpenGL.Raw.EXT.Histogram
+import Graphics.Rendering.OpenGL.Raw.EXT.Convolution
+import Graphics.Rendering.OpenGL.Raw.EXT.CMYKA
+import Graphics.Rendering.OpenGL.Raw.EXT.TextureObject
+import Graphics.Rendering.OpenGL.Raw.EXT.PackedPixels
+import Graphics.Rendering.OpenGL.Raw.EXT.RescaleNormal
+import Graphics.Rendering.OpenGL.Raw.EXT.VertexArray
+-- import Graphics.Rendering.OpenGL.Raw.EXT.MiscAttribute
+import Graphics.Rendering.OpenGL.Raw.EXT.BlendMinmax
+import Graphics.Rendering.OpenGL.Raw.EXT.BlendSubtract
+-- import Graphics.Rendering.OpenGL.Raw.EXT.BlendLogicOp
+import Graphics.Rendering.OpenGL.Raw.EXT.PointParameters
+import Graphics.Rendering.OpenGL.Raw.EXT.ColorSubtable
+import Graphics.Rendering.OpenGL.Raw.EXT.PalettedTexture
+import Graphics.Rendering.OpenGL.Raw.EXT.ClipVolumeHint
+-- import Graphics.Rendering.OpenGL.Raw.EXT.IndexTexture
+import Graphics.Rendering.OpenGL.Raw.EXT.IndexMaterial
+import Graphics.Rendering.OpenGL.Raw.EXT.IndexFunc
+import Graphics.Rendering.OpenGL.Raw.EXT.IndexArrayFormats
+import Graphics.Rendering.OpenGL.Raw.EXT.CompiledVertexArray
+import Graphics.Rendering.OpenGL.Raw.EXT.CullVertex
+import Graphics.Rendering.OpenGL.Raw.EXT.FragmentLighting
+import Graphics.Rendering.OpenGL.Raw.EXT.DrawRangeElements
+import Graphics.Rendering.OpenGL.Raw.EXT.LightTexture
+import Graphics.Rendering.OpenGL.Raw.EXT.SceneMarker
+import Graphics.Rendering.OpenGL.Raw.EXT.BGRA
+import Graphics.Rendering.OpenGL.Raw.EXT.PixelTransform
+-- import Graphics.Rendering.OpenGL.Raw.EXT.PixelTransformColorTable
+import Graphics.Rendering.OpenGL.Raw.EXT.SharedTexturePalette
+import Graphics.Rendering.OpenGL.Raw.EXT.SeparateSpecularColor
+import Graphics.Rendering.OpenGL.Raw.EXT.SecondaryColor
+-- import Graphics.Rendering.OpenGL.Raw.EXT.TextureEnv
+import Graphics.Rendering.OpenGL.Raw.EXT.TexturePerturbNormal
+import Graphics.Rendering.OpenGL.Raw.EXT.MultiDrawArrays
+import Graphics.Rendering.OpenGL.Raw.EXT.FogCoord
+import Graphics.Rendering.OpenGL.Raw.EXT.CoordinateFrame
+import Graphics.Rendering.OpenGL.Raw.EXT.TextureEnvCombine
+import Graphics.Rendering.OpenGL.Raw.EXT.BlendFuncSeparate
+import Graphics.Rendering.OpenGL.Raw.EXT.StencilWrap
+import Graphics.Rendering.OpenGL.Raw.EXT.FourTwoTwoPixels
+import Graphics.Rendering.OpenGL.Raw.EXT.TextureEnvAdd
+import Graphics.Rendering.OpenGL.Raw.EXT.TextureLODBias
+import Graphics.Rendering.OpenGL.Raw.EXT.TextureFilterAnisotropic
+import Graphics.Rendering.OpenGL.Raw.EXT.VertexWeighting
+import Graphics.Rendering.OpenGL.Raw.EXT.TextureCompressionS3TC
+import Graphics.Rendering.OpenGL.Raw.EXT.Multisample
+import Graphics.Rendering.OpenGL.Raw.EXT.TextureEnvDot3
+import Graphics.Rendering.OpenGL.Raw.EXT.VertexShader
+-- import Graphics.Rendering.OpenGL.Raw.EXT.ShadowFuncs
+import Graphics.Rendering.OpenGL.Raw.EXT.StencilTwoSide
+import Graphics.Rendering.OpenGL.Raw.EXT.DepthBoundsTest
+import Graphics.Rendering.OpenGL.Raw.EXT.TextureMirrorClamp
+import Graphics.Rendering.OpenGL.Raw.EXT.BlendEquationSeparate
+-- import Graphics.Rendering.OpenGL.Raw.EXT.PixelBufferObject
+import Graphics.Rendering.OpenGL.Raw.EXT.TextureCompressionDXT1
+import Graphics.Rendering.OpenGL.Raw.EXT.FramebufferObject
+import Graphics.Rendering.OpenGL.Raw.EXT.PackedDepthStencil
+import Graphics.Rendering.OpenGL.Raw.EXT.StencilClearTag
+import Graphics.Rendering.OpenGL.Raw.EXT.TextureSRGB
+import Graphics.Rendering.OpenGL.Raw.EXT.FramebufferBlit
+import Graphics.Rendering.OpenGL.Raw.EXT.FramebufferMultisample
+import Graphics.Rendering.OpenGL.Raw.EXT.TimerQuery
+import Graphics.Rendering.OpenGL.Raw.EXT.GPUProgramParameters
+import Graphics.Rendering.OpenGL.Raw.EXT.GeometryShader4
+import Graphics.Rendering.OpenGL.Raw.EXT.GPUShader4
+-- import Graphics.Rendering.OpenGL.Raw.EXT.DrawInstanced
+import Graphics.Rendering.OpenGL.Raw.EXT.PackedFloat
+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.TextureSharedExponent
+import Graphics.Rendering.OpenGL.Raw.EXT.FramebufferSRGB
+import Graphics.Rendering.OpenGL.Raw.EXT.DrawBuffers2
+import Graphics.Rendering.OpenGL.Raw.EXT.BindableUniform
+import Graphics.Rendering.OpenGL.Raw.EXT.TextureInteger
+import Graphics.Rendering.OpenGL.Raw.EXT.TransformFeedback
+import Graphics.Rendering.OpenGL.Raw.EXT.DirectStateAccess
+-- import Graphics.Rendering.OpenGL.Raw.EXT.VertexArrayBGRA
+import Graphics.Rendering.OpenGL.Raw.EXT.TextureSwizzle
+import Graphics.Rendering.OpenGL.Raw.EXT.ProvokingVertex
+-- import Graphics.Rendering.OpenGL.Raw.EXT.TextureSnorm
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/ABGR.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/ABGR.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/ABGR.hs
@@ -0,0 +1,24 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.ABGR
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All tokens from the EXT_abgr extension, see
+-- <http://www.opengl.org/registry/specs/EXT/abgr.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.ABGR (
+   -- * Tokens
+   gl_ABGR
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
+
+gl_ABGR :: GLenum
+gl_ABGR = 0x8000
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,24 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.Abgr
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All tokens from the EXT_abgr extension, see
--- <http://www.opengl.org/registry/specs/EXT/abgr.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.Abgr (
-   -- * Tokens
-   gl_ABGR
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core32
-
-gl_ABGR :: GLenum
-gl_ABGR = 0x8000
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/BGRA.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/BGRA.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/BGRA.hs
@@ -0,0 +1,22 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.BGRA
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All tokens from the EXT_bgra extension, see
+-- <http://www.opengl.org/registry/specs/EXT/bgra.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.BGRA (
+   -- * Tokens
+   gl_BGR,
+   gl_BGRA
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
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,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.Bgra
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All tokens from the EXT_bgra extension, see
--- <http://www.opengl.org/registry/specs/EXT/bgra.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.Bgra (
-   -- * Tokens
-   gl_BGR,
-   gl_BGRA
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core32
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/BindableUniform.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/BindableUniform.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/BindableUniform.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/BindableUniform.hs
@@ -1,65 +1,65 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.BindableUniform
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the EXT_bindable_uniform extension not
--- already in the OpenGL 3.1 core, see
--- <http://www.opengl.org/registry/specs/EXT/bindable_uniform.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.BindableUniform (
-   -- * Functions
-   glUniformBuffer,
-   glGetUniformBufferSize,
-   glGetUniformOffset,
-   -- * Tokens
-   gl_MAX_VERTEX_BINDABLE_UNIFORMS,
-   gl_MAX_FRAGMENT_BINDABLE_UNIFORMS,
-   gl_MAX_GEOMETRY_BINDABLE_UNIFORMS,
-   gl_MAX_BINDABLE_UNIFORM_SIZE,
-   gl_UNIFORM_BUFFER_BINDING_EXT,
-   gl_UNIFORM_BUFFER_EXT
-) where
-
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_EXT_bindable_uniform"
-
-EXTENSION_ENTRY(glUniformBuffer,GLuint -> GLint -> GLuint -> IO ())
-EXTENSION_ENTRY(glGetUniformBufferSize,GLuint -> GLint -> IO GLint)
-EXTENSION_ENTRY(glGetUniformOffset,GLuint -> GLint -> IO GLintptr)
-
-gl_MAX_VERTEX_BINDABLE_UNIFORMS :: GLenum
-gl_MAX_VERTEX_BINDABLE_UNIFORMS = 0x8DE2
-
-gl_MAX_FRAGMENT_BINDABLE_UNIFORMS :: GLenum
-gl_MAX_FRAGMENT_BINDABLE_UNIFORMS = 0x8DE3
-
-gl_MAX_GEOMETRY_BINDABLE_UNIFORMS :: GLenum
-gl_MAX_GEOMETRY_BINDABLE_UNIFORMS = 0x8DE4
-
-gl_MAX_BINDABLE_UNIFORM_SIZE :: GLenum
-gl_MAX_BINDABLE_UNIFORM_SIZE = 0x8DED
-
--- | NOTE: The OpenGL 3.1 core has the same token with a different value, so we
--- use a suffix here.
-gl_UNIFORM_BUFFER_BINDING_EXT :: GLenum
-gl_UNIFORM_BUFFER_BINDING_EXT = 0x8DEF
-
--- | NOTE: The OpenGL 3.1 core has the same token with a different value, so we
--- use a suffix here.
-gl_UNIFORM_BUFFER_EXT :: GLenum
-gl_UNIFORM_BUFFER_EXT = 0x8DEE
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.BindableUniform
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the EXT_bindable_uniform extension not
+-- already in the OpenGL 3.1 core, see
+-- <http://www.opengl.org/registry/specs/EXT/bindable_uniform.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.BindableUniform (
+   -- * Functions
+   glUniformBuffer,
+   glGetUniformBufferSize,
+   glGetUniformOffset,
+   -- * Tokens
+   gl_MAX_VERTEX_BINDABLE_UNIFORMS,
+   gl_MAX_FRAGMENT_BINDABLE_UNIFORMS,
+   gl_MAX_GEOMETRY_BINDABLE_UNIFORMS,
+   gl_MAX_BINDABLE_UNIFORM_SIZE,
+   gl_UNIFORM_BUFFER_BINDING_EXT,
+   gl_UNIFORM_BUFFER_EXT
+) where
+
+import Foreign.C.Types
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+import Graphics.Rendering.OpenGL.Raw.Extensions
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_EXT_bindable_uniform"
+
+EXTENSION_ENTRY(dyn_glUniformBuffer,ptr_glUniformBuffer,"glUniformBuffer",glUniformBuffer,GLuint -> GLint -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glGetUniformBufferSize,ptr_glGetUniformBufferSize,"glGetUniformBufferSize",glGetUniformBufferSize,GLuint -> GLint -> IO GLint)
+EXTENSION_ENTRY(dyn_glGetUniformOffset,ptr_glGetUniformOffset,"glGetUniformOffset",glGetUniformOffset,GLuint -> GLint -> IO GLintptr)
+
+gl_MAX_VERTEX_BINDABLE_UNIFORMS :: GLenum
+gl_MAX_VERTEX_BINDABLE_UNIFORMS = 0x8DE2
+
+gl_MAX_FRAGMENT_BINDABLE_UNIFORMS :: GLenum
+gl_MAX_FRAGMENT_BINDABLE_UNIFORMS = 0x8DE3
+
+gl_MAX_GEOMETRY_BINDABLE_UNIFORMS :: GLenum
+gl_MAX_GEOMETRY_BINDABLE_UNIFORMS = 0x8DE4
+
+gl_MAX_BINDABLE_UNIFORM_SIZE :: GLenum
+gl_MAX_BINDABLE_UNIFORM_SIZE = 0x8DED
+
+-- | NOTE: The OpenGL 3.1 core has the same token with a different value, so we
+-- use a suffix here.
+gl_UNIFORM_BUFFER_BINDING_EXT :: GLenum
+gl_UNIFORM_BUFFER_BINDING_EXT = 0x8DEF
+
+-- | NOTE: The OpenGL 3.1 core has the same token with a different value, so we
+-- use a suffix here.
+gl_UNIFORM_BUFFER_EXT :: GLenum
+gl_UNIFORM_BUFFER_EXT = 0x8DEE
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/BlendColor.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/BlendColor.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/BlendColor.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/BlendColor.hs
@@ -1,27 +1,27 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.BlendColor
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the EXT_blend_color extension, see
--- <http://www.opengl.org/registry/specs/EXT/blend_color.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.BlendColor (
-   -- * Functions
-   glBlendColor,
-   -- * Tokens
-   gl_CONSTANT_COLOR,
-   gl_ONE_MINUS_CONSTANT_COLOR,
-   gl_CONSTANT_ALPHA,
-   gl_ONE_MINUS_CONSTANT_ALPHA,
-   gl_BLEND_COLOR
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core32
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.BlendColor
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the EXT_blend_color extension, see
+-- <http://www.opengl.org/registry/specs/EXT/blend_color.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.BlendColor (
+   -- * Functions
+   glBlendColor,
+   -- * Tokens
+   gl_CONSTANT_COLOR,
+   gl_ONE_MINUS_CONSTANT_COLOR,
+   gl_CONSTANT_ALPHA,
+   gl_ONE_MINUS_CONSTANT_ALPHA,
+   gl_BLEND_COLOR
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/BlendEquationSeparate.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/BlendEquationSeparate.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/BlendEquationSeparate.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/BlendEquationSeparate.hs
@@ -1,24 +1,24 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.BlendEquationSeparate
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the EXT_blend_equation_separate extension, see
--- <http://www.opengl.org/registry/specs/EXT/blend_equation_separate.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.BlendEquationSeparate (
-   -- * Functions
-   glBlendEquationSeparate,
-   -- * Tokens
-   gl_BLEND_EQUATION_RGB,
-   gl_BLEND_EQUATION_ALPHA
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core32
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.BlendEquationSeparate
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the EXT_blend_equation_separate extension, see
+-- <http://www.opengl.org/registry/specs/EXT/blend_equation_separate.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.BlendEquationSeparate (
+   -- * Functions
+   glBlendEquationSeparate,
+   -- * Tokens
+   gl_BLEND_EQUATION_RGB,
+   gl_BLEND_EQUATION_ALPHA
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/BlendFuncSeparate.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/BlendFuncSeparate.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/BlendFuncSeparate.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/BlendFuncSeparate.hs
@@ -1,26 +1,26 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.BlendFuncSeparate
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the EXT_blend_func_separate extension, see
--- <http://www.opengl.org/registry/specs/EXT/blend_func_separate.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.BlendFuncSeparate (
-   -- * Functions
-   glBlendFuncSeparate,
-   -- * Tokens
-   gl_BLEND_DST_RGB,
-   gl_BLEND_SRC_RGB,
-   gl_BLEND_DST_ALPHA,
-   gl_BLEND_SRC_ALPHA
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core32
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.BlendFuncSeparate
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the EXT_blend_func_separate extension, see
+-- <http://www.opengl.org/registry/specs/EXT/blend_func_separate.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.BlendFuncSeparate (
+   -- * Functions
+   glBlendFuncSeparate,
+   -- * Tokens
+   gl_BLEND_DST_RGB,
+   gl_BLEND_SRC_RGB,
+   gl_BLEND_DST_ALPHA,
+   gl_BLEND_SRC_ALPHA
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/BlendMinmax.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/BlendMinmax.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/BlendMinmax.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/BlendMinmax.hs
@@ -1,26 +1,26 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.BlendMinmax
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the EXT_blend_minmax extension, see
--- <http://www.opengl.org/registry/specs/EXT/blend_minmax.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.BlendMinmax (
-   -- * Functions
-   glBlendEquation,
-   -- * Tokens
-   gl_FUNC_ADD,
-   gl_MIN,
-   gl_MAX,
-   gl_BLEND_EQUATION
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core32
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.BlendMinmax
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the EXT_blend_minmax extension, see
+-- <http://www.opengl.org/registry/specs/EXT/blend_minmax.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.BlendMinmax (
+   -- * Functions
+   glBlendEquation,
+   -- * Tokens
+   gl_FUNC_ADD,
+   gl_MIN,
+   gl_MAX,
+   gl_BLEND_EQUATION
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/BlendSubtract.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/BlendSubtract.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/BlendSubtract.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/BlendSubtract.hs
@@ -1,22 +1,22 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.BlendSubtract
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All tokens from the EXT_blend_subtract extension, see
--- <http://www.opengl.org/registry/specs/EXT/blend_subtract.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.BlendSubtract (
-   -- * Tokens
-   gl_FUNC_SUBTRACT,
-   gl_FUNC_REVERSE_SUBTRACT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core32
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.BlendSubtract
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All tokens from the EXT_blend_subtract extension, see
+-- <http://www.opengl.org/registry/specs/EXT/blend_subtract.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.BlendSubtract (
+   -- * Tokens
+   gl_FUNC_SUBTRACT,
+   gl_FUNC_REVERSE_SUBTRACT
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/CMYKA.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/CMYKA.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/CMYKA.hs
@@ -0,0 +1,36 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.CMYKA
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All tokens from the EXT_cmyka extension, see
+-- <http://www.opengl.org/registry/specs/EXT/cmyka.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.CMYKA (
+   -- * Tokens
+   gl_CMYK,
+   gl_CMYKA,
+   gl_PACK_CMYK_HINT,
+   gl_UNPACK_CMYK_HINT
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
+
+gl_CMYK :: GLenum
+gl_CMYK = 0x800C
+
+gl_CMYKA :: GLenum
+gl_CMYKA = 0x800D
+
+gl_PACK_CMYK_HINT :: GLenum
+gl_PACK_CMYK_HINT = 0x800E
+
+gl_UNPACK_CMYK_HINT :: GLenum
+gl_UNPACK_CMYK_HINT = 0x800F
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/ClipVolumeHint.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/ClipVolumeHint.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/ClipVolumeHint.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/ClipVolumeHint.hs
@@ -1,24 +1,24 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.ClipVolumeHint
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the EXT_clip_volume_hint extension, see
--- <http://www.opengl.org/registry/specs/EXT/clip_volume_hint.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.ClipVolumeHint (
-   -- * Tokens
-   gl_CLIP_VOLUME_CLIPPING_HINT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core32
-
-gl_CLIP_VOLUME_CLIPPING_HINT :: GLenum
-gl_CLIP_VOLUME_CLIPPING_HINT = 0x80F0
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.ClipVolumeHint
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the EXT_clip_volume_hint extension, see
+-- <http://www.opengl.org/registry/specs/EXT/clip_volume_hint.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.ClipVolumeHint (
+   -- * Tokens
+   gl_CLIP_VOLUME_CLIPPING_HINT
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
+
+gl_CLIP_VOLUME_CLIPPING_HINT :: GLenum
+gl_CLIP_VOLUME_CLIPPING_HINT = 0x80F0
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,36 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.Cmyka
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All tokens from the EXT_cmyka extension, see
--- <http://www.opengl.org/registry/specs/EXT/cmyka.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.Cmyka (
-   -- * Tokens
-   gl_CMYK,
-   gl_CMYKA,
-   gl_PACK_CMYK_HINT,
-   gl_UNPACK_CMYK_HINT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core32
-
-gl_CMYK :: GLenum
-gl_CMYK = 0x800C
-
-gl_CMYKA :: GLenum
-gl_CMYKA = 0x800D
-
-gl_PACK_CMYK_HINT :: GLenum
-gl_PACK_CMYK_HINT = 0x800E
-
-gl_UNPACK_CMYK_HINT :: GLenum
-gl_UNPACK_CMYK_HINT = 0x800F
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/ColorSubtable.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/ColorSubtable.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/ColorSubtable.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/ColorSubtable.hs
@@ -1,22 +1,22 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.ColorSubtable
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the EXT_color_subtable extension, see
--- <http://www.opengl.org/registry/specs/EXT/color_subtable.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.ColorSubtable (
-   -- * Functions
-   glColorSubTable,
-   glCopyColorSubTable
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.ColorSubtable
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the EXT_color_subtable extension, see
+-- <http://www.opengl.org/registry/specs/EXT/color_subtable.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.ColorSubtable (
+   -- * Functions
+   glColorSubTable,
+   glCopyColorSubTable
+) where
+
+import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/CompiledVertexArray.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/CompiledVertexArray.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/CompiledVertexArray.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/CompiledVertexArray.hs
@@ -1,43 +1,43 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.CompiledVertexArray
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the EXT_compiled_vertex_array extension,
--- see
--- <http://www.opengl.org/registry/specs/EXT/compiled_vertex_array.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.CompiledVertexArray (
-   -- * Functions
-   glLockArrays,
-   glUnlockArrays,
-   -- * Tokens
-   gl_ARRAY_ELEMENT_LOCK_FIRST,
-   gl_ARRAY_ELEMENT_LOCK_COUNT
-) where
-
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core32
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_EXT_compiled_vertex_array"
-
-EXTENSION_ENTRY(glLockArrays,GLint -> GLsizei -> IO ())
-EXTENSION_ENTRY(glUnlockArrays,IO ())
-
-gl_ARRAY_ELEMENT_LOCK_FIRST :: GLenum
-gl_ARRAY_ELEMENT_LOCK_FIRST = 0x81A8
-
-gl_ARRAY_ELEMENT_LOCK_COUNT :: GLenum
-gl_ARRAY_ELEMENT_LOCK_COUNT = 0x81A9
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.CompiledVertexArray
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the EXT_compiled_vertex_array extension,
+-- see
+-- <http://www.opengl.org/registry/specs/EXT/compiled_vertex_array.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.CompiledVertexArray (
+   -- * Functions
+   glLockArrays,
+   glUnlockArrays,
+   -- * Tokens
+   gl_ARRAY_ELEMENT_LOCK_FIRST,
+   gl_ARRAY_ELEMENT_LOCK_COUNT
+) where
+
+import Foreign.C.Types
+import Graphics.Rendering.OpenGL.Raw.Core32
+import Graphics.Rendering.OpenGL.Raw.Extensions
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_EXT_compiled_vertex_array"
+
+EXTENSION_ENTRY(dyn_glLockArrays,ptr_glLockArrays,"glLockArrays",glLockArrays,GLint -> GLsizei -> IO ())
+EXTENSION_ENTRY(dyn_glUnlockArrays,ptr_glUnlockArrays,"glUnlockArrays",glUnlockArrays,IO ())
+
+gl_ARRAY_ELEMENT_LOCK_FIRST :: GLenum
+gl_ARRAY_ELEMENT_LOCK_FIRST = 0x81A8
+
+gl_ARRAY_ELEMENT_LOCK_COUNT :: GLenum
+gl_ARRAY_ELEMENT_LOCK_COUNT = 0x81A9
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/Convolution.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/Convolution.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/Convolution.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/Convolution.hs
@@ -1,54 +1,54 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.Convolution
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the EXT_convolution extension, see
--- <http://www.opengl.org/registry/specs/EXT/convolution.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.Convolution (
-   -- * Functions
-   glConvolutionFilter1D,
-   glConvolutionFilter2D,
-   glCopyConvolutionFilter1D,
-   glCopyConvolutionFilter2D,
-   glGetConvolutionFilter,
-   glSeparableFilter2D,
-   glGetSeparableFilter,
-   glConvolutionParameteri,
-   glConvolutionParameteriv,
-   glConvolutionParameterf,
-   glConvolutionParameterfv,
-   glGetConvolutionParameteriv,
-   glGetConvolutionParameterfv,
-   -- * Tokens
-   gl_CONVOLUTION_1D,
-   gl_CONVOLUTION_2D,
-   gl_SEPARABLE_2D,
-   gl_CONVOLUTION_BORDER_MODE,
-   gl_CONVOLUTION_FILTER_SCALE,
-   gl_CONVOLUTION_FILTER_BIAS,
-   gl_REDUCE,
-   gl_CONVOLUTION_FORMAT,
-   gl_CONVOLUTION_WIDTH,
-   gl_CONVOLUTION_HEIGHT,
-   gl_MAX_CONVOLUTION_WIDTH,
-   gl_MAX_CONVOLUTION_HEIGHT,
-   gl_POST_CONVOLUTION_RED_SCALE,
-   gl_POST_CONVOLUTION_GREEN_SCALE,
-   gl_POST_CONVOLUTION_BLUE_SCALE,
-   gl_POST_CONVOLUTION_ALPHA_SCALE,
-   gl_POST_CONVOLUTION_RED_BIAS,
-   gl_POST_CONVOLUTION_GREEN_BIAS,
-   gl_POST_CONVOLUTION_BLUE_BIAS,
-   gl_POST_CONVOLUTION_ALPHA_BIAS
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.Convolution
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the EXT_convolution extension, see
+-- <http://www.opengl.org/registry/specs/EXT/convolution.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.Convolution (
+   -- * Functions
+   glConvolutionFilter1D,
+   glConvolutionFilter2D,
+   glCopyConvolutionFilter1D,
+   glCopyConvolutionFilter2D,
+   glGetConvolutionFilter,
+   glSeparableFilter2D,
+   glGetSeparableFilter,
+   glConvolutionParameteri,
+   glConvolutionParameteriv,
+   glConvolutionParameterf,
+   glConvolutionParameterfv,
+   glGetConvolutionParameteriv,
+   glGetConvolutionParameterfv,
+   -- * Tokens
+   gl_CONVOLUTION_1D,
+   gl_CONVOLUTION_2D,
+   gl_SEPARABLE_2D,
+   gl_CONVOLUTION_BORDER_MODE,
+   gl_CONVOLUTION_FILTER_SCALE,
+   gl_CONVOLUTION_FILTER_BIAS,
+   gl_REDUCE,
+   gl_CONVOLUTION_FORMAT,
+   gl_CONVOLUTION_WIDTH,
+   gl_CONVOLUTION_HEIGHT,
+   gl_MAX_CONVOLUTION_WIDTH,
+   gl_MAX_CONVOLUTION_HEIGHT,
+   gl_POST_CONVOLUTION_RED_SCALE,
+   gl_POST_CONVOLUTION_GREEN_SCALE,
+   gl_POST_CONVOLUTION_BLUE_SCALE,
+   gl_POST_CONVOLUTION_ALPHA_SCALE,
+   gl_POST_CONVOLUTION_RED_BIAS,
+   gl_POST_CONVOLUTION_GREEN_BIAS,
+   gl_POST_CONVOLUTION_BLUE_BIAS,
+   gl_POST_CONVOLUTION_ALPHA_BIAS
+) where
+
+import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/CoordinateFrame.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/CoordinateFrame.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/CoordinateFrame.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/CoordinateFrame.hs
@@ -1,131 +1,131 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.CoordinateFrame
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the EXT_coordinate_frame extension, see
--- <http://www.opengl.org/registry/specs/EXT/coordinate_frame.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.CoordinateFrame (
-   -- * Functions
-   glTangent3b,
-   glTangent3d,
-   glTangent3f,
-   glTangent3i,
-   glTangent3s,
-   glTangent3bv,
-   glTangent3dv,
-   glTangent3fv,
-   glTangent3iv,
-   glTangent3sv,
-   glBinormal3b,
-   glBinormal3d,
-   glBinormal3f,
-   glBinormal3i,
-   glBinormal3s,
-   glBinormal3bv,
-   glBinormal3dv,
-   glBinormal3fv,
-   glBinormal3iv,
-   glBinormal3sv,
-   glTangentPointer,
-   glBinormalPointer,
-   -- * Tokens
-   gl_TANGENT_ARRAY,
-   gl_BINORMAL_ARRAY,
-   gl_CURRENT_TANGENT,
-   gl_CURRENT_BINORMAL,
-   gl_TANGENT_ARRAY_TYPE,
-   gl_TANGENT_ARRAY_STRIDE,
-   gl_BINORMAL_ARRAY_TYPE,
-   gl_BINORMAL_ARRAY_STRIDE,
-   gl_TANGENT_ARRAY_POINTER,
-   gl_BINORMAL_ARRAY_POINTER,
-   gl_MAP1_TANGENT,
-   gl_MAP2_TANGENT,
-   gl_MAP1_BINORMAL,
-   gl_MAP2_BINORMAL
-) where
-
-import Foreign.Ptr
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_EXT_coordinate_frame"
-
-EXTENSION_ENTRY(glTangent3b,GLbyte -> IO ())
-EXTENSION_ENTRY(glTangent3d,GLdouble -> IO ())
-EXTENSION_ENTRY(glTangent3f,GLfloat -> IO ())
-EXTENSION_ENTRY(glTangent3i,GLint -> IO ())
-EXTENSION_ENTRY(glTangent3s,GLshort -> IO ())
-EXTENSION_ENTRY(glTangent3bv,Ptr GLbyte -> IO ())
-EXTENSION_ENTRY(glTangent3dv,Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glTangent3fv,Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glTangent3iv,Ptr GLint -> IO ())
-EXTENSION_ENTRY(glTangent3sv,Ptr GLshort -> IO ())
-EXTENSION_ENTRY(glBinormal3b,GLbyte -> IO ())
-EXTENSION_ENTRY(glBinormal3d,GLdouble -> IO ())
-EXTENSION_ENTRY(glBinormal3f,GLfloat -> IO ())
-EXTENSION_ENTRY(glBinormal3i,GLint -> IO ())
-EXTENSION_ENTRY(glBinormal3s,GLshort -> IO ())
-EXTENSION_ENTRY(glBinormal3bv,Ptr GLbyte -> IO ())
-EXTENSION_ENTRY(glBinormal3dv,Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glBinormal3fv,Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glBinormal3iv,Ptr GLint -> IO ())
-EXTENSION_ENTRY(glBinormal3sv,Ptr GLshort -> IO ())
-EXTENSION_ENTRY(glTangentPointer,GLenum -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(glBinormalPointer,GLenum -> GLsizei -> Ptr a -> IO ())
-
-gl_TANGENT_ARRAY :: GLenum
-gl_TANGENT_ARRAY = 0x8439
-
-gl_BINORMAL_ARRAY :: GLenum
-gl_BINORMAL_ARRAY = 0x843A
-
-gl_CURRENT_TANGENT :: GLenum
-gl_CURRENT_TANGENT = 0x843B
-
-gl_CURRENT_BINORMAL :: GLenum
-gl_CURRENT_BINORMAL = 0x843C
-
-gl_TANGENT_ARRAY_TYPE :: GLenum
-gl_TANGENT_ARRAY_TYPE = 0x843E
-
-gl_TANGENT_ARRAY_STRIDE :: GLenum
-gl_TANGENT_ARRAY_STRIDE = 0x843F
-
-gl_BINORMAL_ARRAY_TYPE :: GLenum
-gl_BINORMAL_ARRAY_TYPE = 0x8440
-
-gl_BINORMAL_ARRAY_STRIDE :: GLenum
-gl_BINORMAL_ARRAY_STRIDE = 0x8441
-
-gl_TANGENT_ARRAY_POINTER :: GLenum
-gl_TANGENT_ARRAY_POINTER = 0x8442
-
-gl_BINORMAL_ARRAY_POINTER :: GLenum
-gl_BINORMAL_ARRAY_POINTER = 0x8443
-
-gl_MAP1_TANGENT :: GLenum
-gl_MAP1_TANGENT = 0x8444
-
-gl_MAP2_TANGENT :: GLenum
-gl_MAP2_TANGENT = 0x8445
-
-gl_MAP1_BINORMAL :: GLenum
-gl_MAP1_BINORMAL = 0x8446
-
-gl_MAP2_BINORMAL :: GLenum
-gl_MAP2_BINORMAL = 0x8447
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.CoordinateFrame
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the EXT_coordinate_frame extension, see
+-- <http://www.opengl.org/registry/specs/EXT/coordinate_frame.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.CoordinateFrame (
+   -- * Functions
+   glTangent3b,
+   glTangent3d,
+   glTangent3f,
+   glTangent3i,
+   glTangent3s,
+   glTangent3bv,
+   glTangent3dv,
+   glTangent3fv,
+   glTangent3iv,
+   glTangent3sv,
+   glBinormal3b,
+   glBinormal3d,
+   glBinormal3f,
+   glBinormal3i,
+   glBinormal3s,
+   glBinormal3bv,
+   glBinormal3dv,
+   glBinormal3fv,
+   glBinormal3iv,
+   glBinormal3sv,
+   glTangentPointer,
+   glBinormalPointer,
+   -- * Tokens
+   gl_TANGENT_ARRAY,
+   gl_BINORMAL_ARRAY,
+   gl_CURRENT_TANGENT,
+   gl_CURRENT_BINORMAL,
+   gl_TANGENT_ARRAY_TYPE,
+   gl_TANGENT_ARRAY_STRIDE,
+   gl_BINORMAL_ARRAY_TYPE,
+   gl_BINORMAL_ARRAY_STRIDE,
+   gl_TANGENT_ARRAY_POINTER,
+   gl_BINORMAL_ARRAY_POINTER,
+   gl_MAP1_TANGENT,
+   gl_MAP2_TANGENT,
+   gl_MAP1_BINORMAL,
+   gl_MAP2_BINORMAL
+) where
+
+import Foreign.Ptr
+import Foreign.C.Types
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+import Graphics.Rendering.OpenGL.Raw.Extensions
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_EXT_coordinate_frame"
+
+EXTENSION_ENTRY(dyn_glTangent3b,ptr_glTangent3b,"glTangent3b",glTangent3b,GLbyte -> IO ())
+EXTENSION_ENTRY(dyn_glTangent3d,ptr_glTangent3d,"glTangent3d",glTangent3d,GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glTangent3f,ptr_glTangent3f,"glTangent3f",glTangent3f,GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glTangent3i,ptr_glTangent3i,"glTangent3i",glTangent3i,GLint -> IO ())
+EXTENSION_ENTRY(dyn_glTangent3s,ptr_glTangent3s,"glTangent3s",glTangent3s,GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glTangent3bv,ptr_glTangent3bv,"glTangent3bv",glTangent3bv,Ptr GLbyte -> IO ())
+EXTENSION_ENTRY(dyn_glTangent3dv,ptr_glTangent3dv,"glTangent3dv",glTangent3dv,Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glTangent3fv,ptr_glTangent3fv,"glTangent3fv",glTangent3fv,Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glTangent3iv,ptr_glTangent3iv,"glTangent3iv",glTangent3iv,Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glTangent3sv,ptr_glTangent3sv,"glTangent3sv",glTangent3sv,Ptr GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glBinormal3b,ptr_glBinormal3b,"glBinormal3b",glBinormal3b,GLbyte -> IO ())
+EXTENSION_ENTRY(dyn_glBinormal3d,ptr_glBinormal3d,"glBinormal3d",glBinormal3d,GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glBinormal3f,ptr_glBinormal3f,"glBinormal3f",glBinormal3f,GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glBinormal3i,ptr_glBinormal3i,"glBinormal3i",glBinormal3i,GLint -> IO ())
+EXTENSION_ENTRY(dyn_glBinormal3s,ptr_glBinormal3s,"glBinormal3s",glBinormal3s,GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glBinormal3bv,ptr_glBinormal3bv,"glBinormal3bv",glBinormal3bv,Ptr GLbyte -> IO ())
+EXTENSION_ENTRY(dyn_glBinormal3dv,ptr_glBinormal3dv,"glBinormal3dv",glBinormal3dv,Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glBinormal3fv,ptr_glBinormal3fv,"glBinormal3fv",glBinormal3fv,Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glBinormal3iv,ptr_glBinormal3iv,"glBinormal3iv",glBinormal3iv,Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glBinormal3sv,ptr_glBinormal3sv,"glBinormal3sv",glBinormal3sv,Ptr GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glTangentPointer,ptr_glTangentPointer,"glTangentPointer",glTangentPointer,GLenum -> GLsizei -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glBinormalPointer,ptr_glBinormalPointer,"glBinormalPointer",glBinormalPointer,GLenum -> GLsizei -> Ptr a -> IO ())
+
+gl_TANGENT_ARRAY :: GLenum
+gl_TANGENT_ARRAY = 0x8439
+
+gl_BINORMAL_ARRAY :: GLenum
+gl_BINORMAL_ARRAY = 0x843A
+
+gl_CURRENT_TANGENT :: GLenum
+gl_CURRENT_TANGENT = 0x843B
+
+gl_CURRENT_BINORMAL :: GLenum
+gl_CURRENT_BINORMAL = 0x843C
+
+gl_TANGENT_ARRAY_TYPE :: GLenum
+gl_TANGENT_ARRAY_TYPE = 0x843E
+
+gl_TANGENT_ARRAY_STRIDE :: GLenum
+gl_TANGENT_ARRAY_STRIDE = 0x843F
+
+gl_BINORMAL_ARRAY_TYPE :: GLenum
+gl_BINORMAL_ARRAY_TYPE = 0x8440
+
+gl_BINORMAL_ARRAY_STRIDE :: GLenum
+gl_BINORMAL_ARRAY_STRIDE = 0x8441
+
+gl_TANGENT_ARRAY_POINTER :: GLenum
+gl_TANGENT_ARRAY_POINTER = 0x8442
+
+gl_BINORMAL_ARRAY_POINTER :: GLenum
+gl_BINORMAL_ARRAY_POINTER = 0x8443
+
+gl_MAP1_TANGENT :: GLenum
+gl_MAP1_TANGENT = 0x8444
+
+gl_MAP2_TANGENT :: GLenum
+gl_MAP2_TANGENT = 0x8445
+
+gl_MAP1_BINORMAL :: GLenum
+gl_MAP1_BINORMAL = 0x8446
+
+gl_MAP2_BINORMAL :: GLenum
+gl_MAP2_BINORMAL = 0x8447
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/CopyTexture.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/CopyTexture.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/CopyTexture.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/CopyTexture.hs
@@ -1,25 +1,25 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.CopyTexture
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions from the EXT_copy_texture extension, see
--- <http://www.opengl.org/registry/specs/EXT/copy_texture.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.CopyTexture (
-   -- * Functions
-   glCopyTexImage1D,
-   glCopyTexImage2D,
-   glCopyTexSubImage1D,
-   glCopyTexSubImage2D,
-   glCopyTexSubImage3D,
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core32
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.CopyTexture
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions from the EXT_copy_texture extension, see
+-- <http://www.opengl.org/registry/specs/EXT/copy_texture.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.CopyTexture (
+   -- * Functions
+   glCopyTexImage1D,
+   glCopyTexImage2D,
+   glCopyTexSubImage1D,
+   glCopyTexSubImage2D,
+   glCopyTexSubImage3D,
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/CullVertex.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/CullVertex.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/CullVertex.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/CullVertex.hs
@@ -1,48 +1,48 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.CullVertex
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the EXT_cull_vertex extension, see
--- <http://www.opengl.org/registry/specs/EXT/cull_vertex.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.CullVertex (
-   -- * Functions
-   glCullParameterfv,
-   glCullParameterdv,
-   -- * Tokens
-   gl_CULL_VERTEX,
-   gl_CULL_VERTEX_EYE_POSITION,
-   gl_CULL_VERTEX_OBJECT_POSITION
-) where
-
-import Foreign.Ptr
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core32
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_EXT_cull_vertex"
-
-EXTENSION_ENTRY(glCullParameterfv,GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glCullParameterdv,GLenum -> Ptr GLdouble -> IO ())
-
-
-gl_CULL_VERTEX :: GLenum
-gl_CULL_VERTEX = 0x81AA
-
-gl_CULL_VERTEX_EYE_POSITION :: GLenum
-gl_CULL_VERTEX_EYE_POSITION = 0x81AB
-
-gl_CULL_VERTEX_OBJECT_POSITION :: GLenum
-gl_CULL_VERTEX_OBJECT_POSITION = 0x81AC
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.CullVertex
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the EXT_cull_vertex extension, see
+-- <http://www.opengl.org/registry/specs/EXT/cull_vertex.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.CullVertex (
+   -- * Functions
+   glCullParameterfv,
+   glCullParameterdv,
+   -- * Tokens
+   gl_CULL_VERTEX,
+   gl_CULL_VERTEX_EYE_POSITION,
+   gl_CULL_VERTEX_OBJECT_POSITION
+) where
+
+import Foreign.Ptr
+import Foreign.C.Types
+import Graphics.Rendering.OpenGL.Raw.Core32
+import Graphics.Rendering.OpenGL.Raw.Extensions
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_EXT_cull_vertex"
+
+EXTENSION_ENTRY(dyn_glCullParameterfv,ptr_glCullParameterfv,"glCullParameterfv",glCullParameterfv,GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glCullParameterdv,ptr_glCullParameterdv,"glCullParameterdv",glCullParameterdv,GLenum -> Ptr GLdouble -> IO ())
+
+
+gl_CULL_VERTEX :: GLenum
+gl_CULL_VERTEX = 0x81AA
+
+gl_CULL_VERTEX_EYE_POSITION :: GLenum
+gl_CULL_VERTEX_EYE_POSITION = 0x81AB
+
+gl_CULL_VERTEX_OBJECT_POSITION :: GLenum
+gl_CULL_VERTEX_OBJECT_POSITION = 0x81AC
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/DepthBoundsTest.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/DepthBoundsTest.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/DepthBoundsTest.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/DepthBoundsTest.hs
@@ -1,40 +1,40 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.DepthBoundsTest
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the EXT_depth_bounds_test extension, see
--- <http://www.opengl.org/registry/specs/EXT/depth_bounds_test.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.DepthBoundsTest (
-   -- * Functions
-   glDepthBounds,
-   -- * Tokens
-   gl_DEPTH_BOUNDS_TEST,
-   gl_DEPTH_BOUNDS
-) where
-
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_EXT_depth_bounds_test"
-
-EXTENSION_ENTRY(glDepthBounds,GLclampd -> GLclampd -> IO())
-
-gl_DEPTH_BOUNDS_TEST :: GLenum
-gl_DEPTH_BOUNDS_TEST = 0x8890
-
-gl_DEPTH_BOUNDS :: GLenum
-gl_DEPTH_BOUNDS = 0x8891
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.DepthBoundsTest
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the EXT_depth_bounds_test extension, see
+-- <http://www.opengl.org/registry/specs/EXT/depth_bounds_test.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.DepthBoundsTest (
+   -- * Functions
+   glDepthBounds,
+   -- * Tokens
+   gl_DEPTH_BOUNDS_TEST,
+   gl_DEPTH_BOUNDS
+) where
+
+import Foreign.C.Types
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+import Graphics.Rendering.OpenGL.Raw.Extensions
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_EXT_depth_bounds_test"
+
+EXTENSION_ENTRY(dyn_glDepthBounds,ptr_glDepthBounds,"glDepthBounds",glDepthBounds,GLclampd -> GLclampd -> IO())
+
+gl_DEPTH_BOUNDS_TEST :: GLenum
+gl_DEPTH_BOUNDS_TEST = 0x8890
+
+gl_DEPTH_BOUNDS :: GLenum
+gl_DEPTH_BOUNDS = 0x8891
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/DirectStateAccess.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/DirectStateAccess.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/DirectStateAccess.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/DirectStateAccess.hs
@@ -1,394 +1,394 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.DirectStateAccess
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the EXT_direct_state_access extension not
--- already in the OpenGL 3.1 core, see
--- <http://www.opengl.org/registry/specs/EXT/direct_state_access.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.DirectStateAccess (
-   -- * Functions
-   glClientAttribDefault,
-   glPushClientAttribDefault,
-   glMatrixLoadf,
-   glMatrixLoadd,
-   glMatrixMultf,
-   glMatrixMultd,
-   glMatrixLoadIdentity,
-   glMatrixRotatef,
-   glMatrixRotated,
-   glMatrixScalef,
-   glMatrixScaled,
-   glMatrixTranslatef,
-   glMatrixTranslated,
-   glMatrixOrtho,
-   glMatrixFrustum,
-   glMatrixPush,
-   glMatrixPop,
-   glTextureParameteri,
-   glTextureParameteriv,
-   glTextureParameterf,
-   glTextureParameterfv,
-   glTextureImage1D,
-   glTextureImage2D,
-   glTextureSubImage1D,
-   glTextureSubImage2D,
-   glCopyTextureImage1D,
-   glCopyTextureImage2D,
-   glCopyTextureSubImage1D,
-   glCopyTextureSubImage2D,
-   glGetTextureImage,
-   glGetTextureParameterfv,
-   glGetTextureParameteriv,
-   glGetTextureLevelParameterfv,
-   glGetTextureLevelParameteriv,
-   glTextureImage3D,
-   glTextureSubImage3D,
-   glCopyTextureSubImage3D,
-   glBindMultiTexture,
-   glMultiTexCoordPointer,
-   glMultiTexEnvf,
-   glMultiTexEnvfv,
-   glMultiTexEnvi,
-   glMultiTexEnviv,
-   glMultiTexGend,
-   glMultiTexGendv,
-   glMultiTexGenf,
-   glMultiTexGenfv,
-   glMultiTexGeni,
-   glMultiTexGeniv,
-   glGetMultiTexEnvfv,
-   glGetMultiTexEnviv,
-   glGetMultiTexGendv,
-   glGetMultiTexGenfv,
-   glGetMultiTexGeniv,
-   glMultiTexParameteri,
-   glMultiTexParameteriv,
-   glMultiTexParameterf,
-   glMultiTexParameterfv,
-   glMultiTexImage1D,
-   glMultiTexImage2D,
-   glMultiTexSubImage1D,
-   glMultiTexSubImage2D,
-   glCopyMultiTexImage1D,
-   glCopyMultiTexImage2D,
-   glCopyMultiTexSubImage1D,
-   glCopyMultiTexSubImage2D,
-   glGetMultiTexImage,
-   glGetMultiTexParameterfv,
-   glGetMultiTexParameteriv,
-   glGetMultiTexLevelParameterfv,
-   glGetMultiTexLevelParameteriv,
-   glMultiTexImage3D,
-   glMultiTexSubImage3D,
-   glCopyMultiTexSubImage3D,
-   glEnableClientStateIndexed,
-   glDisableClientStateIndexed,
-   glGetFloatIndexedv,
-   glGetDoubleIndexedv,
-   glGetPointerIndexedv,
-   glEnableIndexed,
-   glDisableIndexed,
-   glIsEnabledIndexed,
-   glGetIntegerIndexedv,
-   glGetBooleanIndexedv,
-   glNamedProgramString,
-   glNamedProgramLocalParameter4d,
-   glNamedProgramLocalParameter4dv,
-   glNamedProgramLocalParameter4f,
-   glNamedProgramLocalParameter4fv,
-   glGetNamedProgramLocalParameterdv,
-   glGetNamedProgramLocalParameterfv,
-   glGetNamedProgramiv,
-   glGetNamedProgramString,
-   glCompressedTextureImage3D,
-   glCompressedTextureImage2D,
-   glCompressedTextureImage1D,
-   glCompressedTextureSubImage3D,
-   glCompressedTextureSubImage2D,
-   glCompressedTextureSubImage1D,
-   glGetCompressedTextureImage,
-   glCompressedMultiTexImage3D,
-   glCompressedMultiTexImage2D,
-   glCompressedMultiTexImage1D,
-   glCompressedMultiTexSubImage3D,
-   glCompressedMultiTexSubImage2D,
-   glCompressedMultiTexSubImage1D,
-   glGetCompressedMultiTexImage,
-   glMatrixLoadTransposef,
-   glMatrixLoadTransposed,
-   glMatrixMultTransposef,
-   glMatrixMultTransposed,
-   glNamedBufferData,
-   glNamedBufferSubData,
-   glMapNamedBuffer,
-   glUnmapNamedBuffer,
-   glGetNamedBufferParameteriv,
-   glGetNamedBufferPointerv,
-   glGetNamedBufferSubData,
-   glProgramUniform1f,
-   glProgramUniform2f,
-   glProgramUniform3f,
-   glProgramUniform4f,
-   glProgramUniform1i,
-   glProgramUniform2i,
-   glProgramUniform3i,
-   glProgramUniform4i,
-   glProgramUniform1fv,
-   glProgramUniform2fv,
-   glProgramUniform3fv,
-   glProgramUniform4fv,
-   glProgramUniform1iv,
-   glProgramUniform2iv,
-   glProgramUniform3iv,
-   glProgramUniform4iv,
-   glProgramUniformMatrix2fv,
-   glProgramUniformMatrix3fv,
-   glProgramUniformMatrix4fv,
-   glProgramUniformMatrix2x3fv,
-   glProgramUniformMatrix3x2fv,
-   glProgramUniformMatrix2x4fv,
-   glProgramUniformMatrix4x2fv,
-   glProgramUniformMatrix3x4fv,
-   glProgramUniformMatrix4x3fv,
-   glTextureBuffer,
-   glMultiTexBuffer,
-   glTextureParameterIiv,
-   glTextureParameterIuiv,
-   glGetTextureParameterIiv,
-   glGetTextureParameterIuiv,
-   glMultiTexParameterIiv,
-   glMultiTexParameterIuiv,
-   glGetMultiTexParameterIiv,
-   glGetMultiTexParameterIuiv,
-   glProgramUniform1ui,
-   glProgramUniform2ui,
-   glProgramUniform3ui,
-   glProgramUniform4ui,
-   glProgramUniform1uiv,
-   glProgramUniform2uiv,
-   glProgramUniform3uiv,
-   glProgramUniform4uiv,
-   glNamedProgramLocalParameters4fv,
-   glNamedProgramLocalParameterI4i,
-   glNamedProgramLocalParameterI4iv,
-   glNamedProgramLocalParametersI4iv,
-   glNamedProgramLocalParameterI4ui,
-   glNamedProgramLocalParameterI4uiv,
-   glNamedProgramLocalParametersI4uiv,
-   glGetNamedProgramLocalParameterIiv,
-   glGetNamedProgramLocalParameterIuiv,
-   glNamedRenderbufferStorage,
-   glGetNamedRenderbufferParameteriv,
-   glNamedRenderbufferStorageMultisample,
-   glNamedRenderbufferStorageMultisampleCoverage,
-   glCheckNamedFramebufferStatus,
-   glNamedFramebufferTexture1D,
-   glNamedFramebufferTexture2D,
-   glNamedFramebufferTexture3D,
-   glNamedFramebufferRenderbuffer,
-   glGetNamedFramebufferAttachmentParameteriv,
-   glGenerateTextureMipmap,
-   glGenerateMultiTexMipmap,
-   glFramebufferDrawBuffer,
-   glFramebufferDrawBuffers,
-   glFramebufferReadBuffer,
-   glGetFramebufferParameteriv,
-   glNamedFramebufferTexture,
-   glNamedFramebufferTextureLayer,
-   glNamedFramebufferTextureFace,
-   glTextureRenderbuffer,
-   glMultiTexRenderbuffer,
-   -- * Tokens
-   gl_PROGRAM_MATRIX,
-   gl_TRANSPOSE_PROGRAM_MATRIX,
-   gl_PROGRAM_MATRIX_STACK_DEPTH
-) where
-
-import Foreign.C.Types
-import Foreign.Ptr
-import Graphics.Rendering.OpenGL.Raw.ARB.FramebufferNoAttachments
-import Graphics.Rendering.OpenGL.Raw.ARB.SeparateShaderObjects
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_EXT_direct_state_access"
-
-EXTENSION_ENTRY(glClientAttribDefault,GLbitfield -> IO ())
-EXTENSION_ENTRY(glPushClientAttribDefault,GLbitfield -> IO ())
-EXTENSION_ENTRY(glMatrixLoadf,GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glMatrixLoadd,GLenum -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glMatrixMultf,GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glMatrixMultd,GLenum -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glMatrixLoadIdentity,GLenum -> IO ())
-EXTENSION_ENTRY(glMatrixRotatef,GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(glMatrixRotated,GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(glMatrixScalef,GLenum -> GLfloat -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(glMatrixScaled,GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(glMatrixTranslatef,GLenum -> GLfloat -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(glMatrixTranslated,GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(glMatrixOrtho,GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(glMatrixFrustum,GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(glMatrixPush,GLenum -> IO ())
-EXTENSION_ENTRY(glMatrixPop,GLenum -> IO ())
-EXTENSION_ENTRY(glTextureParameteri,GLuint -> GLenum -> GLenum -> GLint -> IO ())
-EXTENSION_ENTRY(glTextureParameteriv,GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glTextureParameterf,GLuint -> GLenum -> GLenum -> GLfloat -> IO ())
-EXTENSION_ENTRY(glTextureParameterfv,GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glTextureImage1D,GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(glTextureImage2D,GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(glTextureSubImage1D,GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(glTextureSubImage2D,GLuint -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(glCopyTextureImage1D,GLuint -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> IO ())
-EXTENSION_ENTRY(glCopyTextureImage2D,GLuint -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> IO ())
-EXTENSION_ENTRY(glCopyTextureSubImage1D,GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ())
-EXTENSION_ENTRY(glCopyTextureSubImage2D,GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
-EXTENSION_ENTRY(glGetTextureImage,GLuint -> GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(glGetTextureParameterfv,GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glGetTextureParameteriv,GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glGetTextureLevelParameterfv,GLuint -> GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glGetTextureLevelParameteriv,GLuint -> GLenum -> GLint -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glTextureImage3D,GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(glTextureSubImage3D,GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(glCopyTextureSubImage3D,GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
-EXTENSION_ENTRY(glBindMultiTexture,GLenum -> GLenum -> GLuint -> IO ())
-EXTENSION_ENTRY(glMultiTexCoordPointer,GLenum -> GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(glMultiTexEnvf,GLenum -> GLenum -> GLenum -> GLfloat -> IO ())
-EXTENSION_ENTRY(glMultiTexEnvfv,GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glMultiTexEnvi,GLenum -> GLenum -> GLenum -> GLint -> IO ())
-EXTENSION_ENTRY(glMultiTexEnviv,GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glMultiTexGend,GLenum -> GLenum -> GLenum -> GLdouble -> IO ())
-EXTENSION_ENTRY(glMultiTexGendv,GLenum -> GLenum -> GLenum -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glMultiTexGenf,GLenum -> GLenum -> GLenum -> GLfloat -> IO ())
-EXTENSION_ENTRY(glMultiTexGenfv,GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glMultiTexGeni,GLenum -> GLenum -> GLenum -> GLint -> IO ())
-EXTENSION_ENTRY(glMultiTexGeniv,GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glGetMultiTexEnvfv,GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glGetMultiTexEnviv,GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glGetMultiTexGendv,GLenum -> GLenum -> GLenum -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glGetMultiTexGenfv,GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glGetMultiTexGeniv,GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glMultiTexParameteri,GLenum -> GLenum -> GLenum -> GLint -> IO ())
-EXTENSION_ENTRY(glMultiTexParameteriv,GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glMultiTexParameterf,GLenum -> GLenum -> GLenum -> GLfloat -> IO ())
-EXTENSION_ENTRY(glMultiTexParameterfv,GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glMultiTexImage1D,GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(glMultiTexImage2D,GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(glMultiTexSubImage1D,GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(glMultiTexSubImage2D,GLenum -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(glCopyMultiTexImage1D,GLenum -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> IO ())
-EXTENSION_ENTRY(glCopyMultiTexImage2D,GLenum -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> IO ())
-EXTENSION_ENTRY(glCopyMultiTexSubImage1D,GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ())
-EXTENSION_ENTRY(glCopyMultiTexSubImage2D,GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
-EXTENSION_ENTRY(glGetMultiTexImage,GLenum -> GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(glGetMultiTexParameterfv,GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glGetMultiTexParameteriv,GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glGetMultiTexLevelParameterfv,GLenum -> GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glGetMultiTexLevelParameteriv,GLenum -> GLenum -> GLint -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glMultiTexImage3D,GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(glMultiTexSubImage3D,GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(glCopyMultiTexSubImage3D,GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
-EXTENSION_ENTRY(glEnableClientStateIndexed,GLenum -> GLuint -> IO ())
-EXTENSION_ENTRY(glDisableClientStateIndexed,GLenum -> GLuint -> IO ())
-EXTENSION_ENTRY(glGetFloatIndexedv,GLenum -> GLuint -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glGetDoubleIndexedv,GLenum -> GLuint -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glGetPointerIndexedv,GLenum -> GLuint -> Ptr (Ptr a) -> IO ())
-EXTENSION_ENTRY(glEnableIndexed,GLenum -> GLuint -> IO ())
-EXTENSION_ENTRY(glDisableIndexed,GLenum -> GLuint -> IO ())
-EXTENSION_ENTRY(glIsEnabledIndexed,GLenum -> GLuint -> IO GLboolean)
-EXTENSION_ENTRY(glGetIntegerIndexedv,GLenum -> GLuint -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glGetBooleanIndexedv,GLenum -> GLuint -> Ptr GLboolean -> IO ())
-EXTENSION_ENTRY(glNamedProgramString,GLuint -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(glNamedProgramLocalParameter4d,GLuint -> GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(glNamedProgramLocalParameter4dv,GLuint -> GLenum -> GLuint -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glNamedProgramLocalParameter4f,GLuint -> GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(glNamedProgramLocalParameter4fv,GLuint -> GLenum -> GLuint -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glGetNamedProgramLocalParameterdv,GLuint -> GLenum -> GLuint -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glGetNamedProgramLocalParameterfv,GLuint -> GLenum -> GLuint -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glGetNamedProgramiv,GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glGetNamedProgramString,GLuint -> GLenum -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(glCompressedTextureImage3D,GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(glCompressedTextureImage2D,GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(glCompressedTextureImage1D,GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(glCompressedTextureSubImage3D,GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(glCompressedTextureSubImage2D,GLuint -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(glCompressedTextureSubImage1D,GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(glGetCompressedTextureImage,GLuint -> GLenum -> GLint -> Ptr a -> IO ())
-EXTENSION_ENTRY(glCompressedMultiTexImage3D,GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(glCompressedMultiTexImage2D,GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(glCompressedMultiTexImage1D,GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(glCompressedMultiTexSubImage3D,GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(glCompressedMultiTexSubImage2D,GLenum -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(glCompressedMultiTexSubImage1D,GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(glGetCompressedMultiTexImage,GLenum -> GLenum -> GLint -> Ptr a -> IO ())
-EXTENSION_ENTRY(glMatrixLoadTransposef,GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glMatrixLoadTransposed,GLenum -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glMatrixMultTransposef,GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glMatrixMultTransposed,GLenum -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glNamedBufferData,GLuint -> GLsizeiptr -> Ptr a -> GLenum -> IO ())
-EXTENSION_ENTRY(glNamedBufferSubData,GLuint -> GLintptr -> GLsizeiptr -> Ptr a -> IO ())
-EXTENSION_ENTRY(glMapNamedBuffer,GLuint -> GLenum -> IO ())
-EXTENSION_ENTRY(glUnmapNamedBuffer,GLuint -> IO GLboolean)
-EXTENSION_ENTRY(glGetNamedBufferParameteriv,GLuint -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glGetNamedBufferPointerv,GLuint -> GLenum -> Ptr (Ptr a) -> IO ())
-EXTENSION_ENTRY(glGetNamedBufferSubData,GLuint -> GLintptr -> GLsizeiptr -> Ptr a -> IO ())
-EXTENSION_ENTRY(glTextureBuffer,GLuint -> GLenum -> GLenum -> GLuint -> IO ())
-EXTENSION_ENTRY(glMultiTexBuffer,GLenum -> GLenum -> GLenum -> GLuint -> IO ())
-EXTENSION_ENTRY(glTextureParameterIiv,GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glTextureParameterIuiv,GLuint -> GLenum -> GLenum -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glGetTextureParameterIiv,GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glGetTextureParameterIuiv,GLuint -> GLenum -> GLenum -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glMultiTexParameterIiv,GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glMultiTexParameterIuiv,GLenum -> GLenum -> GLenum -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glGetMultiTexParameterIiv,GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glGetMultiTexParameterIuiv,GLenum -> GLenum -> GLenum -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glNamedProgramLocalParameters4fv,GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glNamedProgramLocalParameterI4i,GLuint -> GLenum -> GLuint -> GLint -> GLint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(glNamedProgramLocalParameterI4iv,GLuint -> GLenum -> GLuint -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glNamedProgramLocalParametersI4iv,GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glNamedProgramLocalParameterI4ui,GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-EXTENSION_ENTRY(glNamedProgramLocalParameterI4uiv,GLuint -> GLenum -> GLuint -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glNamedProgramLocalParametersI4uiv,GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glGetNamedProgramLocalParameterIiv,GLuint -> GLenum -> GLuint -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glGetNamedProgramLocalParameterIuiv,GLuint -> GLenum -> GLuint -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glNamedRenderbufferStorage,GLuint -> GLenum -> GLsizei -> GLsizei -> IO ())
-EXTENSION_ENTRY(glGetNamedRenderbufferParameteriv,GLuint -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glNamedRenderbufferStorageMultisample,GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
-EXTENSION_ENTRY(glNamedRenderbufferStorageMultisampleCoverage,GLuint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
-EXTENSION_ENTRY(glCheckNamedFramebufferStatus,GLuint -> GLenum -> IO GLenum)
-EXTENSION_ENTRY(glNamedFramebufferTexture1D,GLuint -> GLenum -> GLenum -> GLuint -> GLint -> IO ())
-EXTENSION_ENTRY(glNamedFramebufferTexture2D,GLuint -> GLenum -> GLenum -> GLuint -> GLint -> IO ())
-EXTENSION_ENTRY(glNamedFramebufferTexture3D,GLuint -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(glNamedFramebufferRenderbuffer,GLuint -> GLenum -> GLenum -> GLuint -> IO ())
-EXTENSION_ENTRY(glGetNamedFramebufferAttachmentParameteriv,GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glGenerateTextureMipmap,GLuint -> GLenum -> IO ())
-EXTENSION_ENTRY(glGenerateMultiTexMipmap,GLenum -> GLenum -> IO ())
-EXTENSION_ENTRY(glFramebufferDrawBuffer,GLuint -> GLenum -> IO ())
-EXTENSION_ENTRY(glFramebufferDrawBuffers,GLuint -> GLsizei -> Ptr GLenum -> IO ())
-EXTENSION_ENTRY(glFramebufferReadBuffer,GLuint -> GLenum -> IO ())
-EXTENSION_ENTRY(glNamedFramebufferTexture,GLuint -> GLenum -> GLuint -> GLint -> IO ())
-EXTENSION_ENTRY(glNamedFramebufferTextureLayer,GLuint -> GLenum -> GLuint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(glNamedFramebufferTextureFace,GLuint -> GLenum -> GLuint -> GLint -> GLenum -> IO ())
-EXTENSION_ENTRY(glTextureRenderbuffer,GLuint -> GLenum -> GLuint -> IO ())
-EXTENSION_ENTRY(glMultiTexRenderbuffer,GLenum -> GLenum -> GLuint -> IO ())
-
-gl_PROGRAM_MATRIX :: GLenum
-gl_PROGRAM_MATRIX = 0x8E2D
-
-gl_TRANSPOSE_PROGRAM_MATRIX :: GLenum
-gl_TRANSPOSE_PROGRAM_MATRIX = 0x8E2E
-
-gl_PROGRAM_MATRIX_STACK_DEPTH :: GLenum
-gl_PROGRAM_MATRIX_STACK_DEPTH = 0x8E2F
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.DirectStateAccess
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the EXT_direct_state_access extension not
+-- already in the OpenGL 3.1 core, see
+-- <http://www.opengl.org/registry/specs/EXT/direct_state_access.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.DirectStateAccess (
+   -- * Functions
+   glClientAttribDefault,
+   glPushClientAttribDefault,
+   glMatrixLoadf,
+   glMatrixLoadd,
+   glMatrixMultf,
+   glMatrixMultd,
+   glMatrixLoadIdentity,
+   glMatrixRotatef,
+   glMatrixRotated,
+   glMatrixScalef,
+   glMatrixScaled,
+   glMatrixTranslatef,
+   glMatrixTranslated,
+   glMatrixOrtho,
+   glMatrixFrustum,
+   glMatrixPush,
+   glMatrixPop,
+   glTextureParameteri,
+   glTextureParameteriv,
+   glTextureParameterf,
+   glTextureParameterfv,
+   glTextureImage1D,
+   glTextureImage2D,
+   glTextureSubImage1D,
+   glTextureSubImage2D,
+   glCopyTextureImage1D,
+   glCopyTextureImage2D,
+   glCopyTextureSubImage1D,
+   glCopyTextureSubImage2D,
+   glGetTextureImage,
+   glGetTextureParameterfv,
+   glGetTextureParameteriv,
+   glGetTextureLevelParameterfv,
+   glGetTextureLevelParameteriv,
+   glTextureImage3D,
+   glTextureSubImage3D,
+   glCopyTextureSubImage3D,
+   glBindMultiTexture,
+   glMultiTexCoordPointer,
+   glMultiTexEnvf,
+   glMultiTexEnvfv,
+   glMultiTexEnvi,
+   glMultiTexEnviv,
+   glMultiTexGend,
+   glMultiTexGendv,
+   glMultiTexGenf,
+   glMultiTexGenfv,
+   glMultiTexGeni,
+   glMultiTexGeniv,
+   glGetMultiTexEnvfv,
+   glGetMultiTexEnviv,
+   glGetMultiTexGendv,
+   glGetMultiTexGenfv,
+   glGetMultiTexGeniv,
+   glMultiTexParameteri,
+   glMultiTexParameteriv,
+   glMultiTexParameterf,
+   glMultiTexParameterfv,
+   glMultiTexImage1D,
+   glMultiTexImage2D,
+   glMultiTexSubImage1D,
+   glMultiTexSubImage2D,
+   glCopyMultiTexImage1D,
+   glCopyMultiTexImage2D,
+   glCopyMultiTexSubImage1D,
+   glCopyMultiTexSubImage2D,
+   glGetMultiTexImage,
+   glGetMultiTexParameterfv,
+   glGetMultiTexParameteriv,
+   glGetMultiTexLevelParameterfv,
+   glGetMultiTexLevelParameteriv,
+   glMultiTexImage3D,
+   glMultiTexSubImage3D,
+   glCopyMultiTexSubImage3D,
+   glEnableClientStateIndexed,
+   glDisableClientStateIndexed,
+   glGetFloatIndexedv,
+   glGetDoubleIndexedv,
+   glGetPointerIndexedv,
+   glEnableIndexed,
+   glDisableIndexed,
+   glIsEnabledIndexed,
+   glGetIntegerIndexedv,
+   glGetBooleanIndexedv,
+   glNamedProgramString,
+   glNamedProgramLocalParameter4d,
+   glNamedProgramLocalParameter4dv,
+   glNamedProgramLocalParameter4f,
+   glNamedProgramLocalParameter4fv,
+   glGetNamedProgramLocalParameterdv,
+   glGetNamedProgramLocalParameterfv,
+   glGetNamedProgramiv,
+   glGetNamedProgramString,
+   glCompressedTextureImage3D,
+   glCompressedTextureImage2D,
+   glCompressedTextureImage1D,
+   glCompressedTextureSubImage3D,
+   glCompressedTextureSubImage2D,
+   glCompressedTextureSubImage1D,
+   glGetCompressedTextureImage,
+   glCompressedMultiTexImage3D,
+   glCompressedMultiTexImage2D,
+   glCompressedMultiTexImage1D,
+   glCompressedMultiTexSubImage3D,
+   glCompressedMultiTexSubImage2D,
+   glCompressedMultiTexSubImage1D,
+   glGetCompressedMultiTexImage,
+   glMatrixLoadTransposef,
+   glMatrixLoadTransposed,
+   glMatrixMultTransposef,
+   glMatrixMultTransposed,
+   glNamedBufferData,
+   glNamedBufferSubData,
+   glMapNamedBuffer,
+   glUnmapNamedBuffer,
+   glGetNamedBufferParameteriv,
+   glGetNamedBufferPointerv,
+   glGetNamedBufferSubData,
+   glProgramUniform1f,
+   glProgramUniform2f,
+   glProgramUniform3f,
+   glProgramUniform4f,
+   glProgramUniform1i,
+   glProgramUniform2i,
+   glProgramUniform3i,
+   glProgramUniform4i,
+   glProgramUniform1fv,
+   glProgramUniform2fv,
+   glProgramUniform3fv,
+   glProgramUniform4fv,
+   glProgramUniform1iv,
+   glProgramUniform2iv,
+   glProgramUniform3iv,
+   glProgramUniform4iv,
+   glProgramUniformMatrix2fv,
+   glProgramUniformMatrix3fv,
+   glProgramUniformMatrix4fv,
+   glProgramUniformMatrix2x3fv,
+   glProgramUniformMatrix3x2fv,
+   glProgramUniformMatrix2x4fv,
+   glProgramUniformMatrix4x2fv,
+   glProgramUniformMatrix3x4fv,
+   glProgramUniformMatrix4x3fv,
+   glTextureBuffer,
+   glMultiTexBuffer,
+   glTextureParameterIiv,
+   glTextureParameterIuiv,
+   glGetTextureParameterIiv,
+   glGetTextureParameterIuiv,
+   glMultiTexParameterIiv,
+   glMultiTexParameterIuiv,
+   glGetMultiTexParameterIiv,
+   glGetMultiTexParameterIuiv,
+   glProgramUniform1ui,
+   glProgramUniform2ui,
+   glProgramUniform3ui,
+   glProgramUniform4ui,
+   glProgramUniform1uiv,
+   glProgramUniform2uiv,
+   glProgramUniform3uiv,
+   glProgramUniform4uiv,
+   glNamedProgramLocalParameters4fv,
+   glNamedProgramLocalParameterI4i,
+   glNamedProgramLocalParameterI4iv,
+   glNamedProgramLocalParametersI4iv,
+   glNamedProgramLocalParameterI4ui,
+   glNamedProgramLocalParameterI4uiv,
+   glNamedProgramLocalParametersI4uiv,
+   glGetNamedProgramLocalParameterIiv,
+   glGetNamedProgramLocalParameterIuiv,
+   glNamedRenderbufferStorage,
+   glGetNamedRenderbufferParameteriv,
+   glNamedRenderbufferStorageMultisample,
+   glNamedRenderbufferStorageMultisampleCoverage,
+   glCheckNamedFramebufferStatus,
+   glNamedFramebufferTexture1D,
+   glNamedFramebufferTexture2D,
+   glNamedFramebufferTexture3D,
+   glNamedFramebufferRenderbuffer,
+   glGetNamedFramebufferAttachmentParameteriv,
+   glGenerateTextureMipmap,
+   glGenerateMultiTexMipmap,
+   glFramebufferDrawBuffer,
+   glFramebufferDrawBuffers,
+   glFramebufferReadBuffer,
+   glGetFramebufferParameteriv,
+   glNamedFramebufferTexture,
+   glNamedFramebufferTextureLayer,
+   glNamedFramebufferTextureFace,
+   glTextureRenderbuffer,
+   glMultiTexRenderbuffer,
+   -- * Tokens
+   gl_PROGRAM_MATRIX,
+   gl_TRANSPOSE_PROGRAM_MATRIX,
+   gl_PROGRAM_MATRIX_STACK_DEPTH
+) where
+
+import Foreign.C.Types
+import Foreign.Ptr
+import Graphics.Rendering.OpenGL.Raw.ARB.FramebufferNoAttachments
+import Graphics.Rendering.OpenGL.Raw.ARB.SeparateShaderObjects
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+import Graphics.Rendering.OpenGL.Raw.Extensions
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_EXT_direct_state_access"
+
+EXTENSION_ENTRY(dyn_glClientAttribDefault,ptr_glClientAttribDefault,"glClientAttribDefault",glClientAttribDefault,GLbitfield -> IO ())
+EXTENSION_ENTRY(dyn_glPushClientAttribDefault,ptr_glPushClientAttribDefault,"glPushClientAttribDefault",glPushClientAttribDefault,GLbitfield -> IO ())
+EXTENSION_ENTRY(dyn_glMatrixLoadf,ptr_glMatrixLoadf,"glMatrixLoadf",glMatrixLoadf,GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glMatrixLoadd,ptr_glMatrixLoadd,"glMatrixLoadd",glMatrixLoadd,GLenum -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glMatrixMultf,ptr_glMatrixMultf,"glMatrixMultf",glMatrixMultf,GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glMatrixMultd,ptr_glMatrixMultd,"glMatrixMultd",glMatrixMultd,GLenum -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glMatrixLoadIdentity,ptr_glMatrixLoadIdentity,"glMatrixLoadIdentity",glMatrixLoadIdentity,GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glMatrixRotatef,ptr_glMatrixRotatef,"glMatrixRotatef",glMatrixRotatef,GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glMatrixRotated,ptr_glMatrixRotated,"glMatrixRotated",glMatrixRotated,GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glMatrixScalef,ptr_glMatrixScalef,"glMatrixScalef",glMatrixScalef,GLenum -> GLfloat -> GLfloat -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glMatrixScaled,ptr_glMatrixScaled,"glMatrixScaled",glMatrixScaled,GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glMatrixTranslatef,ptr_glMatrixTranslatef,"glMatrixTranslatef",glMatrixTranslatef,GLenum -> GLfloat -> GLfloat -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glMatrixTranslated,ptr_glMatrixTranslated,"glMatrixTranslated",glMatrixTranslated,GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glMatrixOrtho,ptr_glMatrixOrtho,"glMatrixOrtho",glMatrixOrtho,GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glMatrixFrustum,ptr_glMatrixFrustum,"glMatrixFrustum",glMatrixFrustum,GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glMatrixPush,ptr_glMatrixPush,"glMatrixPush",glMatrixPush,GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glMatrixPop,ptr_glMatrixPop,"glMatrixPop",glMatrixPop,GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glTextureParameteri,ptr_glTextureParameteri,"glTextureParameteri",glTextureParameteri,GLuint -> GLenum -> GLenum -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glTextureParameteriv,ptr_glTextureParameteriv,"glTextureParameteriv",glTextureParameteriv,GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glTextureParameterf,ptr_glTextureParameterf,"glTextureParameterf",glTextureParameterf,GLuint -> GLenum -> GLenum -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glTextureParameterfv,ptr_glTextureParameterfv,"glTextureParameterfv",glTextureParameterfv,GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glTextureImage1D,ptr_glTextureImage1D,"glTextureImage1D",glTextureImage1D,GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glTextureImage2D,ptr_glTextureImage2D,"glTextureImage2D",glTextureImage2D,GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glTextureSubImage1D,ptr_glTextureSubImage1D,"glTextureSubImage1D",glTextureSubImage1D,GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glTextureSubImage2D,ptr_glTextureSubImage2D,"glTextureSubImage2D",glTextureSubImage2D,GLuint -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glCopyTextureImage1D,ptr_glCopyTextureImage1D,"glCopyTextureImage1D",glCopyTextureImage1D,GLuint -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glCopyTextureImage2D,ptr_glCopyTextureImage2D,"glCopyTextureImage2D",glCopyTextureImage2D,GLuint -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glCopyTextureSubImage1D,ptr_glCopyTextureSubImage1D,"glCopyTextureSubImage1D",glCopyTextureSubImage1D,GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ())
+EXTENSION_ENTRY(dyn_glCopyTextureSubImage2D,ptr_glCopyTextureSubImage2D,"glCopyTextureSubImage2D",glCopyTextureSubImage2D,GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
+EXTENSION_ENTRY(dyn_glGetTextureImage,ptr_glGetTextureImage,"glGetTextureImage",glGetTextureImage,GLuint -> GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glGetTextureParameterfv,ptr_glGetTextureParameterfv,"glGetTextureParameterfv",glGetTextureParameterfv,GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glGetTextureParameteriv,ptr_glGetTextureParameteriv,"glGetTextureParameteriv",glGetTextureParameteriv,GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glGetTextureLevelParameterfv,ptr_glGetTextureLevelParameterfv,"glGetTextureLevelParameterfv",glGetTextureLevelParameterfv,GLuint -> GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glGetTextureLevelParameteriv,ptr_glGetTextureLevelParameteriv,"glGetTextureLevelParameteriv",glGetTextureLevelParameteriv,GLuint -> GLenum -> GLint -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glTextureImage3D,ptr_glTextureImage3D,"glTextureImage3D",glTextureImage3D,GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glTextureSubImage3D,ptr_glTextureSubImage3D,"glTextureSubImage3D",glTextureSubImage3D,GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glCopyTextureSubImage3D,ptr_glCopyTextureSubImage3D,"glCopyTextureSubImage3D",glCopyTextureSubImage3D,GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
+EXTENSION_ENTRY(dyn_glBindMultiTexture,ptr_glBindMultiTexture,"glBindMultiTexture",glBindMultiTexture,GLenum -> GLenum -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexCoordPointer,ptr_glMultiTexCoordPointer,"glMultiTexCoordPointer",glMultiTexCoordPointer,GLenum -> GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexEnvf,ptr_glMultiTexEnvf,"glMultiTexEnvf",glMultiTexEnvf,GLenum -> GLenum -> GLenum -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexEnvfv,ptr_glMultiTexEnvfv,"glMultiTexEnvfv",glMultiTexEnvfv,GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexEnvi,ptr_glMultiTexEnvi,"glMultiTexEnvi",glMultiTexEnvi,GLenum -> GLenum -> GLenum -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexEnviv,ptr_glMultiTexEnviv,"glMultiTexEnviv",glMultiTexEnviv,GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexGend,ptr_glMultiTexGend,"glMultiTexGend",glMultiTexGend,GLenum -> GLenum -> GLenum -> GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexGendv,ptr_glMultiTexGendv,"glMultiTexGendv",glMultiTexGendv,GLenum -> GLenum -> GLenum -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexGenf,ptr_glMultiTexGenf,"glMultiTexGenf",glMultiTexGenf,GLenum -> GLenum -> GLenum -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexGenfv,ptr_glMultiTexGenfv,"glMultiTexGenfv",glMultiTexGenfv,GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexGeni,ptr_glMultiTexGeni,"glMultiTexGeni",glMultiTexGeni,GLenum -> GLenum -> GLenum -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexGeniv,ptr_glMultiTexGeniv,"glMultiTexGeniv",glMultiTexGeniv,GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glGetMultiTexEnvfv,ptr_glGetMultiTexEnvfv,"glGetMultiTexEnvfv",glGetMultiTexEnvfv,GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glGetMultiTexEnviv,ptr_glGetMultiTexEnviv,"glGetMultiTexEnviv",glGetMultiTexEnviv,GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glGetMultiTexGendv,ptr_glGetMultiTexGendv,"glGetMultiTexGendv",glGetMultiTexGendv,GLenum -> GLenum -> GLenum -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glGetMultiTexGenfv,ptr_glGetMultiTexGenfv,"glGetMultiTexGenfv",glGetMultiTexGenfv,GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glGetMultiTexGeniv,ptr_glGetMultiTexGeniv,"glGetMultiTexGeniv",glGetMultiTexGeniv,GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexParameteri,ptr_glMultiTexParameteri,"glMultiTexParameteri",glMultiTexParameteri,GLenum -> GLenum -> GLenum -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexParameteriv,ptr_glMultiTexParameteriv,"glMultiTexParameteriv",glMultiTexParameteriv,GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexParameterf,ptr_glMultiTexParameterf,"glMultiTexParameterf",glMultiTexParameterf,GLenum -> GLenum -> GLenum -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexParameterfv,ptr_glMultiTexParameterfv,"glMultiTexParameterfv",glMultiTexParameterfv,GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexImage1D,ptr_glMultiTexImage1D,"glMultiTexImage1D",glMultiTexImage1D,GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexImage2D,ptr_glMultiTexImage2D,"glMultiTexImage2D",glMultiTexImage2D,GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexSubImage1D,ptr_glMultiTexSubImage1D,"glMultiTexSubImage1D",glMultiTexSubImage1D,GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexSubImage2D,ptr_glMultiTexSubImage2D,"glMultiTexSubImage2D",glMultiTexSubImage2D,GLenum -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glCopyMultiTexImage1D,ptr_glCopyMultiTexImage1D,"glCopyMultiTexImage1D",glCopyMultiTexImage1D,GLenum -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glCopyMultiTexImage2D,ptr_glCopyMultiTexImage2D,"glCopyMultiTexImage2D",glCopyMultiTexImage2D,GLenum -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glCopyMultiTexSubImage1D,ptr_glCopyMultiTexSubImage1D,"glCopyMultiTexSubImage1D",glCopyMultiTexSubImage1D,GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ())
+EXTENSION_ENTRY(dyn_glCopyMultiTexSubImage2D,ptr_glCopyMultiTexSubImage2D,"glCopyMultiTexSubImage2D",glCopyMultiTexSubImage2D,GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
+EXTENSION_ENTRY(dyn_glGetMultiTexImage,ptr_glGetMultiTexImage,"glGetMultiTexImage",glGetMultiTexImage,GLenum -> GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glGetMultiTexParameterfv,ptr_glGetMultiTexParameterfv,"glGetMultiTexParameterfv",glGetMultiTexParameterfv,GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glGetMultiTexParameteriv,ptr_glGetMultiTexParameteriv,"glGetMultiTexParameteriv",glGetMultiTexParameteriv,GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glGetMultiTexLevelParameterfv,ptr_glGetMultiTexLevelParameterfv,"glGetMultiTexLevelParameterfv",glGetMultiTexLevelParameterfv,GLenum -> GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glGetMultiTexLevelParameteriv,ptr_glGetMultiTexLevelParameteriv,"glGetMultiTexLevelParameteriv",glGetMultiTexLevelParameteriv,GLenum -> GLenum -> GLint -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexImage3D,ptr_glMultiTexImage3D,"glMultiTexImage3D",glMultiTexImage3D,GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexSubImage3D,ptr_glMultiTexSubImage3D,"glMultiTexSubImage3D",glMultiTexSubImage3D,GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glCopyMultiTexSubImage3D,ptr_glCopyMultiTexSubImage3D,"glCopyMultiTexSubImage3D",glCopyMultiTexSubImage3D,GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
+EXTENSION_ENTRY(dyn_glEnableClientStateIndexed,ptr_glEnableClientStateIndexed,"glEnableClientStateIndexed",glEnableClientStateIndexed,GLenum -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glDisableClientStateIndexed,ptr_glDisableClientStateIndexed,"glDisableClientStateIndexed",glDisableClientStateIndexed,GLenum -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glGetFloatIndexedv,ptr_glGetFloatIndexedv,"glGetFloatIndexedv",glGetFloatIndexedv,GLenum -> GLuint -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glGetDoubleIndexedv,ptr_glGetDoubleIndexedv,"glGetDoubleIndexedv",glGetDoubleIndexedv,GLenum -> GLuint -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glGetPointerIndexedv,ptr_glGetPointerIndexedv,"glGetPointerIndexedv",glGetPointerIndexedv,GLenum -> GLuint -> Ptr (Ptr a) -> IO ())
+EXTENSION_ENTRY(dyn_glEnableIndexed,ptr_glEnableIndexed,"glEnableIndexed",glEnableIndexed,GLenum -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glDisableIndexed,ptr_glDisableIndexed,"glDisableIndexed",glDisableIndexed,GLenum -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glIsEnabledIndexed,ptr_glIsEnabledIndexed,"glIsEnabledIndexed",glIsEnabledIndexed,GLenum -> GLuint -> IO GLboolean)
+EXTENSION_ENTRY(dyn_glGetIntegerIndexedv,ptr_glGetIntegerIndexedv,"glGetIntegerIndexedv",glGetIntegerIndexedv,GLenum -> GLuint -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glGetBooleanIndexedv,ptr_glGetBooleanIndexedv,"glGetBooleanIndexedv",glGetBooleanIndexedv,GLenum -> GLuint -> Ptr GLboolean -> IO ())
+EXTENSION_ENTRY(dyn_glNamedProgramString,ptr_glNamedProgramString,"glNamedProgramString",glNamedProgramString,GLuint -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glNamedProgramLocalParameter4d,ptr_glNamedProgramLocalParameter4d,"glNamedProgramLocalParameter4d",glNamedProgramLocalParameter4d,GLuint -> GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glNamedProgramLocalParameter4dv,ptr_glNamedProgramLocalParameter4dv,"glNamedProgramLocalParameter4dv",glNamedProgramLocalParameter4dv,GLuint -> GLenum -> GLuint -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glNamedProgramLocalParameter4f,ptr_glNamedProgramLocalParameter4f,"glNamedProgramLocalParameter4f",glNamedProgramLocalParameter4f,GLuint -> GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glNamedProgramLocalParameter4fv,ptr_glNamedProgramLocalParameter4fv,"glNamedProgramLocalParameter4fv",glNamedProgramLocalParameter4fv,GLuint -> GLenum -> GLuint -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glGetNamedProgramLocalParameterdv,ptr_glGetNamedProgramLocalParameterdv,"glGetNamedProgramLocalParameterdv",glGetNamedProgramLocalParameterdv,GLuint -> GLenum -> GLuint -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glGetNamedProgramLocalParameterfv,ptr_glGetNamedProgramLocalParameterfv,"glGetNamedProgramLocalParameterfv",glGetNamedProgramLocalParameterfv,GLuint -> GLenum -> GLuint -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glGetNamedProgramiv,ptr_glGetNamedProgramiv,"glGetNamedProgramiv",glGetNamedProgramiv,GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glGetNamedProgramString,ptr_glGetNamedProgramString,"glGetNamedProgramString",glGetNamedProgramString,GLuint -> GLenum -> GLenum -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glCompressedTextureImage3D,ptr_glCompressedTextureImage3D,"glCompressedTextureImage3D",glCompressedTextureImage3D,GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glCompressedTextureImage2D,ptr_glCompressedTextureImage2D,"glCompressedTextureImage2D",glCompressedTextureImage2D,GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glCompressedTextureImage1D,ptr_glCompressedTextureImage1D,"glCompressedTextureImage1D",glCompressedTextureImage1D,GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glCompressedTextureSubImage3D,ptr_glCompressedTextureSubImage3D,"glCompressedTextureSubImage3D",glCompressedTextureSubImage3D,GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glCompressedTextureSubImage2D,ptr_glCompressedTextureSubImage2D,"glCompressedTextureSubImage2D",glCompressedTextureSubImage2D,GLuint -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glCompressedTextureSubImage1D,ptr_glCompressedTextureSubImage1D,"glCompressedTextureSubImage1D",glCompressedTextureSubImage1D,GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glGetCompressedTextureImage,ptr_glGetCompressedTextureImage,"glGetCompressedTextureImage",glGetCompressedTextureImage,GLuint -> GLenum -> GLint -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glCompressedMultiTexImage3D,ptr_glCompressedMultiTexImage3D,"glCompressedMultiTexImage3D",glCompressedMultiTexImage3D,GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glCompressedMultiTexImage2D,ptr_glCompressedMultiTexImage2D,"glCompressedMultiTexImage2D",glCompressedMultiTexImage2D,GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glCompressedMultiTexImage1D,ptr_glCompressedMultiTexImage1D,"glCompressedMultiTexImage1D",glCompressedMultiTexImage1D,GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glCompressedMultiTexSubImage3D,ptr_glCompressedMultiTexSubImage3D,"glCompressedMultiTexSubImage3D",glCompressedMultiTexSubImage3D,GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glCompressedMultiTexSubImage2D,ptr_glCompressedMultiTexSubImage2D,"glCompressedMultiTexSubImage2D",glCompressedMultiTexSubImage2D,GLenum -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glCompressedMultiTexSubImage1D,ptr_glCompressedMultiTexSubImage1D,"glCompressedMultiTexSubImage1D",glCompressedMultiTexSubImage1D,GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glGetCompressedMultiTexImage,ptr_glGetCompressedMultiTexImage,"glGetCompressedMultiTexImage",glGetCompressedMultiTexImage,GLenum -> GLenum -> GLint -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glMatrixLoadTransposef,ptr_glMatrixLoadTransposef,"glMatrixLoadTransposef",glMatrixLoadTransposef,GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glMatrixLoadTransposed,ptr_glMatrixLoadTransposed,"glMatrixLoadTransposed",glMatrixLoadTransposed,GLenum -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glMatrixMultTransposef,ptr_glMatrixMultTransposef,"glMatrixMultTransposef",glMatrixMultTransposef,GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glMatrixMultTransposed,ptr_glMatrixMultTransposed,"glMatrixMultTransposed",glMatrixMultTransposed,GLenum -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glNamedBufferData,ptr_glNamedBufferData,"glNamedBufferData",glNamedBufferData,GLuint -> GLsizeiptr -> Ptr a -> GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glNamedBufferSubData,ptr_glNamedBufferSubData,"glNamedBufferSubData",glNamedBufferSubData,GLuint -> GLintptr -> GLsizeiptr -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glMapNamedBuffer,ptr_glMapNamedBuffer,"glMapNamedBuffer",glMapNamedBuffer,GLuint -> GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glUnmapNamedBuffer,ptr_glUnmapNamedBuffer,"glUnmapNamedBuffer",glUnmapNamedBuffer,GLuint -> IO GLboolean)
+EXTENSION_ENTRY(dyn_glGetNamedBufferParameteriv,ptr_glGetNamedBufferParameteriv,"glGetNamedBufferParameteriv",glGetNamedBufferParameteriv,GLuint -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glGetNamedBufferPointerv,ptr_glGetNamedBufferPointerv,"glGetNamedBufferPointerv",glGetNamedBufferPointerv,GLuint -> GLenum -> Ptr (Ptr a) -> IO ())
+EXTENSION_ENTRY(dyn_glGetNamedBufferSubData,ptr_glGetNamedBufferSubData,"glGetNamedBufferSubData",glGetNamedBufferSubData,GLuint -> GLintptr -> GLsizeiptr -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glTextureBuffer,ptr_glTextureBuffer,"glTextureBuffer",glTextureBuffer,GLuint -> GLenum -> GLenum -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexBuffer,ptr_glMultiTexBuffer,"glMultiTexBuffer",glMultiTexBuffer,GLenum -> GLenum -> GLenum -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glTextureParameterIiv,ptr_glTextureParameterIiv,"glTextureParameterIiv",glTextureParameterIiv,GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glTextureParameterIuiv,ptr_glTextureParameterIuiv,"glTextureParameterIuiv",glTextureParameterIuiv,GLuint -> GLenum -> GLenum -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glGetTextureParameterIiv,ptr_glGetTextureParameterIiv,"glGetTextureParameterIiv",glGetTextureParameterIiv,GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glGetTextureParameterIuiv,ptr_glGetTextureParameterIuiv,"glGetTextureParameterIuiv",glGetTextureParameterIuiv,GLuint -> GLenum -> GLenum -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexParameterIiv,ptr_glMultiTexParameterIiv,"glMultiTexParameterIiv",glMultiTexParameterIiv,GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexParameterIuiv,ptr_glMultiTexParameterIuiv,"glMultiTexParameterIuiv",glMultiTexParameterIuiv,GLenum -> GLenum -> GLenum -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glGetMultiTexParameterIiv,ptr_glGetMultiTexParameterIiv,"glGetMultiTexParameterIiv",glGetMultiTexParameterIiv,GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glGetMultiTexParameterIuiv,ptr_glGetMultiTexParameterIuiv,"glGetMultiTexParameterIuiv",glGetMultiTexParameterIuiv,GLenum -> GLenum -> GLenum -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glNamedProgramLocalParameters4fv,ptr_glNamedProgramLocalParameters4fv,"glNamedProgramLocalParameters4fv",glNamedProgramLocalParameters4fv,GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glNamedProgramLocalParameterI4i,ptr_glNamedProgramLocalParameterI4i,"glNamedProgramLocalParameterI4i",glNamedProgramLocalParameterI4i,GLuint -> GLenum -> GLuint -> GLint -> GLint -> GLint -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glNamedProgramLocalParameterI4iv,ptr_glNamedProgramLocalParameterI4iv,"glNamedProgramLocalParameterI4iv",glNamedProgramLocalParameterI4iv,GLuint -> GLenum -> GLuint -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glNamedProgramLocalParametersI4iv,ptr_glNamedProgramLocalParametersI4iv,"glNamedProgramLocalParametersI4iv",glNamedProgramLocalParametersI4iv,GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glNamedProgramLocalParameterI4ui,ptr_glNamedProgramLocalParameterI4ui,"glNamedProgramLocalParameterI4ui",glNamedProgramLocalParameterI4ui,GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glNamedProgramLocalParameterI4uiv,ptr_glNamedProgramLocalParameterI4uiv,"glNamedProgramLocalParameterI4uiv",glNamedProgramLocalParameterI4uiv,GLuint -> GLenum -> GLuint -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glNamedProgramLocalParametersI4uiv,ptr_glNamedProgramLocalParametersI4uiv,"glNamedProgramLocalParametersI4uiv",glNamedProgramLocalParametersI4uiv,GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glGetNamedProgramLocalParameterIiv,ptr_glGetNamedProgramLocalParameterIiv,"glGetNamedProgramLocalParameterIiv",glGetNamedProgramLocalParameterIiv,GLuint -> GLenum -> GLuint -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glGetNamedProgramLocalParameterIuiv,ptr_glGetNamedProgramLocalParameterIuiv,"glGetNamedProgramLocalParameterIuiv",glGetNamedProgramLocalParameterIuiv,GLuint -> GLenum -> GLuint -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glNamedRenderbufferStorage,ptr_glNamedRenderbufferStorage,"glNamedRenderbufferStorage",glNamedRenderbufferStorage,GLuint -> GLenum -> GLsizei -> GLsizei -> IO ())
+EXTENSION_ENTRY(dyn_glGetNamedRenderbufferParameteriv,ptr_glGetNamedRenderbufferParameteriv,"glGetNamedRenderbufferParameteriv",glGetNamedRenderbufferParameteriv,GLuint -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glNamedRenderbufferStorageMultisample,ptr_glNamedRenderbufferStorageMultisample,"glNamedRenderbufferStorageMultisample",glNamedRenderbufferStorageMultisample,GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
+EXTENSION_ENTRY(dyn_glNamedRenderbufferStorageMultisampleCoverage,ptr_glNamedRenderbufferStorageMultisampleCoverage,"glNamedRenderbufferStorageMultisampleCoverage",glNamedRenderbufferStorageMultisampleCoverage,GLuint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
+EXTENSION_ENTRY(dyn_glCheckNamedFramebufferStatus,ptr_glCheckNamedFramebufferStatus,"glCheckNamedFramebufferStatus",glCheckNamedFramebufferStatus,GLuint -> GLenum -> IO GLenum)
+EXTENSION_ENTRY(dyn_glNamedFramebufferTexture1D,ptr_glNamedFramebufferTexture1D,"glNamedFramebufferTexture1D",glNamedFramebufferTexture1D,GLuint -> GLenum -> GLenum -> GLuint -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glNamedFramebufferTexture2D,ptr_glNamedFramebufferTexture2D,"glNamedFramebufferTexture2D",glNamedFramebufferTexture2D,GLuint -> GLenum -> GLenum -> GLuint -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glNamedFramebufferTexture3D,ptr_glNamedFramebufferTexture3D,"glNamedFramebufferTexture3D",glNamedFramebufferTexture3D,GLuint -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glNamedFramebufferRenderbuffer,ptr_glNamedFramebufferRenderbuffer,"glNamedFramebufferRenderbuffer",glNamedFramebufferRenderbuffer,GLuint -> GLenum -> GLenum -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glGetNamedFramebufferAttachmentParameteriv,ptr_glGetNamedFramebufferAttachmentParameteriv,"glGetNamedFramebufferAttachmentParameteriv",glGetNamedFramebufferAttachmentParameteriv,GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glGenerateTextureMipmap,ptr_glGenerateTextureMipmap,"glGenerateTextureMipmap",glGenerateTextureMipmap,GLuint -> GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glGenerateMultiTexMipmap,ptr_glGenerateMultiTexMipmap,"glGenerateMultiTexMipmap",glGenerateMultiTexMipmap,GLenum -> GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glFramebufferDrawBuffer,ptr_glFramebufferDrawBuffer,"glFramebufferDrawBuffer",glFramebufferDrawBuffer,GLuint -> GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glFramebufferDrawBuffers,ptr_glFramebufferDrawBuffers,"glFramebufferDrawBuffers",glFramebufferDrawBuffers,GLuint -> GLsizei -> Ptr GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glFramebufferReadBuffer,ptr_glFramebufferReadBuffer,"glFramebufferReadBuffer",glFramebufferReadBuffer,GLuint -> GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glNamedFramebufferTexture,ptr_glNamedFramebufferTexture,"glNamedFramebufferTexture",glNamedFramebufferTexture,GLuint -> GLenum -> GLuint -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glNamedFramebufferTextureLayer,ptr_glNamedFramebufferTextureLayer,"glNamedFramebufferTextureLayer",glNamedFramebufferTextureLayer,GLuint -> GLenum -> GLuint -> GLint -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glNamedFramebufferTextureFace,ptr_glNamedFramebufferTextureFace,"glNamedFramebufferTextureFace",glNamedFramebufferTextureFace,GLuint -> GLenum -> GLuint -> GLint -> GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glTextureRenderbuffer,ptr_glTextureRenderbuffer,"glTextureRenderbuffer",glTextureRenderbuffer,GLuint -> GLenum -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexRenderbuffer,ptr_glMultiTexRenderbuffer,"glMultiTexRenderbuffer",glMultiTexRenderbuffer,GLenum -> GLenum -> GLuint -> IO ())
+
+gl_PROGRAM_MATRIX :: GLenum
+gl_PROGRAM_MATRIX = 0x8E2D
+
+gl_TRANSPOSE_PROGRAM_MATRIX :: GLenum
+gl_TRANSPOSE_PROGRAM_MATRIX = 0x8E2E
+
+gl_PROGRAM_MATRIX_STACK_DEPTH :: GLenum
+gl_PROGRAM_MATRIX_STACK_DEPTH = 0x8E2F
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/DrawBuffers2.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/DrawBuffers2.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/DrawBuffers2.hs
@@ -0,0 +1,36 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.DrawBuffers2
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions from the EXT_draw_buffers2 extension, see
+-- <http://www.opengl.org/registry/specs/EXT/draw_buffers2.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.DrawBuffers2 (
+   -- * Functions
+   glColorMaskIndexed,
+   glGetBooleanIndexedv,
+   glGetIntegerIndexedv,
+   glEnableIndexed,
+   glDisableIndexed,
+   glIsEnabledIndexed
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core31
+import Graphics.Rendering.OpenGL.Raw.EXT.DirectStateAccess
+
+glColorMaskIndexed :: GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ()
+glColorMaskIndexed = glColorMaski
+
+-- glGetBooleanIndexedv = glGetBooleani_v
+-- glGetIntegerIndexedv = glGetIntegeri_v
+-- glEnableIndexed = glEnablei
+-- glDisableIndexed = glDisablei
+-- glIsEnabledIndexed = glIsEnabledi
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/DrawRangeElements.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/DrawRangeElements.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/DrawRangeElements.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/DrawRangeElements.hs
@@ -1,24 +1,24 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.DrawRangeElements
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the EXT_draw_range_elements extension, see
--- <http://www.opengl.org/registry/specs/EXT/draw_range_elements.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.DrawRangeElements (
-   -- * Functions
-   glDrawRangeElements,
-   -- * Tokens
-   gl_MAX_ELEMENTS_VERTICES,
-   gl_MAX_ELEMENTS_INDICES
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core32
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.DrawRangeElements
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the EXT_draw_range_elements extension, see
+-- <http://www.opengl.org/registry/specs/EXT/draw_range_elements.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.DrawRangeElements (
+   -- * Functions
+   glDrawRangeElements,
+   -- * Tokens
+   gl_MAX_ELEMENTS_VERTICES,
+   gl_MAX_ELEMENTS_INDICES
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/FogCoord.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/FogCoord.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/FogCoord.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/FogCoord.hs
@@ -1,34 +1,34 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.FogCoord
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the EXT_fog_coord extension, see
--- <http://www.opengl.org/registry/specs/EXT/fog_coord.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.FogCoord (
-   -- * Functions
-   glFogCoordf,
-   glFogCoordd,
-   glFogCoordfv,
-   glFogCoorddv,
-   glFogCoordPointer,
-   -- * Tokens
-   gl_FOG_COORDINATE_SOURCE,
-   gl_FOG_COORDINATE,
-   gl_FRAGMENT_DEPTH,
-   gl_CURRENT_FOG_COORDINATE,
-   gl_FOG_COORDINATE_ARRAY_TYPE,
-   gl_FOG_COORDINATE_ARRAY_STRIDE,
-   gl_FOG_COORDINATE_ARRAY_POINTER,
-   gl_FOG_COORDINATE_ARRAY
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.FogCoord
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the EXT_fog_coord extension, see
+-- <http://www.opengl.org/registry/specs/EXT/fog_coord.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.FogCoord (
+   -- * Functions
+   glFogCoordf,
+   glFogCoordd,
+   glFogCoordfv,
+   glFogCoorddv,
+   glFogCoordPointer,
+   -- * Tokens
+   gl_FOG_COORDINATE_SOURCE,
+   gl_FOG_COORDINATE,
+   gl_FRAGMENT_DEPTH,
+   gl_CURRENT_FOG_COORDINATE,
+   gl_FOG_COORDINATE_ARRAY_TYPE,
+   gl_FOG_COORDINATE_ARRAY_STRIDE,
+   gl_FOG_COORDINATE_ARRAY_POINTER,
+   gl_FOG_COORDINATE_ARRAY
+) where
+
+import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/FourTwoTwoPixels.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/FourTwoTwoPixels.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/FourTwoTwoPixels.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/FourTwoTwoPixels.hs
@@ -1,36 +1,36 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.FourTwoTwoPixels
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All tokens from the EXT_422_pixels extension, see
--- <http://www.opengl.org/registry/specs/EXT/422_pixels.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.FourTwoTwoPixels (
-   -- * Tokens
-   gl_422,
-   gl_422_REV,
-   gl_422_AVERAGE,
-   gl_422_REV_AVERAGE
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core32
-
-gl_422 :: GLenum
-gl_422 = 0x80CC
-
-gl_422_REV :: GLenum
-gl_422_REV = 0x80CD
-
-gl_422_AVERAGE :: GLenum
-gl_422_AVERAGE = 0x80CE
-
-gl_422_REV_AVERAGE :: GLenum
-gl_422_REV_AVERAGE = 0x80CF
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.FourTwoTwoPixels
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All tokens from the EXT_422_pixels extension, see
+-- <http://www.opengl.org/registry/specs/EXT/422_pixels.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.FourTwoTwoPixels (
+   -- * Tokens
+   gl_422,
+   gl_422_REV,
+   gl_422_AVERAGE,
+   gl_422_REV_AVERAGE
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
+
+gl_422 :: GLenum
+gl_422 = 0x80CC
+
+gl_422_REV :: GLenum
+gl_422_REV = 0x80CD
+
+gl_422_AVERAGE :: GLenum
+gl_422_AVERAGE = 0x80CE
+
+gl_422_REV_AVERAGE :: GLenum
+gl_422_REV_AVERAGE = 0x80CF
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/FragmentLighting.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/FragmentLighting.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/FragmentLighting.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/FragmentLighting.hs
@@ -1,148 +1,148 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.FragmentLighting
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the EXT_fragment_lighting extension, see
--- <http://www.opengl.org/registry/specs/EXT/fragment_lighting.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.FragmentLighting (
-   -- * Functions
-   glFragmentLightModeli,
-   glFragmentLightModelf,
-   glFragmentLightModeliv,
-   glFragmentLightModelfv,
-   glFragmentLighti,
-   glFragmentLightf,
-   glFragmentLightiv,
-   glFragmentLightfv,
-   glGetFragmentLightiv,
-   glGetFragmentLightfv,
-   glFragmentMaterialf,
-   glFragmentMateriali,
-   glFragmentMaterialfv,
-   glFragmentMaterialiv,
-   glFragmentColorMaterial,
-   glGetFragmentMaterialfv,
-   glGetFragmentMaterialiv,
-   glLightEnvi,
-   -- * Tokens
-   gl_FRAGMENT_LIGHTING,
-   gl_FRAGMENT_COLOR_MATERIAL,
-   gl_FRAGMENT_COLOR_MATERIAL_FACE,
-   gl_FRAGMENT_COLOR_MATERIAL_PARAMETER,
-   gl_MAX_FRAGMENT_LIGHTS,
-   gl_MAX_ACTIVE_LIGHTS,
-   gl_CURRENT_RASTER_NORMAL,
-   gl_LIGHT_ENV_MODE,
-   gl_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER,
-   gl_FRAGMENT_LIGHT_MODEL_TWO_SIDE,
-   gl_FRAGMENT_LIGHT_MODEL_AMBIENT,
-   gl_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION,
-   gl_FRAGMENT_LIGHT0,
-   gl_FRAGMENT_LIGHT1,
-   gl_FRAGMENT_LIGHT2,
-   gl_FRAGMENT_LIGHT3,
-   gl_FRAGMENT_LIGHT4,
-   gl_FRAGMENT_LIGHT5,
-   gl_FRAGMENT_LIGHT6,
-   gl_FRAGMENT_LIGHT7
-) where
-
-import Foreign.Ptr
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core32
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_EXT_fragment_lighting"
-
-EXTENSION_ENTRY(glFragmentLightModeli,GLenum -> GLint -> IO ())
-EXTENSION_ENTRY(glFragmentLightModelf,GLenum -> GLfloat -> IO ())
-EXTENSION_ENTRY(glFragmentLightModeliv,GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glFragmentLightModelfv,GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glFragmentLighti,GLenum -> GLenum -> GLint -> IO ())
-EXTENSION_ENTRY(glFragmentLightf,GLenum -> GLenum -> GLfloat -> IO ())
-EXTENSION_ENTRY(glFragmentLightiv,GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glFragmentLightfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glGetFragmentLightiv,GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glGetFragmentLightfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glFragmentMaterialf,GLenum -> GLenum -> GLfloat -> IO ())
-EXTENSION_ENTRY(glFragmentMateriali,GLenum -> GLenum -> GLint -> IO ())
-EXTENSION_ENTRY(glFragmentMaterialfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glFragmentMaterialiv,GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glFragmentColorMaterial,GLenum -> GLenum -> IO ())
-EXTENSION_ENTRY(glGetFragmentMaterialfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glGetFragmentMaterialiv,GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glLightEnvi,GLenum -> GLint -> IO ())
-
-gl_FRAGMENT_LIGHTING :: GLenum
-gl_FRAGMENT_LIGHTING = 0x8400
-
-gl_FRAGMENT_COLOR_MATERIAL :: GLenum
-gl_FRAGMENT_COLOR_MATERIAL = 0x8401
-
-gl_FRAGMENT_COLOR_MATERIAL_FACE :: GLenum
-gl_FRAGMENT_COLOR_MATERIAL_FACE = 0x8402
-
-gl_FRAGMENT_COLOR_MATERIAL_PARAMETER :: GLenum
-gl_FRAGMENT_COLOR_MATERIAL_PARAMETER = 0x8403
-
-gl_MAX_FRAGMENT_LIGHTS :: GLenum
-gl_MAX_FRAGMENT_LIGHTS = 0x8404
-
-gl_MAX_ACTIVE_LIGHTS :: GLenum
-gl_MAX_ACTIVE_LIGHTS = 0x8405
-
-gl_CURRENT_RASTER_NORMAL :: GLenum
-gl_CURRENT_RASTER_NORMAL = 0x8406
-
-gl_LIGHT_ENV_MODE :: GLenum
-gl_LIGHT_ENV_MODE = 0x8407
-
-gl_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER :: GLenum
-gl_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER = 0x8408
-
-gl_FRAGMENT_LIGHT_MODEL_TWO_SIDE :: GLenum
-gl_FRAGMENT_LIGHT_MODEL_TWO_SIDE = 0x8409
-
-gl_FRAGMENT_LIGHT_MODEL_AMBIENT :: GLenum
-gl_FRAGMENT_LIGHT_MODEL_AMBIENT = 0x840A
-
-gl_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION :: GLenum
-gl_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION = 0x840B
-
-gl_FRAGMENT_LIGHT0 :: GLenum
-gl_FRAGMENT_LIGHT0 = 0x840C
-
-gl_FRAGMENT_LIGHT1 :: GLenum
-gl_FRAGMENT_LIGHT1 = 0x840D
-
-gl_FRAGMENT_LIGHT2 :: GLenum
-gl_FRAGMENT_LIGHT2 = 0x840E
-
-gl_FRAGMENT_LIGHT3 :: GLenum
-gl_FRAGMENT_LIGHT3 = 0x840F
-
-gl_FRAGMENT_LIGHT4 :: GLenum
-gl_FRAGMENT_LIGHT4 = 0x8410
-
-gl_FRAGMENT_LIGHT5 :: GLenum
-gl_FRAGMENT_LIGHT5 = 0x8411
-
-gl_FRAGMENT_LIGHT6 :: GLenum
-gl_FRAGMENT_LIGHT6 = 0x8412
-
-gl_FRAGMENT_LIGHT7 :: GLenum
-gl_FRAGMENT_LIGHT7 = 0x8413
-
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.FragmentLighting
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the EXT_fragment_lighting extension, see
+-- <http://www.opengl.org/registry/specs/EXT/fragment_lighting.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.FragmentLighting (
+   -- * Functions
+   glFragmentLightModeli,
+   glFragmentLightModelf,
+   glFragmentLightModeliv,
+   glFragmentLightModelfv,
+   glFragmentLighti,
+   glFragmentLightf,
+   glFragmentLightiv,
+   glFragmentLightfv,
+   glGetFragmentLightiv,
+   glGetFragmentLightfv,
+   glFragmentMaterialf,
+   glFragmentMateriali,
+   glFragmentMaterialfv,
+   glFragmentMaterialiv,
+   glFragmentColorMaterial,
+   glGetFragmentMaterialfv,
+   glGetFragmentMaterialiv,
+   glLightEnvi,
+   -- * Tokens
+   gl_FRAGMENT_LIGHTING,
+   gl_FRAGMENT_COLOR_MATERIAL,
+   gl_FRAGMENT_COLOR_MATERIAL_FACE,
+   gl_FRAGMENT_COLOR_MATERIAL_PARAMETER,
+   gl_MAX_FRAGMENT_LIGHTS,
+   gl_MAX_ACTIVE_LIGHTS,
+   gl_CURRENT_RASTER_NORMAL,
+   gl_LIGHT_ENV_MODE,
+   gl_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER,
+   gl_FRAGMENT_LIGHT_MODEL_TWO_SIDE,
+   gl_FRAGMENT_LIGHT_MODEL_AMBIENT,
+   gl_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION,
+   gl_FRAGMENT_LIGHT0,
+   gl_FRAGMENT_LIGHT1,
+   gl_FRAGMENT_LIGHT2,
+   gl_FRAGMENT_LIGHT3,
+   gl_FRAGMENT_LIGHT4,
+   gl_FRAGMENT_LIGHT5,
+   gl_FRAGMENT_LIGHT6,
+   gl_FRAGMENT_LIGHT7
+) where
+
+import Foreign.Ptr
+import Foreign.C.Types
+import Graphics.Rendering.OpenGL.Raw.Core32
+import Graphics.Rendering.OpenGL.Raw.Extensions
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_EXT_fragment_lighting"
+
+EXTENSION_ENTRY(dyn_glFragmentLightModeli,ptr_glFragmentLightModeli,"glFragmentLightModeli",glFragmentLightModeli,GLenum -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glFragmentLightModelf,ptr_glFragmentLightModelf,"glFragmentLightModelf",glFragmentLightModelf,GLenum -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glFragmentLightModeliv,ptr_glFragmentLightModeliv,"glFragmentLightModeliv",glFragmentLightModeliv,GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glFragmentLightModelfv,ptr_glFragmentLightModelfv,"glFragmentLightModelfv",glFragmentLightModelfv,GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glFragmentLighti,ptr_glFragmentLighti,"glFragmentLighti",glFragmentLighti,GLenum -> GLenum -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glFragmentLightf,ptr_glFragmentLightf,"glFragmentLightf",glFragmentLightf,GLenum -> GLenum -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glFragmentLightiv,ptr_glFragmentLightiv,"glFragmentLightiv",glFragmentLightiv,GLenum -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glFragmentLightfv,ptr_glFragmentLightfv,"glFragmentLightfv",glFragmentLightfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glGetFragmentLightiv,ptr_glGetFragmentLightiv,"glGetFragmentLightiv",glGetFragmentLightiv,GLenum -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glGetFragmentLightfv,ptr_glGetFragmentLightfv,"glGetFragmentLightfv",glGetFragmentLightfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glFragmentMaterialf,ptr_glFragmentMaterialf,"glFragmentMaterialf",glFragmentMaterialf,GLenum -> GLenum -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glFragmentMateriali,ptr_glFragmentMateriali,"glFragmentMateriali",glFragmentMateriali,GLenum -> GLenum -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glFragmentMaterialfv,ptr_glFragmentMaterialfv,"glFragmentMaterialfv",glFragmentMaterialfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glFragmentMaterialiv,ptr_glFragmentMaterialiv,"glFragmentMaterialiv",glFragmentMaterialiv,GLenum -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glFragmentColorMaterial,ptr_glFragmentColorMaterial,"glFragmentColorMaterial",glFragmentColorMaterial,GLenum -> GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glGetFragmentMaterialfv,ptr_glGetFragmentMaterialfv,"glGetFragmentMaterialfv",glGetFragmentMaterialfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glGetFragmentMaterialiv,ptr_glGetFragmentMaterialiv,"glGetFragmentMaterialiv",glGetFragmentMaterialiv,GLenum -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glLightEnvi,ptr_glLightEnvi,"glLightEnvi",glLightEnvi,GLenum -> GLint -> IO ())
+
+gl_FRAGMENT_LIGHTING :: GLenum
+gl_FRAGMENT_LIGHTING = 0x8400
+
+gl_FRAGMENT_COLOR_MATERIAL :: GLenum
+gl_FRAGMENT_COLOR_MATERIAL = 0x8401
+
+gl_FRAGMENT_COLOR_MATERIAL_FACE :: GLenum
+gl_FRAGMENT_COLOR_MATERIAL_FACE = 0x8402
+
+gl_FRAGMENT_COLOR_MATERIAL_PARAMETER :: GLenum
+gl_FRAGMENT_COLOR_MATERIAL_PARAMETER = 0x8403
+
+gl_MAX_FRAGMENT_LIGHTS :: GLenum
+gl_MAX_FRAGMENT_LIGHTS = 0x8404
+
+gl_MAX_ACTIVE_LIGHTS :: GLenum
+gl_MAX_ACTIVE_LIGHTS = 0x8405
+
+gl_CURRENT_RASTER_NORMAL :: GLenum
+gl_CURRENT_RASTER_NORMAL = 0x8406
+
+gl_LIGHT_ENV_MODE :: GLenum
+gl_LIGHT_ENV_MODE = 0x8407
+
+gl_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER :: GLenum
+gl_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER = 0x8408
+
+gl_FRAGMENT_LIGHT_MODEL_TWO_SIDE :: GLenum
+gl_FRAGMENT_LIGHT_MODEL_TWO_SIDE = 0x8409
+
+gl_FRAGMENT_LIGHT_MODEL_AMBIENT :: GLenum
+gl_FRAGMENT_LIGHT_MODEL_AMBIENT = 0x840A
+
+gl_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION :: GLenum
+gl_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION = 0x840B
+
+gl_FRAGMENT_LIGHT0 :: GLenum
+gl_FRAGMENT_LIGHT0 = 0x840C
+
+gl_FRAGMENT_LIGHT1 :: GLenum
+gl_FRAGMENT_LIGHT1 = 0x840D
+
+gl_FRAGMENT_LIGHT2 :: GLenum
+gl_FRAGMENT_LIGHT2 = 0x840E
+
+gl_FRAGMENT_LIGHT3 :: GLenum
+gl_FRAGMENT_LIGHT3 = 0x840F
+
+gl_FRAGMENT_LIGHT4 :: GLenum
+gl_FRAGMENT_LIGHT4 = 0x8410
+
+gl_FRAGMENT_LIGHT5 :: GLenum
+gl_FRAGMENT_LIGHT5 = 0x8411
+
+gl_FRAGMENT_LIGHT6 :: GLenum
+gl_FRAGMENT_LIGHT6 = 0x8412
+
+gl_FRAGMENT_LIGHT7 :: GLenum
+gl_FRAGMENT_LIGHT7 = 0x8413
+
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/FramebufferBlit.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/FramebufferBlit.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/FramebufferBlit.hs
@@ -0,0 +1,27 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.FramebufferBlit
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the EXT_framebuffer_blit extension, see
+-- <http://www.opengl.org/registry/specs/EXT/framebuffer_blit.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.FramebufferBlit (
+   -- * Functions
+   glBlitFramebuffer,
+
+   -- * Tokens
+   gl_READ_FRAMEBUFFER,
+   gl_DRAW_FRAMEBUFFER,
+   gl_DRAW_FRAMEBUFFER_BINDING,
+   gl_READ_FRAMEBUFFER_BINDING
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/FramebufferMultisample.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/FramebufferMultisample.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/FramebufferMultisample.hs
@@ -0,0 +1,26 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.FramebufferMultisample
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the EXT_framebuffer_multisample extension,
+-- see <http://www.opengl.org/registry/specs/EXT/framebuffer_multisample.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.FramebufferMultisample (
+   -- * Functions
+   glRenderbufferStorageMultisample,
+
+   -- * Tokens
+   gl_RENDERBUFFER_SAMPLES,
+   gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE,
+   gl_MAX_SAMPLES
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/FramebufferObject.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/FramebufferObject.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/FramebufferObject.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/FramebufferObject.hs
@@ -1,29 +1,29 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.FramebufferObject
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the EXT_framebuffer_object extension not
--- already in the OpenGL 3.1 core, see
--- <http://www.opengl.org/registry/specs/EXT/framebuffer_object.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.FramebufferObject (
-   -- * Tokens
-   gl_FRAMEBUFFER_INCOMPLETE_DIMENSIONS,
-   gl_FRAMEBUFFER_INCOMPLETE_FORMATS
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core32
-
-gl_FRAMEBUFFER_INCOMPLETE_DIMENSIONS :: GLenum
-gl_FRAMEBUFFER_INCOMPLETE_DIMENSIONS = 0x8CD9
-
-gl_FRAMEBUFFER_INCOMPLETE_FORMATS :: GLenum
-gl_FRAMEBUFFER_INCOMPLETE_FORMATS = 0x8CDA
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.FramebufferObject
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the EXT_framebuffer_object extension not
+-- already in the OpenGL 3.1 core, see
+-- <http://www.opengl.org/registry/specs/EXT/framebuffer_object.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.FramebufferObject (
+   -- * Tokens
+   gl_FRAMEBUFFER_INCOMPLETE_DIMENSIONS,
+   gl_FRAMEBUFFER_INCOMPLETE_FORMATS
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
+
+gl_FRAMEBUFFER_INCOMPLETE_DIMENSIONS :: GLenum
+gl_FRAMEBUFFER_INCOMPLETE_DIMENSIONS = 0x8CD9
+
+gl_FRAMEBUFFER_INCOMPLETE_FORMATS :: GLenum
+gl_FRAMEBUFFER_INCOMPLETE_FORMATS = 0x8CDA
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/FramebufferSRGB.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/FramebufferSRGB.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/FramebufferSRGB.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/FramebufferSRGB.hs
@@ -1,25 +1,25 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.FramebufferSRGB
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the EXT_framebuffer_sRGB extension not
--- already in the OpenGL 3.1 core, see
--- <http://www.opengl.org/registry/specs/EXT/framebuffer_sRGB.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.FramebufferSRGB (
-   -- * Tokens
-   gl_FRAMEBUFFER_SRGB_CAPABLE
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core32
-
-gl_FRAMEBUFFER_SRGB_CAPABLE :: GLenum
-gl_FRAMEBUFFER_SRGB_CAPABLE = 0x8DBA
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.FramebufferSRGB
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the EXT_framebuffer_sRGB extension not
+-- already in the OpenGL 3.1 core, see
+-- <http://www.opengl.org/registry/specs/EXT/framebuffer_sRGB.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.FramebufferSRGB (
+   -- * Tokens
+   gl_FRAMEBUFFER_SRGB_CAPABLE
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
+
+gl_FRAMEBUFFER_SRGB_CAPABLE :: GLenum
+gl_FRAMEBUFFER_SRGB_CAPABLE = 0x8DBA
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/GPUProgramParameters.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/GPUProgramParameters.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/GPUProgramParameters.hs
@@ -0,0 +1,35 @@
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.GPUProgramParameters
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the EXT_gpu_program_parameters extension
+-- not already in the OpenGL 3.1 core, see
+-- <http://www.opengl.org/registry/specs/EXT/gpu_program_parameters.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.GPUProgramParameters (
+   -- * Functions
+   glProgramEnvParameters4fv,
+   glProgramLocalParameters4fv
+) where
+
+import Foreign.Ptr
+import Foreign.C.Types
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+import Graphics.Rendering.OpenGL.Raw.Extensions
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_EXT_program_parameters"
+
+EXTENSION_ENTRY(dyn_glProgramEnvParameters4fv,ptr_glProgramEnvParameters4fv,"glProgramEnvParameters4fv",glProgramEnvParameters4fv,GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glProgramLocalParameters4fv,ptr_glProgramLocalParameters4fv,"glProgramLocalParameters4fv",glProgramLocalParameters4fv,GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/GPUShader4.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/GPUShader4.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/GPUShader4.hs
@@ -0,0 +1,61 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.GPUShader4
+-- Copyright   :  (c) Sven Panne 2014
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the EXT_gpu_shader4 extension, see
+-- <http://www.opengl.org/registry/specs/EXT/gpu_shader4.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.GPUShader4 (
+   -- * Functions
+   glGetUniformuiv,
+   glBindFragDataLocation,
+   glGetFragDataLocation,
+   glUniform1ui,
+   glUniform2ui,
+   glUniform3ui,
+   glUniform4ui,
+   glUniform1uiv,
+   glUniform2uiv,
+   glUniform3uiv,
+   glUniform4uiv,
+
+   -- * Tokens
+   gl_VERTEX_ATTRIB_ARRAY_INTEGER,
+   gl_SAMPLER_1D_ARRAY,
+   gl_SAMPLER_2D_ARRAY,
+   gl_SAMPLER_BUFFER,
+   gl_SAMPLER_1D_ARRAY_SHADOW,
+   gl_SAMPLER_2D_ARRAY_SHADOW,
+   gl_SAMPLER_CUBE_SHADOW,
+   gl_UNSIGNED_INT_VEC2,
+   gl_UNSIGNED_INT_VEC3,
+   gl_UNSIGNED_INT_VEC4,
+   gl_INT_SAMPLER_1D,
+   gl_INT_SAMPLER_2D,
+   gl_INT_SAMPLER_3D,
+   gl_INT_SAMPLER_CUBE,
+   gl_INT_SAMPLER_2D_RECT,
+   gl_INT_SAMPLER_1D_ARRAY,
+   gl_INT_SAMPLER_2D_ARRAY,
+   gl_INT_SAMPLER_BUFFER,
+   gl_UNSIGNED_INT_SAMPLER_1D,
+   gl_UNSIGNED_INT_SAMPLER_2D,
+   gl_UNSIGNED_INT_SAMPLER_3D,
+   gl_UNSIGNED_INT_SAMPLER_CUBE,
+   gl_UNSIGNED_INT_SAMPLER_2D_RECT,
+   gl_UNSIGNED_INT_SAMPLER_1D_ARRAY,
+   gl_UNSIGNED_INT_SAMPLER_2D_ARRAY,
+   gl_UNSIGNED_INT_SAMPLER_BUFFER,
+   gl_MIN_PROGRAM_TEXEL_OFFSET,
+   gl_MAX_PROGRAM_TEXEL_OFFSET
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/GeometryShader4.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/GeometryShader4.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/GeometryShader4.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/GeometryShader4.hs
@@ -1,42 +1,42 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.GeometryShader4
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the EXT_geometry_shader4 extension, see
--- <http://www.opengl.org/registry/specs/EXT/geometry_shader4.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.GeometryShader4 (
-   -- * Functions
-   glProgramParameteri,
-   glFramebufferTexture,
-   glFramebufferTextureFace,
-   -- * Tokens
-   gl_GEOMETRY_SHADER,
-   gl_GEOMETRY_VERTICES_OUT,
-   gl_GEOMETRY_INPUT_TYPE,
-   gl_GEOMETRY_OUTPUT_TYPE,
-   gl_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS,
-   gl_MAX_GEOMETRY_VARYING_COMPONENTS,
-   gl_MAX_VERTEX_VARYING_COMPONENTS,
-   gl_MAX_GEOMETRY_UNIFORM_COMPONENTS,
-   gl_MAX_GEOMETRY_OUTPUT_VERTICES,
-   gl_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS,
-   gl_LINES_ADJACENCY,
-   gl_LINE_STRIP_ADJACENCY,
-   gl_TRIANGLES_ADJACENCY,
-   gl_TRIANGLE_STRIP_ADJACENCY,
-   gl_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS,
-   gl_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT,
-   gl_FRAMEBUFFER_ATTACHMENT_LAYERED,
-   gl_PROGRAM_POINT_SIZE
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ARB.GeometryShader4
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.GeometryShader4
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the EXT_geometry_shader4 extension, see
+-- <http://www.opengl.org/registry/specs/EXT/geometry_shader4.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.GeometryShader4 (
+   -- * Functions
+   glProgramParameteri,
+   glFramebufferTexture,
+   glFramebufferTextureFace,
+   -- * Tokens
+   gl_GEOMETRY_SHADER,
+   gl_GEOMETRY_VERTICES_OUT,
+   gl_GEOMETRY_INPUT_TYPE,
+   gl_GEOMETRY_OUTPUT_TYPE,
+   gl_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS,
+   gl_MAX_GEOMETRY_VARYING_COMPONENTS,
+   gl_MAX_VERTEX_VARYING_COMPONENTS,
+   gl_MAX_GEOMETRY_UNIFORM_COMPONENTS,
+   gl_MAX_GEOMETRY_OUTPUT_VERTICES,
+   gl_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS,
+   gl_LINES_ADJACENCY,
+   gl_LINE_STRIP_ADJACENCY,
+   gl_TRIANGLES_ADJACENCY,
+   gl_TRIANGLE_STRIP_ADJACENCY,
+   gl_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS,
+   gl_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT,
+   gl_FRAMEBUFFER_ATTACHMENT_LAYERED,
+   gl_PROGRAM_POINT_SIZE
+) where
+
+import Graphics.Rendering.OpenGL.Raw.ARB.GeometryShader4
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,35 +0,0 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.GpuProgramParameters
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the EXT_gpu_program_parameters extension
--- not already in the OpenGL 3.1 core, see
--- <http://www.opengl.org/registry/specs/EXT/gpu_program_parameters.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.GpuProgramParameters (
-   -- * Functions
-   glProgramEnvParameters4fv,
-   glProgramLocalParameters4fv
-) where
-
-import Foreign.Ptr
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_EXT_program_parameters"
-
-EXTENSION_ENTRY(glProgramEnvParameters4fv,GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glProgramLocalParameters4fv,GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/Histogram.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/Histogram.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/Histogram.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/Histogram.hs
@@ -1,44 +1,44 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.Histogram
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the EXT_histogram extension, see
--- <http://www.opengl.org/registry/specs/EXT/histogram.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.Histogram (
-   -- * Functions
-   glHistogram,
-   glResetHistogram,
-   glGetHistogram,
-   glGetHistogramParameteriv,
-   glGetHistogramParameterfv,
-   glMinmax,
-   glResetMinmax,
-   glGetMinmax,
-   glGetMinmaxParameteriv,
-   glGetMinmaxParameterfv,
-   -- * Tokens
-   gl_HISTOGRAM,
-   gl_PROXY_HISTOGRAM,
-   gl_HISTOGRAM_WIDTH,
-   gl_HISTOGRAM_FORMAT,
-   gl_HISTOGRAM_RED_SIZE,
-   gl_HISTOGRAM_GREEN_SIZE,
-   gl_HISTOGRAM_BLUE_SIZE,
-   gl_HISTOGRAM_ALPHA_SIZE,
-   gl_HISTOGRAM_LUMINANCE_SIZE,
-   gl_HISTOGRAM_SINK,
-   gl_MINMAX,
-   gl_MINMAX_FORMAT,
-   gl_MINMAX_SINK
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.Histogram
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the EXT_histogram extension, see
+-- <http://www.opengl.org/registry/specs/EXT/histogram.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.Histogram (
+   -- * Functions
+   glHistogram,
+   glResetHistogram,
+   glGetHistogram,
+   glGetHistogramParameteriv,
+   glGetHistogramParameterfv,
+   glMinmax,
+   glResetMinmax,
+   glGetMinmax,
+   glGetMinmaxParameteriv,
+   glGetMinmaxParameterfv,
+   -- * Tokens
+   gl_HISTOGRAM,
+   gl_PROXY_HISTOGRAM,
+   gl_HISTOGRAM_WIDTH,
+   gl_HISTOGRAM_FORMAT,
+   gl_HISTOGRAM_RED_SIZE,
+   gl_HISTOGRAM_GREEN_SIZE,
+   gl_HISTOGRAM_BLUE_SIZE,
+   gl_HISTOGRAM_ALPHA_SIZE,
+   gl_HISTOGRAM_LUMINANCE_SIZE,
+   gl_HISTOGRAM_SINK,
+   gl_MINMAX,
+   gl_MINMAX_FORMAT,
+   gl_MINMAX_SINK
+) where
+
+import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/IndexArrayFormats.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/IndexArrayFormats.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/IndexArrayFormats.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/IndexArrayFormats.hs
@@ -1,52 +1,52 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.IndexArrayFormats
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All tokens from the EXT_index_array_formats extension, see
--- <http://www.opengl.org/registry/specs/EXT/index_array_formats.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.IndexArrayFormats (
-   -- * Tokens
-   gl_IUI_V2F,
-   gl_IUI_V3F,
-   gl_IUI_N3F_V2F,
-   gl_IUI_N3F_V3F,
-   gl_T2F_IUI_V2F,
-   gl_T2F_IUI_V3F,
-   gl_T2F_IUI_N3F_V2F,
-   gl_T2F_IUI_N3F_V3F
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core32
-
-gl_IUI_V2F :: GLenum
-gl_IUI_V2F = 0x81AD
-
-gl_IUI_V3F :: GLenum
-gl_IUI_V3F = 0x81AE
-
-gl_IUI_N3F_V2F :: GLenum
-gl_IUI_N3F_V2F = 0x81AF
-
-gl_IUI_N3F_V3F :: GLenum
-gl_IUI_N3F_V3F = 0x81B0
-
-gl_T2F_IUI_V2F :: GLenum
-gl_T2F_IUI_V2F = 0x81B1
-
-gl_T2F_IUI_V3F :: GLenum
-gl_T2F_IUI_V3F = 0x81B2
-
-gl_T2F_IUI_N3F_V2F :: GLenum
-gl_T2F_IUI_N3F_V2F = 0x81B3
-
-gl_T2F_IUI_N3F_V3F :: GLenum
-gl_T2F_IUI_N3F_V3F = 0x81B4
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.IndexArrayFormats
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All tokens from the EXT_index_array_formats extension, see
+-- <http://www.opengl.org/registry/specs/EXT/index_array_formats.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.IndexArrayFormats (
+   -- * Tokens
+   gl_IUI_V2F,
+   gl_IUI_V3F,
+   gl_IUI_N3F_V2F,
+   gl_IUI_N3F_V3F,
+   gl_T2F_IUI_V2F,
+   gl_T2F_IUI_V3F,
+   gl_T2F_IUI_N3F_V2F,
+   gl_T2F_IUI_N3F_V3F
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
+
+gl_IUI_V2F :: GLenum
+gl_IUI_V2F = 0x81AD
+
+gl_IUI_V3F :: GLenum
+gl_IUI_V3F = 0x81AE
+
+gl_IUI_N3F_V2F :: GLenum
+gl_IUI_N3F_V2F = 0x81AF
+
+gl_IUI_N3F_V3F :: GLenum
+gl_IUI_N3F_V3F = 0x81B0
+
+gl_T2F_IUI_V2F :: GLenum
+gl_T2F_IUI_V2F = 0x81B1
+
+gl_T2F_IUI_V3F :: GLenum
+gl_T2F_IUI_V3F = 0x81B2
+
+gl_T2F_IUI_N3F_V2F :: GLenum
+gl_T2F_IUI_N3F_V2F = 0x81B3
+
+gl_T2F_IUI_N3F_V3F :: GLenum
+gl_T2F_IUI_N3F_V3F = 0x81B4
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/IndexFunc.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/IndexFunc.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/IndexFunc.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/IndexFunc.hs
@@ -1,44 +1,44 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.IndexFunc
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the EXT_index_func extension, see
--- <http://www.opengl.org/registry/specs/EXT/index_func.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.IndexFunc (
-   -- * Functions
-   glIndexFunc,
-   -- * Tokens
-   gl_INDEX_TEST,
-   gl_INDEX_TEST_FUNC,
-   gl_INDEX_TEST_REF
-) where
-
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core32
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_EXT_index_func"
-
-EXTENSION_ENTRY(glIndexFunc,GLenum -> GLfloat -> IO ())
-
-gl_INDEX_TEST :: GLenum
-gl_INDEX_TEST = 0x81B5
-
-gl_INDEX_TEST_FUNC :: GLenum
-gl_INDEX_TEST_FUNC = 0x81B6
-
-gl_INDEX_TEST_REF :: GLenum
-gl_INDEX_TEST_REF = 0x81B7
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.IndexFunc
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the EXT_index_func extension, see
+-- <http://www.opengl.org/registry/specs/EXT/index_func.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.IndexFunc (
+   -- * Functions
+   glIndexFunc,
+   -- * Tokens
+   gl_INDEX_TEST,
+   gl_INDEX_TEST_FUNC,
+   gl_INDEX_TEST_REF
+) where
+
+import Foreign.C.Types
+import Graphics.Rendering.OpenGL.Raw.Core32
+import Graphics.Rendering.OpenGL.Raw.Extensions
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_EXT_index_func"
+
+EXTENSION_ENTRY(dyn_glIndexFunc,ptr_glIndexFunc,"glIndexFunc",glIndexFunc,GLenum -> GLfloat -> IO ())
+
+gl_INDEX_TEST :: GLenum
+gl_INDEX_TEST = 0x81B5
+
+gl_INDEX_TEST_FUNC :: GLenum
+gl_INDEX_TEST_FUNC = 0x81B6
+
+gl_INDEX_TEST_REF :: GLenum
+gl_INDEX_TEST_REF = 0x81B7
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/IndexMaterial.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/IndexMaterial.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/IndexMaterial.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/IndexMaterial.hs
@@ -1,44 +1,44 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.IndexMaterial
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the EXT_index_material extension, see
--- <http://www.opengl.org/registry/specs/EXT/index_material.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.IndexMaterial (
-   -- * Functions
-   glIndexMaterial,
-   -- * Tokens
-   gl_INDEX_MATERIAL,
-   gl_INDEX_MATERIAL_PARAMETER,
-   gl_INDEX_MATERIAL_FACE
-) where
-
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_EXT_index_material"
-
-EXTENSION_ENTRY(glIndexMaterial,GLenum -> GLenum -> IO ())
-
-gl_INDEX_MATERIAL :: GLenum
-gl_INDEX_MATERIAL = 0x81B8
-
-gl_INDEX_MATERIAL_PARAMETER :: GLenum
-gl_INDEX_MATERIAL_PARAMETER = 0x81B9
-
-gl_INDEX_MATERIAL_FACE :: GLenum
-gl_INDEX_MATERIAL_FACE = 0x81BA
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.IndexMaterial
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the EXT_index_material extension, see
+-- <http://www.opengl.org/registry/specs/EXT/index_material.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.IndexMaterial (
+   -- * Functions
+   glIndexMaterial,
+   -- * Tokens
+   gl_INDEX_MATERIAL,
+   gl_INDEX_MATERIAL_PARAMETER,
+   gl_INDEX_MATERIAL_FACE
+) where
+
+import Foreign.C.Types
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+import Graphics.Rendering.OpenGL.Raw.Extensions
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_EXT_index_material"
+
+EXTENSION_ENTRY(dyn_glIndexMaterial,ptr_glIndexMaterial,"glIndexMaterial",glIndexMaterial,GLenum -> GLenum -> IO ())
+
+gl_INDEX_MATERIAL :: GLenum
+gl_INDEX_MATERIAL = 0x81B8
+
+gl_INDEX_MATERIAL_PARAMETER :: GLenum
+gl_INDEX_MATERIAL_PARAMETER = 0x81B9
+
+gl_INDEX_MATERIAL_FACE :: GLenum
+gl_INDEX_MATERIAL_FACE = 0x81BA
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/LightTexture.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/LightTexture.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/LightTexture.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/LightTexture.hs
@@ -1,74 +1,74 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.LightTexture
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the EXT_light_texture extension, see
--- <http://www.opengl.org/registry/specs/EXT/light_texture.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.LightTexture (
-   -- * Functions
-   glApplyTexture,
-   glTextureLight,
-   glTextureMaterial,
-   -- * Tokens
-   gl_FRAGMENT_MATERIAL,
-   gl_FRAGMENT_NORMAL,
-   gl_FRAGMENT_DEPTH,
-   gl_FRAGMENT_COLOR,
-   gl_ATTENUATION,
-   gl_SHADOW_ATTENUATION,
-   gl_TEXTURE_APPLICATION_MODE,
-   gl_TEXTURE_LIGHT,
-   gl_TEXTURE_MATERIAL_FACE,
-   gl_TEXTURE_MATERIAL_PARAMETER
-) where
-
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
-import Graphics.Rendering.OpenGL.Raw.Core32
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_EXT_light_texture"
-
-EXTENSION_ENTRY(glApplyTexture,GLenum -> IO ())
-EXTENSION_ENTRY(glTextureLight,GLenum -> IO ())
-EXTENSION_ENTRY(glTextureMaterial,GLenum -> GLenum -> IO ())
-
-gl_FRAGMENT_MATERIAL :: GLenum
-gl_FRAGMENT_MATERIAL = 0x8349
-
-gl_FRAGMENT_NORMAL :: GLenum
-gl_FRAGMENT_NORMAL = 0x834A
-
-gl_FRAGMENT_COLOR :: GLenum
-gl_FRAGMENT_COLOR = 0x834C
-
-gl_ATTENUATION :: GLenum
-gl_ATTENUATION = 0x834D
-
-gl_SHADOW_ATTENUATION :: GLenum
-gl_SHADOW_ATTENUATION = 0x834E
-
-gl_TEXTURE_APPLICATION_MODE :: GLenum
-gl_TEXTURE_APPLICATION_MODE = 0x834F
-
-gl_TEXTURE_LIGHT :: GLenum
-gl_TEXTURE_LIGHT = 0x8350
-
-gl_TEXTURE_MATERIAL_FACE :: GLenum
-gl_TEXTURE_MATERIAL_FACE = 0x8351
-
-gl_TEXTURE_MATERIAL_PARAMETER :: GLenum
-gl_TEXTURE_MATERIAL_PARAMETER = 0x8352
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.LightTexture
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the EXT_light_texture extension, see
+-- <http://www.opengl.org/registry/specs/EXT/light_texture.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.LightTexture (
+   -- * Functions
+   glApplyTexture,
+   glTextureLight,
+   glTextureMaterial,
+   -- * Tokens
+   gl_FRAGMENT_MATERIAL,
+   gl_FRAGMENT_NORMAL,
+   gl_FRAGMENT_DEPTH,
+   gl_FRAGMENT_COLOR,
+   gl_ATTENUATION,
+   gl_SHADOW_ATTENUATION,
+   gl_TEXTURE_APPLICATION_MODE,
+   gl_TEXTURE_LIGHT,
+   gl_TEXTURE_MATERIAL_FACE,
+   gl_TEXTURE_MATERIAL_PARAMETER
+) where
+
+import Foreign.C.Types
+import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
+import Graphics.Rendering.OpenGL.Raw.Core32
+import Graphics.Rendering.OpenGL.Raw.Extensions
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_EXT_light_texture"
+
+EXTENSION_ENTRY(dyn_glApplyTexture,ptr_glApplyTexture,"glApplyTexture",glApplyTexture,GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glTextureLight,ptr_glTextureLight,"glTextureLight",glTextureLight,GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glTextureMaterial,ptr_glTextureMaterial,"glTextureMaterial",glTextureMaterial,GLenum -> GLenum -> IO ())
+
+gl_FRAGMENT_MATERIAL :: GLenum
+gl_FRAGMENT_MATERIAL = 0x8349
+
+gl_FRAGMENT_NORMAL :: GLenum
+gl_FRAGMENT_NORMAL = 0x834A
+
+gl_FRAGMENT_COLOR :: GLenum
+gl_FRAGMENT_COLOR = 0x834C
+
+gl_ATTENUATION :: GLenum
+gl_ATTENUATION = 0x834D
+
+gl_SHADOW_ATTENUATION :: GLenum
+gl_SHADOW_ATTENUATION = 0x834E
+
+gl_TEXTURE_APPLICATION_MODE :: GLenum
+gl_TEXTURE_APPLICATION_MODE = 0x834F
+
+gl_TEXTURE_LIGHT :: GLenum
+gl_TEXTURE_LIGHT = 0x8350
+
+gl_TEXTURE_MATERIAL_FACE :: GLenum
+gl_TEXTURE_MATERIAL_FACE = 0x8351
+
+gl_TEXTURE_MATERIAL_PARAMETER :: GLenum
+gl_TEXTURE_MATERIAL_PARAMETER = 0x8352
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/MultiDrawArrays.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/MultiDrawArrays.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/MultiDrawArrays.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/MultiDrawArrays.hs
@@ -1,22 +1,22 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.MultiDrawArrays
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the EXT_multi_draw_arrays extension, see
--- <http://www.opengl.org/registry/specs/EXT/multi_draw_arrays.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.MultiDrawArrays (
-   -- * Functions
-   glMultiDrawArrays,
-   glMultiDrawElements
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core32
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.MultiDrawArrays
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the EXT_multi_draw_arrays extension, see
+-- <http://www.opengl.org/registry/specs/EXT/multi_draw_arrays.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.MultiDrawArrays (
+   -- * Functions
+   glMultiDrawArrays,
+   glMultiDrawElements
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/Multisample.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/Multisample.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/Multisample.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/Multisample.hs
@@ -1,91 +1,91 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.Multisample
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the EXT_multisample extension, see
--- <http://www.opengl.org/registry/specs/EXT/multisample.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.Multisample (
-   -- * Functions
-   glSampleMask,
-   glSamplePattern,
-   -- * Tokens
-   gl_MULTISAMPLE,
-   gl_SAMPLE_ALPHA_TO_MASK,
-   gl_SAMPLE_ALPHA_TO_ONE,
-   gl_SAMPLE_MASK_EXT,
-   gl_MULTISAMPLE_BIT,
-   gl_1PASS,
-   gl_2PASS_0,
-   gl_2PASS_1,
-   gl_4PASS_0,
-   gl_4PASS_1,
-   gl_4PASS_2,
-   gl_4PASS_3,
-   gl_SAMPLE_BUFFERS,
-   gl_SAMPLES,
-   gl_SAMPLE_MASK_VALUE_EXT,
-   gl_SAMPLE_MASK_INVERT,
-   gl_SAMPLE_PATTERN
-) where
-
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
-import Graphics.Rendering.OpenGL.Raw.Core32
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_EXT_multisample"
-
-EXTENSION_ENTRY(glSampleMask,GLclampf -> GLboolean -> IO ())
-EXTENSION_ENTRY(glSamplePattern,GLenum -> IO ())
-
-gl_SAMPLE_ALPHA_TO_MASK :: GLenum
-gl_SAMPLE_ALPHA_TO_MASK = 0x809E
-
--- | Note: We use the EXT suffix here, because the name clashes with the ARB_texture_multisample extension.
-gl_SAMPLE_MASK_EXT :: GLenum
-gl_SAMPLE_MASK_EXT = 0x80A0
-
-gl_1PASS :: GLenum
-gl_1PASS = 0x80A1
-
-gl_2PASS_0 :: GLenum
-gl_2PASS_0 = 0x80A2
-
-gl_2PASS_1 :: GLenum
-gl_2PASS_1 = 0x80A3
-
-gl_4PASS_0 :: GLenum
-gl_4PASS_0 = 0x80A4
-
-gl_4PASS_1 :: GLenum
-gl_4PASS_1 = 0x80A5
-
-gl_4PASS_2 :: GLenum
-gl_4PASS_2 = 0x80A6
-
-gl_4PASS_3 :: GLenum
-gl_4PASS_3 = 0x80A7
-
--- | Note: We use the EXT suffix here, because the name clashes with the ARB_texture_multisample extension.
-gl_SAMPLE_MASK_VALUE_EXT :: GLenum
-gl_SAMPLE_MASK_VALUE_EXT = 0x80AA
-
-gl_SAMPLE_MASK_INVERT :: GLenum
-gl_SAMPLE_MASK_INVERT = 0x80AB
-
-gl_SAMPLE_PATTERN :: GLenum
-gl_SAMPLE_PATTERN = 0x80AC
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.Multisample
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the EXT_multisample extension, see
+-- <http://www.opengl.org/registry/specs/EXT/multisample.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.Multisample (
+   -- * Functions
+   glSampleMask,
+   glSamplePattern,
+   -- * Tokens
+   gl_MULTISAMPLE,
+   gl_SAMPLE_ALPHA_TO_MASK,
+   gl_SAMPLE_ALPHA_TO_ONE,
+   gl_SAMPLE_MASK_EXT,
+   gl_MULTISAMPLE_BIT,
+   gl_1PASS,
+   gl_2PASS_0,
+   gl_2PASS_1,
+   gl_4PASS_0,
+   gl_4PASS_1,
+   gl_4PASS_2,
+   gl_4PASS_3,
+   gl_SAMPLE_BUFFERS,
+   gl_SAMPLES,
+   gl_SAMPLE_MASK_VALUE_EXT,
+   gl_SAMPLE_MASK_INVERT,
+   gl_SAMPLE_PATTERN
+) where
+
+import Foreign.C.Types
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
+import Graphics.Rendering.OpenGL.Raw.Core32
+import Graphics.Rendering.OpenGL.Raw.Extensions
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_EXT_multisample"
+
+EXTENSION_ENTRY(dyn_glSampleMask,ptr_glSampleMask,"glSampleMask",glSampleMask,GLclampf -> GLboolean -> IO ())
+EXTENSION_ENTRY(dyn_glSamplePattern,ptr_glSamplePattern,"glSamplePattern",glSamplePattern,GLenum -> IO ())
+
+gl_SAMPLE_ALPHA_TO_MASK :: GLenum
+gl_SAMPLE_ALPHA_TO_MASK = 0x809E
+
+-- | Note: We use the EXT suffix here, because the name clashes with the ARB_texture_multisample extension.
+gl_SAMPLE_MASK_EXT :: GLenum
+gl_SAMPLE_MASK_EXT = 0x80A0
+
+gl_1PASS :: GLenum
+gl_1PASS = 0x80A1
+
+gl_2PASS_0 :: GLenum
+gl_2PASS_0 = 0x80A2
+
+gl_2PASS_1 :: GLenum
+gl_2PASS_1 = 0x80A3
+
+gl_4PASS_0 :: GLenum
+gl_4PASS_0 = 0x80A4
+
+gl_4PASS_1 :: GLenum
+gl_4PASS_1 = 0x80A5
+
+gl_4PASS_2 :: GLenum
+gl_4PASS_2 = 0x80A6
+
+gl_4PASS_3 :: GLenum
+gl_4PASS_3 = 0x80A7
+
+-- | Note: We use the EXT suffix here, because the name clashes with the ARB_texture_multisample extension.
+gl_SAMPLE_MASK_VALUE_EXT :: GLenum
+gl_SAMPLE_MASK_VALUE_EXT = 0x80AA
+
+gl_SAMPLE_MASK_INVERT :: GLenum
+gl_SAMPLE_MASK_INVERT = 0x80AB
+
+gl_SAMPLE_PATTERN :: GLenum
+gl_SAMPLE_PATTERN = 0x80AC
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/PackedDepthStencil.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/PackedDepthStencil.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/PackedDepthStencil.hs
@@ -0,0 +1,24 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.PackedDepthStencil
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the EXT_packed_depth_stencil extension, see
+-- <http://www.opengl.org/registry/specs/EXT/packed_depth_stencil.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.PackedDepthStencil (
+   -- * Tokens
+   gl_DEPTH_STENCIL,
+   gl_UNSIGNED_INT_24_8,
+   gl_DEPTH24_STENCIL8,
+   gl_TEXTURE_STENCIL_SIZE
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core31.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/PackedFloat.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/PackedFloat.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/PackedFloat.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/PackedFloat.hs
@@ -1,25 +1,25 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.PackedFloat
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the EXT_packed_float extension not already
--- in the OpenGL 3.1 core, see
--- <http://www.opengl.org/registry/specs/EXT/packed_float.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.PackedFloat (
-   -- * Tokens
-   gl_RGBA_SIGNED_COMPONENTS
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core32
-
-gl_RGBA_SIGNED_COMPONENTS :: GLenum
-gl_RGBA_SIGNED_COMPONENTS = 0x8C3C
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.PackedFloat
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the EXT_packed_float extension not already
+-- in the OpenGL 3.1 core, see
+-- <http://www.opengl.org/registry/specs/EXT/packed_float.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.PackedFloat (
+   -- * Tokens
+   gl_RGBA_SIGNED_COMPONENTS
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
+
+gl_RGBA_SIGNED_COMPONENTS :: GLenum
+gl_RGBA_SIGNED_COMPONENTS = 0x8C3C
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/PackedPixels.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/PackedPixels.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/PackedPixels.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/PackedPixels.hs
@@ -1,25 +1,25 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.PackedPixels
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All tokens from the EXT_packed_pixel extension, see
--- <http://www.opengl.org/registry/specs/EXT/packed_pixel.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.PackedPixels (
-   -- * Tokens
-   gl_UNSIGNED_BYTE_3_3_2,
-   gl_UNSIGNED_SHORT_4_4_4_4,
-   gl_UNSIGNED_SHORT_5_5_5_1,
-   gl_UNSIGNED_INT_8_8_8_8,
-   gl_UNSIGNED_INT_10_10_10_2
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core32
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.PackedPixels
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All tokens from the EXT_packed_pixel extension, see
+-- <http://www.opengl.org/registry/specs/EXT/packed_pixel.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.PackedPixels (
+   -- * Tokens
+   gl_UNSIGNED_BYTE_3_3_2,
+   gl_UNSIGNED_SHORT_4_4_4_4,
+   gl_UNSIGNED_SHORT_5_5_5_1,
+   gl_UNSIGNED_INT_8_8_8_8,
+   gl_UNSIGNED_INT_10_10_10_2
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/PalettedTexture.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/PalettedTexture.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/PalettedTexture.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/PalettedTexture.hs
@@ -1,71 +1,71 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.PalettedTexture
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the EXT_paletted_texture extension, see
--- <http://www.opengl.org/registry/specs/EXT/paletted_texture.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.PalettedTexture (
-   -- * Functions
-   glColorTable,
-   glColorSubTable,
-   glGetColorTable,
-   glGetColorTableParameteriv,
-   glGetColorTableParameterfv,
-   -- * Tokens
-   gl_COLOR_INDEX1,
-   gl_COLOR_INDEX2,
-   gl_COLOR_INDEX4,
-   gl_COLOR_INDEX8,
-   gl_COLOR_INDEX12,
-   gl_COLOR_INDEX16,
-   gl_COLOR_TABLE_FORMAT,
-   gl_COLOR_TABLE_WIDTH,
-   gl_COLOR_TABLE_RED_SIZE,
-   gl_COLOR_TABLE_GREEN_SIZE,
-   gl_COLOR_TABLE_BLUE_SIZE,
-   gl_COLOR_TABLE_ALPHA_SIZE,
-   gl_COLOR_TABLE_LUMINANCE_SIZE,
-   gl_COLOR_TABLE_INTENSITY_SIZE,
-   gl_TEXTURE_INDEX_SIZE,
-   gl_TEXTURE_1D,
-   gl_TEXTURE_2D,
-   gl_TEXTURE_3D,
-   gl_TEXTURE_CUBE_MAP,
-   gl_PROXY_TEXTURE_1D,
-   gl_PROXY_TEXTURE_2D,
-   gl_PROXY_TEXTURE_3D,
-   gl_PROXY_TEXTURE_CUBE_MAP
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
-import Graphics.Rendering.OpenGL.Raw.Core32
-
-gl_COLOR_INDEX1 :: GLenum
-gl_COLOR_INDEX1 = 0x80E2
-
-gl_COLOR_INDEX2 :: GLenum
-gl_COLOR_INDEX2 = 0x80E3
-
-gl_COLOR_INDEX4 :: GLenum
-gl_COLOR_INDEX4 = 0x80E4
-
-gl_COLOR_INDEX8 :: GLenum
-gl_COLOR_INDEX8 = 0x80E5
-
-gl_COLOR_INDEX12 :: GLenum
-gl_COLOR_INDEX12 = 0x80E6
-
-gl_COLOR_INDEX16 :: GLenum
-gl_COLOR_INDEX16 = 0x80E7
-
-gl_TEXTURE_INDEX_SIZE :: GLenum
-gl_TEXTURE_INDEX_SIZE = 0x80ED
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.PalettedTexture
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the EXT_paletted_texture extension, see
+-- <http://www.opengl.org/registry/specs/EXT/paletted_texture.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.PalettedTexture (
+   -- * Functions
+   glColorTable,
+   glColorSubTable,
+   glGetColorTable,
+   glGetColorTableParameteriv,
+   glGetColorTableParameterfv,
+   -- * Tokens
+   gl_COLOR_INDEX1,
+   gl_COLOR_INDEX2,
+   gl_COLOR_INDEX4,
+   gl_COLOR_INDEX8,
+   gl_COLOR_INDEX12,
+   gl_COLOR_INDEX16,
+   gl_COLOR_TABLE_FORMAT,
+   gl_COLOR_TABLE_WIDTH,
+   gl_COLOR_TABLE_RED_SIZE,
+   gl_COLOR_TABLE_GREEN_SIZE,
+   gl_COLOR_TABLE_BLUE_SIZE,
+   gl_COLOR_TABLE_ALPHA_SIZE,
+   gl_COLOR_TABLE_LUMINANCE_SIZE,
+   gl_COLOR_TABLE_INTENSITY_SIZE,
+   gl_TEXTURE_INDEX_SIZE,
+   gl_TEXTURE_1D,
+   gl_TEXTURE_2D,
+   gl_TEXTURE_3D,
+   gl_TEXTURE_CUBE_MAP,
+   gl_PROXY_TEXTURE_1D,
+   gl_PROXY_TEXTURE_2D,
+   gl_PROXY_TEXTURE_3D,
+   gl_PROXY_TEXTURE_CUBE_MAP
+) where
+
+import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
+import Graphics.Rendering.OpenGL.Raw.Core32
+
+gl_COLOR_INDEX1 :: GLenum
+gl_COLOR_INDEX1 = 0x80E2
+
+gl_COLOR_INDEX2 :: GLenum
+gl_COLOR_INDEX2 = 0x80E3
+
+gl_COLOR_INDEX4 :: GLenum
+gl_COLOR_INDEX4 = 0x80E4
+
+gl_COLOR_INDEX8 :: GLenum
+gl_COLOR_INDEX8 = 0x80E5
+
+gl_COLOR_INDEX12 :: GLenum
+gl_COLOR_INDEX12 = 0x80E6
+
+gl_COLOR_INDEX16 :: GLenum
+gl_COLOR_INDEX16 = 0x80E7
+
+gl_TEXTURE_INDEX_SIZE :: GLenum
+gl_TEXTURE_INDEX_SIZE = 0x80ED
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/PixelTransform.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/PixelTransform.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/PixelTransform.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/PixelTransform.hs
@@ -1,79 +1,79 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.PixelTransform
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the EXT_pixel_transform extension, see
--- <http://www.opengl.org/registry/specs/EXT/pixel_transform.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.PixelTransform (
-   -- * Functions
-   glPixelTransformParameteri,
-   glPixelTransformParameterf,
-   glPixelTransformParameteriv,
-   glPixelTransformParameterfv,
-   glGetPixelTransformParameteriv,
-   glGetPixelTransformParameterfv,
-   -- * Tokens
-   gl_PIXEL_MAG_FILTER,
-   gl_PIXEL_MIN_FILTER,
-   gl_PIXEL_CUBIC_WEIGHT,
-   gl_CUBIC,
-   gl_AVERAGE,
-   gl_PIXEL_TRANSFORM_2D,
-   gl_PIXEL_TRANSFORM_2D_STACK_DEPTH,
-   gl_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH,
-   gl_PIXEL_TRANSFORM_2D_MATRIX
-) where
-
-import Foreign.Ptr
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core32
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_EXT_pixel_transform"
-
-EXTENSION_ENTRY(glPixelTransformParameteri,GLenum -> GLenum -> GLint -> IO ())
-EXTENSION_ENTRY(glPixelTransformParameterf,GLenum -> GLenum -> GLfloat -> IO ())
-EXTENSION_ENTRY(glPixelTransformParameteriv,GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glPixelTransformParameterfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glGetPixelTransformParameteriv,GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glGetPixelTransformParameterfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
-
-gl_PIXEL_MAG_FILTER :: GLenum
-gl_PIXEL_MAG_FILTER = 0x8331
-
-gl_PIXEL_MIN_FILTER :: GLenum
-gl_PIXEL_MIN_FILTER = 0x8332
-
-gl_PIXEL_CUBIC_WEIGHT :: GLenum
-gl_PIXEL_CUBIC_WEIGHT = 0x8333
-
-gl_CUBIC :: GLenum
-gl_CUBIC = 0x8334
-
-gl_AVERAGE :: GLenum
-gl_AVERAGE = 0x8335
-
-gl_PIXEL_TRANSFORM_2D :: GLenum
-gl_PIXEL_TRANSFORM_2D = 0x8330
-
-gl_PIXEL_TRANSFORM_2D_STACK_DEPTH :: GLenum
-gl_PIXEL_TRANSFORM_2D_STACK_DEPTH = 0x8336
-
-gl_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH :: GLenum
-gl_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH = 0x8337
-
-gl_PIXEL_TRANSFORM_2D_MATRIX :: GLenum
-gl_PIXEL_TRANSFORM_2D_MATRIX = 0x8338
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.PixelTransform
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the EXT_pixel_transform extension, see
+-- <http://www.opengl.org/registry/specs/EXT/pixel_transform.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.PixelTransform (
+   -- * Functions
+   glPixelTransformParameteri,
+   glPixelTransformParameterf,
+   glPixelTransformParameteriv,
+   glPixelTransformParameterfv,
+   glGetPixelTransformParameteriv,
+   glGetPixelTransformParameterfv,
+   -- * Tokens
+   gl_PIXEL_MAG_FILTER,
+   gl_PIXEL_MIN_FILTER,
+   gl_PIXEL_CUBIC_WEIGHT,
+   gl_CUBIC,
+   gl_AVERAGE,
+   gl_PIXEL_TRANSFORM_2D,
+   gl_PIXEL_TRANSFORM_2D_STACK_DEPTH,
+   gl_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH,
+   gl_PIXEL_TRANSFORM_2D_MATRIX
+) where
+
+import Foreign.Ptr
+import Foreign.C.Types
+import Graphics.Rendering.OpenGL.Raw.Core32
+import Graphics.Rendering.OpenGL.Raw.Extensions
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_EXT_pixel_transform"
+
+EXTENSION_ENTRY(dyn_glPixelTransformParameteri,ptr_glPixelTransformParameteri,"glPixelTransformParameteri",glPixelTransformParameteri,GLenum -> GLenum -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glPixelTransformParameterf,ptr_glPixelTransformParameterf,"glPixelTransformParameterf",glPixelTransformParameterf,GLenum -> GLenum -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glPixelTransformParameteriv,ptr_glPixelTransformParameteriv,"glPixelTransformParameteriv",glPixelTransformParameteriv,GLenum -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glPixelTransformParameterfv,ptr_glPixelTransformParameterfv,"glPixelTransformParameterfv",glPixelTransformParameterfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glGetPixelTransformParameteriv,ptr_glGetPixelTransformParameteriv,"glGetPixelTransformParameteriv",glGetPixelTransformParameteriv,GLenum -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glGetPixelTransformParameterfv,ptr_glGetPixelTransformParameterfv,"glGetPixelTransformParameterfv",glGetPixelTransformParameterfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
+
+gl_PIXEL_MAG_FILTER :: GLenum
+gl_PIXEL_MAG_FILTER = 0x8331
+
+gl_PIXEL_MIN_FILTER :: GLenum
+gl_PIXEL_MIN_FILTER = 0x8332
+
+gl_PIXEL_CUBIC_WEIGHT :: GLenum
+gl_PIXEL_CUBIC_WEIGHT = 0x8333
+
+gl_CUBIC :: GLenum
+gl_CUBIC = 0x8334
+
+gl_AVERAGE :: GLenum
+gl_AVERAGE = 0x8335
+
+gl_PIXEL_TRANSFORM_2D :: GLenum
+gl_PIXEL_TRANSFORM_2D = 0x8330
+
+gl_PIXEL_TRANSFORM_2D_STACK_DEPTH :: GLenum
+gl_PIXEL_TRANSFORM_2D_STACK_DEPTH = 0x8336
+
+gl_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH :: GLenum
+gl_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH = 0x8337
+
+gl_PIXEL_TRANSFORM_2D_MATRIX :: GLenum
+gl_PIXEL_TRANSFORM_2D_MATRIX = 0x8338
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/PointParameters.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/PointParameters.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/PointParameters.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/PointParameters.hs
@@ -1,31 +1,31 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.PointParameters
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the EXT_point_parameters extension, see
--- <http://www.opengl.org/registry/specs/EXT/point_parameters.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.PointParameters (
-   -- * Functions
-   glPointParameterf,
-   glPointParameterfv,
-   -- * Tokens
-   gl_POINT_SIZE_MIN,
-   gl_POINT_SIZE_MAX,
-   gl_POINT_FADE_THRESHOLD_SIZE,
-   gl_DISTANCE_ATTENUATION
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
-import Graphics.Rendering.OpenGL.Raw.Core32
-
-gl_DISTANCE_ATTENUATION :: GLenum
-gl_DISTANCE_ATTENUATION = gl_POINT_DISTANCE_ATTENUATION
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.PointParameters
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the EXT_point_parameters extension, see
+-- <http://www.opengl.org/registry/specs/EXT/point_parameters.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.PointParameters (
+   -- * Functions
+   glPointParameterf,
+   glPointParameterfv,
+   -- * Tokens
+   gl_POINT_SIZE_MIN,
+   gl_POINT_SIZE_MAX,
+   gl_POINT_FADE_THRESHOLD_SIZE,
+   gl_DISTANCE_ATTENUATION
+) where
+
+import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
+import Graphics.Rendering.OpenGL.Raw.Core32
+
+gl_DISTANCE_ATTENUATION :: GLenum
+gl_DISTANCE_ATTENUATION = gl_POINT_DISTANCE_ATTENUATION
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/PolygonOffset.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/PolygonOffset.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/PolygonOffset.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/PolygonOffset.hs
@@ -1,26 +1,26 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.PolygonOffset
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the EXT_polygon_offset extension, see
---  <http://www.opengl.org/registry/specs/EXT/polygon_offset.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.PolygonOffset (
-   -- * Functions
-   glPolygonOffset,
-   -- * Tokens
-   gl_POLYGON_OFFSET_BIAS
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core32
-
-gl_POLYGON_OFFSET_BIAS :: GLenum
-gl_POLYGON_OFFSET_BIAS = 0x8039
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.PolygonOffset
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the EXT_polygon_offset extension, see
+--  <http://www.opengl.org/registry/specs/EXT/polygon_offset.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.PolygonOffset (
+   -- * Functions
+   glPolygonOffset,
+   -- * Tokens
+   gl_POLYGON_OFFSET_BIAS
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
+
+gl_POLYGON_OFFSET_BIAS :: GLenum
+gl_POLYGON_OFFSET_BIAS = 0x8039
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/ProvokingVertex.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/ProvokingVertex.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/ProvokingVertex.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/ProvokingVertex.hs
@@ -1,26 +1,26 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.ProvokingVertex
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the EXT_provoking_vertex, see
--- <http://www.opengl.org/registry/specs/EXT/EXT_provoking_vertex.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.ProvokingVertex (
-   -- * Functions
-   glProvokingVertex,
-   -- * Tokens
-   gl_FIRST_VERTEX_CONVENTION,
-   gl_LAST_VERTEX_CONVENTION,
-   gl_PROVOKING_VERTEX,
-   gl_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ARB.ProvokingVertex
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.ProvokingVertex
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the EXT_provoking_vertex, see
+-- <http://www.opengl.org/registry/specs/EXT/EXT_provoking_vertex.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.ProvokingVertex (
+   -- * Functions
+   glProvokingVertex,
+   -- * Tokens
+   gl_FIRST_VERTEX_CONVENTION,
+   gl_LAST_VERTEX_CONVENTION,
+   gl_PROVOKING_VERTEX,
+   gl_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION
+) where
+
+import Graphics.Rendering.OpenGL.Raw.ARB.ProvokingVertex
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/RescaleNormal.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/RescaleNormal.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/RescaleNormal.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/RescaleNormal.hs
@@ -1,21 +1,21 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.RescaleNormal
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All tokens from the EXT_rescale_normal extension, see
--- <http://www.opengl.org/registry/specs/EXT/rescale_normal.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.RescaleNormal (
-   -- * Tokens
-   gl_RESCALE_NORMAL
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.RescaleNormal
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All tokens from the EXT_rescale_normal extension, see
+-- <http://www.opengl.org/registry/specs/EXT/rescale_normal.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.RescaleNormal (
+   -- * Tokens
+   gl_RESCALE_NORMAL
+) where
+
+import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/SceneMarker.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/SceneMarker.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/SceneMarker.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/SceneMarker.hs
@@ -1,31 +1,31 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.SceneMarker
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions from the EXT_scene_marker extension, see
--- <http://www.opengl.org/registry/specs/EXT/scene_marker.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.SceneMarker (
-   -- * Functions
-   glBeginScene,
-   glEndScene
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_EXT_scene_marker"
-
-EXTENSION_ENTRY(glBeginScene,IO ())
-EXTENSION_ENTRY(glEndScene,IO ())
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.SceneMarker
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions from the EXT_scene_marker extension, see
+-- <http://www.opengl.org/registry/specs/EXT/scene_marker.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.SceneMarker (
+   -- * Functions
+   glBeginScene,
+   glEndScene
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Extensions
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_EXT_scene_marker"
+
+EXTENSION_ENTRY(dyn_glBeginScene,ptr_glBeginScene,"glBeginScene",glBeginScene,IO ())
+EXTENSION_ENTRY(dyn_glEndScene,ptr_glEndScene,"glEndScene",glEndScene,IO ())
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/SecondaryColor.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/SecondaryColor.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/SecondaryColor.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/SecondaryColor.hs
@@ -1,45 +1,45 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.SecondaryColor
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the EXT_secondary_color extension, see
--- <http://www.opengl.org/registry/specs/EXT/secondary_color.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.SecondaryColor (
-   -- * Functions
-   glSecondaryColor3b,
-   glSecondaryColor3s,
-   glSecondaryColor3i,
-   glSecondaryColor3f,
-   glSecondaryColor3d,
-   glSecondaryColor3ub,
-   glSecondaryColor3us,
-   glSecondaryColor3ui,
-   glSecondaryColor3bv,
-   glSecondaryColor3sv,
-   glSecondaryColor3iv,
-   glSecondaryColor3fv,
-   glSecondaryColor3dv,
-   glSecondaryColor3ubv,
-   glSecondaryColor3usv,
-   glSecondaryColor3uiv,
-   glSecondaryColorPointer,
-   -- * Tokens
-   gl_COLOR_SUM,
-   gl_CURRENT_SECONDARY_COLOR,
-   gl_SECONDARY_COLOR_ARRAY_SIZE,
-   gl_SECONDARY_COLOR_ARRAY_TYPE,
-   gl_SECONDARY_COLOR_ARRAY_STRIDE,
-   gl_SECONDARY_COLOR_ARRAY_POINTER,
-   gl_SECONDARY_COLOR_ARRAY
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.SecondaryColor
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the EXT_secondary_color extension, see
+-- <http://www.opengl.org/registry/specs/EXT/secondary_color.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.SecondaryColor (
+   -- * Functions
+   glSecondaryColor3b,
+   glSecondaryColor3s,
+   glSecondaryColor3i,
+   glSecondaryColor3f,
+   glSecondaryColor3d,
+   glSecondaryColor3ub,
+   glSecondaryColor3us,
+   glSecondaryColor3ui,
+   glSecondaryColor3bv,
+   glSecondaryColor3sv,
+   glSecondaryColor3iv,
+   glSecondaryColor3fv,
+   glSecondaryColor3dv,
+   glSecondaryColor3ubv,
+   glSecondaryColor3usv,
+   glSecondaryColor3uiv,
+   glSecondaryColorPointer,
+   -- * Tokens
+   gl_COLOR_SUM,
+   gl_CURRENT_SECONDARY_COLOR,
+   gl_SECONDARY_COLOR_ARRAY_SIZE,
+   gl_SECONDARY_COLOR_ARRAY_TYPE,
+   gl_SECONDARY_COLOR_ARRAY_STRIDE,
+   gl_SECONDARY_COLOR_ARRAY_POINTER,
+   gl_SECONDARY_COLOR_ARRAY
+) where
+
+import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/SeparateSpecularColor.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/SeparateSpecularColor.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/SeparateSpecularColor.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/SeparateSpecularColor.hs
@@ -1,23 +1,23 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.SeparateSpecularColor
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All tokens from the EXT_separate_specular_color extension, see
--- <http://www.opengl.org/registry/specs/EXT/separate_specular_color.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.SeparateSpecularColor (
-   -- * Tokens
-   gl_LIGHT_MODEL_COLOR_CONTROL,
-   gl_SINGLE_COLOR,
-   gl_SEPARATE_SPECULAR_COLOR
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.SeparateSpecularColor
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All tokens from the EXT_separate_specular_color extension, see
+-- <http://www.opengl.org/registry/specs/EXT/separate_specular_color.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.SeparateSpecularColor (
+   -- * Tokens
+   gl_LIGHT_MODEL_COLOR_CONTROL,
+   gl_SINGLE_COLOR,
+   gl_SEPARATE_SPECULAR_COLOR
+) where
+
+import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/SharedTexturePalette.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/SharedTexturePalette.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/SharedTexturePalette.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/SharedTexturePalette.hs
@@ -1,24 +1,24 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.SharedTexturePalette
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All tokens from the EXT_shared_texture_palette extension, see
--- <http://www.opengl.org/registry/specs/EXT/shared_texture_palette.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.SharedTexturePalette (
-   -- * Tokens
-   gl_SHARED_TEXTURE_PALETTE
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core32
-
-gl_SHARED_TEXTURE_PALETTE :: GLenum
-gl_SHARED_TEXTURE_PALETTE = 0x81FB
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.SharedTexturePalette
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All tokens from the EXT_shared_texture_palette extension, see
+-- <http://www.opengl.org/registry/specs/EXT/shared_texture_palette.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.SharedTexturePalette (
+   -- * Tokens
+   gl_SHARED_TEXTURE_PALETTE
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
+
+gl_SHARED_TEXTURE_PALETTE :: GLenum
+gl_SHARED_TEXTURE_PALETTE = 0x81FB
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/StencilClearTag.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/StencilClearTag.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/StencilClearTag.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/StencilClearTag.hs
@@ -1,41 +1,41 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.StencilClearTag
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the EXT_stencil_clear_tag extension not
--- already in the OpenGL 3.1 core, see
--- <http://www.opengl.org/registry/specs/EXT/stencil_clear_tag.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.StencilClearTag (
-   -- * Functions
-   glStencilClearTag,
-   -- * Tokens
-   gl_STENCIL_TAG_BITS,
-   gl_STENCIL_CLEAR_TAG_VALUE
-) where
-
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_EXT_stencil_clear_tag"
-
-EXTENSION_ENTRY(glStencilClearTag,GLsizei -> GLuint -> IO ())
-
-gl_STENCIL_TAG_BITS :: GLenum
-gl_STENCIL_TAG_BITS = 0x88F2
-
-gl_STENCIL_CLEAR_TAG_VALUE :: GLenum
-gl_STENCIL_CLEAR_TAG_VALUE = 0x88F3
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.StencilClearTag
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the EXT_stencil_clear_tag extension not
+-- already in the OpenGL 3.1 core, see
+-- <http://www.opengl.org/registry/specs/EXT/stencil_clear_tag.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.StencilClearTag (
+   -- * Functions
+   glStencilClearTag,
+   -- * Tokens
+   gl_STENCIL_TAG_BITS,
+   gl_STENCIL_CLEAR_TAG_VALUE
+) where
+
+import Foreign.C.Types
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+import Graphics.Rendering.OpenGL.Raw.Extensions
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_EXT_stencil_clear_tag"
+
+EXTENSION_ENTRY(dyn_glStencilClearTag,ptr_glStencilClearTag,"glStencilClearTag",glStencilClearTag,GLsizei -> GLuint -> IO ())
+
+gl_STENCIL_TAG_BITS :: GLenum
+gl_STENCIL_TAG_BITS = 0x88F2
+
+gl_STENCIL_CLEAR_TAG_VALUE :: GLenum
+gl_STENCIL_CLEAR_TAG_VALUE = 0x88F3
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/StencilTwoSide.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/StencilTwoSide.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/StencilTwoSide.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/StencilTwoSide.hs
@@ -1,40 +1,40 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.StencilTwoSide
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the EXT_stencil_two_side extension, see
--- <http://www.opengl.org/registry/specs/EXT/stencil_two_side.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.StencilTwoSide (
-   -- * Functions
-   glActiveStencilFace,
-   -- * Tokens
-   gl_STENCIL_TEST_TWO_SIDE,
-   gl_ACTIVE_STENCIL_FACE
-) where
-
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_EXT_stencil_two_side"
-
-EXTENSION_ENTRY(glActiveStencilFace,GLenum -> IO ())
-
-gl_STENCIL_TEST_TWO_SIDE :: GLenum
-gl_STENCIL_TEST_TWO_SIDE = 0x8910
-
-gl_ACTIVE_STENCIL_FACE :: GLenum
-gl_ACTIVE_STENCIL_FACE = 0x8911
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.StencilTwoSide
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the EXT_stencil_two_side extension, see
+-- <http://www.opengl.org/registry/specs/EXT/stencil_two_side.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.StencilTwoSide (
+   -- * Functions
+   glActiveStencilFace,
+   -- * Tokens
+   gl_STENCIL_TEST_TWO_SIDE,
+   gl_ACTIVE_STENCIL_FACE
+) where
+
+import Foreign.C.Types
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+import Graphics.Rendering.OpenGL.Raw.Extensions
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_EXT_stencil_two_side"
+
+EXTENSION_ENTRY(dyn_glActiveStencilFace,ptr_glActiveStencilFace,"glActiveStencilFace",glActiveStencilFace,GLenum -> IO ())
+
+gl_STENCIL_TEST_TWO_SIDE :: GLenum
+gl_STENCIL_TEST_TWO_SIDE = 0x8910
+
+gl_ACTIVE_STENCIL_FACE :: GLenum
+gl_ACTIVE_STENCIL_FACE = 0x8911
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/StencilWrap.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/StencilWrap.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/StencilWrap.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/StencilWrap.hs
@@ -1,23 +1,23 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.StencilWrap
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All tokens from the EXT_stencil_wrap extension, see
--- <http://www.opengl.org/registry/specs/EXT/stencil_wrap.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.StencilWrap (
-   -- * Tokens
-   gl_INCR_WRAP,
-   gl_DECR_WRAP
-
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core32
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.StencilWrap
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All tokens from the EXT_stencil_wrap extension, see
+-- <http://www.opengl.org/registry/specs/EXT/stencil_wrap.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.StencilWrap (
+   -- * Tokens
+   gl_INCR_WRAP,
+   gl_DECR_WRAP
+
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/Subtexture.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/Subtexture.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/Subtexture.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/Subtexture.hs
@@ -1,23 +1,23 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.Subtexture
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions from the EXT_subtexture extension, see
--- <http://www.opengl.org/registry/specs/EXT/subtexture.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.Subtexture (
-   -- * Functions
-   glTexSubImage1D,
-   glTexSubImage2D,
-   glTexSubImage3D
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core32
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.Subtexture
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions from the EXT_subtexture extension, see
+-- <http://www.opengl.org/registry/specs/EXT/subtexture.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.Subtexture (
+   -- * Functions
+   glTexSubImage1D,
+   glTexSubImage2D,
+   glTexSubImage3D
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/Texture.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/Texture.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/Texture.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/Texture.hs
@@ -1,70 +1,70 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.Texture
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the EXT_texture extension, see
--- <http://www.opengl.org/registry/specs/EXT/texture.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.Texture (
-   -- * Tokens
-   gl_ALPHA4,
-   gl_ALPHA8,
-   gl_ALPHA12,
-   gl_ALPHA16,
-   gl_LUMINANCE4,
-   gl_LUMINANCE8,
-   gl_LUMINANCE12,
-   gl_LUMINANCE16,
-   gl_LUMINANCE4_ALPHA4,
-   gl_LUMINANCE6_ALPHA2,
-   gl_LUMINANCE8_ALPHA8,
-   gl_LUMINANCE12_ALPHA4,
-   gl_LUMINANCE12_ALPHA12,
-   gl_LUMINANCE16_ALPHA16,
-   gl_INTENSITY,
-   gl_INTENSITY4,
-   gl_INTENSITY8,
-   gl_INTENSITY12,
-   gl_INTENSITY16,
-   gl_RGB2,
-   gl_RGB4,
-   gl_RGB5,
-   gl_RGB8,
-   gl_RGB10,
-   gl_RGB12,
-   gl_RGB16,
-   gl_RGBA2,
-   gl_RGBA4,
-   gl_RGB5_A1,
-   gl_RGBA8,
-   gl_RGB10_A2,
-   gl_RGBA12,
-   gl_RGBA16,
-   gl_TEXTURE_RED_SIZE,
-   gl_TEXTURE_GREEN_SIZE,
-   gl_TEXTURE_BLUE_SIZE,
-   gl_TEXTURE_ALPHA_SIZE,
-   gl_TEXTURE_LUMINANCE_SIZE,
-   gl_TEXTURE_INTENSITY_SIZE,
-   gl_REPLACE,
-   gl_PROXY_TEXTURE_1D,
-   gl_PROXY_TEXTURE_2D,
-   gl_TEXTURE_TOO_LARGE
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
-import Graphics.Rendering.OpenGL.Raw.Core32
-
-gl_RGB2 :: GLenum
-gl_RGB2 = 0x804E
-
-gl_TEXTURE_TOO_LARGE :: GLenum
-gl_TEXTURE_TOO_LARGE = 0x8065
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.Texture
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the EXT_texture extension, see
+-- <http://www.opengl.org/registry/specs/EXT/texture.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.Texture (
+   -- * Tokens
+   gl_ALPHA4,
+   gl_ALPHA8,
+   gl_ALPHA12,
+   gl_ALPHA16,
+   gl_LUMINANCE4,
+   gl_LUMINANCE8,
+   gl_LUMINANCE12,
+   gl_LUMINANCE16,
+   gl_LUMINANCE4_ALPHA4,
+   gl_LUMINANCE6_ALPHA2,
+   gl_LUMINANCE8_ALPHA8,
+   gl_LUMINANCE12_ALPHA4,
+   gl_LUMINANCE12_ALPHA12,
+   gl_LUMINANCE16_ALPHA16,
+   gl_INTENSITY,
+   gl_INTENSITY4,
+   gl_INTENSITY8,
+   gl_INTENSITY12,
+   gl_INTENSITY16,
+   gl_RGB2,
+   gl_RGB4,
+   gl_RGB5,
+   gl_RGB8,
+   gl_RGB10,
+   gl_RGB12,
+   gl_RGB16,
+   gl_RGBA2,
+   gl_RGBA4,
+   gl_RGB5_A1,
+   gl_RGBA8,
+   gl_RGB10_A2,
+   gl_RGBA12,
+   gl_RGBA16,
+   gl_TEXTURE_RED_SIZE,
+   gl_TEXTURE_GREEN_SIZE,
+   gl_TEXTURE_BLUE_SIZE,
+   gl_TEXTURE_ALPHA_SIZE,
+   gl_TEXTURE_LUMINANCE_SIZE,
+   gl_TEXTURE_INTENSITY_SIZE,
+   gl_REPLACE,
+   gl_PROXY_TEXTURE_1D,
+   gl_PROXY_TEXTURE_2D,
+   gl_TEXTURE_TOO_LARGE
+) where
+
+import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
+import Graphics.Rendering.OpenGL.Raw.Core32
+
+gl_RGB2 :: GLenum
+gl_RGB2 = 0x804E
+
+gl_TEXTURE_TOO_LARGE :: GLenum
+gl_TEXTURE_TOO_LARGE = 0x8065
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/Texture3D.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/Texture3D.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/Texture3D.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/Texture3D.hs
@@ -1,31 +1,31 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.Texture3D
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the EXT_texture3d extension, see
--- <http://www.opengl.org/registry/specs/EXT/texture3d.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.Texture3D (
-   -- * Functions
-   glTexImage3D,
-   -- * Tokens
-   gl_PACK_SKIP_IMAGES,
-   gl_PACK_IMAGE_HEIGHT,
-   gl_UNPACK_SKIP_IMAGES,
-   gl_UNPACK_IMAGE_HEIGHT,
-   gl_TEXTURE_3D,
-   gl_PROXY_TEXTURE_3D,
-   gl_TEXTURE_DEPTH,
-   gl_TEXTURE_WRAP_R,
-   gl_MAX_3D_TEXTURE_SIZE
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core32
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.Texture3D
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the EXT_texture3d extension, see
+-- <http://www.opengl.org/registry/specs/EXT/texture3d.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.Texture3D (
+   -- * Functions
+   glTexImage3D,
+   -- * Tokens
+   gl_PACK_SKIP_IMAGES,
+   gl_PACK_IMAGE_HEIGHT,
+   gl_UNPACK_SKIP_IMAGES,
+   gl_UNPACK_IMAGE_HEIGHT,
+   gl_TEXTURE_3D,
+   gl_PROXY_TEXTURE_3D,
+   gl_TEXTURE_DEPTH,
+   gl_TEXTURE_WRAP_R,
+   gl_MAX_3D_TEXTURE_SIZE
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureArray.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureArray.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureArray.hs
@@ -0,0 +1,33 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.TextureArray
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All tokens from the EXT_abgr extension, see
+-- <http://www.opengl.org/registry/specs/EXT/texture_array.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.TextureArray (
+   -- * Tokens
+   gl_TEXTURE_1D_ARRAY,
+   gl_PROXY_TEXTURE_1D_ARRAY,
+   gl_TEXTURE_2D_ARRAY,
+   gl_PROXY_TEXTURE_2D_ARRAY,
+   gl_TEXTURE_BINDING_1D_ARRAY,
+   gl_TEXTURE_BINDING_2D_ARRAY,
+   gl_MAX_ARRAY_TEXTURE_LAYERS,
+   gl_COMPARE_REF_DEPTH_TO_TEXTURE,
+   gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
+
+-- Same as gl_COMPARE_REF_TO_TEXTURE and gl_COMPARE_R_TO_TEXTURE.
+gl_COMPARE_REF_DEPTH_TO_TEXTURE :: GLenum
+gl_COMPARE_REF_DEPTH_TO_TEXTURE = 0x884E
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureCompressionDXT1.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureCompressionDXT1.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureCompressionDXT1.hs
@@ -0,0 +1,23 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.TextureCompressionDXT1
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the EXT_texture_compression_dxt1 extension
+-- not already in the OpenGL 3.1 core, see
+-- <http://www.opengl.org/registry/specs/EXT/texture_compression_dxt1.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.TextureCompressionDXT1 (
+   -- * Tokens
+   gl_COMPRESSED_RGB_S3TC_DXT1,
+   gl_COMPRESSED_RGBA_S3TC_DXT1
+) where
+
+import Graphics.Rendering.OpenGL.Raw.EXT.TextureCompressionS3TC
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureCompressionDxt1.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureCompressionDxt1.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureCompressionDxt1.hs
+++ /dev/null
@@ -1,23 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.TextureCompressionDxt1
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the EXT_texture_compression_dxt1 extension
--- not already in the OpenGL 3.1 core, see
--- <http://www.opengl.org/registry/specs/EXT/texture_compression_dxt1.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.TextureCompressionDxt1 (
-   -- * Tokens
-   gl_COMPRESSED_RGB_S3TC_DXT1,
-   gl_COMPRESSED_RGBA_S3TC_DXT1
-) where
-
-import Graphics.Rendering.OpenGL.Raw.EXT.TextureCompressionS3tc
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureCompressionLATC.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureCompressionLATC.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureCompressionLATC.hs
@@ -0,0 +1,37 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.TextureCompressionLATC
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the EXT_texture_compression_latc extension
+-- not already in the OpenGL 3.1 core, see
+-- <http://www.opengl.org/registry/specs/EXT/texture_compression_latc.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.TextureCompressionLATC (
+   -- * Tokens
+   gl_COMPRESSED_LUMINANCE_LATC1,
+   gl_COMPRESSED_SIGNED_LUMINANCE_LATC1,
+   gl_COMPRESSED_LUMINANCE_ALPHA_LATC2,
+   gl_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
+
+gl_COMPRESSED_LUMINANCE_LATC1 :: GLenum
+gl_COMPRESSED_LUMINANCE_LATC1 = 0x8C70
+
+gl_COMPRESSED_SIGNED_LUMINANCE_LATC1 :: GLenum
+gl_COMPRESSED_SIGNED_LUMINANCE_LATC1 = 0x8C71
+
+gl_COMPRESSED_LUMINANCE_ALPHA_LATC2 :: GLenum
+gl_COMPRESSED_LUMINANCE_ALPHA_LATC2 = 0x8C72
+
+gl_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2 :: GLenum
+gl_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2 = 0x8C73
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,37 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.TextureCompressionLatc
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the EXT_texture_compression_latc extension
--- not already in the OpenGL 3.1 core, see
--- <http://www.opengl.org/registry/specs/EXT/texture_compression_latc.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.TextureCompressionLatc (
-   -- * Tokens
-   gl_COMPRESSED_LUMINANCE_LATC1,
-   gl_COMPRESSED_SIGNED_LUMINANCE_LATC1,
-   gl_COMPRESSED_LUMINANCE_ALPHA_LATC2,
-   gl_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core32
-
-gl_COMPRESSED_LUMINANCE_LATC1 :: GLenum
-gl_COMPRESSED_LUMINANCE_LATC1 = 0x8C70
-
-gl_COMPRESSED_SIGNED_LUMINANCE_LATC1 :: GLenum
-gl_COMPRESSED_SIGNED_LUMINANCE_LATC1 = 0x8C71
-
-gl_COMPRESSED_LUMINANCE_ALPHA_LATC2 :: GLenum
-gl_COMPRESSED_LUMINANCE_ALPHA_LATC2 = 0x8C72
-
-gl_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2 :: GLenum
-gl_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2 = 0x8C73
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureCompressionRGTC.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureCompressionRGTC.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureCompressionRGTC.hs
@@ -0,0 +1,30 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.TextureCompressionRGTC
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the EXT_texture_compression_rgtc extension,
+-- see <http://www.opengl.org/registry/specs/EXT/texture_compression_rgtc.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.TextureCompressionRGTC (
+   -- * Tokens
+   gl_COMPRESSED_RED_RGTC1,
+   gl_COMPRESSED_SIGNED_RED_RGTC1,
+   gl_COMPRESSED_RED_GREEN_RGTC2,
+   gl_COMPRESSED_SIGNED_RED_GREEN_RGTC2
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
+
+gl_COMPRESSED_RED_GREEN_RGTC2 :: GLenum
+gl_COMPRESSED_RED_GREEN_RGTC2 = 0x8DBD
+
+gl_COMPRESSED_SIGNED_RED_GREEN_RGTC2 :: GLenum
+gl_COMPRESSED_SIGNED_RED_GREEN_RGTC2 = 0x8DBE
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureCompressionS3TC.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureCompressionS3TC.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureCompressionS3TC.hs
@@ -0,0 +1,36 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.TextureCompressionS3TC
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All tokens from the EXT_texture_compression_s3tc extension, see
+-- <http://www.opengl.org/registry/specs/EXT/texture_compression_s3tc.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.TextureCompressionS3TC (
+   -- * Tokens
+   gl_COMPRESSED_RGB_S3TC_DXT1,
+   gl_COMPRESSED_RGBA_S3TC_DXT1,
+   gl_COMPRESSED_RGBA_S3TC_DXT3,
+   gl_COMPRESSED_RGBA_S3TC_DXT5
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
+
+gl_COMPRESSED_RGB_S3TC_DXT1 :: GLenum
+gl_COMPRESSED_RGB_S3TC_DXT1 = 0x83F0
+
+gl_COMPRESSED_RGBA_S3TC_DXT1 :: GLenum
+gl_COMPRESSED_RGBA_S3TC_DXT1 = 0x83F1
+
+gl_COMPRESSED_RGBA_S3TC_DXT3 :: GLenum
+gl_COMPRESSED_RGBA_S3TC_DXT3 = 0x83F2
+
+gl_COMPRESSED_RGBA_S3TC_DXT5 :: GLenum
+gl_COMPRESSED_RGBA_S3TC_DXT5 = 0x83F3
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,36 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.TextureCompressionS3tc
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All tokens from the EXT_texture_compression_s3tc extension, see
--- <http://www.opengl.org/registry/specs/EXT/texture_compression_s3tc.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.TextureCompressionS3tc (
-   -- * Tokens
-   gl_COMPRESSED_RGB_S3TC_DXT1,
-   gl_COMPRESSED_RGBA_S3TC_DXT1,
-   gl_COMPRESSED_RGBA_S3TC_DXT3,
-   gl_COMPRESSED_RGBA_S3TC_DXT5
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core32
-
-gl_COMPRESSED_RGB_S3TC_DXT1 :: GLenum
-gl_COMPRESSED_RGB_S3TC_DXT1 = 0x83F0
-
-gl_COMPRESSED_RGBA_S3TC_DXT1 :: GLenum
-gl_COMPRESSED_RGBA_S3TC_DXT1 = 0x83F1
-
-gl_COMPRESSED_RGBA_S3TC_DXT3 :: GLenum
-gl_COMPRESSED_RGBA_S3TC_DXT3 = 0x83F2
-
-gl_COMPRESSED_RGBA_S3TC_DXT5 :: GLenum
-gl_COMPRESSED_RGBA_S3TC_DXT5 = 0x83F3
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureEnvAdd.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureEnvAdd.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureEnvAdd.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureEnvAdd.hs
@@ -1,21 +1,21 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.TextureEnvAdd
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All tokens from the EXT_texture_env_add extension, see
--- <http://www.opengl.org/registry/specs/EXT/texture_env_add.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.TextureEnvAdd (
-   -- * Tokens
-   gl_ADD
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.TextureEnvAdd
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All tokens from the EXT_texture_env_add extension, see
+-- <http://www.opengl.org/registry/specs/EXT/texture_env_add.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.TextureEnvAdd (
+   -- * Tokens
+   gl_ADD
+) where
+
+import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureEnvCombine.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureEnvCombine.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureEnvCombine.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureEnvCombine.hs
@@ -1,42 +1,42 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.TextureEnvCombine
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the EXT_texture_env_combine extension not
--- already in the OpenGL 3.1 core, see
--- <http://www.opengl.org/registry/specs/EXT/texture_env_combine.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.TextureEnvCombine (
-   -- * Tokens
-   gl_COMBINE,
-   gl_COMBINE_RGB,
-   gl_COMBINE_ALPHA,
-   gl_SOURCE0_RGB,
-   gl_SOURCE1_RGB,
-   gl_SOURCE2_RGB,
-   gl_SOURCE0_ALPHA,
-   gl_SOURCE1_ALPHA,
-   gl_SOURCE2_ALPHA,
-   gl_OPERAND0_RGB,
-   gl_OPERAND1_RGB,
-   gl_OPERAND2_RGB,
-   gl_OPERAND0_ALPHA,
-   gl_OPERAND1_ALPHA,
-   gl_OPERAND2_ALPHA,
-   gl_RGB_SCALE,
-   gl_ADD_SIGNED,
-   gl_INTERPOLATE,
-   gl_CONSTANT,
-   gl_PRIMARY_COLOR,
-   gl_PREVIOUS
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.TextureEnvCombine
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the EXT_texture_env_combine extension not
+-- already in the OpenGL 3.1 core, see
+-- <http://www.opengl.org/registry/specs/EXT/texture_env_combine.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.TextureEnvCombine (
+   -- * Tokens
+   gl_COMBINE,
+   gl_COMBINE_RGB,
+   gl_COMBINE_ALPHA,
+   gl_SOURCE0_RGB,
+   gl_SOURCE1_RGB,
+   gl_SOURCE2_RGB,
+   gl_SOURCE0_ALPHA,
+   gl_SOURCE1_ALPHA,
+   gl_SOURCE2_ALPHA,
+   gl_OPERAND0_RGB,
+   gl_OPERAND1_RGB,
+   gl_OPERAND2_RGB,
+   gl_OPERAND0_ALPHA,
+   gl_OPERAND1_ALPHA,
+   gl_OPERAND2_ALPHA,
+   gl_RGB_SCALE,
+   gl_ADD_SIGNED,
+   gl_INTERPOLATE,
+   gl_CONSTANT,
+   gl_PRIMARY_COLOR,
+   gl_PREVIOUS
+) where
+
+import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureEnvDot3.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureEnvDot3.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureEnvDot3.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureEnvDot3.hs
@@ -1,23 +1,23 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.TextureEnvDot3
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the EXT_texture_env_dot3 extension not
--- already in the OpenGL 3.1 core, see
--- <http://www.opengl.org/registry/specs/EXT/texture_env_dot3.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.TextureEnvDot3 (
-   -- * Tokens
-   gl_DOT3_RGB,
-   gl_DOT3_RGBA
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.TextureEnvDot3
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the EXT_texture_env_dot3 extension not
+-- already in the OpenGL 3.1 core, see
+-- <http://www.opengl.org/registry/specs/EXT/texture_env_dot3.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.TextureEnvDot3 (
+   -- * Tokens
+   gl_DOT3_RGB,
+   gl_DOT3_RGBA
+) where
+
+import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureFilterAnisotropic.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureFilterAnisotropic.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureFilterAnisotropic.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureFilterAnisotropic.hs
@@ -1,28 +1,28 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.TextureFilterAnisotropic
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All tokens from the EXT_texture_filter_anisotropic, see
--- <http://www.opengl.org/registry/specs/EXT/texture_filter_anisotropic.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.TextureFilterAnisotropic (
-   -- * Tokens
-   gl_TEXTURE_MAX_ANISOTROPY,
-   gl_MAX_TEXTURE_MAX_ANISOTROPY
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core32
-
-gl_TEXTURE_MAX_ANISOTROPY :: GLenum
-gl_TEXTURE_MAX_ANISOTROPY = 0x84FE
-
-gl_MAX_TEXTURE_MAX_ANISOTROPY :: GLenum
-gl_MAX_TEXTURE_MAX_ANISOTROPY = 0x84FF
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.TextureFilterAnisotropic
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All tokens from the EXT_texture_filter_anisotropic, see
+-- <http://www.opengl.org/registry/specs/EXT/texture_filter_anisotropic.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.TextureFilterAnisotropic (
+   -- * Tokens
+   gl_TEXTURE_MAX_ANISOTROPY,
+   gl_MAX_TEXTURE_MAX_ANISOTROPY
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
+
+gl_TEXTURE_MAX_ANISOTROPY :: GLenum
+gl_TEXTURE_MAX_ANISOTROPY = 0x84FE
+
+gl_MAX_TEXTURE_MAX_ANISOTROPY :: GLenum
+gl_MAX_TEXTURE_MAX_ANISOTROPY = 0x84FF
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureInteger.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureInteger.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureInteger.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureInteger.hs
@@ -1,141 +1,141 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.TextureInteger
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the EXT_texture_integer extension not
--- already in the OpenGL 3.1 core, see
--- <http://www.opengl.org/registry/specs/EXT/texture_integer.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.TextureInteger (
-   -- * Functions
-   glClearColorIi,
-   glClearColorIui,
-   -- * Tokens
-   gl_ALPHA32UI,
-   gl_INTENSITY32UI,
-   gl_LUMINANCE32UI,
-   gl_LUMINANCE_ALPHA32UI,
-   gl_ALPHA16UI,
-   gl_INTENSITY16UI,
-   gl_LUMINANCE16UI,
-   gl_LUMINANCE_ALPHA16UI,
-   gl_ALPHA8UI,
-   gl_INTENSITY8UI,
-   gl_LUMINANCE8UI,
-   gl_LUMINANCE_ALPHA8UI,
-   gl_ALPHA32I,
-   gl_INTENSITY32I,
-   gl_LUMINANCE32I,
-   gl_LUMINANCE_ALPHA32I,
-   gl_ALPHA16I,
-   gl_INTENSITY16I,
-   gl_LUMINANCE16I,
-   gl_LUMINANCE_ALPHA16I,
-   gl_ALPHA8I,
-   gl_INTENSITY8I,
-   gl_LUMINANCE8I,
-   gl_LUMINANCE_ALPHA8I,
-   gl_ALPHA_INTEGER,
-   gl_LUMINANCE_INTEGER,
-   gl_LUMINANCE_ALPHA_INTEGER
-) where
-
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_EXT_texture_integer"
-
-EXTENSION_ENTRY(glClearColorIi,GLint -> GLint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(glClearColorIui,GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-
-gl_ALPHA32UI :: GLenum
-gl_ALPHA32UI = 0x8D72
-
-gl_INTENSITY32UI :: GLenum
-gl_INTENSITY32UI = 0x8D73
-
-gl_LUMINANCE32UI :: GLenum
-gl_LUMINANCE32UI = 0x8D74
-
-gl_LUMINANCE_ALPHA32UI :: GLenum
-gl_LUMINANCE_ALPHA32UI = 0x8D75
-
-gl_ALPHA16UI :: GLenum
-gl_ALPHA16UI = 0x8D78
-
-gl_INTENSITY16UI :: GLenum
-gl_INTENSITY16UI = 0x8D79
-
-gl_LUMINANCE16UI :: GLenum
-gl_LUMINANCE16UI = 0x8D7A
-
-gl_LUMINANCE_ALPHA16UI :: GLenum
-gl_LUMINANCE_ALPHA16UI = 0x8D7B
-
-gl_ALPHA8UI :: GLenum
-gl_ALPHA8UI = 0x8D7E
-
-gl_INTENSITY8UI :: GLenum
-gl_INTENSITY8UI = 0x8D7F
-
-gl_LUMINANCE8UI :: GLenum
-gl_LUMINANCE8UI = 0x8D80
-
-gl_LUMINANCE_ALPHA8UI :: GLenum
-gl_LUMINANCE_ALPHA8UI = 0x8D81
-
-gl_ALPHA32I :: GLenum
-gl_ALPHA32I = 0x8D84
-
-gl_INTENSITY32I :: GLenum
-gl_INTENSITY32I = 0x8D85
-
-gl_LUMINANCE32I :: GLenum
-gl_LUMINANCE32I = 0x8D86
-
-gl_LUMINANCE_ALPHA32I :: GLenum
-gl_LUMINANCE_ALPHA32I = 0x8D87
-
-gl_ALPHA16I :: GLenum
-gl_ALPHA16I = 0x8D8A
-
-gl_INTENSITY16I :: GLenum
-gl_INTENSITY16I = 0x8D8B
-
-gl_LUMINANCE16I :: GLenum
-gl_LUMINANCE16I = 0x8D8C
-
-gl_LUMINANCE_ALPHA16I :: GLenum
-gl_LUMINANCE_ALPHA16I = 0x8D8D
-
-gl_ALPHA8I :: GLenum
-gl_ALPHA8I = 0x8D90
-
-gl_INTENSITY8I :: GLenum
-gl_INTENSITY8I = 0x8D91
-
-gl_LUMINANCE8I :: GLenum
-gl_LUMINANCE8I = 0x8D92
-
-gl_LUMINANCE_ALPHA8I :: GLenum
-gl_LUMINANCE_ALPHA8I = 0x8D93
-
-gl_LUMINANCE_INTEGER :: GLenum
-gl_LUMINANCE_INTEGER = 0x8D9C
-
-gl_LUMINANCE_ALPHA_INTEGER :: GLenum
-gl_LUMINANCE_ALPHA_INTEGER = 0x8D9D
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.TextureInteger
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the EXT_texture_integer extension not
+-- already in the OpenGL 3.1 core, see
+-- <http://www.opengl.org/registry/specs/EXT/texture_integer.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.TextureInteger (
+   -- * Functions
+   glClearColorIi,
+   glClearColorIui,
+   -- * Tokens
+   gl_ALPHA32UI,
+   gl_INTENSITY32UI,
+   gl_LUMINANCE32UI,
+   gl_LUMINANCE_ALPHA32UI,
+   gl_ALPHA16UI,
+   gl_INTENSITY16UI,
+   gl_LUMINANCE16UI,
+   gl_LUMINANCE_ALPHA16UI,
+   gl_ALPHA8UI,
+   gl_INTENSITY8UI,
+   gl_LUMINANCE8UI,
+   gl_LUMINANCE_ALPHA8UI,
+   gl_ALPHA32I,
+   gl_INTENSITY32I,
+   gl_LUMINANCE32I,
+   gl_LUMINANCE_ALPHA32I,
+   gl_ALPHA16I,
+   gl_INTENSITY16I,
+   gl_LUMINANCE16I,
+   gl_LUMINANCE_ALPHA16I,
+   gl_ALPHA8I,
+   gl_INTENSITY8I,
+   gl_LUMINANCE8I,
+   gl_LUMINANCE_ALPHA8I,
+   gl_ALPHA_INTEGER,
+   gl_LUMINANCE_INTEGER,
+   gl_LUMINANCE_ALPHA_INTEGER
+) where
+
+import Foreign.C.Types
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
+import Graphics.Rendering.OpenGL.Raw.Extensions
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_EXT_texture_integer"
+
+EXTENSION_ENTRY(dyn_glClearColorIi,ptr_glClearColorIi,"glClearColorIi",glClearColorIi,GLint -> GLint -> GLint -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glClearColorIui,ptr_glClearColorIui,"glClearColorIui",glClearColorIui,GLuint -> GLuint -> GLuint -> GLuint -> IO ())
+
+gl_ALPHA32UI :: GLenum
+gl_ALPHA32UI = 0x8D72
+
+gl_INTENSITY32UI :: GLenum
+gl_INTENSITY32UI = 0x8D73
+
+gl_LUMINANCE32UI :: GLenum
+gl_LUMINANCE32UI = 0x8D74
+
+gl_LUMINANCE_ALPHA32UI :: GLenum
+gl_LUMINANCE_ALPHA32UI = 0x8D75
+
+gl_ALPHA16UI :: GLenum
+gl_ALPHA16UI = 0x8D78
+
+gl_INTENSITY16UI :: GLenum
+gl_INTENSITY16UI = 0x8D79
+
+gl_LUMINANCE16UI :: GLenum
+gl_LUMINANCE16UI = 0x8D7A
+
+gl_LUMINANCE_ALPHA16UI :: GLenum
+gl_LUMINANCE_ALPHA16UI = 0x8D7B
+
+gl_ALPHA8UI :: GLenum
+gl_ALPHA8UI = 0x8D7E
+
+gl_INTENSITY8UI :: GLenum
+gl_INTENSITY8UI = 0x8D7F
+
+gl_LUMINANCE8UI :: GLenum
+gl_LUMINANCE8UI = 0x8D80
+
+gl_LUMINANCE_ALPHA8UI :: GLenum
+gl_LUMINANCE_ALPHA8UI = 0x8D81
+
+gl_ALPHA32I :: GLenum
+gl_ALPHA32I = 0x8D84
+
+gl_INTENSITY32I :: GLenum
+gl_INTENSITY32I = 0x8D85
+
+gl_LUMINANCE32I :: GLenum
+gl_LUMINANCE32I = 0x8D86
+
+gl_LUMINANCE_ALPHA32I :: GLenum
+gl_LUMINANCE_ALPHA32I = 0x8D87
+
+gl_ALPHA16I :: GLenum
+gl_ALPHA16I = 0x8D8A
+
+gl_INTENSITY16I :: GLenum
+gl_INTENSITY16I = 0x8D8B
+
+gl_LUMINANCE16I :: GLenum
+gl_LUMINANCE16I = 0x8D8C
+
+gl_LUMINANCE_ALPHA16I :: GLenum
+gl_LUMINANCE_ALPHA16I = 0x8D8D
+
+gl_ALPHA8I :: GLenum
+gl_ALPHA8I = 0x8D90
+
+gl_INTENSITY8I :: GLenum
+gl_INTENSITY8I = 0x8D91
+
+gl_LUMINANCE8I :: GLenum
+gl_LUMINANCE8I = 0x8D92
+
+gl_LUMINANCE_ALPHA8I :: GLenum
+gl_LUMINANCE_ALPHA8I = 0x8D93
+
+gl_LUMINANCE_INTEGER :: GLenum
+gl_LUMINANCE_INTEGER = 0x8D9C
+
+gl_LUMINANCE_ALPHA_INTEGER :: GLenum
+gl_LUMINANCE_ALPHA_INTEGER = 0x8D9D
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureLODBias.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureLODBias.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureLODBias.hs
@@ -0,0 +1,24 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.TextureLODBias
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All tokens from the EXT_texture_lod_bias extension, see
+-- <http://www.opengl.org/registry/specs/EXT/texture_lod_bias.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.TextureLODBias (
+   -- * Tokens
+   gl_TEXTURE_FILTER_CONTROL,
+   gl_TEXTURE_LOD_BIAS,
+   gl_MAX_TEXTURE_LOD_BIAS
+) where
+
+import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
+import Graphics.Rendering.OpenGL.Raw.Core32
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 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All tokens from the EXT_texture_lod_bias extension, see
--- <http://www.opengl.org/registry/specs/EXT/texture_lod_bias.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.TextureLodBias (
-   -- * Tokens
-   gl_TEXTURE_FILTER_CONTROL,
-   gl_TEXTURE_LOD_BIAS,
-   gl_MAX_TEXTURE_LOD_BIAS
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
-import Graphics.Rendering.OpenGL.Raw.Core32
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureMirrorClamp.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureMirrorClamp.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureMirrorClamp.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureMirrorClamp.hs
@@ -1,32 +1,32 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.TextureMirrorClamp
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the EXT_texture_mirror_clamp extension, see
--- <http://www.opengl.org/registry/specs/EXT/texture_mirror_clamp.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.TextureMirrorClamp (
-   -- * Tokens
-  gl_MIRROR_CLAMP,
-  gl_MIRROR_CLAMP_TO_EDGE,
-  gl_MIRROR_CLAMP_TO_BORDER
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core32
-
-gl_MIRROR_CLAMP :: GLenum
-gl_MIRROR_CLAMP = 0x8742
-
-gl_MIRROR_CLAMP_TO_EDGE :: GLenum
-gl_MIRROR_CLAMP_TO_EDGE = 0x8743
-
-gl_MIRROR_CLAMP_TO_BORDER :: GLenum
-gl_MIRROR_CLAMP_TO_BORDER = 0x8912
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.TextureMirrorClamp
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the EXT_texture_mirror_clamp extension, see
+-- <http://www.opengl.org/registry/specs/EXT/texture_mirror_clamp.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.TextureMirrorClamp (
+   -- * Tokens
+  gl_MIRROR_CLAMP,
+  gl_MIRROR_CLAMP_TO_EDGE,
+  gl_MIRROR_CLAMP_TO_BORDER
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
+
+gl_MIRROR_CLAMP :: GLenum
+gl_MIRROR_CLAMP = 0x8742
+
+gl_MIRROR_CLAMP_TO_EDGE :: GLenum
+gl_MIRROR_CLAMP_TO_EDGE = 0x8743
+
+gl_MIRROR_CLAMP_TO_BORDER :: GLenum
+gl_MIRROR_CLAMP_TO_BORDER = 0x8912
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureObject.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureObject.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureObject.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureObject.hs
@@ -1,42 +1,42 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.TextureObject
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the EXT_texture_object extension, see
--- <http://www.opengl.org/registry/specs/EXT/texture_object.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.TextureObject (
-   -- * Functions
-   glGenTextures,
-   glDeleteTextures,
-   glBindTexture,
-   glPrioritizeTextures,
-   glAreTexturesResident,
-   glIsTexture,
-   -- * Tokens
-   gl_TEXTURE_PRIORITY,
-   gl_TEXTURE_RESIDENT,
-   gl_TEXTURE_1D_BINDING,
-   gl_TEXTURE_2D_BINDING,
-   gl_TEXTURE_3D_BINDING
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
-import Graphics.Rendering.OpenGL.Raw.Core32
-
-gl_TEXTURE_1D_BINDING :: GLenum
-gl_TEXTURE_1D_BINDING = gl_TEXTURE_BINDING_1D
-
-gl_TEXTURE_2D_BINDING :: GLenum
-gl_TEXTURE_2D_BINDING = gl_TEXTURE_BINDING_2D
-
-gl_TEXTURE_3D_BINDING :: GLenum
-gl_TEXTURE_3D_BINDING = gl_TEXTURE_BINDING_3D
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.TextureObject
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the EXT_texture_object extension, see
+-- <http://www.opengl.org/registry/specs/EXT/texture_object.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.TextureObject (
+   -- * Functions
+   glGenTextures,
+   glDeleteTextures,
+   glBindTexture,
+   glPrioritizeTextures,
+   glAreTexturesResident,
+   glIsTexture,
+   -- * Tokens
+   gl_TEXTURE_PRIORITY,
+   gl_TEXTURE_RESIDENT,
+   gl_TEXTURE_1D_BINDING,
+   gl_TEXTURE_2D_BINDING,
+   gl_TEXTURE_3D_BINDING
+) where
+
+import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
+import Graphics.Rendering.OpenGL.Raw.Core32
+
+gl_TEXTURE_1D_BINDING :: GLenum
+gl_TEXTURE_1D_BINDING = gl_TEXTURE_BINDING_1D
+
+gl_TEXTURE_2D_BINDING :: GLenum
+gl_TEXTURE_2D_BINDING = gl_TEXTURE_BINDING_2D
+
+gl_TEXTURE_3D_BINDING :: GLenum
+gl_TEXTURE_3D_BINDING = gl_TEXTURE_BINDING_3D
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/TexturePerturbNormal.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/TexturePerturbNormal.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/TexturePerturbNormal.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/TexturePerturbNormal.hs
@@ -1,40 +1,40 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.TexturePerturbNormal
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the EXT_texture_perturb_normal, see
--- <http://www.opengl.org/registry/specs/EXT/perturb_normal.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.TexturePerturbNormal (
-   -- * Functions
-   glTextureNormal,
-   -- * Tokens
-   gl_PERTURB,
-   gl_TEXTURE_NORMAL
-) where
-
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_EXT_texture_perturb_normal"
-
-EXTENSION_ENTRY(glTextureNormal,GLenum -> IO ())
-
-gl_PERTURB :: GLenum
-gl_PERTURB = 0x85AE
-
-gl_TEXTURE_NORMAL :: GLenum
-gl_TEXTURE_NORMAL = 0x85AF
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.TexturePerturbNormal
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the EXT_texture_perturb_normal, see
+-- <http://www.opengl.org/registry/specs/EXT/perturb_normal.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.TexturePerturbNormal (
+   -- * Functions
+   glTextureNormal,
+   -- * Tokens
+   gl_PERTURB,
+   gl_TEXTURE_NORMAL
+) where
+
+import Foreign.C.Types
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+import Graphics.Rendering.OpenGL.Raw.Extensions
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_EXT_texture_perturb_normal"
+
+EXTENSION_ENTRY(dyn_glTextureNormal,ptr_glTextureNormal,"glTextureNormal",glTextureNormal,GLenum -> IO ())
+
+gl_PERTURB :: GLenum
+gl_PERTURB = 0x85AE
+
+gl_TEXTURE_NORMAL :: GLenum
+gl_TEXTURE_NORMAL = 0x85AF
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureSRGB.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureSRGB.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureSRGB.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureSRGB.hs
@@ -1,44 +1,44 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.TextureSRGB
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the EXT_texture_sRGB extension not already
--- in the OpenGL 3.1 core, see
--- <http://www.opengl.org/registry/specs/EXT/texture_sRGB.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.TextureSRGB (
-   -- * Tokens
-   gl_SLUMINANCE_ALPHA,
-   gl_SLUMINANCE8_ALPHA8,
-   gl_SLUMINANCE,
-   gl_SLUMINANCE8,
-   gl_COMPRESSED_SLUMINANCE,
-   gl_COMPRESSED_SLUMINANCE_ALPHA,
-   gl_COMPRESSED_SRGB_S3TC_DXT1,
-   gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT1,
-   gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT3,
-   gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT5
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
-import Graphics.Rendering.OpenGL.Raw.Core32
-
-gl_COMPRESSED_SRGB_S3TC_DXT1 :: GLenum
-gl_COMPRESSED_SRGB_S3TC_DXT1 = 0x8C4C
-
-gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT1 :: GLenum
-gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT1 = 0x8C4D
-
-gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT3 :: GLenum
-gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT3 = 0x8C4E
-
-gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT5 :: GLenum
-gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT5 = 0x8C4F
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.TextureSRGB
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the EXT_texture_sRGB extension not already
+-- in the OpenGL 3.1 core, see
+-- <http://www.opengl.org/registry/specs/EXT/texture_sRGB.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.TextureSRGB (
+   -- * Tokens
+   gl_SLUMINANCE_ALPHA,
+   gl_SLUMINANCE8_ALPHA8,
+   gl_SLUMINANCE,
+   gl_SLUMINANCE8,
+   gl_COMPRESSED_SLUMINANCE,
+   gl_COMPRESSED_SLUMINANCE_ALPHA,
+   gl_COMPRESSED_SRGB_S3TC_DXT1,
+   gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT1,
+   gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT3,
+   gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT5
+) where
+
+import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
+import Graphics.Rendering.OpenGL.Raw.Core32
+
+gl_COMPRESSED_SRGB_S3TC_DXT1 :: GLenum
+gl_COMPRESSED_SRGB_S3TC_DXT1 = 0x8C4C
+
+gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT1 :: GLenum
+gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT1 = 0x8C4D
+
+gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT3 :: GLenum
+gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT3 = 0x8C4E
+
+gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT5 :: GLenum
+gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT5 = 0x8C4F
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureSharedExponent.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureSharedExponent.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureSharedExponent.hs
@@ -0,0 +1,23 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.TextureSharedExponent
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw tokens from the EXT_texture_shared_exponent extension, see
+-- <http://www.opengl.org/registry/specs/EXT/texture_shared_exponent.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.TextureSharedExponent (
+   -- * Tokens
+   gl_RGB9_E5,
+   gl_UNSIGNED_INT_5_9_9_9_REV,
+   gl_TEXTURE_SHARED_SIZE
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core31.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureSwizzle.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureSwizzle.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureSwizzle.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureSwizzle.hs
@@ -1,37 +1,26 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.TextureSwizzle
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the EXT_texture_swizzle extension not
--- already in the OpenGL 3.1 core, see
--- <http://www.opengl.org/registry/specs/EXT/texture_swizzle.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.TextureSwizzle (
-   -- * Tokens
-   gl_TEXTURE_SWIZZLE_R,
-   gl_TEXTURE_SWIZZLE_G,
-   gl_TEXTURE_SWIZZLE_B,
-   gl_TEXTURE_SWIZZLE_A
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core32
-
-gl_TEXTURE_SWIZZLE_R :: GLenum
-gl_TEXTURE_SWIZZLE_R = 0x8E42
-
-gl_TEXTURE_SWIZZLE_G :: GLenum
-gl_TEXTURE_SWIZZLE_G = 0x8E43
-
-gl_TEXTURE_SWIZZLE_B :: GLenum
-gl_TEXTURE_SWIZZLE_B = 0x8E44
-
-gl_TEXTURE_SWIZZLE_A :: GLenum
-gl_TEXTURE_SWIZZLE_A = 0x8E45
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.TextureSwizzle
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the EXT_texture_swizzle extension not
+-- already in the OpenGL 3.1 core, see
+-- <http://www.opengl.org/registry/specs/EXT/texture_swizzle.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.TextureSwizzle (
+   -- * Tokens
+   gl_TEXTURE_SWIZZLE_R,
+   gl_TEXTURE_SWIZZLE_G,
+   gl_TEXTURE_SWIZZLE_B,
+   gl_TEXTURE_SWIZZLE_A,
+   gl_TEXTURE_SWIZZLE_RGBA
+) where
+
+import Graphics.Rendering.OpenGL.Raw.ARB.TextureSwizzle
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/TimerQuery.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/TimerQuery.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/TimerQuery.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/TimerQuery.hs
@@ -1,28 +1,28 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.TimerQuery
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions, tokens and type from the EXT_timer_query extension, see
--- <http://www.opengl.org/registry/specs/EXT/timer_query.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.TimerQuery (
-   -- * Functions
-   glGetQueryObjecti64v,
-   glGetQueryObjectui64v,
-   -- * Tokens
-   gl_TIME_ELAPSED,
-   -- * Types
-   GLint64,
-   GLuint64
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Types
-import Graphics.Rendering.OpenGL.Raw.ARB.TimerQuery
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.TimerQuery
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions, tokens and type from the EXT_timer_query extension, see
+-- <http://www.opengl.org/registry/specs/EXT/timer_query.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.TimerQuery (
+   -- * Functions
+   glGetQueryObjecti64v,
+   glGetQueryObjectui64v,
+   -- * Tokens
+   gl_TIME_ELAPSED,
+   -- * Types
+   GLint64,
+   GLuint64
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Types
+import Graphics.Rendering.OpenGL.Raw.ARB.TimerQuery
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/TransformFeedback.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/TransformFeedback.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/TransformFeedback.hs
@@ -0,0 +1,45 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.TransformFeedback
+-- Copyright   :  (c) Sven Panne 2014
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the EXT_transform_feedback extension,
+-- see <http://www.opengl.org/registry/specs/EXT/transform_feedback.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.TransformFeedback (
+   -- * Functions
+   glBeginTransformFeedback,
+   glEndTransformFeedback,
+   glBindBufferRange,
+   glBindBufferOffset,
+   glBindBufferBase,
+   glTransformFeedbackVaryings,
+   glGetTransformFeedbackVarying,
+
+   -- * Tokens
+   gl_TRANSFORM_FEEDBACK_BUFFER,
+   gl_TRANSFORM_FEEDBACK_BUFFER_START,
+   gl_TRANSFORM_FEEDBACK_BUFFER_SIZE,
+   gl_TRANSFORM_FEEDBACK_BUFFER_BINDING,
+   gl_INTERLEAVED_ATTRIBS,
+   gl_SEPARATE_ATTRIBS,
+   gl_PRIMITIVES_GENERATED,
+   gl_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN,
+   gl_RASTERIZER_DISCARD,
+   gl_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,
+   gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,
+   gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,
+   gl_TRANSFORM_FEEDBACK_VARYINGS,
+   gl_TRANSFORM_FEEDBACK_BUFFER_MODE,
+   gl_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
+import Graphics.Rendering.OpenGL.Raw.NV.ParameterBufferObject
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/VertexArray.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/VertexArray.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/VertexArray.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/VertexArray.hs
@@ -1,63 +1,63 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.VertexArray
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the EXT_vertex_array extension, see
--- <http://www.opengl.org/registry/specs/EXT/vertex_array.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.VertexArray (
-   -- * Functions
-   glDrawArrays,
-   glVertexPointer,
-   glNormalPointer,
-   glColorPointer,
-   glIndexPointer,
-   glTexCoordPointer,
-   glEdgeFlagPointer,
-   glGetPointerv,
-   -- * Tokens
-   gl_VERTEX_ARRAY,
-   gl_NORMAL_ARRAY,
-   gl_COLOR_ARRAY,
-   gl_INDEX_ARRAY,
-   gl_TEXTURE_COORD_ARRAY,
-   gl_EDGE_FLAG_ARRAY,
-   gl_DOUBLE,
-   gl_VERTEX_ARRAY_SIZE,
-   gl_VERTEX_ARRAY_TYPE,
-   gl_VERTEX_ARRAY_STRIDE,
-   gl_VERTEX_ARRAY_COUNT,
-   gl_NORMAL_ARRAY_TYPE,
-   gl_NORMAL_ARRAY_STRIDE,
-   gl_NORMAL_ARRAY_COUNT,
-   gl_COLOR_ARRAY_SIZE,
-   gl_COLOR_ARRAY_TYPE,
-   gl_COLOR_ARRAY_STRIDE,
-   gl_COLOR_ARRAY_COUNT,
-   gl_INDEX_ARRAY_TYPE,
-   gl_INDEX_ARRAY_STRIDE,
-   gl_INDEX_ARRAY_COUNT,
-   gl_TEXTURE_COORD_ARRAY_SIZE,
-   gl_TEXTURE_COORD_ARRAY_TYPE,
-   gl_TEXTURE_COORD_ARRAY_STRIDE,
-   gl_TEXTURE_COORD_ARRAY_COUNT,
-   gl_EDGE_FLAG_ARRAY_STRIDE,
-   gl_EDGE_FLAG_ARRAY_COUNT,
-   gl_VERTEX_ARRAY_POINTER,
-   gl_NORMAL_ARRAY_POINTER,
-   gl_COLOR_ARRAY_POINTER,
-   gl_INDEX_ARRAY_POINTER,
-   gl_TEXTURE_COORD_ARRAY_POINTER,
-   gl_EDGE_FLAG_ARRAY_POINTER
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
-import Graphics.Rendering.OpenGL.Raw.Core32
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.VertexArray
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the EXT_vertex_array extension, see
+-- <http://www.opengl.org/registry/specs/EXT/vertex_array.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.VertexArray (
+   -- * Functions
+   glDrawArrays,
+   glVertexPointer,
+   glNormalPointer,
+   glColorPointer,
+   glIndexPointer,
+   glTexCoordPointer,
+   glEdgeFlagPointer,
+   glGetPointerv,
+   -- * Tokens
+   gl_VERTEX_ARRAY,
+   gl_NORMAL_ARRAY,
+   gl_COLOR_ARRAY,
+   gl_INDEX_ARRAY,
+   gl_TEXTURE_COORD_ARRAY,
+   gl_EDGE_FLAG_ARRAY,
+   gl_DOUBLE,
+   gl_VERTEX_ARRAY_SIZE,
+   gl_VERTEX_ARRAY_TYPE,
+   gl_VERTEX_ARRAY_STRIDE,
+   gl_VERTEX_ARRAY_COUNT,
+   gl_NORMAL_ARRAY_TYPE,
+   gl_NORMAL_ARRAY_STRIDE,
+   gl_NORMAL_ARRAY_COUNT,
+   gl_COLOR_ARRAY_SIZE,
+   gl_COLOR_ARRAY_TYPE,
+   gl_COLOR_ARRAY_STRIDE,
+   gl_COLOR_ARRAY_COUNT,
+   gl_INDEX_ARRAY_TYPE,
+   gl_INDEX_ARRAY_STRIDE,
+   gl_INDEX_ARRAY_COUNT,
+   gl_TEXTURE_COORD_ARRAY_SIZE,
+   gl_TEXTURE_COORD_ARRAY_TYPE,
+   gl_TEXTURE_COORD_ARRAY_STRIDE,
+   gl_TEXTURE_COORD_ARRAY_COUNT,
+   gl_EDGE_FLAG_ARRAY_STRIDE,
+   gl_EDGE_FLAG_ARRAY_COUNT,
+   gl_VERTEX_ARRAY_POINTER,
+   gl_NORMAL_ARRAY_POINTER,
+   gl_COLOR_ARRAY_POINTER,
+   gl_INDEX_ARRAY_POINTER,
+   gl_TEXTURE_COORD_ARRAY_POINTER,
+   gl_EDGE_FLAG_ARRAY_POINTER
+) where
+
+import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
+import Graphics.Rendering.OpenGL.Raw.Core32
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/VertexShader.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/VertexShader.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/VertexShader.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/VertexShader.hs
@@ -1,547 +1,547 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.VertexShader
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the EXT_vertex_shader extension, see
--- <http://www.opengl.org/registry/specs/EXT/vertex_shader.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.VertexShader (
-   -- * Functions
-   glBeginVertexShader,
-   glEndVertexShader,
-   glBindVertexShader,
-   glGenVertexShaders,
-   glDeleteVertexShader,
-   glShaderOp1,
-   glShaderOp2,
-   glShaderOp3,
-   glSwizzle,
-   glWriteMask,
-   glInsertComponent,
-   glExtractComponent,
-   glGenSymbols,
-   glSetInvariant,
-   glSetLocalConstant,
-   glVariantbv,
-   glVariantsv,
-   glVariantiv,
-   glVariantfv,
-   glVariantdv,
-   glVariantubv,
-   glVariantusv,
-   glVariantuiv,
-   glVariantPointer,
-   glEnableVariantClientState,
-   glDisableVariantClientState,
-   glBindLightParameter,
-   glBindMaterialParameter,
-   glBindTexGenParameter,
-   glBindTextureUnitParameter,
-   glBindParameter,
-   glIsVariantEnabled,
-   glGetVariantBooleanv,
-   glGetVariantIntegerv,
-   glGetVariantFloatv,
-   glGetVariantPointerv,
-   glGetInvariantBooleanv,
-   glGetInvariantIntegerv,
-   glGetInvariantFloatv,
-   glGetLocalConstantBooleanv,
-   glGetLocalConstantIntegerv,
-   glGetLocalConstantFloatv,
-   -- * Tokens
-   gl_VERTEX_SHADER,
-   gl_VARIANT_VALUE,
-   gl_VARIANT_DATATYPE,
-   gl_VARIANT_ARRAY_STRIDE,
-   gl_VARIANT_ARRAY_TYPE,
-   gl_VARIANT_ARRAY,
-   gl_VARIANT_ARRAY_POINTER,
-   gl_INVARIANT_VALUE,
-   gl_INVARIANT_DATATYPE,
-   gl_LOCAL_CONSTANT_VALUE,
-   gl_LOCAL_CONSTANT_DATATYPE,
-   gl_OP_INDEX,
-   gl_OP_NEGATE,
-   gl_OP_DOT3,
-   gl_OP_DOT4,
-   gl_OP_MUL,
-   gl_OP_ADD,
-   gl_OP_MADD,
-   gl_OP_FRAC,
-   gl_OP_MAX,
-   gl_OP_MIN,
-   gl_OP_SET_GE,
-   gl_OP_SET_LT,
-   gl_OP_CLAMP,
-   gl_OP_FLOOR,
-   gl_OP_ROUND,
-   gl_OP_EXP_BASE_2,
-   gl_OP_LOG_BASE_2,
-   gl_OP_POWER,
-   gl_OP_RECIP,
-   gl_OP_RECIP_SQRT,
-   gl_OP_SUB,
-   gl_OP_CROSS_PRODUCT,
-   gl_OP_MULTIPLY_MATRIX,
-   gl_OP_MOV,
-   gl_OUTPUT_VERTEX,
-   gl_OUTPUT_COLOR0,
-   gl_OUTPUT_COLOR1,
-   gl_OUTPUT_TEXTURE_COORD0,
-   gl_OUTPUT_TEXTURE_COORD1,
-   gl_OUTPUT_TEXTURE_COORD2,
-   gl_OUTPUT_TEXTURE_COORD3,
-   gl_OUTPUT_TEXTURE_COORD4,
-   gl_OUTPUT_TEXTURE_COORD5,
-   gl_OUTPUT_TEXTURE_COORD6,
-   gl_OUTPUT_TEXTURE_COORD7,
-   gl_OUTPUT_TEXTURE_COORD8,
-   gl_OUTPUT_TEXTURE_COORD9,
-   gl_OUTPUT_TEXTURE_COORD10,
-   gl_OUTPUT_TEXTURE_COORD11,
-   gl_OUTPUT_TEXTURE_COORD12,
-   gl_OUTPUT_TEXTURE_COORD13,
-   gl_OUTPUT_TEXTURE_COORD14,
-   gl_OUTPUT_TEXTURE_COORD15,
-   gl_OUTPUT_TEXTURE_COORD16,
-   gl_OUTPUT_TEXTURE_COORD17,
-   gl_OUTPUT_TEXTURE_COORD18,
-   gl_OUTPUT_TEXTURE_COORD19,
-   gl_OUTPUT_TEXTURE_COORD20,
-   gl_OUTPUT_TEXTURE_COORD21,
-   gl_OUTPUT_TEXTURE_COORD22,
-   gl_OUTPUT_TEXTURE_COORD23,
-   gl_OUTPUT_TEXTURE_COORD24,
-   gl_OUTPUT_TEXTURE_COORD25,
-   gl_OUTPUT_TEXTURE_COORD26,
-   gl_OUTPUT_TEXTURE_COORD27,
-   gl_OUTPUT_TEXTURE_COORD28,
-   gl_OUTPUT_TEXTURE_COORD29,
-   gl_OUTPUT_TEXTURE_COORD30,
-   gl_OUTPUT_TEXTURE_COORD31,
-   gl_OUTPUT_FOG,
-   gl_SCALAR,
-   gl_VECTOR,
-   gl_MATRIX,
-   gl_VARIANT,
-   gl_INVARIANT,
-   gl_LOCAL_CONSTANT,
-   gl_LOCAL,
-   gl_MAX_VERTEX_SHADER_INSTRUCTIONS,
-   gl_MAX_VERTEX_SHADER_VARIANTS,
-   gl_MAX_VERTEX_SHADER_INVARIANTS,
-   gl_MAX_VERTEX_SHADER_LOCAL_CONSTANTS,
-   gl_MAX_VERTEX_SHADER_LOCALS,
-   gl_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS,
-   gl_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS,
-   gl_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS,
-   gl_MAX_OPTIMIZED_VERTEX_SHADER_INARIANTS,
-   gl_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS,
-   gl_VERTEX_SHADER_INSTRUCTIONS,
-   gl_VERTEX_SHADER_VARIANTS,
-   gl_VERTEX_SHADER_INVARIANTS,
-   gl_VERTEX_SHADER_LOCAL_CONSTANTS,
-   gl_VERTEX_SHADER_LOCALS,
-   gl_VERTEX_SHADER_BINDING,
-   gl_VERTEX_SHADER_OPTIMIZED,
-   gl_X,
-   gl_Y,
-   gl_Z,
-   gl_W,
-   gl_NEGATIVE_X,
-   gl_NEGATIVE_Y,
-   gl_NEGATIVE_Z,
-   gl_NEGATIVE_W,
-   gl_ZERO,
-   gl_ONE,
-   gl_NEGATIVE_ONE,
-   gl_NORMALIZED_RANGE,
-   gl_FULL_RANGE,
-   gl_CURRENT_VERTEX,
-   gl_MVP_MATRIX
-) where
-
-import Foreign.Ptr
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.Core32
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_EXT_vertex_shader"
-
-EXTENSION_ENTRY(glBeginVertexShader,IO ())
-EXTENSION_ENTRY(glEndVertexShader,IO ())
-EXTENSION_ENTRY(glBindVertexShader,GLuint -> IO ())
-EXTENSION_ENTRY(glGenVertexShaders,GLuint -> IO GLuint)
-EXTENSION_ENTRY(glDeleteVertexShader,GLuint -> IO ())
-EXTENSION_ENTRY(glShaderOp1,GLenum -> GLuint -> GLuint -> IO ())
-EXTENSION_ENTRY(glShaderOp2,GLenum -> GLuint -> GLuint -> GLuint -> IO ())
-EXTENSION_ENTRY(glShaderOp3,GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-EXTENSION_ENTRY(glSwizzle,GLuint -> GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-EXTENSION_ENTRY(glWriteMask,GLuint -> GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-EXTENSION_ENTRY(glInsertComponent,GLuint -> GLuint -> GLuint -> IO ())
-EXTENSION_ENTRY(glExtractComponent,GLuint -> GLuint -> GLuint -> IO ())
-EXTENSION_ENTRY(glGenSymbols,GLenum -> GLenum -> GLenum -> GLuint -> IO GLuint)
-EXTENSION_ENTRY(glSetInvariant,GLuint -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(glSetLocalConstant,GLuint -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(glVariantbv,GLuint -> Ptr GLbyte -> IO ())
-EXTENSION_ENTRY(glVariantsv,GLuint -> Ptr GLshort -> IO ())
-EXTENSION_ENTRY(glVariantiv,GLuint -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glVariantfv,GLuint -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glVariantdv,GLuint -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glVariantubv,GLuint -> Ptr GLubyte -> IO ())
-EXTENSION_ENTRY(glVariantusv,GLuint -> Ptr GLushort -> IO ())
-EXTENSION_ENTRY(glVariantuiv,GLuint -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glVariantPointer,GLuint -> GLenum -> GLuint -> Ptr a -> IO ())
-EXTENSION_ENTRY(glEnableVariantClientState,GLuint-> IO ())
-EXTENSION_ENTRY(glDisableVariantClientState,GLuint-> IO ())
-EXTENSION_ENTRY(glBindLightParameter,GLenum -> GLenum-> IO GLuint)
-EXTENSION_ENTRY(glBindMaterialParameter,GLenum -> GLenum-> IO GLuint)
-EXTENSION_ENTRY(glBindTexGenParameter,GLenum -> GLenum -> GLenum-> IO GLuint)
-EXTENSION_ENTRY(glBindTextureUnitParameter,GLenum -> GLenum-> IO GLuint)
-EXTENSION_ENTRY(glBindParameter,GLenum -> IO GLuint)
-EXTENSION_ENTRY(glIsVariantEnabled,GLuint -> GLenum -> IO GLboolean)
-EXTENSION_ENTRY(glGetVariantBooleanv,GLuint -> GLenum -> Ptr GLboolean -> IO ())
-EXTENSION_ENTRY(glGetVariantIntegerv,GLuint -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glGetVariantFloatv,GLuint -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glGetVariantPointerv,GLuint -> GLenum -> Ptr (Ptr a) -> IO ())
-EXTENSION_ENTRY(glGetInvariantBooleanv,GLuint -> GLenum -> Ptr GLboolean -> IO ())
-EXTENSION_ENTRY(glGetInvariantIntegerv,GLuint -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glGetInvariantFloatv,GLuint -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glGetLocalConstantBooleanv,GLuint -> GLenum -> Ptr GLboolean -> IO ())
-EXTENSION_ENTRY(glGetLocalConstantIntegerv,GLuint -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glGetLocalConstantFloatv,GLuint -> GLenum -> Ptr GLfloat -> IO ())
-
-gl_VARIANT_VALUE :: GLenum
-gl_VARIANT_VALUE = 0x87E4
-
-gl_VARIANT_DATATYPE :: GLenum
-gl_VARIANT_DATATYPE = 0x87E5
-
-gl_VARIANT_ARRAY_STRIDE :: GLenum
-gl_VARIANT_ARRAY_STRIDE = 0x87E6
-
-gl_VARIANT_ARRAY_TYPE :: GLenum
-gl_VARIANT_ARRAY_TYPE = 0x87E7
-
-gl_VARIANT_ARRAY :: GLenum
-gl_VARIANT_ARRAY = 0x87E8
-
-gl_VARIANT_ARRAY_POINTER :: GLenum
-gl_VARIANT_ARRAY_POINTER = 0x87E9
-
-gl_INVARIANT_VALUE :: GLenum
-gl_INVARIANT_VALUE = 0x87EA
-
-gl_INVARIANT_DATATYPE :: GLenum
-gl_INVARIANT_DATATYPE = 0x87EB
-
-gl_LOCAL_CONSTANT_VALUE :: GLenum
-gl_LOCAL_CONSTANT_VALUE = 0x87EC
-
-gl_LOCAL_CONSTANT_DATATYPE :: GLenum
-gl_LOCAL_CONSTANT_DATATYPE = 0x87ED
-
-gl_OP_INDEX :: GLenum
-gl_OP_INDEX = 0x8782
-
-gl_OP_NEGATE :: GLenum
-gl_OP_NEGATE = 0x8783
-
-gl_OP_DOT3 :: GLenum
-gl_OP_DOT3 = 0x8784
-
-gl_OP_DOT4 :: GLenum
-gl_OP_DOT4 = 0x8785
-
-gl_OP_MUL :: GLenum
-gl_OP_MUL = 0x8786
-
-gl_OP_ADD :: GLenum
-gl_OP_ADD = 0x8787
-
-gl_OP_MADD :: GLenum
-gl_OP_MADD = 0x8788
-
-gl_OP_FRAC :: GLenum
-gl_OP_FRAC = 0x8789
-
-gl_OP_MAX :: GLenum
-gl_OP_MAX = 0x878A
-
-gl_OP_MIN :: GLenum
-gl_OP_MIN = 0x878B
-
-gl_OP_SET_GE :: GLenum
-gl_OP_SET_GE = 0x878C
-
-gl_OP_SET_LT :: GLenum
-gl_OP_SET_LT = 0x878D
-
-gl_OP_CLAMP :: GLenum
-gl_OP_CLAMP = 0x878E
-
-gl_OP_FLOOR :: GLenum
-gl_OP_FLOOR = 0x878F
-
-gl_OP_ROUND :: GLenum
-gl_OP_ROUND = 0x8790
-
-gl_OP_EXP_BASE_2 :: GLenum
-gl_OP_EXP_BASE_2 = 0x8791
-
-gl_OP_LOG_BASE_2 :: GLenum
-gl_OP_LOG_BASE_2 = 0x8792
-
-gl_OP_POWER :: GLenum
-gl_OP_POWER = 0x8793
-
-gl_OP_RECIP :: GLenum
-gl_OP_RECIP = 0x8794
-
-gl_OP_RECIP_SQRT :: GLenum
-gl_OP_RECIP_SQRT = 0x8795
-
-gl_OP_SUB :: GLenum
-gl_OP_SUB = 0x8796
-
-gl_OP_CROSS_PRODUCT :: GLenum
-gl_OP_CROSS_PRODUCT = 0x8797
-
-gl_OP_MULTIPLY_MATRIX :: GLenum
-gl_OP_MULTIPLY_MATRIX = 0x8798
-
-gl_OP_MOV :: GLenum
-gl_OP_MOV = 0x8799
-
-gl_OUTPUT_VERTEX :: GLenum
-gl_OUTPUT_VERTEX = 0x879A
-
-gl_OUTPUT_COLOR0 :: GLenum
-gl_OUTPUT_COLOR0 = 0x879B
-
-gl_OUTPUT_COLOR1 :: GLenum
-gl_OUTPUT_COLOR1 = 0x879C
-
-gl_OUTPUT_TEXTURE_COORD0 :: GLenum
-gl_OUTPUT_TEXTURE_COORD0 = 0x879D
-
-gl_OUTPUT_TEXTURE_COORD1 :: GLenum
-gl_OUTPUT_TEXTURE_COORD1 = 0x879E
-
-gl_OUTPUT_TEXTURE_COORD2 :: GLenum
-gl_OUTPUT_TEXTURE_COORD2 = 0x879F
-
-gl_OUTPUT_TEXTURE_COORD3 :: GLenum
-gl_OUTPUT_TEXTURE_COORD3 = 0x87A0
-
-gl_OUTPUT_TEXTURE_COORD4 :: GLenum
-gl_OUTPUT_TEXTURE_COORD4 = 0x87A1
-
-gl_OUTPUT_TEXTURE_COORD5 :: GLenum
-gl_OUTPUT_TEXTURE_COORD5 = 0x87A2
-
-gl_OUTPUT_TEXTURE_COORD6 :: GLenum
-gl_OUTPUT_TEXTURE_COORD6 = 0x87A3
-
-gl_OUTPUT_TEXTURE_COORD7 :: GLenum
-gl_OUTPUT_TEXTURE_COORD7 = 0x87A4
-
-gl_OUTPUT_TEXTURE_COORD8 :: GLenum
-gl_OUTPUT_TEXTURE_COORD8 = 0x87A5
-
-gl_OUTPUT_TEXTURE_COORD9 :: GLenum
-gl_OUTPUT_TEXTURE_COORD9 = 0x87A6
-
-gl_OUTPUT_TEXTURE_COORD10 :: GLenum
-gl_OUTPUT_TEXTURE_COORD10 = 0x87A7
-
-gl_OUTPUT_TEXTURE_COORD11 :: GLenum
-gl_OUTPUT_TEXTURE_COORD11 = 0x87A8
-
-gl_OUTPUT_TEXTURE_COORD12 :: GLenum
-gl_OUTPUT_TEXTURE_COORD12 = 0x87A9
-
-gl_OUTPUT_TEXTURE_COORD13 :: GLenum
-gl_OUTPUT_TEXTURE_COORD13 = 0x87AA
-
-gl_OUTPUT_TEXTURE_COORD14 :: GLenum
-gl_OUTPUT_TEXTURE_COORD14 = 0x87AB
-
-gl_OUTPUT_TEXTURE_COORD15 :: GLenum
-gl_OUTPUT_TEXTURE_COORD15 = 0x87AC
-
-gl_OUTPUT_TEXTURE_COORD16 :: GLenum
-gl_OUTPUT_TEXTURE_COORD16 = 0x87AD
-
-gl_OUTPUT_TEXTURE_COORD17 :: GLenum
-gl_OUTPUT_TEXTURE_COORD17 = 0x87AE
-
-gl_OUTPUT_TEXTURE_COORD18 :: GLenum
-gl_OUTPUT_TEXTURE_COORD18 = 0x87AF
-
-gl_OUTPUT_TEXTURE_COORD19 :: GLenum
-gl_OUTPUT_TEXTURE_COORD19 = 0x87B0
-
-gl_OUTPUT_TEXTURE_COORD20 :: GLenum
-gl_OUTPUT_TEXTURE_COORD20 = 0x87B1
-
-gl_OUTPUT_TEXTURE_COORD21 :: GLenum
-gl_OUTPUT_TEXTURE_COORD21 = 0x87B2
-
-gl_OUTPUT_TEXTURE_COORD22 :: GLenum
-gl_OUTPUT_TEXTURE_COORD22 = 0x87B3
-
-gl_OUTPUT_TEXTURE_COORD23 :: GLenum
-gl_OUTPUT_TEXTURE_COORD23 = 0x87B4
-
-gl_OUTPUT_TEXTURE_COORD24 :: GLenum
-gl_OUTPUT_TEXTURE_COORD24 = 0x87B5
-
-gl_OUTPUT_TEXTURE_COORD25 :: GLenum
-gl_OUTPUT_TEXTURE_COORD25 = 0x87B6
-
-gl_OUTPUT_TEXTURE_COORD26 :: GLenum
-gl_OUTPUT_TEXTURE_COORD26 = 0x87B7
-
-gl_OUTPUT_TEXTURE_COORD27 :: GLenum
-gl_OUTPUT_TEXTURE_COORD27 = 0x87B8
-
-gl_OUTPUT_TEXTURE_COORD28 :: GLenum
-gl_OUTPUT_TEXTURE_COORD28 = 0x87B9
-
-gl_OUTPUT_TEXTURE_COORD29 :: GLenum
-gl_OUTPUT_TEXTURE_COORD29 = 0x87BA
-
-gl_OUTPUT_TEXTURE_COORD30 :: GLenum
-gl_OUTPUT_TEXTURE_COORD30 = 0x87BB
-
-gl_OUTPUT_TEXTURE_COORD31 :: GLenum
-gl_OUTPUT_TEXTURE_COORD31 = 0x87BC
-
-gl_OUTPUT_FOG :: GLenum
-gl_OUTPUT_FOG = 0x87BD
-
-gl_SCALAR :: GLenum
-gl_SCALAR = 0x87BE
-
-gl_VECTOR :: GLenum
-gl_VECTOR = 0x87BF
-
-gl_MATRIX :: GLenum
-gl_MATRIX = 0x87C0
-
-gl_VARIANT :: GLenum
-gl_VARIANT = 0x87C1
-
-gl_INVARIANT :: GLenum
-gl_INVARIANT = 0x87C2
-
-gl_LOCAL_CONSTANT :: GLenum
-gl_LOCAL_CONSTANT = 0x87C3
-
-gl_LOCAL :: GLenum
-gl_LOCAL = 0x87C4
-
-gl_MAX_VERTEX_SHADER_INSTRUCTIONS :: GLenum
-gl_MAX_VERTEX_SHADER_INSTRUCTIONS = 0x87C5
-
-gl_MAX_VERTEX_SHADER_VARIANTS :: GLenum
-gl_MAX_VERTEX_SHADER_VARIANTS = 0x87C6
-
-gl_MAX_VERTEX_SHADER_INVARIANTS :: GLenum
-gl_MAX_VERTEX_SHADER_INVARIANTS = 0x87C7
-
-gl_MAX_VERTEX_SHADER_LOCAL_CONSTANTS :: GLenum
-gl_MAX_VERTEX_SHADER_LOCAL_CONSTANTS = 0x87C8
-
-gl_MAX_VERTEX_SHADER_LOCALS :: GLenum
-gl_MAX_VERTEX_SHADER_LOCALS = 0x87C9
-
-gl_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS :: GLenum
-gl_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS = 0x87CA
-
-gl_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS :: GLenum
-gl_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS = 0x87CB
-
-gl_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS :: GLenum
-gl_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS = 0x87CC
-
-gl_MAX_OPTIMIZED_VERTEX_SHADER_INARIANTS :: GLenum
-gl_MAX_OPTIMIZED_VERTEX_SHADER_INARIANTS = 0x87CD
-
-gl_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS :: GLenum
-gl_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS = 0x87CE
-
-gl_VERTEX_SHADER_INSTRUCTIONS :: GLenum
-gl_VERTEX_SHADER_INSTRUCTIONS = 0x87CF
-
-gl_VERTEX_SHADER_VARIANTS :: GLenum
-gl_VERTEX_SHADER_VARIANTS = 0x87D0
-
-gl_VERTEX_SHADER_INVARIANTS :: GLenum
-gl_VERTEX_SHADER_INVARIANTS = 0x87D1
-
-gl_VERTEX_SHADER_LOCAL_CONSTANTS :: GLenum
-gl_VERTEX_SHADER_LOCAL_CONSTANTS = 0x87D2
-
-gl_VERTEX_SHADER_LOCALS :: GLenum
-gl_VERTEX_SHADER_LOCALS = 0x87D3
-
-gl_VERTEX_SHADER_BINDING :: GLenum
-gl_VERTEX_SHADER_BINDING = 0x8781
-
-gl_VERTEX_SHADER_OPTIMIZED :: GLenum
-gl_VERTEX_SHADER_OPTIMIZED = 0x87D4
-
-gl_X :: GLenum
-gl_X = 0x87D5
-
-gl_Y :: GLenum
-gl_Y = 0x87D6
-
-gl_Z :: GLenum
-gl_Z = 0x87D7
-
-gl_W :: GLenum
-gl_W = 0x87D8
-
-gl_NEGATIVE_X :: GLenum
-gl_NEGATIVE_X = 0x87D9
-
-gl_NEGATIVE_Y :: GLenum
-gl_NEGATIVE_Y = 0x87DA
-
-gl_NEGATIVE_Z :: GLenum
-gl_NEGATIVE_Z = 0x87DB
-
-gl_NEGATIVE_W :: GLenum
-gl_NEGATIVE_W = 0x87DC
-
-gl_NEGATIVE_ONE :: GLenum
-gl_NEGATIVE_ONE = 0x87DF
-
-gl_NORMALIZED_RANGE :: GLenum
-gl_NORMALIZED_RANGE = 0x87E0
-
-gl_FULL_RANGE :: GLenum
-gl_FULL_RANGE = 0x87E1
-
-gl_CURRENT_VERTEX :: GLenum
-gl_CURRENT_VERTEX = 0x87E2
-
-gl_MVP_MATRIX :: GLenum
-gl_MVP_MATRIX = 0x87E3
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.VertexShader
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the EXT_vertex_shader extension, see
+-- <http://www.opengl.org/registry/specs/EXT/vertex_shader.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.VertexShader (
+   -- * Functions
+   glBeginVertexShader,
+   glEndVertexShader,
+   glBindVertexShader,
+   glGenVertexShaders,
+   glDeleteVertexShader,
+   glShaderOp1,
+   glShaderOp2,
+   glShaderOp3,
+   glSwizzle,
+   glWriteMask,
+   glInsertComponent,
+   glExtractComponent,
+   glGenSymbols,
+   glSetInvariant,
+   glSetLocalConstant,
+   glVariantbv,
+   glVariantsv,
+   glVariantiv,
+   glVariantfv,
+   glVariantdv,
+   glVariantubv,
+   glVariantusv,
+   glVariantuiv,
+   glVariantPointer,
+   glEnableVariantClientState,
+   glDisableVariantClientState,
+   glBindLightParameter,
+   glBindMaterialParameter,
+   glBindTexGenParameter,
+   glBindTextureUnitParameter,
+   glBindParameter,
+   glIsVariantEnabled,
+   glGetVariantBooleanv,
+   glGetVariantIntegerv,
+   glGetVariantFloatv,
+   glGetVariantPointerv,
+   glGetInvariantBooleanv,
+   glGetInvariantIntegerv,
+   glGetInvariantFloatv,
+   glGetLocalConstantBooleanv,
+   glGetLocalConstantIntegerv,
+   glGetLocalConstantFloatv,
+   -- * Tokens
+   gl_VERTEX_SHADER,
+   gl_VARIANT_VALUE,
+   gl_VARIANT_DATATYPE,
+   gl_VARIANT_ARRAY_STRIDE,
+   gl_VARIANT_ARRAY_TYPE,
+   gl_VARIANT_ARRAY,
+   gl_VARIANT_ARRAY_POINTER,
+   gl_INVARIANT_VALUE,
+   gl_INVARIANT_DATATYPE,
+   gl_LOCAL_CONSTANT_VALUE,
+   gl_LOCAL_CONSTANT_DATATYPE,
+   gl_OP_INDEX,
+   gl_OP_NEGATE,
+   gl_OP_DOT3,
+   gl_OP_DOT4,
+   gl_OP_MUL,
+   gl_OP_ADD,
+   gl_OP_MADD,
+   gl_OP_FRAC,
+   gl_OP_MAX,
+   gl_OP_MIN,
+   gl_OP_SET_GE,
+   gl_OP_SET_LT,
+   gl_OP_CLAMP,
+   gl_OP_FLOOR,
+   gl_OP_ROUND,
+   gl_OP_EXP_BASE_2,
+   gl_OP_LOG_BASE_2,
+   gl_OP_POWER,
+   gl_OP_RECIP,
+   gl_OP_RECIP_SQRT,
+   gl_OP_SUB,
+   gl_OP_CROSS_PRODUCT,
+   gl_OP_MULTIPLY_MATRIX,
+   gl_OP_MOV,
+   gl_OUTPUT_VERTEX,
+   gl_OUTPUT_COLOR0,
+   gl_OUTPUT_COLOR1,
+   gl_OUTPUT_TEXTURE_COORD0,
+   gl_OUTPUT_TEXTURE_COORD1,
+   gl_OUTPUT_TEXTURE_COORD2,
+   gl_OUTPUT_TEXTURE_COORD3,
+   gl_OUTPUT_TEXTURE_COORD4,
+   gl_OUTPUT_TEXTURE_COORD5,
+   gl_OUTPUT_TEXTURE_COORD6,
+   gl_OUTPUT_TEXTURE_COORD7,
+   gl_OUTPUT_TEXTURE_COORD8,
+   gl_OUTPUT_TEXTURE_COORD9,
+   gl_OUTPUT_TEXTURE_COORD10,
+   gl_OUTPUT_TEXTURE_COORD11,
+   gl_OUTPUT_TEXTURE_COORD12,
+   gl_OUTPUT_TEXTURE_COORD13,
+   gl_OUTPUT_TEXTURE_COORD14,
+   gl_OUTPUT_TEXTURE_COORD15,
+   gl_OUTPUT_TEXTURE_COORD16,
+   gl_OUTPUT_TEXTURE_COORD17,
+   gl_OUTPUT_TEXTURE_COORD18,
+   gl_OUTPUT_TEXTURE_COORD19,
+   gl_OUTPUT_TEXTURE_COORD20,
+   gl_OUTPUT_TEXTURE_COORD21,
+   gl_OUTPUT_TEXTURE_COORD22,
+   gl_OUTPUT_TEXTURE_COORD23,
+   gl_OUTPUT_TEXTURE_COORD24,
+   gl_OUTPUT_TEXTURE_COORD25,
+   gl_OUTPUT_TEXTURE_COORD26,
+   gl_OUTPUT_TEXTURE_COORD27,
+   gl_OUTPUT_TEXTURE_COORD28,
+   gl_OUTPUT_TEXTURE_COORD29,
+   gl_OUTPUT_TEXTURE_COORD30,
+   gl_OUTPUT_TEXTURE_COORD31,
+   gl_OUTPUT_FOG,
+   gl_SCALAR,
+   gl_VECTOR,
+   gl_MATRIX,
+   gl_VARIANT,
+   gl_INVARIANT,
+   gl_LOCAL_CONSTANT,
+   gl_LOCAL,
+   gl_MAX_VERTEX_SHADER_INSTRUCTIONS,
+   gl_MAX_VERTEX_SHADER_VARIANTS,
+   gl_MAX_VERTEX_SHADER_INVARIANTS,
+   gl_MAX_VERTEX_SHADER_LOCAL_CONSTANTS,
+   gl_MAX_VERTEX_SHADER_LOCALS,
+   gl_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS,
+   gl_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS,
+   gl_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS,
+   gl_MAX_OPTIMIZED_VERTEX_SHADER_INARIANTS,
+   gl_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS,
+   gl_VERTEX_SHADER_INSTRUCTIONS,
+   gl_VERTEX_SHADER_VARIANTS,
+   gl_VERTEX_SHADER_INVARIANTS,
+   gl_VERTEX_SHADER_LOCAL_CONSTANTS,
+   gl_VERTEX_SHADER_LOCALS,
+   gl_VERTEX_SHADER_BINDING,
+   gl_VERTEX_SHADER_OPTIMIZED,
+   gl_X,
+   gl_Y,
+   gl_Z,
+   gl_W,
+   gl_NEGATIVE_X,
+   gl_NEGATIVE_Y,
+   gl_NEGATIVE_Z,
+   gl_NEGATIVE_W,
+   gl_ZERO,
+   gl_ONE,
+   gl_NEGATIVE_ONE,
+   gl_NORMALIZED_RANGE,
+   gl_FULL_RANGE,
+   gl_CURRENT_VERTEX,
+   gl_MVP_MATRIX
+) where
+
+import Foreign.Ptr
+import Foreign.C.Types
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+import Graphics.Rendering.OpenGL.Raw.Core32
+import Graphics.Rendering.OpenGL.Raw.Extensions
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_EXT_vertex_shader"
+
+EXTENSION_ENTRY(dyn_glBeginVertexShader,ptr_glBeginVertexShader,"glBeginVertexShader",glBeginVertexShader,IO ())
+EXTENSION_ENTRY(dyn_glEndVertexShader,ptr_glEndVertexShader,"glEndVertexShader",glEndVertexShader,IO ())
+EXTENSION_ENTRY(dyn_glBindVertexShader,ptr_glBindVertexShader,"glBindVertexShader",glBindVertexShader,GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glGenVertexShaders,ptr_glGenVertexShaders,"glGenVertexShaders",glGenVertexShaders,GLuint -> IO GLuint)
+EXTENSION_ENTRY(dyn_glDeleteVertexShader,ptr_glDeleteVertexShader,"glDeleteVertexShader",glDeleteVertexShader,GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glShaderOp1,ptr_glShaderOp1,"glShaderOp1",glShaderOp1,GLenum -> GLuint -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glShaderOp2,ptr_glShaderOp2,"glShaderOp2",glShaderOp2,GLenum -> GLuint -> GLuint -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glShaderOp3,ptr_glShaderOp3,"glShaderOp3",glShaderOp3,GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glSwizzle,ptr_glSwizzle,"glSwizzle",glSwizzle,GLuint -> GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glWriteMask,ptr_glWriteMask,"glWriteMask",glWriteMask,GLuint -> GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glInsertComponent,ptr_glInsertComponent,"glInsertComponent",glInsertComponent,GLuint -> GLuint -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glExtractComponent,ptr_glExtractComponent,"glExtractComponent",glExtractComponent,GLuint -> GLuint -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glGenSymbols,ptr_glGenSymbols,"glGenSymbols",glGenSymbols,GLenum -> GLenum -> GLenum -> GLuint -> IO GLuint)
+EXTENSION_ENTRY(dyn_glSetInvariant,ptr_glSetInvariant,"glSetInvariant",glSetInvariant,GLuint -> GLenum -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glSetLocalConstant,ptr_glSetLocalConstant,"glSetLocalConstant",glSetLocalConstant,GLuint -> GLenum -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glVariantbv,ptr_glVariantbv,"glVariantbv",glVariantbv,GLuint -> Ptr GLbyte -> IO ())
+EXTENSION_ENTRY(dyn_glVariantsv,ptr_glVariantsv,"glVariantsv",glVariantsv,GLuint -> Ptr GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glVariantiv,ptr_glVariantiv,"glVariantiv",glVariantiv,GLuint -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glVariantfv,ptr_glVariantfv,"glVariantfv",glVariantfv,GLuint -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glVariantdv,ptr_glVariantdv,"glVariantdv",glVariantdv,GLuint -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glVariantubv,ptr_glVariantubv,"glVariantubv",glVariantubv,GLuint -> Ptr GLubyte -> IO ())
+EXTENSION_ENTRY(dyn_glVariantusv,ptr_glVariantusv,"glVariantusv",glVariantusv,GLuint -> Ptr GLushort -> IO ())
+EXTENSION_ENTRY(dyn_glVariantuiv,ptr_glVariantuiv,"glVariantuiv",glVariantuiv,GLuint -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glVariantPointer,ptr_glVariantPointer,"glVariantPointer",glVariantPointer,GLuint -> GLenum -> GLuint -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glEnableVariantClientState,ptr_glEnableVariantClientState,"glEnableVariantClientState",glEnableVariantClientState,GLuint-> IO ())
+EXTENSION_ENTRY(dyn_glDisableVariantClientState,ptr_glDisableVariantClientState,"glDisableVariantClientState",glDisableVariantClientState,GLuint-> IO ())
+EXTENSION_ENTRY(dyn_glBindLightParameter,ptr_glBindLightParameter,"glBindLightParameter",glBindLightParameter,GLenum -> GLenum-> IO GLuint)
+EXTENSION_ENTRY(dyn_glBindMaterialParameter,ptr_glBindMaterialParameter,"glBindMaterialParameter",glBindMaterialParameter,GLenum -> GLenum-> IO GLuint)
+EXTENSION_ENTRY(dyn_glBindTexGenParameter,ptr_glBindTexGenParameter,"glBindTexGenParameter",glBindTexGenParameter,GLenum -> GLenum -> GLenum-> IO GLuint)
+EXTENSION_ENTRY(dyn_glBindTextureUnitParameter,ptr_glBindTextureUnitParameter,"glBindTextureUnitParameter",glBindTextureUnitParameter,GLenum -> GLenum-> IO GLuint)
+EXTENSION_ENTRY(dyn_glBindParameter,ptr_glBindParameter,"glBindParameter",glBindParameter,GLenum -> IO GLuint)
+EXTENSION_ENTRY(dyn_glIsVariantEnabled,ptr_glIsVariantEnabled,"glIsVariantEnabled",glIsVariantEnabled,GLuint -> GLenum -> IO GLboolean)
+EXTENSION_ENTRY(dyn_glGetVariantBooleanv,ptr_glGetVariantBooleanv,"glGetVariantBooleanv",glGetVariantBooleanv,GLuint -> GLenum -> Ptr GLboolean -> IO ())
+EXTENSION_ENTRY(dyn_glGetVariantIntegerv,ptr_glGetVariantIntegerv,"glGetVariantIntegerv",glGetVariantIntegerv,GLuint -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glGetVariantFloatv,ptr_glGetVariantFloatv,"glGetVariantFloatv",glGetVariantFloatv,GLuint -> GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glGetVariantPointerv,ptr_glGetVariantPointerv,"glGetVariantPointerv",glGetVariantPointerv,GLuint -> GLenum -> Ptr (Ptr a) -> IO ())
+EXTENSION_ENTRY(dyn_glGetInvariantBooleanv,ptr_glGetInvariantBooleanv,"glGetInvariantBooleanv",glGetInvariantBooleanv,GLuint -> GLenum -> Ptr GLboolean -> IO ())
+EXTENSION_ENTRY(dyn_glGetInvariantIntegerv,ptr_glGetInvariantIntegerv,"glGetInvariantIntegerv",glGetInvariantIntegerv,GLuint -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glGetInvariantFloatv,ptr_glGetInvariantFloatv,"glGetInvariantFloatv",glGetInvariantFloatv,GLuint -> GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glGetLocalConstantBooleanv,ptr_glGetLocalConstantBooleanv,"glGetLocalConstantBooleanv",glGetLocalConstantBooleanv,GLuint -> GLenum -> Ptr GLboolean -> IO ())
+EXTENSION_ENTRY(dyn_glGetLocalConstantIntegerv,ptr_glGetLocalConstantIntegerv,"glGetLocalConstantIntegerv",glGetLocalConstantIntegerv,GLuint -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glGetLocalConstantFloatv,ptr_glGetLocalConstantFloatv,"glGetLocalConstantFloatv",glGetLocalConstantFloatv,GLuint -> GLenum -> Ptr GLfloat -> IO ())
+
+gl_VARIANT_VALUE :: GLenum
+gl_VARIANT_VALUE = 0x87E4
+
+gl_VARIANT_DATATYPE :: GLenum
+gl_VARIANT_DATATYPE = 0x87E5
+
+gl_VARIANT_ARRAY_STRIDE :: GLenum
+gl_VARIANT_ARRAY_STRIDE = 0x87E6
+
+gl_VARIANT_ARRAY_TYPE :: GLenum
+gl_VARIANT_ARRAY_TYPE = 0x87E7
+
+gl_VARIANT_ARRAY :: GLenum
+gl_VARIANT_ARRAY = 0x87E8
+
+gl_VARIANT_ARRAY_POINTER :: GLenum
+gl_VARIANT_ARRAY_POINTER = 0x87E9
+
+gl_INVARIANT_VALUE :: GLenum
+gl_INVARIANT_VALUE = 0x87EA
+
+gl_INVARIANT_DATATYPE :: GLenum
+gl_INVARIANT_DATATYPE = 0x87EB
+
+gl_LOCAL_CONSTANT_VALUE :: GLenum
+gl_LOCAL_CONSTANT_VALUE = 0x87EC
+
+gl_LOCAL_CONSTANT_DATATYPE :: GLenum
+gl_LOCAL_CONSTANT_DATATYPE = 0x87ED
+
+gl_OP_INDEX :: GLenum
+gl_OP_INDEX = 0x8782
+
+gl_OP_NEGATE :: GLenum
+gl_OP_NEGATE = 0x8783
+
+gl_OP_DOT3 :: GLenum
+gl_OP_DOT3 = 0x8784
+
+gl_OP_DOT4 :: GLenum
+gl_OP_DOT4 = 0x8785
+
+gl_OP_MUL :: GLenum
+gl_OP_MUL = 0x8786
+
+gl_OP_ADD :: GLenum
+gl_OP_ADD = 0x8787
+
+gl_OP_MADD :: GLenum
+gl_OP_MADD = 0x8788
+
+gl_OP_FRAC :: GLenum
+gl_OP_FRAC = 0x8789
+
+gl_OP_MAX :: GLenum
+gl_OP_MAX = 0x878A
+
+gl_OP_MIN :: GLenum
+gl_OP_MIN = 0x878B
+
+gl_OP_SET_GE :: GLenum
+gl_OP_SET_GE = 0x878C
+
+gl_OP_SET_LT :: GLenum
+gl_OP_SET_LT = 0x878D
+
+gl_OP_CLAMP :: GLenum
+gl_OP_CLAMP = 0x878E
+
+gl_OP_FLOOR :: GLenum
+gl_OP_FLOOR = 0x878F
+
+gl_OP_ROUND :: GLenum
+gl_OP_ROUND = 0x8790
+
+gl_OP_EXP_BASE_2 :: GLenum
+gl_OP_EXP_BASE_2 = 0x8791
+
+gl_OP_LOG_BASE_2 :: GLenum
+gl_OP_LOG_BASE_2 = 0x8792
+
+gl_OP_POWER :: GLenum
+gl_OP_POWER = 0x8793
+
+gl_OP_RECIP :: GLenum
+gl_OP_RECIP = 0x8794
+
+gl_OP_RECIP_SQRT :: GLenum
+gl_OP_RECIP_SQRT = 0x8795
+
+gl_OP_SUB :: GLenum
+gl_OP_SUB = 0x8796
+
+gl_OP_CROSS_PRODUCT :: GLenum
+gl_OP_CROSS_PRODUCT = 0x8797
+
+gl_OP_MULTIPLY_MATRIX :: GLenum
+gl_OP_MULTIPLY_MATRIX = 0x8798
+
+gl_OP_MOV :: GLenum
+gl_OP_MOV = 0x8799
+
+gl_OUTPUT_VERTEX :: GLenum
+gl_OUTPUT_VERTEX = 0x879A
+
+gl_OUTPUT_COLOR0 :: GLenum
+gl_OUTPUT_COLOR0 = 0x879B
+
+gl_OUTPUT_COLOR1 :: GLenum
+gl_OUTPUT_COLOR1 = 0x879C
+
+gl_OUTPUT_TEXTURE_COORD0 :: GLenum
+gl_OUTPUT_TEXTURE_COORD0 = 0x879D
+
+gl_OUTPUT_TEXTURE_COORD1 :: GLenum
+gl_OUTPUT_TEXTURE_COORD1 = 0x879E
+
+gl_OUTPUT_TEXTURE_COORD2 :: GLenum
+gl_OUTPUT_TEXTURE_COORD2 = 0x879F
+
+gl_OUTPUT_TEXTURE_COORD3 :: GLenum
+gl_OUTPUT_TEXTURE_COORD3 = 0x87A0
+
+gl_OUTPUT_TEXTURE_COORD4 :: GLenum
+gl_OUTPUT_TEXTURE_COORD4 = 0x87A1
+
+gl_OUTPUT_TEXTURE_COORD5 :: GLenum
+gl_OUTPUT_TEXTURE_COORD5 = 0x87A2
+
+gl_OUTPUT_TEXTURE_COORD6 :: GLenum
+gl_OUTPUT_TEXTURE_COORD6 = 0x87A3
+
+gl_OUTPUT_TEXTURE_COORD7 :: GLenum
+gl_OUTPUT_TEXTURE_COORD7 = 0x87A4
+
+gl_OUTPUT_TEXTURE_COORD8 :: GLenum
+gl_OUTPUT_TEXTURE_COORD8 = 0x87A5
+
+gl_OUTPUT_TEXTURE_COORD9 :: GLenum
+gl_OUTPUT_TEXTURE_COORD9 = 0x87A6
+
+gl_OUTPUT_TEXTURE_COORD10 :: GLenum
+gl_OUTPUT_TEXTURE_COORD10 = 0x87A7
+
+gl_OUTPUT_TEXTURE_COORD11 :: GLenum
+gl_OUTPUT_TEXTURE_COORD11 = 0x87A8
+
+gl_OUTPUT_TEXTURE_COORD12 :: GLenum
+gl_OUTPUT_TEXTURE_COORD12 = 0x87A9
+
+gl_OUTPUT_TEXTURE_COORD13 :: GLenum
+gl_OUTPUT_TEXTURE_COORD13 = 0x87AA
+
+gl_OUTPUT_TEXTURE_COORD14 :: GLenum
+gl_OUTPUT_TEXTURE_COORD14 = 0x87AB
+
+gl_OUTPUT_TEXTURE_COORD15 :: GLenum
+gl_OUTPUT_TEXTURE_COORD15 = 0x87AC
+
+gl_OUTPUT_TEXTURE_COORD16 :: GLenum
+gl_OUTPUT_TEXTURE_COORD16 = 0x87AD
+
+gl_OUTPUT_TEXTURE_COORD17 :: GLenum
+gl_OUTPUT_TEXTURE_COORD17 = 0x87AE
+
+gl_OUTPUT_TEXTURE_COORD18 :: GLenum
+gl_OUTPUT_TEXTURE_COORD18 = 0x87AF
+
+gl_OUTPUT_TEXTURE_COORD19 :: GLenum
+gl_OUTPUT_TEXTURE_COORD19 = 0x87B0
+
+gl_OUTPUT_TEXTURE_COORD20 :: GLenum
+gl_OUTPUT_TEXTURE_COORD20 = 0x87B1
+
+gl_OUTPUT_TEXTURE_COORD21 :: GLenum
+gl_OUTPUT_TEXTURE_COORD21 = 0x87B2
+
+gl_OUTPUT_TEXTURE_COORD22 :: GLenum
+gl_OUTPUT_TEXTURE_COORD22 = 0x87B3
+
+gl_OUTPUT_TEXTURE_COORD23 :: GLenum
+gl_OUTPUT_TEXTURE_COORD23 = 0x87B4
+
+gl_OUTPUT_TEXTURE_COORD24 :: GLenum
+gl_OUTPUT_TEXTURE_COORD24 = 0x87B5
+
+gl_OUTPUT_TEXTURE_COORD25 :: GLenum
+gl_OUTPUT_TEXTURE_COORD25 = 0x87B6
+
+gl_OUTPUT_TEXTURE_COORD26 :: GLenum
+gl_OUTPUT_TEXTURE_COORD26 = 0x87B7
+
+gl_OUTPUT_TEXTURE_COORD27 :: GLenum
+gl_OUTPUT_TEXTURE_COORD27 = 0x87B8
+
+gl_OUTPUT_TEXTURE_COORD28 :: GLenum
+gl_OUTPUT_TEXTURE_COORD28 = 0x87B9
+
+gl_OUTPUT_TEXTURE_COORD29 :: GLenum
+gl_OUTPUT_TEXTURE_COORD29 = 0x87BA
+
+gl_OUTPUT_TEXTURE_COORD30 :: GLenum
+gl_OUTPUT_TEXTURE_COORD30 = 0x87BB
+
+gl_OUTPUT_TEXTURE_COORD31 :: GLenum
+gl_OUTPUT_TEXTURE_COORD31 = 0x87BC
+
+gl_OUTPUT_FOG :: GLenum
+gl_OUTPUT_FOG = 0x87BD
+
+gl_SCALAR :: GLenum
+gl_SCALAR = 0x87BE
+
+gl_VECTOR :: GLenum
+gl_VECTOR = 0x87BF
+
+gl_MATRIX :: GLenum
+gl_MATRIX = 0x87C0
+
+gl_VARIANT :: GLenum
+gl_VARIANT = 0x87C1
+
+gl_INVARIANT :: GLenum
+gl_INVARIANT = 0x87C2
+
+gl_LOCAL_CONSTANT :: GLenum
+gl_LOCAL_CONSTANT = 0x87C3
+
+gl_LOCAL :: GLenum
+gl_LOCAL = 0x87C4
+
+gl_MAX_VERTEX_SHADER_INSTRUCTIONS :: GLenum
+gl_MAX_VERTEX_SHADER_INSTRUCTIONS = 0x87C5
+
+gl_MAX_VERTEX_SHADER_VARIANTS :: GLenum
+gl_MAX_VERTEX_SHADER_VARIANTS = 0x87C6
+
+gl_MAX_VERTEX_SHADER_INVARIANTS :: GLenum
+gl_MAX_VERTEX_SHADER_INVARIANTS = 0x87C7
+
+gl_MAX_VERTEX_SHADER_LOCAL_CONSTANTS :: GLenum
+gl_MAX_VERTEX_SHADER_LOCAL_CONSTANTS = 0x87C8
+
+gl_MAX_VERTEX_SHADER_LOCALS :: GLenum
+gl_MAX_VERTEX_SHADER_LOCALS = 0x87C9
+
+gl_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS :: GLenum
+gl_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS = 0x87CA
+
+gl_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS :: GLenum
+gl_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS = 0x87CB
+
+gl_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS :: GLenum
+gl_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS = 0x87CC
+
+gl_MAX_OPTIMIZED_VERTEX_SHADER_INARIANTS :: GLenum
+gl_MAX_OPTIMIZED_VERTEX_SHADER_INARIANTS = 0x87CD
+
+gl_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS :: GLenum
+gl_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS = 0x87CE
+
+gl_VERTEX_SHADER_INSTRUCTIONS :: GLenum
+gl_VERTEX_SHADER_INSTRUCTIONS = 0x87CF
+
+gl_VERTEX_SHADER_VARIANTS :: GLenum
+gl_VERTEX_SHADER_VARIANTS = 0x87D0
+
+gl_VERTEX_SHADER_INVARIANTS :: GLenum
+gl_VERTEX_SHADER_INVARIANTS = 0x87D1
+
+gl_VERTEX_SHADER_LOCAL_CONSTANTS :: GLenum
+gl_VERTEX_SHADER_LOCAL_CONSTANTS = 0x87D2
+
+gl_VERTEX_SHADER_LOCALS :: GLenum
+gl_VERTEX_SHADER_LOCALS = 0x87D3
+
+gl_VERTEX_SHADER_BINDING :: GLenum
+gl_VERTEX_SHADER_BINDING = 0x8781
+
+gl_VERTEX_SHADER_OPTIMIZED :: GLenum
+gl_VERTEX_SHADER_OPTIMIZED = 0x87D4
+
+gl_X :: GLenum
+gl_X = 0x87D5
+
+gl_Y :: GLenum
+gl_Y = 0x87D6
+
+gl_Z :: GLenum
+gl_Z = 0x87D7
+
+gl_W :: GLenum
+gl_W = 0x87D8
+
+gl_NEGATIVE_X :: GLenum
+gl_NEGATIVE_X = 0x87D9
+
+gl_NEGATIVE_Y :: GLenum
+gl_NEGATIVE_Y = 0x87DA
+
+gl_NEGATIVE_Z :: GLenum
+gl_NEGATIVE_Z = 0x87DB
+
+gl_NEGATIVE_W :: GLenum
+gl_NEGATIVE_W = 0x87DC
+
+gl_NEGATIVE_ONE :: GLenum
+gl_NEGATIVE_ONE = 0x87DF
+
+gl_NORMALIZED_RANGE :: GLenum
+gl_NORMALIZED_RANGE = 0x87E0
+
+gl_FULL_RANGE :: GLenum
+gl_FULL_RANGE = 0x87E1
+
+gl_CURRENT_VERTEX :: GLenum
+gl_CURRENT_VERTEX = 0x87E2
+
+gl_MVP_MATRIX :: GLenum
+gl_MVP_MATRIX = 0x87E3
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/VertexWeighting.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/VertexWeighting.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/VertexWeighting.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/VertexWeighting.hs
@@ -1,84 +1,84 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.VertexWeighting
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the EXT_vertex_weighting extension, see
--- <http://www.opengl.org/registry/specs/EXT/vertex_weighting.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.VertexWeighting (
-   -- * Functions
-   glVertexWeightf,
-   glVertexWeightfv,
-   glVertexWeightPointer,
-   -- * Tokens
-   gl_VERTEX_WEIGHTING,
-   gl_MODELVIEW0,
-   gl_MODELVIEW1,
-   gl_MODELVIEW0_MATRIX,
-   gl_MODELVIEW1_MATRIX,
-   gl_CURRENT_VERTEX_WEIGHT,
-   gl_VERTEX_WEIGHT_ARRAY,
-   gl_VERTEX_WEIGHT_ARRAY_SIZE,
-   gl_VERTEX_WEIGHT_ARRAY_TYPE,
-   gl_VERTEX_WEIGHT_ARRAY_STRIDE,
-   gl_MODELVIEW0_STACK_DEPTH,
-   gl_MODELVIEW1_STACK_DEPTH,
-   gl_VERTEX_WEIGHT_ARRAY_POINTER
-) where
-
-import Foreign.Ptr
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.ARB.VertexBlend
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_EXT_vertex_weighting"
-
-EXTENSION_ENTRY(glVertexWeightf,GLfloat -> IO ())
-EXTENSION_ENTRY(glVertexWeightfv,Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glVertexWeightPointer,GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
-
-gl_VERTEX_WEIGHTING :: GLenum
-gl_VERTEX_WEIGHTING = 0x8509
-
-gl_MODELVIEW0_MATRIX :: GLenum
-gl_MODELVIEW0_MATRIX = 0x0BA6
-
-gl_MODELVIEW1_MATRIX :: GLenum
-gl_MODELVIEW1_MATRIX = 0x8506
-
-gl_CURRENT_VERTEX_WEIGHT :: GLenum
-gl_CURRENT_VERTEX_WEIGHT = 0x850B
-
-gl_VERTEX_WEIGHT_ARRAY :: GLenum
-gl_VERTEX_WEIGHT_ARRAY = 0x850C
-
-gl_VERTEX_WEIGHT_ARRAY_SIZE :: GLenum
-gl_VERTEX_WEIGHT_ARRAY_SIZE = 0x850D
-
-gl_VERTEX_WEIGHT_ARRAY_TYPE :: GLenum
-gl_VERTEX_WEIGHT_ARRAY_TYPE = 0x850E
-
-gl_VERTEX_WEIGHT_ARRAY_STRIDE :: GLenum
-gl_VERTEX_WEIGHT_ARRAY_STRIDE = 0x850F
-
-gl_MODELVIEW0_STACK_DEPTH :: GLenum
-gl_MODELVIEW0_STACK_DEPTH = 0x0BA3
-
-gl_MODELVIEW1_STACK_DEPTH :: GLenum
-gl_MODELVIEW1_STACK_DEPTH = 0x8502
-
-gl_VERTEX_WEIGHT_ARRAY_POINTER :: GLenum
-gl_VERTEX_WEIGHT_ARRAY_POINTER = 0x8510
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.VertexWeighting
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the EXT_vertex_weighting extension, see
+-- <http://www.opengl.org/registry/specs/EXT/vertex_weighting.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.EXT.VertexWeighting (
+   -- * Functions
+   glVertexWeightf,
+   glVertexWeightfv,
+   glVertexWeightPointer,
+   -- * Tokens
+   gl_VERTEX_WEIGHTING,
+   gl_MODELVIEW0,
+   gl_MODELVIEW1,
+   gl_MODELVIEW0_MATRIX,
+   gl_MODELVIEW1_MATRIX,
+   gl_CURRENT_VERTEX_WEIGHT,
+   gl_VERTEX_WEIGHT_ARRAY,
+   gl_VERTEX_WEIGHT_ARRAY_SIZE,
+   gl_VERTEX_WEIGHT_ARRAY_TYPE,
+   gl_VERTEX_WEIGHT_ARRAY_STRIDE,
+   gl_MODELVIEW0_STACK_DEPTH,
+   gl_MODELVIEW1_STACK_DEPTH,
+   gl_VERTEX_WEIGHT_ARRAY_POINTER
+) where
+
+import Foreign.Ptr
+import Foreign.C.Types
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+import Graphics.Rendering.OpenGL.Raw.ARB.VertexBlend
+import Graphics.Rendering.OpenGL.Raw.Extensions
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_EXT_vertex_weighting"
+
+EXTENSION_ENTRY(dyn_glVertexWeightf,ptr_glVertexWeightf,"glVertexWeightf",glVertexWeightf,GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glVertexWeightfv,ptr_glVertexWeightfv,"glVertexWeightfv",glVertexWeightfv,Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glVertexWeightPointer,ptr_glVertexWeightPointer,"glVertexWeightPointer",glVertexWeightPointer,GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
+
+gl_VERTEX_WEIGHTING :: GLenum
+gl_VERTEX_WEIGHTING = 0x8509
+
+gl_MODELVIEW0_MATRIX :: GLenum
+gl_MODELVIEW0_MATRIX = 0x0BA6
+
+gl_MODELVIEW1_MATRIX :: GLenum
+gl_MODELVIEW1_MATRIX = 0x8506
+
+gl_CURRENT_VERTEX_WEIGHT :: GLenum
+gl_CURRENT_VERTEX_WEIGHT = 0x850B
+
+gl_VERTEX_WEIGHT_ARRAY :: GLenum
+gl_VERTEX_WEIGHT_ARRAY = 0x850C
+
+gl_VERTEX_WEIGHT_ARRAY_SIZE :: GLenum
+gl_VERTEX_WEIGHT_ARRAY_SIZE = 0x850D
+
+gl_VERTEX_WEIGHT_ARRAY_TYPE :: GLenum
+gl_VERTEX_WEIGHT_ARRAY_TYPE = 0x850E
+
+gl_VERTEX_WEIGHT_ARRAY_STRIDE :: GLenum
+gl_VERTEX_WEIGHT_ARRAY_STRIDE = 0x850F
+
+gl_MODELVIEW0_STACK_DEPTH :: GLenum
+gl_MODELVIEW0_STACK_DEPTH = 0x0BA3
+
+gl_MODELVIEW1_STACK_DEPTH :: GLenum
+gl_MODELVIEW1_STACK_DEPTH = 0x8502
+
+gl_VERTEX_WEIGHT_ARRAY_POINTER :: GLenum
+gl_VERTEX_WEIGHT_ARRAY_POINTER = 0x8510
diff --git a/src/Graphics/Rendering/OpenGL/Raw/Extensions.hs b/src/Graphics/Rendering/OpenGL/Raw/Extensions.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/Extensions.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/Extensions.hs
@@ -1,45 +1,45 @@
-{-# OPTIONS_HADDOCK hide #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.Extensions
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- This internal module offers convenience functions and re-exports for OpenGL
--- extension loading.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.Extensions (
-   Invoker, getExtensionEntry,
-   FunPtr, unsafePerformIO
-) where
-
-import Foreign.Marshal.Error
-import Foreign.Ptr
-import Graphics.Rendering.OpenGL.Raw.GetProcAddress
-import System.IO.Unsafe
-
---------------------------------------------------------------------------------
-
-type Invoker a = FunPtr a -> a
-
-getExtensionEntry :: String -> String -> IO (FunPtr a)
-getExtensionEntry extensionNameString extensionEntry =
-   throwIfNullFunPtr ("unknown OpenGL extension entry " ++ extensionEntry ++
-                      ", check for " ++ extensionNameString) $
-      getProcAddressWithSuffixes extensionEntry extensionSuffixes
-
-throwIfNullFunPtr :: String -> IO (FunPtr a) -> IO (FunPtr a)
-throwIfNullFunPtr = throwIf (== nullFunPtr) . const
-
--- non-ARB extension suffixes are in descending order of number of extensions
-extensionSuffixes :: [String]
-extensionSuffixes = [
-   "", "ARB", "EXT", "NV", "SGIX", "SGIS", "ATI", "APPLE", "SUN", "OES", "IBM",
-   "MESA", "HP", "SGI", "OML", "AMD", "3DFX", "WIN", "PGI", "INTEL", "INGR",
-   "GREMEDY", "SUNX", "S3", "REND", "MESAX" ]
+{-# OPTIONS_HADDOCK hide #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.Extensions
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- This internal module offers convenience functions and re-exports for OpenGL
+-- extension loading.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.Extensions (
+   Invoker, getExtensionEntry,
+   FunPtr, unsafePerformIO
+) where
+
+import Foreign.Marshal.Error
+import Foreign.Ptr
+import Graphics.Rendering.OpenGL.Raw.GetProcAddress
+import System.IO.Unsafe
+
+--------------------------------------------------------------------------------
+
+type Invoker a = FunPtr a -> a
+
+getExtensionEntry :: String -> String -> IO (FunPtr a)
+getExtensionEntry extensionNameString extensionEntry =
+   throwIfNullFunPtr ("unknown OpenGL extension entry " ++ extensionEntry ++
+                      ", check for " ++ extensionNameString) $
+      getProcAddressWithSuffixes extensionEntry extensionSuffixes
+
+throwIfNullFunPtr :: String -> IO (FunPtr a) -> IO (FunPtr a)
+throwIfNullFunPtr = throwIf (== nullFunPtr) . const
+
+-- non-ARB extension suffixes are in descending order of number of extensions
+extensionSuffixes :: [String]
+extensionSuffixes = [
+   "", "ARB", "EXT", "NV", "SGIX", "SGIS", "ATI", "APPLE", "SUN", "OES", "IBM",
+   "MESA", "HP", "SGI", "OML", "AMD", "3DFX", "WIN", "PGI", "INTEL", "INGR",
+   "GREMEDY", "SUNX", "S3", "REND", "MESAX" ]
diff --git a/src/Graphics/Rendering/OpenGL/Raw/GetProcAddress.hs b/src/Graphics/Rendering/OpenGL/Raw/GetProcAddress.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/GetProcAddress.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/GetProcAddress.hs
@@ -1,47 +1,47 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.GetProcAddress
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- This module offers a portable way to retrieve OpenGL extension entries,
--- providing a portability layer upon platform-specific mechanisms like
--- @glXGetProcAddress@, @wglGetProcAddress@ or @NSAddressOfSymbol@.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.GetProcAddress (
-   getProcAddress, getProcAddressWithSuffixes
-) where
-
-import Control.Monad
-import Foreign.C.String
-import Foreign.Ptr
-
-#ifdef __HUGS__
-{-# CFILES cbits/HsOpenGLRaw.c #-}
-#endif
-
---------------------------------------------------------------------------------
-
--- | Retrieve an OpenGL extension entry by name. Returns 'nullFunPtr' when no
--- extension entry with the given name was found.
-getProcAddress :: String -> IO (FunPtr a)
-getProcAddress extensionEntry =
-   withCString extensionEntry hs_OpenGLRaw_getProcAddress
-
-foreign import ccall unsafe "hs_OpenGLRaw_getProcAddress"
-   hs_OpenGLRaw_getProcAddress :: CString -> IO (FunPtr a)
-
--- | Retrieve an OpenGL extension entry by name, trying a list of name suffixes
--- in the given order. Returns 'nullFunPtr' when no extension entry with the
--- given name plus any of the suffixes was found.
-getProcAddressWithSuffixes :: String -> [String] -> IO (FunPtr a)
-getProcAddressWithSuffixes extensionEntry = foldM gpa nullFunPtr
-   where gpa p s | p == nullFunPtr = getProcAddress (extensionEntry ++ s)
-                 | otherwise       = return p
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.GetProcAddress
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- This module offers a portable way to retrieve OpenGL extension entries,
+-- providing a portability layer upon platform-specific mechanisms like
+-- @glXGetProcAddress@, @wglGetProcAddress@ or @NSAddressOfSymbol@.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.GetProcAddress (
+   getProcAddress, getProcAddressWithSuffixes
+) where
+
+import Control.Monad
+import Foreign.C.String
+import Foreign.Ptr
+
+#ifdef __HUGS__
+{-# CFILES cbits/HsOpenGLRaw.c #-}
+#endif
+
+--------------------------------------------------------------------------------
+
+-- | Retrieve an OpenGL extension entry by name. Returns 'nullFunPtr' when no
+-- extension entry with the given name was found.
+getProcAddress :: String -> IO (FunPtr a)
+getProcAddress extensionEntry =
+   withCString extensionEntry hs_OpenGLRaw_getProcAddress
+
+foreign import ccall unsafe "hs_OpenGLRaw_getProcAddress"
+   hs_OpenGLRaw_getProcAddress :: CString -> IO (FunPtr a)
+
+-- | Retrieve an OpenGL extension entry by name, trying a list of name suffixes
+-- in the given order. Returns 'nullFunPtr' when no extension entry with the
+-- given name plus any of the suffixes was found.
+getProcAddressWithSuffixes :: String -> [String] -> IO (FunPtr a)
+getProcAddressWithSuffixes extensionEntry = foldM gpa nullFunPtr
+   where gpa p s | p == nullFunPtr = getProcAddress (extensionEntry ++ s)
+                 | otherwise       = return p
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV.hs b/src/Graphics/Rendering/OpenGL/Raw/NV.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV.hs
@@ -1,117 +1,117 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV
--- Copyright   :  (c) Sven Panne 2013
--- 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.TexgenReflection,
-   module Graphics.Rendering.OpenGL.Raw.NV.LightMaxExponent,
-   module Graphics.Rendering.OpenGL.Raw.NV.VertexArrayRange,
-   module Graphics.Rendering.OpenGL.Raw.NV.RegisterCombiners,
-   module Graphics.Rendering.OpenGL.Raw.NV.FogDistance,
-   module Graphics.Rendering.OpenGL.Raw.NV.TexgenEmboss,
-   -- module Graphics.Rendering.OpenGL.Raw.NV.BlendSquare,
-   module Graphics.Rendering.OpenGL.Raw.NV.TextureEnvCombine4,
-   module Graphics.Rendering.OpenGL.Raw.NV.Fence,
-   -- module Graphics.Rendering.OpenGL.Raw.NV.Evaluators,
-   module Graphics.Rendering.OpenGL.Raw.NV.PackedDepthStencil,
-   module Graphics.Rendering.OpenGL.Raw.NV.RegisterCombiners2,
-   module Graphics.Rendering.OpenGL.Raw.NV.TextureCompressionVtc,
-   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.VertexArrayRange2,
-   module Graphics.Rendering.OpenGL.Raw.NV.VertexProgram,
-   module Graphics.Rendering.OpenGL.Raw.NV.CopyDepthToColor,
-   module Graphics.Rendering.OpenGL.Raw.NV.MultisampleFilterHint,
-   module Graphics.Rendering.OpenGL.Raw.NV.DepthClamp,
-   module Graphics.Rendering.OpenGL.Raw.NV.OcclusionQuery,
-   module Graphics.Rendering.OpenGL.Raw.NV.PointSprite,
-   module Graphics.Rendering.OpenGL.Raw.NV.TextureShader3,
-   -- module Graphics.Rendering.OpenGL.Raw.NV.VertexProgram11,
-   module Graphics.Rendering.OpenGL.Raw.NV.FloatBuffer,
-   module Graphics.Rendering.OpenGL.Raw.NV.FragmentProgram,
-   module Graphics.Rendering.OpenGL.Raw.NV.HalfFloat,
-   module Graphics.Rendering.OpenGL.Raw.NV.PixelDataRange,
-   module Graphics.Rendering.OpenGL.Raw.NV.PrimitiveRestart,
-   module Graphics.Rendering.OpenGL.Raw.NV.TextureExpandNormal,
-   -- module Graphics.Rendering.OpenGL.Raw.NV.VertexProgram2,
-   -- module Graphics.Rendering.OpenGL.Raw.NV.FragmentProgramOption,
-   module Graphics.Rendering.OpenGL.Raw.NV.FragmentProgram2,
-   module Graphics.Rendering.OpenGL.Raw.NV.VertexProgram2Option,
-   module Graphics.Rendering.OpenGL.Raw.NV.VertexProgram3,
-   module Graphics.Rendering.OpenGL.Raw.NV.GpuProgram4,
-   module Graphics.Rendering.OpenGL.Raw.NV.GeometryProgram4,
-   module Graphics.Rendering.OpenGL.Raw.NV.VertexProgram4,
-   module Graphics.Rendering.OpenGL.Raw.NV.DepthBufferFloat,
-   -- module Graphics.Rendering.OpenGL.Raw.NV.FragmentProgram4,
-   module Graphics.Rendering.OpenGL.Raw.NV.FramebufferMultisampleCoverage,
-   -- module Graphics.Rendering.OpenGL.Raw.NV.GeometryShader4,
-   module Graphics.Rendering.OpenGL.Raw.NV.ParameterBufferObject,
-   module Graphics.Rendering.OpenGL.Raw.NV.TransformFeedback,
-   module Graphics.Rendering.OpenGL.Raw.NV.ConditionalRender,
-   module Graphics.Rendering.OpenGL.Raw.NV.PresentVideo,
-   module Graphics.Rendering.OpenGL.Raw.NV.ExplicitMultisample,
-   module Graphics.Rendering.OpenGL.Raw.NV.TransformFeedback2,
-   module Graphics.Rendering.OpenGL.Raw.NV.PathRendering
-) where
-
-import Graphics.Rendering.OpenGL.Raw.NV.TexgenReflection
-import Graphics.Rendering.OpenGL.Raw.NV.LightMaxExponent
-import Graphics.Rendering.OpenGL.Raw.NV.VertexArrayRange
-import Graphics.Rendering.OpenGL.Raw.NV.RegisterCombiners
-import Graphics.Rendering.OpenGL.Raw.NV.FogDistance
-import Graphics.Rendering.OpenGL.Raw.NV.TexgenEmboss
--- import Graphics.Rendering.OpenGL.Raw.NV.BlendSquare
-import Graphics.Rendering.OpenGL.Raw.NV.TextureEnvCombine4
-import Graphics.Rendering.OpenGL.Raw.NV.Fence
--- import Graphics.Rendering.OpenGL.Raw.NV.Evaluators
-import Graphics.Rendering.OpenGL.Raw.NV.PackedDepthStencil
-import Graphics.Rendering.OpenGL.Raw.NV.RegisterCombiners2
-import Graphics.Rendering.OpenGL.Raw.NV.TextureCompressionVtc
-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.VertexArrayRange2
-import Graphics.Rendering.OpenGL.Raw.NV.VertexProgram
-import Graphics.Rendering.OpenGL.Raw.NV.CopyDepthToColor
-import Graphics.Rendering.OpenGL.Raw.NV.MultisampleFilterHint
-import Graphics.Rendering.OpenGL.Raw.NV.DepthClamp
-import Graphics.Rendering.OpenGL.Raw.NV.OcclusionQuery
-import Graphics.Rendering.OpenGL.Raw.NV.PointSprite
-import Graphics.Rendering.OpenGL.Raw.NV.TextureShader3
--- import Graphics.Rendering.OpenGL.Raw.NV.VertexProgram11
-import Graphics.Rendering.OpenGL.Raw.NV.FloatBuffer
-import Graphics.Rendering.OpenGL.Raw.NV.FragmentProgram
-import Graphics.Rendering.OpenGL.Raw.NV.HalfFloat
-import Graphics.Rendering.OpenGL.Raw.NV.PixelDataRange
-import Graphics.Rendering.OpenGL.Raw.NV.PrimitiveRestart
-import Graphics.Rendering.OpenGL.Raw.NV.TextureExpandNormal
--- import Graphics.Rendering.OpenGL.Raw.NV.VertexProgram2
--- import Graphics.Rendering.OpenGL.Raw.NV.FragmentProgramOption
-import Graphics.Rendering.OpenGL.Raw.NV.FragmentProgram2
-import Graphics.Rendering.OpenGL.Raw.NV.VertexProgram2Option
-import Graphics.Rendering.OpenGL.Raw.NV.VertexProgram3
-import Graphics.Rendering.OpenGL.Raw.NV.GpuProgram4
-import Graphics.Rendering.OpenGL.Raw.NV.GeometryProgram4
-import Graphics.Rendering.OpenGL.Raw.NV.VertexProgram4
-import Graphics.Rendering.OpenGL.Raw.NV.DepthBufferFloat
--- import Graphics.Rendering.OpenGL.Raw.NV.FragmentProgram4
-import Graphics.Rendering.OpenGL.Raw.NV.FramebufferMultisampleCoverage
--- import Graphics.Rendering.OpenGL.Raw.NV.GeometryShader4
-import Graphics.Rendering.OpenGL.Raw.NV.ParameterBufferObject
-import Graphics.Rendering.OpenGL.Raw.NV.TransformFeedback
-import Graphics.Rendering.OpenGL.Raw.NV.ConditionalRender
-import Graphics.Rendering.OpenGL.Raw.NV.PresentVideo
-import Graphics.Rendering.OpenGL.Raw.NV.ExplicitMultisample
-import Graphics.Rendering.OpenGL.Raw.NV.TransformFeedback2
-import Graphics.Rendering.OpenGL.Raw.NV.PathRendering
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.NV
+-- Copyright   :  (c) Sven Panne 2013
+-- 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.TexgenReflection,
+   module Graphics.Rendering.OpenGL.Raw.NV.LightMaxExponent,
+   module Graphics.Rendering.OpenGL.Raw.NV.VertexArrayRange,
+   module Graphics.Rendering.OpenGL.Raw.NV.RegisterCombiners,
+   module Graphics.Rendering.OpenGL.Raw.NV.FogDistance,
+   module Graphics.Rendering.OpenGL.Raw.NV.TexgenEmboss,
+   -- module Graphics.Rendering.OpenGL.Raw.NV.BlendSquare,
+   module Graphics.Rendering.OpenGL.Raw.NV.TextureEnvCombine4,
+   module Graphics.Rendering.OpenGL.Raw.NV.Fence,
+   -- module Graphics.Rendering.OpenGL.Raw.NV.Evaluators,
+   module Graphics.Rendering.OpenGL.Raw.NV.PackedDepthStencil,
+   module Graphics.Rendering.OpenGL.Raw.NV.RegisterCombiners2,
+   module Graphics.Rendering.OpenGL.Raw.NV.TextureCompressionVTC,
+   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.VertexArrayRange2,
+   module Graphics.Rendering.OpenGL.Raw.NV.VertexProgram,
+   module Graphics.Rendering.OpenGL.Raw.NV.CopyDepthToColor,
+   module Graphics.Rendering.OpenGL.Raw.NV.MultisampleFilterHint,
+   module Graphics.Rendering.OpenGL.Raw.NV.DepthClamp,
+   module Graphics.Rendering.OpenGL.Raw.NV.OcclusionQuery,
+   module Graphics.Rendering.OpenGL.Raw.NV.PointSprite,
+   module Graphics.Rendering.OpenGL.Raw.NV.TextureShader3,
+   -- module Graphics.Rendering.OpenGL.Raw.NV.VertexProgram11,
+   module Graphics.Rendering.OpenGL.Raw.NV.FloatBuffer,
+   module Graphics.Rendering.OpenGL.Raw.NV.FragmentProgram,
+   module Graphics.Rendering.OpenGL.Raw.NV.HalfFloat,
+   module Graphics.Rendering.OpenGL.Raw.NV.PixelDataRange,
+   module Graphics.Rendering.OpenGL.Raw.NV.PrimitiveRestart,
+   module Graphics.Rendering.OpenGL.Raw.NV.TextureExpandNormal,
+   -- module Graphics.Rendering.OpenGL.Raw.NV.VertexProgram2,
+   -- module Graphics.Rendering.OpenGL.Raw.NV.FragmentProgramOption,
+   module Graphics.Rendering.OpenGL.Raw.NV.FragmentProgram2,
+   module Graphics.Rendering.OpenGL.Raw.NV.VertexProgram2Option,
+   module Graphics.Rendering.OpenGL.Raw.NV.VertexProgram3,
+   module Graphics.Rendering.OpenGL.Raw.NV.GPUProgram4,
+   module Graphics.Rendering.OpenGL.Raw.NV.GeometryProgram4,
+   module Graphics.Rendering.OpenGL.Raw.NV.VertexProgram4,
+   module Graphics.Rendering.OpenGL.Raw.NV.DepthBufferFloat,
+   -- module Graphics.Rendering.OpenGL.Raw.NV.FragmentProgram4,
+   module Graphics.Rendering.OpenGL.Raw.NV.FramebufferMultisampleCoverage,
+   -- module Graphics.Rendering.OpenGL.Raw.NV.GeometryShader4,
+   module Graphics.Rendering.OpenGL.Raw.NV.ParameterBufferObject,
+   module Graphics.Rendering.OpenGL.Raw.NV.TransformFeedback,
+   module Graphics.Rendering.OpenGL.Raw.NV.ConditionalRender,
+   module Graphics.Rendering.OpenGL.Raw.NV.PresentVideo,
+   module Graphics.Rendering.OpenGL.Raw.NV.ExplicitMultisample,
+   module Graphics.Rendering.OpenGL.Raw.NV.TransformFeedback2,
+   module Graphics.Rendering.OpenGL.Raw.NV.PathRendering
+) where
+
+import Graphics.Rendering.OpenGL.Raw.NV.TexgenReflection
+import Graphics.Rendering.OpenGL.Raw.NV.LightMaxExponent
+import Graphics.Rendering.OpenGL.Raw.NV.VertexArrayRange
+import Graphics.Rendering.OpenGL.Raw.NV.RegisterCombiners
+import Graphics.Rendering.OpenGL.Raw.NV.FogDistance
+import Graphics.Rendering.OpenGL.Raw.NV.TexgenEmboss
+-- import Graphics.Rendering.OpenGL.Raw.NV.BlendSquare
+import Graphics.Rendering.OpenGL.Raw.NV.TextureEnvCombine4
+import Graphics.Rendering.OpenGL.Raw.NV.Fence
+-- import Graphics.Rendering.OpenGL.Raw.NV.Evaluators
+import Graphics.Rendering.OpenGL.Raw.NV.PackedDepthStencil
+import Graphics.Rendering.OpenGL.Raw.NV.RegisterCombiners2
+import Graphics.Rendering.OpenGL.Raw.NV.TextureCompressionVTC
+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.VertexArrayRange2
+import Graphics.Rendering.OpenGL.Raw.NV.VertexProgram
+import Graphics.Rendering.OpenGL.Raw.NV.CopyDepthToColor
+import Graphics.Rendering.OpenGL.Raw.NV.MultisampleFilterHint
+import Graphics.Rendering.OpenGL.Raw.NV.DepthClamp
+import Graphics.Rendering.OpenGL.Raw.NV.OcclusionQuery
+import Graphics.Rendering.OpenGL.Raw.NV.PointSprite
+import Graphics.Rendering.OpenGL.Raw.NV.TextureShader3
+-- import Graphics.Rendering.OpenGL.Raw.NV.VertexProgram11
+import Graphics.Rendering.OpenGL.Raw.NV.FloatBuffer
+import Graphics.Rendering.OpenGL.Raw.NV.FragmentProgram
+import Graphics.Rendering.OpenGL.Raw.NV.HalfFloat
+import Graphics.Rendering.OpenGL.Raw.NV.PixelDataRange
+import Graphics.Rendering.OpenGL.Raw.NV.PrimitiveRestart
+import Graphics.Rendering.OpenGL.Raw.NV.TextureExpandNormal
+-- import Graphics.Rendering.OpenGL.Raw.NV.VertexProgram2
+-- import Graphics.Rendering.OpenGL.Raw.NV.FragmentProgramOption
+import Graphics.Rendering.OpenGL.Raw.NV.FragmentProgram2
+import Graphics.Rendering.OpenGL.Raw.NV.VertexProgram2Option
+import Graphics.Rendering.OpenGL.Raw.NV.VertexProgram3
+import Graphics.Rendering.OpenGL.Raw.NV.GPUProgram4
+import Graphics.Rendering.OpenGL.Raw.NV.GeometryProgram4
+import Graphics.Rendering.OpenGL.Raw.NV.VertexProgram4
+import Graphics.Rendering.OpenGL.Raw.NV.DepthBufferFloat
+-- import Graphics.Rendering.OpenGL.Raw.NV.FragmentProgram4
+import Graphics.Rendering.OpenGL.Raw.NV.FramebufferMultisampleCoverage
+-- import Graphics.Rendering.OpenGL.Raw.NV.GeometryShader4
+import Graphics.Rendering.OpenGL.Raw.NV.ParameterBufferObject
+import Graphics.Rendering.OpenGL.Raw.NV.TransformFeedback
+import Graphics.Rendering.OpenGL.Raw.NV.ConditionalRender
+import Graphics.Rendering.OpenGL.Raw.NV.PresentVideo
+import Graphics.Rendering.OpenGL.Raw.NV.ExplicitMultisample
+import Graphics.Rendering.OpenGL.Raw.NV.TransformFeedback2
+import Graphics.Rendering.OpenGL.Raw.NV.PathRendering
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/ConditionalRender.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/ConditionalRender.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/ConditionalRender.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/ConditionalRender.hs
@@ -1,27 +1,27 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.ConditionalRender
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the NV_conditional_render extension, see
--- <http://www.opengl.org/registry/specs/NV/conditional_render.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.ConditionalRender (
-   -- * Functions
-   glBeginConditionalRender,
-   glEndConditionalRender,
-   -- * Tokens
-   gl_QUERY_WAIT,
-   gl_QUERY_NO_WAIT,
-   gl_QUERY_BY_REGION_WAIT,
-   gl_QUERY_BY_REGION_NO_WAIT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core32
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.NV.ConditionalRender
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the NV_conditional_render extension, see
+-- <http://www.opengl.org/registry/specs/NV/conditional_render.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.NV.ConditionalRender (
+   -- * Functions
+   glBeginConditionalRender,
+   glEndConditionalRender,
+   -- * Tokens
+   gl_QUERY_WAIT,
+   gl_QUERY_NO_WAIT,
+   gl_QUERY_BY_REGION_WAIT,
+   gl_QUERY_BY_REGION_NO_WAIT
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/CopyDepthToColor.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/CopyDepthToColor.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/CopyDepthToColor.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/CopyDepthToColor.hs
@@ -1,29 +1,29 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.CopyDepthToColor
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the NV_copy_depth_to_color extension not
--- already in the OpenGL 3.1 core, see
--- <http://www.opengl.org/registry/specs/NV/copy_depth_to_color.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.CopyDepthToColor (
-   -- * Tokens
-   gl_DEPTH_STENCIL_TO_RGBA,
-   gl_DEPTH_STENCIL_TO_BGRA
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core32
-
-gl_DEPTH_STENCIL_TO_RGBA :: GLenum
-gl_DEPTH_STENCIL_TO_RGBA = 0x886E
-
-gl_DEPTH_STENCIL_TO_BGRA :: GLenum
-gl_DEPTH_STENCIL_TO_BGRA = 0x886F
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.NV.CopyDepthToColor
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the NV_copy_depth_to_color extension not
+-- already in the OpenGL 3.1 core, see
+-- <http://www.opengl.org/registry/specs/NV/copy_depth_to_color.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.NV.CopyDepthToColor (
+   -- * Tokens
+   gl_DEPTH_STENCIL_TO_RGBA,
+   gl_DEPTH_STENCIL_TO_BGRA
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
+
+gl_DEPTH_STENCIL_TO_RGBA :: GLenum
+gl_DEPTH_STENCIL_TO_RGBA = 0x886E
+
+gl_DEPTH_STENCIL_TO_BGRA :: GLenum
+gl_DEPTH_STENCIL_TO_BGRA = 0x886F
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/DepthBufferFloat.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/DepthBufferFloat.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/DepthBufferFloat.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/DepthBufferFloat.hs
@@ -1,44 +1,44 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.DepthBufferFloat
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the NV_depth_buffer_float extension, see
--- <http://www.opengl.org/registry/specs/NV/NV_depth_buffer_float.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.DepthBufferFloat (
-   -- * Functions
-   glDepthRanged,
-   glClearDepthd,
-   glDepthBoundsd,
-   -- * Tokens
-   gl_DEPTH_COMPONENT32F,
-   gl_DEPTH32F_STENCIL8,
-   gl_FLOAT_32_UNSIGNED_INT_24_8_REV,
-   gl_DEPTH_BUFFER_FLOAT_MODE
-) where
-
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.Core32
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_NV_depth_buffer_float"
-
-EXTENSION_ENTRY(glDepthRanged,GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(glClearDepthd,GLdouble -> IO ())
-EXTENSION_ENTRY(glDepthBoundsd,GLdouble -> GLdouble -> IO ())
-
-gl_DEPTH_BUFFER_FLOAT_MODE :: GLenum
-gl_DEPTH_BUFFER_FLOAT_MODE = 0x8DAF
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.NV.DepthBufferFloat
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the NV_depth_buffer_float extension, see
+-- <http://www.opengl.org/registry/specs/NV/NV_depth_buffer_float.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.NV.DepthBufferFloat (
+   -- * Functions
+   glDepthRanged,
+   glClearDepthd,
+   glDepthBoundsd,
+   -- * Tokens
+   gl_DEPTH_COMPONENT32F,
+   gl_DEPTH32F_STENCIL8,
+   gl_FLOAT_32_UNSIGNED_INT_24_8_REV,
+   gl_DEPTH_BUFFER_FLOAT_MODE
+) where
+
+import Foreign.C.Types
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+import Graphics.Rendering.OpenGL.Raw.Core32
+import Graphics.Rendering.OpenGL.Raw.Extensions
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_NV_depth_buffer_float"
+
+EXTENSION_ENTRY(dyn_glDepthRanged,ptr_glDepthRanged,"glDepthRanged",glDepthRanged,GLdouble -> GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glClearDepthd,ptr_glClearDepthd,"glClearDepthd",glClearDepthd,GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glDepthBoundsd,ptr_glDepthBoundsd,"glDepthBoundsd",glDepthBoundsd,GLdouble -> GLdouble -> IO ())
+
+gl_DEPTH_BUFFER_FLOAT_MODE :: GLenum
+gl_DEPTH_BUFFER_FLOAT_MODE = 0x8DAF
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/DepthClamp.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/DepthClamp.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/DepthClamp.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/DepthClamp.hs
@@ -1,21 +1,21 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.DepthClamp
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All tokens from the NV_depth_clamp extension, see
--- <http://www.opengl.org/registry/specs/NV/depth_clamp.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.DepthClamp (
-   -- * Tokens
-   gl_DEPTH_CLAMP
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ARB.DepthClamp
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.NV.DepthClamp
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All tokens from the NV_depth_clamp extension, see
+-- <http://www.opengl.org/registry/specs/NV/depth_clamp.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.NV.DepthClamp (
+   -- * Tokens
+   gl_DEPTH_CLAMP
+) where
+
+import Graphics.Rendering.OpenGL.Raw.ARB.DepthClamp
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/ExplicitMultisample.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/ExplicitMultisample.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/ExplicitMultisample.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/ExplicitMultisample.hs
@@ -1,66 +1,66 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.ExplicitMultisample
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the NV_explicit_multisample extension, see
--- <http://www.opengl.org/registry/specs/NV/explicit_multisample.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.ExplicitMultisample (
-   -- * Functions
-   glGetBooleanIndexedv,
-   glGetIntegerIndexedv,
-   glGetMultisamplefv,
-   glSampleMaskIndexed,
-   glTexRenderbuffer,
-   -- * Tokens
-   gl_SAMPLE_POSITION,
-   gl_SAMPLE_MASK,
-   gl_SAMPLE_MASK_VALUE,
-   gl_TEXTURE_BINDING_RENDERBUFFER,
-   gl_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING,
-   gl_MAX_SAMPLE_MASK_WORDS,
-   gl_TEXTURE_RENDERBUFFER,
-   gl_SAMPLER_RENDERBUFFER,
-   gl_INT_SAMPLER_RENDERBUFFER,
-   gl_UNSIGNED_INT_SAMPLER_RENDERBUFFER
-) where
-
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.EXT.DirectStateAccess
-import Graphics.Rendering.OpenGL.Raw.Core32
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_NV_explicit_multisample"
-
-EXTENSION_ENTRY(glSampleMaskIndexed,GLuint -> GLbitfield -> IO ())
-EXTENSION_ENTRY(glTexRenderbuffer,GLenum -> GLuint -> IO ())
-
-gl_TEXTURE_BINDING_RENDERBUFFER :: GLenum
-gl_TEXTURE_BINDING_RENDERBUFFER = 0x8E53
-
-gl_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING :: GLenum
-gl_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING = 0x8E54
-
-gl_TEXTURE_RENDERBUFFER :: GLenum
-gl_TEXTURE_RENDERBUFFER = 0x8E55
-
-gl_SAMPLER_RENDERBUFFER :: GLenum
-gl_SAMPLER_RENDERBUFFER = 0x8E56
-
-gl_INT_SAMPLER_RENDERBUFFER :: GLenum
-gl_INT_SAMPLER_RENDERBUFFER = 0x8E57
-
-gl_UNSIGNED_INT_SAMPLER_RENDERBUFFER :: GLenum
-gl_UNSIGNED_INT_SAMPLER_RENDERBUFFER = 0x8E58
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.NV.ExplicitMultisample
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the NV_explicit_multisample extension, see
+-- <http://www.opengl.org/registry/specs/NV/explicit_multisample.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.NV.ExplicitMultisample (
+   -- * Functions
+   glGetBooleanIndexedv,
+   glGetIntegerIndexedv,
+   glGetMultisamplefv,
+   glSampleMaskIndexed,
+   glTexRenderbuffer,
+   -- * Tokens
+   gl_SAMPLE_POSITION,
+   gl_SAMPLE_MASK,
+   gl_SAMPLE_MASK_VALUE,
+   gl_TEXTURE_BINDING_RENDERBUFFER,
+   gl_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING,
+   gl_MAX_SAMPLE_MASK_WORDS,
+   gl_TEXTURE_RENDERBUFFER,
+   gl_SAMPLER_RENDERBUFFER,
+   gl_INT_SAMPLER_RENDERBUFFER,
+   gl_UNSIGNED_INT_SAMPLER_RENDERBUFFER
+) where
+
+import Foreign.C.Types
+import Graphics.Rendering.OpenGL.Raw.EXT.DirectStateAccess
+import Graphics.Rendering.OpenGL.Raw.Core32
+import Graphics.Rendering.OpenGL.Raw.Extensions
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_NV_explicit_multisample"
+
+EXTENSION_ENTRY(dyn_glSampleMaskIndexed,ptr_glSampleMaskIndexed,"glSampleMaskIndexed",glSampleMaskIndexed,GLuint -> GLbitfield -> IO ())
+EXTENSION_ENTRY(dyn_glTexRenderbuffer,ptr_glTexRenderbuffer,"glTexRenderbuffer",glTexRenderbuffer,GLenum -> GLuint -> IO ())
+
+gl_TEXTURE_BINDING_RENDERBUFFER :: GLenum
+gl_TEXTURE_BINDING_RENDERBUFFER = 0x8E53
+
+gl_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING :: GLenum
+gl_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING = 0x8E54
+
+gl_TEXTURE_RENDERBUFFER :: GLenum
+gl_TEXTURE_RENDERBUFFER = 0x8E55
+
+gl_SAMPLER_RENDERBUFFER :: GLenum
+gl_SAMPLER_RENDERBUFFER = 0x8E56
+
+gl_INT_SAMPLER_RENDERBUFFER :: GLenum
+gl_INT_SAMPLER_RENDERBUFFER = 0x8E57
+
+gl_UNSIGNED_INT_SAMPLER_RENDERBUFFER :: GLenum
+gl_UNSIGNED_INT_SAMPLER_RENDERBUFFER = 0x8E58
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/Fence.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/Fence.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/Fence.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/Fence.hs
@@ -1,57 +1,57 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.Fence
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the NV_fence not already in the OpenGL 3.1
--- core, see <http://www.opengl.org/registry/specs/NV/fence.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.Fence (
-   -- * Functions
-   glGenFences,
-   glDeleteFences,
-   glSetFence,
-   glTestFence,
-   glFinishFence,
-   glIsFence,
-   glGetFenceiv,
-   -- * Tokens
-   gl_ALL_COMPLETED,
-   gl_FENCE_STATUS,
-   gl_FENCE_CONDITION
-) where
-
-import Foreign.Ptr
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_NV_fence"
-
-EXTENSION_ENTRY(glGenFences,GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glDeleteFences,GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glSetFence,GLuint -> GLenum -> IO ())
-EXTENSION_ENTRY(glTestFence,GLuint -> IO GLboolean)
-EXTENSION_ENTRY(glFinishFence,GLuint -> IO ())
-EXTENSION_ENTRY(glIsFence,GLuint -> IO GLboolean)
-EXTENSION_ENTRY(glGetFenceiv,GLuint -> GLenum -> Ptr GLint -> IO ())
-
-gl_ALL_COMPLETED :: GLenum
-gl_ALL_COMPLETED = 0x84F2
-
-gl_FENCE_STATUS :: GLenum
-gl_FENCE_STATUS = 0x84F3
-
-gl_FENCE_CONDITION :: GLenum
-gl_FENCE_CONDITION = 0x84F4
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.NV.Fence
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the NV_fence not already in the OpenGL 3.1
+-- core, see <http://www.opengl.org/registry/specs/NV/fence.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.NV.Fence (
+   -- * Functions
+   glGenFences,
+   glDeleteFences,
+   glSetFence,
+   glTestFence,
+   glFinishFence,
+   glIsFence,
+   glGetFenceiv,
+   -- * Tokens
+   gl_ALL_COMPLETED,
+   gl_FENCE_STATUS,
+   gl_FENCE_CONDITION
+) where
+
+import Foreign.Ptr
+import Foreign.C.Types
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+import Graphics.Rendering.OpenGL.Raw.Extensions
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_NV_fence"
+
+EXTENSION_ENTRY(dyn_glGenFences,ptr_glGenFences,"glGenFences",glGenFences,GLsizei -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glDeleteFences,ptr_glDeleteFences,"glDeleteFences",glDeleteFences,GLsizei -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glSetFence,ptr_glSetFence,"glSetFence",glSetFence,GLuint -> GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glTestFence,ptr_glTestFence,"glTestFence",glTestFence,GLuint -> IO GLboolean)
+EXTENSION_ENTRY(dyn_glFinishFence,ptr_glFinishFence,"glFinishFence",glFinishFence,GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glIsFence,ptr_glIsFence,"glIsFence",glIsFence,GLuint -> IO GLboolean)
+EXTENSION_ENTRY(dyn_glGetFenceiv,ptr_glGetFenceiv,"glGetFenceiv",glGetFenceiv,GLuint -> GLenum -> Ptr GLint -> IO ())
+
+gl_ALL_COMPLETED :: GLenum
+gl_ALL_COMPLETED = 0x84F2
+
+gl_FENCE_STATUS :: GLenum
+gl_FENCE_STATUS = 0x84F3
+
+gl_FENCE_CONDITION :: GLenum
+gl_FENCE_CONDITION = 0x84F4
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/FloatBuffer.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/FloatBuffer.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/FloatBuffer.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/FloatBuffer.hs
@@ -1,80 +1,80 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.FloatBuffer
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All tokens from the NV_float_buffer extension, see
--- <http://www.opengl.org/registry/specs/NV/float_buffer.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.FloatBuffer (
-   -- * Tokens
-   gl_FLOAT_R,
-   gl_FLOAT_RG,
-   gl_FLOAT_RGB,
-   gl_FLOAT_RGBA,
-   gl_FLOAT_R16,
-   gl_FLOAT_R32,
-   gl_FLOAT_RG16,
-   gl_FLOAT_RG32,
-   gl_FLOAT_RGB16,
-   gl_FLOAT_RGB32,
-   gl_FLOAT_RGBA16,
-   gl_FLOAT_RGBA32,
-   gl_TEXTURE_FLOAT_COMPONENTS,
-   gl_FLOAT_CLEAR_COLOR_VALUE,
-   gl_FLOAT_RGBA_MODE
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core32
-
-gl_FLOAT_R :: GLenum
-gl_FLOAT_R = 0x8880
-
-gl_FLOAT_RG :: GLenum
-gl_FLOAT_RG = 0x8881
-
-gl_FLOAT_RGB :: GLenum
-gl_FLOAT_RGB = 0x8882
-
-gl_FLOAT_RGBA :: GLenum
-gl_FLOAT_RGBA = 0x8883
-
-gl_FLOAT_R16 :: GLenum
-gl_FLOAT_R16 = 0x8884
-
-gl_FLOAT_R32 :: GLenum
-gl_FLOAT_R32 = 0x8885
-
-gl_FLOAT_RG16 :: GLenum
-gl_FLOAT_RG16 = 0x8886
-
-gl_FLOAT_RG32 :: GLenum
-gl_FLOAT_RG32 = 0x8887
-
-gl_FLOAT_RGB16 :: GLenum
-gl_FLOAT_RGB16 = 0x8888
-
-gl_FLOAT_RGB32 :: GLenum
-gl_FLOAT_RGB32 = 0x8889
-
-gl_FLOAT_RGBA16 :: GLenum
-gl_FLOAT_RGBA16 = 0x888A
-
-gl_FLOAT_RGBA32 :: GLenum
-gl_FLOAT_RGBA32 = 0x888B
-
-gl_TEXTURE_FLOAT_COMPONENTS :: GLenum
-gl_TEXTURE_FLOAT_COMPONENTS = 0x888C
-
-gl_FLOAT_CLEAR_COLOR_VALUE :: GLenum
-gl_FLOAT_CLEAR_COLOR_VALUE = 0x888D
-
-gl_FLOAT_RGBA_MODE :: GLenum
-gl_FLOAT_RGBA_MODE = 0x888E
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.NV.FloatBuffer
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All tokens from the NV_float_buffer extension, see
+-- <http://www.opengl.org/registry/specs/NV/float_buffer.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.NV.FloatBuffer (
+   -- * Tokens
+   gl_FLOAT_R,
+   gl_FLOAT_RG,
+   gl_FLOAT_RGB,
+   gl_FLOAT_RGBA,
+   gl_FLOAT_R16,
+   gl_FLOAT_R32,
+   gl_FLOAT_RG16,
+   gl_FLOAT_RG32,
+   gl_FLOAT_RGB16,
+   gl_FLOAT_RGB32,
+   gl_FLOAT_RGBA16,
+   gl_FLOAT_RGBA32,
+   gl_TEXTURE_FLOAT_COMPONENTS,
+   gl_FLOAT_CLEAR_COLOR_VALUE,
+   gl_FLOAT_RGBA_MODE
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
+
+gl_FLOAT_R :: GLenum
+gl_FLOAT_R = 0x8880
+
+gl_FLOAT_RG :: GLenum
+gl_FLOAT_RG = 0x8881
+
+gl_FLOAT_RGB :: GLenum
+gl_FLOAT_RGB = 0x8882
+
+gl_FLOAT_RGBA :: GLenum
+gl_FLOAT_RGBA = 0x8883
+
+gl_FLOAT_R16 :: GLenum
+gl_FLOAT_R16 = 0x8884
+
+gl_FLOAT_R32 :: GLenum
+gl_FLOAT_R32 = 0x8885
+
+gl_FLOAT_RG16 :: GLenum
+gl_FLOAT_RG16 = 0x8886
+
+gl_FLOAT_RG32 :: GLenum
+gl_FLOAT_RG32 = 0x8887
+
+gl_FLOAT_RGB16 :: GLenum
+gl_FLOAT_RGB16 = 0x8888
+
+gl_FLOAT_RGB32 :: GLenum
+gl_FLOAT_RGB32 = 0x8889
+
+gl_FLOAT_RGBA16 :: GLenum
+gl_FLOAT_RGBA16 = 0x888A
+
+gl_FLOAT_RGBA32 :: GLenum
+gl_FLOAT_RGBA32 = 0x888B
+
+gl_TEXTURE_FLOAT_COMPONENTS :: GLenum
+gl_TEXTURE_FLOAT_COMPONENTS = 0x888C
+
+gl_FLOAT_CLEAR_COLOR_VALUE :: GLenum
+gl_FLOAT_CLEAR_COLOR_VALUE = 0x888D
+
+gl_FLOAT_RGBA_MODE :: GLenum
+gl_FLOAT_RGBA_MODE = 0x888E
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/FogDistance.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/FogDistance.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/FogDistance.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/FogDistance.hs
@@ -1,35 +1,35 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.FogDistance
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the NV_fog_distance extension not already
--- in the OpenGL 3.1 core, see
--- <http://www.opengl.org/registry/specs/NV/fog_distance.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.FogDistance (
-   -- * Tokens
-   gl_FOG_DISTANCE_MODE,
-   gl_EYE_RADIAL,
-   gl_EYE_PLANE,
-   gl_EYE_PLANE_ABSOLUTE
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
-import Graphics.Rendering.OpenGL.Raw.Core32
-
-gl_FOG_DISTANCE_MODE :: GLenum
-gl_FOG_DISTANCE_MODE = 0x855A
-
-gl_EYE_RADIAL :: GLenum
-gl_EYE_RADIAL = 0x855B
-
-gl_EYE_PLANE_ABSOLUTE :: GLenum
-gl_EYE_PLANE_ABSOLUTE = 0x855C
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.NV.FogDistance
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the NV_fog_distance extension not already
+-- in the OpenGL 3.1 core, see
+-- <http://www.opengl.org/registry/specs/NV/fog_distance.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.NV.FogDistance (
+   -- * Tokens
+   gl_FOG_DISTANCE_MODE,
+   gl_EYE_RADIAL,
+   gl_EYE_PLANE,
+   gl_EYE_PLANE_ABSOLUTE
+) where
+
+import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
+import Graphics.Rendering.OpenGL.Raw.Core32
+
+gl_FOG_DISTANCE_MODE :: GLenum
+gl_FOG_DISTANCE_MODE = 0x855A
+
+gl_EYE_RADIAL :: GLenum
+gl_EYE_RADIAL = 0x855B
+
+gl_EYE_PLANE_ABSOLUTE :: GLenum
+gl_EYE_PLANE_ABSOLUTE = 0x855C
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/FragmentProgram.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/FragmentProgram.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/FragmentProgram.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/FragmentProgram.hs
@@ -1,65 +1,65 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.FragmentProgram
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the NV_fragment_program extension, see
--- <http://www.opengl.org/registry/specs/NV/fragment_program.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.FragmentProgram (
-   -- * Functions
-   glProgramNamedParameter4f,
-   glProgramNamedParameter4d,
-   glProgramNamedParameter4fv,
-   glProgramNamedParameter4dv,
-   glGetProgramNamedParameterfv,
-   glGetProgramNamedParameterdv,
-   glProgramLocalParameter4d,
-   glProgramLocalParameter4dv,
-   glProgramLocalParameter4f,
-   glProgramLocalParameter4fv,
-   glGetProgramLocalParameterdv,
-   glGetProgramLocalParameterfv,
-   -- * Tokens
-   gl_FRAGMENT_PROGRAM_NV,
-   gl_MAX_TEXTURE_COORDS,
-   gl_MAX_TEXTURE_IMAGE_UNITS,
-   gl_FRAGMENT_PROGRAM_BINDING,
-   gl_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS,
-   gl_PROGRAM_ERROR_STRING
-) where
-
-import Foreign.Ptr
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.ARB.FragmentProgram
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_NV_fragment_program"
-
-EXTENSION_ENTRY(glProgramNamedParameter4f,GLuint -> GLsizei -> Ptr GLubyte -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(glProgramNamedParameter4d,GLuint -> GLsizei -> Ptr GLubyte -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(glProgramNamedParameter4fv,GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glProgramNamedParameter4dv,GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glGetProgramNamedParameterfv,GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glGetProgramNamedParameterdv,GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLdouble -> IO ())
-
-gl_FRAGMENT_PROGRAM_NV :: GLenum
-gl_FRAGMENT_PROGRAM_NV = 0x8870
-
-gl_FRAGMENT_PROGRAM_BINDING :: GLenum
-gl_FRAGMENT_PROGRAM_BINDING = 0x8873
-
-gl_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS :: GLenum
-gl_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS = 0x8868
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.NV.FragmentProgram
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the NV_fragment_program extension, see
+-- <http://www.opengl.org/registry/specs/NV/fragment_program.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.NV.FragmentProgram (
+   -- * Functions
+   glProgramNamedParameter4f,
+   glProgramNamedParameter4d,
+   glProgramNamedParameter4fv,
+   glProgramNamedParameter4dv,
+   glGetProgramNamedParameterfv,
+   glGetProgramNamedParameterdv,
+   glProgramLocalParameter4d,
+   glProgramLocalParameter4dv,
+   glProgramLocalParameter4f,
+   glProgramLocalParameter4fv,
+   glGetProgramLocalParameterdv,
+   glGetProgramLocalParameterfv,
+   -- * Tokens
+   gl_FRAGMENT_PROGRAM_NV,
+   gl_MAX_TEXTURE_COORDS,
+   gl_MAX_TEXTURE_IMAGE_UNITS,
+   gl_FRAGMENT_PROGRAM_BINDING,
+   gl_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS,
+   gl_PROGRAM_ERROR_STRING
+) where
+
+import Foreign.Ptr
+import Foreign.C.Types
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+import Graphics.Rendering.OpenGL.Raw.ARB.FragmentProgram
+import Graphics.Rendering.OpenGL.Raw.Extensions
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_NV_fragment_program"
+
+EXTENSION_ENTRY(dyn_glProgramNamedParameter4f,ptr_glProgramNamedParameter4f,"glProgramNamedParameter4f",glProgramNamedParameter4f,GLuint -> GLsizei -> Ptr GLubyte -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glProgramNamedParameter4d,ptr_glProgramNamedParameter4d,"glProgramNamedParameter4d",glProgramNamedParameter4d,GLuint -> GLsizei -> Ptr GLubyte -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glProgramNamedParameter4fv,ptr_glProgramNamedParameter4fv,"glProgramNamedParameter4fv",glProgramNamedParameter4fv,GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glProgramNamedParameter4dv,ptr_glProgramNamedParameter4dv,"glProgramNamedParameter4dv",glProgramNamedParameter4dv,GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glGetProgramNamedParameterfv,ptr_glGetProgramNamedParameterfv,"glGetProgramNamedParameterfv",glGetProgramNamedParameterfv,GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glGetProgramNamedParameterdv,ptr_glGetProgramNamedParameterdv,"glGetProgramNamedParameterdv",glGetProgramNamedParameterdv,GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLdouble -> IO ())
+
+gl_FRAGMENT_PROGRAM_NV :: GLenum
+gl_FRAGMENT_PROGRAM_NV = 0x8870
+
+gl_FRAGMENT_PROGRAM_BINDING :: GLenum
+gl_FRAGMENT_PROGRAM_BINDING = 0x8873
+
+gl_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS :: GLenum
+gl_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS = 0x8868
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/FragmentProgram2.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/FragmentProgram2.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/FragmentProgram2.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/FragmentProgram2.hs
@@ -1,40 +1,40 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.FragmentProgram2
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All tokens from the NV_fragment_program, see
--- <http://www.opengl.org/registry/specs/NV/fragment_program.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.FragmentProgram2 (
-   -- * Tokens
-   gl_MAX_PROGRAM_EXEC_INSTRUCTIONS,
-   gl_MAX_PROGRAM_CALL_DEPTH,
-   gl_MAX_PROGRAM_IF_DEPTH,
-   gl_MAX_PROGRAM_LOOP_DEPTH,
-   gl_MAX_PROGRAM_LOOP_COUNT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core32
-
-gl_MAX_PROGRAM_EXEC_INSTRUCTIONS :: GLenum
-gl_MAX_PROGRAM_EXEC_INSTRUCTIONS = 0x88F4
-
-gl_MAX_PROGRAM_CALL_DEPTH :: GLenum
-gl_MAX_PROGRAM_CALL_DEPTH = 0x88F5
-
-gl_MAX_PROGRAM_IF_DEPTH :: GLenum
-gl_MAX_PROGRAM_IF_DEPTH = 0x88F6
-
-gl_MAX_PROGRAM_LOOP_DEPTH :: GLenum
-gl_MAX_PROGRAM_LOOP_DEPTH = 0x88F7
-
-gl_MAX_PROGRAM_LOOP_COUNT :: GLenum
-gl_MAX_PROGRAM_LOOP_COUNT = 0x88F8
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.NV.FragmentProgram2
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All tokens from the NV_fragment_program, see
+-- <http://www.opengl.org/registry/specs/NV/fragment_program.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.NV.FragmentProgram2 (
+   -- * Tokens
+   gl_MAX_PROGRAM_EXEC_INSTRUCTIONS,
+   gl_MAX_PROGRAM_CALL_DEPTH,
+   gl_MAX_PROGRAM_IF_DEPTH,
+   gl_MAX_PROGRAM_LOOP_DEPTH,
+   gl_MAX_PROGRAM_LOOP_COUNT
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
+
+gl_MAX_PROGRAM_EXEC_INSTRUCTIONS :: GLenum
+gl_MAX_PROGRAM_EXEC_INSTRUCTIONS = 0x88F4
+
+gl_MAX_PROGRAM_CALL_DEPTH :: GLenum
+gl_MAX_PROGRAM_CALL_DEPTH = 0x88F5
+
+gl_MAX_PROGRAM_IF_DEPTH :: GLenum
+gl_MAX_PROGRAM_IF_DEPTH = 0x88F6
+
+gl_MAX_PROGRAM_LOOP_DEPTH :: GLenum
+gl_MAX_PROGRAM_LOOP_DEPTH = 0x88F7
+
+gl_MAX_PROGRAM_LOOP_COUNT :: GLenum
+gl_MAX_PROGRAM_LOOP_COUNT = 0x88F8
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/FramebufferMultisampleCoverage.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/FramebufferMultisampleCoverage.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/FramebufferMultisampleCoverage.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/FramebufferMultisampleCoverage.hs
@@ -1,49 +1,49 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.FramebufferMultisampleCoverage
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the NV_framebuffer_multisample_coverage
--- extension, see
--- <http://www.opengl.org/registry/specs/NV/framebuffer_multisample_coverage.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.FramebufferMultisampleCoverage (
-   -- * Functions
-   glRenderbufferStorageMultisampleCoverage,
-   -- * Tokens
-   gl_RENDERBUFFER_COVERAGE_SAMPLES,
-   gl_RENDERBUFFER_COLOR_SAMPLES,
-   gl_MAX_MULTISAMPLE_COVERAGE_MODES,
-   gl_MULTISAMPLE_COVERAGE_MODES
-) where
-
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_NV_framebuffer_multisample_coverage"
-
-EXTENSION_ENTRY(glRenderbufferStorageMultisampleCoverage,GLenum -> GLsizei -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
-
-gl_RENDERBUFFER_COVERAGE_SAMPLES :: GLenum
-gl_RENDERBUFFER_COVERAGE_SAMPLES = 0x8CAB
-
-gl_RENDERBUFFER_COLOR_SAMPLES :: GLenum
-gl_RENDERBUFFER_COLOR_SAMPLES = 0x8E10
-
-gl_MAX_MULTISAMPLE_COVERAGE_MODES :: GLenum
-gl_MAX_MULTISAMPLE_COVERAGE_MODES = 0x8E11
-
-gl_MULTISAMPLE_COVERAGE_MODES :: GLenum
-gl_MULTISAMPLE_COVERAGE_MODES = 0x8E12
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.NV.FramebufferMultisampleCoverage
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the NV_framebuffer_multisample_coverage
+-- extension, see
+-- <http://www.opengl.org/registry/specs/NV/framebuffer_multisample_coverage.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.NV.FramebufferMultisampleCoverage (
+   -- * Functions
+   glRenderbufferStorageMultisampleCoverage,
+   -- * Tokens
+   gl_RENDERBUFFER_COVERAGE_SAMPLES,
+   gl_RENDERBUFFER_COLOR_SAMPLES,
+   gl_MAX_MULTISAMPLE_COVERAGE_MODES,
+   gl_MULTISAMPLE_COVERAGE_MODES
+) where
+
+import Foreign.C.Types
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+import Graphics.Rendering.OpenGL.Raw.Extensions
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_NV_framebuffer_multisample_coverage"
+
+EXTENSION_ENTRY(dyn_glRenderbufferStorageMultisampleCoverage,ptr_glRenderbufferStorageMultisampleCoverage,"glRenderbufferStorageMultisampleCoverage",glRenderbufferStorageMultisampleCoverage,GLenum -> GLsizei -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
+
+gl_RENDERBUFFER_COVERAGE_SAMPLES :: GLenum
+gl_RENDERBUFFER_COVERAGE_SAMPLES = 0x8CAB
+
+gl_RENDERBUFFER_COLOR_SAMPLES :: GLenum
+gl_RENDERBUFFER_COLOR_SAMPLES = 0x8E10
+
+gl_MAX_MULTISAMPLE_COVERAGE_MODES :: GLenum
+gl_MAX_MULTISAMPLE_COVERAGE_MODES = 0x8E11
+
+gl_MULTISAMPLE_COVERAGE_MODES :: GLenum
+gl_MULTISAMPLE_COVERAGE_MODES = 0x8E12
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/GPUProgram4.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/GPUProgram4.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/GPUProgram4.hs
@@ -0,0 +1,91 @@
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.NV.GPUProgram4
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the NV_gpu_program4 extension, see
+-- <http://www.opengl.org/registry/specs/NV/gpu_program4.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.NV.GPUProgram4 (
+   -- * Functions
+   glProgramLocalParameterI4i,
+   glProgramLocalParameterI4iv,
+   glProgramLocalParametersI4iv,
+   glProgramLocalParameterI4ui,
+   glProgramLocalParameterI4uiv,
+   glProgramLocalParametersI4uiv,
+   glProgramEnvParameterI4i,
+   glProgramEnvParameterI4iv,
+   glProgramEnvParametersI4iv,
+   glProgramEnvParameterI4ui,
+   glProgramEnvParameterI4uiv,
+   glProgramEnvParametersI4uiv,
+   glGetProgramLocalParameterIiv,
+   glGetProgramLocalParameterIuiv,
+   glGetProgramEnvParameterIiv,
+   glGetProgramEnvParameterIuiv,
+   -- * Tokens
+   gl_MIN_PROGRAM_TEXEL_OFFSET,
+   gl_MAX_PROGRAM_TEXEL_OFFSET,
+   gl_PROGRAM_ATTRIB_COMPONENTS,
+   gl_PROGRAM_RESULT_COMPONENTS,
+   gl_MAX_PROGRAM_ATTRIB_COMPONENTS,
+   gl_MAX_PROGRAM_RESULT_COMPONENTS,
+   gl_MAX_PROGRAM_GENERIC_ATTRIBS,
+   gl_MAX_PROGRAM_GENERIC_RESULTS
+) where
+
+import Foreign.Ptr
+import Foreign.C.Types
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+import Graphics.Rendering.OpenGL.Raw.Core32
+import Graphics.Rendering.OpenGL.Raw.Extensions
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_NV_gpu_program4"
+
+EXTENSION_ENTRY(dyn_glProgramLocalParameterI4i,ptr_glProgramLocalParameterI4i,"glProgramLocalParameterI4i",glProgramLocalParameterI4i,GLenum -> GLuint -> GLint -> GLint -> GLint -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glProgramLocalParameterI4iv,ptr_glProgramLocalParameterI4iv,"glProgramLocalParameterI4iv",glProgramLocalParameterI4iv,GLenum -> GLuint -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glProgramLocalParametersI4iv,ptr_glProgramLocalParametersI4iv,"glProgramLocalParametersI4iv",glProgramLocalParametersI4iv,GLenum -> GLuint -> GLsizei -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glProgramLocalParameterI4ui,ptr_glProgramLocalParameterI4ui,"glProgramLocalParameterI4ui",glProgramLocalParameterI4ui,GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glProgramLocalParameterI4uiv,ptr_glProgramLocalParameterI4uiv,"glProgramLocalParameterI4uiv",glProgramLocalParameterI4uiv,GLenum -> GLuint -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glProgramLocalParametersI4uiv,ptr_glProgramLocalParametersI4uiv,"glProgramLocalParametersI4uiv",glProgramLocalParametersI4uiv,GLenum -> GLuint -> GLsizei -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glProgramEnvParameterI4i,ptr_glProgramEnvParameterI4i,"glProgramEnvParameterI4i",glProgramEnvParameterI4i,GLenum -> GLuint -> GLint -> GLint -> GLint -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glProgramEnvParameterI4iv,ptr_glProgramEnvParameterI4iv,"glProgramEnvParameterI4iv",glProgramEnvParameterI4iv,GLenum -> GLuint -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glProgramEnvParametersI4iv,ptr_glProgramEnvParametersI4iv,"glProgramEnvParametersI4iv",glProgramEnvParametersI4iv,GLenum -> GLuint -> GLsizei -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glProgramEnvParameterI4ui,ptr_glProgramEnvParameterI4ui,"glProgramEnvParameterI4ui",glProgramEnvParameterI4ui,GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glProgramEnvParameterI4uiv,ptr_glProgramEnvParameterI4uiv,"glProgramEnvParameterI4uiv",glProgramEnvParameterI4uiv,GLenum -> GLuint -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glProgramEnvParametersI4uiv,ptr_glProgramEnvParametersI4uiv,"glProgramEnvParametersI4uiv",glProgramEnvParametersI4uiv,GLenum -> GLuint -> GLsizei -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glGetProgramLocalParameterIiv,ptr_glGetProgramLocalParameterIiv,"glGetProgramLocalParameterIiv",glGetProgramLocalParameterIiv,GLenum -> GLuint -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glGetProgramLocalParameterIuiv,ptr_glGetProgramLocalParameterIuiv,"glGetProgramLocalParameterIuiv",glGetProgramLocalParameterIuiv,GLenum -> GLuint -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glGetProgramEnvParameterIiv,ptr_glGetProgramEnvParameterIiv,"glGetProgramEnvParameterIiv",glGetProgramEnvParameterIiv,GLenum -> GLuint -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glGetProgramEnvParameterIuiv,ptr_glGetProgramEnvParameterIuiv,"glGetProgramEnvParameterIuiv",glGetProgramEnvParameterIuiv,GLenum -> GLuint -> Ptr GLuint -> IO ())
+
+gl_PROGRAM_ATTRIB_COMPONENTS :: GLenum
+gl_PROGRAM_ATTRIB_COMPONENTS = 0x8906
+
+gl_PROGRAM_RESULT_COMPONENTS :: GLenum
+gl_PROGRAM_RESULT_COMPONENTS = 0x8907
+
+gl_MAX_PROGRAM_ATTRIB_COMPONENTS :: GLenum
+gl_MAX_PROGRAM_ATTRIB_COMPONENTS = 0x8908
+
+gl_MAX_PROGRAM_RESULT_COMPONENTS :: GLenum
+gl_MAX_PROGRAM_RESULT_COMPONENTS = 0x8909
+
+gl_MAX_PROGRAM_GENERIC_ATTRIBS :: GLenum
+gl_MAX_PROGRAM_GENERIC_ATTRIBS = 0x8DA5
+
+gl_MAX_PROGRAM_GENERIC_RESULTS :: GLenum
+gl_MAX_PROGRAM_GENERIC_RESULTS = 0x8DA6
+      
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/GeometryProgram4.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/GeometryProgram4.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/GeometryProgram4.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/GeometryProgram4.hs
@@ -1,58 +1,58 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.GeometryProgram4
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the NV_geometry_program4 extension, see
--- <http://www.opengl.org/registry/specs/NV/geometry_program4.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.GeometryProgram4 (
-   -- * Functions
-   glProgramVertexLimit,
-   -- * Tokens
-   gl_GEOMETRY_PROGRAM,
-   gl_MAX_PROGRAM_OUTPUT_VERTICES,
-   gl_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS,
-   gl_GEOMETRY_VERTICES_OUT,
-   gl_GEOMETRY_INPUT_TYPE,
-   gl_GEOMETRY_OUTPUT_TYPE,
-   gl_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS,
-   gl_LINES_ADJACENCY,
-   gl_LINE_STRIP_ADJACENCY,
-   gl_TRIANGLES_ADJACENCY,
-   gl_TRIANGLE_STRIP_ADJACENCY,
-   gl_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS,
-   gl_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT,
-   gl_FRAMEBUFFER_ATTACHMENT_LAYERED,
-   gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER,
-   gl_PROGRAM_POINT_SIZE
-) where
-
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.Core32
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_NV_geometry_program4"
-
-EXTENSION_ENTRY(glProgramVertexLimit,GLenum -> GLint -> IO ())
-
-gl_GEOMETRY_PROGRAM :: GLenum
-gl_GEOMETRY_PROGRAM = 0x8C26
-
-gl_MAX_PROGRAM_OUTPUT_VERTICES :: GLenum
-gl_MAX_PROGRAM_OUTPUT_VERTICES = 0x8C27
-
-gl_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS :: GLenum
-gl_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS = 0x8C28
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.NV.GeometryProgram4
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the NV_geometry_program4 extension, see
+-- <http://www.opengl.org/registry/specs/NV/geometry_program4.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.NV.GeometryProgram4 (
+   -- * Functions
+   glProgramVertexLimit,
+   -- * Tokens
+   gl_GEOMETRY_PROGRAM,
+   gl_MAX_PROGRAM_OUTPUT_VERTICES,
+   gl_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS,
+   gl_GEOMETRY_VERTICES_OUT,
+   gl_GEOMETRY_INPUT_TYPE,
+   gl_GEOMETRY_OUTPUT_TYPE,
+   gl_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS,
+   gl_LINES_ADJACENCY,
+   gl_LINE_STRIP_ADJACENCY,
+   gl_TRIANGLES_ADJACENCY,
+   gl_TRIANGLE_STRIP_ADJACENCY,
+   gl_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS,
+   gl_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT,
+   gl_FRAMEBUFFER_ATTACHMENT_LAYERED,
+   gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER,
+   gl_PROGRAM_POINT_SIZE
+) where
+
+import Foreign.C.Types
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+import Graphics.Rendering.OpenGL.Raw.Core32
+import Graphics.Rendering.OpenGL.Raw.Extensions
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_NV_geometry_program4"
+
+EXTENSION_ENTRY(dyn_glProgramVertexLimit,ptr_glProgramVertexLimit,"glProgramVertexLimit",glProgramVertexLimit,GLenum -> GLint -> IO ())
+
+gl_GEOMETRY_PROGRAM :: GLenum
+gl_GEOMETRY_PROGRAM = 0x8C26
+
+gl_MAX_PROGRAM_OUTPUT_VERTICES :: GLenum
+gl_MAX_PROGRAM_OUTPUT_VERTICES = 0x8C27
+
+gl_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS :: GLenum
+gl_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS = 0x8C28
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,91 +0,0 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.GpuProgram4
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the NV_gpu_program4 extension, see
--- <http://www.opengl.org/registry/specs/NV/gpu_program4.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.GpuProgram4 (
-   -- * Functions
-   glProgramLocalParameterI4i,
-   glProgramLocalParameterI4iv,
-   glProgramLocalParametersI4iv,
-   glProgramLocalParameterI4ui,
-   glProgramLocalParameterI4uiv,
-   glProgramLocalParametersI4uiv,
-   glProgramEnvParameterI4i,
-   glProgramEnvParameterI4iv,
-   glProgramEnvParametersI4iv,
-   glProgramEnvParameterI4ui,
-   glProgramEnvParameterI4uiv,
-   glProgramEnvParametersI4uiv,
-   glGetProgramLocalParameterIiv,
-   glGetProgramLocalParameterIuiv,
-   glGetProgramEnvParameterIiv,
-   glGetProgramEnvParameterIuiv,
-   -- * Tokens
-   gl_MIN_PROGRAM_TEXEL_OFFSET,
-   gl_MAX_PROGRAM_TEXEL_OFFSET,
-   gl_PROGRAM_ATTRIB_COMPONENTS,
-   gl_PROGRAM_RESULT_COMPONENTS,
-   gl_MAX_PROGRAM_ATTRIB_COMPONENTS,
-   gl_MAX_PROGRAM_RESULT_COMPONENTS,
-   gl_MAX_PROGRAM_GENERIC_ATTRIBS,
-   gl_MAX_PROGRAM_GENERIC_RESULTS
-) where
-
-import Foreign.Ptr
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.Core32
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_NV_gpu_program4"
-
-EXTENSION_ENTRY(glProgramLocalParameterI4i,GLenum -> GLuint -> GLint -> GLint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(glProgramLocalParameterI4iv,GLenum -> GLuint -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glProgramLocalParametersI4iv,GLenum -> GLuint -> GLsizei -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glProgramLocalParameterI4ui,GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-EXTENSION_ENTRY(glProgramLocalParameterI4uiv,GLenum -> GLuint -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glProgramLocalParametersI4uiv,GLenum -> GLuint -> GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glProgramEnvParameterI4i,GLenum -> GLuint -> GLint -> GLint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(glProgramEnvParameterI4iv,GLenum -> GLuint -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glProgramEnvParametersI4iv,GLenum -> GLuint -> GLsizei -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glProgramEnvParameterI4ui,GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-EXTENSION_ENTRY(glProgramEnvParameterI4uiv,GLenum -> GLuint -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glProgramEnvParametersI4uiv,GLenum -> GLuint -> GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glGetProgramLocalParameterIiv,GLenum -> GLuint -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glGetProgramLocalParameterIuiv,GLenum -> GLuint -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glGetProgramEnvParameterIiv,GLenum -> GLuint -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glGetProgramEnvParameterIuiv,GLenum -> GLuint -> Ptr GLuint -> IO ())
-
-gl_PROGRAM_ATTRIB_COMPONENTS :: GLenum
-gl_PROGRAM_ATTRIB_COMPONENTS = 0x8906
-
-gl_PROGRAM_RESULT_COMPONENTS :: GLenum
-gl_PROGRAM_RESULT_COMPONENTS = 0x8907
-
-gl_MAX_PROGRAM_ATTRIB_COMPONENTS :: GLenum
-gl_MAX_PROGRAM_ATTRIB_COMPONENTS = 0x8908
-
-gl_MAX_PROGRAM_RESULT_COMPONENTS :: GLenum
-gl_MAX_PROGRAM_RESULT_COMPONENTS = 0x8909
-
-gl_MAX_PROGRAM_GENERIC_ATTRIBS :: GLenum
-gl_MAX_PROGRAM_GENERIC_ATTRIBS = 0x8DA5
-
-gl_MAX_PROGRAM_GENERIC_RESULTS :: GLenum
-gl_MAX_PROGRAM_GENERIC_RESULTS = 0x8DA6
-      
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/HalfFloat.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/HalfFloat.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/HalfFloat.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/HalfFloat.hs
@@ -1,127 +1,127 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.HalfFloat
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions, tokens and types from the NV_fragment_program extension,
--- see <http://www.opengl.org/registry/specs/NV/fragment_program.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.HalfFloat (
-   -- * Functions
-   glVertex2h,
-   glVertex2hv,
-   glVertex3h,
-   glVertex3hv,
-   glVertex4h,
-   glVertex4hv,
-   glNormal3h,
-   glNormal3hv,
-   glColor3h,
-   glColor3hv,
-   glColor4h,
-   glColor4hv,
-   glTexCoord1h,
-   glTexCoord1hv,
-   glTexCoord2h,
-   glTexCoord2hv,
-   glTexCoord3h,
-   glTexCoord3hv,
-   glTexCoord4h,
-   glTexCoord4hv,
-   glMultiTexCoord1h,
-   glMultiTexCoord1hv,
-   glMultiTexCoord2h,
-   glMultiTexCoord2hv,
-   glMultiTexCoord3h,
-   glMultiTexCoord3hv,
-   glMultiTexCoord4h,
-   glMultiTexCoord4hv,
-   glFogCoordh,
-   glFogCoordhv,
-   glSecondaryColor3h,
-   glSecondaryColor3hv,
-   glVertexWeighth,
-   glVertexWeighthv,
-   glVertexAttrib1h,
-   glVertexAttrib1hv,
-   glVertexAttrib2h,
-   glVertexAttrib2hv,
-   glVertexAttrib3h,
-   glVertexAttrib3hv,
-   glVertexAttrib4h,
-   glVertexAttrib4hv,
-   glVertexAttribs1hv,
-   glVertexAttribs2hv,
-   glVertexAttribs3hv,
-   glVertexAttribs4hv,
-   -- * Tokens
-   gl_HALF_FLOAT,
-   -- * Types
-   GLhalf
-) where
-
-import Foreign.Ptr
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.Core32
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_NV_half_float"
-
-EXTENSION_ENTRY(glVertex2h,GLhalf -> GLhalf -> IO ())
-EXTENSION_ENTRY(glVertex2hv,Ptr GLhalf -> IO ())
-EXTENSION_ENTRY(glVertex3h,GLhalf -> GLhalf -> GLhalf -> IO ())
-EXTENSION_ENTRY(glVertex3hv,Ptr GLhalf -> IO ())
-EXTENSION_ENTRY(glVertex4h,GLhalf -> GLhalf -> GLhalf -> GLhalf -> IO ())
-EXTENSION_ENTRY(glVertex4hv,Ptr GLhalf -> IO ())
-EXTENSION_ENTRY(glNormal3h,GLhalf -> GLhalf -> GLhalf -> IO ())
-EXTENSION_ENTRY(glNormal3hv,Ptr GLhalf -> IO ())
-EXTENSION_ENTRY(glColor3h,GLhalf -> GLhalf -> GLhalf -> IO ())
-EXTENSION_ENTRY(glColor3hv,Ptr GLhalf -> IO ())
-EXTENSION_ENTRY(glColor4h,GLhalf -> GLhalf -> GLhalf -> GLhalf -> IO ())
-EXTENSION_ENTRY(glColor4hv,Ptr GLhalf -> IO ())
-EXTENSION_ENTRY(glTexCoord1h,GLhalf -> IO ())
-EXTENSION_ENTRY(glTexCoord1hv,Ptr GLhalf -> IO ())
-EXTENSION_ENTRY(glTexCoord2h,GLhalf -> GLhalf -> IO ())
-EXTENSION_ENTRY(glTexCoord2hv,Ptr GLhalf -> IO ())
-EXTENSION_ENTRY(glTexCoord3h,GLhalf -> GLhalf -> GLhalf -> IO ())
-EXTENSION_ENTRY(glTexCoord3hv,Ptr GLhalf -> IO ())
-EXTENSION_ENTRY(glTexCoord4h,GLhalf -> GLhalf -> GLhalf -> GLhalf -> IO ())
-EXTENSION_ENTRY(glTexCoord4hv,Ptr GLhalf -> IO ())
-EXTENSION_ENTRY(glMultiTexCoord1h,GLenum -> GLhalf -> IO ())
-EXTENSION_ENTRY(glMultiTexCoord1hv,GLenum -> Ptr GLhalf -> IO ())
-EXTENSION_ENTRY(glMultiTexCoord2h,GLenum -> GLhalf -> GLhalf -> IO ())
-EXTENSION_ENTRY(glMultiTexCoord2hv,GLenum -> Ptr GLhalf -> IO ())
-EXTENSION_ENTRY(glMultiTexCoord3h,GLenum -> GLhalf -> GLhalf -> GLhalf -> IO ())
-EXTENSION_ENTRY(glMultiTexCoord3hv,GLenum -> Ptr GLhalf -> IO ())
-EXTENSION_ENTRY(glMultiTexCoord4h,GLenum -> GLhalf -> GLhalf -> GLhalf -> GLhalf -> IO ())
-EXTENSION_ENTRY(glMultiTexCoord4hv,GLenum -> Ptr GLhalf -> IO ())
-EXTENSION_ENTRY(glFogCoordh,GLhalf -> IO ())
-EXTENSION_ENTRY(glFogCoordhv,Ptr GLhalf -> IO ())
-EXTENSION_ENTRY(glSecondaryColor3h,GLhalf -> GLhalf -> GLhalf -> IO ())
-EXTENSION_ENTRY(glSecondaryColor3hv,Ptr GLhalf -> IO ())
-EXTENSION_ENTRY(glVertexWeighth,GLhalf -> IO ())
-EXTENSION_ENTRY(glVertexWeighthv,Ptr GLhalf -> IO ())
-EXTENSION_ENTRY(glVertexAttrib1h,GLuint -> GLhalf -> IO ())
-EXTENSION_ENTRY(glVertexAttrib1hv,GLuint -> Ptr GLhalf -> IO ())
-EXTENSION_ENTRY(glVertexAttrib2h,GLuint -> GLhalf -> GLhalf -> IO ())
-EXTENSION_ENTRY(glVertexAttrib2hv,GLuint -> Ptr GLhalf -> IO ())
-EXTENSION_ENTRY(glVertexAttrib3h,GLuint -> GLhalf -> GLhalf -> GLhalf -> IO ())
-EXTENSION_ENTRY(glVertexAttrib3hv,GLuint -> Ptr GLhalf -> IO ())
-EXTENSION_ENTRY(glVertexAttrib4h,GLuint -> GLhalf -> GLhalf -> GLhalf -> GLhalf -> IO ())
-EXTENSION_ENTRY(glVertexAttrib4hv,GLuint -> Ptr GLhalf -> IO ())
-EXTENSION_ENTRY(glVertexAttribs1hv,GLuint -> GLsizei -> Ptr GLhalf -> IO ())
-EXTENSION_ENTRY(glVertexAttribs2hv,GLuint -> GLsizei -> Ptr GLhalf -> IO ())
-EXTENSION_ENTRY(glVertexAttribs3hv,GLuint -> GLsizei -> Ptr GLhalf -> IO ())
-EXTENSION_ENTRY(glVertexAttribs4hv,GLuint -> GLsizei -> Ptr GLhalf -> IO ())
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.NV.HalfFloat
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions, tokens and types from the NV_fragment_program extension,
+-- see <http://www.opengl.org/registry/specs/NV/fragment_program.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.NV.HalfFloat (
+   -- * Functions
+   glVertex2h,
+   glVertex2hv,
+   glVertex3h,
+   glVertex3hv,
+   glVertex4h,
+   glVertex4hv,
+   glNormal3h,
+   glNormal3hv,
+   glColor3h,
+   glColor3hv,
+   glColor4h,
+   glColor4hv,
+   glTexCoord1h,
+   glTexCoord1hv,
+   glTexCoord2h,
+   glTexCoord2hv,
+   glTexCoord3h,
+   glTexCoord3hv,
+   glTexCoord4h,
+   glTexCoord4hv,
+   glMultiTexCoord1h,
+   glMultiTexCoord1hv,
+   glMultiTexCoord2h,
+   glMultiTexCoord2hv,
+   glMultiTexCoord3h,
+   glMultiTexCoord3hv,
+   glMultiTexCoord4h,
+   glMultiTexCoord4hv,
+   glFogCoordh,
+   glFogCoordhv,
+   glSecondaryColor3h,
+   glSecondaryColor3hv,
+   glVertexWeighth,
+   glVertexWeighthv,
+   glVertexAttrib1h,
+   glVertexAttrib1hv,
+   glVertexAttrib2h,
+   glVertexAttrib2hv,
+   glVertexAttrib3h,
+   glVertexAttrib3hv,
+   glVertexAttrib4h,
+   glVertexAttrib4hv,
+   glVertexAttribs1hv,
+   glVertexAttribs2hv,
+   glVertexAttribs3hv,
+   glVertexAttribs4hv,
+   -- * Tokens
+   gl_HALF_FLOAT,
+   -- * Types
+   GLhalf
+) where
+
+import Foreign.Ptr
+import Foreign.C.Types
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+import Graphics.Rendering.OpenGL.Raw.Core32
+import Graphics.Rendering.OpenGL.Raw.Extensions
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_NV_half_float"
+
+EXTENSION_ENTRY(dyn_glVertex2h,ptr_glVertex2h,"glVertex2h",glVertex2h,GLhalf -> GLhalf -> IO ())
+EXTENSION_ENTRY(dyn_glVertex2hv,ptr_glVertex2hv,"glVertex2hv",glVertex2hv,Ptr GLhalf -> IO ())
+EXTENSION_ENTRY(dyn_glVertex3h,ptr_glVertex3h,"glVertex3h",glVertex3h,GLhalf -> GLhalf -> GLhalf -> IO ())
+EXTENSION_ENTRY(dyn_glVertex3hv,ptr_glVertex3hv,"glVertex3hv",glVertex3hv,Ptr GLhalf -> IO ())
+EXTENSION_ENTRY(dyn_glVertex4h,ptr_glVertex4h,"glVertex4h",glVertex4h,GLhalf -> GLhalf -> GLhalf -> GLhalf -> IO ())
+EXTENSION_ENTRY(dyn_glVertex4hv,ptr_glVertex4hv,"glVertex4hv",glVertex4hv,Ptr GLhalf -> IO ())
+EXTENSION_ENTRY(dyn_glNormal3h,ptr_glNormal3h,"glNormal3h",glNormal3h,GLhalf -> GLhalf -> GLhalf -> IO ())
+EXTENSION_ENTRY(dyn_glNormal3hv,ptr_glNormal3hv,"glNormal3hv",glNormal3hv,Ptr GLhalf -> IO ())
+EXTENSION_ENTRY(dyn_glColor3h,ptr_glColor3h,"glColor3h",glColor3h,GLhalf -> GLhalf -> GLhalf -> IO ())
+EXTENSION_ENTRY(dyn_glColor3hv,ptr_glColor3hv,"glColor3hv",glColor3hv,Ptr GLhalf -> IO ())
+EXTENSION_ENTRY(dyn_glColor4h,ptr_glColor4h,"glColor4h",glColor4h,GLhalf -> GLhalf -> GLhalf -> GLhalf -> IO ())
+EXTENSION_ENTRY(dyn_glColor4hv,ptr_glColor4hv,"glColor4hv",glColor4hv,Ptr GLhalf -> IO ())
+EXTENSION_ENTRY(dyn_glTexCoord1h,ptr_glTexCoord1h,"glTexCoord1h",glTexCoord1h,GLhalf -> IO ())
+EXTENSION_ENTRY(dyn_glTexCoord1hv,ptr_glTexCoord1hv,"glTexCoord1hv",glTexCoord1hv,Ptr GLhalf -> IO ())
+EXTENSION_ENTRY(dyn_glTexCoord2h,ptr_glTexCoord2h,"glTexCoord2h",glTexCoord2h,GLhalf -> GLhalf -> IO ())
+EXTENSION_ENTRY(dyn_glTexCoord2hv,ptr_glTexCoord2hv,"glTexCoord2hv",glTexCoord2hv,Ptr GLhalf -> IO ())
+EXTENSION_ENTRY(dyn_glTexCoord3h,ptr_glTexCoord3h,"glTexCoord3h",glTexCoord3h,GLhalf -> GLhalf -> GLhalf -> IO ())
+EXTENSION_ENTRY(dyn_glTexCoord3hv,ptr_glTexCoord3hv,"glTexCoord3hv",glTexCoord3hv,Ptr GLhalf -> IO ())
+EXTENSION_ENTRY(dyn_glTexCoord4h,ptr_glTexCoord4h,"glTexCoord4h",glTexCoord4h,GLhalf -> GLhalf -> GLhalf -> GLhalf -> IO ())
+EXTENSION_ENTRY(dyn_glTexCoord4hv,ptr_glTexCoord4hv,"glTexCoord4hv",glTexCoord4hv,Ptr GLhalf -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexCoord1h,ptr_glMultiTexCoord1h,"glMultiTexCoord1h",glMultiTexCoord1h,GLenum -> GLhalf -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexCoord1hv,ptr_glMultiTexCoord1hv,"glMultiTexCoord1hv",glMultiTexCoord1hv,GLenum -> Ptr GLhalf -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexCoord2h,ptr_glMultiTexCoord2h,"glMultiTexCoord2h",glMultiTexCoord2h,GLenum -> GLhalf -> GLhalf -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexCoord2hv,ptr_glMultiTexCoord2hv,"glMultiTexCoord2hv",glMultiTexCoord2hv,GLenum -> Ptr GLhalf -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexCoord3h,ptr_glMultiTexCoord3h,"glMultiTexCoord3h",glMultiTexCoord3h,GLenum -> GLhalf -> GLhalf -> GLhalf -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexCoord3hv,ptr_glMultiTexCoord3hv,"glMultiTexCoord3hv",glMultiTexCoord3hv,GLenum -> Ptr GLhalf -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexCoord4h,ptr_glMultiTexCoord4h,"glMultiTexCoord4h",glMultiTexCoord4h,GLenum -> GLhalf -> GLhalf -> GLhalf -> GLhalf -> IO ())
+EXTENSION_ENTRY(dyn_glMultiTexCoord4hv,ptr_glMultiTexCoord4hv,"glMultiTexCoord4hv",glMultiTexCoord4hv,GLenum -> Ptr GLhalf -> IO ())
+EXTENSION_ENTRY(dyn_glFogCoordh,ptr_glFogCoordh,"glFogCoordh",glFogCoordh,GLhalf -> IO ())
+EXTENSION_ENTRY(dyn_glFogCoordhv,ptr_glFogCoordhv,"glFogCoordhv",glFogCoordhv,Ptr GLhalf -> IO ())
+EXTENSION_ENTRY(dyn_glSecondaryColor3h,ptr_glSecondaryColor3h,"glSecondaryColor3h",glSecondaryColor3h,GLhalf -> GLhalf -> GLhalf -> IO ())
+EXTENSION_ENTRY(dyn_glSecondaryColor3hv,ptr_glSecondaryColor3hv,"glSecondaryColor3hv",glSecondaryColor3hv,Ptr GLhalf -> IO ())
+EXTENSION_ENTRY(dyn_glVertexWeighth,ptr_glVertexWeighth,"glVertexWeighth",glVertexWeighth,GLhalf -> IO ())
+EXTENSION_ENTRY(dyn_glVertexWeighthv,ptr_glVertexWeighthv,"glVertexWeighthv",glVertexWeighthv,Ptr GLhalf -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib1h,ptr_glVertexAttrib1h,"glVertexAttrib1h",glVertexAttrib1h,GLuint -> GLhalf -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib1hv,ptr_glVertexAttrib1hv,"glVertexAttrib1hv",glVertexAttrib1hv,GLuint -> Ptr GLhalf -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib2h,ptr_glVertexAttrib2h,"glVertexAttrib2h",glVertexAttrib2h,GLuint -> GLhalf -> GLhalf -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib2hv,ptr_glVertexAttrib2hv,"glVertexAttrib2hv",glVertexAttrib2hv,GLuint -> Ptr GLhalf -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib3h,ptr_glVertexAttrib3h,"glVertexAttrib3h",glVertexAttrib3h,GLuint -> GLhalf -> GLhalf -> GLhalf -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib3hv,ptr_glVertexAttrib3hv,"glVertexAttrib3hv",glVertexAttrib3hv,GLuint -> Ptr GLhalf -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib4h,ptr_glVertexAttrib4h,"glVertexAttrib4h",glVertexAttrib4h,GLuint -> GLhalf -> GLhalf -> GLhalf -> GLhalf -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib4hv,ptr_glVertexAttrib4hv,"glVertexAttrib4hv",glVertexAttrib4hv,GLuint -> Ptr GLhalf -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttribs1hv,ptr_glVertexAttribs1hv,"glVertexAttribs1hv",glVertexAttribs1hv,GLuint -> GLsizei -> Ptr GLhalf -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttribs2hv,ptr_glVertexAttribs2hv,"glVertexAttribs2hv",glVertexAttribs2hv,GLuint -> GLsizei -> Ptr GLhalf -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttribs3hv,ptr_glVertexAttribs3hv,"glVertexAttribs3hv",glVertexAttribs3hv,GLuint -> GLsizei -> Ptr GLhalf -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttribs4hv,ptr_glVertexAttribs4hv,"glVertexAttribs4hv",glVertexAttribs4hv,GLuint -> GLsizei -> Ptr GLhalf -> IO ())
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/LightMaxExponent.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/LightMaxExponent.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/LightMaxExponent.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/LightMaxExponent.hs
@@ -1,29 +1,29 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.LightMaxExponent
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the NV_light_max_exponent extension not
--- already in the OpenGL 3.1 core, see
--- <http://www.opengl.org/registry/specs/NV/light_max_exponent.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.LightMaxExponent (
-   -- * Tokens
-   gl_MAX_SHININESS,
-   gl_MAX_SPOT_EXPONENT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core32
-
-gl_MAX_SHININESS :: GLenum
-gl_MAX_SHININESS = 0x8504
-
-gl_MAX_SPOT_EXPONENT :: GLenum
-gl_MAX_SPOT_EXPONENT = 0x8505
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.NV.LightMaxExponent
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the NV_light_max_exponent extension not
+-- already in the OpenGL 3.1 core, see
+-- <http://www.opengl.org/registry/specs/NV/light_max_exponent.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.NV.LightMaxExponent (
+   -- * Tokens
+   gl_MAX_SHININESS,
+   gl_MAX_SPOT_EXPONENT
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
+
+gl_MAX_SHININESS :: GLenum
+gl_MAX_SHININESS = 0x8504
+
+gl_MAX_SPOT_EXPONENT :: GLenum
+gl_MAX_SPOT_EXPONENT = 0x8505
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/MultisampleFilterHint.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/MultisampleFilterHint.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/MultisampleFilterHint.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/MultisampleFilterHint.hs
@@ -1,25 +1,25 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.MultisampleFilterHint
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the NV_multisample_filter_hint extension not
--- already in the OpenGL 3.1 core, see
--- <http://www.opengl.org/registry/specs/NV/multisample_filter_hint.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.MultisampleFilterHint (
-   -- * Tokens
-   gl_MULTISAMPLE_FILTER_HINT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core32
-
-gl_MULTISAMPLE_FILTER_HINT :: GLenum
-gl_MULTISAMPLE_FILTER_HINT = 0x8534
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.NV.MultisampleFilterHint
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the NV_multisample_filter_hint extension not
+-- already in the OpenGL 3.1 core, see
+-- <http://www.opengl.org/registry/specs/NV/multisample_filter_hint.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.NV.MultisampleFilterHint (
+   -- * Tokens
+   gl_MULTISAMPLE_FILTER_HINT
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
+
+gl_MULTISAMPLE_FILTER_HINT :: GLenum
+gl_MULTISAMPLE_FILTER_HINT = 0x8534
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/OcclusionQuery.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/OcclusionQuery.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/OcclusionQuery.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/OcclusionQuery.hs
@@ -1,70 +1,70 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.OcclusionQuery
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the NV_occlusion_query not already in the
--- OpenGL 3.1 core, see
--- <http://www.opengl.org/registry/specs/NV/occlusion_query.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.OcclusionQuery (
-   -- * Functions
-   glGenOcclusionQueries,
-   glDeleteOcclusionQueries,
-   glIsOcclusionQuery,
-   glBeginOcclusionQuery,
-   glEndOcclusionQuery,
-   glGetOcclusionQueryiv,
-   glGetOcclusionQueryuiv,
-   -- * Tokens
-   gl_OCCLUSION_TEST,
-   gl_OCCLUSION_TEST_RESULT,
-   gl_PIXEL_COUNTER_BITS,
-   gl_CURRENT_OCCLUSION_QUERY_ID,
-   gl_PIXEL_COUNT,
-   gl_PIXEL_COUNT_AVAILABLE
-) where
-
-import Foreign.Ptr
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_NV_occlusion_query"
-
-EXTENSION_ENTRY(glGenOcclusionQueries,GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glDeleteOcclusionQueries,GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glIsOcclusionQuery,GLuint -> IO ())
-EXTENSION_ENTRY(glBeginOcclusionQuery,GLuint -> IO ())
-EXTENSION_ENTRY(glEndOcclusionQuery,IO ())
-EXTENSION_ENTRY(glGetOcclusionQueryiv,GLuint -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glGetOcclusionQueryuiv,GLuint -> GLenum -> Ptr GLuint -> IO ())
-
-gl_OCCLUSION_TEST :: GLenum
-gl_OCCLUSION_TEST = 0x8165
-
-gl_OCCLUSION_TEST_RESULT :: GLenum
-gl_OCCLUSION_TEST_RESULT = 0x8166
-
-gl_PIXEL_COUNTER_BITS :: GLenum
-gl_PIXEL_COUNTER_BITS = 0x8864
-
-gl_CURRENT_OCCLUSION_QUERY_ID :: GLenum
-gl_CURRENT_OCCLUSION_QUERY_ID = 0x8865
-
-gl_PIXEL_COUNT :: GLenum
-gl_PIXEL_COUNT = 0x8866
-
-gl_PIXEL_COUNT_AVAILABLE :: GLenum
-gl_PIXEL_COUNT_AVAILABLE = 0x8867
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.NV.OcclusionQuery
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the NV_occlusion_query not already in the
+-- OpenGL 3.1 core, see
+-- <http://www.opengl.org/registry/specs/NV/occlusion_query.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.NV.OcclusionQuery (
+   -- * Functions
+   glGenOcclusionQueries,
+   glDeleteOcclusionQueries,
+   glIsOcclusionQuery,
+   glBeginOcclusionQuery,
+   glEndOcclusionQuery,
+   glGetOcclusionQueryiv,
+   glGetOcclusionQueryuiv,
+   -- * Tokens
+   gl_OCCLUSION_TEST,
+   gl_OCCLUSION_TEST_RESULT,
+   gl_PIXEL_COUNTER_BITS,
+   gl_CURRENT_OCCLUSION_QUERY_ID,
+   gl_PIXEL_COUNT,
+   gl_PIXEL_COUNT_AVAILABLE
+) where
+
+import Foreign.Ptr
+import Foreign.C.Types
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+import Graphics.Rendering.OpenGL.Raw.Extensions
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_NV_occlusion_query"
+
+EXTENSION_ENTRY(dyn_glGenOcclusionQueries,ptr_glGenOcclusionQueries,"glGenOcclusionQueries",glGenOcclusionQueries,GLsizei -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glDeleteOcclusionQueries,ptr_glDeleteOcclusionQueries,"glDeleteOcclusionQueries",glDeleteOcclusionQueries,GLsizei -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glIsOcclusionQuery,ptr_glIsOcclusionQuery,"glIsOcclusionQuery",glIsOcclusionQuery,GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glBeginOcclusionQuery,ptr_glBeginOcclusionQuery,"glBeginOcclusionQuery",glBeginOcclusionQuery,GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glEndOcclusionQuery,ptr_glEndOcclusionQuery,"glEndOcclusionQuery",glEndOcclusionQuery,IO ())
+EXTENSION_ENTRY(dyn_glGetOcclusionQueryiv,ptr_glGetOcclusionQueryiv,"glGetOcclusionQueryiv",glGetOcclusionQueryiv,GLuint -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glGetOcclusionQueryuiv,ptr_glGetOcclusionQueryuiv,"glGetOcclusionQueryuiv",glGetOcclusionQueryuiv,GLuint -> GLenum -> Ptr GLuint -> IO ())
+
+gl_OCCLUSION_TEST :: GLenum
+gl_OCCLUSION_TEST = 0x8165
+
+gl_OCCLUSION_TEST_RESULT :: GLenum
+gl_OCCLUSION_TEST_RESULT = 0x8166
+
+gl_PIXEL_COUNTER_BITS :: GLenum
+gl_PIXEL_COUNTER_BITS = 0x8864
+
+gl_CURRENT_OCCLUSION_QUERY_ID :: GLenum
+gl_CURRENT_OCCLUSION_QUERY_ID = 0x8865
+
+gl_PIXEL_COUNT :: GLenum
+gl_PIXEL_COUNT = 0x8866
+
+gl_PIXEL_COUNT_AVAILABLE :: GLenum
+gl_PIXEL_COUNT_AVAILABLE = 0x8867
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/PackedDepthStencil.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/PackedDepthStencil.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/PackedDepthStencil.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/PackedDepthStencil.hs
@@ -1,22 +1,22 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.PackedDepthStencil
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All tokens from the NV_packed_depth_stencil extension, see
--- <http://www.opengl.org/registry/specs/NV/packed_depth_stencil.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.PackedDepthStencil (
-   -- * Tokens
-   gl_DEPTH_STENCIL,
-   gl_UNSIGNED_INT_24_8
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core32
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.NV.PackedDepthStencil
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All tokens from the NV_packed_depth_stencil extension, see
+-- <http://www.opengl.org/registry/specs/NV/packed_depth_stencil.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.NV.PackedDepthStencil (
+   -- * Tokens
+   gl_DEPTH_STENCIL,
+   gl_UNSIGNED_INT_24_8
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/ParameterBufferObject.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/ParameterBufferObject.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/ParameterBufferObject.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/ParameterBufferObject.hs
@@ -1,65 +1,65 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.ParameterBufferObject
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All functions and tokens from the NV_parameter_buffer_object extension, see
--- <http://www.opengl.org/registry/specs/NV/parameter_buffer_object.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.ParameterBufferObject (
-   -- * Functions
-   glBindBufferRange,
-   glBindBufferOffset,
-   glBindBufferBase,
-   glProgramBufferParametersfv,
-   glProgramBufferParametersIiv,
-   glProgramBufferParametersIuiv,
-   glGetIntegerIndexedv,
-   -- * Tokens
-   gl_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS,
-   gl_MAX_PROGRAM_PARAMETER_BUFFER_SIZE,
-   gl_VERTEX_PROGRAM_PARAMETER_BUFFER,
-   gl_GEOMETRY_PROGRAM_PARAMETER_BUFFER,
-   gl_FRAGMENT_PROGRAM_PARAMETER_BUFFER
-) where
-
-import Foreign.Ptr
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.EXT.DirectStateAccess
-import Graphics.Rendering.OpenGL.Raw.Core32
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_NV_parameter_buffer_object"
-
-EXTENSION_ENTRY(glBindBufferOffset,GLenum -> GLuint -> GLuint -> GLintptr -> IO ())
-EXTENSION_ENTRY(glProgramBufferParametersfv,GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glProgramBufferParametersIiv,GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glProgramBufferParametersIuiv,GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLuint -> IO ())
-
-gl_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS :: GLenum
-gl_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS = 0x8DA0
-
-gl_MAX_PROGRAM_PARAMETER_BUFFER_SIZE :: GLenum
-gl_MAX_PROGRAM_PARAMETER_BUFFER_SIZE = 0x8DA1
-
-gl_VERTEX_PROGRAM_PARAMETER_BUFFER :: GLenum
-gl_VERTEX_PROGRAM_PARAMETER_BUFFER = 0x8DA2
-
-gl_GEOMETRY_PROGRAM_PARAMETER_BUFFER :: GLenum
-gl_GEOMETRY_PROGRAM_PARAMETER_BUFFER = 0x8DA3
-
-gl_FRAGMENT_PROGRAM_PARAMETER_BUFFER :: GLenum
-gl_FRAGMENT_PROGRAM_PARAMETER_BUFFER = 0x8DA4
-
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.NV.ParameterBufferObject
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All functions and tokens from the NV_parameter_buffer_object extension, see
+-- <http://www.opengl.org/registry/specs/NV/parameter_buffer_object.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.NV.ParameterBufferObject (
+   -- * Functions
+   glBindBufferRange,
+   glBindBufferOffset,
+   glBindBufferBase,
+   glProgramBufferParametersfv,
+   glProgramBufferParametersIiv,
+   glProgramBufferParametersIuiv,
+   glGetIntegerIndexedv,
+   -- * Tokens
+   gl_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS,
+   gl_MAX_PROGRAM_PARAMETER_BUFFER_SIZE,
+   gl_VERTEX_PROGRAM_PARAMETER_BUFFER,
+   gl_GEOMETRY_PROGRAM_PARAMETER_BUFFER,
+   gl_FRAGMENT_PROGRAM_PARAMETER_BUFFER
+) where
+
+import Foreign.Ptr
+import Foreign.C.Types
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+import Graphics.Rendering.OpenGL.Raw.EXT.DirectStateAccess
+import Graphics.Rendering.OpenGL.Raw.Core32
+import Graphics.Rendering.OpenGL.Raw.Extensions
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_NV_parameter_buffer_object"
+
+EXTENSION_ENTRY(dyn_glBindBufferOffset,ptr_glBindBufferOffset,"glBindBufferOffset",glBindBufferOffset,GLenum -> GLuint -> GLuint -> GLintptr -> IO ())
+EXTENSION_ENTRY(dyn_glProgramBufferParametersfv,ptr_glProgramBufferParametersfv,"glProgramBufferParametersfv",glProgramBufferParametersfv,GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glProgramBufferParametersIiv,ptr_glProgramBufferParametersIiv,"glProgramBufferParametersIiv",glProgramBufferParametersIiv,GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glProgramBufferParametersIuiv,ptr_glProgramBufferParametersIuiv,"glProgramBufferParametersIuiv",glProgramBufferParametersIuiv,GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLuint -> IO ())
+
+gl_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS :: GLenum
+gl_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS = 0x8DA0
+
+gl_MAX_PROGRAM_PARAMETER_BUFFER_SIZE :: GLenum
+gl_MAX_PROGRAM_PARAMETER_BUFFER_SIZE = 0x8DA1
+
+gl_VERTEX_PROGRAM_PARAMETER_BUFFER :: GLenum
+gl_VERTEX_PROGRAM_PARAMETER_BUFFER = 0x8DA2
+
+gl_GEOMETRY_PROGRAM_PARAMETER_BUFFER :: GLenum
+gl_GEOMETRY_PROGRAM_PARAMETER_BUFFER = 0x8DA3
+
+gl_FRAGMENT_PROGRAM_PARAMETER_BUFFER :: GLenum
+gl_FRAGMENT_PROGRAM_PARAMETER_BUFFER = 0x8DA4
+
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/PathRendering.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/PathRendering.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/PathRendering.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/PathRendering.hs
@@ -1,685 +1,685 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.PathRendering
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the NV_path_rendering extension not
--- already in the OpenGL 3.1 core, see
--- <http://www.opengl.org/registry/specs/NV/path_rendering.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.PathRendering (
--- * Functions
-   glPathCommandsNV,
-   glPathCoordsNV,
-   glPathSubCommandsNV,
-   glPathSubCoordsNV,
-   glPathStringNV,
-   glPathGlyphsNV,
-   glPathGlyphRangeNV,
-   glWeightPathsNV,
-   glCopyPathNV,
-   glInterpolatePathsNV,
-   glTransformPathNV,
-   glPathParameterivNV,
-   glPathParameteriNV,
-   glPathParameterfvNV,
-   glPathParameterfNV,
-   glPathDashArrayNV,
-   glGenPathsNV,
-   glDeletePathsNV,
-   glIsPathNV,
-   glPathStencilFuncNV,
-   glPathStencilDepthOffsetNV,
-   glStencilFillPathNV,
-   glStencilStrokePathNV,
-   glStencilFillPathInstancedNV,
-   glStencilStrokePathInstancedNV,
-   glPathCoverDepthFuncNV,
-   glPathColorGenNV,
-   glPathTexGenNV,
-   glPathFogGenNV,
-   glCoverFillPathNV,
-   glCoverStrokePathNV,
-   glCoverFillPathInstancedNV,
-   glCoverStrokePathInstancedNV,
-   glGetPathParameterivNV,
-   glGetPathParameterfvNV,
-   glGetPathCommandsNV,
-   glGetPathCoordsNV,
-   glGetPathDashArrayNV,
-   glGetPathMetricsNV,
-   glGetPathMetricRangeNV,
-   glGetPathSpacingNV,
-   glGetPathColorGenivNV,
-   glGetPathColorGenfvNV,
-   glGetPathTexGenivNV,
-   glGetPathTexGenfvNV,
-   glIsPointInFillPathNV,
-   glIsPointInStrokePathNV,
-   glGetPathLengthNV,
-   glPointAlongPathNV,
-   -- * Tokens
-   gl_CLOSE_PATH_NV,
-   gl_MOVE_TO_NV,
-   gl_RELATIVE_MOVE_TO_NV,
-   gl_LINE_TO_NV,
-   gl_RELATIVE_LINE_TO_NV,
-   gl_HORIZONTAL_LINE_TO_NV,
-   gl_RELATIVE_HORIZONTAL_LINE_TO_NV,
-   gl_VERTICAL_LINE_TO_NV,
-   gl_RELATIVE_VERTICAL_LINE_TO_NV,
-   gl_QUADRATIC_CURVE_TO_NV,
-   gl_RELATIVE_QUADRATIC_CURVE_TO_NV,
-   gl_CUBIC_CURVE_TO_NV,
-   gl_RELATIVE_CUBIC_CURVE_TO_NV,
-   gl_SMOOTH_QUADRATIC_CURVE_TO_NV,
-   gl_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV,
-   gl_SMOOTH_CUBIC_CURVE_TO_NV,
-   gl_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV,
-   gl_SMALL_CCW_ARC_TO_NV,
-   gl_RELATIVE_SMALL_CCW_ARC_TO_NV,
-   gl_SMALL_CW_ARC_TO_NV,
-   gl_RELATIVE_SMALL_CW_ARC_TO_NV,
-   gl_LARGE_CCW_ARC_TO_NV,
-   gl_RELATIVE_LARGE_CCW_ARC_TO_NV,
-   gl_LARGE_CW_ARC_TO_NV,
-   gl_RELATIVE_LARGE_CW_ARC_TO_NV,
-   gl_RESTART_PATH_NV,
-   gl_DUP_FIRST_CUBIC_CURVE_TO_NV,
-   gl_DUP_LAST_CUBIC_CURVE_TO_NV,
-   gl_RECT_NV,
-   gl_CIRCULAR_CCW_ARC_TO_NV,
-   gl_CIRCULAR_CW_ARC_TO_NV,
-   gl_CIRCULAR_TANGENT_ARC_TO_NV,
-   gl_ARC_TO_NV,
-   gl_RELATIVE_ARC_TO_NV,
-   gl_PATH_FORMAT_SVG_NV,
-   gl_PATH_FORMAT_PS_NV,
-   gl_STANDARD_FONT_NAME_NV,
-   gl_SYSTEM_FONT_NAME_NV,
-   gl_FILE_NAME_NV,
-   gl_SKIP_MISSING_GLYPH_NV,
-   gl_USE_MISSING_GLYPH_NV,
-   gl_PATH_STROKE_WIDTH_NV,
-   gl_PATH_INITIAL_END_CAP_NV,
-   gl_PATH_TERMINAL_END_CAP_NV,
-   gl_PATH_JOIN_STYLE_NV,
-   gl_PATH_MITER_LIMIT_NV,
-   gl_PATH_INITIAL_DASH_CAP_NV,
-   gl_PATH_TERMINAL_DASH_CAP_NV,
-   gl_PATH_DASH_OFFSET_NV,
-   gl_PATH_CLIENT_LENGTH_NV,
-   gl_PATH_DASH_OFFSET_RESET_NV,
-   gl_PATH_FILL_MODE_NV,
-   gl_PATH_FILL_MASK_NV,
-   gl_PATH_FILL_COVER_MODE_NV,
-   gl_PATH_STROKE_COVER_MODE_NV,
-   gl_PATH_STROKE_MASK_NV,
-   gl_PATH_END_CAPS_NV,
-   gl_PATH_DASH_CAPS_NV,
-   gl_COUNT_UP_NV,
-   gl_COUNT_DOWN_NV,
-   gl_PATH_OBJECT_BOUNDING_BOX_NV,
-   gl_CONVEX_HULL_NV,
-   gl_BOUNDING_BOX_NV,
-   gl_TRANSLATE_X_NV,
-   gl_TRANSLATE_Y_NV,
-   gl_TRANSLATE_2D_NV,
-   gl_TRANSLATE_3D_NV,
-   gl_AFFINE_2D_NV,
-   gl_AFFINE_3D_NV,
-   gl_TRANSPOSE_AFFINE_2D_NV,
-   gl_TRANSPOSE_AFFINE_3D_NV,
-   gl_UTF8_NV,
-   gl_UTF16_NV,
-   gl_BOUNDING_BOX_OF_BOUNDING_BOXES_NV,
-   gl_PATH_COMMAND_COUNT_NV,
-   gl_PATH_COORD_COUNT_NV,
-   gl_PATH_DASH_ARRAY_COUNT_NV,
-   gl_PATH_COMPUTED_LENGTH_NV,
-   gl_PATH_FILL_BOUNDING_BOX_NV,
-   gl_PATH_STROKE_BOUNDING_BOX_NV,
-   gl_SQUARE_NV,
-   gl_ROUND_NV,
-   gl_TRIANGULAR_NV,
-   gl_BEVEL_NV,
-   gl_MITER_REVERT_NV,
-   gl_MITER_TRUNCATE_NV,
-   gl_MOVE_TO_RESETS_NV,
-   gl_MOVE_TO_CONTINUES_NV,
-   gl_BOLD_BIT_NV,
-   gl_ITALIC_BIT_NV,
-   gl_PATH_ERROR_POSITION_NV,
-   gl_PATH_FOG_GEN_MODE_NV,
-   gl_PATH_STENCIL_FUNC_NV,
-   gl_PATH_STENCIL_REF_NV,
-   gl_PATH_STENCIL_VALUE_MASK_NV,
-   gl_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV,
-   gl_PATH_STENCIL_DEPTH_OFFSET_UNITS_NV,
-   gl_PATH_COVER_DEPTH_FUNC_NV,
-   gl_GLYPH_WIDTH_BIT_NV,
-   gl_GLYPH_HEIGHT_BIT_NV,
-   gl_GLYPH_HORIZONTAL_BEARING_X_BIT_NV,
-   gl_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV,
-   gl_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV,
-   gl_GLYPH_VERTICAL_BEARING_X_BIT_NV,
-   gl_GLYPH_VERTICAL_BEARING_Y_BIT_NV,
-   gl_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV,
-   gl_GLYPH_HAS_KERNING_BIT_NV,
-   gl_FONT_X_MIN_BOUNDS_BIT_NV,
-   gl_FONT_Y_MIN_BOUNDS_BIT_NV,
-   gl_FONT_X_MAX_BOUNDS_BIT_NV,
-   gl_FONT_Y_MAX_BOUNDS_BIT_NV,
-   gl_FONT_UNITS_PER_EM_BIT_NV,
-   gl_FONT_ASCENDER_BIT_NV,
-   gl_FONT_DESCENDER_BIT_NV,
-   gl_FONT_HEIGHT_BIT_NV,
-   gl_FONT_MAX_ADVANCE_WIDTH_BIT_NV,
-   gl_FONT_MAX_ADVANCE_HEIGHT_BIT_NV,
-   gl_FONT_UNDERLINE_POSITION_BIT_NV,
-   gl_FONT_UNDERLINE_THICKNESS_BIT_NV,
-   gl_FONT_HAS_KERNING_BIT_NV,
-   gl_ACCUM_ADJACENT_PAIRS_NV,
-   gl_ADJACENT_PAIRS_NV,
-   gl_FIRST_TO_REST_NV,
-   gl_PATH_GEN_MODE_NV,
-   gl_PATH_GEN_COEFF_NV,
-   gl_PATH_GEN_COLOR_FORMAT_NV,
-   gl_PATH_GEN_COMPONENTS_NV
-
-) where
-
-import Foreign.Ptr
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_NV_path_rendering"
-
-
-EXTENSION_ENTRY(glPathCommandsNV,GLuint -> GLsizei -> Ptr GLubyte -> GLsizei -> GLenum -> Ptr GLubyte -> IO ())
-EXTENSION_ENTRY(glPathCoordsNV,GLuint -> GLsizei -> GLenum -> Ptr GLubyte -> IO ())
-EXTENSION_ENTRY(glPathSubCommandsNV,GLuint -> GLsizei -> GLsizei -> GLsizei -> Ptr GLubyte -> GLsizei -> GLenum -> Ptr GLubyte -> IO ())
-EXTENSION_ENTRY(glPathSubCoordsNV,GLuint -> GLsizei -> GLsizei -> GLenum -> Ptr GLubyte -> IO ())
-EXTENSION_ENTRY(glPathStringNV,GLuint -> GLenum -> GLsizei -> Ptr GLubyte -> IO ())
-EXTENSION_ENTRY(glPathGlyphsNV,GLuint -> GLenum -> Ptr GLubyte -> GLbitfield -> GLsizei -> GLenum -> Ptr GLubyte -> GLenum -> GLuint -> GLfloat -> IO ())
-EXTENSION_ENTRY(glPathGlyphRangeNV,GLuint -> GLenum -> Ptr GLubyte -> GLbitfield -> GLuint -> GLsizei -> GLenum -> GLuint -> GLfloat -> IO ())
-EXTENSION_ENTRY(glWeightPathsNV,GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glCopyPathNV,GLuint -> GLuint -> IO ())
-EXTENSION_ENTRY(glInterpolatePathsNV,GLuint -> GLuint -> GLuint -> GLfloat -> IO ())
-EXTENSION_ENTRY(glTransformPathNV,GLuint -> GLuint -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glPathParameterivNV,GLuint -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glPathParameteriNV,GLuint -> GLenum -> GLint -> IO ())
-EXTENSION_ENTRY(glPathParameterfvNV,GLuint -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glPathParameterfNV,GLuint -> GLenum -> GLfloat -> IO ())
-EXTENSION_ENTRY(glPathDashArrayNV,GLuint -> GLsizei -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glGenPathsNV,GLsizei -> IO GLuint)
-EXTENSION_ENTRY(glDeletePathsNV,GLuint -> GLsizei -> IO ())
-EXTENSION_ENTRY(glIsPathNV,GLuint -> IO GLboolean)
-EXTENSION_ENTRY(glPathStencilFuncNV,GLenum -> GLint -> GLuint -> IO ())
-EXTENSION_ENTRY(glPathStencilDepthOffsetNV,GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(glStencilFillPathNV,GLuint -> GLenum -> GLuint -> IO ())
-EXTENSION_ENTRY(glStencilStrokePathNV,GLuint -> GLint -> GLuint -> IO ())
-EXTENSION_ENTRY(glStencilFillPathInstancedNV,GLsizei -> GLenum -> Ptr GLubyte -> GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glStencilStrokePathInstancedNV,GLsizei -> GLenum -> Ptr GLubyte -> GLuint -> GLint -> GLuint -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glPathCoverDepthFuncNV,GLenum -> IO ())
-EXTENSION_ENTRY(glPathColorGenNV,GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glPathTexGenNV,GLenum -> GLenum -> GLint -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glPathFogGenNV,GLenum -> IO ())
-EXTENSION_ENTRY(glCoverFillPathNV,GLuint -> GLenum -> IO ())
-EXTENSION_ENTRY(glCoverStrokePathNV,GLuint -> GLenum -> IO ())
-EXTENSION_ENTRY(glCoverFillPathInstancedNV,GLsizei -> GLenum -> Ptr GLuint -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glCoverStrokePathInstancedNV,GLsizei -> GLenum -> Ptr GLubyte -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glGetPathParameterivNV,GLuint -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glGetPathParameterfvNV,GLuint -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glGetPathCommandsNV,GLuint -> Ptr GLubyte -> IO ())
-EXTENSION_ENTRY(glGetPathCoordsNV,GLuint -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glGetPathDashArrayNV,GLuint -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glGetPathMetricsNV,GLbitfield -> GLsizei -> GLenum -> Ptr GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glGetPathMetricRangeNV,GLbitfield -> GLuint -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glGetPathSpacingNV,GLenum -> GLsizei -> GLenum -> Ptr GLubyte -> GLuint -> GLfloat -> GLfloat -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glGetPathColorGenivNV,GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glGetPathColorGenfvNV,GLenum -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glGetPathTexGenivNV,GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glGetPathTexGenfvNV,GLenum -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glIsPointInFillPathNV,GLuint -> GLuint -> GLfloat -> GLfloat -> IO GLboolean)
-EXTENSION_ENTRY(glIsPointInStrokePathNV,GLuint -> GLfloat -> GLfloat -> IO GLboolean)
-EXTENSION_ENTRY(glGetPathLengthNV,GLuint -> GLsizei -> GLsizei -> IO GLfloat)
-EXTENSION_ENTRY(glPointAlongPathNV,GLuint -> GLsizei -> GLsizei -> GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO GLboolean)
-
--- Accepted in elements of the <commands> array parameter of
--- PathCommandsNV and PathSubCommandsNV:
-
-gl_CLOSE_PATH_NV :: GLubyte
-gl_CLOSE_PATH_NV = 0x00
-
-gl_MOVE_TO_NV :: GLubyte
-gl_MOVE_TO_NV = 0x02
-
-gl_RELATIVE_MOVE_TO_NV :: GLubyte
-gl_RELATIVE_MOVE_TO_NV = 0x03
-
-gl_LINE_TO_NV :: GLubyte
-gl_LINE_TO_NV = 0x04
-
-gl_RELATIVE_LINE_TO_NV :: GLubyte
-gl_RELATIVE_LINE_TO_NV = 0x05
-
-gl_HORIZONTAL_LINE_TO_NV :: GLubyte
-gl_HORIZONTAL_LINE_TO_NV = 0x06
-
-gl_RELATIVE_HORIZONTAL_LINE_TO_NV :: GLubyte
-gl_RELATIVE_HORIZONTAL_LINE_TO_NV = 0x07
-
-gl_VERTICAL_LINE_TO_NV :: GLubyte
-gl_VERTICAL_LINE_TO_NV = 0x08
-
-gl_RELATIVE_VERTICAL_LINE_TO_NV :: GLubyte
-gl_RELATIVE_VERTICAL_LINE_TO_NV = 0x09
-
-gl_QUADRATIC_CURVE_TO_NV :: GLubyte
-gl_QUADRATIC_CURVE_TO_NV = 0x0A
-
-gl_RELATIVE_QUADRATIC_CURVE_TO_NV :: GLubyte
-gl_RELATIVE_QUADRATIC_CURVE_TO_NV = 0x0B
-
-gl_CUBIC_CURVE_TO_NV :: GLubyte
-gl_CUBIC_CURVE_TO_NV = 0x0C
-
-gl_RELATIVE_CUBIC_CURVE_TO_NV :: GLubyte
-gl_RELATIVE_CUBIC_CURVE_TO_NV = 0x0D
-
-gl_SMOOTH_QUADRATIC_CURVE_TO_NV :: GLubyte
-gl_SMOOTH_QUADRATIC_CURVE_TO_NV = 0x0E
-
-gl_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV :: GLubyte
-gl_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV =  0x0F
-
-gl_SMOOTH_CUBIC_CURVE_TO_NV :: GLubyte
-gl_SMOOTH_CUBIC_CURVE_TO_NV = 0x10
-
-gl_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV :: GLubyte
-gl_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV = 0x11
-
-gl_SMALL_CCW_ARC_TO_NV :: GLubyte
-gl_SMALL_CCW_ARC_TO_NV = 0x12
-
-gl_RELATIVE_SMALL_CCW_ARC_TO_NV :: GLubyte
-gl_RELATIVE_SMALL_CCW_ARC_TO_NV = 0x13
-
-gl_SMALL_CW_ARC_TO_NV :: GLubyte
-gl_SMALL_CW_ARC_TO_NV = 0x14
-
-gl_RELATIVE_SMALL_CW_ARC_TO_NV :: GLubyte
-gl_RELATIVE_SMALL_CW_ARC_TO_NV = 0x15
-
-gl_LARGE_CCW_ARC_TO_NV :: GLubyte
-gl_LARGE_CCW_ARC_TO_NV = 0x16
-
-gl_RELATIVE_LARGE_CCW_ARC_TO_NV :: GLubyte
-gl_RELATIVE_LARGE_CCW_ARC_TO_NV = 0x17
-
-gl_LARGE_CW_ARC_TO_NV :: GLubyte
-gl_LARGE_CW_ARC_TO_NV = 0x18
-
-gl_RELATIVE_LARGE_CW_ARC_TO_NV :: GLubyte
-gl_RELATIVE_LARGE_CW_ARC_TO_NV = 0x19
-
-gl_RESTART_PATH_NV :: GLubyte
-gl_RESTART_PATH_NV = 0xF0
-
-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_RECT_NV :: GLubyte
-gl_RECT_NV = 0xF6
-
-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_ARC_TO_NV :: GLubyte
-gl_ARC_TO_NV = 0xFE
-
-gl_RELATIVE_ARC_TO_NV :: GLubyte
-gl_RELATIVE_ARC_TO_NV = 0xFF
-
--- Accepted by the <format> parameter of PathStringNV
-gl_PATH_FORMAT_SVG_NV :: GLenum
-gl_PATH_FORMAT_SVG_NV = 0x9070
-
-gl_PATH_FORMAT_PS_NV :: GLenum
-gl_PATH_FORMAT_PS_NV = 0x9071
-
--- Accepted by the <fontTarget> parameter of PathGlyphsNV and
--- PathGlyphRangeNV:
-gl_STANDARD_FONT_NAME_NV :: GLenum
-gl_STANDARD_FONT_NAME_NV =  0x9072
-
-gl_SYSTEM_FONT_NAME_NV :: GLenum
-gl_SYSTEM_FONT_NAME_NV =  0x9073
-
-gl_FILE_NAME_NV :: GLenum
-gl_FILE_NAME_NV =  0x9074
-
--- Accepted by the <handleMissingGlyph> parameter of PathGlyphsNV and
--- PathGlyphRangeNV:
-gl_SKIP_MISSING_GLYPH_NV :: GLenum
-gl_SKIP_MISSING_GLYPH_NV = 0x90A9
-
-gl_USE_MISSING_GLYPH_NV :: GLenum
-gl_USE_MISSING_GLYPH_NV = 0x90AA
-
--- Accepted by the <pname> parameter of PathParameterfNV,
--- PathParameterfvNV, GetPathParameterfvNV, PathParameteriNV,
--- PathParameterivNV, and GetPathParameterivNV:
-gl_PATH_STROKE_WIDTH_NV :: GLenum
-gl_PATH_STROKE_WIDTH_NV = 0x9075
-
-gl_PATH_INITIAL_END_CAP_NV :: GLenum
-gl_PATH_INITIAL_END_CAP_NV = 0x9077
-
-gl_PATH_TERMINAL_END_CAP_NV :: GLenum
-gl_PATH_TERMINAL_END_CAP_NV = 0x9078
-
-gl_PATH_JOIN_STYLE_NV :: GLenum
-gl_PATH_JOIN_STYLE_NV = 0x9079
-
-gl_PATH_MITER_LIMIT_NV :: GLenum
-gl_PATH_MITER_LIMIT_NV = 0x907A
-
-gl_PATH_INITIAL_DASH_CAP_NV :: GLenum
-gl_PATH_INITIAL_DASH_CAP_NV = 0x907C
-
-gl_PATH_TERMINAL_DASH_CAP_NV :: GLenum
-gl_PATH_TERMINAL_DASH_CAP_NV = 0x907D
-
-gl_PATH_DASH_OFFSET_NV :: GLenum
-gl_PATH_DASH_OFFSET_NV = 0x907E
-
-gl_PATH_CLIENT_LENGTH_NV :: GLenum
-gl_PATH_CLIENT_LENGTH_NV = 0x907F
-
-gl_PATH_DASH_OFFSET_RESET_NV :: GLenum
-gl_PATH_DASH_OFFSET_RESET_NV = 0x90B4
-
-gl_PATH_FILL_MODE_NV :: GLenum
-gl_PATH_FILL_MODE_NV = 0x9080
-
-gl_PATH_FILL_MASK_NV :: GLenum
-gl_PATH_FILL_MASK_NV = 0x9081
-
-gl_PATH_FILL_COVER_MODE_NV :: GLenum
-gl_PATH_FILL_COVER_MODE_NV = 0x9082
-
-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
-
--- Accepted by the <pname> parameter of PathParameterfNV and
--- PathParameterfvNV:
-gl_PATH_END_CAPS_NV :: GLenum
-gl_PATH_END_CAPS_NV = 0x9076
-
-gl_PATH_DASH_CAPS_NV :: GLenum
-gl_PATH_DASH_CAPS_NV = 0x907B
-
--- Accepted by the <fillMode> parameter of StencilFillPathNV and
--- StencilFillPathInstancedNV:
-gl_COUNT_UP_NV :: GLenum
-gl_COUNT_UP_NV = 0x9088
-
-gl_COUNT_DOWN_NV :: GLenum
-gl_COUNT_DOWN_NV = 0x9089
-
--- Accepted by the <genMode> parameter of PathColorGenNV and
--- PathTexGenNV:
-gl_PATH_OBJECT_BOUNDING_BOX_NV :: GLenum
-gl_PATH_OBJECT_BOUNDING_BOX_NV = 0x908A
-
--- Accepted by the <coverMode> parameter of CoverFillPathNV and
--- CoverFillPathInstancedNV:
-gl_CONVEX_HULL_NV :: GLenum
-gl_CONVEX_HULL_NV = 0x908B
-
-gl_BOUNDING_BOX_NV :: GLenum
-gl_BOUNDING_BOX_NV = 0x908D
-
--- Accepted by the <transformType> parameter of
--- StencilFillPathInstancedNV, StencilStrokePathInstancedNV,
--- CoverFillPathInstancedNV, and CoverStrokePathInstancedNV:
-gl_TRANSLATE_X_NV :: GLenum
-gl_TRANSLATE_X_NV = 0x908E
-
-gl_TRANSLATE_Y_NV :: GLenum
-gl_TRANSLATE_Y_NV = 0x908F
-
-gl_TRANSLATE_2D_NV :: GLenum
-gl_TRANSLATE_2D_NV = 0x9090
-
-gl_TRANSLATE_3D_NV :: GLenum
-gl_TRANSLATE_3D_NV = 0x9091
-
-gl_AFFINE_2D_NV :: GLenum
-gl_AFFINE_2D_NV = 0x9092
-
-gl_AFFINE_3D_NV :: GLenum
-gl_AFFINE_3D_NV = 0x9094
-
-gl_TRANSPOSE_AFFINE_2D_NV :: GLenum
-gl_TRANSPOSE_AFFINE_2D_NV = 0x9096
-
-gl_TRANSPOSE_AFFINE_3D_NV :: GLenum
-gl_TRANSPOSE_AFFINE_3D_NV = 0x9098
-
--- Accepted by the <type> or <pathNameType> parameter of
--- StencilFillPathInstancedNV, StencilStrokePathInstancedNV,
--- CoverFillPathInstancedNV, CoverStrokePathInstancedNV,
--- GetPathMetricsNV, and GetPathSpacingNV:
-gl_UTF8_NV :: GLenum
-gl_UTF8_NV = 0x909A
-
-gl_UTF16_NV :: GLenum
-gl_UTF16_NV = 0x909B
-
--- Accepted by the <coverMode> parameter of CoverFillPathInstancedNV:
-gl_BOUNDING_BOX_OF_BOUNDING_BOXES_NV :: GLenum
-gl_BOUNDING_BOX_OF_BOUNDING_BOXES_NV = 0x909C
-
--- Accepted by the <pname> parameter of GetPathParameterfvNV and
--- GetPathParameterivNV:
-gl_PATH_COMMAND_COUNT_NV :: GLenum
-gl_PATH_COMMAND_COUNT_NV = 0x909D
-
-gl_PATH_COORD_COUNT_NV :: GLenum
-gl_PATH_COORD_COUNT_NV = 0x909E
-
-gl_PATH_DASH_ARRAY_COUNT_NV :: GLenum
-gl_PATH_DASH_ARRAY_COUNT_NV = 0x909F
-
-gl_PATH_COMPUTED_LENGTH_NV :: GLenum
-gl_PATH_COMPUTED_LENGTH_NV = 0x90A0
-
-gl_PATH_FILL_BOUNDING_BOX_NV :: GLenum
-gl_PATH_FILL_BOUNDING_BOX_NV = 0x90A1
-
-gl_PATH_STROKE_BOUNDING_BOX_NV :: GLenum
-gl_PATH_STROKE_BOUNDING_BOX_NV = 0x90A2
-
--- Accepted by the <value> parameter of PathParameterfNV,
--- PathParameterfvNV, PathParameteriNV, and PathParameterivNV
--- when <pname> is one of PATH_END_CAPS_NV, PATH_INTIAL_END_CAP_NV,
--- PATH_TERMINAL_END_CAP_NV, PATH_DASH_CAPS_NV, PATH_INITIAL_DASH_CAP_NV,
--- and PATH_TERMINAL_DASH_CAP_NV:
-gl_SQUARE_NV :: GLint
-gl_SQUARE_NV = 0x90A3
-
-gl_ROUND_NV :: GLint
-gl_ROUND_NV = 0x90A4
-
-gl_TRIANGULAR_NV :: GLint
-gl_TRIANGULAR_NV = 0x90A5
-
-gl_BEVEL_NV :: GLint
-gl_BEVEL_NV = 0x90A6
-
-gl_MITER_REVERT_NV :: GLint
-gl_MITER_REVERT_NV = 0x90A7
-
-gl_MITER_TRUNCATE_NV :: GLint
-gl_MITER_TRUNCATE_NV = 0x90A8
-
--- Accepted by the <value> parameter of PathParameterfNV,
--- PathParameterfvNV, PathParameteriNV, and PathParameterivNV when
--- <pname> is PATH_DASH_OFFSET_RESET_NV
-gl_MOVE_TO_RESETS_NV :: GLint
-gl_MOVE_TO_RESETS_NV = 0x90B5
-
-gl_MOVE_TO_CONTINUES_NV :: GLint
-gl_MOVE_TO_CONTINUES_NV = 0x90B6
-
--- Accepted by the <fontStyle> parameter of PathStringNV:
-gl_BOLD_BIT_NV :: GLbitfield
-gl_BOLD_BIT_NV = 0x01
-
-gl_ITALIC_BIT_NV :: GLbitfield
-gl_ITALIC_BIT_NV = 0x02
-
--- Accepted by the <pname> parameter of GetBooleanv, GetIntegerv,
--- GetInteger64v, GetFloatv, and GetDoublev:
-gl_PATH_ERROR_POSITION_NV :: GLenum
-gl_PATH_ERROR_POSITION_NV = 0x90AB
-
-gl_PATH_FOG_GEN_MODE_NV :: GLenum
-gl_PATH_FOG_GEN_MODE_NV = 0x90AC
-
-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_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_COVER_DEPTH_FUNC_NV :: GLenum
-gl_PATH_COVER_DEPTH_FUNC_NV = 0x90BF
-
--- Accepted as a bit within the <metricQueryMask> parameter of
--- GetPathMetricRangeNV or GetPathMetricsNV:
-gl_GLYPH_WIDTH_BIT_NV :: GLbitfield
-gl_GLYPH_WIDTH_BIT_NV = 0x01
-
-gl_GLYPH_HEIGHT_BIT_NV :: GLbitfield
-gl_GLYPH_HEIGHT_BIT_NV = 0x02
-
-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_HORIZONTAL_BEARING_ADVANCE_BIT_NV :: GLbitfield
-gl_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV = 0x10
-
-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_VERTICAL_BEARING_ADVANCE_BIT_NV :: GLbitfield
-gl_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV = 0x80
-
-gl_GLYPH_HAS_KERNING_BIT_NV :: GLbitfield
-gl_GLYPH_HAS_KERNING_BIT_NV = 0x100
-
-gl_FONT_X_MIN_BOUNDS_BIT_NV :: GLbitfield
-gl_FONT_X_MIN_BOUNDS_BIT_NV = 0x00010000
-
-gl_FONT_Y_MIN_BOUNDS_BIT_NV :: GLbitfield
-gl_FONT_Y_MIN_BOUNDS_BIT_NV = 0x00020000
-
-gl_FONT_X_MAX_BOUNDS_BIT_NV :: GLbitfield
-gl_FONT_X_MAX_BOUNDS_BIT_NV = 0x00040000
-
-gl_FONT_Y_MAX_BOUNDS_BIT_NV :: GLbitfield
-gl_FONT_Y_MAX_BOUNDS_BIT_NV = 0x00080000
-
-gl_FONT_UNITS_PER_EM_BIT_NV :: GLbitfield
-gl_FONT_UNITS_PER_EM_BIT_NV = 0x00100000
-
-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_HEIGHT_BIT_NV :: GLbitfield
-gl_FONT_HEIGHT_BIT_NV = 0x00800000
-
-gl_FONT_MAX_ADVANCE_WIDTH_BIT_NV :: GLbitfield
-gl_FONT_MAX_ADVANCE_WIDTH_BIT_NV = 0x01000000
-
-gl_FONT_MAX_ADVANCE_HEIGHT_BIT_NV :: GLbitfield
-gl_FONT_MAX_ADVANCE_HEIGHT_BIT_NV = 0x02000000
-
-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_HAS_KERNING_BIT_NV :: GLbitfield
-gl_FONT_HAS_KERNING_BIT_NV = 0x10000000
-
--- Accepted by the <pathListMode> parameter of GetPathSpacingNV:
-gl_ACCUM_ADJACENT_PAIRS_NV :: GLenum
-gl_ACCUM_ADJACENT_PAIRS_NV = 0x90AD
-
-gl_ADJACENT_PAIRS_NV :: GLenum
-gl_ADJACENT_PAIRS_NV = 0x90AE
-
-gl_FIRST_TO_REST_NV :: GLenum
-gl_FIRST_TO_REST_NV = 0x90AF
-
--- Accepted by the <pname> parameter of GetPathColorGenivNV,
--- GetPathColorGenfvNV, GetPathTexGenivNV and GetPathTexGenfvNV:
-gl_PATH_GEN_MODE_NV :: GLenum
-gl_PATH_GEN_MODE_NV = 0x90B0
-
-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
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.NV.PathRendering
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the NV_path_rendering extension not
+-- already in the OpenGL 3.1 core, see
+-- <http://www.opengl.org/registry/specs/NV/path_rendering.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.NV.PathRendering (
+-- * Functions
+   glPathCommandsNV,
+   glPathCoordsNV,
+   glPathSubCommandsNV,
+   glPathSubCoordsNV,
+   glPathStringNV,
+   glPathGlyphsNV,
+   glPathGlyphRangeNV,
+   glWeightPathsNV,
+   glCopyPathNV,
+   glInterpolatePathsNV,
+   glTransformPathNV,
+   glPathParameterivNV,
+   glPathParameteriNV,
+   glPathParameterfvNV,
+   glPathParameterfNV,
+   glPathDashArrayNV,
+   glGenPathsNV,
+   glDeletePathsNV,
+   glIsPathNV,
+   glPathStencilFuncNV,
+   glPathStencilDepthOffsetNV,
+   glStencilFillPathNV,
+   glStencilStrokePathNV,
+   glStencilFillPathInstancedNV,
+   glStencilStrokePathInstancedNV,
+   glPathCoverDepthFuncNV,
+   glPathColorGenNV,
+   glPathTexGenNV,
+   glPathFogGenNV,
+   glCoverFillPathNV,
+   glCoverStrokePathNV,
+   glCoverFillPathInstancedNV,
+   glCoverStrokePathInstancedNV,
+   glGetPathParameterivNV,
+   glGetPathParameterfvNV,
+   glGetPathCommandsNV,
+   glGetPathCoordsNV,
+   glGetPathDashArrayNV,
+   glGetPathMetricsNV,
+   glGetPathMetricRangeNV,
+   glGetPathSpacingNV,
+   glGetPathColorGenivNV,
+   glGetPathColorGenfvNV,
+   glGetPathTexGenivNV,
+   glGetPathTexGenfvNV,
+   glIsPointInFillPathNV,
+   glIsPointInStrokePathNV,
+   glGetPathLengthNV,
+   glPointAlongPathNV,
+   -- * Tokens
+   gl_CLOSE_PATH_NV,
+   gl_MOVE_TO_NV,
+   gl_RELATIVE_MOVE_TO_NV,
+   gl_LINE_TO_NV,
+   gl_RELATIVE_LINE_TO_NV,
+   gl_HORIZONTAL_LINE_TO_NV,
+   gl_RELATIVE_HORIZONTAL_LINE_TO_NV,
+   gl_VERTICAL_LINE_TO_NV,
+   gl_RELATIVE_VERTICAL_LINE_TO_NV,
+   gl_QUADRATIC_CURVE_TO_NV,
+   gl_RELATIVE_QUADRATIC_CURVE_TO_NV,
+   gl_CUBIC_CURVE_TO_NV,
+   gl_RELATIVE_CUBIC_CURVE_TO_NV,
+   gl_SMOOTH_QUADRATIC_CURVE_TO_NV,
+   gl_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV,
+   gl_SMOOTH_CUBIC_CURVE_TO_NV,
+   gl_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV,
+   gl_SMALL_CCW_ARC_TO_NV,
+   gl_RELATIVE_SMALL_CCW_ARC_TO_NV,
+   gl_SMALL_CW_ARC_TO_NV,
+   gl_RELATIVE_SMALL_CW_ARC_TO_NV,
+   gl_LARGE_CCW_ARC_TO_NV,
+   gl_RELATIVE_LARGE_CCW_ARC_TO_NV,
+   gl_LARGE_CW_ARC_TO_NV,
+   gl_RELATIVE_LARGE_CW_ARC_TO_NV,
+   gl_RESTART_PATH_NV,
+   gl_DUP_FIRST_CUBIC_CURVE_TO_NV,
+   gl_DUP_LAST_CUBIC_CURVE_TO_NV,
+   gl_RECT_NV,
+   gl_CIRCULAR_CCW_ARC_TO_NV,
+   gl_CIRCULAR_CW_ARC_TO_NV,
+   gl_CIRCULAR_TANGENT_ARC_TO_NV,
+   gl_ARC_TO_NV,
+   gl_RELATIVE_ARC_TO_NV,
+   gl_PATH_FORMAT_SVG_NV,
+   gl_PATH_FORMAT_PS_NV,
+   gl_STANDARD_FONT_NAME_NV,
+   gl_SYSTEM_FONT_NAME_NV,
+   gl_FILE_NAME_NV,
+   gl_SKIP_MISSING_GLYPH_NV,
+   gl_USE_MISSING_GLYPH_NV,
+   gl_PATH_STROKE_WIDTH_NV,
+   gl_PATH_INITIAL_END_CAP_NV,
+   gl_PATH_TERMINAL_END_CAP_NV,
+   gl_PATH_JOIN_STYLE_NV,
+   gl_PATH_MITER_LIMIT_NV,
+   gl_PATH_INITIAL_DASH_CAP_NV,
+   gl_PATH_TERMINAL_DASH_CAP_NV,
+   gl_PATH_DASH_OFFSET_NV,
+   gl_PATH_CLIENT_LENGTH_NV,
+   gl_PATH_DASH_OFFSET_RESET_NV,
+   gl_PATH_FILL_MODE_NV,
+   gl_PATH_FILL_MASK_NV,
+   gl_PATH_FILL_COVER_MODE_NV,
+   gl_PATH_STROKE_COVER_MODE_NV,
+   gl_PATH_STROKE_MASK_NV,
+   gl_PATH_END_CAPS_NV,
+   gl_PATH_DASH_CAPS_NV,
+   gl_COUNT_UP_NV,
+   gl_COUNT_DOWN_NV,
+   gl_PATH_OBJECT_BOUNDING_BOX_NV,
+   gl_CONVEX_HULL_NV,
+   gl_BOUNDING_BOX_NV,
+   gl_TRANSLATE_X_NV,
+   gl_TRANSLATE_Y_NV,
+   gl_TRANSLATE_2D_NV,
+   gl_TRANSLATE_3D_NV,
+   gl_AFFINE_2D_NV,
+   gl_AFFINE_3D_NV,
+   gl_TRANSPOSE_AFFINE_2D_NV,
+   gl_TRANSPOSE_AFFINE_3D_NV,
+   gl_UTF8_NV,
+   gl_UTF16_NV,
+   gl_BOUNDING_BOX_OF_BOUNDING_BOXES_NV,
+   gl_PATH_COMMAND_COUNT_NV,
+   gl_PATH_COORD_COUNT_NV,
+   gl_PATH_DASH_ARRAY_COUNT_NV,
+   gl_PATH_COMPUTED_LENGTH_NV,
+   gl_PATH_FILL_BOUNDING_BOX_NV,
+   gl_PATH_STROKE_BOUNDING_BOX_NV,
+   gl_SQUARE_NV,
+   gl_ROUND_NV,
+   gl_TRIANGULAR_NV,
+   gl_BEVEL_NV,
+   gl_MITER_REVERT_NV,
+   gl_MITER_TRUNCATE_NV,
+   gl_MOVE_TO_RESETS_NV,
+   gl_MOVE_TO_CONTINUES_NV,
+   gl_BOLD_BIT_NV,
+   gl_ITALIC_BIT_NV,
+   gl_PATH_ERROR_POSITION_NV,
+   gl_PATH_FOG_GEN_MODE_NV,
+   gl_PATH_STENCIL_FUNC_NV,
+   gl_PATH_STENCIL_REF_NV,
+   gl_PATH_STENCIL_VALUE_MASK_NV,
+   gl_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV,
+   gl_PATH_STENCIL_DEPTH_OFFSET_UNITS_NV,
+   gl_PATH_COVER_DEPTH_FUNC_NV,
+   gl_GLYPH_WIDTH_BIT_NV,
+   gl_GLYPH_HEIGHT_BIT_NV,
+   gl_GLYPH_HORIZONTAL_BEARING_X_BIT_NV,
+   gl_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV,
+   gl_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV,
+   gl_GLYPH_VERTICAL_BEARING_X_BIT_NV,
+   gl_GLYPH_VERTICAL_BEARING_Y_BIT_NV,
+   gl_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV,
+   gl_GLYPH_HAS_KERNING_BIT_NV,
+   gl_FONT_X_MIN_BOUNDS_BIT_NV,
+   gl_FONT_Y_MIN_BOUNDS_BIT_NV,
+   gl_FONT_X_MAX_BOUNDS_BIT_NV,
+   gl_FONT_Y_MAX_BOUNDS_BIT_NV,
+   gl_FONT_UNITS_PER_EM_BIT_NV,
+   gl_FONT_ASCENDER_BIT_NV,
+   gl_FONT_DESCENDER_BIT_NV,
+   gl_FONT_HEIGHT_BIT_NV,
+   gl_FONT_MAX_ADVANCE_WIDTH_BIT_NV,
+   gl_FONT_MAX_ADVANCE_HEIGHT_BIT_NV,
+   gl_FONT_UNDERLINE_POSITION_BIT_NV,
+   gl_FONT_UNDERLINE_THICKNESS_BIT_NV,
+   gl_FONT_HAS_KERNING_BIT_NV,
+   gl_ACCUM_ADJACENT_PAIRS_NV,
+   gl_ADJACENT_PAIRS_NV,
+   gl_FIRST_TO_REST_NV,
+   gl_PATH_GEN_MODE_NV,
+   gl_PATH_GEN_COEFF_NV,
+   gl_PATH_GEN_COLOR_FORMAT_NV,
+   gl_PATH_GEN_COMPONENTS_NV
+
+) where
+
+import Foreign.Ptr
+import Foreign.C.Types
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+import Graphics.Rendering.OpenGL.Raw.Extensions
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_NV_path_rendering"
+
+
+EXTENSION_ENTRY(dyn_glPathCommandsNV,ptr_glPathCommandsNV,"glPathCommandsNV",glPathCommandsNV,GLuint -> GLsizei -> Ptr GLubyte -> GLsizei -> GLenum -> Ptr GLubyte -> IO ())
+EXTENSION_ENTRY(dyn_glPathCoordsNV,ptr_glPathCoordsNV,"glPathCoordsNV",glPathCoordsNV,GLuint -> GLsizei -> GLenum -> Ptr GLubyte -> IO ())
+EXTENSION_ENTRY(dyn_glPathSubCommandsNV,ptr_glPathSubCommandsNV,"glPathSubCommandsNV",glPathSubCommandsNV,GLuint -> GLsizei -> GLsizei -> GLsizei -> Ptr GLubyte -> GLsizei -> GLenum -> Ptr GLubyte -> IO ())
+EXTENSION_ENTRY(dyn_glPathSubCoordsNV,ptr_glPathSubCoordsNV,"glPathSubCoordsNV",glPathSubCoordsNV,GLuint -> GLsizei -> GLsizei -> GLenum -> Ptr GLubyte -> IO ())
+EXTENSION_ENTRY(dyn_glPathStringNV,ptr_glPathStringNV,"glPathStringNV",glPathStringNV,GLuint -> GLenum -> GLsizei -> Ptr GLubyte -> IO ())
+EXTENSION_ENTRY(dyn_glPathGlyphsNV,ptr_glPathGlyphsNV,"glPathGlyphsNV",glPathGlyphsNV,GLuint -> GLenum -> Ptr GLubyte -> GLbitfield -> GLsizei -> GLenum -> Ptr GLubyte -> GLenum -> GLuint -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glPathGlyphRangeNV,ptr_glPathGlyphRangeNV,"glPathGlyphRangeNV",glPathGlyphRangeNV,GLuint -> GLenum -> Ptr GLubyte -> GLbitfield -> GLuint -> GLsizei -> GLenum -> GLuint -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glWeightPathsNV,ptr_glWeightPathsNV,"glWeightPathsNV",glWeightPathsNV,GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glCopyPathNV,ptr_glCopyPathNV,"glCopyPathNV",glCopyPathNV,GLuint -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glInterpolatePathsNV,ptr_glInterpolatePathsNV,"glInterpolatePathsNV",glInterpolatePathsNV,GLuint -> GLuint -> GLuint -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glTransformPathNV,ptr_glTransformPathNV,"glTransformPathNV",glTransformPathNV,GLuint -> GLuint -> GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glPathParameterivNV,ptr_glPathParameterivNV,"glPathParameterivNV",glPathParameterivNV,GLuint -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glPathParameteriNV,ptr_glPathParameteriNV,"glPathParameteriNV",glPathParameteriNV,GLuint -> GLenum -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glPathParameterfvNV,ptr_glPathParameterfvNV,"glPathParameterfvNV",glPathParameterfvNV,GLuint -> GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glPathParameterfNV,ptr_glPathParameterfNV,"glPathParameterfNV",glPathParameterfNV,GLuint -> GLenum -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glPathDashArrayNV,ptr_glPathDashArrayNV,"glPathDashArrayNV",glPathDashArrayNV,GLuint -> GLsizei -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glGenPathsNV,ptr_glGenPathsNV,"glGenPathsNV",glGenPathsNV,GLsizei -> IO GLuint)
+EXTENSION_ENTRY(dyn_glDeletePathsNV,ptr_glDeletePathsNV,"glDeletePathsNV",glDeletePathsNV,GLuint -> GLsizei -> IO ())
+EXTENSION_ENTRY(dyn_glIsPathNV,ptr_glIsPathNV,"glIsPathNV",glIsPathNV,GLuint -> IO GLboolean)
+EXTENSION_ENTRY(dyn_glPathStencilFuncNV,ptr_glPathStencilFuncNV,"glPathStencilFuncNV",glPathStencilFuncNV,GLenum -> GLint -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glPathStencilDepthOffsetNV,ptr_glPathStencilDepthOffsetNV,"glPathStencilDepthOffsetNV",glPathStencilDepthOffsetNV,GLfloat -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glStencilFillPathNV,ptr_glStencilFillPathNV,"glStencilFillPathNV",glStencilFillPathNV,GLuint -> GLenum -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glStencilStrokePathNV,ptr_glStencilStrokePathNV,"glStencilStrokePathNV",glStencilStrokePathNV,GLuint -> GLint -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glStencilFillPathInstancedNV,ptr_glStencilFillPathInstancedNV,"glStencilFillPathInstancedNV",glStencilFillPathInstancedNV,GLsizei -> GLenum -> Ptr GLubyte -> GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glStencilStrokePathInstancedNV,ptr_glStencilStrokePathInstancedNV,"glStencilStrokePathInstancedNV",glStencilStrokePathInstancedNV,GLsizei -> GLenum -> Ptr GLubyte -> GLuint -> GLint -> GLuint -> GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glPathCoverDepthFuncNV,ptr_glPathCoverDepthFuncNV,"glPathCoverDepthFuncNV",glPathCoverDepthFuncNV,GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glPathColorGenNV,ptr_glPathColorGenNV,"glPathColorGenNV",glPathColorGenNV,GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glPathTexGenNV,ptr_glPathTexGenNV,"glPathTexGenNV",glPathTexGenNV,GLenum -> GLenum -> GLint -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glPathFogGenNV,ptr_glPathFogGenNV,"glPathFogGenNV",glPathFogGenNV,GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glCoverFillPathNV,ptr_glCoverFillPathNV,"glCoverFillPathNV",glCoverFillPathNV,GLuint -> GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glCoverStrokePathNV,ptr_glCoverStrokePathNV,"glCoverStrokePathNV",glCoverStrokePathNV,GLuint -> GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glCoverFillPathInstancedNV,ptr_glCoverFillPathInstancedNV,"glCoverFillPathInstancedNV",glCoverFillPathInstancedNV,GLsizei -> GLenum -> Ptr GLuint -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glCoverStrokePathInstancedNV,ptr_glCoverStrokePathInstancedNV,"glCoverStrokePathInstancedNV",glCoverStrokePathInstancedNV,GLsizei -> GLenum -> Ptr GLubyte -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glGetPathParameterivNV,ptr_glGetPathParameterivNV,"glGetPathParameterivNV",glGetPathParameterivNV,GLuint -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glGetPathParameterfvNV,ptr_glGetPathParameterfvNV,"glGetPathParameterfvNV",glGetPathParameterfvNV,GLuint -> GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glGetPathCommandsNV,ptr_glGetPathCommandsNV,"glGetPathCommandsNV",glGetPathCommandsNV,GLuint -> Ptr GLubyte -> IO ())
+EXTENSION_ENTRY(dyn_glGetPathCoordsNV,ptr_glGetPathCoordsNV,"glGetPathCoordsNV",glGetPathCoordsNV,GLuint -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glGetPathDashArrayNV,ptr_glGetPathDashArrayNV,"glGetPathDashArrayNV",glGetPathDashArrayNV,GLuint -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glGetPathMetricsNV,ptr_glGetPathMetricsNV,"glGetPathMetricsNV",glGetPathMetricsNV,GLbitfield -> GLsizei -> GLenum -> Ptr GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glGetPathMetricRangeNV,ptr_glGetPathMetricRangeNV,"glGetPathMetricRangeNV",glGetPathMetricRangeNV,GLbitfield -> GLuint -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glGetPathSpacingNV,ptr_glGetPathSpacingNV,"glGetPathSpacingNV",glGetPathSpacingNV,GLenum -> GLsizei -> GLenum -> Ptr GLubyte -> GLuint -> GLfloat -> GLfloat -> GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glGetPathColorGenivNV,ptr_glGetPathColorGenivNV,"glGetPathColorGenivNV",glGetPathColorGenivNV,GLenum -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glGetPathColorGenfvNV,ptr_glGetPathColorGenfvNV,"glGetPathColorGenfvNV",glGetPathColorGenfvNV,GLenum -> GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glGetPathTexGenivNV,ptr_glGetPathTexGenivNV,"glGetPathTexGenivNV",glGetPathTexGenivNV,GLenum -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glGetPathTexGenfvNV,ptr_glGetPathTexGenfvNV,"glGetPathTexGenfvNV",glGetPathTexGenfvNV,GLenum -> GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glIsPointInFillPathNV,ptr_glIsPointInFillPathNV,"glIsPointInFillPathNV",glIsPointInFillPathNV,GLuint -> GLuint -> GLfloat -> GLfloat -> IO GLboolean)
+EXTENSION_ENTRY(dyn_glIsPointInStrokePathNV,ptr_glIsPointInStrokePathNV,"glIsPointInStrokePathNV",glIsPointInStrokePathNV,GLuint -> GLfloat -> GLfloat -> IO GLboolean)
+EXTENSION_ENTRY(dyn_glGetPathLengthNV,ptr_glGetPathLengthNV,"glGetPathLengthNV",glGetPathLengthNV,GLuint -> GLsizei -> GLsizei -> IO GLfloat)
+EXTENSION_ENTRY(dyn_glPointAlongPathNV,ptr_glPointAlongPathNV,"glPointAlongPathNV",glPointAlongPathNV,GLuint -> GLsizei -> GLsizei -> GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO GLboolean)
+
+-- Accepted in elements of the <commands> array parameter of
+-- PathCommandsNV and PathSubCommandsNV:
+
+gl_CLOSE_PATH_NV :: GLubyte
+gl_CLOSE_PATH_NV = 0x00
+
+gl_MOVE_TO_NV :: GLubyte
+gl_MOVE_TO_NV = 0x02
+
+gl_RELATIVE_MOVE_TO_NV :: GLubyte
+gl_RELATIVE_MOVE_TO_NV = 0x03
+
+gl_LINE_TO_NV :: GLubyte
+gl_LINE_TO_NV = 0x04
+
+gl_RELATIVE_LINE_TO_NV :: GLubyte
+gl_RELATIVE_LINE_TO_NV = 0x05
+
+gl_HORIZONTAL_LINE_TO_NV :: GLubyte
+gl_HORIZONTAL_LINE_TO_NV = 0x06
+
+gl_RELATIVE_HORIZONTAL_LINE_TO_NV :: GLubyte
+gl_RELATIVE_HORIZONTAL_LINE_TO_NV = 0x07
+
+gl_VERTICAL_LINE_TO_NV :: GLubyte
+gl_VERTICAL_LINE_TO_NV = 0x08
+
+gl_RELATIVE_VERTICAL_LINE_TO_NV :: GLubyte
+gl_RELATIVE_VERTICAL_LINE_TO_NV = 0x09
+
+gl_QUADRATIC_CURVE_TO_NV :: GLubyte
+gl_QUADRATIC_CURVE_TO_NV = 0x0A
+
+gl_RELATIVE_QUADRATIC_CURVE_TO_NV :: GLubyte
+gl_RELATIVE_QUADRATIC_CURVE_TO_NV = 0x0B
+
+gl_CUBIC_CURVE_TO_NV :: GLubyte
+gl_CUBIC_CURVE_TO_NV = 0x0C
+
+gl_RELATIVE_CUBIC_CURVE_TO_NV :: GLubyte
+gl_RELATIVE_CUBIC_CURVE_TO_NV = 0x0D
+
+gl_SMOOTH_QUADRATIC_CURVE_TO_NV :: GLubyte
+gl_SMOOTH_QUADRATIC_CURVE_TO_NV = 0x0E
+
+gl_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV :: GLubyte
+gl_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV =  0x0F
+
+gl_SMOOTH_CUBIC_CURVE_TO_NV :: GLubyte
+gl_SMOOTH_CUBIC_CURVE_TO_NV = 0x10
+
+gl_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV :: GLubyte
+gl_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV = 0x11
+
+gl_SMALL_CCW_ARC_TO_NV :: GLubyte
+gl_SMALL_CCW_ARC_TO_NV = 0x12
+
+gl_RELATIVE_SMALL_CCW_ARC_TO_NV :: GLubyte
+gl_RELATIVE_SMALL_CCW_ARC_TO_NV = 0x13
+
+gl_SMALL_CW_ARC_TO_NV :: GLubyte
+gl_SMALL_CW_ARC_TO_NV = 0x14
+
+gl_RELATIVE_SMALL_CW_ARC_TO_NV :: GLubyte
+gl_RELATIVE_SMALL_CW_ARC_TO_NV = 0x15
+
+gl_LARGE_CCW_ARC_TO_NV :: GLubyte
+gl_LARGE_CCW_ARC_TO_NV = 0x16
+
+gl_RELATIVE_LARGE_CCW_ARC_TO_NV :: GLubyte
+gl_RELATIVE_LARGE_CCW_ARC_TO_NV = 0x17
+
+gl_LARGE_CW_ARC_TO_NV :: GLubyte
+gl_LARGE_CW_ARC_TO_NV = 0x18
+
+gl_RELATIVE_LARGE_CW_ARC_TO_NV :: GLubyte
+gl_RELATIVE_LARGE_CW_ARC_TO_NV = 0x19
+
+gl_RESTART_PATH_NV :: GLubyte
+gl_RESTART_PATH_NV = 0xF0
+
+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_RECT_NV :: GLubyte
+gl_RECT_NV = 0xF6
+
+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_ARC_TO_NV :: GLubyte
+gl_ARC_TO_NV = 0xFE
+
+gl_RELATIVE_ARC_TO_NV :: GLubyte
+gl_RELATIVE_ARC_TO_NV = 0xFF
+
+-- Accepted by the <format> parameter of PathStringNV
+gl_PATH_FORMAT_SVG_NV :: GLenum
+gl_PATH_FORMAT_SVG_NV = 0x9070
+
+gl_PATH_FORMAT_PS_NV :: GLenum
+gl_PATH_FORMAT_PS_NV = 0x9071
+
+-- Accepted by the <fontTarget> parameter of PathGlyphsNV and
+-- PathGlyphRangeNV:
+gl_STANDARD_FONT_NAME_NV :: GLenum
+gl_STANDARD_FONT_NAME_NV =  0x9072
+
+gl_SYSTEM_FONT_NAME_NV :: GLenum
+gl_SYSTEM_FONT_NAME_NV =  0x9073
+
+gl_FILE_NAME_NV :: GLenum
+gl_FILE_NAME_NV =  0x9074
+
+-- Accepted by the <handleMissingGlyph> parameter of PathGlyphsNV and
+-- PathGlyphRangeNV:
+gl_SKIP_MISSING_GLYPH_NV :: GLenum
+gl_SKIP_MISSING_GLYPH_NV = 0x90A9
+
+gl_USE_MISSING_GLYPH_NV :: GLenum
+gl_USE_MISSING_GLYPH_NV = 0x90AA
+
+-- Accepted by the <pname> parameter of PathParameterfNV,
+-- PathParameterfvNV, GetPathParameterfvNV, PathParameteriNV,
+-- PathParameterivNV, and GetPathParameterivNV:
+gl_PATH_STROKE_WIDTH_NV :: GLenum
+gl_PATH_STROKE_WIDTH_NV = 0x9075
+
+gl_PATH_INITIAL_END_CAP_NV :: GLenum
+gl_PATH_INITIAL_END_CAP_NV = 0x9077
+
+gl_PATH_TERMINAL_END_CAP_NV :: GLenum
+gl_PATH_TERMINAL_END_CAP_NV = 0x9078
+
+gl_PATH_JOIN_STYLE_NV :: GLenum
+gl_PATH_JOIN_STYLE_NV = 0x9079
+
+gl_PATH_MITER_LIMIT_NV :: GLenum
+gl_PATH_MITER_LIMIT_NV = 0x907A
+
+gl_PATH_INITIAL_DASH_CAP_NV :: GLenum
+gl_PATH_INITIAL_DASH_CAP_NV = 0x907C
+
+gl_PATH_TERMINAL_DASH_CAP_NV :: GLenum
+gl_PATH_TERMINAL_DASH_CAP_NV = 0x907D
+
+gl_PATH_DASH_OFFSET_NV :: GLenum
+gl_PATH_DASH_OFFSET_NV = 0x907E
+
+gl_PATH_CLIENT_LENGTH_NV :: GLenum
+gl_PATH_CLIENT_LENGTH_NV = 0x907F
+
+gl_PATH_DASH_OFFSET_RESET_NV :: GLenum
+gl_PATH_DASH_OFFSET_RESET_NV = 0x90B4
+
+gl_PATH_FILL_MODE_NV :: GLenum
+gl_PATH_FILL_MODE_NV = 0x9080
+
+gl_PATH_FILL_MASK_NV :: GLenum
+gl_PATH_FILL_MASK_NV = 0x9081
+
+gl_PATH_FILL_COVER_MODE_NV :: GLenum
+gl_PATH_FILL_COVER_MODE_NV = 0x9082
+
+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
+
+-- Accepted by the <pname> parameter of PathParameterfNV and
+-- PathParameterfvNV:
+gl_PATH_END_CAPS_NV :: GLenum
+gl_PATH_END_CAPS_NV = 0x9076
+
+gl_PATH_DASH_CAPS_NV :: GLenum
+gl_PATH_DASH_CAPS_NV = 0x907B
+
+-- Accepted by the <fillMode> parameter of StencilFillPathNV and
+-- StencilFillPathInstancedNV:
+gl_COUNT_UP_NV :: GLenum
+gl_COUNT_UP_NV = 0x9088
+
+gl_COUNT_DOWN_NV :: GLenum
+gl_COUNT_DOWN_NV = 0x9089
+
+-- Accepted by the <genMode> parameter of PathColorGenNV and
+-- PathTexGenNV:
+gl_PATH_OBJECT_BOUNDING_BOX_NV :: GLenum
+gl_PATH_OBJECT_BOUNDING_BOX_NV = 0x908A
+
+-- Accepted by the <coverMode> parameter of CoverFillPathNV and
+-- CoverFillPathInstancedNV:
+gl_CONVEX_HULL_NV :: GLenum
+gl_CONVEX_HULL_NV = 0x908B
+
+gl_BOUNDING_BOX_NV :: GLenum
+gl_BOUNDING_BOX_NV = 0x908D
+
+-- Accepted by the <transformType> parameter of
+-- StencilFillPathInstancedNV, StencilStrokePathInstancedNV,
+-- CoverFillPathInstancedNV, and CoverStrokePathInstancedNV:
+gl_TRANSLATE_X_NV :: GLenum
+gl_TRANSLATE_X_NV = 0x908E
+
+gl_TRANSLATE_Y_NV :: GLenum
+gl_TRANSLATE_Y_NV = 0x908F
+
+gl_TRANSLATE_2D_NV :: GLenum
+gl_TRANSLATE_2D_NV = 0x9090
+
+gl_TRANSLATE_3D_NV :: GLenum
+gl_TRANSLATE_3D_NV = 0x9091
+
+gl_AFFINE_2D_NV :: GLenum
+gl_AFFINE_2D_NV = 0x9092
+
+gl_AFFINE_3D_NV :: GLenum
+gl_AFFINE_3D_NV = 0x9094
+
+gl_TRANSPOSE_AFFINE_2D_NV :: GLenum
+gl_TRANSPOSE_AFFINE_2D_NV = 0x9096
+
+gl_TRANSPOSE_AFFINE_3D_NV :: GLenum
+gl_TRANSPOSE_AFFINE_3D_NV = 0x9098
+
+-- Accepted by the <type> or <pathNameType> parameter of
+-- StencilFillPathInstancedNV, StencilStrokePathInstancedNV,
+-- CoverFillPathInstancedNV, CoverStrokePathInstancedNV,
+-- GetPathMetricsNV, and GetPathSpacingNV:
+gl_UTF8_NV :: GLenum
+gl_UTF8_NV = 0x909A
+
+gl_UTF16_NV :: GLenum
+gl_UTF16_NV = 0x909B
+
+-- Accepted by the <coverMode> parameter of CoverFillPathInstancedNV:
+gl_BOUNDING_BOX_OF_BOUNDING_BOXES_NV :: GLenum
+gl_BOUNDING_BOX_OF_BOUNDING_BOXES_NV = 0x909C
+
+-- Accepted by the <pname> parameter of GetPathParameterfvNV and
+-- GetPathParameterivNV:
+gl_PATH_COMMAND_COUNT_NV :: GLenum
+gl_PATH_COMMAND_COUNT_NV = 0x909D
+
+gl_PATH_COORD_COUNT_NV :: GLenum
+gl_PATH_COORD_COUNT_NV = 0x909E
+
+gl_PATH_DASH_ARRAY_COUNT_NV :: GLenum
+gl_PATH_DASH_ARRAY_COUNT_NV = 0x909F
+
+gl_PATH_COMPUTED_LENGTH_NV :: GLenum
+gl_PATH_COMPUTED_LENGTH_NV = 0x90A0
+
+gl_PATH_FILL_BOUNDING_BOX_NV :: GLenum
+gl_PATH_FILL_BOUNDING_BOX_NV = 0x90A1
+
+gl_PATH_STROKE_BOUNDING_BOX_NV :: GLenum
+gl_PATH_STROKE_BOUNDING_BOX_NV = 0x90A2
+
+-- Accepted by the <value> parameter of PathParameterfNV,
+-- PathParameterfvNV, PathParameteriNV, and PathParameterivNV
+-- when <pname> is one of PATH_END_CAPS_NV, PATH_INTIAL_END_CAP_NV,
+-- PATH_TERMINAL_END_CAP_NV, PATH_DASH_CAPS_NV, PATH_INITIAL_DASH_CAP_NV,
+-- and PATH_TERMINAL_DASH_CAP_NV:
+gl_SQUARE_NV :: GLint
+gl_SQUARE_NV = 0x90A3
+
+gl_ROUND_NV :: GLint
+gl_ROUND_NV = 0x90A4
+
+gl_TRIANGULAR_NV :: GLint
+gl_TRIANGULAR_NV = 0x90A5
+
+gl_BEVEL_NV :: GLint
+gl_BEVEL_NV = 0x90A6
+
+gl_MITER_REVERT_NV :: GLint
+gl_MITER_REVERT_NV = 0x90A7
+
+gl_MITER_TRUNCATE_NV :: GLint
+gl_MITER_TRUNCATE_NV = 0x90A8
+
+-- Accepted by the <value> parameter of PathParameterfNV,
+-- PathParameterfvNV, PathParameteriNV, and PathParameterivNV when
+-- <pname> is PATH_DASH_OFFSET_RESET_NV
+gl_MOVE_TO_RESETS_NV :: GLint
+gl_MOVE_TO_RESETS_NV = 0x90B5
+
+gl_MOVE_TO_CONTINUES_NV :: GLint
+gl_MOVE_TO_CONTINUES_NV = 0x90B6
+
+-- Accepted by the <fontStyle> parameter of PathStringNV:
+gl_BOLD_BIT_NV :: GLbitfield
+gl_BOLD_BIT_NV = 0x01
+
+gl_ITALIC_BIT_NV :: GLbitfield
+gl_ITALIC_BIT_NV = 0x02
+
+-- Accepted by the <pname> parameter of GetBooleanv, GetIntegerv,
+-- GetInteger64v, GetFloatv, and GetDoublev:
+gl_PATH_ERROR_POSITION_NV :: GLenum
+gl_PATH_ERROR_POSITION_NV = 0x90AB
+
+gl_PATH_FOG_GEN_MODE_NV :: GLenum
+gl_PATH_FOG_GEN_MODE_NV = 0x90AC
+
+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_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_COVER_DEPTH_FUNC_NV :: GLenum
+gl_PATH_COVER_DEPTH_FUNC_NV = 0x90BF
+
+-- Accepted as a bit within the <metricQueryMask> parameter of
+-- GetPathMetricRangeNV or GetPathMetricsNV:
+gl_GLYPH_WIDTH_BIT_NV :: GLbitfield
+gl_GLYPH_WIDTH_BIT_NV = 0x01
+
+gl_GLYPH_HEIGHT_BIT_NV :: GLbitfield
+gl_GLYPH_HEIGHT_BIT_NV = 0x02
+
+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_HORIZONTAL_BEARING_ADVANCE_BIT_NV :: GLbitfield
+gl_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV = 0x10
+
+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_VERTICAL_BEARING_ADVANCE_BIT_NV :: GLbitfield
+gl_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV = 0x80
+
+gl_GLYPH_HAS_KERNING_BIT_NV :: GLbitfield
+gl_GLYPH_HAS_KERNING_BIT_NV = 0x100
+
+gl_FONT_X_MIN_BOUNDS_BIT_NV :: GLbitfield
+gl_FONT_X_MIN_BOUNDS_BIT_NV = 0x00010000
+
+gl_FONT_Y_MIN_BOUNDS_BIT_NV :: GLbitfield
+gl_FONT_Y_MIN_BOUNDS_BIT_NV = 0x00020000
+
+gl_FONT_X_MAX_BOUNDS_BIT_NV :: GLbitfield
+gl_FONT_X_MAX_BOUNDS_BIT_NV = 0x00040000
+
+gl_FONT_Y_MAX_BOUNDS_BIT_NV :: GLbitfield
+gl_FONT_Y_MAX_BOUNDS_BIT_NV = 0x00080000
+
+gl_FONT_UNITS_PER_EM_BIT_NV :: GLbitfield
+gl_FONT_UNITS_PER_EM_BIT_NV = 0x00100000
+
+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_HEIGHT_BIT_NV :: GLbitfield
+gl_FONT_HEIGHT_BIT_NV = 0x00800000
+
+gl_FONT_MAX_ADVANCE_WIDTH_BIT_NV :: GLbitfield
+gl_FONT_MAX_ADVANCE_WIDTH_BIT_NV = 0x01000000
+
+gl_FONT_MAX_ADVANCE_HEIGHT_BIT_NV :: GLbitfield
+gl_FONT_MAX_ADVANCE_HEIGHT_BIT_NV = 0x02000000
+
+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_HAS_KERNING_BIT_NV :: GLbitfield
+gl_FONT_HAS_KERNING_BIT_NV = 0x10000000
+
+-- Accepted by the <pathListMode> parameter of GetPathSpacingNV:
+gl_ACCUM_ADJACENT_PAIRS_NV :: GLenum
+gl_ACCUM_ADJACENT_PAIRS_NV = 0x90AD
+
+gl_ADJACENT_PAIRS_NV :: GLenum
+gl_ADJACENT_PAIRS_NV = 0x90AE
+
+gl_FIRST_TO_REST_NV :: GLenum
+gl_FIRST_TO_REST_NV = 0x90AF
+
+-- Accepted by the <pname> parameter of GetPathColorGenivNV,
+-- GetPathColorGenfvNV, GetPathTexGenivNV and GetPathTexGenfvNV:
+gl_PATH_GEN_MODE_NV :: GLenum
+gl_PATH_GEN_MODE_NV = 0x90B0
+
+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
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/PixelDataRange.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/PixelDataRange.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/PixelDataRange.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/PixelDataRange.hs
@@ -1,44 +1,44 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.PixelDataRange
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All tokens from the NV_pixel_data_range extension, see
--- <http://www.opengl.org/registry/specs/NV/pixel_data_range.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.PixelDataRange (
-   -- * Tokens
-   gl_WRITE_PIXEL_DATA_RANGE,
-   gl_READ_PIXEL_DATA_RANGE,
-   gl_WRITE_PIXEL_DATA_RANGE_LENGTH,
-   gl_READ_PIXEL_DATA_RANGE_LENGTH,
-   gl_WRITE_PIXEL_DATA_RANGE_POINTER,
-   gl_READ_PIXEL_DATA_RANGE_POINTER
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core32
-
-gl_WRITE_PIXEL_DATA_RANGE :: GLenum
-gl_WRITE_PIXEL_DATA_RANGE = 0x8878
-
-gl_READ_PIXEL_DATA_RANGE :: GLenum
-gl_READ_PIXEL_DATA_RANGE = 0x8879
-
-gl_WRITE_PIXEL_DATA_RANGE_LENGTH :: GLenum
-gl_WRITE_PIXEL_DATA_RANGE_LENGTH = 0x887A
-
-gl_READ_PIXEL_DATA_RANGE_LENGTH :: GLenum
-gl_READ_PIXEL_DATA_RANGE_LENGTH = 0x887B
-
-gl_WRITE_PIXEL_DATA_RANGE_POINTER :: GLenum
-gl_WRITE_PIXEL_DATA_RANGE_POINTER = 0x887C
-
-gl_READ_PIXEL_DATA_RANGE_POINTER :: GLenum
-gl_READ_PIXEL_DATA_RANGE_POINTER = 0x887D
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.NV.PixelDataRange
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All tokens from the NV_pixel_data_range extension, see
+-- <http://www.opengl.org/registry/specs/NV/pixel_data_range.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.NV.PixelDataRange (
+   -- * Tokens
+   gl_WRITE_PIXEL_DATA_RANGE,
+   gl_READ_PIXEL_DATA_RANGE,
+   gl_WRITE_PIXEL_DATA_RANGE_LENGTH,
+   gl_READ_PIXEL_DATA_RANGE_LENGTH,
+   gl_WRITE_PIXEL_DATA_RANGE_POINTER,
+   gl_READ_PIXEL_DATA_RANGE_POINTER
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
+
+gl_WRITE_PIXEL_DATA_RANGE :: GLenum
+gl_WRITE_PIXEL_DATA_RANGE = 0x8878
+
+gl_READ_PIXEL_DATA_RANGE :: GLenum
+gl_READ_PIXEL_DATA_RANGE = 0x8879
+
+gl_WRITE_PIXEL_DATA_RANGE_LENGTH :: GLenum
+gl_WRITE_PIXEL_DATA_RANGE_LENGTH = 0x887A
+
+gl_READ_PIXEL_DATA_RANGE_LENGTH :: GLenum
+gl_READ_PIXEL_DATA_RANGE_LENGTH = 0x887B
+
+gl_WRITE_PIXEL_DATA_RANGE_POINTER :: GLenum
+gl_WRITE_PIXEL_DATA_RANGE_POINTER = 0x887C
+
+gl_READ_PIXEL_DATA_RANGE_POINTER :: GLenum
+gl_READ_PIXEL_DATA_RANGE_POINTER = 0x887D
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/PointSprite.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/PointSprite.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/PointSprite.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/PointSprite.hs
@@ -1,28 +1,28 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.PointSprite
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All tokens from the NV_point_sprite, see
--- <http://www.opengl.org/registry/specs/NV/point_sprite.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.PointSprite (
-   -- * Tokens
-   gl_POINT_SPRITE,
-   gl_COORD_REPLACE,
-   gl_POINT_SPRITE_R_MODE
-
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
-import Graphics.Rendering.OpenGL.Raw.Core32
-
-gl_POINT_SPRITE_R_MODE :: GLenum
-gl_POINT_SPRITE_R_MODE = 0x8863
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.NV.PointSprite
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All tokens from the NV_point_sprite, see
+-- <http://www.opengl.org/registry/specs/NV/point_sprite.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.NV.PointSprite (
+   -- * Tokens
+   gl_POINT_SPRITE,
+   gl_COORD_REPLACE,
+   gl_POINT_SPRITE_R_MODE
+
+) where
+
+import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
+import Graphics.Rendering.OpenGL.Raw.Core32
+
+gl_POINT_SPRITE_R_MODE :: GLenum
+gl_POINT_SPRITE_R_MODE = 0x8863
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/PresentVideo.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/PresentVideo.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/PresentVideo.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/PresentVideo.hs
@@ -1,67 +1,67 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.PresentVideo
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the NV_present_video extension, see
--- <http://www.opengl.org/registry/specs/NV/present_video.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.PresentVideo (
-   -- * Functions
-   glPresentFrameKeyed,
-   glPresentFrameDualFill,
-   glGetVideoiv,
-   glGetVideouiv,
-   glGetVideoi64v,
-   glGetVideoui64v,
-   -- * Tokens
-   gl_FRAME,
-   gl_FIELDS,
-   gl_CURRENT_TIME,
-   gl_NUM_FILL_STREAMS,
-   gl_PRESENT_TIME,
-   gl_PRESENT_DURATION
-) where
-
-import Foreign.Ptr
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core32
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_NV_present_video"
-
-EXTENSION_ENTRY(glPresentFrameKeyed,GLuint -> GLuint64 -> GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> GLuint -> GLenum -> GLuint -> GLuint -> IO ())
-EXTENSION_ENTRY(glPresentFrameDualFill,GLuint -> GLuint64 -> GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> IO ())
-EXTENSION_ENTRY(glGetVideoiv,GLuint -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glGetVideouiv,GLuint -> GLenum -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glGetVideoi64v,GLuint -> GLenum -> Ptr GLint64 -> IO ())
-EXTENSION_ENTRY(glGetVideoui64v,GLuint -> GLenum -> Ptr GLuint64 -> IO ())
-
-gl_FRAME :: GLenum
-gl_FRAME = 0x8E26
-
-gl_FIELDS :: GLenum
-gl_FIELDS = 0x8E27
-
-gl_CURRENT_TIME :: GLenum
-gl_CURRENT_TIME = 0x8E28
-
-gl_NUM_FILL_STREAMS :: GLenum
-gl_NUM_FILL_STREAMS = 0x8E29
-
-gl_PRESENT_TIME :: GLenum
-gl_PRESENT_TIME = 0x8E2A
-
-gl_PRESENT_DURATION :: GLenum
-gl_PRESENT_DURATION = 0x8E2B
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.NV.PresentVideo
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the NV_present_video extension, see
+-- <http://www.opengl.org/registry/specs/NV/present_video.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.NV.PresentVideo (
+   -- * Functions
+   glPresentFrameKeyed,
+   glPresentFrameDualFill,
+   glGetVideoiv,
+   glGetVideouiv,
+   glGetVideoi64v,
+   glGetVideoui64v,
+   -- * Tokens
+   gl_FRAME,
+   gl_FIELDS,
+   gl_CURRENT_TIME,
+   gl_NUM_FILL_STREAMS,
+   gl_PRESENT_TIME,
+   gl_PRESENT_DURATION
+) where
+
+import Foreign.Ptr
+import Foreign.C.Types
+import Graphics.Rendering.OpenGL.Raw.Core32
+import Graphics.Rendering.OpenGL.Raw.Extensions
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_NV_present_video"
+
+EXTENSION_ENTRY(dyn_glPresentFrameKeyed,ptr_glPresentFrameKeyed,"glPresentFrameKeyed",glPresentFrameKeyed,GLuint -> GLuint64 -> GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> GLuint -> GLenum -> GLuint -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glPresentFrameDualFill,ptr_glPresentFrameDualFill,"glPresentFrameDualFill",glPresentFrameDualFill,GLuint -> GLuint64 -> GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glGetVideoiv,ptr_glGetVideoiv,"glGetVideoiv",glGetVideoiv,GLuint -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glGetVideouiv,ptr_glGetVideouiv,"glGetVideouiv",glGetVideouiv,GLuint -> GLenum -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glGetVideoi64v,ptr_glGetVideoi64v,"glGetVideoi64v",glGetVideoi64v,GLuint -> GLenum -> Ptr GLint64 -> IO ())
+EXTENSION_ENTRY(dyn_glGetVideoui64v,ptr_glGetVideoui64v,"glGetVideoui64v",glGetVideoui64v,GLuint -> GLenum -> Ptr GLuint64 -> IO ())
+
+gl_FRAME :: GLenum
+gl_FRAME = 0x8E26
+
+gl_FIELDS :: GLenum
+gl_FIELDS = 0x8E27
+
+gl_CURRENT_TIME :: GLenum
+gl_CURRENT_TIME = 0x8E28
+
+gl_NUM_FILL_STREAMS :: GLenum
+gl_NUM_FILL_STREAMS = 0x8E29
+
+gl_PRESENT_TIME :: GLenum
+gl_PRESENT_TIME = 0x8E2A
+
+gl_PRESENT_DURATION :: GLenum
+gl_PRESENT_DURATION = 0x8E2B
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/PrimitiveRestart.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/PrimitiveRestart.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/PrimitiveRestart.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/PrimitiveRestart.hs
@@ -1,45 +1,45 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.PrimitiveRestart
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the NV_primitive_restart extension not
--- already in the OpenGL 3.1 core, see
--- <http://www.opengl.org/registry/specs/NV/primitive_restart.txt>.
--- NOTE: The OpenGL 3.1 core has some functions and tokens with the same names,
--- but with different semantics and values, so we use a suffix in those cases.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.PrimitiveRestart (
-   -- * Functions
-   glPrimitiveRestart,
-   glPrimitiveRestartIndexNV,
-   -- * Tokens
-   gl_PRIMITIVE_RESTART_NV,
-   gl_PRIMITIVE_RESTART_INDEX_NV
-) where
-
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_NV_primitive_restart"
-
-EXTENSION_ENTRY(glPrimitiveRestart, IO ())
-EXTENSION_ENTRY(glPrimitiveRestartIndexNV,GLuint -> IO ())
-
-gl_PRIMITIVE_RESTART_NV :: GLenum
-gl_PRIMITIVE_RESTART_NV = 0x8558
-
-gl_PRIMITIVE_RESTART_INDEX_NV :: GLenum
-gl_PRIMITIVE_RESTART_INDEX_NV = 0x8559
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.NV.PrimitiveRestart
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the NV_primitive_restart extension not
+-- already in the OpenGL 3.1 core, see
+-- <http://www.opengl.org/registry/specs/NV/primitive_restart.txt>.
+-- NOTE: The OpenGL 3.1 core has some functions and tokens with the same names,
+-- but with different semantics and values, so we use a suffix in those cases.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.NV.PrimitiveRestart (
+   -- * Functions
+   glPrimitiveRestart,
+   glPrimitiveRestartIndexNV,
+   -- * Tokens
+   gl_PRIMITIVE_RESTART_NV,
+   gl_PRIMITIVE_RESTART_INDEX_NV
+) where
+
+import Foreign.C.Types
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+import Graphics.Rendering.OpenGL.Raw.Extensions
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_NV_primitive_restart"
+
+EXTENSION_ENTRY(dyn_glPrimitiveRestart,ptr_glPrimitiveRestart,"glPrimitiveRestart",glPrimitiveRestart, IO ())
+EXTENSION_ENTRY(dyn_glPrimitiveRestartIndexNV,ptr_glPrimitiveRestartIndexNV,"glPrimitiveRestartIndexNV",glPrimitiveRestartIndexNV,GLuint -> IO ())
+
+gl_PRIMITIVE_RESTART_NV :: GLenum
+gl_PRIMITIVE_RESTART_NV = 0x8558
+
+gl_PRIMITIVE_RESTART_INDEX_NV :: GLenum
+gl_PRIMITIVE_RESTART_INDEX_NV = 0x8559
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/RegisterCombiners.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/RegisterCombiners.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/RegisterCombiners.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/RegisterCombiners.hs
@@ -1,266 +1,266 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.RegisterCombiners
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the NV_register_combiners extension not
--- already in the OpenGL 3.1 core, see
--- <http://www.opengl.org/registry/specs/NV/register_combiners.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.RegisterCombiners (
-   -- * Functions
-   glCombinerParameterfv,
-   glCombinerParameteriv,
-   glCombinerParameterf,
-   glCombinerParameteri,
-   glCombinerInput,
-   glCombinerOutput,
-   glFinalCombinerInput,
-   glGetCombinerInputParameterfv,
-   glGetCombinerInputParameteriv,
-   glGetCombinerOutputParameterfv,
-   glGetCombinerOutputParameteriv,
-   glGetFinalCombinerInputParameterfv,
-   glGetFinalCombinerInputParameteriv,
-   -- * Tokens
-   gl_REGISTER_COMBINERS,
-   gl_COMBINER0,
-   gl_COMBINER1,
-   gl_COMBINER2,
-   gl_COMBINER3,
-   gl_COMBINER4,
-   gl_COMBINER5,
-   gl_COMBINER6,
-   gl_COMBINER7,
-   gl_VARIABLE_A,
-   gl_VARIABLE_B,
-   gl_VARIABLE_C,
-   gl_VARIABLE_D,
-   gl_VARIABLE_E,
-   gl_VARIABLE_F,
-   gl_VARIABLE_G,
-   gl_CONSTANT_COLOR0,
-   gl_CONSTANT_COLOR1,
-   gl_FOG,
-   gl_PRIMARY_COLOR_NV,
-   gl_SECONDARY_COLOR,
-   gl_SPARE0,
-   gl_SPARE1,
-   gl_UNSIGNED_IDENTITY,
-   gl_UNSIGNED_INVERT,
-   gl_EXPAND_NORMAL,
-   gl_EXPAND_NEGATE,
-   gl_HALF_BIAS_NORMAL,
-   gl_HALF_BIAS_NEGATE,
-   gl_SIGNED_IDENTITY,
-   gl_SIGNED_NEGATE,
-   gl_E_TIMES_F,
-   gl_SPARE0_PLUS_SECONDARY_COLOR,
-   gl_SCALE_BY_TWO,
-   gl_SCALE_BY_FOUR,
-   gl_SCALE_BY_ONE_HALF,
-   gl_BIAS_BY_NEGATIVE_ONE_HALF,
-   gl_DISCARD,
-   gl_COMBINER_INPUT,
-   gl_COMBINER_MAPPING,
-   gl_COMBINER_COMPONENT_USAGE,
-   gl_COMBINER_AB_DOT_PRODUCT,
-   gl_COMBINER_CD_DOT_PRODUCT,
-   gl_COMBINER_MUX_SUM,
-   gl_COMBINER_SCALE,
-   gl_COMBINER_BIAS,
-   gl_COMBINER_AB_OUTPUT,
-   gl_COMBINER_CD_OUTPUT,
-   gl_COMBINER_SUM_OUTPUT,
-   gl_NUM_GENERAL_COMBINERS,
-   gl_COLOR_SUM_CLAMP,
-   gl_MAX_GENERAL_COMBINERS
-) where
-
-import Foreign.Ptr
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_NV_register_combiners"
-
-EXTENSION_ENTRY(glCombinerParameterfv,GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glCombinerParameteriv,GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glCombinerParameterf,GLenum -> GLfloat -> IO ())
-EXTENSION_ENTRY(glCombinerParameteri,GLenum -> GLint -> IO ())
-EXTENSION_ENTRY(glCombinerInput,GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-EXTENSION_ENTRY(glCombinerOutput,GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLboolean -> GLboolean -> GLboolean -> IO ())
-EXTENSION_ENTRY(glFinalCombinerInput,GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-EXTENSION_ENTRY(glGetCombinerInputParameterfv,GLenum -> GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glGetCombinerInputParameteriv,GLenum -> GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glGetCombinerOutputParameterfv,GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glGetCombinerOutputParameteriv,GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glGetFinalCombinerInputParameterfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glGetFinalCombinerInputParameteriv,GLenum -> GLenum -> Ptr GLint -> IO ())
-
-gl_REGISTER_COMBINERS :: GLenum
-gl_REGISTER_COMBINERS = 0x8522
-
-gl_COMBINER0 :: GLenum
-gl_COMBINER0 = 0x8550
-
-gl_COMBINER1 :: GLenum
-gl_COMBINER1 = 0x8551
-
-gl_COMBINER2 :: GLenum
-gl_COMBINER2 = 0x8552
-
-gl_COMBINER3 :: GLenum
-gl_COMBINER3 = 0x8553
-
-gl_COMBINER4 :: GLenum
-gl_COMBINER4 = 0x8554
-
-gl_COMBINER5 :: GLenum
-gl_COMBINER5 = 0x8555
-
-gl_COMBINER6 :: GLenum
-gl_COMBINER6 = 0x8556
-
-gl_COMBINER7 :: GLenum
-gl_COMBINER7 = 0x8557
-
-gl_VARIABLE_A :: GLenum
-gl_VARIABLE_A = 0x8523
-
-gl_VARIABLE_B :: GLenum
-gl_VARIABLE_B = 0x8524
-
-gl_VARIABLE_C :: GLenum
-gl_VARIABLE_C = 0x8525
-
-gl_VARIABLE_D :: GLenum
-gl_VARIABLE_D = 0x8526
-
-gl_VARIABLE_E :: GLenum
-gl_VARIABLE_E = 0x8527
-
-gl_VARIABLE_F :: GLenum
-gl_VARIABLE_F = 0x8528
-
-gl_VARIABLE_G :: GLenum
-gl_VARIABLE_G = 0x8529
-
-gl_CONSTANT_COLOR0 :: GLenum
-gl_CONSTANT_COLOR0 = 0x852A
-
-gl_CONSTANT_COLOR1 :: GLenum
-gl_CONSTANT_COLOR1 = 0x852B
-
--- | NOTE: ARB_compatibility has the same token with a different value, so we
--- use a suffix here.
-gl_PRIMARY_COLOR_NV :: GLenum
-gl_PRIMARY_COLOR_NV = 0x852C
-
-gl_SECONDARY_COLOR :: GLenum
-gl_SECONDARY_COLOR = 0x852D
-
-gl_SPARE0 :: GLenum
-gl_SPARE0 = 0x852E
-
-gl_SPARE1 :: GLenum
-gl_SPARE1 = 0x852F
-
-gl_UNSIGNED_IDENTITY :: GLenum
-gl_UNSIGNED_IDENTITY = 0x8536
-
-gl_UNSIGNED_INVERT :: GLenum
-gl_UNSIGNED_INVERT = 0x8537
-
-gl_EXPAND_NORMAL :: GLenum
-gl_EXPAND_NORMAL = 0x8538
-
-gl_EXPAND_NEGATE :: GLenum
-gl_EXPAND_NEGATE = 0x8539
-
-gl_HALF_BIAS_NORMAL :: GLenum
-gl_HALF_BIAS_NORMAL = 0x853A
-
-gl_HALF_BIAS_NEGATE :: GLenum
-gl_HALF_BIAS_NEGATE = 0x853B
-
-gl_SIGNED_IDENTITY :: GLenum
-gl_SIGNED_IDENTITY = 0x853C
-
-gl_SIGNED_NEGATE :: GLenum
-gl_SIGNED_NEGATE = 0x853D
-
-gl_E_TIMES_F :: GLenum
-gl_E_TIMES_F = 0x8531
-
-gl_SPARE0_PLUS_SECONDARY_COLOR :: GLenum
-gl_SPARE0_PLUS_SECONDARY_COLOR = 0x8532
-
-gl_SCALE_BY_TWO :: GLenum
-gl_SCALE_BY_TWO = 0x853E
-
-gl_SCALE_BY_FOUR :: GLenum
-gl_SCALE_BY_FOUR = 0x853F
-
-gl_SCALE_BY_ONE_HALF :: GLenum
-gl_SCALE_BY_ONE_HALF = 0x8540
-
-gl_BIAS_BY_NEGATIVE_ONE_HALF :: GLenum
-gl_BIAS_BY_NEGATIVE_ONE_HALF = 0x8541
-
-gl_DISCARD :: GLenum
-gl_DISCARD = 0x8530
-
-gl_COMBINER_INPUT :: GLenum
-gl_COMBINER_INPUT = 0x8542
-
-gl_COMBINER_MAPPING :: GLenum
-gl_COMBINER_MAPPING = 0x8543
-
-gl_COMBINER_COMPONENT_USAGE :: GLenum
-gl_COMBINER_COMPONENT_USAGE = 0x8544
-
-gl_COMBINER_AB_DOT_PRODUCT :: GLenum
-gl_COMBINER_AB_DOT_PRODUCT = 0x8545
-
-gl_COMBINER_CD_DOT_PRODUCT :: GLenum
-gl_COMBINER_CD_DOT_PRODUCT = 0x8546
-
-gl_COMBINER_MUX_SUM :: GLenum
-gl_COMBINER_MUX_SUM = 0x8547
-
-gl_COMBINER_SCALE :: GLenum
-gl_COMBINER_SCALE = 0x8548
-
-gl_COMBINER_BIAS :: GLenum
-gl_COMBINER_BIAS = 0x8549
-
-gl_COMBINER_AB_OUTPUT :: GLenum
-gl_COMBINER_AB_OUTPUT = 0x854A
-
-gl_COMBINER_CD_OUTPUT :: GLenum
-gl_COMBINER_CD_OUTPUT = 0x854B
-
-gl_COMBINER_SUM_OUTPUT :: GLenum
-gl_COMBINER_SUM_OUTPUT = 0x854C
-
-gl_NUM_GENERAL_COMBINERS :: GLenum
-gl_NUM_GENERAL_COMBINERS = 0x854E
-
-gl_COLOR_SUM_CLAMP :: GLenum
-gl_COLOR_SUM_CLAMP = 0x854F
-
-gl_MAX_GENERAL_COMBINERS :: GLenum
-gl_MAX_GENERAL_COMBINERS = 0x854D
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.NV.RegisterCombiners
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the NV_register_combiners extension not
+-- already in the OpenGL 3.1 core, see
+-- <http://www.opengl.org/registry/specs/NV/register_combiners.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.NV.RegisterCombiners (
+   -- * Functions
+   glCombinerParameterfv,
+   glCombinerParameteriv,
+   glCombinerParameterf,
+   glCombinerParameteri,
+   glCombinerInput,
+   glCombinerOutput,
+   glFinalCombinerInput,
+   glGetCombinerInputParameterfv,
+   glGetCombinerInputParameteriv,
+   glGetCombinerOutputParameterfv,
+   glGetCombinerOutputParameteriv,
+   glGetFinalCombinerInputParameterfv,
+   glGetFinalCombinerInputParameteriv,
+   -- * Tokens
+   gl_REGISTER_COMBINERS,
+   gl_COMBINER0,
+   gl_COMBINER1,
+   gl_COMBINER2,
+   gl_COMBINER3,
+   gl_COMBINER4,
+   gl_COMBINER5,
+   gl_COMBINER6,
+   gl_COMBINER7,
+   gl_VARIABLE_A,
+   gl_VARIABLE_B,
+   gl_VARIABLE_C,
+   gl_VARIABLE_D,
+   gl_VARIABLE_E,
+   gl_VARIABLE_F,
+   gl_VARIABLE_G,
+   gl_CONSTANT_COLOR0,
+   gl_CONSTANT_COLOR1,
+   gl_FOG,
+   gl_PRIMARY_COLOR_NV,
+   gl_SECONDARY_COLOR,
+   gl_SPARE0,
+   gl_SPARE1,
+   gl_UNSIGNED_IDENTITY,
+   gl_UNSIGNED_INVERT,
+   gl_EXPAND_NORMAL,
+   gl_EXPAND_NEGATE,
+   gl_HALF_BIAS_NORMAL,
+   gl_HALF_BIAS_NEGATE,
+   gl_SIGNED_IDENTITY,
+   gl_SIGNED_NEGATE,
+   gl_E_TIMES_F,
+   gl_SPARE0_PLUS_SECONDARY_COLOR,
+   gl_SCALE_BY_TWO,
+   gl_SCALE_BY_FOUR,
+   gl_SCALE_BY_ONE_HALF,
+   gl_BIAS_BY_NEGATIVE_ONE_HALF,
+   gl_DISCARD,
+   gl_COMBINER_INPUT,
+   gl_COMBINER_MAPPING,
+   gl_COMBINER_COMPONENT_USAGE,
+   gl_COMBINER_AB_DOT_PRODUCT,
+   gl_COMBINER_CD_DOT_PRODUCT,
+   gl_COMBINER_MUX_SUM,
+   gl_COMBINER_SCALE,
+   gl_COMBINER_BIAS,
+   gl_COMBINER_AB_OUTPUT,
+   gl_COMBINER_CD_OUTPUT,
+   gl_COMBINER_SUM_OUTPUT,
+   gl_NUM_GENERAL_COMBINERS,
+   gl_COLOR_SUM_CLAMP,
+   gl_MAX_GENERAL_COMBINERS
+) where
+
+import Foreign.Ptr
+import Foreign.C.Types
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
+import Graphics.Rendering.OpenGL.Raw.Extensions
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_NV_register_combiners"
+
+EXTENSION_ENTRY(dyn_glCombinerParameterfv,ptr_glCombinerParameterfv,"glCombinerParameterfv",glCombinerParameterfv,GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glCombinerParameteriv,ptr_glCombinerParameteriv,"glCombinerParameteriv",glCombinerParameteriv,GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glCombinerParameterf,ptr_glCombinerParameterf,"glCombinerParameterf",glCombinerParameterf,GLenum -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glCombinerParameteri,ptr_glCombinerParameteri,"glCombinerParameteri",glCombinerParameteri,GLenum -> GLint -> IO ())
+EXTENSION_ENTRY(dyn_glCombinerInput,ptr_glCombinerInput,"glCombinerInput",glCombinerInput,GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glCombinerOutput,ptr_glCombinerOutput,"glCombinerOutput",glCombinerOutput,GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLboolean -> GLboolean -> GLboolean -> IO ())
+EXTENSION_ENTRY(dyn_glFinalCombinerInput,ptr_glFinalCombinerInput,"glFinalCombinerInput",glFinalCombinerInput,GLenum -> GLenum -> GLenum -> GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glGetCombinerInputParameterfv,ptr_glGetCombinerInputParameterfv,"glGetCombinerInputParameterfv",glGetCombinerInputParameterfv,GLenum -> GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glGetCombinerInputParameteriv,ptr_glGetCombinerInputParameteriv,"glGetCombinerInputParameteriv",glGetCombinerInputParameteriv,GLenum -> GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glGetCombinerOutputParameterfv,ptr_glGetCombinerOutputParameterfv,"glGetCombinerOutputParameterfv",glGetCombinerOutputParameterfv,GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glGetCombinerOutputParameteriv,ptr_glGetCombinerOutputParameteriv,"glGetCombinerOutputParameteriv",glGetCombinerOutputParameteriv,GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glGetFinalCombinerInputParameterfv,ptr_glGetFinalCombinerInputParameterfv,"glGetFinalCombinerInputParameterfv",glGetFinalCombinerInputParameterfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glGetFinalCombinerInputParameteriv,ptr_glGetFinalCombinerInputParameteriv,"glGetFinalCombinerInputParameteriv",glGetFinalCombinerInputParameteriv,GLenum -> GLenum -> Ptr GLint -> IO ())
+
+gl_REGISTER_COMBINERS :: GLenum
+gl_REGISTER_COMBINERS = 0x8522
+
+gl_COMBINER0 :: GLenum
+gl_COMBINER0 = 0x8550
+
+gl_COMBINER1 :: GLenum
+gl_COMBINER1 = 0x8551
+
+gl_COMBINER2 :: GLenum
+gl_COMBINER2 = 0x8552
+
+gl_COMBINER3 :: GLenum
+gl_COMBINER3 = 0x8553
+
+gl_COMBINER4 :: GLenum
+gl_COMBINER4 = 0x8554
+
+gl_COMBINER5 :: GLenum
+gl_COMBINER5 = 0x8555
+
+gl_COMBINER6 :: GLenum
+gl_COMBINER6 = 0x8556
+
+gl_COMBINER7 :: GLenum
+gl_COMBINER7 = 0x8557
+
+gl_VARIABLE_A :: GLenum
+gl_VARIABLE_A = 0x8523
+
+gl_VARIABLE_B :: GLenum
+gl_VARIABLE_B = 0x8524
+
+gl_VARIABLE_C :: GLenum
+gl_VARIABLE_C = 0x8525
+
+gl_VARIABLE_D :: GLenum
+gl_VARIABLE_D = 0x8526
+
+gl_VARIABLE_E :: GLenum
+gl_VARIABLE_E = 0x8527
+
+gl_VARIABLE_F :: GLenum
+gl_VARIABLE_F = 0x8528
+
+gl_VARIABLE_G :: GLenum
+gl_VARIABLE_G = 0x8529
+
+gl_CONSTANT_COLOR0 :: GLenum
+gl_CONSTANT_COLOR0 = 0x852A
+
+gl_CONSTANT_COLOR1 :: GLenum
+gl_CONSTANT_COLOR1 = 0x852B
+
+-- | NOTE: ARB_compatibility has the same token with a different value, so we
+-- use a suffix here.
+gl_PRIMARY_COLOR_NV :: GLenum
+gl_PRIMARY_COLOR_NV = 0x852C
+
+gl_SECONDARY_COLOR :: GLenum
+gl_SECONDARY_COLOR = 0x852D
+
+gl_SPARE0 :: GLenum
+gl_SPARE0 = 0x852E
+
+gl_SPARE1 :: GLenum
+gl_SPARE1 = 0x852F
+
+gl_UNSIGNED_IDENTITY :: GLenum
+gl_UNSIGNED_IDENTITY = 0x8536
+
+gl_UNSIGNED_INVERT :: GLenum
+gl_UNSIGNED_INVERT = 0x8537
+
+gl_EXPAND_NORMAL :: GLenum
+gl_EXPAND_NORMAL = 0x8538
+
+gl_EXPAND_NEGATE :: GLenum
+gl_EXPAND_NEGATE = 0x8539
+
+gl_HALF_BIAS_NORMAL :: GLenum
+gl_HALF_BIAS_NORMAL = 0x853A
+
+gl_HALF_BIAS_NEGATE :: GLenum
+gl_HALF_BIAS_NEGATE = 0x853B
+
+gl_SIGNED_IDENTITY :: GLenum
+gl_SIGNED_IDENTITY = 0x853C
+
+gl_SIGNED_NEGATE :: GLenum
+gl_SIGNED_NEGATE = 0x853D
+
+gl_E_TIMES_F :: GLenum
+gl_E_TIMES_F = 0x8531
+
+gl_SPARE0_PLUS_SECONDARY_COLOR :: GLenum
+gl_SPARE0_PLUS_SECONDARY_COLOR = 0x8532
+
+gl_SCALE_BY_TWO :: GLenum
+gl_SCALE_BY_TWO = 0x853E
+
+gl_SCALE_BY_FOUR :: GLenum
+gl_SCALE_BY_FOUR = 0x853F
+
+gl_SCALE_BY_ONE_HALF :: GLenum
+gl_SCALE_BY_ONE_HALF = 0x8540
+
+gl_BIAS_BY_NEGATIVE_ONE_HALF :: GLenum
+gl_BIAS_BY_NEGATIVE_ONE_HALF = 0x8541
+
+gl_DISCARD :: GLenum
+gl_DISCARD = 0x8530
+
+gl_COMBINER_INPUT :: GLenum
+gl_COMBINER_INPUT = 0x8542
+
+gl_COMBINER_MAPPING :: GLenum
+gl_COMBINER_MAPPING = 0x8543
+
+gl_COMBINER_COMPONENT_USAGE :: GLenum
+gl_COMBINER_COMPONENT_USAGE = 0x8544
+
+gl_COMBINER_AB_DOT_PRODUCT :: GLenum
+gl_COMBINER_AB_DOT_PRODUCT = 0x8545
+
+gl_COMBINER_CD_DOT_PRODUCT :: GLenum
+gl_COMBINER_CD_DOT_PRODUCT = 0x8546
+
+gl_COMBINER_MUX_SUM :: GLenum
+gl_COMBINER_MUX_SUM = 0x8547
+
+gl_COMBINER_SCALE :: GLenum
+gl_COMBINER_SCALE = 0x8548
+
+gl_COMBINER_BIAS :: GLenum
+gl_COMBINER_BIAS = 0x8549
+
+gl_COMBINER_AB_OUTPUT :: GLenum
+gl_COMBINER_AB_OUTPUT = 0x854A
+
+gl_COMBINER_CD_OUTPUT :: GLenum
+gl_COMBINER_CD_OUTPUT = 0x854B
+
+gl_COMBINER_SUM_OUTPUT :: GLenum
+gl_COMBINER_SUM_OUTPUT = 0x854C
+
+gl_NUM_GENERAL_COMBINERS :: GLenum
+gl_NUM_GENERAL_COMBINERS = 0x854E
+
+gl_COLOR_SUM_CLAMP :: GLenum
+gl_COLOR_SUM_CLAMP = 0x854F
+
+gl_MAX_GENERAL_COMBINERS :: GLenum
+gl_MAX_GENERAL_COMBINERS = 0x854D
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/RegisterCombiners2.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/RegisterCombiners2.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/RegisterCombiners2.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/RegisterCombiners2.hs
@@ -1,51 +1,51 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.RegisterCombiners2
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the NV_register_combiners2 extension not
--- already in the OpenGL 3.1 core, see
--- <http://www.opengl.org/registry/specs/NV/register_combiners2.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.RegisterCombiners2 (
-   -- * Functions
-   glCombinerStageParameterfv,
-   glGetCombinerStageParameterfv,
-   -- * Tokens
-   gl_PER_STAGE_CONSTANTS,
-   gl_CONSTANT_COLOR0,
-   gl_CONSTANT_COLOR1,
-   gl_COMBINER0,
-   gl_COMBINER1,
-   gl_COMBINER2,
-   gl_COMBINER3,
-   gl_COMBINER4,
-   gl_COMBINER5,
-   gl_COMBINER6,
-   gl_COMBINER7
-) where
-
-import Foreign.Ptr
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
-import Graphics.Rendering.OpenGL.Raw.NV.RegisterCombiners
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_NV_register_combiners2"
-
-EXTENSION_ENTRY(glCombinerStageParameterfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glGetCombinerStageParameterfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
-
-gl_PER_STAGE_CONSTANTS :: GLenum
-gl_PER_STAGE_CONSTANTS = 0x8535
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.NV.RegisterCombiners2
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the NV_register_combiners2 extension not
+-- already in the OpenGL 3.1 core, see
+-- <http://www.opengl.org/registry/specs/NV/register_combiners2.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.NV.RegisterCombiners2 (
+   -- * Functions
+   glCombinerStageParameterfv,
+   glGetCombinerStageParameterfv,
+   -- * Tokens
+   gl_PER_STAGE_CONSTANTS,
+   gl_CONSTANT_COLOR0,
+   gl_CONSTANT_COLOR1,
+   gl_COMBINER0,
+   gl_COMBINER1,
+   gl_COMBINER2,
+   gl_COMBINER3,
+   gl_COMBINER4,
+   gl_COMBINER5,
+   gl_COMBINER6,
+   gl_COMBINER7
+) where
+
+import Foreign.Ptr
+import Foreign.C.Types
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+import Graphics.Rendering.OpenGL.Raw.Extensions
+import Graphics.Rendering.OpenGL.Raw.NV.RegisterCombiners
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_NV_register_combiners2"
+
+EXTENSION_ENTRY(dyn_glCombinerStageParameterfv,ptr_glCombinerStageParameterfv,"glCombinerStageParameterfv",glCombinerStageParameterfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glGetCombinerStageParameterfv,ptr_glGetCombinerStageParameterfv,"glGetCombinerStageParameterfv",glGetCombinerStageParameterfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
+
+gl_PER_STAGE_CONSTANTS :: GLenum
+gl_PER_STAGE_CONSTANTS = 0x8535
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/TexgenEmboss.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/TexgenEmboss.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/TexgenEmboss.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/TexgenEmboss.hs
@@ -1,33 +1,33 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.TexgenEmboss
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the NV_texgen_emboss not already in the
--- OpenGL 3.1 core, see
--- <http://www.opengl.org/registry/specs/NV/texgen_emboss.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.TexgenEmboss (
-   -- * Tokens
-   gl_EMBOSS_MAP,
-   gl_EMBOSS_LIGHT,
-   gl_EMBOSS_CONSTANT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core32
-
-gl_EMBOSS_MAP :: GLenum
-gl_EMBOSS_MAP = 0x855F
-
-gl_EMBOSS_LIGHT :: GLenum
-gl_EMBOSS_LIGHT = 0x855D
-
-gl_EMBOSS_CONSTANT :: GLenum
-gl_EMBOSS_CONSTANT = 0x855E
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.NV.TexgenEmboss
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the NV_texgen_emboss not already in the
+-- OpenGL 3.1 core, see
+-- <http://www.opengl.org/registry/specs/NV/texgen_emboss.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.NV.TexgenEmboss (
+   -- * Tokens
+   gl_EMBOSS_MAP,
+   gl_EMBOSS_LIGHT,
+   gl_EMBOSS_CONSTANT
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
+
+gl_EMBOSS_MAP :: GLenum
+gl_EMBOSS_MAP = 0x855F
+
+gl_EMBOSS_LIGHT :: GLenum
+gl_EMBOSS_LIGHT = 0x855D
+
+gl_EMBOSS_CONSTANT :: GLenum
+gl_EMBOSS_CONSTANT = 0x855E
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/TexgenReflection.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/TexgenReflection.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/TexgenReflection.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/TexgenReflection.hs
@@ -1,22 +1,22 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.TexgenReflection
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All tokens from the NV_texgen_reflection, see
--- <http://www.opengl.org/registry/specs/NV/texgen_reflection.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.TexgenReflection (
-   -- * Tokens
-   gl_NORMAL_MAP,
-   gl_REFLECTION_MAP
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.NV.TexgenReflection
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All tokens from the NV_texgen_reflection, see
+-- <http://www.opengl.org/registry/specs/NV/texgen_reflection.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.NV.TexgenReflection (
+   -- * Tokens
+   gl_NORMAL_MAP,
+   gl_REFLECTION_MAP
+) where
+
+import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/TextureCompressionVTC.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/TextureCompressionVTC.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/TextureCompressionVTC.hs
@@ -0,0 +1,25 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.NV.TextureCompressionVTC
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the NV_light_max_exponent extension not
+-- already in the OpenGL 3.1 core, see
+-- <http://www.opengl.org/registry/specs/NV/light_max_exponent.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.NV.TextureCompressionVTC (
+   -- * Tokens
+   gl_COMPRESSED_RGB_S3TC_DXT1,
+   gl_COMPRESSED_RGBA_S3TC_DXT1,
+   gl_COMPRESSED_RGBA_S3TC_DXT3,
+   gl_COMPRESSED_RGBA_S3TC_DXT5
+) where
+
+import Graphics.Rendering.OpenGL.Raw.EXT.TextureCompressionS3TC
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/TextureCompressionVtc.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/TextureCompressionVtc.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/TextureCompressionVtc.hs
+++ /dev/null
@@ -1,25 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.TextureCompressionVtc
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the NV_light_max_exponent extension not
--- already in the OpenGL 3.1 core, see
--- <http://www.opengl.org/registry/specs/NV/light_max_exponent.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.TextureCompressionVtc (
-   -- * Tokens
-   gl_COMPRESSED_RGB_S3TC_DXT1,
-   gl_COMPRESSED_RGBA_S3TC_DXT1,
-   gl_COMPRESSED_RGBA_S3TC_DXT3,
-   gl_COMPRESSED_RGBA_S3TC_DXT5
-) where
-
-import Graphics.Rendering.OpenGL.Raw.EXT.TextureCompressionS3tc
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/TextureEnvCombine4.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/TextureEnvCombine4.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/TextureEnvCombine4.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/TextureEnvCombine4.hs
@@ -1,41 +1,41 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.TextureEnvCombine4
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the NV_texture_env_combine4 extension not
--- already in the OpenGL 3.1 core, see
--- <http://www.opengl.org/registry/specs/NV/texture_env_combine4.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.TextureEnvCombine4 (
-   -- * Tokens
-   gl_COMBINE4,
-   gl_SOURCE3_RGB,
-   gl_SOURCE3_ALPHA,
-   gl_OPERAND3_RGB,
-   gl_OPERAND3_ALPHA
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core32
-
-gl_COMBINE4 :: GLenum
-gl_COMBINE4 = 0x8503
-
-gl_SOURCE3_RGB :: GLenum
-gl_SOURCE3_RGB = 0x8583
-
-gl_SOURCE3_ALPHA :: GLenum
-gl_SOURCE3_ALPHA = 0x858B
-
-gl_OPERAND3_RGB :: GLenum
-gl_OPERAND3_RGB = 0x8593
-
-gl_OPERAND3_ALPHA :: GLenum
-gl_OPERAND3_ALPHA = 0x859B
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.NV.TextureEnvCombine4
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the NV_texture_env_combine4 extension not
+-- already in the OpenGL 3.1 core, see
+-- <http://www.opengl.org/registry/specs/NV/texture_env_combine4.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.NV.TextureEnvCombine4 (
+   -- * Tokens
+   gl_COMBINE4,
+   gl_SOURCE3_RGB,
+   gl_SOURCE3_ALPHA,
+   gl_OPERAND3_RGB,
+   gl_OPERAND3_ALPHA
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
+
+gl_COMBINE4 :: GLenum
+gl_COMBINE4 = 0x8503
+
+gl_SOURCE3_RGB :: GLenum
+gl_SOURCE3_RGB = 0x8583
+
+gl_SOURCE3_ALPHA :: GLenum
+gl_SOURCE3_ALPHA = 0x858B
+
+gl_OPERAND3_RGB :: GLenum
+gl_OPERAND3_RGB = 0x8593
+
+gl_OPERAND3_ALPHA :: GLenum
+gl_OPERAND3_ALPHA = 0x859B
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/TextureExpandNormal.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/TextureExpandNormal.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/TextureExpandNormal.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/TextureExpandNormal.hs
@@ -1,24 +1,24 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.TextureExpandNormal
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All tokens from the NV_texture_expand_normal, see
--- <http://www.opengl.org/registry/specs/NV/texture_expand_normal.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.TextureExpandNormal (
-   -- * Tokens
-   gl_TEXTURE_UNSIGNED_REMAP_MODE
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core32
-
-gl_TEXTURE_UNSIGNED_REMAP_MODE :: GLenum
-gl_TEXTURE_UNSIGNED_REMAP_MODE = 0x888F
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.NV.TextureExpandNormal
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All tokens from the NV_texture_expand_normal, see
+-- <http://www.opengl.org/registry/specs/NV/texture_expand_normal.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.NV.TextureExpandNormal (
+   -- * Tokens
+   gl_TEXTURE_UNSIGNED_REMAP_MODE
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
+
+gl_TEXTURE_UNSIGNED_REMAP_MODE :: GLenum
+gl_TEXTURE_UNSIGNED_REMAP_MODE = 0x888F
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/TextureRectangle.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/TextureRectangle.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/TextureRectangle.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/TextureRectangle.hs
@@ -1,24 +1,24 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.TextureRectangle
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All tokens from the NV_texture_rectangle extension, see
--- <http://www.opengl.org/registry/specs/NV/texture_rectangle.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.TextureRectangle (
-   -- * Tokens
-   gl_TEXTURE_RECTANGLE,
-   gl_TEXTURE_BINDING_RECTANGLE,
-   gl_PROXY_TEXTURE_RECTANGLE, 
-   gl_MAX_RECTANGLE_TEXTURE_SIZE
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core32
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.NV.TextureRectangle
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All tokens from the NV_texture_rectangle extension, see
+-- <http://www.opengl.org/registry/specs/NV/texture_rectangle.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.NV.TextureRectangle (
+   -- * Tokens
+   gl_TEXTURE_RECTANGLE,
+   gl_TEXTURE_BINDING_RECTANGLE,
+   gl_PROXY_TEXTURE_RECTANGLE, 
+   gl_MAX_RECTANGLE_TEXTURE_SIZE
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/TextureShader.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/TextureShader.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/TextureShader.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/TextureShader.hs
@@ -1,316 +1,316 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.TextureShader
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the NV_texture_shader extension not
--- already in the OpenGL 3.1 core, see
--- <http://www.opengl.org/registry/specs/NV/texture_shader.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.TextureShader (
-   -- * Tokens
-   gl_TEXTURE_SHADER,
-   gl_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING,
-   gl_SHADER_OPERATION,
-   gl_OFFSET_TEXTURE_SCALE,
-   gl_OFFSET_TEXTURE_BIAS,
-   gl_OFFSET_TEXTURE_2D_SCALE,
-   gl_OFFSET_TEXTURE_2D_BIAS,
-   gl_PREVIOUS_TEXTURE_INPUT,
-   gl_CULL_MODES,
-   gl_OFFSET_TEXTURE_MATRIX,
-   gl_OFFSET_TEXTURE_2D_MATRIX,
-   gl_CONST_EYE,
-   gl_SHADER_CONSISTENT,
-   gl_PASS_THROUGH,
-   gl_CULL_FRAGMENT,
-   gl_OFFSET_TEXTURE_2D,
-   gl_OFFSET_TEXTURE_RECTANGLE,
-   gl_OFFSET_TEXTURE_RECTANGLE_SCALE,
-   gl_DEPENDENT_AR_TEXTURE_2D,
-   gl_DEPENDENT_GB_TEXTURE_2D,
-   gl_DOT_PRODUCT,
-   gl_DOT_PRODUCT_DEPTH_REPLACE,
-   gl_DOT_PRODUCT_TEXTURE_2D,
-   gl_DOT_PRODUCT_TEXTURE_RECTANGLE,
-   gl_DOT_PRODUCT_TEXTURE_CUBE_MAP,
-   gl_DOT_PRODUCT_DIFFUSE_CUBE_MAP,
-   gl_DOT_PRODUCT_REFLECT_CUBE_MAP,
-   gl_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP,
-   gl_UNSIGNED_IDENTITY,
-   gl_EXPAND_NORMAL,
-   gl_HILO,
-   gl_DSDT,
-   gl_DSDT_MAG,
-   gl_DSDT_MAG_VIB,
-   gl_UNSIGNED_INT_S8_S8_8_8,
-   gl_UNSIGNED_INT_8_8_S8_S8_REV,
-   gl_SIGNED_RGBA,
-   gl_SIGNED_RGBA8,
-   gl_SIGNED_RGB,
-   gl_SIGNED_RGB8,
-   gl_SIGNED_LUMINANCE,
-   gl_SIGNED_LUMINANCE8,
-   gl_SIGNED_LUMINANCE_ALPHA,
-   gl_SIGNED_LUMINANCE8_ALPHA8,
-   gl_SIGNED_ALPHA,
-   gl_SIGNED_ALPHA8,
-   gl_SIGNED_INTENSITY,
-   gl_SIGNED_INTENSITY8,
-   gl_SIGNED_RGB_UNSIGNED_ALPHA,
-   gl_SIGNED_RGB8_UNSIGNED_ALPHA8,
-   gl_HILO16,
-   gl_SIGNED_HILO,
-   gl_SIGNED_HILO16,
-   gl_DSDT8,
-   gl_DSDT8_MAG8,
-   gl_DSDT_MAG_INTENSITY,
-   gl_DSDT8_MAG8_INTENSITY8,
-   gl_HI_SCALE,
-   gl_LO_SCALE,
-   gl_DS_SCALE,
-   gl_DT_SCALE,
-   gl_MAGNITUDE_SCALE,
-   gl_VIBRANCE_SCALE,
-   gl_HI_BIAS,
-   gl_LO_BIAS,
-   gl_DS_BIAS,
-   gl_DT_BIAS,
-   gl_MAGNITUDE_BIAS,
-   gl_VIBRANCE_BIAS,
-   gl_TEXTURE_BORDER_VALUES,
-   gl_TEXTURE_HI_SIZE,
-   gl_TEXTURE_LO_SIZE,
-   gl_TEXTURE_DS_SIZE,
-   gl_TEXTURE_DT_SIZE,
-   gl_TEXTURE_MAG_SIZE
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core32
-import Graphics.Rendering.OpenGL.Raw.NV.RegisterCombiners
-
-gl_TEXTURE_SHADER :: GLenum
-gl_TEXTURE_SHADER = 0x86DE
-
-gl_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING :: GLenum
-gl_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING = 0x86D9
-
-gl_SHADER_OPERATION :: GLenum
-gl_SHADER_OPERATION = 0x86DF
-
-gl_OFFSET_TEXTURE_SCALE :: GLenum
-gl_OFFSET_TEXTURE_SCALE = 0x86E2
-
-gl_OFFSET_TEXTURE_BIAS :: GLenum
-gl_OFFSET_TEXTURE_BIAS = 0x86E3
-
-gl_OFFSET_TEXTURE_2D_SCALE :: GLenum
-gl_OFFSET_TEXTURE_2D_SCALE = gl_OFFSET_TEXTURE_SCALE
-
-gl_OFFSET_TEXTURE_2D_BIAS :: GLenum
-gl_OFFSET_TEXTURE_2D_BIAS = gl_OFFSET_TEXTURE_BIAS
-
-gl_PREVIOUS_TEXTURE_INPUT :: GLenum
-gl_PREVIOUS_TEXTURE_INPUT = 0x86E4
-
-gl_CULL_MODES :: GLenum
-gl_CULL_MODES = 0x86E0
-
-gl_OFFSET_TEXTURE_MATRIX :: GLenum
-gl_OFFSET_TEXTURE_MATRIX = 0x86E1
-
-gl_OFFSET_TEXTURE_2D_MATRIX :: GLenum
-gl_OFFSET_TEXTURE_2D_MATRIX = gl_OFFSET_TEXTURE_MATRIX
-
-gl_CONST_EYE :: GLenum
-gl_CONST_EYE = 0x86E5
-
-gl_SHADER_CONSISTENT :: GLenum
-gl_SHADER_CONSISTENT = 0x86DD
-
-gl_PASS_THROUGH :: GLenum
-gl_PASS_THROUGH = 0x86E6
-
-gl_CULL_FRAGMENT :: GLenum
-gl_CULL_FRAGMENT = 0x86E7
-
-gl_OFFSET_TEXTURE_2D :: GLenum
-gl_OFFSET_TEXTURE_2D = 0x86E8
-
-gl_OFFSET_TEXTURE_RECTANGLE :: GLenum
-gl_OFFSET_TEXTURE_RECTANGLE = 0x864C
-
-gl_OFFSET_TEXTURE_RECTANGLE_SCALE :: GLenum
-gl_OFFSET_TEXTURE_RECTANGLE_SCALE = 0x864D
-
-gl_DEPENDENT_AR_TEXTURE_2D :: GLenum
-gl_DEPENDENT_AR_TEXTURE_2D = 0x86E9
-
-gl_DEPENDENT_GB_TEXTURE_2D :: GLenum
-gl_DEPENDENT_GB_TEXTURE_2D = 0x86EA
-
-gl_DOT_PRODUCT :: GLenum
-gl_DOT_PRODUCT = 0x86EC
-
-gl_DOT_PRODUCT_DEPTH_REPLACE :: GLenum
-gl_DOT_PRODUCT_DEPTH_REPLACE = 0x86ED
-
-gl_DOT_PRODUCT_TEXTURE_2D :: GLenum
-gl_DOT_PRODUCT_TEXTURE_2D = 0x86EE
-
-gl_DOT_PRODUCT_TEXTURE_RECTANGLE :: GLenum
-gl_DOT_PRODUCT_TEXTURE_RECTANGLE = 0x864E
-
-gl_DOT_PRODUCT_TEXTURE_CUBE_MAP :: GLenum
-gl_DOT_PRODUCT_TEXTURE_CUBE_MAP = 0x86F0
-
-gl_DOT_PRODUCT_DIFFUSE_CUBE_MAP :: GLenum
-gl_DOT_PRODUCT_DIFFUSE_CUBE_MAP = 0x86F1
-
-gl_DOT_PRODUCT_REFLECT_CUBE_MAP :: GLenum
-gl_DOT_PRODUCT_REFLECT_CUBE_MAP = 0x86F2
-
-gl_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP :: GLenum
-gl_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP = 0x86F3
-
-gl_HILO :: GLenum
-gl_HILO = 0x86F4
-
-gl_DSDT :: GLenum
-gl_DSDT = 0x86F5
-
-gl_DSDT_MAG :: GLenum
-gl_DSDT_MAG = 0x86F6
-
-gl_DSDT_MAG_VIB :: GLenum
-gl_DSDT_MAG_VIB = 0x86F7
-
-gl_UNSIGNED_INT_S8_S8_8_8 :: GLenum
-gl_UNSIGNED_INT_S8_S8_8_8 = 0x86DA 
-
-gl_UNSIGNED_INT_8_8_S8_S8_REV :: GLenum
-gl_UNSIGNED_INT_8_8_S8_S8_REV = 0x86DB 
-
-gl_SIGNED_RGBA :: GLenum
-gl_SIGNED_RGBA = 0x86FB
-
-gl_SIGNED_RGBA8 :: GLenum
-gl_SIGNED_RGBA8 = 0x86FC
-
-gl_SIGNED_RGB :: GLenum
-gl_SIGNED_RGB = 0x86FE
-
-gl_SIGNED_RGB8 :: GLenum
-gl_SIGNED_RGB8 = 0x86FF
-
-gl_SIGNED_LUMINANCE :: GLenum
-gl_SIGNED_LUMINANCE = 0x8701
-
-gl_SIGNED_LUMINANCE8 :: GLenum
-gl_SIGNED_LUMINANCE8 = 0x8702
-
-gl_SIGNED_LUMINANCE_ALPHA :: GLenum
-gl_SIGNED_LUMINANCE_ALPHA = 0x8703
-
-gl_SIGNED_LUMINANCE8_ALPHA8 :: GLenum
-gl_SIGNED_LUMINANCE8_ALPHA8 = 0x8704
-
-gl_SIGNED_ALPHA :: GLenum
-gl_SIGNED_ALPHA = 0x8705
-
-gl_SIGNED_ALPHA8 :: GLenum
-gl_SIGNED_ALPHA8 = 0x8706
-
-gl_SIGNED_INTENSITY :: GLenum
-gl_SIGNED_INTENSITY = 0x8707
-
-gl_SIGNED_INTENSITY8 :: GLenum
-gl_SIGNED_INTENSITY8 = 0x8708
-
-gl_SIGNED_RGB_UNSIGNED_ALPHA :: GLenum
-gl_SIGNED_RGB_UNSIGNED_ALPHA = 0x870C
-
-gl_SIGNED_RGB8_UNSIGNED_ALPHA8 :: GLenum
-gl_SIGNED_RGB8_UNSIGNED_ALPHA8 = 0x870D
-
-gl_HILO16 :: GLenum
-gl_HILO16 = 0x86F8
-
-gl_SIGNED_HILO :: GLenum
-gl_SIGNED_HILO = 0x86F9
-
-gl_SIGNED_HILO16 :: GLenum
-gl_SIGNED_HILO16 = 0x86FA
-
-gl_DSDT8 :: GLenum
-gl_DSDT8 = 0x8709
-
-gl_DSDT8_MAG8 :: GLenum
-gl_DSDT8_MAG8 = 0x870A
-
-gl_DSDT_MAG_INTENSITY :: GLenum
-gl_DSDT_MAG_INTENSITY = 0x86DC
-
-gl_DSDT8_MAG8_INTENSITY8 :: GLenum
-gl_DSDT8_MAG8_INTENSITY8 = 0x870B
-
-gl_HI_SCALE :: GLenum
-gl_HI_SCALE = 0x870E
-
-gl_LO_SCALE :: GLenum
-gl_LO_SCALE = 0x870F
-
-gl_DS_SCALE :: GLenum
-gl_DS_SCALE = 0x8710
-
-gl_DT_SCALE :: GLenum
-gl_DT_SCALE = 0x8711
-
-gl_MAGNITUDE_SCALE :: GLenum
-gl_MAGNITUDE_SCALE = 0x8712
-
-gl_VIBRANCE_SCALE :: GLenum
-gl_VIBRANCE_SCALE = 0x8713
-
-gl_HI_BIAS :: GLenum
-gl_HI_BIAS = 0x8714
-
-gl_LO_BIAS :: GLenum
-gl_LO_BIAS = 0x8715
-
-gl_DS_BIAS :: GLenum
-gl_DS_BIAS = 0x8716
-
-gl_DT_BIAS :: GLenum
-gl_DT_BIAS = 0x8717
-
-gl_MAGNITUDE_BIAS :: GLenum
-gl_MAGNITUDE_BIAS = 0x8718
-
-gl_VIBRANCE_BIAS :: GLenum
-gl_VIBRANCE_BIAS = 0x8719
-
-gl_TEXTURE_BORDER_VALUES :: GLenum
-gl_TEXTURE_BORDER_VALUES = 0x871A
-
-gl_TEXTURE_HI_SIZE :: GLenum
-gl_TEXTURE_HI_SIZE = 0x871B
-
-gl_TEXTURE_LO_SIZE :: GLenum
-gl_TEXTURE_LO_SIZE = 0x871C
-
-gl_TEXTURE_DS_SIZE :: GLenum
-gl_TEXTURE_DS_SIZE = 0x871D
-
-gl_TEXTURE_DT_SIZE :: GLenum
-gl_TEXTURE_DT_SIZE = 0x871E
-
-gl_TEXTURE_MAG_SIZE :: GLenum
-gl_TEXTURE_MAG_SIZE = 0x871F
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.NV.TextureShader
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the NV_texture_shader extension not
+-- already in the OpenGL 3.1 core, see
+-- <http://www.opengl.org/registry/specs/NV/texture_shader.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.NV.TextureShader (
+   -- * Tokens
+   gl_TEXTURE_SHADER,
+   gl_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING,
+   gl_SHADER_OPERATION,
+   gl_OFFSET_TEXTURE_SCALE,
+   gl_OFFSET_TEXTURE_BIAS,
+   gl_OFFSET_TEXTURE_2D_SCALE,
+   gl_OFFSET_TEXTURE_2D_BIAS,
+   gl_PREVIOUS_TEXTURE_INPUT,
+   gl_CULL_MODES,
+   gl_OFFSET_TEXTURE_MATRIX,
+   gl_OFFSET_TEXTURE_2D_MATRIX,
+   gl_CONST_EYE,
+   gl_SHADER_CONSISTENT,
+   gl_PASS_THROUGH,
+   gl_CULL_FRAGMENT,
+   gl_OFFSET_TEXTURE_2D,
+   gl_OFFSET_TEXTURE_RECTANGLE,
+   gl_OFFSET_TEXTURE_RECTANGLE_SCALE,
+   gl_DEPENDENT_AR_TEXTURE_2D,
+   gl_DEPENDENT_GB_TEXTURE_2D,
+   gl_DOT_PRODUCT,
+   gl_DOT_PRODUCT_DEPTH_REPLACE,
+   gl_DOT_PRODUCT_TEXTURE_2D,
+   gl_DOT_PRODUCT_TEXTURE_RECTANGLE,
+   gl_DOT_PRODUCT_TEXTURE_CUBE_MAP,
+   gl_DOT_PRODUCT_DIFFUSE_CUBE_MAP,
+   gl_DOT_PRODUCT_REFLECT_CUBE_MAP,
+   gl_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP,
+   gl_UNSIGNED_IDENTITY,
+   gl_EXPAND_NORMAL,
+   gl_HILO,
+   gl_DSDT,
+   gl_DSDT_MAG,
+   gl_DSDT_MAG_VIB,
+   gl_UNSIGNED_INT_S8_S8_8_8,
+   gl_UNSIGNED_INT_8_8_S8_S8_REV,
+   gl_SIGNED_RGBA,
+   gl_SIGNED_RGBA8,
+   gl_SIGNED_RGB,
+   gl_SIGNED_RGB8,
+   gl_SIGNED_LUMINANCE,
+   gl_SIGNED_LUMINANCE8,
+   gl_SIGNED_LUMINANCE_ALPHA,
+   gl_SIGNED_LUMINANCE8_ALPHA8,
+   gl_SIGNED_ALPHA,
+   gl_SIGNED_ALPHA8,
+   gl_SIGNED_INTENSITY,
+   gl_SIGNED_INTENSITY8,
+   gl_SIGNED_RGB_UNSIGNED_ALPHA,
+   gl_SIGNED_RGB8_UNSIGNED_ALPHA8,
+   gl_HILO16,
+   gl_SIGNED_HILO,
+   gl_SIGNED_HILO16,
+   gl_DSDT8,
+   gl_DSDT8_MAG8,
+   gl_DSDT_MAG_INTENSITY,
+   gl_DSDT8_MAG8_INTENSITY8,
+   gl_HI_SCALE,
+   gl_LO_SCALE,
+   gl_DS_SCALE,
+   gl_DT_SCALE,
+   gl_MAGNITUDE_SCALE,
+   gl_VIBRANCE_SCALE,
+   gl_HI_BIAS,
+   gl_LO_BIAS,
+   gl_DS_BIAS,
+   gl_DT_BIAS,
+   gl_MAGNITUDE_BIAS,
+   gl_VIBRANCE_BIAS,
+   gl_TEXTURE_BORDER_VALUES,
+   gl_TEXTURE_HI_SIZE,
+   gl_TEXTURE_LO_SIZE,
+   gl_TEXTURE_DS_SIZE,
+   gl_TEXTURE_DT_SIZE,
+   gl_TEXTURE_MAG_SIZE
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
+import Graphics.Rendering.OpenGL.Raw.NV.RegisterCombiners
+
+gl_TEXTURE_SHADER :: GLenum
+gl_TEXTURE_SHADER = 0x86DE
+
+gl_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING :: GLenum
+gl_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING = 0x86D9
+
+gl_SHADER_OPERATION :: GLenum
+gl_SHADER_OPERATION = 0x86DF
+
+gl_OFFSET_TEXTURE_SCALE :: GLenum
+gl_OFFSET_TEXTURE_SCALE = 0x86E2
+
+gl_OFFSET_TEXTURE_BIAS :: GLenum
+gl_OFFSET_TEXTURE_BIAS = 0x86E3
+
+gl_OFFSET_TEXTURE_2D_SCALE :: GLenum
+gl_OFFSET_TEXTURE_2D_SCALE = gl_OFFSET_TEXTURE_SCALE
+
+gl_OFFSET_TEXTURE_2D_BIAS :: GLenum
+gl_OFFSET_TEXTURE_2D_BIAS = gl_OFFSET_TEXTURE_BIAS
+
+gl_PREVIOUS_TEXTURE_INPUT :: GLenum
+gl_PREVIOUS_TEXTURE_INPUT = 0x86E4
+
+gl_CULL_MODES :: GLenum
+gl_CULL_MODES = 0x86E0
+
+gl_OFFSET_TEXTURE_MATRIX :: GLenum
+gl_OFFSET_TEXTURE_MATRIX = 0x86E1
+
+gl_OFFSET_TEXTURE_2D_MATRIX :: GLenum
+gl_OFFSET_TEXTURE_2D_MATRIX = gl_OFFSET_TEXTURE_MATRIX
+
+gl_CONST_EYE :: GLenum
+gl_CONST_EYE = 0x86E5
+
+gl_SHADER_CONSISTENT :: GLenum
+gl_SHADER_CONSISTENT = 0x86DD
+
+gl_PASS_THROUGH :: GLenum
+gl_PASS_THROUGH = 0x86E6
+
+gl_CULL_FRAGMENT :: GLenum
+gl_CULL_FRAGMENT = 0x86E7
+
+gl_OFFSET_TEXTURE_2D :: GLenum
+gl_OFFSET_TEXTURE_2D = 0x86E8
+
+gl_OFFSET_TEXTURE_RECTANGLE :: GLenum
+gl_OFFSET_TEXTURE_RECTANGLE = 0x864C
+
+gl_OFFSET_TEXTURE_RECTANGLE_SCALE :: GLenum
+gl_OFFSET_TEXTURE_RECTANGLE_SCALE = 0x864D
+
+gl_DEPENDENT_AR_TEXTURE_2D :: GLenum
+gl_DEPENDENT_AR_TEXTURE_2D = 0x86E9
+
+gl_DEPENDENT_GB_TEXTURE_2D :: GLenum
+gl_DEPENDENT_GB_TEXTURE_2D = 0x86EA
+
+gl_DOT_PRODUCT :: GLenum
+gl_DOT_PRODUCT = 0x86EC
+
+gl_DOT_PRODUCT_DEPTH_REPLACE :: GLenum
+gl_DOT_PRODUCT_DEPTH_REPLACE = 0x86ED
+
+gl_DOT_PRODUCT_TEXTURE_2D :: GLenum
+gl_DOT_PRODUCT_TEXTURE_2D = 0x86EE
+
+gl_DOT_PRODUCT_TEXTURE_RECTANGLE :: GLenum
+gl_DOT_PRODUCT_TEXTURE_RECTANGLE = 0x864E
+
+gl_DOT_PRODUCT_TEXTURE_CUBE_MAP :: GLenum
+gl_DOT_PRODUCT_TEXTURE_CUBE_MAP = 0x86F0
+
+gl_DOT_PRODUCT_DIFFUSE_CUBE_MAP :: GLenum
+gl_DOT_PRODUCT_DIFFUSE_CUBE_MAP = 0x86F1
+
+gl_DOT_PRODUCT_REFLECT_CUBE_MAP :: GLenum
+gl_DOT_PRODUCT_REFLECT_CUBE_MAP = 0x86F2
+
+gl_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP :: GLenum
+gl_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP = 0x86F3
+
+gl_HILO :: GLenum
+gl_HILO = 0x86F4
+
+gl_DSDT :: GLenum
+gl_DSDT = 0x86F5
+
+gl_DSDT_MAG :: GLenum
+gl_DSDT_MAG = 0x86F6
+
+gl_DSDT_MAG_VIB :: GLenum
+gl_DSDT_MAG_VIB = 0x86F7
+
+gl_UNSIGNED_INT_S8_S8_8_8 :: GLenum
+gl_UNSIGNED_INT_S8_S8_8_8 = 0x86DA 
+
+gl_UNSIGNED_INT_8_8_S8_S8_REV :: GLenum
+gl_UNSIGNED_INT_8_8_S8_S8_REV = 0x86DB 
+
+gl_SIGNED_RGBA :: GLenum
+gl_SIGNED_RGBA = 0x86FB
+
+gl_SIGNED_RGBA8 :: GLenum
+gl_SIGNED_RGBA8 = 0x86FC
+
+gl_SIGNED_RGB :: GLenum
+gl_SIGNED_RGB = 0x86FE
+
+gl_SIGNED_RGB8 :: GLenum
+gl_SIGNED_RGB8 = 0x86FF
+
+gl_SIGNED_LUMINANCE :: GLenum
+gl_SIGNED_LUMINANCE = 0x8701
+
+gl_SIGNED_LUMINANCE8 :: GLenum
+gl_SIGNED_LUMINANCE8 = 0x8702
+
+gl_SIGNED_LUMINANCE_ALPHA :: GLenum
+gl_SIGNED_LUMINANCE_ALPHA = 0x8703
+
+gl_SIGNED_LUMINANCE8_ALPHA8 :: GLenum
+gl_SIGNED_LUMINANCE8_ALPHA8 = 0x8704
+
+gl_SIGNED_ALPHA :: GLenum
+gl_SIGNED_ALPHA = 0x8705
+
+gl_SIGNED_ALPHA8 :: GLenum
+gl_SIGNED_ALPHA8 = 0x8706
+
+gl_SIGNED_INTENSITY :: GLenum
+gl_SIGNED_INTENSITY = 0x8707
+
+gl_SIGNED_INTENSITY8 :: GLenum
+gl_SIGNED_INTENSITY8 = 0x8708
+
+gl_SIGNED_RGB_UNSIGNED_ALPHA :: GLenum
+gl_SIGNED_RGB_UNSIGNED_ALPHA = 0x870C
+
+gl_SIGNED_RGB8_UNSIGNED_ALPHA8 :: GLenum
+gl_SIGNED_RGB8_UNSIGNED_ALPHA8 = 0x870D
+
+gl_HILO16 :: GLenum
+gl_HILO16 = 0x86F8
+
+gl_SIGNED_HILO :: GLenum
+gl_SIGNED_HILO = 0x86F9
+
+gl_SIGNED_HILO16 :: GLenum
+gl_SIGNED_HILO16 = 0x86FA
+
+gl_DSDT8 :: GLenum
+gl_DSDT8 = 0x8709
+
+gl_DSDT8_MAG8 :: GLenum
+gl_DSDT8_MAG8 = 0x870A
+
+gl_DSDT_MAG_INTENSITY :: GLenum
+gl_DSDT_MAG_INTENSITY = 0x86DC
+
+gl_DSDT8_MAG8_INTENSITY8 :: GLenum
+gl_DSDT8_MAG8_INTENSITY8 = 0x870B
+
+gl_HI_SCALE :: GLenum
+gl_HI_SCALE = 0x870E
+
+gl_LO_SCALE :: GLenum
+gl_LO_SCALE = 0x870F
+
+gl_DS_SCALE :: GLenum
+gl_DS_SCALE = 0x8710
+
+gl_DT_SCALE :: GLenum
+gl_DT_SCALE = 0x8711
+
+gl_MAGNITUDE_SCALE :: GLenum
+gl_MAGNITUDE_SCALE = 0x8712
+
+gl_VIBRANCE_SCALE :: GLenum
+gl_VIBRANCE_SCALE = 0x8713
+
+gl_HI_BIAS :: GLenum
+gl_HI_BIAS = 0x8714
+
+gl_LO_BIAS :: GLenum
+gl_LO_BIAS = 0x8715
+
+gl_DS_BIAS :: GLenum
+gl_DS_BIAS = 0x8716
+
+gl_DT_BIAS :: GLenum
+gl_DT_BIAS = 0x8717
+
+gl_MAGNITUDE_BIAS :: GLenum
+gl_MAGNITUDE_BIAS = 0x8718
+
+gl_VIBRANCE_BIAS :: GLenum
+gl_VIBRANCE_BIAS = 0x8719
+
+gl_TEXTURE_BORDER_VALUES :: GLenum
+gl_TEXTURE_BORDER_VALUES = 0x871A
+
+gl_TEXTURE_HI_SIZE :: GLenum
+gl_TEXTURE_HI_SIZE = 0x871B
+
+gl_TEXTURE_LO_SIZE :: GLenum
+gl_TEXTURE_LO_SIZE = 0x871C
+
+gl_TEXTURE_DS_SIZE :: GLenum
+gl_TEXTURE_DS_SIZE = 0x871D
+
+gl_TEXTURE_DT_SIZE :: GLenum
+gl_TEXTURE_DT_SIZE = 0x871E
+
+gl_TEXTURE_MAG_SIZE :: GLenum
+gl_TEXTURE_MAG_SIZE = 0x871F
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/TextureShader2.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/TextureShader2.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/TextureShader2.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/TextureShader2.hs
@@ -1,53 +1,53 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.TextureShader2
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the NV_texture_shader2 extension not
--- already in the OpenGL 3.1 core, see
--- <http://www.opengl.org/registry/specs/NV/texture_shader2.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.TextureShader2 (
-   -- * Tokens
-   gl_DOT_PRODUCT_TEXTURE_3D,
-   gl_HILO,
-   gl_DSDT,
-   gl_DSDT_MAG,
-   gl_DSDT_MAG_VIB,
-   gl_UNSIGNED_INT_S8_S8_8_8,
-   gl_UNSIGNED_INT_8_8_S8_S8_REV,
-   gl_SIGNED_RGBA,
-   gl_SIGNED_RGBA8,
-   gl_SIGNED_RGB,
-   gl_SIGNED_RGB8,
-   gl_SIGNED_LUMINANCE,
-   gl_SIGNED_LUMINANCE8,
-   gl_SIGNED_LUMINANCE_ALPHA,
-   gl_SIGNED_LUMINANCE8_ALPHA8,
-   gl_SIGNED_ALPHA,
-   gl_SIGNED_ALPHA8,
-   gl_SIGNED_INTENSITY,
-   gl_SIGNED_INTENSITY8,
-   gl_SIGNED_RGB_UNSIGNED_ALPHA,
-   gl_SIGNED_RGB8_UNSIGNED_ALPHA8,
-   gl_HILO16,
-   gl_SIGNED_HILO,
-   gl_SIGNED_HILO16,
-   gl_DSDT8,
-   gl_DSDT8_MAG8,
-   gl_DSDT_MAG_INTENSITY,
-   gl_DSDT8_MAG8_INTENSITY8
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core32
-import Graphics.Rendering.OpenGL.Raw.NV.TextureShader
-
-gl_DOT_PRODUCT_TEXTURE_3D :: GLenum
-gl_DOT_PRODUCT_TEXTURE_3D = 0x86EF
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.NV.TextureShader2
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the NV_texture_shader2 extension not
+-- already in the OpenGL 3.1 core, see
+-- <http://www.opengl.org/registry/specs/NV/texture_shader2.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.NV.TextureShader2 (
+   -- * Tokens
+   gl_DOT_PRODUCT_TEXTURE_3D,
+   gl_HILO,
+   gl_DSDT,
+   gl_DSDT_MAG,
+   gl_DSDT_MAG_VIB,
+   gl_UNSIGNED_INT_S8_S8_8_8,
+   gl_UNSIGNED_INT_8_8_S8_S8_REV,
+   gl_SIGNED_RGBA,
+   gl_SIGNED_RGBA8,
+   gl_SIGNED_RGB,
+   gl_SIGNED_RGB8,
+   gl_SIGNED_LUMINANCE,
+   gl_SIGNED_LUMINANCE8,
+   gl_SIGNED_LUMINANCE_ALPHA,
+   gl_SIGNED_LUMINANCE8_ALPHA8,
+   gl_SIGNED_ALPHA,
+   gl_SIGNED_ALPHA8,
+   gl_SIGNED_INTENSITY,
+   gl_SIGNED_INTENSITY8,
+   gl_SIGNED_RGB_UNSIGNED_ALPHA,
+   gl_SIGNED_RGB8_UNSIGNED_ALPHA8,
+   gl_HILO16,
+   gl_SIGNED_HILO,
+   gl_SIGNED_HILO16,
+   gl_DSDT8,
+   gl_DSDT8_MAG8,
+   gl_DSDT_MAG_INTENSITY,
+   gl_DSDT8_MAG8_INTENSITY8
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
+import Graphics.Rendering.OpenGL.Raw.NV.TextureShader
+
+gl_DOT_PRODUCT_TEXTURE_3D :: GLenum
+gl_DOT_PRODUCT_TEXTURE_3D = 0x86EF
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/TextureShader3.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/TextureShader3.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/TextureShader3.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/TextureShader3.hs
@@ -1,88 +1,88 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.TextureShader3
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the NV_texture_shader3 extension, see
--- <http://www.opengl.org/registry/specs/NV/texture_shader3.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.TextureShader3 (
-   -- * Tokens
-   gl_OFFSET_PROJECTIVE_TEXTURE_2D,
-   gl_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE,
-   gl_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE,
-   gl_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE,
-   gl_OFFSET_HILO_TEXTURE_2D,
-   gl_OFFSET_HILO_TEXTURE_RECTANGLE,
-   gl_OFFSET_HILO_PROJECTIVE_TEXTURE_2D,
-   gl_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE,
-   gl_DEPENDENT_HILO_TEXTURE_2D,
-   gl_DEPENDENT_RGB_TEXTURE_3D,
-   gl_DEPENDENT_RGB_TEXTURE_CUBE_MAP,
-   gl_DOT_PRODUCT_PASS_THROUGH,
-   gl_DOT_PRODUCT_TEXTURE_1D,
-   gl_DOT_PRODUCT_AFFINE_DEPTH_REPLACE,
-   gl_HILO8,
-   gl_SIGNED_HILO8,
-   gl_FORCE_BLUE_TO_ONE
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core32
-
-gl_OFFSET_PROJECTIVE_TEXTURE_2D :: GLenum
-gl_OFFSET_PROJECTIVE_TEXTURE_2D = 0x8850
-
-gl_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE :: GLenum
-gl_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE = 0x8851
-
-gl_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE :: GLenum
-gl_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE = 0x8852
-
-gl_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE :: GLenum
-gl_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE = 0x8853
-
-gl_OFFSET_HILO_TEXTURE_2D :: GLenum
-gl_OFFSET_HILO_TEXTURE_2D = 0x8854
-
-gl_OFFSET_HILO_TEXTURE_RECTANGLE :: GLenum
-gl_OFFSET_HILO_TEXTURE_RECTANGLE = 0x8855
-
-gl_OFFSET_HILO_PROJECTIVE_TEXTURE_2D :: GLenum
-gl_OFFSET_HILO_PROJECTIVE_TEXTURE_2D = 0x8856
-
-gl_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE :: GLenum
-gl_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE = 0x8857
-
-gl_DEPENDENT_HILO_TEXTURE_2D :: GLenum
-gl_DEPENDENT_HILO_TEXTURE_2D = 0x8858
-
-gl_DEPENDENT_RGB_TEXTURE_3D :: GLenum
-gl_DEPENDENT_RGB_TEXTURE_3D = 0x8859
-
-gl_DEPENDENT_RGB_TEXTURE_CUBE_MAP :: GLenum
-gl_DEPENDENT_RGB_TEXTURE_CUBE_MAP = 0x885A
-
-gl_DOT_PRODUCT_PASS_THROUGH :: GLenum
-gl_DOT_PRODUCT_PASS_THROUGH = 0x885B
-
-gl_DOT_PRODUCT_TEXTURE_1D :: GLenum
-gl_DOT_PRODUCT_TEXTURE_1D = 0x885C
-
-gl_DOT_PRODUCT_AFFINE_DEPTH_REPLACE :: GLenum
-gl_DOT_PRODUCT_AFFINE_DEPTH_REPLACE = 0x885D
-
-gl_HILO8 :: GLenum
-gl_HILO8 = 0x885E
-
-gl_SIGNED_HILO8 :: GLenum
-gl_SIGNED_HILO8 = 0x885F
-
-gl_FORCE_BLUE_TO_ONE :: GLenum
-gl_FORCE_BLUE_TO_ONE = 0x8860
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.NV.TextureShader3
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the NV_texture_shader3 extension, see
+-- <http://www.opengl.org/registry/specs/NV/texture_shader3.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.NV.TextureShader3 (
+   -- * Tokens
+   gl_OFFSET_PROJECTIVE_TEXTURE_2D,
+   gl_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE,
+   gl_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE,
+   gl_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE,
+   gl_OFFSET_HILO_TEXTURE_2D,
+   gl_OFFSET_HILO_TEXTURE_RECTANGLE,
+   gl_OFFSET_HILO_PROJECTIVE_TEXTURE_2D,
+   gl_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE,
+   gl_DEPENDENT_HILO_TEXTURE_2D,
+   gl_DEPENDENT_RGB_TEXTURE_3D,
+   gl_DEPENDENT_RGB_TEXTURE_CUBE_MAP,
+   gl_DOT_PRODUCT_PASS_THROUGH,
+   gl_DOT_PRODUCT_TEXTURE_1D,
+   gl_DOT_PRODUCT_AFFINE_DEPTH_REPLACE,
+   gl_HILO8,
+   gl_SIGNED_HILO8,
+   gl_FORCE_BLUE_TO_ONE
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
+
+gl_OFFSET_PROJECTIVE_TEXTURE_2D :: GLenum
+gl_OFFSET_PROJECTIVE_TEXTURE_2D = 0x8850
+
+gl_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE :: GLenum
+gl_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE = 0x8851
+
+gl_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE :: GLenum
+gl_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE = 0x8852
+
+gl_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE :: GLenum
+gl_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE = 0x8853
+
+gl_OFFSET_HILO_TEXTURE_2D :: GLenum
+gl_OFFSET_HILO_TEXTURE_2D = 0x8854
+
+gl_OFFSET_HILO_TEXTURE_RECTANGLE :: GLenum
+gl_OFFSET_HILO_TEXTURE_RECTANGLE = 0x8855
+
+gl_OFFSET_HILO_PROJECTIVE_TEXTURE_2D :: GLenum
+gl_OFFSET_HILO_PROJECTIVE_TEXTURE_2D = 0x8856
+
+gl_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE :: GLenum
+gl_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE = 0x8857
+
+gl_DEPENDENT_HILO_TEXTURE_2D :: GLenum
+gl_DEPENDENT_HILO_TEXTURE_2D = 0x8858
+
+gl_DEPENDENT_RGB_TEXTURE_3D :: GLenum
+gl_DEPENDENT_RGB_TEXTURE_3D = 0x8859
+
+gl_DEPENDENT_RGB_TEXTURE_CUBE_MAP :: GLenum
+gl_DEPENDENT_RGB_TEXTURE_CUBE_MAP = 0x885A
+
+gl_DOT_PRODUCT_PASS_THROUGH :: GLenum
+gl_DOT_PRODUCT_PASS_THROUGH = 0x885B
+
+gl_DOT_PRODUCT_TEXTURE_1D :: GLenum
+gl_DOT_PRODUCT_TEXTURE_1D = 0x885C
+
+gl_DOT_PRODUCT_AFFINE_DEPTH_REPLACE :: GLenum
+gl_DOT_PRODUCT_AFFINE_DEPTH_REPLACE = 0x885D
+
+gl_HILO8 :: GLenum
+gl_HILO8 = 0x885E
+
+gl_SIGNED_HILO8 :: GLenum
+gl_SIGNED_HILO8 = 0x885F
+
+gl_FORCE_BLUE_TO_ONE :: GLenum
+gl_FORCE_BLUE_TO_ONE = 0x8860
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/TransformFeedback.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/TransformFeedback.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/TransformFeedback.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/TransformFeedback.hs
@@ -1,124 +1,124 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.TransformFeedback
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the NV_transform_feedback extension, see
--- <http://www.opengl.org/registry/specs/NV/transform_feedback.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.TransformFeedback (
-   -- * Functions
-   glBindBufferRange,
-   glBindBufferOffset,
-   glBindBufferBase,
-   glTransformFeedbackAttribs,
-   glTransformFeedbackVaryingsNV,
-   glBeginTransformFeedback,
-   glEndTransformFeedback,
-   glGetVaryingLocation,
-   glGetActiveVarying,
-   glActiveVarying,
-   glGetTransformFeedbackVaryingNV,
-   glGetIntegerIndexedv,
-   glGetBooleanIndexedv,
-   -- * Tokens
-   gl_TRANSFORM_FEEDBACK_BUFFER,
-   gl_TRANSFORM_FEEDBACK_BUFFER_START,
-   gl_TRANSFORM_FEEDBACK_BUFFER_SIZE,
-   gl_TRANSFORM_FEEDBACK_RECORD,
-   gl_TRANSFORM_FEEDBACK_BUFFER_BINDING,
-   gl_INTERLEAVED_ATTRIBS,
-   gl_SEPARATE_ATTRIBS,
-   gl_PRIMITIVES_GENERATED,
-   gl_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN,
-   gl_RASTERIZER_DISCARD,
-   gl_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,
-   gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,
-   gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,
-   gl_TRANSFORM_FEEDBACK_ATTRIBS,
-   gl_ACTIVE_VARYINGS,
-   gl_ACTIVE_VARYING_MAX_LENGTH,
-   gl_TRANSFORM_FEEDBACK_VARYINGS,
-   gl_TRANSFORM_FEEDBACK_BUFFER_MODE,
-   gl_BACK_PRIMARY_COLOR,
-   gl_BACK_SECONDARY_COLOR,
-   gl_TEXTURE_COORD,
-   gl_CLIP_DISTANCE,
-   gl_VERTEX_ID,
-   gl_PRIMITIVE_ID,
-   gl_GENERIC_ATTRIB,
-   gl_POINT_SIZE,
-   gl_FOG_COORDINATE,
-   gl_SECONDARY_COLOR,
-   gl_PRIMARY_COLOR,
-   gl_POSITION,
-   gl_LAYER,
-   gl_UNSIGNED_INT_VEC2,
-   gl_UNSIGNED_INT_VEC3,
-   gl_UNSIGNED_INT_VEC4
-) where
-
-import Foreign.Ptr
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
-import Graphics.Rendering.OpenGL.Raw.Core32
-import Graphics.Rendering.OpenGL.Raw.EXT.DirectStateAccess
-import Graphics.Rendering.OpenGL.Raw.Extensions
-import Graphics.Rendering.OpenGL.Raw.NV.ParameterBufferObject
-import Graphics.Rendering.OpenGL.Raw.NV.RegisterCombiners
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_NV_transform_feedback"
-
-EXTENSION_ENTRY(glTransformFeedbackAttribs,GLsizei -> Ptr GLint -> GLenum -> IO ())
-EXTENSION_ENTRY(glTransformFeedbackVaryingsNV,GLuint -> GLsizei -> Ptr GLint -> GLenum -> IO ())
-EXTENSION_ENTRY(glGetVaryingLocation,GLuint -> Ptr GLchar -> IO GLint)
-EXTENSION_ENTRY(glGetActiveVarying,GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> IO ())
-EXTENSION_ENTRY(glActiveVarying,GLuint -> Ptr GLchar -> IO ())
-EXTENSION_ENTRY(glGetTransformFeedbackVaryingNV,GLuint -> GLuint -> Ptr GLint -> IO ())
-
-gl_TRANSFORM_FEEDBACK_RECORD :: GLenum
-gl_TRANSFORM_FEEDBACK_RECORD = 0x8C86
-
-gl_TRANSFORM_FEEDBACK_ATTRIBS :: GLenum
-gl_TRANSFORM_FEEDBACK_ATTRIBS = 0x8C7E
-
-gl_ACTIVE_VARYINGS :: GLenum
-gl_ACTIVE_VARYINGS = 0x8C81
-
-gl_ACTIVE_VARYING_MAX_LENGTH :: GLenum
-gl_ACTIVE_VARYING_MAX_LENGTH = 0x8C82
-
-gl_BACK_PRIMARY_COLOR :: GLenum
-gl_BACK_PRIMARY_COLOR = 0x8C77
-
-gl_BACK_SECONDARY_COLOR :: GLenum
-gl_BACK_SECONDARY_COLOR = 0x8C78
-
-gl_TEXTURE_COORD :: GLenum
-gl_TEXTURE_COORD = 0x8C79
-
-gl_CLIP_DISTANCE :: GLenum
-gl_CLIP_DISTANCE = 0x8C7A
-
-gl_VERTEX_ID :: GLenum
-gl_VERTEX_ID = 0x8C7B
-
-gl_PRIMITIVE_ID :: GLenum
-gl_PRIMITIVE_ID = 0x8C7C
-
-gl_GENERIC_ATTRIB :: GLenum
-gl_GENERIC_ATTRIB = 0x8C7D
-
-gl_LAYER :: GLenum
-gl_LAYER = 0x8DAA
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.NV.TransformFeedback
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the NV_transform_feedback extension, see
+-- <http://www.opengl.org/registry/specs/NV/transform_feedback.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.NV.TransformFeedback (
+   -- * Functions
+   glBindBufferRange,
+   glBindBufferOffset,
+   glBindBufferBase,
+   glTransformFeedbackAttribs,
+   glTransformFeedbackVaryingsNV,
+   glBeginTransformFeedback,
+   glEndTransformFeedback,
+   glGetVaryingLocation,
+   glGetActiveVarying,
+   glActiveVarying,
+   glGetTransformFeedbackVaryingNV,
+   glGetIntegerIndexedv,
+   glGetBooleanIndexedv,
+   -- * Tokens
+   gl_TRANSFORM_FEEDBACK_BUFFER,
+   gl_TRANSFORM_FEEDBACK_BUFFER_START,
+   gl_TRANSFORM_FEEDBACK_BUFFER_SIZE,
+   gl_TRANSFORM_FEEDBACK_RECORD,
+   gl_TRANSFORM_FEEDBACK_BUFFER_BINDING,
+   gl_INTERLEAVED_ATTRIBS,
+   gl_SEPARATE_ATTRIBS,
+   gl_PRIMITIVES_GENERATED,
+   gl_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN,
+   gl_RASTERIZER_DISCARD,
+   gl_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,
+   gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,
+   gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,
+   gl_TRANSFORM_FEEDBACK_ATTRIBS,
+   gl_ACTIVE_VARYINGS,
+   gl_ACTIVE_VARYING_MAX_LENGTH,
+   gl_TRANSFORM_FEEDBACK_VARYINGS,
+   gl_TRANSFORM_FEEDBACK_BUFFER_MODE,
+   gl_BACK_PRIMARY_COLOR,
+   gl_BACK_SECONDARY_COLOR,
+   gl_TEXTURE_COORD,
+   gl_CLIP_DISTANCE,
+   gl_VERTEX_ID,
+   gl_PRIMITIVE_ID,
+   gl_GENERIC_ATTRIB,
+   gl_POINT_SIZE,
+   gl_FOG_COORDINATE,
+   gl_SECONDARY_COLOR,
+   gl_PRIMARY_COLOR,
+   gl_POSITION,
+   gl_LAYER,
+   gl_UNSIGNED_INT_VEC2,
+   gl_UNSIGNED_INT_VEC3,
+   gl_UNSIGNED_INT_VEC4
+) where
+
+import Foreign.Ptr
+import Foreign.C.Types
+import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
+import Graphics.Rendering.OpenGL.Raw.Core32
+import Graphics.Rendering.OpenGL.Raw.EXT.DirectStateAccess
+import Graphics.Rendering.OpenGL.Raw.Extensions
+import Graphics.Rendering.OpenGL.Raw.NV.ParameterBufferObject
+import Graphics.Rendering.OpenGL.Raw.NV.RegisterCombiners
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_NV_transform_feedback"
+
+EXTENSION_ENTRY(dyn_glTransformFeedbackAttribs,ptr_glTransformFeedbackAttribs,"glTransformFeedbackAttribs",glTransformFeedbackAttribs,GLsizei -> Ptr GLint -> GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glTransformFeedbackVaryingsNV,ptr_glTransformFeedbackVaryingsNV,"glTransformFeedbackVaryingsNV",glTransformFeedbackVaryingsNV,GLuint -> GLsizei -> Ptr GLint -> GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glGetVaryingLocation,ptr_glGetVaryingLocation,"glGetVaryingLocation",glGetVaryingLocation,GLuint -> Ptr GLchar -> IO GLint)
+EXTENSION_ENTRY(dyn_glGetActiveVarying,ptr_glGetActiveVarying,"glGetActiveVarying",glGetActiveVarying,GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> IO ())
+EXTENSION_ENTRY(dyn_glActiveVarying,ptr_glActiveVarying,"glActiveVarying",glActiveVarying,GLuint -> Ptr GLchar -> IO ())
+EXTENSION_ENTRY(dyn_glGetTransformFeedbackVaryingNV,ptr_glGetTransformFeedbackVaryingNV,"glGetTransformFeedbackVaryingNV",glGetTransformFeedbackVaryingNV,GLuint -> GLuint -> Ptr GLint -> IO ())
+
+gl_TRANSFORM_FEEDBACK_RECORD :: GLenum
+gl_TRANSFORM_FEEDBACK_RECORD = 0x8C86
+
+gl_TRANSFORM_FEEDBACK_ATTRIBS :: GLenum
+gl_TRANSFORM_FEEDBACK_ATTRIBS = 0x8C7E
+
+gl_ACTIVE_VARYINGS :: GLenum
+gl_ACTIVE_VARYINGS = 0x8C81
+
+gl_ACTIVE_VARYING_MAX_LENGTH :: GLenum
+gl_ACTIVE_VARYING_MAX_LENGTH = 0x8C82
+
+gl_BACK_PRIMARY_COLOR :: GLenum
+gl_BACK_PRIMARY_COLOR = 0x8C77
+
+gl_BACK_SECONDARY_COLOR :: GLenum
+gl_BACK_SECONDARY_COLOR = 0x8C78
+
+gl_TEXTURE_COORD :: GLenum
+gl_TEXTURE_COORD = 0x8C79
+
+gl_CLIP_DISTANCE :: GLenum
+gl_CLIP_DISTANCE = 0x8C7A
+
+gl_VERTEX_ID :: GLenum
+gl_VERTEX_ID = 0x8C7B
+
+gl_PRIMITIVE_ID :: GLenum
+gl_PRIMITIVE_ID = 0x8C7C
+
+gl_GENERIC_ATTRIB :: GLenum
+gl_GENERIC_ATTRIB = 0x8C7D
+
+gl_LAYER :: GLenum
+gl_LAYER = 0x8DAA
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/TransformFeedback2.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/TransformFeedback2.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/TransformFeedback2.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/TransformFeedback2.hs
@@ -1,62 +1,32 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.TransformFeedback2
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the NV_transform_feedback2 extension, see
--- <http://www.opengl.org/registry/specs/NV/transform_feedback2.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.TransformFeedback2 (
-   -- * Functions
-   glBindTransformFeedback,
-   glDeleteTransformFeedbacks,
-   glGenTransformFeedbacks,
-   glIsTransformFeedback,
-   glPauseTransformFeedback,
-   glResumeTransformFeedback,
-   glDrawTransformFeedback,
-   -- * Tokens
-   gl_TRANSFORM_FEEDBACK,
-   gl_TRANSFORM_FEEDBACK_BUFFER_PAUSED,
-   gl_TRANSFORM_FEEDBACK_BUFFER_ACTIVE,
-   gl_TRANSFORM_FEEDBACK_BINDING
-) where
-
-import Foreign.Ptr
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core32
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_NV_transform_feedback2"
-
-EXTENSION_ENTRY(glBindTransformFeedback,GLenum -> GLuint -> IO ())
-EXTENSION_ENTRY(glDeleteTransformFeedbacks,GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glGenTransformFeedbacks,GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glIsTransformFeedback,GLuint -> IO GLboolean)
-EXTENSION_ENTRY(glPauseTransformFeedback,IO ())
-EXTENSION_ENTRY(glResumeTransformFeedback,IO ())
-EXTENSION_ENTRY(glDrawTransformFeedback,GLenum -> GLuint -> IO ())
-
-gl_TRANSFORM_FEEDBACK :: GLenum
-gl_TRANSFORM_FEEDBACK = 0x8E22
-
-gl_TRANSFORM_FEEDBACK_BUFFER_PAUSED :: GLenum
-gl_TRANSFORM_FEEDBACK_BUFFER_PAUSED = 0x8E23
-
-gl_TRANSFORM_FEEDBACK_BUFFER_ACTIVE :: GLenum
-gl_TRANSFORM_FEEDBACK_BUFFER_ACTIVE = 0x8E24
-
-gl_TRANSFORM_FEEDBACK_BINDING :: GLenum
-gl_TRANSFORM_FEEDBACK_BINDING = 0x8E25
-
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.NV.TransformFeedback2
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the NV_transform_feedback2 extension, see
+-- <http://www.opengl.org/registry/specs/NV/transform_feedback2.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.NV.TransformFeedback2 (
+   -- * Functions
+   glBindTransformFeedback,
+   glDeleteTransformFeedbacks,
+   glGenTransformFeedbacks,
+   glIsTransformFeedback,
+   glPauseTransformFeedback,
+   glResumeTransformFeedback,
+   glDrawTransformFeedback,
+   -- * Tokens
+   gl_TRANSFORM_FEEDBACK,
+   gl_TRANSFORM_FEEDBACK_BUFFER_PAUSED,
+   gl_TRANSFORM_FEEDBACK_BUFFER_ACTIVE,
+   gl_TRANSFORM_FEEDBACK_BINDING
+) where
+
+import Graphics.Rendering.OpenGL.Raw.ARB.TransformFeedback2
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/VertexArrayRange.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/VertexArrayRange.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/VertexArrayRange.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/VertexArrayRange.hs
@@ -1,56 +1,56 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.VertexArrayRange
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the NV_vertex_array_range extension not
--- already in the OpenGL 3.1 core, see
--- <http://www.opengl.org/registry/specs/NV/vertex_array_range.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.VertexArrayRange (
-   -- * Functions
-   glVertexArrayRange,
-   glFlushVertexArrayRange,
-   -- * Tokens
-   gl_VERTEX_ARRAY_RANGE,
-   gl_VERTEX_ARRAY_RANGE_LENGTH,
-   gl_VERTEX_ARRAY_RANGE_VALID,
-   gl_MAX_VERTEX_ARRAY_RANGE_ELEMENT,
-   gl_VERTEX_ARRAY_RANGE_POINTER
-) where
-
-import Foreign.Ptr
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_NV_vertex_array_range"
-
-EXTENSION_ENTRY(glVertexArrayRange,GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(glFlushVertexArrayRange,IO ())
-
-gl_VERTEX_ARRAY_RANGE :: GLenum
-gl_VERTEX_ARRAY_RANGE = 0x851D
-
-gl_VERTEX_ARRAY_RANGE_LENGTH :: GLenum
-gl_VERTEX_ARRAY_RANGE_LENGTH = 0x851E
-
-gl_VERTEX_ARRAY_RANGE_VALID :: GLenum
-gl_VERTEX_ARRAY_RANGE_VALID = 0x851F
-
-gl_MAX_VERTEX_ARRAY_RANGE_ELEMENT :: GLenum
-gl_MAX_VERTEX_ARRAY_RANGE_ELEMENT = 0x8520
-
-gl_VERTEX_ARRAY_RANGE_POINTER :: GLenum
-gl_VERTEX_ARRAY_RANGE_POINTER = 0x8521
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.NV.VertexArrayRange
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the NV_vertex_array_range extension not
+-- already in the OpenGL 3.1 core, see
+-- <http://www.opengl.org/registry/specs/NV/vertex_array_range.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.NV.VertexArrayRange (
+   -- * Functions
+   glVertexArrayRange,
+   glFlushVertexArrayRange,
+   -- * Tokens
+   gl_VERTEX_ARRAY_RANGE,
+   gl_VERTEX_ARRAY_RANGE_LENGTH,
+   gl_VERTEX_ARRAY_RANGE_VALID,
+   gl_MAX_VERTEX_ARRAY_RANGE_ELEMENT,
+   gl_VERTEX_ARRAY_RANGE_POINTER
+) where
+
+import Foreign.Ptr
+import Foreign.C.Types
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+import Graphics.Rendering.OpenGL.Raw.Extensions
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_NV_vertex_array_range"
+
+EXTENSION_ENTRY(dyn_glVertexArrayRange,ptr_glVertexArrayRange,"glVertexArrayRange",glVertexArrayRange,GLsizei -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glFlushVertexArrayRange,ptr_glFlushVertexArrayRange,"glFlushVertexArrayRange",glFlushVertexArrayRange,IO ())
+
+gl_VERTEX_ARRAY_RANGE :: GLenum
+gl_VERTEX_ARRAY_RANGE = 0x851D
+
+gl_VERTEX_ARRAY_RANGE_LENGTH :: GLenum
+gl_VERTEX_ARRAY_RANGE_LENGTH = 0x851E
+
+gl_VERTEX_ARRAY_RANGE_VALID :: GLenum
+gl_VERTEX_ARRAY_RANGE_VALID = 0x851F
+
+gl_MAX_VERTEX_ARRAY_RANGE_ELEMENT :: GLenum
+gl_MAX_VERTEX_ARRAY_RANGE_ELEMENT = 0x8520
+
+gl_VERTEX_ARRAY_RANGE_POINTER :: GLenum
+gl_VERTEX_ARRAY_RANGE_POINTER = 0x8521
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/VertexArrayRange2.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/VertexArrayRange2.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/VertexArrayRange2.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/VertexArrayRange2.hs
@@ -1,25 +1,25 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.VertexArrayRange2
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the NV_vertex_array_range2 extension not
--- already in the OpenGL 3.1 core, see
--- <http://www.opengl.org/registry/specs/NV/vertex_array_range2.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.VertexArrayRange2 (
-   -- * Tokens
-   gl_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core32
-
-gl_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH :: GLenum
-gl_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH = 0x8533
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.NV.VertexArrayRange2
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the NV_vertex_array_range2 extension not
+-- already in the OpenGL 3.1 core, see
+-- <http://www.opengl.org/registry/specs/NV/vertex_array_range2.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.NV.VertexArrayRange2 (
+   -- * Tokens
+   gl_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
+
+gl_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH :: GLenum
+gl_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH = 0x8533
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/VertexProgram.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/VertexProgram.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/VertexProgram.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/VertexProgram.hs
@@ -1,476 +1,476 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.VertexProgram
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens from the NV_vertex_program extension, see
--- <http://www.opengl.org/registry/specs/NV/vertex_program.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.VertexProgram (
-   -- * Functions
-   glBindProgramNV,
-   glDeleteProgramsNV,
-   glExecuteProgram,
-   glGenProgramsNV,
-   glAreProgramsResident,
-   glRequestResidentPrograms,
-   glGetProgramParameterfv,
-   glGetProgramParameterdv,
-   glGetProgramivNV,
-   glGetProgramStringNV,
-   glGetTrackMatrixiv,
-   glGetVertexAttribdvNV,
-   glGetVertexAttribfvNV,
-   glGetVertexAttribivNV,
-   glGetVertexAttribPointervNV,
-   glIsProgramNV,
-   glLoadProgram,
-   glProgramParameter4f,
-   glProgramParameter4d,
-   glProgramParameter4dv,
-   glProgramParameter4fv,
-   glProgramParameters4dv,
-   glProgramParameters4fv,
-   glTrackMatrix,
-   glVertexAttribPointerNV,
-   glVertexAttrib1sNV,
-   glVertexAttrib1fNV,
-   glVertexAttrib1dNV,
-   glVertexAttrib2sNV,
-   glVertexAttrib2fNV,
-   glVertexAttrib2dNV,
-   glVertexAttrib3sNV,
-   glVertexAttrib3fNV,
-   glVertexAttrib3dNV,
-   glVertexAttrib4sNV,
-   glVertexAttrib4fNV,
-   glVertexAttrib4dNV,
-   glVertexAttrib4ub,
-   glVertexAttrib1svNV,
-   glVertexAttrib1fvNV,
-   glVertexAttrib1dvNV,
-   glVertexAttrib2svNV,
-   glVertexAttrib2fvNV,
-   glVertexAttrib2dvNV,
-   glVertexAttrib3svNV,
-   glVertexAttrib3fvNV,
-   glVertexAttrib3dvNV,
-   glVertexAttrib4svNV,
-   glVertexAttrib4fvNV,
-   glVertexAttrib4dvNV,
-   glVertexAttrib4ubvNV,
-   glVertexAttribs1sv,
-   glVertexAttribs1fv,
-   glVertexAttribs1dv,
-   glVertexAttribs2sv,
-   glVertexAttribs2fv,
-   glVertexAttribs2dv,
-   glVertexAttribs3sv,
-   glVertexAttribs3fv,
-   glVertexAttribs3dv,
-   glVertexAttribs4sv,
-   glVertexAttribs4fv,
-   glVertexAttribs4dv,
-   glVertexAttribs4ubv,
-   -- * Tokens
-   gl_VERTEX_PROGRAM,
-   gl_VERTEX_PROGRAM_POINT_SIZE,
-   gl_VERTEX_PROGRAM_TWO_SIDE,
-   gl_VERTEX_STATE_PROGRAM,
-   gl_ATTRIB_ARRAY_SIZE,
-   gl_ATTRIB_ARRAY_STRIDE,
-   gl_ATTRIB_ARRAY_TYPE,
-   gl_CURRENT_ATTRIB,
-   gl_PROGRAM_PARAMETER,
-   gl_ATTRIB_ARRAY_POINTER,
-   gl_PROGRAM_TARGET,
-   gl_PROGRAM_LENGTH,
-   gl_PROGRAM_RESIDENT,
-   gl_PROGRAM_STRING,
-   gl_TRACK_MATRIX,
-   gl_TRACK_MATRIX_TRANSFORM,
-   gl_MAX_TRACK_MATRIX_STACK_DEPTH,
-   gl_MAX_TRACK_MATRICES,
-   gl_CURRENT_MATRIX_STACK_DEPTH,
-   gl_CURRENT_MATRIX,
-   gl_VERTEX_PROGRAM_BINDING,
-   gl_PROGRAM_ERROR_POSITION,
-   gl_MODELVIEW_PROJECTION,
-   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_IDENTITY,
-   gl_INVERSE,
-   gl_TRANSPOSE,
-   gl_INVERSE_TRANSPOSE,
-   gl_VERTEX_ATTRIB_ARRAY0,
-   gl_VERTEX_ATTRIB_ARRAY1,
-   gl_VERTEX_ATTRIB_ARRAY2,
-   gl_VERTEX_ATTRIB_ARRAY3,
-   gl_VERTEX_ATTRIB_ARRAY4,
-   gl_VERTEX_ATTRIB_ARRAY5,
-   gl_VERTEX_ATTRIB_ARRAY6,
-   gl_VERTEX_ATTRIB_ARRAY7,
-   gl_VERTEX_ATTRIB_ARRAY8,
-   gl_VERTEX_ATTRIB_ARRAY9,
-   gl_VERTEX_ATTRIB_ARRAY10,
-   gl_VERTEX_ATTRIB_ARRAY11,
-   gl_VERTEX_ATTRIB_ARRAY12,
-   gl_VERTEX_ATTRIB_ARRAY13,
-   gl_VERTEX_ATTRIB_ARRAY14,
-   gl_VERTEX_ATTRIB_ARRAY15,
-   gl_MAP1_VERTEX_ATTRIB0_4,
-   gl_MAP1_VERTEX_ATTRIB1_4,
-   gl_MAP1_VERTEX_ATTRIB2_4,
-   gl_MAP1_VERTEX_ATTRIB3_4,
-   gl_MAP1_VERTEX_ATTRIB4_4,
-   gl_MAP1_VERTEX_ATTRIB5_4,
-   gl_MAP1_VERTEX_ATTRIB6_4,
-   gl_MAP1_VERTEX_ATTRIB7_4,
-   gl_MAP1_VERTEX_ATTRIB8_4,
-   gl_MAP1_VERTEX_ATTRIB9_4,
-   gl_MAP1_VERTEX_ATTRIB10_4,
-   gl_MAP1_VERTEX_ATTRIB11_4,
-   gl_MAP1_VERTEX_ATTRIB12_4,
-   gl_MAP1_VERTEX_ATTRIB13_4,
-   gl_MAP1_VERTEX_ATTRIB14_4,
-   gl_MAP1_VERTEX_ATTRIB15_4,
-   gl_MAP2_VERTEX_ATTRIB0_4,
-   gl_MAP2_VERTEX_ATTRIB1_4,
-   gl_MAP2_VERTEX_ATTRIB2_4,
-   gl_MAP2_VERTEX_ATTRIB3_4,
-   gl_MAP2_VERTEX_ATTRIB4_4,
-   gl_MAP2_VERTEX_ATTRIB5_4,
-   gl_MAP2_VERTEX_ATTRIB6_4,
-   gl_MAP2_VERTEX_ATTRIB7_4,
-   gl_MAP2_VERTEX_ATTRIB8_4,
-   gl_MAP2_VERTEX_ATTRIB9_4,
-   gl_MAP2_VERTEX_ATTRIB10_4,
-   gl_MAP2_VERTEX_ATTRIB11_4,
-   gl_MAP2_VERTEX_ATTRIB12_4,
-   gl_MAP2_VERTEX_ATTRIB13_4,
-   gl_MAP2_VERTEX_ATTRIB14_4,
-   gl_MAP2_VERTEX_ATTRIB15_4
-) where
-
-import Foreign.Ptr
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.ARB.VertexProgram
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_NV_vertex_program"
-
-EXTENSION_ENTRY(glBindProgramNV,GLenum -> GLuint -> IO ())
-EXTENSION_ENTRY(glDeleteProgramsNV,GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glExecuteProgram,GLenum -> GLuint -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glGenProgramsNV,GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glAreProgramsResident,GLsizei -> Ptr GLuint -> Ptr GLboolean -> IO GLboolean)
-EXTENSION_ENTRY(glRequestResidentPrograms,GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glGetProgramParameterfv,GLenum -> GLuint -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glGetProgramParameterdv,GLenum -> GLuint -> GLenum -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glGetProgramivNV,GLuint -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glGetProgramStringNV,GLuint -> GLenum -> Ptr GLubyte -> IO ())
-EXTENSION_ENTRY(glGetTrackMatrixiv,GLenum -> GLuint -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glGetVertexAttribdvNV,GLuint -> GLenum -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glGetVertexAttribfvNV,GLuint -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glGetVertexAttribivNV,GLuint -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glGetVertexAttribPointervNV,GLuint -> GLenum -> Ptr (Ptr a) -> IO ())
-EXTENSION_ENTRY(glIsProgramNV,GLuint -> IO GLboolean)
-EXTENSION_ENTRY(glLoadProgram,GLenum -> GLuint -> GLsizei -> Ptr GLubyte -> IO ())
-EXTENSION_ENTRY(glProgramParameter4f,GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat  -> IO ())
-EXTENSION_ENTRY(glProgramParameter4d,GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble  -> IO ())
-EXTENSION_ENTRY(glProgramParameter4dv,GLenum -> GLuint -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glProgramParameter4fv,GLenum -> GLuint -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glProgramParameters4dv,GLenum -> GLuint -> GLuint -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glProgramParameters4fv,GLenum -> GLuint -> GLuint -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glTrackMatrix,GLenum -> GLuint -> GLenum -> GLenum -> IO ())
-EXTENSION_ENTRY(glVertexAttribPointerNV,GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(glVertexAttrib1sNV,GLuint -> GLshort -> IO ())
-EXTENSION_ENTRY(glVertexAttrib1fNV,GLuint -> GLfloat -> IO ())
-EXTENSION_ENTRY(glVertexAttrib1dNV,GLuint -> GLdouble -> IO ())
-EXTENSION_ENTRY(glVertexAttrib2sNV,GLuint -> GLshort -> GLshort -> IO ())
-EXTENSION_ENTRY(glVertexAttrib2fNV,GLuint -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(glVertexAttrib2dNV,GLuint -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(glVertexAttrib3sNV,GLuint -> GLshort -> GLshort -> GLshort -> IO ())
-EXTENSION_ENTRY(glVertexAttrib3fNV,GLuint -> GLfloat -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(glVertexAttrib3dNV,GLuint -> GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(glVertexAttrib4sNV,GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
-EXTENSION_ENTRY(glVertexAttrib4fNV,GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(glVertexAttrib4dNV,GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(glVertexAttrib4ub,GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> IO ())
-EXTENSION_ENTRY(glVertexAttrib1svNV,GLuint -> Ptr GLshort -> IO ())
-EXTENSION_ENTRY(glVertexAttrib1fvNV,GLuint -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glVertexAttrib1dvNV,GLuint -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glVertexAttrib2svNV,GLuint -> Ptr GLshort -> IO ())
-EXTENSION_ENTRY(glVertexAttrib2fvNV,GLuint -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glVertexAttrib2dvNV,GLuint -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glVertexAttrib3svNV,GLuint -> Ptr GLshort -> IO ())
-EXTENSION_ENTRY(glVertexAttrib3fvNV,GLuint -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glVertexAttrib3dvNV,GLuint -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glVertexAttrib4svNV,GLuint -> Ptr GLshort -> IO ())
-EXTENSION_ENTRY(glVertexAttrib4fvNV,GLuint -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glVertexAttrib4dvNV,GLuint -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glVertexAttrib4ubvNV,GLuint -> Ptr GLubyte -> IO ())
-EXTENSION_ENTRY(glVertexAttribs1sv,GLuint -> GLsizei -> Ptr GLshort -> IO ())
-EXTENSION_ENTRY(glVertexAttribs1fv,GLuint -> GLsizei -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glVertexAttribs1dv,GLuint -> GLsizei -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glVertexAttribs2sv,GLuint -> GLsizei -> Ptr GLshort -> IO ())
-EXTENSION_ENTRY(glVertexAttribs2fv,GLuint -> GLsizei -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glVertexAttribs2dv,GLuint -> GLsizei -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glVertexAttribs3sv,GLuint -> GLsizei -> Ptr GLshort -> IO ())
-EXTENSION_ENTRY(glVertexAttribs3fv,GLuint -> GLsizei -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glVertexAttribs3dv,GLuint -> GLsizei -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glVertexAttribs4sv,GLuint -> GLsizei -> Ptr GLshort -> IO ())
-EXTENSION_ENTRY(glVertexAttribs4fv,GLuint -> GLsizei -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glVertexAttribs4dv,GLuint -> GLsizei -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(glVertexAttribs4ubv,GLuint -> GLsizei -> Ptr GLubyte -> IO ())
-
-gl_VERTEX_STATE_PROGRAM :: GLenum
-gl_VERTEX_STATE_PROGRAM = 0x8621
-
-gl_ATTRIB_ARRAY_SIZE :: GLenum
-gl_ATTRIB_ARRAY_SIZE = 0x8623
-
-gl_ATTRIB_ARRAY_STRIDE :: GLenum
-gl_ATTRIB_ARRAY_STRIDE = 0x8624
-
-gl_ATTRIB_ARRAY_TYPE :: GLenum
-gl_ATTRIB_ARRAY_TYPE = 0x8625
-
-gl_CURRENT_ATTRIB :: GLenum
-gl_CURRENT_ATTRIB = 0x8626
-
-gl_PROGRAM_PARAMETER :: GLenum
-gl_PROGRAM_PARAMETER = 0x8644
-
-gl_ATTRIB_ARRAY_POINTER :: GLenum
-gl_ATTRIB_ARRAY_POINTER = 0x8645
-
-gl_PROGRAM_TARGET :: GLenum
-gl_PROGRAM_TARGET = 0x8646
-
-gl_PROGRAM_RESIDENT :: GLenum
-gl_PROGRAM_RESIDENT = 0x8647
-
-gl_TRACK_MATRIX :: GLenum
-gl_TRACK_MATRIX = 0x8648
-
-gl_TRACK_MATRIX_TRANSFORM :: GLenum
-gl_TRACK_MATRIX_TRANSFORM = 0x8649
-
-gl_MAX_TRACK_MATRIX_STACK_DEPTH :: GLenum
-gl_MAX_TRACK_MATRIX_STACK_DEPTH = 0x862E
-
-gl_MAX_TRACK_MATRICES :: GLenum
-gl_MAX_TRACK_MATRICES = 0x862F
-
-gl_VERTEX_PROGRAM_BINDING :: GLenum
-gl_VERTEX_PROGRAM_BINDING = 0x864A
-
-gl_MODELVIEW_PROJECTION :: GLenum
-gl_MODELVIEW_PROJECTION = 0x8629
-
--- | Note: We use the NV suffix here, because the name clashes with the ARB_vertex_program.
-gl_MATRIX0_NV :: GLenum
-gl_MATRIX0_NV = 0x8630
-
--- | Note: We use the NV suffix here, because the name clashes with the ARB_vertex_program.
-gl_MATRIX1_NV :: GLenum
-gl_MATRIX1_NV = 0x8631
-
--- | Note: We use the NV suffix here, because the name clashes with the ARB_vertex_program.
-gl_MATRIX2_NV :: GLenum
-gl_MATRIX2_NV = 0x8632
-
--- | Note: We use the NV suffix here, because the name clashes with the ARB_vertex_program.
-gl_MATRIX3_NV :: GLenum
-gl_MATRIX3_NV = 0x8633
-
--- | Note: We use the NV suffix here, because the name clashes with the ARB_vertex_program.
-gl_MATRIX4_NV :: GLenum
-gl_MATRIX4_NV = 0x8634
-
--- | Note: We use the NV suffix here, because the name clashes with the ARB_vertex_program.
-gl_MATRIX5_NV :: GLenum
-gl_MATRIX5_NV = 0x8635
-
--- | Note: We use the NV suffix here, because the name clashes with the ARB_vertex_program.
-gl_MATRIX6_NV :: GLenum
-gl_MATRIX6_NV = 0x8636
-
--- | Note: We use the NV suffix here, because the name clashes with the ARB_vertex_program.
-gl_MATRIX7_NV :: GLenum
-gl_MATRIX7_NV = 0x8637
-
-gl_IDENTITY :: GLenum
-gl_IDENTITY = 0x862A
-
-gl_INVERSE :: GLenum
-gl_INVERSE = 0x862B
-
-gl_TRANSPOSE :: GLenum
-gl_TRANSPOSE = 0x862C
-
-gl_INVERSE_TRANSPOSE :: GLenum
-gl_INVERSE_TRANSPOSE = 0x862D
-
-gl_VERTEX_ATTRIB_ARRAY0 :: GLenum
-gl_VERTEX_ATTRIB_ARRAY0 = 0x8650
-
-gl_VERTEX_ATTRIB_ARRAY1 :: GLenum
-gl_VERTEX_ATTRIB_ARRAY1 = 0x8651
-
-gl_VERTEX_ATTRIB_ARRAY2 :: GLenum
-gl_VERTEX_ATTRIB_ARRAY2 = 0x8652
-
-gl_VERTEX_ATTRIB_ARRAY3 :: GLenum
-gl_VERTEX_ATTRIB_ARRAY3 = 0x8653
-
-gl_VERTEX_ATTRIB_ARRAY4 :: GLenum
-gl_VERTEX_ATTRIB_ARRAY4 = 0x8654
-
-gl_VERTEX_ATTRIB_ARRAY5 :: GLenum
-gl_VERTEX_ATTRIB_ARRAY5 = 0x8655
-
-gl_VERTEX_ATTRIB_ARRAY6 :: GLenum
-gl_VERTEX_ATTRIB_ARRAY6 = 0x8656
-
-gl_VERTEX_ATTRIB_ARRAY7 :: GLenum
-gl_VERTEX_ATTRIB_ARRAY7 = 0x8657
-
-gl_VERTEX_ATTRIB_ARRAY8 :: GLenum
-gl_VERTEX_ATTRIB_ARRAY8 = 0x8658
-
-gl_VERTEX_ATTRIB_ARRAY9 :: GLenum
-gl_VERTEX_ATTRIB_ARRAY9 = 0x8659
-
-gl_VERTEX_ATTRIB_ARRAY10 :: GLenum
-gl_VERTEX_ATTRIB_ARRAY10 = 0x865A
-
-gl_VERTEX_ATTRIB_ARRAY11 :: GLenum
-gl_VERTEX_ATTRIB_ARRAY11 = 0x865B
-
-gl_VERTEX_ATTRIB_ARRAY12 :: GLenum
-gl_VERTEX_ATTRIB_ARRAY12 = 0x865C
-
-gl_VERTEX_ATTRIB_ARRAY13 :: GLenum
-gl_VERTEX_ATTRIB_ARRAY13 = 0x865D
-
-gl_VERTEX_ATTRIB_ARRAY14 :: GLenum
-gl_VERTEX_ATTRIB_ARRAY14 = 0x865E
-
-gl_VERTEX_ATTRIB_ARRAY15 :: GLenum
-gl_VERTEX_ATTRIB_ARRAY15 = 0x865F
-
-gl_MAP1_VERTEX_ATTRIB0_4 :: GLenum
-gl_MAP1_VERTEX_ATTRIB0_4 = 0x8660
-
-gl_MAP1_VERTEX_ATTRIB1_4 :: GLenum
-gl_MAP1_VERTEX_ATTRIB1_4 = 0x8661
-
-gl_MAP1_VERTEX_ATTRIB2_4 :: GLenum
-gl_MAP1_VERTEX_ATTRIB2_4 = 0x8662
-
-gl_MAP1_VERTEX_ATTRIB3_4 :: GLenum
-gl_MAP1_VERTEX_ATTRIB3_4 = 0x8663
-
-gl_MAP1_VERTEX_ATTRIB4_4 :: GLenum
-gl_MAP1_VERTEX_ATTRIB4_4 = 0x8664
-
-gl_MAP1_VERTEX_ATTRIB5_4 :: GLenum
-gl_MAP1_VERTEX_ATTRIB5_4 = 0x8665
-
-gl_MAP1_VERTEX_ATTRIB6_4 :: GLenum
-gl_MAP1_VERTEX_ATTRIB6_4 = 0x8666
-
-gl_MAP1_VERTEX_ATTRIB7_4 :: GLenum
-gl_MAP1_VERTEX_ATTRIB7_4 = 0x8667
-
-gl_MAP1_VERTEX_ATTRIB8_4 :: GLenum
-gl_MAP1_VERTEX_ATTRIB8_4 = 0x8668
-
-gl_MAP1_VERTEX_ATTRIB9_4 :: GLenum
-gl_MAP1_VERTEX_ATTRIB9_4 = 0x8669
-
-gl_MAP1_VERTEX_ATTRIB10_4 :: GLenum
-gl_MAP1_VERTEX_ATTRIB10_4 = 0x866A
-
-gl_MAP1_VERTEX_ATTRIB11_4 :: GLenum
-gl_MAP1_VERTEX_ATTRIB11_4 = 0x866B
-
-gl_MAP1_VERTEX_ATTRIB12_4 :: GLenum
-gl_MAP1_VERTEX_ATTRIB12_4 = 0x866C
-
-gl_MAP1_VERTEX_ATTRIB13_4 :: GLenum
-gl_MAP1_VERTEX_ATTRIB13_4 = 0x866D
-
-gl_MAP1_VERTEX_ATTRIB14_4 :: GLenum
-gl_MAP1_VERTEX_ATTRIB14_4 = 0x866E
-
-gl_MAP1_VERTEX_ATTRIB15_4 :: GLenum
-gl_MAP1_VERTEX_ATTRIB15_4 = 0x866F
-
-gl_MAP2_VERTEX_ATTRIB0_4 :: GLenum
-gl_MAP2_VERTEX_ATTRIB0_4 = 0x8670
-
-gl_MAP2_VERTEX_ATTRIB1_4 :: GLenum
-gl_MAP2_VERTEX_ATTRIB1_4 = 0x8671
-
-gl_MAP2_VERTEX_ATTRIB2_4 :: GLenum
-gl_MAP2_VERTEX_ATTRIB2_4 = 0x8672
-
-gl_MAP2_VERTEX_ATTRIB3_4 :: GLenum
-gl_MAP2_VERTEX_ATTRIB3_4 = 0x8673
-
-gl_MAP2_VERTEX_ATTRIB4_4 :: GLenum
-gl_MAP2_VERTEX_ATTRIB4_4 = 0x8674
-
-gl_MAP2_VERTEX_ATTRIB5_4 :: GLenum
-gl_MAP2_VERTEX_ATTRIB5_4 = 0x8675
-
-gl_MAP2_VERTEX_ATTRIB6_4 :: GLenum
-gl_MAP2_VERTEX_ATTRIB6_4 = 0x8676
-
-gl_MAP2_VERTEX_ATTRIB7_4 :: GLenum
-gl_MAP2_VERTEX_ATTRIB7_4 = 0x8677
-
-gl_MAP2_VERTEX_ATTRIB8_4 :: GLenum
-gl_MAP2_VERTEX_ATTRIB8_4 = 0x8678
-
-gl_MAP2_VERTEX_ATTRIB9_4 :: GLenum
-gl_MAP2_VERTEX_ATTRIB9_4 = 0x8679
-
-gl_MAP2_VERTEX_ATTRIB10_4 :: GLenum
-gl_MAP2_VERTEX_ATTRIB10_4 = 0x867A
-
-gl_MAP2_VERTEX_ATTRIB11_4 :: GLenum
-gl_MAP2_VERTEX_ATTRIB11_4 = 0x867B
-
-gl_MAP2_VERTEX_ATTRIB12_4 :: GLenum
-gl_MAP2_VERTEX_ATTRIB12_4 = 0x867C
-
-gl_MAP2_VERTEX_ATTRIB13_4 :: GLenum
-gl_MAP2_VERTEX_ATTRIB13_4 = 0x867D
-
-gl_MAP2_VERTEX_ATTRIB14_4 :: GLenum
-gl_MAP2_VERTEX_ATTRIB14_4 = 0x867E
-
-gl_MAP2_VERTEX_ATTRIB15_4 :: GLenum
-gl_MAP2_VERTEX_ATTRIB15_4 = 0x867F
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.NV.VertexProgram
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions and tokens from the NV_vertex_program extension, see
+-- <http://www.opengl.org/registry/specs/NV/vertex_program.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.NV.VertexProgram (
+   -- * Functions
+   glBindProgramNV,
+   glDeleteProgramsNV,
+   glExecuteProgram,
+   glGenProgramsNV,
+   glAreProgramsResident,
+   glRequestResidentPrograms,
+   glGetProgramParameterfv,
+   glGetProgramParameterdv,
+   glGetProgramivNV,
+   glGetProgramStringNV,
+   glGetTrackMatrixiv,
+   glGetVertexAttribdvNV,
+   glGetVertexAttribfvNV,
+   glGetVertexAttribivNV,
+   glGetVertexAttribPointervNV,
+   glIsProgramNV,
+   glLoadProgram,
+   glProgramParameter4f,
+   glProgramParameter4d,
+   glProgramParameter4dv,
+   glProgramParameter4fv,
+   glProgramParameters4dv,
+   glProgramParameters4fv,
+   glTrackMatrix,
+   glVertexAttribPointerNV,
+   glVertexAttrib1sNV,
+   glVertexAttrib1fNV,
+   glVertexAttrib1dNV,
+   glVertexAttrib2sNV,
+   glVertexAttrib2fNV,
+   glVertexAttrib2dNV,
+   glVertexAttrib3sNV,
+   glVertexAttrib3fNV,
+   glVertexAttrib3dNV,
+   glVertexAttrib4sNV,
+   glVertexAttrib4fNV,
+   glVertexAttrib4dNV,
+   glVertexAttrib4ub,
+   glVertexAttrib1svNV,
+   glVertexAttrib1fvNV,
+   glVertexAttrib1dvNV,
+   glVertexAttrib2svNV,
+   glVertexAttrib2fvNV,
+   glVertexAttrib2dvNV,
+   glVertexAttrib3svNV,
+   glVertexAttrib3fvNV,
+   glVertexAttrib3dvNV,
+   glVertexAttrib4svNV,
+   glVertexAttrib4fvNV,
+   glVertexAttrib4dvNV,
+   glVertexAttrib4ubvNV,
+   glVertexAttribs1sv,
+   glVertexAttribs1fv,
+   glVertexAttribs1dv,
+   glVertexAttribs2sv,
+   glVertexAttribs2fv,
+   glVertexAttribs2dv,
+   glVertexAttribs3sv,
+   glVertexAttribs3fv,
+   glVertexAttribs3dv,
+   glVertexAttribs4sv,
+   glVertexAttribs4fv,
+   glVertexAttribs4dv,
+   glVertexAttribs4ubv,
+   -- * Tokens
+   gl_VERTEX_PROGRAM,
+   gl_VERTEX_PROGRAM_POINT_SIZE,
+   gl_VERTEX_PROGRAM_TWO_SIDE,
+   gl_VERTEX_STATE_PROGRAM,
+   gl_ATTRIB_ARRAY_SIZE,
+   gl_ATTRIB_ARRAY_STRIDE,
+   gl_ATTRIB_ARRAY_TYPE,
+   gl_CURRENT_ATTRIB,
+   gl_PROGRAM_PARAMETER,
+   gl_ATTRIB_ARRAY_POINTER,
+   gl_PROGRAM_TARGET,
+   gl_PROGRAM_LENGTH,
+   gl_PROGRAM_RESIDENT,
+   gl_PROGRAM_STRING,
+   gl_TRACK_MATRIX,
+   gl_TRACK_MATRIX_TRANSFORM,
+   gl_MAX_TRACK_MATRIX_STACK_DEPTH,
+   gl_MAX_TRACK_MATRICES,
+   gl_CURRENT_MATRIX_STACK_DEPTH,
+   gl_CURRENT_MATRIX,
+   gl_VERTEX_PROGRAM_BINDING,
+   gl_PROGRAM_ERROR_POSITION,
+   gl_MODELVIEW_PROJECTION,
+   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_IDENTITY,
+   gl_INVERSE,
+   gl_TRANSPOSE,
+   gl_INVERSE_TRANSPOSE,
+   gl_VERTEX_ATTRIB_ARRAY0,
+   gl_VERTEX_ATTRIB_ARRAY1,
+   gl_VERTEX_ATTRIB_ARRAY2,
+   gl_VERTEX_ATTRIB_ARRAY3,
+   gl_VERTEX_ATTRIB_ARRAY4,
+   gl_VERTEX_ATTRIB_ARRAY5,
+   gl_VERTEX_ATTRIB_ARRAY6,
+   gl_VERTEX_ATTRIB_ARRAY7,
+   gl_VERTEX_ATTRIB_ARRAY8,
+   gl_VERTEX_ATTRIB_ARRAY9,
+   gl_VERTEX_ATTRIB_ARRAY10,
+   gl_VERTEX_ATTRIB_ARRAY11,
+   gl_VERTEX_ATTRIB_ARRAY12,
+   gl_VERTEX_ATTRIB_ARRAY13,
+   gl_VERTEX_ATTRIB_ARRAY14,
+   gl_VERTEX_ATTRIB_ARRAY15,
+   gl_MAP1_VERTEX_ATTRIB0_4,
+   gl_MAP1_VERTEX_ATTRIB1_4,
+   gl_MAP1_VERTEX_ATTRIB2_4,
+   gl_MAP1_VERTEX_ATTRIB3_4,
+   gl_MAP1_VERTEX_ATTRIB4_4,
+   gl_MAP1_VERTEX_ATTRIB5_4,
+   gl_MAP1_VERTEX_ATTRIB6_4,
+   gl_MAP1_VERTEX_ATTRIB7_4,
+   gl_MAP1_VERTEX_ATTRIB8_4,
+   gl_MAP1_VERTEX_ATTRIB9_4,
+   gl_MAP1_VERTEX_ATTRIB10_4,
+   gl_MAP1_VERTEX_ATTRIB11_4,
+   gl_MAP1_VERTEX_ATTRIB12_4,
+   gl_MAP1_VERTEX_ATTRIB13_4,
+   gl_MAP1_VERTEX_ATTRIB14_4,
+   gl_MAP1_VERTEX_ATTRIB15_4,
+   gl_MAP2_VERTEX_ATTRIB0_4,
+   gl_MAP2_VERTEX_ATTRIB1_4,
+   gl_MAP2_VERTEX_ATTRIB2_4,
+   gl_MAP2_VERTEX_ATTRIB3_4,
+   gl_MAP2_VERTEX_ATTRIB4_4,
+   gl_MAP2_VERTEX_ATTRIB5_4,
+   gl_MAP2_VERTEX_ATTRIB6_4,
+   gl_MAP2_VERTEX_ATTRIB7_4,
+   gl_MAP2_VERTEX_ATTRIB8_4,
+   gl_MAP2_VERTEX_ATTRIB9_4,
+   gl_MAP2_VERTEX_ATTRIB10_4,
+   gl_MAP2_VERTEX_ATTRIB11_4,
+   gl_MAP2_VERTEX_ATTRIB12_4,
+   gl_MAP2_VERTEX_ATTRIB13_4,
+   gl_MAP2_VERTEX_ATTRIB14_4,
+   gl_MAP2_VERTEX_ATTRIB15_4
+) where
+
+import Foreign.Ptr
+import Foreign.C.Types
+import Graphics.Rendering.OpenGL.Raw.Core31.Types
+import Graphics.Rendering.OpenGL.Raw.ARB.VertexProgram
+import Graphics.Rendering.OpenGL.Raw.Extensions
+
+#include "HsOpenGLRaw.h"
+
+extensionNameString :: String
+extensionNameString = "GL_NV_vertex_program"
+
+EXTENSION_ENTRY(dyn_glBindProgramNV,ptr_glBindProgramNV,"glBindProgramNV",glBindProgramNV,GLenum -> GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glDeleteProgramsNV,ptr_glDeleteProgramsNV,"glDeleteProgramsNV",glDeleteProgramsNV,GLsizei -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glExecuteProgram,ptr_glExecuteProgram,"glExecuteProgram",glExecuteProgram,GLenum -> GLuint -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glGenProgramsNV,ptr_glGenProgramsNV,"glGenProgramsNV",glGenProgramsNV,GLsizei -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glAreProgramsResident,ptr_glAreProgramsResident,"glAreProgramsResident",glAreProgramsResident,GLsizei -> Ptr GLuint -> Ptr GLboolean -> IO GLboolean)
+EXTENSION_ENTRY(dyn_glRequestResidentPrograms,ptr_glRequestResidentPrograms,"glRequestResidentPrograms",glRequestResidentPrograms,GLsizei -> Ptr GLuint -> IO ())
+EXTENSION_ENTRY(dyn_glGetProgramParameterfv,ptr_glGetProgramParameterfv,"glGetProgramParameterfv",glGetProgramParameterfv,GLenum -> GLuint -> GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glGetProgramParameterdv,ptr_glGetProgramParameterdv,"glGetProgramParameterdv",glGetProgramParameterdv,GLenum -> GLuint -> GLenum -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glGetProgramivNV,ptr_glGetProgramivNV,"glGetProgramivNV",glGetProgramivNV,GLuint -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glGetProgramStringNV,ptr_glGetProgramStringNV,"glGetProgramStringNV",glGetProgramStringNV,GLuint -> GLenum -> Ptr GLubyte -> IO ())
+EXTENSION_ENTRY(dyn_glGetTrackMatrixiv,ptr_glGetTrackMatrixiv,"glGetTrackMatrixiv",glGetTrackMatrixiv,GLenum -> GLuint -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glGetVertexAttribdvNV,ptr_glGetVertexAttribdvNV,"glGetVertexAttribdvNV",glGetVertexAttribdvNV,GLuint -> GLenum -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glGetVertexAttribfvNV,ptr_glGetVertexAttribfvNV,"glGetVertexAttribfvNV",glGetVertexAttribfvNV,GLuint -> GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glGetVertexAttribivNV,ptr_glGetVertexAttribivNV,"glGetVertexAttribivNV",glGetVertexAttribivNV,GLuint -> GLenum -> Ptr GLint -> IO ())
+EXTENSION_ENTRY(dyn_glGetVertexAttribPointervNV,ptr_glGetVertexAttribPointervNV,"glGetVertexAttribPointervNV",glGetVertexAttribPointervNV,GLuint -> GLenum -> Ptr (Ptr a) -> IO ())
+EXTENSION_ENTRY(dyn_glIsProgramNV,ptr_glIsProgramNV,"glIsProgramNV",glIsProgramNV,GLuint -> IO GLboolean)
+EXTENSION_ENTRY(dyn_glLoadProgram,ptr_glLoadProgram,"glLoadProgram",glLoadProgram,GLenum -> GLuint -> GLsizei -> Ptr GLubyte -> IO ())
+EXTENSION_ENTRY(dyn_glProgramParameter4f,ptr_glProgramParameter4f,"glProgramParameter4f",glProgramParameter4f,GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat  -> IO ())
+EXTENSION_ENTRY(dyn_glProgramParameter4d,ptr_glProgramParameter4d,"glProgramParameter4d",glProgramParameter4d,GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble  -> IO ())
+EXTENSION_ENTRY(dyn_glProgramParameter4dv,ptr_glProgramParameter4dv,"glProgramParameter4dv",glProgramParameter4dv,GLenum -> GLuint -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glProgramParameter4fv,ptr_glProgramParameter4fv,"glProgramParameter4fv",glProgramParameter4fv,GLenum -> GLuint -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glProgramParameters4dv,ptr_glProgramParameters4dv,"glProgramParameters4dv",glProgramParameters4dv,GLenum -> GLuint -> GLuint -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glProgramParameters4fv,ptr_glProgramParameters4fv,"glProgramParameters4fv",glProgramParameters4fv,GLenum -> GLuint -> GLuint -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glTrackMatrix,ptr_glTrackMatrix,"glTrackMatrix",glTrackMatrix,GLenum -> GLuint -> GLenum -> GLenum -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttribPointerNV,ptr_glVertexAttribPointerNV,"glVertexAttribPointerNV",glVertexAttribPointerNV,GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib1sNV,ptr_glVertexAttrib1sNV,"glVertexAttrib1sNV",glVertexAttrib1sNV,GLuint -> GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib1fNV,ptr_glVertexAttrib1fNV,"glVertexAttrib1fNV",glVertexAttrib1fNV,GLuint -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib1dNV,ptr_glVertexAttrib1dNV,"glVertexAttrib1dNV",glVertexAttrib1dNV,GLuint -> GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib2sNV,ptr_glVertexAttrib2sNV,"glVertexAttrib2sNV",glVertexAttrib2sNV,GLuint -> GLshort -> GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib2fNV,ptr_glVertexAttrib2fNV,"glVertexAttrib2fNV",glVertexAttrib2fNV,GLuint -> GLfloat -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib2dNV,ptr_glVertexAttrib2dNV,"glVertexAttrib2dNV",glVertexAttrib2dNV,GLuint -> GLdouble -> GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib3sNV,ptr_glVertexAttrib3sNV,"glVertexAttrib3sNV",glVertexAttrib3sNV,GLuint -> GLshort -> GLshort -> GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib3fNV,ptr_glVertexAttrib3fNV,"glVertexAttrib3fNV",glVertexAttrib3fNV,GLuint -> GLfloat -> GLfloat -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib3dNV,ptr_glVertexAttrib3dNV,"glVertexAttrib3dNV",glVertexAttrib3dNV,GLuint -> GLdouble -> GLdouble -> GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib4sNV,ptr_glVertexAttrib4sNV,"glVertexAttrib4sNV",glVertexAttrib4sNV,GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib4fNV,ptr_glVertexAttrib4fNV,"glVertexAttrib4fNV",glVertexAttrib4fNV,GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib4dNV,ptr_glVertexAttrib4dNV,"glVertexAttrib4dNV",glVertexAttrib4dNV,GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib4ub,ptr_glVertexAttrib4ub,"glVertexAttrib4ub",glVertexAttrib4ub,GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib1svNV,ptr_glVertexAttrib1svNV,"glVertexAttrib1svNV",glVertexAttrib1svNV,GLuint -> Ptr GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib1fvNV,ptr_glVertexAttrib1fvNV,"glVertexAttrib1fvNV",glVertexAttrib1fvNV,GLuint -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib1dvNV,ptr_glVertexAttrib1dvNV,"glVertexAttrib1dvNV",glVertexAttrib1dvNV,GLuint -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib2svNV,ptr_glVertexAttrib2svNV,"glVertexAttrib2svNV",glVertexAttrib2svNV,GLuint -> Ptr GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib2fvNV,ptr_glVertexAttrib2fvNV,"glVertexAttrib2fvNV",glVertexAttrib2fvNV,GLuint -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib2dvNV,ptr_glVertexAttrib2dvNV,"glVertexAttrib2dvNV",glVertexAttrib2dvNV,GLuint -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib3svNV,ptr_glVertexAttrib3svNV,"glVertexAttrib3svNV",glVertexAttrib3svNV,GLuint -> Ptr GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib3fvNV,ptr_glVertexAttrib3fvNV,"glVertexAttrib3fvNV",glVertexAttrib3fvNV,GLuint -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib3dvNV,ptr_glVertexAttrib3dvNV,"glVertexAttrib3dvNV",glVertexAttrib3dvNV,GLuint -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib4svNV,ptr_glVertexAttrib4svNV,"glVertexAttrib4svNV",glVertexAttrib4svNV,GLuint -> Ptr GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib4fvNV,ptr_glVertexAttrib4fvNV,"glVertexAttrib4fvNV",glVertexAttrib4fvNV,GLuint -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib4dvNV,ptr_glVertexAttrib4dvNV,"glVertexAttrib4dvNV",glVertexAttrib4dvNV,GLuint -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttrib4ubvNV,ptr_glVertexAttrib4ubvNV,"glVertexAttrib4ubvNV",glVertexAttrib4ubvNV,GLuint -> Ptr GLubyte -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttribs1sv,ptr_glVertexAttribs1sv,"glVertexAttribs1sv",glVertexAttribs1sv,GLuint -> GLsizei -> Ptr GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttribs1fv,ptr_glVertexAttribs1fv,"glVertexAttribs1fv",glVertexAttribs1fv,GLuint -> GLsizei -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttribs1dv,ptr_glVertexAttribs1dv,"glVertexAttribs1dv",glVertexAttribs1dv,GLuint -> GLsizei -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttribs2sv,ptr_glVertexAttribs2sv,"glVertexAttribs2sv",glVertexAttribs2sv,GLuint -> GLsizei -> Ptr GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttribs2fv,ptr_glVertexAttribs2fv,"glVertexAttribs2fv",glVertexAttribs2fv,GLuint -> GLsizei -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttribs2dv,ptr_glVertexAttribs2dv,"glVertexAttribs2dv",glVertexAttribs2dv,GLuint -> GLsizei -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttribs3sv,ptr_glVertexAttribs3sv,"glVertexAttribs3sv",glVertexAttribs3sv,GLuint -> GLsizei -> Ptr GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttribs3fv,ptr_glVertexAttribs3fv,"glVertexAttribs3fv",glVertexAttribs3fv,GLuint -> GLsizei -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttribs3dv,ptr_glVertexAttribs3dv,"glVertexAttribs3dv",glVertexAttribs3dv,GLuint -> GLsizei -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttribs4sv,ptr_glVertexAttribs4sv,"glVertexAttribs4sv",glVertexAttribs4sv,GLuint -> GLsizei -> Ptr GLshort -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttribs4fv,ptr_glVertexAttribs4fv,"glVertexAttribs4fv",glVertexAttribs4fv,GLuint -> GLsizei -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttribs4dv,ptr_glVertexAttribs4dv,"glVertexAttribs4dv",glVertexAttribs4dv,GLuint -> GLsizei -> Ptr GLdouble -> IO ())
+EXTENSION_ENTRY(dyn_glVertexAttribs4ubv,ptr_glVertexAttribs4ubv,"glVertexAttribs4ubv",glVertexAttribs4ubv,GLuint -> GLsizei -> Ptr GLubyte -> IO ())
+
+gl_VERTEX_STATE_PROGRAM :: GLenum
+gl_VERTEX_STATE_PROGRAM = 0x8621
+
+gl_ATTRIB_ARRAY_SIZE :: GLenum
+gl_ATTRIB_ARRAY_SIZE = 0x8623
+
+gl_ATTRIB_ARRAY_STRIDE :: GLenum
+gl_ATTRIB_ARRAY_STRIDE = 0x8624
+
+gl_ATTRIB_ARRAY_TYPE :: GLenum
+gl_ATTRIB_ARRAY_TYPE = 0x8625
+
+gl_CURRENT_ATTRIB :: GLenum
+gl_CURRENT_ATTRIB = 0x8626
+
+gl_PROGRAM_PARAMETER :: GLenum
+gl_PROGRAM_PARAMETER = 0x8644
+
+gl_ATTRIB_ARRAY_POINTER :: GLenum
+gl_ATTRIB_ARRAY_POINTER = 0x8645
+
+gl_PROGRAM_TARGET :: GLenum
+gl_PROGRAM_TARGET = 0x8646
+
+gl_PROGRAM_RESIDENT :: GLenum
+gl_PROGRAM_RESIDENT = 0x8647
+
+gl_TRACK_MATRIX :: GLenum
+gl_TRACK_MATRIX = 0x8648
+
+gl_TRACK_MATRIX_TRANSFORM :: GLenum
+gl_TRACK_MATRIX_TRANSFORM = 0x8649
+
+gl_MAX_TRACK_MATRIX_STACK_DEPTH :: GLenum
+gl_MAX_TRACK_MATRIX_STACK_DEPTH = 0x862E
+
+gl_MAX_TRACK_MATRICES :: GLenum
+gl_MAX_TRACK_MATRICES = 0x862F
+
+gl_VERTEX_PROGRAM_BINDING :: GLenum
+gl_VERTEX_PROGRAM_BINDING = 0x864A
+
+gl_MODELVIEW_PROJECTION :: GLenum
+gl_MODELVIEW_PROJECTION = 0x8629
+
+-- | Note: We use the NV suffix here, because the name clashes with the ARB_vertex_program.
+gl_MATRIX0_NV :: GLenum
+gl_MATRIX0_NV = 0x8630
+
+-- | Note: We use the NV suffix here, because the name clashes with the ARB_vertex_program.
+gl_MATRIX1_NV :: GLenum
+gl_MATRIX1_NV = 0x8631
+
+-- | Note: We use the NV suffix here, because the name clashes with the ARB_vertex_program.
+gl_MATRIX2_NV :: GLenum
+gl_MATRIX2_NV = 0x8632
+
+-- | Note: We use the NV suffix here, because the name clashes with the ARB_vertex_program.
+gl_MATRIX3_NV :: GLenum
+gl_MATRIX3_NV = 0x8633
+
+-- | Note: We use the NV suffix here, because the name clashes with the ARB_vertex_program.
+gl_MATRIX4_NV :: GLenum
+gl_MATRIX4_NV = 0x8634
+
+-- | Note: We use the NV suffix here, because the name clashes with the ARB_vertex_program.
+gl_MATRIX5_NV :: GLenum
+gl_MATRIX5_NV = 0x8635
+
+-- | Note: We use the NV suffix here, because the name clashes with the ARB_vertex_program.
+gl_MATRIX6_NV :: GLenum
+gl_MATRIX6_NV = 0x8636
+
+-- | Note: We use the NV suffix here, because the name clashes with the ARB_vertex_program.
+gl_MATRIX7_NV :: GLenum
+gl_MATRIX7_NV = 0x8637
+
+gl_IDENTITY :: GLenum
+gl_IDENTITY = 0x862A
+
+gl_INVERSE :: GLenum
+gl_INVERSE = 0x862B
+
+gl_TRANSPOSE :: GLenum
+gl_TRANSPOSE = 0x862C
+
+gl_INVERSE_TRANSPOSE :: GLenum
+gl_INVERSE_TRANSPOSE = 0x862D
+
+gl_VERTEX_ATTRIB_ARRAY0 :: GLenum
+gl_VERTEX_ATTRIB_ARRAY0 = 0x8650
+
+gl_VERTEX_ATTRIB_ARRAY1 :: GLenum
+gl_VERTEX_ATTRIB_ARRAY1 = 0x8651
+
+gl_VERTEX_ATTRIB_ARRAY2 :: GLenum
+gl_VERTEX_ATTRIB_ARRAY2 = 0x8652
+
+gl_VERTEX_ATTRIB_ARRAY3 :: GLenum
+gl_VERTEX_ATTRIB_ARRAY3 = 0x8653
+
+gl_VERTEX_ATTRIB_ARRAY4 :: GLenum
+gl_VERTEX_ATTRIB_ARRAY4 = 0x8654
+
+gl_VERTEX_ATTRIB_ARRAY5 :: GLenum
+gl_VERTEX_ATTRIB_ARRAY5 = 0x8655
+
+gl_VERTEX_ATTRIB_ARRAY6 :: GLenum
+gl_VERTEX_ATTRIB_ARRAY6 = 0x8656
+
+gl_VERTEX_ATTRIB_ARRAY7 :: GLenum
+gl_VERTEX_ATTRIB_ARRAY7 = 0x8657
+
+gl_VERTEX_ATTRIB_ARRAY8 :: GLenum
+gl_VERTEX_ATTRIB_ARRAY8 = 0x8658
+
+gl_VERTEX_ATTRIB_ARRAY9 :: GLenum
+gl_VERTEX_ATTRIB_ARRAY9 = 0x8659
+
+gl_VERTEX_ATTRIB_ARRAY10 :: GLenum
+gl_VERTEX_ATTRIB_ARRAY10 = 0x865A
+
+gl_VERTEX_ATTRIB_ARRAY11 :: GLenum
+gl_VERTEX_ATTRIB_ARRAY11 = 0x865B
+
+gl_VERTEX_ATTRIB_ARRAY12 :: GLenum
+gl_VERTEX_ATTRIB_ARRAY12 = 0x865C
+
+gl_VERTEX_ATTRIB_ARRAY13 :: GLenum
+gl_VERTEX_ATTRIB_ARRAY13 = 0x865D
+
+gl_VERTEX_ATTRIB_ARRAY14 :: GLenum
+gl_VERTEX_ATTRIB_ARRAY14 = 0x865E
+
+gl_VERTEX_ATTRIB_ARRAY15 :: GLenum
+gl_VERTEX_ATTRIB_ARRAY15 = 0x865F
+
+gl_MAP1_VERTEX_ATTRIB0_4 :: GLenum
+gl_MAP1_VERTEX_ATTRIB0_4 = 0x8660
+
+gl_MAP1_VERTEX_ATTRIB1_4 :: GLenum
+gl_MAP1_VERTEX_ATTRIB1_4 = 0x8661
+
+gl_MAP1_VERTEX_ATTRIB2_4 :: GLenum
+gl_MAP1_VERTEX_ATTRIB2_4 = 0x8662
+
+gl_MAP1_VERTEX_ATTRIB3_4 :: GLenum
+gl_MAP1_VERTEX_ATTRIB3_4 = 0x8663
+
+gl_MAP1_VERTEX_ATTRIB4_4 :: GLenum
+gl_MAP1_VERTEX_ATTRIB4_4 = 0x8664
+
+gl_MAP1_VERTEX_ATTRIB5_4 :: GLenum
+gl_MAP1_VERTEX_ATTRIB5_4 = 0x8665
+
+gl_MAP1_VERTEX_ATTRIB6_4 :: GLenum
+gl_MAP1_VERTEX_ATTRIB6_4 = 0x8666
+
+gl_MAP1_VERTEX_ATTRIB7_4 :: GLenum
+gl_MAP1_VERTEX_ATTRIB7_4 = 0x8667
+
+gl_MAP1_VERTEX_ATTRIB8_4 :: GLenum
+gl_MAP1_VERTEX_ATTRIB8_4 = 0x8668
+
+gl_MAP1_VERTEX_ATTRIB9_4 :: GLenum
+gl_MAP1_VERTEX_ATTRIB9_4 = 0x8669
+
+gl_MAP1_VERTEX_ATTRIB10_4 :: GLenum
+gl_MAP1_VERTEX_ATTRIB10_4 = 0x866A
+
+gl_MAP1_VERTEX_ATTRIB11_4 :: GLenum
+gl_MAP1_VERTEX_ATTRIB11_4 = 0x866B
+
+gl_MAP1_VERTEX_ATTRIB12_4 :: GLenum
+gl_MAP1_VERTEX_ATTRIB12_4 = 0x866C
+
+gl_MAP1_VERTEX_ATTRIB13_4 :: GLenum
+gl_MAP1_VERTEX_ATTRIB13_4 = 0x866D
+
+gl_MAP1_VERTEX_ATTRIB14_4 :: GLenum
+gl_MAP1_VERTEX_ATTRIB14_4 = 0x866E
+
+gl_MAP1_VERTEX_ATTRIB15_4 :: GLenum
+gl_MAP1_VERTEX_ATTRIB15_4 = 0x866F
+
+gl_MAP2_VERTEX_ATTRIB0_4 :: GLenum
+gl_MAP2_VERTEX_ATTRIB0_4 = 0x8670
+
+gl_MAP2_VERTEX_ATTRIB1_4 :: GLenum
+gl_MAP2_VERTEX_ATTRIB1_4 = 0x8671
+
+gl_MAP2_VERTEX_ATTRIB2_4 :: GLenum
+gl_MAP2_VERTEX_ATTRIB2_4 = 0x8672
+
+gl_MAP2_VERTEX_ATTRIB3_4 :: GLenum
+gl_MAP2_VERTEX_ATTRIB3_4 = 0x8673
+
+gl_MAP2_VERTEX_ATTRIB4_4 :: GLenum
+gl_MAP2_VERTEX_ATTRIB4_4 = 0x8674
+
+gl_MAP2_VERTEX_ATTRIB5_4 :: GLenum
+gl_MAP2_VERTEX_ATTRIB5_4 = 0x8675
+
+gl_MAP2_VERTEX_ATTRIB6_4 :: GLenum
+gl_MAP2_VERTEX_ATTRIB6_4 = 0x8676
+
+gl_MAP2_VERTEX_ATTRIB7_4 :: GLenum
+gl_MAP2_VERTEX_ATTRIB7_4 = 0x8677
+
+gl_MAP2_VERTEX_ATTRIB8_4 :: GLenum
+gl_MAP2_VERTEX_ATTRIB8_4 = 0x8678
+
+gl_MAP2_VERTEX_ATTRIB9_4 :: GLenum
+gl_MAP2_VERTEX_ATTRIB9_4 = 0x8679
+
+gl_MAP2_VERTEX_ATTRIB10_4 :: GLenum
+gl_MAP2_VERTEX_ATTRIB10_4 = 0x867A
+
+gl_MAP2_VERTEX_ATTRIB11_4 :: GLenum
+gl_MAP2_VERTEX_ATTRIB11_4 = 0x867B
+
+gl_MAP2_VERTEX_ATTRIB12_4 :: GLenum
+gl_MAP2_VERTEX_ATTRIB12_4 = 0x867C
+
+gl_MAP2_VERTEX_ATTRIB13_4 :: GLenum
+gl_MAP2_VERTEX_ATTRIB13_4 = 0x867D
+
+gl_MAP2_VERTEX_ATTRIB14_4 :: GLenum
+gl_MAP2_VERTEX_ATTRIB14_4 = 0x867E
+
+gl_MAP2_VERTEX_ATTRIB15_4 :: GLenum
+gl_MAP2_VERTEX_ATTRIB15_4 = 0x867F
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/VertexProgram2Option.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/VertexProgram2Option.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/VertexProgram2Option.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/VertexProgram2Option.hs
@@ -1,22 +1,22 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.VertexProgram2Option
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All tokens from the NV_vertex_program2_option extension, see
--- <http://www.opengl.org/registry/specs/NV/vertex_program2_option.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.VertexProgram2Option (
-   -- * Tokens
-   gl_MAX_PROGRAM_EXEC_INSTRUCTIONS,
-   gl_MAX_PROGRAM_CALL_DEPTH
-) where
-
-import Graphics.Rendering.OpenGL.Raw.NV.FragmentProgram2
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.NV.VertexProgram2Option
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All tokens from the NV_vertex_program2_option extension, see
+-- <http://www.opengl.org/registry/specs/NV/vertex_program2_option.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.NV.VertexProgram2Option (
+   -- * Tokens
+   gl_MAX_PROGRAM_EXEC_INSTRUCTIONS,
+   gl_MAX_PROGRAM_CALL_DEPTH
+) where
+
+import Graphics.Rendering.OpenGL.Raw.NV.FragmentProgram2
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/VertexProgram3.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/VertexProgram3.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/VertexProgram3.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/VertexProgram3.hs
@@ -1,21 +1,21 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.VertexProgram3
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All tokens from the NV_vertex_program3 extension, see
--- <http://www.opengl.org/registry/specs/NV/vertex_program3.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.VertexProgram3 (
-   -- * Tokens
-   gl_MAX_VERTEX_TEXTURE_IMAGE_UNITS
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ARB.VertexShader
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.NV.VertexProgram3
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All tokens from the NV_vertex_program3 extension, see
+-- <http://www.opengl.org/registry/specs/NV/vertex_program3.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.NV.VertexProgram3 (
+   -- * Tokens
+   gl_MAX_VERTEX_TEXTURE_IMAGE_UNITS
+) where
+
+import Graphics.Rendering.OpenGL.Raw.ARB.VertexShader
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/VertexProgram4.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/VertexProgram4.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/VertexProgram4.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/VertexProgram4.hs
@@ -1,45 +1,45 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.VertexProgram4
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All tokens from the NV_vertex_program4 extension, see
--- <http://www.opengl.org/registry/specs/NV/vertex_program4.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.VertexProgram4 (
-   -- * Functions
-   glVertexAttribI1i,
-   glVertexAttribI2i,
-   glVertexAttribI3i,
-   glVertexAttribI4i,
-   glVertexAttribI1ui,
-   glVertexAttribI2ui,
-   glVertexAttribI3ui,
-   glVertexAttribI4ui,
-   glVertexAttribI1iv,
-   glVertexAttribI2iv,
-   glVertexAttribI3iv,
-   glVertexAttribI4iv,
-   glVertexAttribI1uiv,
-   glVertexAttribI2uiv,
-   glVertexAttribI3uiv,
-   glVertexAttribI4uiv,
-   glVertexAttribI4bv,
-   glVertexAttribI4sv,
-   glVertexAttribI4ubv,
-   glVertexAttribI4usv,
-   glVertexAttribIPointer,
-   glGetVertexAttribIiv,
-   glGetVertexAttribIuiv,
-   -- * Tokens
-   gl_VERTEX_ATTRIB_ARRAY_INTEGER
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core32
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.NV.VertexProgram4
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All tokens from the NV_vertex_program4 extension, see
+-- <http://www.opengl.org/registry/specs/NV/vertex_program4.txt>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.NV.VertexProgram4 (
+   -- * Functions
+   glVertexAttribI1i,
+   glVertexAttribI2i,
+   glVertexAttribI3i,
+   glVertexAttribI4i,
+   glVertexAttribI1ui,
+   glVertexAttribI2ui,
+   glVertexAttribI3ui,
+   glVertexAttribI4ui,
+   glVertexAttribI1iv,
+   glVertexAttribI2iv,
+   glVertexAttribI3iv,
+   glVertexAttribI4iv,
+   glVertexAttribI1uiv,
+   glVertexAttribI2uiv,
+   glVertexAttribI3uiv,
+   glVertexAttribI4uiv,
+   glVertexAttribI4bv,
+   glVertexAttribI4sv,
+   glVertexAttribI4ubv,
+   glVertexAttribI4usv,
+   glVertexAttribIPointer,
+   glGetVertexAttribIiv,
+   glGetVertexAttribIuiv,
+   -- * Tokens
+   gl_VERTEX_ATTRIB_ARRAY_INTEGER
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Core32
diff --git a/src/Graphics/Rendering/OpenGL/Raw/Types.hs b/src/Graphics/Rendering/OpenGL/Raw/Types.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/Types.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/Types.hs
@@ -1,90 +1,90 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.Types
--- Copyright   :  (c) Sven Panne 2009-2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- This module corresponds to table 2.2 in section 2.2 (Command Syntax) of the
--- OpenGL 4.4 specs.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.Types where
-
-import Data.Int
-import Data.Word
-import Foreign.C.Types
-import Foreign.Ptr
-
---------------------------------------------------------------------------------
-
--- | 1bit 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 (introduced in OpenGL
--- 4.1).
-type GLfixed = CInt
-
--- | 64bit signed two\'s complement binary integer (introduced in OpenGL 3.2).
-type GLint64 = Int64
-
--- | 64bit unsigned binary integer (introduced in OpenGL 3.2).
-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
-
--- | Pointer-sized non-negative binary integer size.
-type GLsizeiptr = CPtrdiff
-
--- | Pointer-sized sync object handle (introduced in OpenGL 3.2).
-type GLsync = Ptr ()
-
--- | 32bit bit field.
-type GLbitfield = CUInt
-
--- | 16bit half-precision floating-point value encoded in an unsigned scalar.
-type GLhalf = CUShort
-
--- | 32bit floating-point value.
-type GLfloat = CFloat
-
--- | 32bit floating-point value clamped to [0, 1] (no longer used in OpenGL 4.3).
-type GLclampf = CFloat
-
--- | 64bit floating-point value.
-type GLdouble = CDouble
-
--- | 64bit floating-point value clamped to [0, 1]  (no longer used in OpenGL 4.3).
-type GLclampd = CDouble
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.Types
+-- Copyright   :  (c) Sven Panne 2009-2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- This module corresponds to table 2.2 in section 2.2 (Command Syntax) of the
+-- OpenGL 4.4 specs.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.Types where
+
+import Data.Int
+import Data.Word
+import Foreign.C.Types
+import Foreign.Ptr
+
+--------------------------------------------------------------------------------
+
+-- | 1bit 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 (introduced in OpenGL
+-- 4.1).
+type GLfixed = CInt
+
+-- | 64bit signed two\'s complement binary integer (introduced in OpenGL 3.2).
+type GLint64 = Int64
+
+-- | 64bit unsigned binary integer (introduced in OpenGL 3.2).
+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
+
+-- | Pointer-sized non-negative binary integer size.
+type GLsizeiptr = CPtrdiff
+
+-- | Pointer-sized sync object handle (introduced in OpenGL 3.2).
+type GLsync = Ptr ()
+
+-- | 32bit bit field.
+type GLbitfield = CUInt
+
+-- | 16bit half-precision floating-point value encoded in an unsigned scalar.
+type GLhalf = CUShort
+
+-- | 32bit floating-point value.
+type GLfloat = CFloat
+
+-- | 32bit floating-point value clamped to [0, 1] (no longer used in OpenGL 4.3).
+type GLclampf = CFloat
+
+-- | 64bit floating-point value.
+type GLdouble = CDouble
+
+-- | 64bit floating-point value clamped to [0, 1]  (no longer used in OpenGL 4.3).
+type GLclampd = CDouble
