diff --git a/OpenGLRaw.cabal b/OpenGLRaw.cabal
--- a/OpenGLRaw.cabal
+++ b/OpenGLRaw.cabal
@@ -1,256 +1,279 @@
-name: OpenGLRaw
-version: 1.3.0.0
-license: BSD3
-license-file: LICENSE
-maintainer: Jason Dagit <dagitj@gmail.com>, Sven Panne <sven.panne@aedion.de>
-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:
-   include/CTypes.h
-   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.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.DrawInstanced,
-      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.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.PixelBufferObject,
-      Graphics.Rendering.OpenGL.Raw.ARB.PointParameters,
-      Graphics.Rendering.OpenGL.Raw.ARB.PointSprite,
-      Graphics.Rendering.OpenGL.Raw.ARB.ProvokingVertex,
-      Graphics.Rendering.OpenGL.Raw.ARB.SampleShading,
-      Graphics.Rendering.OpenGL.Raw.ARB.SeamlessCubeMap,
-      Graphics.Rendering.OpenGL.Raw.ARB.ShaderObjects,
-      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.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.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.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
-   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 -fno-warn-duplicate-exports
-   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)
-      cpp-options: "-DCALLCONV=stdcall"
-      cc-options: "-DUSE_WGLGETPROCADDRESS"
-      extra-libraries: opengl32
-   else
-      cpp-options: "-DCALLCONV=ccall"
-      if !os(darwin) && flag(UseGlXGetProcAddress)
-         cc-options: "-DUSE_GLXGETPROCADDRESS"
-      else
-         cc-options: "-DUSE_DLSYM"
-      if os(darwin)
-         frameworks: OpenGL
-      else
-         extra-libraries: GL
-
-source-repository head
-  type:     git
-  location: https://github.com/haskell-opengl/OpenGLRaw
+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
diff --git a/README.md b/README.md
new file mode 100644
--- /dev/null
+++ b/README.md
@@ -0,0 +1,1 @@
+[![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 2009
- * License     :  BSD-style (see the file LICENSE)
- *
- * Maintainer  :  sven.panne@aedion.de
- * 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/CTypes.h b/include/CTypes.h
deleted file mode 100644
--- a/include/CTypes.h
+++ /dev/null
@@ -1,219 +0,0 @@
-/* -----------------------------------------------------------------------------
- *
- * Module      :  Dirty CPP hackery for OpenGL's basic types
- * Copyright   :  (c) Sven Panne 2009 + the FFI task force
- * License     :  BSD-style (see the file LICENSE)
- * 
- * Maintainer  :  sven.panne@aedion.de
- * Stability   :  stable
- * Portability :  portable
- *
- * This header should only define preprocessor macros! It is basically a
- * slightly modified version of CTypes.h and Typeable.h from GHC's base package.
- *
- * -------------------------------------------------------------------------- */
-
-#ifndef CTYPES_H
-#define CTYPES_H
-
---  // A hacked version for GHC follows the Haskell 98 version...
-#ifndef __GLASGOW_HASKELL__
-
-#define INSTANCE_TYPEABLE0(tycon,tcname,str) \
-tcname :: TyCon; \
-tcname = mkTyCon str; \
-instance Typeable tycon where { typeOf _ = mkTyConApp tcname [] }
-
-#define ARITHMETIC_TYPE(T,C,S,B) \
-newtype T = T B deriving (Eq, Ord) ; \
-INSTANCE_NUM(T) ; \
-INSTANCE_REAL(T) ; \
-INSTANCE_READ(T,B) ; \
-INSTANCE_SHOW(T,B) ; \
-INSTANCE_ENUM(T) ; \
-INSTANCE_STORABLE(T) ; \
-INSTANCE_TYPEABLE0(T,C,S) ;
-
-#define INTEGRAL_TYPE(T,C,S,B) \
-ARITHMETIC_TYPE(T,C,S,B) ; \
-INSTANCE_BOUNDED(T) ; \
-INSTANCE_INTEGRAL(T) ; \
-INSTANCE_BITS(T)
-
-#define FLOATING_TYPE(T,C,S,B) \
-ARITHMETIC_TYPE(T,C,S,B) ; \
-INSTANCE_FRACTIONAL(T) ; \
-INSTANCE_FLOATING(T) ; \
-INSTANCE_REALFRAC(T) ; \
-INSTANCE_REALFLOAT(T)
-
-#define INSTANCE_READ(T,B) \
-instance Read T where { \
-   readsPrec p s = map (\(x, t) -> (T x, t)) (readsPrec p s) }
-
-#define INSTANCE_SHOW(T,B) \
-instance Show T where { \
-   showsPrec p (T x) = showsPrec p x }
-
-#define INSTANCE_NUM(T) \
-instance Num T where { \
-   (T i) + (T j) = T (i + j) ; \
-   (T i) - (T j) = T (i - j) ; \
-   (T i) * (T j) = T (i * j) ; \
-   negate  (T i) = T (negate i) ; \
-   abs     (T i) = T (abs    i) ; \
-   signum  (T i) = T (signum i) ; \
-   fromInteger x = T (fromInteger x) }
-
-#define INSTANCE_BOUNDED(T) \
-instance Bounded T where { \
-   minBound = T minBound ; \
-   maxBound = T maxBound }
-
-#define INSTANCE_ENUM(T) \
-instance Enum T where { \
-   succ           (T i)             = T (succ i) ; \
-   pred           (T i)             = T (pred i) ; \
-   toEnum               x           = T (toEnum x) ; \
-   fromEnum       (T i)             = fromEnum i ; \
-   enumFrom       (T i)             = map T (enumFrom i) ; \
-   enumFromThen   (T i) (T j)       = map T (enumFromThen i j) ; \
-   enumFromTo     (T i) (T j)       = map T (enumFromTo i j) ; \
-   enumFromThenTo (T i) (T j) (T k) = map T (enumFromThenTo i j k) }
-
-#define INSTANCE_REAL(T) \
-instance Real T where { \
-   toRational (T i) = toRational i }
-
-#define INSTANCE_INTEGRAL(T) \
-instance Integral T where { \
-   (T i) `quot`    (T j) = T (i `quot` j) ; \
-   (T i) `rem`     (T j) = T (i `rem`  j) ; \
-   (T i) `div`     (T j) = T (i `div`  j) ; \
-   (T i) `mod`     (T j) = T (i `mod`  j) ; \
-   (T i) `quotRem` (T j) = let (q,r) = i `quotRem` j in (T q, T r) ; \
-   (T i) `divMod`  (T j) = let (d,m) = i `divMod`  j in (T d, T m) ; \
-   toInteger (T i)       = toInteger i }
-
-#define INSTANCE_BITS(T) \
-instance Bits T where { \
-  (T x) .&.     (T y)   = T (x .&.   y) ; \
-  (T x) .|.     (T y)   = T (x .|.   y) ; \
-  (T x) `xor`   (T y)   = T (x `xor` y) ; \
-  complement    (T x)   = T (complement x) ; \
-  shift         (T x) n = T (shift x n) ; \
-  rotate        (T x) n = T (rotate x n) ; \
-  bit                 n = T (bit n) ; \
-  setBit        (T x) n = T (setBit x n) ; \
-  clearBit      (T x) n = T (clearBit x n) ; \
-  complementBit (T x) n = T (complementBit x n) ; \
-  testBit       (T x) n = testBit x n ; \
-  bitSize       (T x)   = bitSize x ; \
-  isSigned      (T x)   = isSigned x }
-
-#define INSTANCE_FRACTIONAL(T) \
-instance Fractional T where { \
-   (T x) / (T y)  = T (x / y) ; \
-   recip   (T x)  = T (recip x) ; \
-   fromRational r = T (fromRational r) }
-
-#define INSTANCE_FLOATING(T) \
-instance Floating T where { \
-   pi                    = pi ; \
-   exp   (T x)           = T (exp   x) ; \
-   log   (T x)           = T (log   x) ; \
-   sqrt  (T x)           = T (sqrt  x) ; \
-   (T x) **        (T y) = T (x ** y) ; \
-   (T x) `logBase` (T y) = T (x `logBase` y) ; \
-   sin   (T x)           = T (sin   x) ; \
-   cos   (T x)           = T (cos   x) ; \
-   tan   (T x)           = T (tan   x) ; \
-   asin  (T x)           = T (asin  x) ; \
-   acos  (T x)           = T (acos  x) ; \
-   atan  (T x)           = T (atan  x) ; \
-   sinh  (T x)           = T (sinh  x) ; \
-   cosh  (T x)           = T (cosh  x) ; \
-   tanh  (T x)           = T (tanh  x) ; \
-   asinh (T x)           = T (asinh x) ; \
-   acosh (T x)           = T (acosh x) ; \
-   atanh (T x)           = T (atanh x) }
-
-#define INSTANCE_REALFRAC(T) \
-instance RealFrac T where { \
-   properFraction (T x) = let (m,y) = properFraction x in (m, T y) ; \
-   truncate (T x) = truncate x ; \
-   round    (T x) = round x ; \
-   ceiling  (T x) = ceiling x ; \
-   floor    (T x) = floor x }
-
-#define INSTANCE_REALFLOAT(T) \
-instance RealFloat T where { \
-   floatRadix     (T x) = floatRadix x ; \
-   floatDigits    (T x) = floatDigits x ; \
-   floatRange     (T x) = floatRange x ; \
-   decodeFloat    (T x) = decodeFloat x ; \
-   encodeFloat m n      = T (encodeFloat m n) ; \
-   exponent       (T x) = exponent x ; \
-   significand    (T x) = T (significand  x) ; \
-   scaleFloat n   (T x) = T (scaleFloat n x) ; \
-   isNaN          (T x) = isNaN x ; \
-   isInfinite     (T x) = isInfinite x ; \
-   isDenormalized (T x) = isDenormalized x ; \
-   isNegativeZero (T x) = isNegativeZero x ; \
-   isIEEE         (T x) = isIEEE x ; \
-   (T x) `atan2`  (T y) = T (x `atan2` y) }
-
-#define INSTANCE_STORABLE(T) \
-instance Storable T where { \
-   sizeOf    (T x)       = sizeOf x ; \
-   alignment (T x)       = alignment x ; \
-   peekElemOff a i       = liftM T (peekElemOff (castPtr a) i) ; \
-   pokeElemOff a i (T x) = pokeElemOff (castPtr a) i x }
-
-#else /* __GLASGOW_HASKELL__ */
-
---  // GHC can derive any class for a newtype, so we make use of that here...
-
-#define INSTANCE_TYPEABLE0(tycon,tcname,str) deriving instance Typeable tycon
-#define GHC_RULE(N,R) {-# RULES "N" R #-}
-
-#define ARITHMETIC_CLASSES  Eq,Ord,Num,Enum,Storable,Real
-#define INTEGRAL_CLASSES Bounded,Integral,Bits
-#define FLOATING_CLASSES Fractional,Floating,RealFrac,RealFloat
-
-#define ARITHMETIC_TYPE(T,C,S,B) \
-newtype T = T B deriving (ARITHMETIC_CLASSES); \
-INSTANCE_READ(T,B); \
-INSTANCE_SHOW(T,B); \
-INSTANCE_TYPEABLE0(T,C,S) ;
-
-#define INTEGRAL_TYPE(T,C,S,B) \
-newtype T = T B deriving (ARITHMETIC_CLASSES, INTEGRAL_CLASSES); \
-INSTANCE_READ(T,B); \
-INSTANCE_SHOW(T,B); \
-INSTANCE_TYPEABLE0(T,C,S) ; \
-GHC_RULE(fromIntegral/a->T,fromIntegral = \x -> T (fromIntegral x)) ; \
-GHC_RULE(fromIntegral/T->a,fromIntegral = \(T x) -> fromIntegral x)
-
-#define FLOATING_TYPE(T,C,S,B) \
-newtype T = T B deriving (ARITHMETIC_CLASSES, FLOATING_CLASSES); \
-INSTANCE_READ(T,B); \
-INSTANCE_SHOW(T,B); \
-INSTANCE_TYPEABLE0(T,C,S) ; \
-GHC_RULE(realToFrac/a->T,realToFrac = \x -> T (realToFrac x)) ; \
-GHC_RULE(realToFrac/T->a,realToFrac = \(T x) -> realToFrac x)
-
-#define INSTANCE_READ(T,B) \
-instance Read T where { \
-   readsPrec            = unsafeCoerce# (readsPrec :: Int -> ReadS B); \
-   readList             = unsafeCoerce# (readList  :: ReadS [B]); }
-
-#define INSTANCE_SHOW(T,B) \
-instance Show T where { \
-   showsPrec            = unsafeCoerce# (showsPrec :: Int -> B -> ShowS); \
-   show                 = unsafeCoerce# (show :: B -> String); \
-   showList             = unsafeCoerce# (showList :: [B] -> ShowS); }
-
-#endif /* __GLASGOW_HASKELL__ */
-
-#endif
diff --git a/include/HsOpenGLRaw.h b/include/HsOpenGLRaw.h
--- a/include/HsOpenGLRaw.h
+++ b/include/HsOpenGLRaw.h
@@ -1,29 +1,29 @@
-/* -----------------------------------------------------------------------------
- *
- * Module      :  GL extension support for Graphics.Rendering.OpenGL.Raw
- * Copyright   :  (c) Sven Panne 2009
- * License     :  BSD-style (see the file LICENSE)
- * 
- * Maintainer  :  sven.panne@aedion.de
- * 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
+
+/* 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
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,27 +1,29 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw
--- Copyright   :  (c) Sven Panne 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- Stability   :  stable
--- Portability :  portable
---
--- A convenience module, combining all raw OpenGL modules.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw (
-   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.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.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
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,147 +1,182 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB
--- Copyright   :  (c) Sven Panne 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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,
-   module Graphics.Rendering.OpenGL.Raw.ARB.TransposeMatrix,
-   module Graphics.Rendering.OpenGL.Raw.ARB.Multisample,
-   module Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvAdd,
-   module Graphics.Rendering.OpenGL.Raw.ARB.TextureCubeMap,
-   module Graphics.Rendering.OpenGL.Raw.ARB.TextureCompression,
-   module Graphics.Rendering.OpenGL.Raw.ARB.TextureBorderClamp,
-   module Graphics.Rendering.OpenGL.Raw.ARB.PointParameters,
-   module Graphics.Rendering.OpenGL.Raw.ARB.VertexBlend,
-   module Graphics.Rendering.OpenGL.Raw.ARB.MatrixPalette,
-   module Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvCombine,
-   module Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvCrossbar,
-   module Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvDot3,
-   module Graphics.Rendering.OpenGL.Raw.ARB.TextureMirroredRepeat,
-   module Graphics.Rendering.OpenGL.Raw.ARB.DepthTexture,
-   module Graphics.Rendering.OpenGL.Raw.ARB.Shadow,
-   module Graphics.Rendering.OpenGL.Raw.ARB.ShadowAmbient,
-   module Graphics.Rendering.OpenGL.Raw.ARB.WindowPos,
-   module Graphics.Rendering.OpenGL.Raw.ARB.VertexProgram,
-   module Graphics.Rendering.OpenGL.Raw.ARB.FragmentProgram,
-   module Graphics.Rendering.OpenGL.Raw.ARB.VertexBufferObject,
-   module Graphics.Rendering.OpenGL.Raw.ARB.OcclusionQuery,
-   module Graphics.Rendering.OpenGL.Raw.ARB.ShaderObjects,
-   module Graphics.Rendering.OpenGL.Raw.ARB.VertexShader,
-   module Graphics.Rendering.OpenGL.Raw.ARB.FragmentShader,
-   module Graphics.Rendering.OpenGL.Raw.ARB.ShadingLanguage100,
-   -- module Graphics.Rendering.OpenGL.Raw.ARB.TextureNonPowerOfTwo,
-   module Graphics.Rendering.OpenGL.Raw.ARB.PointSprite,
-   -- module Graphics.Rendering.OpenGL.Raw.ARB.FragmentProgramShadow,
-   module Graphics.Rendering.OpenGL.Raw.ARB.DrawBuffers,
-   module Graphics.Rendering.OpenGL.Raw.ARB.TextureRectangle,
-   module Graphics.Rendering.OpenGL.Raw.ARB.ColorBufferFloat,
-   module Graphics.Rendering.OpenGL.Raw.ARB.HalfFloatPixel,
-   module Graphics.Rendering.OpenGL.Raw.ARB.TextureFloat,
-   module Graphics.Rendering.OpenGL.Raw.ARB.PixelBufferObject,
-   module Graphics.Rendering.OpenGL.Raw.ARB.DepthBufferFloat,
-   module Graphics.Rendering.OpenGL.Raw.ARB.DrawInstanced,
-   module Graphics.Rendering.OpenGL.Raw.ARB.FramebufferObject,
-   module Graphics.Rendering.OpenGL.Raw.ARB.FramebufferSRGB,
-   module Graphics.Rendering.OpenGL.Raw.ARB.GeometryShader4,
-   module Graphics.Rendering.OpenGL.Raw.ARB.HalfFloatVertex,
-   module Graphics.Rendering.OpenGL.Raw.ARB.InstancedArrays,
-   module Graphics.Rendering.OpenGL.Raw.ARB.MapBufferRange,
-   module Graphics.Rendering.OpenGL.Raw.ARB.TextureBufferObject,
-   module Graphics.Rendering.OpenGL.Raw.ARB.TextureCompressionRGTC,
-   module Graphics.Rendering.OpenGL.Raw.ARB.TextureRG,
-   module Graphics.Rendering.OpenGL.Raw.ARB.VertexArrayObject,
-   module Graphics.Rendering.OpenGL.Raw.ARB.UniformBufferObject,
-   module Graphics.Rendering.OpenGL.Raw.ARB.Compatibility,
-   module Graphics.Rendering.OpenGL.Raw.ARB.CopyBuffer,
-   -- module Graphics.Rendering.OpenGL.Raw.ARB.ShaderTextureLod,
-   module Graphics.Rendering.OpenGL.Raw.ARB.DepthClamp,
-   module Graphics.Rendering.OpenGL.Raw.ARB.DrawElementsBaseVertex,
-   -- module Graphics.Rendering.OpenGL.Raw.ARB.FragmentCoordConventions,
-   module Graphics.Rendering.OpenGL.Raw.ARB.ProvokingVertex,
-   module Graphics.Rendering.OpenGL.Raw.ARB.SeamlessCubeMap,
-   module Graphics.Rendering.OpenGL.Raw.ARB.Sync,
-   module Graphics.Rendering.OpenGL.Raw.ARB.TextureMultisample,
-   -- module Graphics.Rendering.OpenGL.Raw.ARB.VertexArrayBgra,
-   module Graphics.Rendering.OpenGL.Raw.ARB.DrawBuffersBlend,
-   module Graphics.Rendering.OpenGL.Raw.ARB.SampleShading,
-   module Graphics.Rendering.OpenGL.Raw.ARB.TextureCubeMapArray,
-   module Graphics.Rendering.OpenGL.Raw.ARB.TextureGather,
-   -- module Graphics.Rendering.OpenGL.Raw.ARB.TextureQueryLod,
-   module Graphics.Rendering.OpenGL.Raw.ARB.CreateContextProfile
-) 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
+--------------------------------------------------------------------------------
+-- |
+-- 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
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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 #-}
--- #hide
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.Compatibility.Functions
--- Copyright   :  (c) Sven Panne 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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(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 ())
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 @@
--- #hide
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.Compatibility.Tokens
--- Copyright   :  (c) Sven Panne 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 :: GLenum
-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 :: GLenum
-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 :: GLenum
-gl_CLIENT_ALL_ATTRIB_BITS = 0xFFFFFFFF
-
-gl_CLIENT_ATTRIB_STACK_DEPTH :: GLenum
-gl_CLIENT_ATTRIB_STACK_DEPTH = 0x0BB1
-
-gl_CLIENT_PIXEL_STORE_BIT :: GLenum
-gl_CLIENT_PIXEL_STORE_BIT = 0x00000001
-
-gl_CLIENT_VERTEX_ARRAY_BIT :: GLenum
-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 :: GLenum
-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 :: GLenum
-gl_ENABLE_BIT = 0x00002000
-
-gl_EVAL_BIT :: GLenum
-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 :: GLenum
-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 :: GLenum
-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 :: GLenum
-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 :: GLenum
-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 :: GLenum
-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 :: GLenum
-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 :: GLenum
-gl_PIXEL_MODE_BIT = 0x00000020
-
-gl_POINT_BIT :: GLenum
-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 :: GLenum
-gl_POLYGON_BIT = 0x00000008
-
-gl_POLYGON_MODE :: GLenum
-gl_POLYGON_MODE = 0x0B40
-
-gl_POLYGON_STIPPLE :: GLenum
-gl_POLYGON_STIPPLE = 0x0B42
-
-gl_POLYGON_STIPPLE_BIT :: GLenum
-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 :: GLenum
-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 :: GLenum
-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 :: GLenum
-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 :: GLenum
-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
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/ComputeShader.hs
@@ -0,0 +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
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,41 +1,47 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.CopyBuffer
--- Copyright   :  (c) Sven Panne 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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,
-   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 :: GLenum
-gl_COPY_READ_BUFFER = 0x8F36
-
-gl_COPY_WRITE_BUFFER :: GLenum
-gl_COPY_WRITE_BUFFER = 0x8F37
+{-# 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
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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 :: GLenum
-gl_CONTEXT_CORE_PROFILE_BIT = 0x00000001
-
-gl_CONTEXT_COMPATIBILITY_PROFILE_BIT :: GLenum
-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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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(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 ())
+
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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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(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 ())
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/DrawIndirect.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/DrawIndirect.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/DrawIndirect.hs
@@ -0,0 +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
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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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(glDrawArraysInstanced,GLenum -> GLint -> GLsizei -> GLsizei -> IO ())
+EXTENSION_ENTRY(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
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/ES2Compatibility.hs
@@ -0,0 +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
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/ES3Compatibility.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/ES3Compatibility.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/ES3Compatibility.hs
@@ -0,0 +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
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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/FramebufferNoAttachments.hs
@@ -0,0 +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
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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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/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,113 +1,116 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.GeometryShader4
--- Copyright   :  (c) Sven Panne 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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_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_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_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER,
-   gl_PROGRAM_POINT_SIZE
-) where
-
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core31.Functions ( glFramebufferTextureLayer )
-import Graphics.Rendering.OpenGL.Raw.Core31.Tokens ( gl_MAX_VARYING_COMPONENTS, gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER )
-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_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_TEXTURE_IMAGE_UNITS :: GLenum
-gl_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS = 0x8C29
-
-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
-
-gl_LINES_ADJACENCY :: GLenum
-gl_LINES_ADJACENCY = 0xA
-
-gl_LINE_STRIP_ADJACENCY :: GLenum
-gl_LINE_STRIP_ADJACENCY = 0xB
-
-gl_TRIANGLES_ADJACENCY :: GLenum
-gl_TRIANGLES_ADJACENCY = 0xC
-
-gl_TRIANGLE_STRIP_ADJACENCY :: GLenum
-gl_TRIANGLE_STRIP_ADJACENCY = 0xD
-
-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_FRAMEBUFFER_ATTACHMENT_LAYERED :: GLenum
-gl_FRAMEBUFFER_ATTACHMENT_LAYERED = 0x8DA7
-
-gl_PROGRAM_POINT_SIZE :: GLenum
-gl_PROGRAM_POINT_SIZE = 0x8642
+{-# 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
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/GetProgramBinary.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/GetProgramBinary.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/GetProgramBinary.hs
@@ -0,0 +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
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/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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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(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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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(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
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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/OcclusionQuery2.hs
@@ -0,0 +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
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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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(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
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/QueryBufferObject.hs
@@ -0,0 +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
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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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(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/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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/SeparateShaderObjects.hs
@@ -0,0 +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
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/ShaderAtomicCounters.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/ShaderAtomicCounters.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/ShaderAtomicCounters.hs
@@ -0,0 +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
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,160 +1,166 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.ShaderObjects
--- Copyright   :  (c) Sven Panne 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions and tokens 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
+{-# 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
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/ShaderStorageBufferObject.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/ShaderStorageBufferObject.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/ShaderStorageBufferObject.hs
@@ -0,0 +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
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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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/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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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.Core31.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 :: GLenum
-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(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
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TessellationShader.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TessellationShader.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/TessellationShader.hs
@@ -0,0 +1,169 @@
+{-# 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
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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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(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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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/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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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,54 +1,52 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvCombine
--- Copyright   :  (c) Sven Panne 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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,
-   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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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(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
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,50 +1,45 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureRG
--- Copyright   :  (c) Sven Panne 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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,
-   gl_RG_INTEGER,
-   gl_RG,
-   gl_RED,
-   gl_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/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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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/TimerQuery.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TimerQuery.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/TimerQuery.hs
@@ -0,0 +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
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TransformFeedback3.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TransformFeedback3.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/TransformFeedback3.hs
@@ -0,0 +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
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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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(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
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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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/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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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(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
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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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(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
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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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/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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 #-}
--- #hide
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.Core31.Functions
--- Copyright   :  (c) Sven Panne 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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(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 ())
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 @@
--- #hide
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.Core31.Tokens
--- Copyright   :  (c) Sven Panne 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 :: GLenum
-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 :: GLenum
-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 :: GLenum
-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 :: GLenum
-gl_MAP_FLUSH_EXPLICIT_BIT = 0x0010
-
-gl_MAP_INVALIDATE_BUFFER_BIT :: GLenum
-gl_MAP_INVALIDATE_BUFFER_BIT = 0x0008
-
-gl_MAP_INVALIDATE_RANGE_BIT :: GLenum
-gl_MAP_INVALIDATE_RANGE_BIT = 0x0004
-
-gl_MAP_READ_BIT :: GLenum
-gl_MAP_READ_BIT = 0x0001
-
-gl_MAP_UNSYNCHRONIZED_BIT :: GLenum
-gl_MAP_UNSYNCHRONIZED_BIT = 0x0020
-
-gl_MAP_WRITE_BIT :: GLenum
-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 :: GLenum
-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,49 +1,37 @@
-{-# LANGUAGE CPP #-}
-
--- #hide
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.Core31.TypesInternal
--- Copyright   :  (c) Sven Panne 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- Stability   :  stable
--- Portability :  portable
---
--- All types from the OpenGL 3.1 core, see <http://www.opengl.org/registry/>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.Core31.Types where
-
-import Data.Int
-import Data.Word
-import Foreign.C.Types
-import Foreign.Ptr
-
-
-type GLboolean  = CUChar
-type GLubyte    = CUChar
-type GLbyte     = CSChar
-type GLchar     = CChar
-type GLclampd   = CDouble
-type GLdouble   = CDouble
-type GLclampf   = CFloat
-type GLfloat    = CFloat
-type GLbitfield = CUInt
-type GLenum     = CUInt
-type GLuint     = CUInt
-type GLint      = CInt
-type GLsizei    = CInt
-type GLhalf     = CUShort
-type GLushort   = CUShort
-type GLshort    = CShort
-type GLintptr   = CPtrdiff
-type GLsizeiptr = CPtrdiff
-type GLint64    = Int64
-type GLuint64   = Word64
-
--- Not part of the core, but it is very handy to define this here
-type GLhandle = CUInt
-type GLsync   = Ptr ()
+--------------------------------------------------------------------------------
+-- |
+-- 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,43 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.Core32
--- Copyright   :  (c) Sven Panne 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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
+--------------------------------------------------------------------------------
+-- |
+-- 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
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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/Abgr.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/Abgr.hs
@@ -1,24 +1,24 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.Abgr
--- Copyright   :  (c) Sven Panne 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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
+--------------------------------------------------------------------------------
+-- |
+-- 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
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/Bgra.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/Bgra.hs
@@ -1,22 +1,22 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.Bgra
--- Copyright   :  (c) Sven Panne 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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
+--------------------------------------------------------------------------------
+-- |
+-- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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(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
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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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/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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/Cmyka.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/Cmyka.hs
@@ -1,36 +1,36 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.Cmyka
--- Copyright   :  (c) Sven Panne 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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
+--------------------------------------------------------------------------------
+-- |
+-- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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(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
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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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(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
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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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(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
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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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(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,426 +1,394 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.DirectStateAccess
--- Copyright   :  (c) Sven Panne 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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.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_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(glProgramUniform1f,GLuint -> GLint -> GLfloat -> IO ())
-EXTENSION_ENTRY(glProgramUniform2f,GLuint -> GLint -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(glProgramUniform3f,GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(glProgramUniform4f,GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(glProgramUniform1i,GLuint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(glProgramUniform2i,GLuint -> GLint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(glProgramUniform3i,GLuint -> GLint -> GLint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(glProgramUniform4i,GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(glProgramUniform1fv,GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glProgramUniform2fv,GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glProgramUniform3fv,GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glProgramUniform4fv,GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(glProgramUniform1iv,GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glProgramUniform2iv,GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glProgramUniform3iv,GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(glProgramUniform4iv,GLuint -> GLint -> GLsizei -> Ptr GLint -> 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(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(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(glProgramUniform1ui,GLuint -> GLint -> GLuint -> IO ())
-EXTENSION_ENTRY(glProgramUniform2ui,GLuint -> GLint -> GLuint -> GLuint -> IO ())
-EXTENSION_ENTRY(glProgramUniform3ui,GLuint -> GLint -> GLuint -> GLuint -> GLuint -> IO ())
-EXTENSION_ENTRY(glProgramUniform4ui,GLuint -> GLint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-EXTENSION_ENTRY(glProgramUniform1uiv,GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glProgramUniform2uiv,GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glProgramUniform3uiv,GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(glProgramUniform4uiv,GLuint -> GLint -> GLsizei -> 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(glGetFramebufferParameteriv,GLuint -> GLenum -> Ptr GLint -> 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(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
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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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(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
+
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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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/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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/GpuProgramParameters.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/GpuProgramParameters.hs
@@ -1,35 +1,35 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.GpuProgramParameters
--- Copyright   :  (c) Sven Panne 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 ())
+{-# 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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(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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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(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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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(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
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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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(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
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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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(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
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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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(glBeginScene,IO ())
+EXTENSION_ENTRY(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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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(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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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(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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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/TextureCompressionDxt1.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureCompressionDxt1.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureCompressionDxt1.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureCompressionDxt1.hs
@@ -1,23 +1,23 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.TextureCompressionDxt1
--- Copyright   :  (c) Sven Panne 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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
+--------------------------------------------------------------------------------
+-- |
+-- 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
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureCompressionLatc.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureCompressionLatc.hs
@@ -1,37 +1,37 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.TextureCompressionLatc
--- Copyright   :  (c) Sven Panne 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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
+--------------------------------------------------------------------------------
+-- |
+-- 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/TextureCompressionS3tc.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureCompressionS3tc.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureCompressionS3tc.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureCompressionS3tc.hs
@@ -1,36 +1,36 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.TextureCompressionS3tc
--- Copyright   :  (c) Sven Panne 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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
+--------------------------------------------------------------------------------
+-- |
+-- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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(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
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureLodBias.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureLodBias.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureLodBias.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureLodBias.hs
@@ -1,24 +1,24 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.TextureLodBias
--- Copyright   :  (c) Sven Panne 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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
+--------------------------------------------------------------------------------
+-- |
+-- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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(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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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/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,37 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.TextureSwizzle
--- Copyright   :  (c) Sven Panne 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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
+) 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
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,43 +1,28 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.TimerQuery
--- Copyright   :  (c) Sven Panne 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 Foreign.Ptr
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.ARB.Sync
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_EXT_timer_query"
-
-EXTENSION_ENTRY(glGetQueryObjecti64v,GLuint -> GLenum -> Ptr GLint64 -> IO ())
-EXTENSION_ENTRY(glGetQueryObjectui64v,GLuint -> GLenum -> Ptr GLuint64 -> IO ())
-
-gl_TIME_ELAPSED :: GLenum
-gl_TIME_ELAPSED = 0x88BF
+--------------------------------------------------------------------------------
+-- |
+-- 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/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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 () -> IO ())
-EXTENSION_ENTRY(glSetLocalConstant,GLuint -> GLenum -> Ptr () -> 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 () -> 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(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
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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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(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
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 @@
--- #hide
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.Extensions
--- Copyright   :  (c) Sven Panne 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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(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
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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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(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
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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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(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
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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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(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
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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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(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/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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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(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
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/GpuProgram4.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/GpuProgram4.hs
@@ -1,91 +1,91 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.GpuProgram4
--- Copyright   :  (c) Sven Panne 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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
-      
+{-# 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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(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 ())
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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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(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
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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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(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
+
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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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(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
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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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(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
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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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(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
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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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(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
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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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(glCombinerStageParameterfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
+EXTENSION_ENTRY(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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/TextureCompressionVtc.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/TextureCompressionVtc.hs
@@ -1,25 +1,25 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.TextureCompressionVtc
--- Copyright   :  (c) Sven Panne 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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
+--------------------------------------------------------------------------------
+-- |
+-- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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,320 +1,316 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.TextureShader
--- Copyright   :  (c) Sven Panne 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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_2D_SCALE,
-   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_HILO,
-   gl_HILO16,
-   gl_SIGNED_HILO,
-   gl_SIGNED_HILO16,
-   gl_DSDT,
-   gl_DSDT8,
-   gl_DSDT_MAG,
-   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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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(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
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,62 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.TransformFeedback2
--- Copyright   :  (c) Sven Panne 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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
-
+{-# 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
+
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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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(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
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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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(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
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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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 2009
--- License     :  BSD-style (see the file LICENSE)
---
--- Maintainer  :  sven.panne@aedion.de
--- 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
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/Types.hs
@@ -0,0 +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
