-- This file was automatically generated.
{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
module Graphics.GL.Raw.Extension.EXT.DirectStateAccess (
  -- * Extension Support
    gl_EXT_direct_state_access

  -- * GL_EXT_direct_state_access
  , glBindMultiTextureEXT
  , glCheckNamedFramebufferStatusEXT
  , glClearNamedBufferDataEXT
  , glClearNamedBufferSubDataEXT
  , glClientAttribDefaultEXT
  , glCompressedMultiTexImage1DEXT
  , glCompressedMultiTexImage2DEXT
  , glCompressedMultiTexImage3DEXT
  , glCompressedMultiTexSubImage1DEXT
  , glCompressedMultiTexSubImage2DEXT
  , glCompressedMultiTexSubImage3DEXT
  , glCompressedTextureImage1DEXT
  , glCompressedTextureImage2DEXT
  , glCompressedTextureImage3DEXT
  , glCompressedTextureSubImage1DEXT
  , glCompressedTextureSubImage2DEXT
  , glCompressedTextureSubImage3DEXT
  , glCopyMultiTexImage1DEXT
  , glCopyMultiTexImage2DEXT
  , glCopyMultiTexSubImage1DEXT
  , glCopyMultiTexSubImage2DEXT
  , glCopyMultiTexSubImage3DEXT
  , glCopyTextureImage1DEXT
  , glCopyTextureImage2DEXT
  , glCopyTextureSubImage1DEXT
  , glCopyTextureSubImage2DEXT
  , glCopyTextureSubImage3DEXT
  , glDisableClientStateIndexedEXT
  , glDisableClientStateiEXT
  , glDisableIndexedEXT
  , glDisableVertexArrayAttribEXT
  , glDisableVertexArrayEXT
  , glEnableClientStateIndexedEXT
  , glEnableClientStateiEXT
  , glEnableIndexedEXT
  , glEnableVertexArrayAttribEXT
  , glEnableVertexArrayEXT
  , glFlushMappedNamedBufferRangeEXT
  , glFramebufferDrawBufferEXT
  , glFramebufferDrawBuffersEXT
  , glFramebufferReadBufferEXT
  , glGenerateMultiTexMipmapEXT
  , glGenerateTextureMipmapEXT
  , glGetBooleanIndexedvEXT
  , glGetCompressedMultiTexImageEXT
  , glGetCompressedTextureImageEXT
  , glGetDoubleIndexedvEXT
  , glGetDoublei_vEXT
  , glGetFloatIndexedvEXT
  , glGetFloati_vEXT
  , glGetFramebufferParameterivEXT
  , glGetIntegerIndexedvEXT
  , glGetMultiTexEnvfvEXT
  , glGetMultiTexEnvivEXT
  , glGetMultiTexGendvEXT
  , glGetMultiTexGenfvEXT
  , glGetMultiTexGenivEXT
  , glGetMultiTexImageEXT
  , glGetMultiTexLevelParameterfvEXT
  , glGetMultiTexLevelParameterivEXT
  , glGetMultiTexParameterIivEXT
  , glGetMultiTexParameterIuivEXT
  , glGetMultiTexParameterfvEXT
  , glGetMultiTexParameterivEXT
  , glGetNamedBufferParameterivEXT
  , glGetNamedBufferPointervEXT
  , glGetNamedBufferSubDataEXT
  , glGetNamedFramebufferAttachmentParameterivEXT
  , glGetNamedFramebufferParameterivEXT
  , glGetNamedProgramLocalParameterIivEXT
  , glGetNamedProgramLocalParameterIuivEXT
  , glGetNamedProgramLocalParameterdvEXT
  , glGetNamedProgramLocalParameterfvEXT
  , glGetNamedProgramStringEXT
  , glGetNamedProgramivEXT
  , glGetNamedRenderbufferParameterivEXT
  , glGetPointerIndexedvEXT
  , glGetPointeri_vEXT
  , glGetTextureImageEXT
  , glGetTextureLevelParameterfvEXT
  , glGetTextureLevelParameterivEXT
  , glGetTextureParameterIivEXT
  , glGetTextureParameterIuivEXT
  , glGetTextureParameterfvEXT
  , glGetTextureParameterivEXT
  , glGetVertexArrayIntegeri_vEXT
  , glGetVertexArrayIntegervEXT
  , glGetVertexArrayPointeri_vEXT
  , glGetVertexArrayPointervEXT
  , glIsEnabledIndexedEXT
  , glMapNamedBufferEXT
  , glMapNamedBufferRangeEXT
  , glMatrixFrustumEXT
  , glMatrixLoadIdentityEXT
  , glMatrixLoadTransposedEXT
  , glMatrixLoadTransposefEXT
  , glMatrixLoaddEXT
  , glMatrixLoadfEXT
  , glMatrixMultTransposedEXT
  , glMatrixMultTransposefEXT
  , glMatrixMultdEXT
  , glMatrixMultfEXT
  , glMatrixOrthoEXT
  , glMatrixPopEXT
  , glMatrixPushEXT
  , glMatrixRotatedEXT
  , glMatrixRotatefEXT
  , glMatrixScaledEXT
  , glMatrixScalefEXT
  , glMatrixTranslatedEXT
  , glMatrixTranslatefEXT
  , glMultiTexBufferEXT
  , glMultiTexCoordPointerEXT
  , glMultiTexEnvfEXT
  , glMultiTexEnvfvEXT
  , glMultiTexEnviEXT
  , glMultiTexEnvivEXT
  , glMultiTexGendEXT
  , glMultiTexGendvEXT
  , glMultiTexGenfEXT
  , glMultiTexGenfvEXT
  , glMultiTexGeniEXT
  , glMultiTexGenivEXT
  , glMultiTexImage1DEXT
  , glMultiTexImage2DEXT
  , glMultiTexImage3DEXT
  , glMultiTexParameterIivEXT
  , glMultiTexParameterIuivEXT
  , glMultiTexParameterfEXT
  , glMultiTexParameterfvEXT
  , glMultiTexParameteriEXT
  , glMultiTexParameterivEXT
  , glMultiTexRenderbufferEXT
  , glMultiTexSubImage1DEXT
  , glMultiTexSubImage2DEXT
  , glMultiTexSubImage3DEXT
  , glNamedBufferDataEXT
  , glNamedBufferStorageEXT
  , glNamedBufferSubDataEXT
  , glNamedCopyBufferSubDataEXT
  , glNamedFramebufferParameteriEXT
  , glNamedFramebufferRenderbufferEXT
  , glNamedFramebufferTexture1DEXT
  , glNamedFramebufferTexture2DEXT
  , glNamedFramebufferTexture3DEXT
  , glNamedFramebufferTextureEXT
  , glNamedFramebufferTextureFaceEXT
  , glNamedFramebufferTextureLayerEXT
  , glNamedProgramLocalParameter4dEXT
  , glNamedProgramLocalParameter4dvEXT
  , glNamedProgramLocalParameter4fEXT
  , glNamedProgramLocalParameter4fvEXT
  , glNamedProgramLocalParameterI4iEXT
  , glNamedProgramLocalParameterI4ivEXT
  , glNamedProgramLocalParameterI4uiEXT
  , glNamedProgramLocalParameterI4uivEXT
  , glNamedProgramLocalParameters4fvEXT
  , glNamedProgramLocalParametersI4ivEXT
  , glNamedProgramLocalParametersI4uivEXT
  , glNamedProgramStringEXT
  , glNamedRenderbufferStorageEXT
  , glNamedRenderbufferStorageMultisampleCoverageEXT
  , glNamedRenderbufferStorageMultisampleEXT
  , glProgramUniform1dEXT
  , glProgramUniform1dvEXT
  , glProgramUniform1fEXT
  , glProgramUniform1fvEXT
  , glProgramUniform1iEXT
  , glProgramUniform1ivEXT
  , glProgramUniform1uiEXT
  , glProgramUniform1uivEXT
  , glProgramUniform2dEXT
  , glProgramUniform2dvEXT
  , glProgramUniform2fEXT
  , glProgramUniform2fvEXT
  , glProgramUniform2iEXT
  , glProgramUniform2ivEXT
  , glProgramUniform2uiEXT
  , glProgramUniform2uivEXT
  , glProgramUniform3dEXT
  , glProgramUniform3dvEXT
  , glProgramUniform3fEXT
  , glProgramUniform3fvEXT
  , glProgramUniform3iEXT
  , glProgramUniform3ivEXT
  , glProgramUniform3uiEXT
  , glProgramUniform3uivEXT
  , glProgramUniform4dEXT
  , glProgramUniform4dvEXT
  , glProgramUniform4fEXT
  , glProgramUniform4fvEXT
  , glProgramUniform4iEXT
  , glProgramUniform4ivEXT
  , glProgramUniform4uiEXT
  , glProgramUniform4uivEXT
  , glProgramUniformMatrix2dvEXT
  , glProgramUniformMatrix2fvEXT
  , glProgramUniformMatrix2x3dvEXT
  , glProgramUniformMatrix2x3fvEXT
  , glProgramUniformMatrix2x4dvEXT
  , glProgramUniformMatrix2x4fvEXT
  , glProgramUniformMatrix3dvEXT
  , glProgramUniformMatrix3fvEXT
  , glProgramUniformMatrix3x2dvEXT
  , glProgramUniformMatrix3x2fvEXT
  , glProgramUniformMatrix3x4dvEXT
  , glProgramUniformMatrix3x4fvEXT
  , glProgramUniformMatrix4dvEXT
  , glProgramUniformMatrix4fvEXT
  , glProgramUniformMatrix4x2dvEXT
  , glProgramUniformMatrix4x2fvEXT
  , glProgramUniformMatrix4x3dvEXT
  , glProgramUniformMatrix4x3fvEXT
  , glPushClientAttribDefaultEXT
  , glTextureBufferEXT
  , glTextureBufferRangeEXT
  , glTextureImage1DEXT
  , glTextureImage2DEXT
  , glTextureImage3DEXT
  , glTexturePageCommitmentEXT
  , glTextureParameterIivEXT
  , glTextureParameterIuivEXT
  , glTextureParameterfEXT
  , glTextureParameterfvEXT
  , glTextureParameteriEXT
  , glTextureParameterivEXT
  , glTextureRenderbufferEXT
  , glTextureStorage1DEXT
  , glTextureStorage2DEXT
  , glTextureStorage2DMultisampleEXT
  , glTextureStorage3DEXT
  , glTextureStorage3DMultisampleEXT
  , glTextureSubImage1DEXT
  , glTextureSubImage2DEXT
  , glTextureSubImage3DEXT
  , glUnmapNamedBufferEXT
  , glVertexArrayBindVertexBufferEXT
  , glVertexArrayColorOffsetEXT
  , glVertexArrayEdgeFlagOffsetEXT
  , glVertexArrayFogCoordOffsetEXT
  , glVertexArrayIndexOffsetEXT
  , glVertexArrayMultiTexCoordOffsetEXT
  , glVertexArrayNormalOffsetEXT
  , glVertexArraySecondaryColorOffsetEXT
  , glVertexArrayTexCoordOffsetEXT
  , glVertexArrayVertexAttribBindingEXT
  , glVertexArrayVertexAttribDivisorEXT
  , glVertexArrayVertexAttribFormatEXT
  , glVertexArrayVertexAttribIFormatEXT
  , glVertexArrayVertexAttribIOffsetEXT
  , glVertexArrayVertexAttribLFormatEXT
  , glVertexArrayVertexAttribLOffsetEXT
  , glVertexArrayVertexAttribOffsetEXT
  , glVertexArrayVertexBindingDivisorEXT
  , glVertexArrayVertexOffsetEXT
  , pattern GL_PROGRAM_MATRIX_EXT
  , pattern GL_PROGRAM_MATRIX_STACK_DEPTH_EXT
  , pattern GL_TRANSPOSE_PROGRAM_MATRIX_EXT
) where

import Control.Monad.IO.Class
import Data.Set
import Foreign.Ptr
import Graphics.GL.Raw.Internal.FFI
import Graphics.GL.Raw.Internal.Proc
import Graphics.GL.Raw.Internal.Shared
import Graphics.GL.Raw.Types
import System.IO.Unsafe

gl_EXT_direct_state_access :: Bool
gl_EXT_direct_state_access = member "GL_EXT_direct_state_access" extensions

glBindMultiTextureEXT :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()
glBindMultiTextureEXT = ffienumenumuintIOV glBindMultiTextureEXTFunPtr

glBindMultiTextureEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLuint -> IO ())
glBindMultiTextureEXTFunPtr = unsafePerformIO (getProcAddress "glBindMultiTextureEXT")

{-# NOINLINE glBindMultiTextureEXTFunPtr #-}

glCheckNamedFramebufferStatusEXT :: MonadIO m => GLuint -> GLenum -> m GLenum
glCheckNamedFramebufferStatusEXT = ffiuintenumIOenum glCheckNamedFramebufferStatusEXTFunPtr

glCheckNamedFramebufferStatusEXTFunPtr :: FunPtr (GLuint -> GLenum -> IO GLenum)
glCheckNamedFramebufferStatusEXTFunPtr = unsafePerformIO (getProcAddress "glCheckNamedFramebufferStatusEXT")

{-# NOINLINE glCheckNamedFramebufferStatusEXTFunPtr #-}

glClearNamedBufferDataEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> GLenum -> Ptr () -> m ()
glClearNamedBufferDataEXT = ffiuintenumenumenumPtrVIOV glClearNamedBufferDataEXTFunPtr

glClearNamedBufferDataEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLenum -> GLenum -> Ptr () -> IO ())
glClearNamedBufferDataEXTFunPtr = unsafePerformIO (getProcAddress "glClearNamedBufferDataEXT")

{-# NOINLINE glClearNamedBufferDataEXTFunPtr #-}

glClearNamedBufferSubDataEXT :: MonadIO m => GLuint -> GLenum -> GLsizeiptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr () -> m ()
glClearNamedBufferSubDataEXT = ffiuintenumsizeiptrsizeiptrenumenumPtrVIOV glClearNamedBufferSubDataEXTFunPtr

glClearNamedBufferSubDataEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLsizeiptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr () -> IO ())
glClearNamedBufferSubDataEXTFunPtr = unsafePerformIO (getProcAddress "glClearNamedBufferSubDataEXT")

{-# NOINLINE glClearNamedBufferSubDataEXTFunPtr #-}

glClientAttribDefaultEXT :: MonadIO m => GLbitfield -> m ()
glClientAttribDefaultEXT = ffibitfieldIOV glClientAttribDefaultEXTFunPtr

glClientAttribDefaultEXTFunPtr :: FunPtr (GLbitfield -> IO ())
glClientAttribDefaultEXTFunPtr = unsafePerformIO (getProcAddress "glClientAttribDefaultEXT")

{-# NOINLINE glClientAttribDefaultEXTFunPtr #-}

glCompressedMultiTexImage1DEXT :: MonadIO m => GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr () -> m ()
glCompressedMultiTexImage1DEXT = ffienumenumintenumsizeiintsizeiPtrVIOV glCompressedMultiTexImage1DEXTFunPtr

glCompressedMultiTexImage1DEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr () -> IO ())
glCompressedMultiTexImage1DEXTFunPtr = unsafePerformIO (getProcAddress "glCompressedMultiTexImage1DEXT")

{-# NOINLINE glCompressedMultiTexImage1DEXTFunPtr #-}

glCompressedMultiTexImage2DEXT :: MonadIO m => GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr () -> m ()
glCompressedMultiTexImage2DEXT = ffienumenumintenumsizeisizeiintsizeiPtrVIOV glCompressedMultiTexImage2DEXTFunPtr

glCompressedMultiTexImage2DEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr () -> IO ())
glCompressedMultiTexImage2DEXTFunPtr = unsafePerformIO (getProcAddress "glCompressedMultiTexImage2DEXT")

{-# NOINLINE glCompressedMultiTexImage2DEXTFunPtr #-}

glCompressedMultiTexImage3DEXT :: MonadIO m => GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr () -> m ()
glCompressedMultiTexImage3DEXT = ffienumenumintenumsizeisizeisizeiintsizeiPtrVIOV glCompressedMultiTexImage3DEXTFunPtr

glCompressedMultiTexImage3DEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr () -> IO ())
glCompressedMultiTexImage3DEXTFunPtr = unsafePerformIO (getProcAddress "glCompressedMultiTexImage3DEXT")

{-# NOINLINE glCompressedMultiTexImage3DEXTFunPtr #-}

glCompressedMultiTexSubImage1DEXT :: MonadIO m => GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr () -> m ()
glCompressedMultiTexSubImage1DEXT = ffienumenumintintsizeienumsizeiPtrVIOV glCompressedMultiTexSubImage1DEXTFunPtr

glCompressedMultiTexSubImage1DEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ())
glCompressedMultiTexSubImage1DEXTFunPtr = unsafePerformIO (getProcAddress "glCompressedMultiTexSubImage1DEXT")

{-# NOINLINE glCompressedMultiTexSubImage1DEXTFunPtr #-}

glCompressedMultiTexSubImage2DEXT :: MonadIO m => GLenum -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> m ()
glCompressedMultiTexSubImage2DEXT = ffienumenumintintintsizeisizeienumsizeiPtrVIOV glCompressedMultiTexSubImage2DEXTFunPtr

glCompressedMultiTexSubImage2DEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ())
glCompressedMultiTexSubImage2DEXTFunPtr = unsafePerformIO (getProcAddress "glCompressedMultiTexSubImage2DEXT")

{-# NOINLINE glCompressedMultiTexSubImage2DEXTFunPtr #-}

glCompressedMultiTexSubImage3DEXT :: MonadIO m => GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> m ()
glCompressedMultiTexSubImage3DEXT = ffienumenumintintintintsizeisizeisizeienumsizeiPtrVIOV glCompressedMultiTexSubImage3DEXTFunPtr

glCompressedMultiTexSubImage3DEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ())
glCompressedMultiTexSubImage3DEXTFunPtr = unsafePerformIO (getProcAddress "glCompressedMultiTexSubImage3DEXT")

{-# NOINLINE glCompressedMultiTexSubImage3DEXTFunPtr #-}

glCompressedTextureImage1DEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr () -> m ()
glCompressedTextureImage1DEXT = ffiuintenumintenumsizeiintsizeiPtrVIOV glCompressedTextureImage1DEXTFunPtr

glCompressedTextureImage1DEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr () -> IO ())
glCompressedTextureImage1DEXTFunPtr = unsafePerformIO (getProcAddress "glCompressedTextureImage1DEXT")

{-# NOINLINE glCompressedTextureImage1DEXTFunPtr #-}

glCompressedTextureImage2DEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr () -> m ()
glCompressedTextureImage2DEXT = ffiuintenumintenumsizeisizeiintsizeiPtrVIOV glCompressedTextureImage2DEXTFunPtr

glCompressedTextureImage2DEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr () -> IO ())
glCompressedTextureImage2DEXTFunPtr = unsafePerformIO (getProcAddress "glCompressedTextureImage2DEXT")

{-# NOINLINE glCompressedTextureImage2DEXTFunPtr #-}

glCompressedTextureImage3DEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr () -> m ()
glCompressedTextureImage3DEXT = ffiuintenumintenumsizeisizeisizeiintsizeiPtrVIOV glCompressedTextureImage3DEXTFunPtr

glCompressedTextureImage3DEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr () -> IO ())
glCompressedTextureImage3DEXTFunPtr = unsafePerformIO (getProcAddress "glCompressedTextureImage3DEXT")

{-# NOINLINE glCompressedTextureImage3DEXTFunPtr #-}

glCompressedTextureSubImage1DEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr () -> m ()
glCompressedTextureSubImage1DEXT = ffiuintenumintintsizeienumsizeiPtrVIOV glCompressedTextureSubImage1DEXTFunPtr

glCompressedTextureSubImage1DEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ())
glCompressedTextureSubImage1DEXTFunPtr = unsafePerformIO (getProcAddress "glCompressedTextureSubImage1DEXT")

{-# NOINLINE glCompressedTextureSubImage1DEXTFunPtr #-}

glCompressedTextureSubImage2DEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> m ()
glCompressedTextureSubImage2DEXT = ffiuintenumintintintsizeisizeienumsizeiPtrVIOV glCompressedTextureSubImage2DEXTFunPtr

glCompressedTextureSubImage2DEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ())
glCompressedTextureSubImage2DEXTFunPtr = unsafePerformIO (getProcAddress "glCompressedTextureSubImage2DEXT")

{-# NOINLINE glCompressedTextureSubImage2DEXTFunPtr #-}

glCompressedTextureSubImage3DEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> m ()
glCompressedTextureSubImage3DEXT = ffiuintenumintintintintsizeisizeisizeienumsizeiPtrVIOV glCompressedTextureSubImage3DEXTFunPtr

glCompressedTextureSubImage3DEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ())
glCompressedTextureSubImage3DEXTFunPtr = unsafePerformIO (getProcAddress "glCompressedTextureSubImage3DEXT")

{-# NOINLINE glCompressedTextureSubImage3DEXTFunPtr #-}

glCopyMultiTexImage1DEXT :: MonadIO m => GLenum -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()
glCopyMultiTexImage1DEXT = ffienumenumintenumintintsizeiintIOV glCopyMultiTexImage1DEXTFunPtr

glCopyMultiTexImage1DEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> IO ())
glCopyMultiTexImage1DEXTFunPtr = unsafePerformIO (getProcAddress "glCopyMultiTexImage1DEXT")

{-# NOINLINE glCopyMultiTexImage1DEXTFunPtr #-}

glCopyMultiTexImage2DEXT :: MonadIO m => GLenum -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()
glCopyMultiTexImage2DEXT = ffienumenumintenumintintsizeisizeiintIOV glCopyMultiTexImage2DEXTFunPtr

glCopyMultiTexImage2DEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> IO ())
glCopyMultiTexImage2DEXTFunPtr = unsafePerformIO (getProcAddress "glCopyMultiTexImage2DEXT")

{-# NOINLINE glCopyMultiTexImage2DEXTFunPtr #-}

glCopyMultiTexSubImage1DEXT :: MonadIO m => GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()
glCopyMultiTexSubImage1DEXT = ffienumenumintintintintsizeiIOV glCopyMultiTexSubImage1DEXTFunPtr

glCopyMultiTexSubImage1DEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ())
glCopyMultiTexSubImage1DEXTFunPtr = unsafePerformIO (getProcAddress "glCopyMultiTexSubImage1DEXT")

{-# NOINLINE glCopyMultiTexSubImage1DEXTFunPtr #-}

glCopyMultiTexSubImage2DEXT :: MonadIO m => GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()
glCopyMultiTexSubImage2DEXT = ffienumenumintintintintintsizeisizeiIOV glCopyMultiTexSubImage2DEXTFunPtr

glCopyMultiTexSubImage2DEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
glCopyMultiTexSubImage2DEXTFunPtr = unsafePerformIO (getProcAddress "glCopyMultiTexSubImage2DEXT")

{-# NOINLINE glCopyMultiTexSubImage2DEXTFunPtr #-}

glCopyMultiTexSubImage3DEXT :: MonadIO m => GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()
glCopyMultiTexSubImage3DEXT = ffienumenumintintintintintintsizeisizeiIOV glCopyMultiTexSubImage3DEXTFunPtr

glCopyMultiTexSubImage3DEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
glCopyMultiTexSubImage3DEXTFunPtr = unsafePerformIO (getProcAddress "glCopyMultiTexSubImage3DEXT")

{-# NOINLINE glCopyMultiTexSubImage3DEXTFunPtr #-}

glCopyTextureImage1DEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()
glCopyTextureImage1DEXT = ffiuintenumintenumintintsizeiintIOV glCopyTextureImage1DEXTFunPtr

glCopyTextureImage1DEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> IO ())
glCopyTextureImage1DEXTFunPtr = unsafePerformIO (getProcAddress "glCopyTextureImage1DEXT")

{-# NOINLINE glCopyTextureImage1DEXTFunPtr #-}

glCopyTextureImage2DEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()
glCopyTextureImage2DEXT = ffiuintenumintenumintintsizeisizeiintIOV glCopyTextureImage2DEXTFunPtr

glCopyTextureImage2DEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> IO ())
glCopyTextureImage2DEXTFunPtr = unsafePerformIO (getProcAddress "glCopyTextureImage2DEXT")

{-# NOINLINE glCopyTextureImage2DEXTFunPtr #-}

glCopyTextureSubImage1DEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()
glCopyTextureSubImage1DEXT = ffiuintenumintintintintsizeiIOV glCopyTextureSubImage1DEXTFunPtr

glCopyTextureSubImage1DEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ())
glCopyTextureSubImage1DEXTFunPtr = unsafePerformIO (getProcAddress "glCopyTextureSubImage1DEXT")

{-# NOINLINE glCopyTextureSubImage1DEXTFunPtr #-}

glCopyTextureSubImage2DEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()
glCopyTextureSubImage2DEXT = ffiuintenumintintintintintsizeisizeiIOV glCopyTextureSubImage2DEXTFunPtr

glCopyTextureSubImage2DEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
glCopyTextureSubImage2DEXTFunPtr = unsafePerformIO (getProcAddress "glCopyTextureSubImage2DEXT")

{-# NOINLINE glCopyTextureSubImage2DEXTFunPtr #-}

glCopyTextureSubImage3DEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()
glCopyTextureSubImage3DEXT = ffiuintenumintintintintintintsizeisizeiIOV glCopyTextureSubImage3DEXTFunPtr

glCopyTextureSubImage3DEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
glCopyTextureSubImage3DEXTFunPtr = unsafePerformIO (getProcAddress "glCopyTextureSubImage3DEXT")

{-# NOINLINE glCopyTextureSubImage3DEXTFunPtr #-}

glDisableClientStateIndexedEXT :: MonadIO m => GLenum -> GLuint -> m ()
glDisableClientStateIndexedEXT = ffienumuintIOV glDisableClientStateIndexedEXTFunPtr

glDisableClientStateIndexedEXTFunPtr :: FunPtr (GLenum -> GLuint -> IO ())
glDisableClientStateIndexedEXTFunPtr = unsafePerformIO (getProcAddress "glDisableClientStateIndexedEXT")

{-# NOINLINE glDisableClientStateIndexedEXTFunPtr #-}

glDisableClientStateiEXT :: MonadIO m => GLenum -> GLuint -> m ()
glDisableClientStateiEXT = ffienumuintIOV glDisableClientStateiEXTFunPtr

glDisableClientStateiEXTFunPtr :: FunPtr (GLenum -> GLuint -> IO ())
glDisableClientStateiEXTFunPtr = unsafePerformIO (getProcAddress "glDisableClientStateiEXT")

{-# NOINLINE glDisableClientStateiEXTFunPtr #-}

glDisableVertexArrayAttribEXT :: MonadIO m => GLuint -> GLuint -> m ()
glDisableVertexArrayAttribEXT = ffiuintuintIOV glDisableVertexArrayAttribEXTFunPtr

glDisableVertexArrayAttribEXTFunPtr :: FunPtr (GLuint -> GLuint -> IO ())
glDisableVertexArrayAttribEXTFunPtr = unsafePerformIO (getProcAddress "glDisableVertexArrayAttribEXT")

{-# NOINLINE glDisableVertexArrayAttribEXTFunPtr #-}

glDisableVertexArrayEXT :: MonadIO m => GLuint -> GLenum -> m ()
glDisableVertexArrayEXT = ffiuintenumIOV glDisableVertexArrayEXTFunPtr

glDisableVertexArrayEXTFunPtr :: FunPtr (GLuint -> GLenum -> IO ())
glDisableVertexArrayEXTFunPtr = unsafePerformIO (getProcAddress "glDisableVertexArrayEXT")

{-# NOINLINE glDisableVertexArrayEXTFunPtr #-}

glEnableClientStateIndexedEXT :: MonadIO m => GLenum -> GLuint -> m ()
glEnableClientStateIndexedEXT = ffienumuintIOV glEnableClientStateIndexedEXTFunPtr

glEnableClientStateIndexedEXTFunPtr :: FunPtr (GLenum -> GLuint -> IO ())
glEnableClientStateIndexedEXTFunPtr = unsafePerformIO (getProcAddress "glEnableClientStateIndexedEXT")

{-# NOINLINE glEnableClientStateIndexedEXTFunPtr #-}

glEnableClientStateiEXT :: MonadIO m => GLenum -> GLuint -> m ()
glEnableClientStateiEXT = ffienumuintIOV glEnableClientStateiEXTFunPtr

glEnableClientStateiEXTFunPtr :: FunPtr (GLenum -> GLuint -> IO ())
glEnableClientStateiEXTFunPtr = unsafePerformIO (getProcAddress "glEnableClientStateiEXT")

{-# NOINLINE glEnableClientStateiEXTFunPtr #-}

glEnableVertexArrayAttribEXT :: MonadIO m => GLuint -> GLuint -> m ()
glEnableVertexArrayAttribEXT = ffiuintuintIOV glEnableVertexArrayAttribEXTFunPtr

glEnableVertexArrayAttribEXTFunPtr :: FunPtr (GLuint -> GLuint -> IO ())
glEnableVertexArrayAttribEXTFunPtr = unsafePerformIO (getProcAddress "glEnableVertexArrayAttribEXT")

{-# NOINLINE glEnableVertexArrayAttribEXTFunPtr #-}

glEnableVertexArrayEXT :: MonadIO m => GLuint -> GLenum -> m ()
glEnableVertexArrayEXT = ffiuintenumIOV glEnableVertexArrayEXTFunPtr

glEnableVertexArrayEXTFunPtr :: FunPtr (GLuint -> GLenum -> IO ())
glEnableVertexArrayEXTFunPtr = unsafePerformIO (getProcAddress "glEnableVertexArrayEXT")

{-# NOINLINE glEnableVertexArrayEXTFunPtr #-}

glFlushMappedNamedBufferRangeEXT :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> m ()
glFlushMappedNamedBufferRangeEXT = ffiuintintptrsizeiptrIOV glFlushMappedNamedBufferRangeEXTFunPtr

glFlushMappedNamedBufferRangeEXTFunPtr :: FunPtr (GLuint -> GLintptr -> GLsizeiptr -> IO ())
glFlushMappedNamedBufferRangeEXTFunPtr = unsafePerformIO (getProcAddress "glFlushMappedNamedBufferRangeEXT")

{-# NOINLINE glFlushMappedNamedBufferRangeEXTFunPtr #-}

glFramebufferDrawBufferEXT :: MonadIO m => GLuint -> GLenum -> m ()
glFramebufferDrawBufferEXT = ffiuintenumIOV glFramebufferDrawBufferEXTFunPtr

glFramebufferDrawBufferEXTFunPtr :: FunPtr (GLuint -> GLenum -> IO ())
glFramebufferDrawBufferEXTFunPtr = unsafePerformIO (getProcAddress "glFramebufferDrawBufferEXT")

{-# NOINLINE glFramebufferDrawBufferEXTFunPtr #-}

glFramebufferDrawBuffersEXT :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> m ()
glFramebufferDrawBuffersEXT = ffiuintsizeiPtrenumIOV glFramebufferDrawBuffersEXTFunPtr

glFramebufferDrawBuffersEXTFunPtr :: FunPtr (GLuint -> GLsizei -> Ptr GLenum -> IO ())
glFramebufferDrawBuffersEXTFunPtr = unsafePerformIO (getProcAddress "glFramebufferDrawBuffersEXT")

{-# NOINLINE glFramebufferDrawBuffersEXTFunPtr #-}

glFramebufferReadBufferEXT :: MonadIO m => GLuint -> GLenum -> m ()
glFramebufferReadBufferEXT = ffiuintenumIOV glFramebufferReadBufferEXTFunPtr

glFramebufferReadBufferEXTFunPtr :: FunPtr (GLuint -> GLenum -> IO ())
glFramebufferReadBufferEXTFunPtr = unsafePerformIO (getProcAddress "glFramebufferReadBufferEXT")

{-# NOINLINE glFramebufferReadBufferEXTFunPtr #-}

glGenerateMultiTexMipmapEXT :: MonadIO m => GLenum -> GLenum -> m ()
glGenerateMultiTexMipmapEXT = ffienumenumIOV glGenerateMultiTexMipmapEXTFunPtr

glGenerateMultiTexMipmapEXTFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glGenerateMultiTexMipmapEXTFunPtr = unsafePerformIO (getProcAddress "glGenerateMultiTexMipmapEXT")

{-# NOINLINE glGenerateMultiTexMipmapEXTFunPtr #-}

glGenerateTextureMipmapEXT :: MonadIO m => GLuint -> GLenum -> m ()
glGenerateTextureMipmapEXT = ffiuintenumIOV glGenerateTextureMipmapEXTFunPtr

glGenerateTextureMipmapEXTFunPtr :: FunPtr (GLuint -> GLenum -> IO ())
glGenerateTextureMipmapEXTFunPtr = unsafePerformIO (getProcAddress "glGenerateTextureMipmapEXT")

{-# NOINLINE glGenerateTextureMipmapEXTFunPtr #-}

glGetCompressedMultiTexImageEXT :: MonadIO m => GLenum -> GLenum -> GLint -> Ptr () -> m ()
glGetCompressedMultiTexImageEXT = ffienumenumintPtrVIOV glGetCompressedMultiTexImageEXTFunPtr

glGetCompressedMultiTexImageEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLint -> Ptr () -> IO ())
glGetCompressedMultiTexImageEXTFunPtr = unsafePerformIO (getProcAddress "glGetCompressedMultiTexImageEXT")

{-# NOINLINE glGetCompressedMultiTexImageEXTFunPtr #-}

glGetCompressedTextureImageEXT :: MonadIO m => GLuint -> GLenum -> GLint -> Ptr () -> m ()
glGetCompressedTextureImageEXT = ffiuintenumintPtrVIOV glGetCompressedTextureImageEXTFunPtr

glGetCompressedTextureImageEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLint -> Ptr () -> IO ())
glGetCompressedTextureImageEXTFunPtr = unsafePerformIO (getProcAddress "glGetCompressedTextureImageEXT")

{-# NOINLINE glGetCompressedTextureImageEXTFunPtr #-}

glGetDoubleIndexedvEXT :: MonadIO m => GLenum -> GLuint -> Ptr GLdouble -> m ()
glGetDoubleIndexedvEXT = ffienumuintPtrdoubleIOV glGetDoubleIndexedvEXTFunPtr

glGetDoubleIndexedvEXTFunPtr :: FunPtr (GLenum -> GLuint -> Ptr GLdouble -> IO ())
glGetDoubleIndexedvEXTFunPtr = unsafePerformIO (getProcAddress "glGetDoubleIndexedvEXT")

{-# NOINLINE glGetDoubleIndexedvEXTFunPtr #-}

glGetDoublei_vEXT :: MonadIO m => GLenum -> GLuint -> Ptr GLdouble -> m ()
glGetDoublei_vEXT = ffienumuintPtrdoubleIOV glGetDoublei_vEXTFunPtr

glGetDoublei_vEXTFunPtr :: FunPtr (GLenum -> GLuint -> Ptr GLdouble -> IO ())
glGetDoublei_vEXTFunPtr = unsafePerformIO (getProcAddress "glGetDoublei_vEXT")

{-# NOINLINE glGetDoublei_vEXTFunPtr #-}

glGetFloatIndexedvEXT :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()
glGetFloatIndexedvEXT = ffienumuintPtrfloatIOV glGetFloatIndexedvEXTFunPtr

glGetFloatIndexedvEXTFunPtr :: FunPtr (GLenum -> GLuint -> Ptr GLfloat -> IO ())
glGetFloatIndexedvEXTFunPtr = unsafePerformIO (getProcAddress "glGetFloatIndexedvEXT")

{-# NOINLINE glGetFloatIndexedvEXTFunPtr #-}

glGetFloati_vEXT :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()
glGetFloati_vEXT = ffienumuintPtrfloatIOV glGetFloati_vEXTFunPtr

glGetFloati_vEXTFunPtr :: FunPtr (GLenum -> GLuint -> Ptr GLfloat -> IO ())
glGetFloati_vEXTFunPtr = unsafePerformIO (getProcAddress "glGetFloati_vEXT")

{-# NOINLINE glGetFloati_vEXTFunPtr #-}

glGetFramebufferParameterivEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetFramebufferParameterivEXT = ffiuintenumPtrintIOV glGetFramebufferParameterivEXTFunPtr

glGetFramebufferParameterivEXTFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
glGetFramebufferParameterivEXTFunPtr = unsafePerformIO (getProcAddress "glGetFramebufferParameterivEXT")

{-# NOINLINE glGetFramebufferParameterivEXTFunPtr #-}

glGetMultiTexEnvfvEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetMultiTexEnvfvEXT = ffienumenumenumPtrfloatIOV glGetMultiTexEnvfvEXTFunPtr

glGetMultiTexEnvfvEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
glGetMultiTexEnvfvEXTFunPtr = unsafePerformIO (getProcAddress "glGetMultiTexEnvfvEXT")

{-# NOINLINE glGetMultiTexEnvfvEXTFunPtr #-}

glGetMultiTexEnvivEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()
glGetMultiTexEnvivEXT = ffienumenumenumPtrintIOV glGetMultiTexEnvivEXTFunPtr

glGetMultiTexEnvivEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
glGetMultiTexEnvivEXTFunPtr = unsafePerformIO (getProcAddress "glGetMultiTexEnvivEXT")

{-# NOINLINE glGetMultiTexEnvivEXTFunPtr #-}

glGetMultiTexGendvEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLdouble -> m ()
glGetMultiTexGendvEXT = ffienumenumenumPtrdoubleIOV glGetMultiTexGendvEXTFunPtr

glGetMultiTexGendvEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLdouble -> IO ())
glGetMultiTexGendvEXTFunPtr = unsafePerformIO (getProcAddress "glGetMultiTexGendvEXT")

{-# NOINLINE glGetMultiTexGendvEXTFunPtr #-}

glGetMultiTexGenfvEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetMultiTexGenfvEXT = ffienumenumenumPtrfloatIOV glGetMultiTexGenfvEXTFunPtr

glGetMultiTexGenfvEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
glGetMultiTexGenfvEXTFunPtr = unsafePerformIO (getProcAddress "glGetMultiTexGenfvEXT")

{-# NOINLINE glGetMultiTexGenfvEXTFunPtr #-}

glGetMultiTexGenivEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()
glGetMultiTexGenivEXT = ffienumenumenumPtrintIOV glGetMultiTexGenivEXTFunPtr

glGetMultiTexGenivEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
glGetMultiTexGenivEXTFunPtr = unsafePerformIO (getProcAddress "glGetMultiTexGenivEXT")

{-# NOINLINE glGetMultiTexGenivEXTFunPtr #-}

glGetMultiTexImageEXT :: MonadIO m => GLenum -> GLenum -> GLint -> GLenum -> GLenum -> Ptr () -> m ()
glGetMultiTexImageEXT = ffienumenumintenumenumPtrVIOV glGetMultiTexImageEXTFunPtr

glGetMultiTexImageEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLenum -> Ptr () -> IO ())
glGetMultiTexImageEXTFunPtr = unsafePerformIO (getProcAddress "glGetMultiTexImageEXT")

{-# NOINLINE glGetMultiTexImageEXTFunPtr #-}

glGetMultiTexLevelParameterfvEXT :: MonadIO m => GLenum -> GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()
glGetMultiTexLevelParameterfvEXT = ffienumenumintenumPtrfloatIOV glGetMultiTexLevelParameterfvEXTFunPtr

glGetMultiTexLevelParameterfvEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ())
glGetMultiTexLevelParameterfvEXTFunPtr = unsafePerformIO (getProcAddress "glGetMultiTexLevelParameterfvEXT")

{-# NOINLINE glGetMultiTexLevelParameterfvEXTFunPtr #-}

glGetMultiTexLevelParameterivEXT :: MonadIO m => GLenum -> GLenum -> GLint -> GLenum -> Ptr GLint -> m ()
glGetMultiTexLevelParameterivEXT = ffienumenumintenumPtrintIOV glGetMultiTexLevelParameterivEXTFunPtr

glGetMultiTexLevelParameterivEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> Ptr GLint -> IO ())
glGetMultiTexLevelParameterivEXTFunPtr = unsafePerformIO (getProcAddress "glGetMultiTexLevelParameterivEXT")

{-# NOINLINE glGetMultiTexLevelParameterivEXTFunPtr #-}

glGetMultiTexParameterIivEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()
glGetMultiTexParameterIivEXT = ffienumenumenumPtrintIOV glGetMultiTexParameterIivEXTFunPtr

glGetMultiTexParameterIivEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
glGetMultiTexParameterIivEXTFunPtr = unsafePerformIO (getProcAddress "glGetMultiTexParameterIivEXT")

{-# NOINLINE glGetMultiTexParameterIivEXTFunPtr #-}

glGetMultiTexParameterIuivEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLuint -> m ()
glGetMultiTexParameterIuivEXT = ffienumenumenumPtruintIOV glGetMultiTexParameterIuivEXTFunPtr

glGetMultiTexParameterIuivEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLuint -> IO ())
glGetMultiTexParameterIuivEXTFunPtr = unsafePerformIO (getProcAddress "glGetMultiTexParameterIuivEXT")

{-# NOINLINE glGetMultiTexParameterIuivEXTFunPtr #-}

glGetMultiTexParameterfvEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetMultiTexParameterfvEXT = ffienumenumenumPtrfloatIOV glGetMultiTexParameterfvEXTFunPtr

glGetMultiTexParameterfvEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
glGetMultiTexParameterfvEXTFunPtr = unsafePerformIO (getProcAddress "glGetMultiTexParameterfvEXT")

{-# NOINLINE glGetMultiTexParameterfvEXTFunPtr #-}

glGetMultiTexParameterivEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()
glGetMultiTexParameterivEXT = ffienumenumenumPtrintIOV glGetMultiTexParameterivEXTFunPtr

glGetMultiTexParameterivEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
glGetMultiTexParameterivEXTFunPtr = unsafePerformIO (getProcAddress "glGetMultiTexParameterivEXT")

{-# NOINLINE glGetMultiTexParameterivEXTFunPtr #-}

glGetNamedBufferParameterivEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetNamedBufferParameterivEXT = ffiuintenumPtrintIOV glGetNamedBufferParameterivEXTFunPtr

glGetNamedBufferParameterivEXTFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
glGetNamedBufferParameterivEXTFunPtr = unsafePerformIO (getProcAddress "glGetNamedBufferParameterivEXT")

{-# NOINLINE glGetNamedBufferParameterivEXTFunPtr #-}

glGetNamedBufferPointervEXT :: MonadIO m => GLuint -> GLenum -> Ptr () -> m ()
glGetNamedBufferPointervEXT = ffiuintenumPtrVIOV glGetNamedBufferPointervEXTFunPtr

glGetNamedBufferPointervEXTFunPtr :: FunPtr (GLuint -> GLenum -> Ptr () -> IO ())
glGetNamedBufferPointervEXTFunPtr = unsafePerformIO (getProcAddress "glGetNamedBufferPointervEXT")

{-# NOINLINE glGetNamedBufferPointervEXTFunPtr #-}

glGetNamedBufferSubDataEXT :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> Ptr () -> m ()
glGetNamedBufferSubDataEXT = ffiuintintptrsizeiptrPtrVIOV glGetNamedBufferSubDataEXTFunPtr

glGetNamedBufferSubDataEXTFunPtr :: FunPtr (GLuint -> GLintptr -> GLsizeiptr -> Ptr () -> IO ())
glGetNamedBufferSubDataEXTFunPtr = unsafePerformIO (getProcAddress "glGetNamedBufferSubDataEXT")

{-# NOINLINE glGetNamedBufferSubDataEXTFunPtr #-}

glGetNamedFramebufferAttachmentParameterivEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()
glGetNamedFramebufferAttachmentParameterivEXT = ffiuintenumenumPtrintIOV glGetNamedFramebufferAttachmentParameterivEXTFunPtr

glGetNamedFramebufferAttachmentParameterivEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ())
glGetNamedFramebufferAttachmentParameterivEXTFunPtr = unsafePerformIO (getProcAddress "glGetNamedFramebufferAttachmentParameterivEXT")

{-# NOINLINE glGetNamedFramebufferAttachmentParameterivEXTFunPtr #-}

glGetNamedFramebufferParameterivEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetNamedFramebufferParameterivEXT = ffiuintenumPtrintIOV glGetNamedFramebufferParameterivEXTFunPtr

glGetNamedFramebufferParameterivEXTFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
glGetNamedFramebufferParameterivEXTFunPtr = unsafePerformIO (getProcAddress "glGetNamedFramebufferParameterivEXT")

{-# NOINLINE glGetNamedFramebufferParameterivEXTFunPtr #-}

glGetNamedProgramLocalParameterIivEXT :: MonadIO m => GLuint -> GLenum -> GLuint -> Ptr GLint -> m ()
glGetNamedProgramLocalParameterIivEXT = ffiuintenumuintPtrintIOV glGetNamedProgramLocalParameterIivEXTFunPtr

glGetNamedProgramLocalParameterIivEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLint -> IO ())
glGetNamedProgramLocalParameterIivEXTFunPtr = unsafePerformIO (getProcAddress "glGetNamedProgramLocalParameterIivEXT")

{-# NOINLINE glGetNamedProgramLocalParameterIivEXTFunPtr #-}

glGetNamedProgramLocalParameterIuivEXT :: MonadIO m => GLuint -> GLenum -> GLuint -> Ptr GLuint -> m ()
glGetNamedProgramLocalParameterIuivEXT = ffiuintenumuintPtruintIOV glGetNamedProgramLocalParameterIuivEXTFunPtr

glGetNamedProgramLocalParameterIuivEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLuint -> IO ())
glGetNamedProgramLocalParameterIuivEXTFunPtr = unsafePerformIO (getProcAddress "glGetNamedProgramLocalParameterIuivEXT")

{-# NOINLINE glGetNamedProgramLocalParameterIuivEXTFunPtr #-}

glGetNamedProgramLocalParameterdvEXT :: MonadIO m => GLuint -> GLenum -> GLuint -> Ptr GLdouble -> m ()
glGetNamedProgramLocalParameterdvEXT = ffiuintenumuintPtrdoubleIOV glGetNamedProgramLocalParameterdvEXTFunPtr

glGetNamedProgramLocalParameterdvEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLdouble -> IO ())
glGetNamedProgramLocalParameterdvEXTFunPtr = unsafePerformIO (getProcAddress "glGetNamedProgramLocalParameterdvEXT")

{-# NOINLINE glGetNamedProgramLocalParameterdvEXTFunPtr #-}

glGetNamedProgramLocalParameterfvEXT :: MonadIO m => GLuint -> GLenum -> GLuint -> Ptr GLfloat -> m ()
glGetNamedProgramLocalParameterfvEXT = ffiuintenumuintPtrfloatIOV glGetNamedProgramLocalParameterfvEXTFunPtr

glGetNamedProgramLocalParameterfvEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLfloat -> IO ())
glGetNamedProgramLocalParameterfvEXTFunPtr = unsafePerformIO (getProcAddress "glGetNamedProgramLocalParameterfvEXT")

{-# NOINLINE glGetNamedProgramLocalParameterfvEXTFunPtr #-}

glGetNamedProgramStringEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr () -> m ()
glGetNamedProgramStringEXT = ffiuintenumenumPtrVIOV glGetNamedProgramStringEXTFunPtr

glGetNamedProgramStringEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr () -> IO ())
glGetNamedProgramStringEXTFunPtr = unsafePerformIO (getProcAddress "glGetNamedProgramStringEXT")

{-# NOINLINE glGetNamedProgramStringEXTFunPtr #-}

glGetNamedProgramivEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()
glGetNamedProgramivEXT = ffiuintenumenumPtrintIOV glGetNamedProgramivEXTFunPtr

glGetNamedProgramivEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ())
glGetNamedProgramivEXTFunPtr = unsafePerformIO (getProcAddress "glGetNamedProgramivEXT")

{-# NOINLINE glGetNamedProgramivEXTFunPtr #-}

glGetNamedRenderbufferParameterivEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetNamedRenderbufferParameterivEXT = ffiuintenumPtrintIOV glGetNamedRenderbufferParameterivEXTFunPtr

glGetNamedRenderbufferParameterivEXTFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
glGetNamedRenderbufferParameterivEXTFunPtr = unsafePerformIO (getProcAddress "glGetNamedRenderbufferParameterivEXT")

{-# NOINLINE glGetNamedRenderbufferParameterivEXTFunPtr #-}

glGetPointerIndexedvEXT :: MonadIO m => GLenum -> GLuint -> Ptr () -> m ()
glGetPointerIndexedvEXT = ffienumuintPtrVIOV glGetPointerIndexedvEXTFunPtr

glGetPointerIndexedvEXTFunPtr :: FunPtr (GLenum -> GLuint -> Ptr () -> IO ())
glGetPointerIndexedvEXTFunPtr = unsafePerformIO (getProcAddress "glGetPointerIndexedvEXT")

{-# NOINLINE glGetPointerIndexedvEXTFunPtr #-}

glGetPointeri_vEXT :: MonadIO m => GLenum -> GLuint -> Ptr () -> m ()
glGetPointeri_vEXT = ffienumuintPtrVIOV glGetPointeri_vEXTFunPtr

glGetPointeri_vEXTFunPtr :: FunPtr (GLenum -> GLuint -> Ptr () -> IO ())
glGetPointeri_vEXTFunPtr = unsafePerformIO (getProcAddress "glGetPointeri_vEXT")

{-# NOINLINE glGetPointeri_vEXTFunPtr #-}

glGetTextureImageEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLenum -> GLenum -> Ptr () -> m ()
glGetTextureImageEXT = ffiuintenumintenumenumPtrVIOV glGetTextureImageEXTFunPtr

glGetTextureImageEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLenum -> Ptr () -> IO ())
glGetTextureImageEXTFunPtr = unsafePerformIO (getProcAddress "glGetTextureImageEXT")

{-# NOINLINE glGetTextureImageEXTFunPtr #-}

glGetTextureLevelParameterfvEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()
glGetTextureLevelParameterfvEXT = ffiuintenumintenumPtrfloatIOV glGetTextureLevelParameterfvEXTFunPtr

glGetTextureLevelParameterfvEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ())
glGetTextureLevelParameterfvEXTFunPtr = unsafePerformIO (getProcAddress "glGetTextureLevelParameterfvEXT")

{-# NOINLINE glGetTextureLevelParameterfvEXTFunPtr #-}

glGetTextureLevelParameterivEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLenum -> Ptr GLint -> m ()
glGetTextureLevelParameterivEXT = ffiuintenumintenumPtrintIOV glGetTextureLevelParameterivEXTFunPtr

glGetTextureLevelParameterivEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> Ptr GLint -> IO ())
glGetTextureLevelParameterivEXTFunPtr = unsafePerformIO (getProcAddress "glGetTextureLevelParameterivEXT")

{-# NOINLINE glGetTextureLevelParameterivEXTFunPtr #-}

glGetTextureParameterIivEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()
glGetTextureParameterIivEXT = ffiuintenumenumPtrintIOV glGetTextureParameterIivEXTFunPtr

glGetTextureParameterIivEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ())
glGetTextureParameterIivEXTFunPtr = unsafePerformIO (getProcAddress "glGetTextureParameterIivEXT")

{-# NOINLINE glGetTextureParameterIivEXTFunPtr #-}

glGetTextureParameterIuivEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLuint -> m ()
glGetTextureParameterIuivEXT = ffiuintenumenumPtruintIOV glGetTextureParameterIuivEXTFunPtr

glGetTextureParameterIuivEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLuint -> IO ())
glGetTextureParameterIuivEXTFunPtr = unsafePerformIO (getProcAddress "glGetTextureParameterIuivEXT")

{-# NOINLINE glGetTextureParameterIuivEXTFunPtr #-}

glGetTextureParameterfvEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetTextureParameterfvEXT = ffiuintenumenumPtrfloatIOV glGetTextureParameterfvEXTFunPtr

glGetTextureParameterfvEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
glGetTextureParameterfvEXTFunPtr = unsafePerformIO (getProcAddress "glGetTextureParameterfvEXT")

{-# NOINLINE glGetTextureParameterfvEXTFunPtr #-}

glGetTextureParameterivEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()
glGetTextureParameterivEXT = ffiuintenumenumPtrintIOV glGetTextureParameterivEXTFunPtr

glGetTextureParameterivEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ())
glGetTextureParameterivEXTFunPtr = unsafePerformIO (getProcAddress "glGetTextureParameterivEXT")

{-# NOINLINE glGetTextureParameterivEXTFunPtr #-}

glGetVertexArrayIntegeri_vEXT :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()
glGetVertexArrayIntegeri_vEXT = ffiuintuintenumPtrintIOV glGetVertexArrayIntegeri_vEXTFunPtr

glGetVertexArrayIntegeri_vEXTFunPtr :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLint -> IO ())
glGetVertexArrayIntegeri_vEXTFunPtr = unsafePerformIO (getProcAddress "glGetVertexArrayIntegeri_vEXT")

{-# NOINLINE glGetVertexArrayIntegeri_vEXTFunPtr #-}

glGetVertexArrayIntegervEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetVertexArrayIntegervEXT = ffiuintenumPtrintIOV glGetVertexArrayIntegervEXTFunPtr

glGetVertexArrayIntegervEXTFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
glGetVertexArrayIntegervEXTFunPtr = unsafePerformIO (getProcAddress "glGetVertexArrayIntegervEXT")

{-# NOINLINE glGetVertexArrayIntegervEXTFunPtr #-}

glGetVertexArrayPointeri_vEXT :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr () -> m ()
glGetVertexArrayPointeri_vEXT = ffiuintuintenumPtrVIOV glGetVertexArrayPointeri_vEXTFunPtr

glGetVertexArrayPointeri_vEXTFunPtr :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr () -> IO ())
glGetVertexArrayPointeri_vEXTFunPtr = unsafePerformIO (getProcAddress "glGetVertexArrayPointeri_vEXT")

{-# NOINLINE glGetVertexArrayPointeri_vEXTFunPtr #-}

glGetVertexArrayPointervEXT :: MonadIO m => GLuint -> GLenum -> Ptr () -> m ()
glGetVertexArrayPointervEXT = ffiuintenumPtrVIOV glGetVertexArrayPointervEXTFunPtr

glGetVertexArrayPointervEXTFunPtr :: FunPtr (GLuint -> GLenum -> Ptr () -> IO ())
glGetVertexArrayPointervEXTFunPtr = unsafePerformIO (getProcAddress "glGetVertexArrayPointervEXT")

{-# NOINLINE glGetVertexArrayPointervEXTFunPtr #-}

glMapNamedBufferEXT :: MonadIO m => GLuint -> GLenum -> m (Ptr ())
glMapNamedBufferEXT = ffiuintenumIOPtrV glMapNamedBufferEXTFunPtr

glMapNamedBufferEXTFunPtr :: FunPtr (GLuint -> GLenum -> IO (Ptr ()))
glMapNamedBufferEXTFunPtr = unsafePerformIO (getProcAddress "glMapNamedBufferEXT")

{-# NOINLINE glMapNamedBufferEXTFunPtr #-}

glMapNamedBufferRangeEXT :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr ())
glMapNamedBufferRangeEXT = ffiuintintptrsizeiptrbitfieldIOPtrV glMapNamedBufferRangeEXTFunPtr

glMapNamedBufferRangeEXTFunPtr :: FunPtr (GLuint -> GLintptr -> GLsizeiptr -> GLbitfield -> IO (Ptr ()))
glMapNamedBufferRangeEXTFunPtr = unsafePerformIO (getProcAddress "glMapNamedBufferRangeEXT")

{-# NOINLINE glMapNamedBufferRangeEXTFunPtr #-}

glMatrixFrustumEXT :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glMatrixFrustumEXT = ffienumdoubledoubledoubledoubledoubledoubleIOV glMatrixFrustumEXTFunPtr

glMatrixFrustumEXTFunPtr :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
glMatrixFrustumEXTFunPtr = unsafePerformIO (getProcAddress "glMatrixFrustumEXT")

{-# NOINLINE glMatrixFrustumEXTFunPtr #-}

glMatrixLoadIdentityEXT :: MonadIO m => GLenum -> m ()
glMatrixLoadIdentityEXT = ffienumIOV glMatrixLoadIdentityEXTFunPtr

glMatrixLoadIdentityEXTFunPtr :: FunPtr (GLenum -> IO ())
glMatrixLoadIdentityEXTFunPtr = unsafePerformIO (getProcAddress "glMatrixLoadIdentityEXT")

{-# NOINLINE glMatrixLoadIdentityEXTFunPtr #-}

glMatrixLoadTransposedEXT :: MonadIO m => GLenum -> Ptr GLdouble -> m ()
glMatrixLoadTransposedEXT = ffienumPtrdoubleIOV glMatrixLoadTransposedEXTFunPtr

glMatrixLoadTransposedEXTFunPtr :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
glMatrixLoadTransposedEXTFunPtr = unsafePerformIO (getProcAddress "glMatrixLoadTransposedEXT")

{-# NOINLINE glMatrixLoadTransposedEXTFunPtr #-}

glMatrixLoadTransposefEXT :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glMatrixLoadTransposefEXT = ffienumPtrfloatIOV glMatrixLoadTransposefEXTFunPtr

glMatrixLoadTransposefEXTFunPtr :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
glMatrixLoadTransposefEXTFunPtr = unsafePerformIO (getProcAddress "glMatrixLoadTransposefEXT")

{-# NOINLINE glMatrixLoadTransposefEXTFunPtr #-}

glMatrixLoaddEXT :: MonadIO m => GLenum -> Ptr GLdouble -> m ()
glMatrixLoaddEXT = ffienumPtrdoubleIOV glMatrixLoaddEXTFunPtr

glMatrixLoaddEXTFunPtr :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
glMatrixLoaddEXTFunPtr = unsafePerformIO (getProcAddress "glMatrixLoaddEXT")

{-# NOINLINE glMatrixLoaddEXTFunPtr #-}

glMatrixLoadfEXT :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glMatrixLoadfEXT = ffienumPtrfloatIOV glMatrixLoadfEXTFunPtr

glMatrixLoadfEXTFunPtr :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
glMatrixLoadfEXTFunPtr = unsafePerformIO (getProcAddress "glMatrixLoadfEXT")

{-# NOINLINE glMatrixLoadfEXTFunPtr #-}

glMatrixMultTransposedEXT :: MonadIO m => GLenum -> Ptr GLdouble -> m ()
glMatrixMultTransposedEXT = ffienumPtrdoubleIOV glMatrixMultTransposedEXTFunPtr

glMatrixMultTransposedEXTFunPtr :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
glMatrixMultTransposedEXTFunPtr = unsafePerformIO (getProcAddress "glMatrixMultTransposedEXT")

{-# NOINLINE glMatrixMultTransposedEXTFunPtr #-}

glMatrixMultTransposefEXT :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glMatrixMultTransposefEXT = ffienumPtrfloatIOV glMatrixMultTransposefEXTFunPtr

glMatrixMultTransposefEXTFunPtr :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
glMatrixMultTransposefEXTFunPtr = unsafePerformIO (getProcAddress "glMatrixMultTransposefEXT")

{-# NOINLINE glMatrixMultTransposefEXTFunPtr #-}

glMatrixMultdEXT :: MonadIO m => GLenum -> Ptr GLdouble -> m ()
glMatrixMultdEXT = ffienumPtrdoubleIOV glMatrixMultdEXTFunPtr

glMatrixMultdEXTFunPtr :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
glMatrixMultdEXTFunPtr = unsafePerformIO (getProcAddress "glMatrixMultdEXT")

{-# NOINLINE glMatrixMultdEXTFunPtr #-}

glMatrixMultfEXT :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glMatrixMultfEXT = ffienumPtrfloatIOV glMatrixMultfEXTFunPtr

glMatrixMultfEXTFunPtr :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
glMatrixMultfEXTFunPtr = unsafePerformIO (getProcAddress "glMatrixMultfEXT")

{-# NOINLINE glMatrixMultfEXTFunPtr #-}

glMatrixOrthoEXT :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glMatrixOrthoEXT = ffienumdoubledoubledoubledoubledoubledoubleIOV glMatrixOrthoEXTFunPtr

glMatrixOrthoEXTFunPtr :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
glMatrixOrthoEXTFunPtr = unsafePerformIO (getProcAddress "glMatrixOrthoEXT")

{-# NOINLINE glMatrixOrthoEXTFunPtr #-}

glMatrixPopEXT :: MonadIO m => GLenum -> m ()
glMatrixPopEXT = ffienumIOV glMatrixPopEXTFunPtr

glMatrixPopEXTFunPtr :: FunPtr (GLenum -> IO ())
glMatrixPopEXTFunPtr = unsafePerformIO (getProcAddress "glMatrixPopEXT")

{-# NOINLINE glMatrixPopEXTFunPtr #-}

glMatrixPushEXT :: MonadIO m => GLenum -> m ()
glMatrixPushEXT = ffienumIOV glMatrixPushEXTFunPtr

glMatrixPushEXTFunPtr :: FunPtr (GLenum -> IO ())
glMatrixPushEXTFunPtr = unsafePerformIO (getProcAddress "glMatrixPushEXT")

{-# NOINLINE glMatrixPushEXTFunPtr #-}

glMatrixRotatedEXT :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glMatrixRotatedEXT = ffienumdoubledoubledoubledoubleIOV glMatrixRotatedEXTFunPtr

glMatrixRotatedEXTFunPtr :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
glMatrixRotatedEXTFunPtr = unsafePerformIO (getProcAddress "glMatrixRotatedEXT")

{-# NOINLINE glMatrixRotatedEXTFunPtr #-}

glMatrixRotatefEXT :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glMatrixRotatefEXT = ffienumfloatfloatfloatfloatIOV glMatrixRotatefEXTFunPtr

glMatrixRotatefEXTFunPtr :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glMatrixRotatefEXTFunPtr = unsafePerformIO (getProcAddress "glMatrixRotatefEXT")

{-# NOINLINE glMatrixRotatefEXTFunPtr #-}

glMatrixScaledEXT :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()
glMatrixScaledEXT = ffienumdoubledoubledoubleIOV glMatrixScaledEXTFunPtr

glMatrixScaledEXTFunPtr :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ())
glMatrixScaledEXTFunPtr = unsafePerformIO (getProcAddress "glMatrixScaledEXT")

{-# NOINLINE glMatrixScaledEXTFunPtr #-}

glMatrixScalefEXT :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()
glMatrixScalefEXT = ffienumfloatfloatfloatIOV glMatrixScalefEXTFunPtr

glMatrixScalefEXTFunPtr :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLfloat -> IO ())
glMatrixScalefEXTFunPtr = unsafePerformIO (getProcAddress "glMatrixScalefEXT")

{-# NOINLINE glMatrixScalefEXTFunPtr #-}

glMatrixTranslatedEXT :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()
glMatrixTranslatedEXT = ffienumdoubledoubledoubleIOV glMatrixTranslatedEXTFunPtr

glMatrixTranslatedEXTFunPtr :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ())
glMatrixTranslatedEXTFunPtr = unsafePerformIO (getProcAddress "glMatrixTranslatedEXT")

{-# NOINLINE glMatrixTranslatedEXTFunPtr #-}

glMatrixTranslatefEXT :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()
glMatrixTranslatefEXT = ffienumfloatfloatfloatIOV glMatrixTranslatefEXTFunPtr

glMatrixTranslatefEXTFunPtr :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLfloat -> IO ())
glMatrixTranslatefEXTFunPtr = unsafePerformIO (getProcAddress "glMatrixTranslatefEXT")

{-# NOINLINE glMatrixTranslatefEXTFunPtr #-}

glMultiTexBufferEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> m ()
glMultiTexBufferEXT = ffienumenumenumuintIOV glMultiTexBufferEXTFunPtr

glMultiTexBufferEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> IO ())
glMultiTexBufferEXTFunPtr = unsafePerformIO (getProcAddress "glMultiTexBufferEXT")

{-# NOINLINE glMultiTexBufferEXTFunPtr #-}

glMultiTexCoordPointerEXT :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> Ptr () -> m ()
glMultiTexCoordPointerEXT = ffienumintenumsizeiPtrVIOV glMultiTexCoordPointerEXTFunPtr

glMultiTexCoordPointerEXTFunPtr :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> Ptr () -> IO ())
glMultiTexCoordPointerEXTFunPtr = unsafePerformIO (getProcAddress "glMultiTexCoordPointerEXT")

{-# NOINLINE glMultiTexCoordPointerEXTFunPtr #-}

glMultiTexEnvfEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> GLfloat -> m ()
glMultiTexEnvfEXT = ffienumenumenumfloatIOV glMultiTexEnvfEXTFunPtr

glMultiTexEnvfEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> GLfloat -> IO ())
glMultiTexEnvfEXTFunPtr = unsafePerformIO (getProcAddress "glMultiTexEnvfEXT")

{-# NOINLINE glMultiTexEnvfEXTFunPtr #-}

glMultiTexEnvfvEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLfloat -> m ()
glMultiTexEnvfvEXT = ffienumenumenumPtrfloatIOV glMultiTexEnvfvEXTFunPtr

glMultiTexEnvfvEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
glMultiTexEnvfvEXTFunPtr = unsafePerformIO (getProcAddress "glMultiTexEnvfvEXT")

{-# NOINLINE glMultiTexEnvfvEXTFunPtr #-}

glMultiTexEnviEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> GLint -> m ()
glMultiTexEnviEXT = ffienumenumenumintIOV glMultiTexEnviEXTFunPtr

glMultiTexEnviEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> GLint -> IO ())
glMultiTexEnviEXTFunPtr = unsafePerformIO (getProcAddress "glMultiTexEnviEXT")

{-# NOINLINE glMultiTexEnviEXTFunPtr #-}

glMultiTexEnvivEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()
glMultiTexEnvivEXT = ffienumenumenumPtrintIOV glMultiTexEnvivEXTFunPtr

glMultiTexEnvivEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
glMultiTexEnvivEXTFunPtr = unsafePerformIO (getProcAddress "glMultiTexEnvivEXT")

{-# NOINLINE glMultiTexEnvivEXTFunPtr #-}

glMultiTexGendEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> GLdouble -> m ()
glMultiTexGendEXT = ffienumenumenumdoubleIOV glMultiTexGendEXTFunPtr

glMultiTexGendEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> GLdouble -> IO ())
glMultiTexGendEXTFunPtr = unsafePerformIO (getProcAddress "glMultiTexGendEXT")

{-# NOINLINE glMultiTexGendEXTFunPtr #-}

glMultiTexGendvEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLdouble -> m ()
glMultiTexGendvEXT = ffienumenumenumPtrdoubleIOV glMultiTexGendvEXTFunPtr

glMultiTexGendvEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLdouble -> IO ())
glMultiTexGendvEXTFunPtr = unsafePerformIO (getProcAddress "glMultiTexGendvEXT")

{-# NOINLINE glMultiTexGendvEXTFunPtr #-}

glMultiTexGenfEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> GLfloat -> m ()
glMultiTexGenfEXT = ffienumenumenumfloatIOV glMultiTexGenfEXTFunPtr

glMultiTexGenfEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> GLfloat -> IO ())
glMultiTexGenfEXTFunPtr = unsafePerformIO (getProcAddress "glMultiTexGenfEXT")

{-# NOINLINE glMultiTexGenfEXTFunPtr #-}

glMultiTexGenfvEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLfloat -> m ()
glMultiTexGenfvEXT = ffienumenumenumPtrfloatIOV glMultiTexGenfvEXTFunPtr

glMultiTexGenfvEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
glMultiTexGenfvEXTFunPtr = unsafePerformIO (getProcAddress "glMultiTexGenfvEXT")

{-# NOINLINE glMultiTexGenfvEXTFunPtr #-}

glMultiTexGeniEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> GLint -> m ()
glMultiTexGeniEXT = ffienumenumenumintIOV glMultiTexGeniEXTFunPtr

glMultiTexGeniEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> GLint -> IO ())
glMultiTexGeniEXTFunPtr = unsafePerformIO (getProcAddress "glMultiTexGeniEXT")

{-# NOINLINE glMultiTexGeniEXTFunPtr #-}

glMultiTexGenivEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()
glMultiTexGenivEXT = ffienumenumenumPtrintIOV glMultiTexGenivEXTFunPtr

glMultiTexGenivEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
glMultiTexGenivEXTFunPtr = unsafePerformIO (getProcAddress "glMultiTexGenivEXT")

{-# NOINLINE glMultiTexGenivEXTFunPtr #-}

glMultiTexImage1DEXT :: MonadIO m => GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> m ()
glMultiTexImage1DEXT = ffienumenumintintsizeiintenumenumPtrVIOV glMultiTexImage1DEXTFunPtr

glMultiTexImage1DEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ())
glMultiTexImage1DEXTFunPtr = unsafePerformIO (getProcAddress "glMultiTexImage1DEXT")

{-# NOINLINE glMultiTexImage1DEXTFunPtr #-}

glMultiTexImage2DEXT :: MonadIO m => GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> m ()
glMultiTexImage2DEXT = ffienumenumintintsizeisizeiintenumenumPtrVIOV glMultiTexImage2DEXTFunPtr

glMultiTexImage2DEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ())
glMultiTexImage2DEXTFunPtr = unsafePerformIO (getProcAddress "glMultiTexImage2DEXT")

{-# NOINLINE glMultiTexImage2DEXTFunPtr #-}

glMultiTexImage3DEXT :: MonadIO m => GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> m ()
glMultiTexImage3DEXT = ffienumenumintintsizeisizeisizeiintenumenumPtrVIOV glMultiTexImage3DEXTFunPtr

glMultiTexImage3DEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ())
glMultiTexImage3DEXTFunPtr = unsafePerformIO (getProcAddress "glMultiTexImage3DEXT")

{-# NOINLINE glMultiTexImage3DEXTFunPtr #-}

glMultiTexParameterIivEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()
glMultiTexParameterIivEXT = ffienumenumenumPtrintIOV glMultiTexParameterIivEXTFunPtr

glMultiTexParameterIivEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
glMultiTexParameterIivEXTFunPtr = unsafePerformIO (getProcAddress "glMultiTexParameterIivEXT")

{-# NOINLINE glMultiTexParameterIivEXTFunPtr #-}

glMultiTexParameterIuivEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLuint -> m ()
glMultiTexParameterIuivEXT = ffienumenumenumPtruintIOV glMultiTexParameterIuivEXTFunPtr

glMultiTexParameterIuivEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLuint -> IO ())
glMultiTexParameterIuivEXTFunPtr = unsafePerformIO (getProcAddress "glMultiTexParameterIuivEXT")

{-# NOINLINE glMultiTexParameterIuivEXTFunPtr #-}

glMultiTexParameterfEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> GLfloat -> m ()
glMultiTexParameterfEXT = ffienumenumenumfloatIOV glMultiTexParameterfEXTFunPtr

glMultiTexParameterfEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> GLfloat -> IO ())
glMultiTexParameterfEXTFunPtr = unsafePerformIO (getProcAddress "glMultiTexParameterfEXT")

{-# NOINLINE glMultiTexParameterfEXTFunPtr #-}

glMultiTexParameterfvEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLfloat -> m ()
glMultiTexParameterfvEXT = ffienumenumenumPtrfloatIOV glMultiTexParameterfvEXTFunPtr

glMultiTexParameterfvEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
glMultiTexParameterfvEXTFunPtr = unsafePerformIO (getProcAddress "glMultiTexParameterfvEXT")

{-# NOINLINE glMultiTexParameterfvEXTFunPtr #-}

glMultiTexParameteriEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> GLint -> m ()
glMultiTexParameteriEXT = ffienumenumenumintIOV glMultiTexParameteriEXTFunPtr

glMultiTexParameteriEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> GLint -> IO ())
glMultiTexParameteriEXTFunPtr = unsafePerformIO (getProcAddress "glMultiTexParameteriEXT")

{-# NOINLINE glMultiTexParameteriEXTFunPtr #-}

glMultiTexParameterivEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()
glMultiTexParameterivEXT = ffienumenumenumPtrintIOV glMultiTexParameterivEXTFunPtr

glMultiTexParameterivEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
glMultiTexParameterivEXTFunPtr = unsafePerformIO (getProcAddress "glMultiTexParameterivEXT")

{-# NOINLINE glMultiTexParameterivEXTFunPtr #-}

glMultiTexRenderbufferEXT :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()
glMultiTexRenderbufferEXT = ffienumenumuintIOV glMultiTexRenderbufferEXTFunPtr

glMultiTexRenderbufferEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLuint -> IO ())
glMultiTexRenderbufferEXTFunPtr = unsafePerformIO (getProcAddress "glMultiTexRenderbufferEXT")

{-# NOINLINE glMultiTexRenderbufferEXTFunPtr #-}

glMultiTexSubImage1DEXT :: MonadIO m => GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr () -> m ()
glMultiTexSubImage1DEXT = ffienumenumintintsizeienumenumPtrVIOV glMultiTexSubImage1DEXTFunPtr

glMultiTexSubImage1DEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ())
glMultiTexSubImage1DEXTFunPtr = unsafePerformIO (getProcAddress "glMultiTexSubImage1DEXT")

{-# NOINLINE glMultiTexSubImage1DEXTFunPtr #-}

glMultiTexSubImage2DEXT :: MonadIO m => GLenum -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> m ()
glMultiTexSubImage2DEXT = ffienumenumintintintsizeisizeienumenumPtrVIOV glMultiTexSubImage2DEXTFunPtr

glMultiTexSubImage2DEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ())
glMultiTexSubImage2DEXTFunPtr = unsafePerformIO (getProcAddress "glMultiTexSubImage2DEXT")

{-# NOINLINE glMultiTexSubImage2DEXTFunPtr #-}

glMultiTexSubImage3DEXT :: MonadIO m => GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> m ()
glMultiTexSubImage3DEXT = ffienumenumintintintintsizeisizeisizeienumenumPtrVIOV glMultiTexSubImage3DEXTFunPtr

glMultiTexSubImage3DEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ())
glMultiTexSubImage3DEXTFunPtr = unsafePerformIO (getProcAddress "glMultiTexSubImage3DEXT")

{-# NOINLINE glMultiTexSubImage3DEXTFunPtr #-}

glNamedBufferDataEXT :: MonadIO m => GLuint -> GLsizeiptr -> Ptr () -> GLenum -> m ()
glNamedBufferDataEXT = ffiuintsizeiptrPtrVenumIOV glNamedBufferDataEXTFunPtr

glNamedBufferDataEXTFunPtr :: FunPtr (GLuint -> GLsizeiptr -> Ptr () -> GLenum -> IO ())
glNamedBufferDataEXTFunPtr = unsafePerformIO (getProcAddress "glNamedBufferDataEXT")

{-# NOINLINE glNamedBufferDataEXTFunPtr #-}

glNamedBufferStorageEXT :: MonadIO m => GLuint -> GLsizeiptr -> Ptr () -> GLbitfield -> m ()
glNamedBufferStorageEXT = ffiuintsizeiptrPtrVbitfieldIOV glNamedBufferStorageEXTFunPtr

glNamedBufferStorageEXTFunPtr :: FunPtr (GLuint -> GLsizeiptr -> Ptr () -> GLbitfield -> IO ())
glNamedBufferStorageEXTFunPtr = unsafePerformIO (getProcAddress "glNamedBufferStorageEXT")

{-# NOINLINE glNamedBufferStorageEXTFunPtr #-}

glNamedBufferSubDataEXT :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> Ptr () -> m ()
glNamedBufferSubDataEXT = ffiuintintptrsizeiptrPtrVIOV glNamedBufferSubDataEXTFunPtr

glNamedBufferSubDataEXTFunPtr :: FunPtr (GLuint -> GLintptr -> GLsizeiptr -> Ptr () -> IO ())
glNamedBufferSubDataEXTFunPtr = unsafePerformIO (getProcAddress "glNamedBufferSubDataEXT")

{-# NOINLINE glNamedBufferSubDataEXTFunPtr #-}

glNamedCopyBufferSubDataEXT :: MonadIO m => GLuint -> GLuint -> GLintptr -> GLintptr -> GLsizeiptr -> m ()
glNamedCopyBufferSubDataEXT = ffiuintuintintptrintptrsizeiptrIOV glNamedCopyBufferSubDataEXTFunPtr

glNamedCopyBufferSubDataEXTFunPtr :: FunPtr (GLuint -> GLuint -> GLintptr -> GLintptr -> GLsizeiptr -> IO ())
glNamedCopyBufferSubDataEXTFunPtr = unsafePerformIO (getProcAddress "glNamedCopyBufferSubDataEXT")

{-# NOINLINE glNamedCopyBufferSubDataEXTFunPtr #-}

glNamedFramebufferParameteriEXT :: MonadIO m => GLuint -> GLenum -> GLint -> m ()
glNamedFramebufferParameteriEXT = ffiuintenumintIOV glNamedFramebufferParameteriEXTFunPtr

glNamedFramebufferParameteriEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLint -> IO ())
glNamedFramebufferParameteriEXTFunPtr = unsafePerformIO (getProcAddress "glNamedFramebufferParameteriEXT")

{-# NOINLINE glNamedFramebufferParameteriEXTFunPtr #-}

glNamedFramebufferRenderbufferEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> GLuint -> m ()
glNamedFramebufferRenderbufferEXT = ffiuintenumenumuintIOV glNamedFramebufferRenderbufferEXTFunPtr

glNamedFramebufferRenderbufferEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLenum -> GLuint -> IO ())
glNamedFramebufferRenderbufferEXTFunPtr = unsafePerformIO (getProcAddress "glNamedFramebufferRenderbufferEXT")

{-# NOINLINE glNamedFramebufferRenderbufferEXTFunPtr #-}

glNamedFramebufferTexture1DEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> GLuint -> GLint -> m ()
glNamedFramebufferTexture1DEXT = ffiuintenumenumuintintIOV glNamedFramebufferTexture1DEXTFunPtr

glNamedFramebufferTexture1DEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLenum -> GLuint -> GLint -> IO ())
glNamedFramebufferTexture1DEXTFunPtr = unsafePerformIO (getProcAddress "glNamedFramebufferTexture1DEXT")

{-# NOINLINE glNamedFramebufferTexture1DEXTFunPtr #-}

glNamedFramebufferTexture2DEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> GLuint -> GLint -> m ()
glNamedFramebufferTexture2DEXT = ffiuintenumenumuintintIOV glNamedFramebufferTexture2DEXTFunPtr

glNamedFramebufferTexture2DEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLenum -> GLuint -> GLint -> IO ())
glNamedFramebufferTexture2DEXTFunPtr = unsafePerformIO (getProcAddress "glNamedFramebufferTexture2DEXT")

{-# NOINLINE glNamedFramebufferTexture2DEXTFunPtr #-}

glNamedFramebufferTexture3DEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()
glNamedFramebufferTexture3DEXT = ffiuintenumenumuintintintIOV glNamedFramebufferTexture3DEXTFunPtr

glNamedFramebufferTexture3DEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ())
glNamedFramebufferTexture3DEXTFunPtr = unsafePerformIO (getProcAddress "glNamedFramebufferTexture3DEXT")

{-# NOINLINE glNamedFramebufferTexture3DEXTFunPtr #-}

glNamedFramebufferTextureEXT :: MonadIO m => GLuint -> GLenum -> GLuint -> GLint -> m ()
glNamedFramebufferTextureEXT = ffiuintenumuintintIOV glNamedFramebufferTextureEXTFunPtr

glNamedFramebufferTextureEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLuint -> GLint -> IO ())
glNamedFramebufferTextureEXTFunPtr = unsafePerformIO (getProcAddress "glNamedFramebufferTextureEXT")

{-# NOINLINE glNamedFramebufferTextureEXTFunPtr #-}

glNamedFramebufferTextureFaceEXT :: MonadIO m => GLuint -> GLenum -> GLuint -> GLint -> GLenum -> m ()
glNamedFramebufferTextureFaceEXT = ffiuintenumuintintenumIOV glNamedFramebufferTextureFaceEXTFunPtr

glNamedFramebufferTextureFaceEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLuint -> GLint -> GLenum -> IO ())
glNamedFramebufferTextureFaceEXTFunPtr = unsafePerformIO (getProcAddress "glNamedFramebufferTextureFaceEXT")

{-# NOINLINE glNamedFramebufferTextureFaceEXTFunPtr #-}

glNamedFramebufferTextureLayerEXT :: MonadIO m => GLuint -> GLenum -> GLuint -> GLint -> GLint -> m ()
glNamedFramebufferTextureLayerEXT = ffiuintenumuintintintIOV glNamedFramebufferTextureLayerEXTFunPtr

glNamedFramebufferTextureLayerEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLuint -> GLint -> GLint -> IO ())
glNamedFramebufferTextureLayerEXTFunPtr = unsafePerformIO (getProcAddress "glNamedFramebufferTextureLayerEXT")

{-# NOINLINE glNamedFramebufferTextureLayerEXTFunPtr #-}

glNamedProgramLocalParameter4dEXT :: MonadIO m => GLuint -> GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glNamedProgramLocalParameter4dEXT = ffiuintenumuintdoubledoubledoubledoubleIOV glNamedProgramLocalParameter4dEXTFunPtr

glNamedProgramLocalParameter4dEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
glNamedProgramLocalParameter4dEXTFunPtr = unsafePerformIO (getProcAddress "glNamedProgramLocalParameter4dEXT")

{-# NOINLINE glNamedProgramLocalParameter4dEXTFunPtr #-}

glNamedProgramLocalParameter4dvEXT :: MonadIO m => GLuint -> GLenum -> GLuint -> Ptr GLdouble -> m ()
glNamedProgramLocalParameter4dvEXT = ffiuintenumuintPtrdoubleIOV glNamedProgramLocalParameter4dvEXTFunPtr

glNamedProgramLocalParameter4dvEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLdouble -> IO ())
glNamedProgramLocalParameter4dvEXTFunPtr = unsafePerformIO (getProcAddress "glNamedProgramLocalParameter4dvEXT")

{-# NOINLINE glNamedProgramLocalParameter4dvEXTFunPtr #-}

glNamedProgramLocalParameter4fEXT :: MonadIO m => GLuint -> GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glNamedProgramLocalParameter4fEXT = ffiuintenumuintfloatfloatfloatfloatIOV glNamedProgramLocalParameter4fEXTFunPtr

glNamedProgramLocalParameter4fEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glNamedProgramLocalParameter4fEXTFunPtr = unsafePerformIO (getProcAddress "glNamedProgramLocalParameter4fEXT")

{-# NOINLINE glNamedProgramLocalParameter4fEXTFunPtr #-}

glNamedProgramLocalParameter4fvEXT :: MonadIO m => GLuint -> GLenum -> GLuint -> Ptr GLfloat -> m ()
glNamedProgramLocalParameter4fvEXT = ffiuintenumuintPtrfloatIOV glNamedProgramLocalParameter4fvEXTFunPtr

glNamedProgramLocalParameter4fvEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLfloat -> IO ())
glNamedProgramLocalParameter4fvEXTFunPtr = unsafePerformIO (getProcAddress "glNamedProgramLocalParameter4fvEXT")

{-# NOINLINE glNamedProgramLocalParameter4fvEXTFunPtr #-}

glNamedProgramLocalParameterI4iEXT :: MonadIO m => GLuint -> GLenum -> GLuint -> GLint -> GLint -> GLint -> GLint -> m ()
glNamedProgramLocalParameterI4iEXT = ffiuintenumuintintintintintIOV glNamedProgramLocalParameterI4iEXTFunPtr

glNamedProgramLocalParameterI4iEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLuint -> GLint -> GLint -> GLint -> GLint -> IO ())
glNamedProgramLocalParameterI4iEXTFunPtr = unsafePerformIO (getProcAddress "glNamedProgramLocalParameterI4iEXT")

{-# NOINLINE glNamedProgramLocalParameterI4iEXTFunPtr #-}

glNamedProgramLocalParameterI4ivEXT :: MonadIO m => GLuint -> GLenum -> GLuint -> Ptr GLint -> m ()
glNamedProgramLocalParameterI4ivEXT = ffiuintenumuintPtrintIOV glNamedProgramLocalParameterI4ivEXTFunPtr

glNamedProgramLocalParameterI4ivEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLint -> IO ())
glNamedProgramLocalParameterI4ivEXTFunPtr = unsafePerformIO (getProcAddress "glNamedProgramLocalParameterI4ivEXT")

{-# NOINLINE glNamedProgramLocalParameterI4ivEXTFunPtr #-}

glNamedProgramLocalParameterI4uiEXT :: MonadIO m => GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
glNamedProgramLocalParameterI4uiEXT = ffiuintenumuintuintuintuintuintIOV glNamedProgramLocalParameterI4uiEXTFunPtr

glNamedProgramLocalParameterI4uiEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
glNamedProgramLocalParameterI4uiEXTFunPtr = unsafePerformIO (getProcAddress "glNamedProgramLocalParameterI4uiEXT")

{-# NOINLINE glNamedProgramLocalParameterI4uiEXTFunPtr #-}

glNamedProgramLocalParameterI4uivEXT :: MonadIO m => GLuint -> GLenum -> GLuint -> Ptr GLuint -> m ()
glNamedProgramLocalParameterI4uivEXT = ffiuintenumuintPtruintIOV glNamedProgramLocalParameterI4uivEXTFunPtr

glNamedProgramLocalParameterI4uivEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLuint -> IO ())
glNamedProgramLocalParameterI4uivEXTFunPtr = unsafePerformIO (getProcAddress "glNamedProgramLocalParameterI4uivEXT")

{-# NOINLINE glNamedProgramLocalParameterI4uivEXTFunPtr #-}

glNamedProgramLocalParameters4fvEXT :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> m ()
glNamedProgramLocalParameters4fvEXT = ffiuintenumuintsizeiPtrfloatIOV glNamedProgramLocalParameters4fvEXTFunPtr

glNamedProgramLocalParameters4fvEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
glNamedProgramLocalParameters4fvEXTFunPtr = unsafePerformIO (getProcAddress "glNamedProgramLocalParameters4fvEXT")

{-# NOINLINE glNamedProgramLocalParameters4fvEXTFunPtr #-}

glNamedProgramLocalParametersI4ivEXT :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLint -> m ()
glNamedProgramLocalParametersI4ivEXT = ffiuintenumuintsizeiPtrintIOV glNamedProgramLocalParametersI4ivEXTFunPtr

glNamedProgramLocalParametersI4ivEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLint -> IO ())
glNamedProgramLocalParametersI4ivEXTFunPtr = unsafePerformIO (getProcAddress "glNamedProgramLocalParametersI4ivEXT")

{-# NOINLINE glNamedProgramLocalParametersI4ivEXTFunPtr #-}

glNamedProgramLocalParametersI4uivEXT :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLuint -> m ()
glNamedProgramLocalParametersI4uivEXT = ffiuintenumuintsizeiPtruintIOV glNamedProgramLocalParametersI4uivEXTFunPtr

glNamedProgramLocalParametersI4uivEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLuint -> IO ())
glNamedProgramLocalParametersI4uivEXTFunPtr = unsafePerformIO (getProcAddress "glNamedProgramLocalParametersI4uivEXT")

{-# NOINLINE glNamedProgramLocalParametersI4uivEXTFunPtr #-}

glNamedProgramStringEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> GLsizei -> Ptr () -> m ()
glNamedProgramStringEXT = ffiuintenumenumsizeiPtrVIOV glNamedProgramStringEXTFunPtr

glNamedProgramStringEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLenum -> GLsizei -> Ptr () -> IO ())
glNamedProgramStringEXTFunPtr = unsafePerformIO (getProcAddress "glNamedProgramStringEXT")

{-# NOINLINE glNamedProgramStringEXTFunPtr #-}

glNamedRenderbufferStorageEXT :: MonadIO m => GLuint -> GLenum -> GLsizei -> GLsizei -> m ()
glNamedRenderbufferStorageEXT = ffiuintenumsizeisizeiIOV glNamedRenderbufferStorageEXTFunPtr

glNamedRenderbufferStorageEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLsizei -> GLsizei -> IO ())
glNamedRenderbufferStorageEXTFunPtr = unsafePerformIO (getProcAddress "glNamedRenderbufferStorageEXT")

{-# NOINLINE glNamedRenderbufferStorageEXTFunPtr #-}

glNamedRenderbufferStorageMultisampleCoverageEXT :: MonadIO m => GLuint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()
glNamedRenderbufferStorageMultisampleCoverageEXT = ffiuintsizeisizeienumsizeisizeiIOV glNamedRenderbufferStorageMultisampleCoverageEXTFunPtr

glNamedRenderbufferStorageMultisampleCoverageEXTFunPtr :: FunPtr (GLuint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
glNamedRenderbufferStorageMultisampleCoverageEXTFunPtr = unsafePerformIO (getProcAddress "glNamedRenderbufferStorageMultisampleCoverageEXT")

{-# NOINLINE glNamedRenderbufferStorageMultisampleCoverageEXTFunPtr #-}

glNamedRenderbufferStorageMultisampleEXT :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()
glNamedRenderbufferStorageMultisampleEXT = ffiuintsizeienumsizeisizeiIOV glNamedRenderbufferStorageMultisampleEXTFunPtr

glNamedRenderbufferStorageMultisampleEXTFunPtr :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
glNamedRenderbufferStorageMultisampleEXTFunPtr = unsafePerformIO (getProcAddress "glNamedRenderbufferStorageMultisampleEXT")

{-# NOINLINE glNamedRenderbufferStorageMultisampleEXTFunPtr #-}

glProgramUniform1dEXT :: MonadIO m => GLuint -> GLint -> GLdouble -> m ()
glProgramUniform1dEXT = ffiuintintdoubleIOV glProgramUniform1dEXTFunPtr

glProgramUniform1dEXTFunPtr :: FunPtr (GLuint -> GLint -> GLdouble -> IO ())
glProgramUniform1dEXTFunPtr = unsafePerformIO (getProcAddress "glProgramUniform1dEXT")

{-# NOINLINE glProgramUniform1dEXTFunPtr #-}

glProgramUniform1dvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()
glProgramUniform1dvEXT = ffiuintintsizeiPtrdoubleIOV glProgramUniform1dvEXTFunPtr

glProgramUniform1dvEXTFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLdouble -> IO ())
glProgramUniform1dvEXTFunPtr = unsafePerformIO (getProcAddress "glProgramUniform1dvEXT")

{-# NOINLINE glProgramUniform1dvEXTFunPtr #-}

glProgramUniform2dEXT :: MonadIO m => GLuint -> GLint -> GLdouble -> GLdouble -> m ()
glProgramUniform2dEXT = ffiuintintdoubledoubleIOV glProgramUniform2dEXTFunPtr

glProgramUniform2dEXTFunPtr :: FunPtr (GLuint -> GLint -> GLdouble -> GLdouble -> IO ())
glProgramUniform2dEXTFunPtr = unsafePerformIO (getProcAddress "glProgramUniform2dEXT")

{-# NOINLINE glProgramUniform2dEXTFunPtr #-}

glProgramUniform2dvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()
glProgramUniform2dvEXT = ffiuintintsizeiPtrdoubleIOV glProgramUniform2dvEXTFunPtr

glProgramUniform2dvEXTFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLdouble -> IO ())
glProgramUniform2dvEXTFunPtr = unsafePerformIO (getProcAddress "glProgramUniform2dvEXT")

{-# NOINLINE glProgramUniform2dvEXTFunPtr #-}

glProgramUniform3dEXT :: MonadIO m => GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> m ()
glProgramUniform3dEXT = ffiuintintdoubledoubledoubleIOV glProgramUniform3dEXTFunPtr

glProgramUniform3dEXTFunPtr :: FunPtr (GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> IO ())
glProgramUniform3dEXTFunPtr = unsafePerformIO (getProcAddress "glProgramUniform3dEXT")

{-# NOINLINE glProgramUniform3dEXTFunPtr #-}

glProgramUniform3dvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()
glProgramUniform3dvEXT = ffiuintintsizeiPtrdoubleIOV glProgramUniform3dvEXTFunPtr

glProgramUniform3dvEXTFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLdouble -> IO ())
glProgramUniform3dvEXTFunPtr = unsafePerformIO (getProcAddress "glProgramUniform3dvEXT")

{-# NOINLINE glProgramUniform3dvEXTFunPtr #-}

glProgramUniform4dEXT :: MonadIO m => GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glProgramUniform4dEXT = ffiuintintdoubledoubledoubledoubleIOV glProgramUniform4dEXTFunPtr

glProgramUniform4dEXTFunPtr :: FunPtr (GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
glProgramUniform4dEXTFunPtr = unsafePerformIO (getProcAddress "glProgramUniform4dEXT")

{-# NOINLINE glProgramUniform4dEXTFunPtr #-}

glProgramUniform4dvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()
glProgramUniform4dvEXT = ffiuintintsizeiPtrdoubleIOV glProgramUniform4dvEXTFunPtr

glProgramUniform4dvEXTFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLdouble -> IO ())
glProgramUniform4dvEXTFunPtr = unsafePerformIO (getProcAddress "glProgramUniform4dvEXT")

{-# NOINLINE glProgramUniform4dvEXTFunPtr #-}

glProgramUniformMatrix2dvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glProgramUniformMatrix2dvEXT = ffiuintintsizeibooleanPtrdoubleIOV glProgramUniformMatrix2dvEXTFunPtr

glProgramUniformMatrix2dvEXTFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
glProgramUniformMatrix2dvEXTFunPtr = unsafePerformIO (getProcAddress "glProgramUniformMatrix2dvEXT")

{-# NOINLINE glProgramUniformMatrix2dvEXTFunPtr #-}

glProgramUniformMatrix2x3dvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glProgramUniformMatrix2x3dvEXT = ffiuintintsizeibooleanPtrdoubleIOV glProgramUniformMatrix2x3dvEXTFunPtr

glProgramUniformMatrix2x3dvEXTFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
glProgramUniformMatrix2x3dvEXTFunPtr = unsafePerformIO (getProcAddress "glProgramUniformMatrix2x3dvEXT")

{-# NOINLINE glProgramUniformMatrix2x3dvEXTFunPtr #-}

glProgramUniformMatrix2x4dvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glProgramUniformMatrix2x4dvEXT = ffiuintintsizeibooleanPtrdoubleIOV glProgramUniformMatrix2x4dvEXTFunPtr

glProgramUniformMatrix2x4dvEXTFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
glProgramUniformMatrix2x4dvEXTFunPtr = unsafePerformIO (getProcAddress "glProgramUniformMatrix2x4dvEXT")

{-# NOINLINE glProgramUniformMatrix2x4dvEXTFunPtr #-}

glProgramUniformMatrix3dvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glProgramUniformMatrix3dvEXT = ffiuintintsizeibooleanPtrdoubleIOV glProgramUniformMatrix3dvEXTFunPtr

glProgramUniformMatrix3dvEXTFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
glProgramUniformMatrix3dvEXTFunPtr = unsafePerformIO (getProcAddress "glProgramUniformMatrix3dvEXT")

{-# NOINLINE glProgramUniformMatrix3dvEXTFunPtr #-}

glProgramUniformMatrix3x2dvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glProgramUniformMatrix3x2dvEXT = ffiuintintsizeibooleanPtrdoubleIOV glProgramUniformMatrix3x2dvEXTFunPtr

glProgramUniformMatrix3x2dvEXTFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
glProgramUniformMatrix3x2dvEXTFunPtr = unsafePerformIO (getProcAddress "glProgramUniformMatrix3x2dvEXT")

{-# NOINLINE glProgramUniformMatrix3x2dvEXTFunPtr #-}

glProgramUniformMatrix3x4dvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glProgramUniformMatrix3x4dvEXT = ffiuintintsizeibooleanPtrdoubleIOV glProgramUniformMatrix3x4dvEXTFunPtr

glProgramUniformMatrix3x4dvEXTFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
glProgramUniformMatrix3x4dvEXTFunPtr = unsafePerformIO (getProcAddress "glProgramUniformMatrix3x4dvEXT")

{-# NOINLINE glProgramUniformMatrix3x4dvEXTFunPtr #-}

glProgramUniformMatrix4dvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glProgramUniformMatrix4dvEXT = ffiuintintsizeibooleanPtrdoubleIOV glProgramUniformMatrix4dvEXTFunPtr

glProgramUniformMatrix4dvEXTFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
glProgramUniformMatrix4dvEXTFunPtr = unsafePerformIO (getProcAddress "glProgramUniformMatrix4dvEXT")

{-# NOINLINE glProgramUniformMatrix4dvEXTFunPtr #-}

glProgramUniformMatrix4x2dvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glProgramUniformMatrix4x2dvEXT = ffiuintintsizeibooleanPtrdoubleIOV glProgramUniformMatrix4x2dvEXTFunPtr

glProgramUniformMatrix4x2dvEXTFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
glProgramUniformMatrix4x2dvEXTFunPtr = unsafePerformIO (getProcAddress "glProgramUniformMatrix4x2dvEXT")

{-# NOINLINE glProgramUniformMatrix4x2dvEXTFunPtr #-}

glProgramUniformMatrix4x3dvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glProgramUniformMatrix4x3dvEXT = ffiuintintsizeibooleanPtrdoubleIOV glProgramUniformMatrix4x3dvEXTFunPtr

glProgramUniformMatrix4x3dvEXTFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
glProgramUniformMatrix4x3dvEXTFunPtr = unsafePerformIO (getProcAddress "glProgramUniformMatrix4x3dvEXT")

{-# NOINLINE glProgramUniformMatrix4x3dvEXTFunPtr #-}

glPushClientAttribDefaultEXT :: MonadIO m => GLbitfield -> m ()
glPushClientAttribDefaultEXT = ffibitfieldIOV glPushClientAttribDefaultEXTFunPtr

glPushClientAttribDefaultEXTFunPtr :: FunPtr (GLbitfield -> IO ())
glPushClientAttribDefaultEXTFunPtr = unsafePerformIO (getProcAddress "glPushClientAttribDefaultEXT")

{-# NOINLINE glPushClientAttribDefaultEXTFunPtr #-}

glTextureBufferEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> GLuint -> m ()
glTextureBufferEXT = ffiuintenumenumuintIOV glTextureBufferEXTFunPtr

glTextureBufferEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLenum -> GLuint -> IO ())
glTextureBufferEXTFunPtr = unsafePerformIO (getProcAddress "glTextureBufferEXT")

{-# NOINLINE glTextureBufferEXTFunPtr #-}

glTextureBufferRangeEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> m ()
glTextureBufferRangeEXT = ffiuintenumenumuintintptrsizeiptrIOV glTextureBufferRangeEXTFunPtr

glTextureBufferRangeEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> IO ())
glTextureBufferRangeEXTFunPtr = unsafePerformIO (getProcAddress "glTextureBufferRangeEXT")

{-# NOINLINE glTextureBufferRangeEXTFunPtr #-}

glTextureImage1DEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> m ()
glTextureImage1DEXT = ffiuintenumintintsizeiintenumenumPtrVIOV glTextureImage1DEXTFunPtr

glTextureImage1DEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ())
glTextureImage1DEXTFunPtr = unsafePerformIO (getProcAddress "glTextureImage1DEXT")

{-# NOINLINE glTextureImage1DEXTFunPtr #-}

glTextureImage2DEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> m ()
glTextureImage2DEXT = ffiuintenumintintsizeisizeiintenumenumPtrVIOV glTextureImage2DEXTFunPtr

glTextureImage2DEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ())
glTextureImage2DEXTFunPtr = unsafePerformIO (getProcAddress "glTextureImage2DEXT")

{-# NOINLINE glTextureImage2DEXTFunPtr #-}

glTextureImage3DEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> m ()
glTextureImage3DEXT = ffiuintenumintintsizeisizeisizeiintenumenumPtrVIOV glTextureImage3DEXTFunPtr

glTextureImage3DEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ())
glTextureImage3DEXTFunPtr = unsafePerformIO (getProcAddress "glTextureImage3DEXT")

{-# NOINLINE glTextureImage3DEXTFunPtr #-}

glTexturePageCommitmentEXT :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()
glTexturePageCommitmentEXT = ffiuintintintintintsizeisizeisizeibooleanIOV glTexturePageCommitmentEXTFunPtr

glTexturePageCommitmentEXTFunPtr :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
glTexturePageCommitmentEXTFunPtr = unsafePerformIO (getProcAddress "glTexturePageCommitmentEXT")

{-# NOINLINE glTexturePageCommitmentEXTFunPtr #-}

glTextureParameterIivEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()
glTextureParameterIivEXT = ffiuintenumenumPtrintIOV glTextureParameterIivEXTFunPtr

glTextureParameterIivEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ())
glTextureParameterIivEXTFunPtr = unsafePerformIO (getProcAddress "glTextureParameterIivEXT")

{-# NOINLINE glTextureParameterIivEXTFunPtr #-}

glTextureParameterIuivEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLuint -> m ()
glTextureParameterIuivEXT = ffiuintenumenumPtruintIOV glTextureParameterIuivEXTFunPtr

glTextureParameterIuivEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLuint -> IO ())
glTextureParameterIuivEXTFunPtr = unsafePerformIO (getProcAddress "glTextureParameterIuivEXT")

{-# NOINLINE glTextureParameterIuivEXTFunPtr #-}

glTextureParameterfEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> GLfloat -> m ()
glTextureParameterfEXT = ffiuintenumenumfloatIOV glTextureParameterfEXTFunPtr

glTextureParameterfEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLenum -> GLfloat -> IO ())
glTextureParameterfEXTFunPtr = unsafePerformIO (getProcAddress "glTextureParameterfEXT")

{-# NOINLINE glTextureParameterfEXTFunPtr #-}

glTextureParameterfvEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLfloat -> m ()
glTextureParameterfvEXT = ffiuintenumenumPtrfloatIOV glTextureParameterfvEXTFunPtr

glTextureParameterfvEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
glTextureParameterfvEXTFunPtr = unsafePerformIO (getProcAddress "glTextureParameterfvEXT")

{-# NOINLINE glTextureParameterfvEXTFunPtr #-}

glTextureParameteriEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> GLint -> m ()
glTextureParameteriEXT = ffiuintenumenumintIOV glTextureParameteriEXTFunPtr

glTextureParameteriEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLenum -> GLint -> IO ())
glTextureParameteriEXTFunPtr = unsafePerformIO (getProcAddress "glTextureParameteriEXT")

{-# NOINLINE glTextureParameteriEXTFunPtr #-}

glTextureParameterivEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()
glTextureParameterivEXT = ffiuintenumenumPtrintIOV glTextureParameterivEXTFunPtr

glTextureParameterivEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ())
glTextureParameterivEXTFunPtr = unsafePerformIO (getProcAddress "glTextureParameterivEXT")

{-# NOINLINE glTextureParameterivEXTFunPtr #-}

glTextureRenderbufferEXT :: MonadIO m => GLuint -> GLenum -> GLuint -> m ()
glTextureRenderbufferEXT = ffiuintenumuintIOV glTextureRenderbufferEXTFunPtr

glTextureRenderbufferEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLuint -> IO ())
glTextureRenderbufferEXTFunPtr = unsafePerformIO (getProcAddress "glTextureRenderbufferEXT")

{-# NOINLINE glTextureRenderbufferEXTFunPtr #-}

glTextureStorage2DMultisampleEXT :: MonadIO m => GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()
glTextureStorage2DMultisampleEXT = ffiuintenumsizeienumsizeisizeibooleanIOV glTextureStorage2DMultisampleEXTFunPtr

glTextureStorage2DMultisampleEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ())
glTextureStorage2DMultisampleEXTFunPtr = unsafePerformIO (getProcAddress "glTextureStorage2DMultisampleEXT")

{-# NOINLINE glTextureStorage2DMultisampleEXTFunPtr #-}

glTextureStorage3DMultisampleEXT :: MonadIO m => GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()
glTextureStorage3DMultisampleEXT = ffiuintenumsizeienumsizeisizeisizeibooleanIOV glTextureStorage3DMultisampleEXTFunPtr

glTextureStorage3DMultisampleEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
glTextureStorage3DMultisampleEXTFunPtr = unsafePerformIO (getProcAddress "glTextureStorage3DMultisampleEXT")

{-# NOINLINE glTextureStorage3DMultisampleEXTFunPtr #-}

glTextureSubImage1DEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr () -> m ()
glTextureSubImage1DEXT = ffiuintenumintintsizeienumenumPtrVIOV glTextureSubImage1DEXTFunPtr

glTextureSubImage1DEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ())
glTextureSubImage1DEXTFunPtr = unsafePerformIO (getProcAddress "glTextureSubImage1DEXT")

{-# NOINLINE glTextureSubImage1DEXTFunPtr #-}

glTextureSubImage2DEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> m ()
glTextureSubImage2DEXT = ffiuintenumintintintsizeisizeienumenumPtrVIOV glTextureSubImage2DEXTFunPtr

glTextureSubImage2DEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ())
glTextureSubImage2DEXTFunPtr = unsafePerformIO (getProcAddress "glTextureSubImage2DEXT")

{-# NOINLINE glTextureSubImage2DEXTFunPtr #-}

glTextureSubImage3DEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> m ()
glTextureSubImage3DEXT = ffiuintenumintintintintsizeisizeisizeienumenumPtrVIOV glTextureSubImage3DEXTFunPtr

glTextureSubImage3DEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ())
glTextureSubImage3DEXTFunPtr = unsafePerformIO (getProcAddress "glTextureSubImage3DEXT")

{-# NOINLINE glTextureSubImage3DEXTFunPtr #-}

glUnmapNamedBufferEXT :: MonadIO m => GLuint -> m GLboolean
glUnmapNamedBufferEXT = ffiuintIOboolean glUnmapNamedBufferEXTFunPtr

glUnmapNamedBufferEXTFunPtr :: FunPtr (GLuint -> IO GLboolean)
glUnmapNamedBufferEXTFunPtr = unsafePerformIO (getProcAddress "glUnmapNamedBufferEXT")

{-# NOINLINE glUnmapNamedBufferEXTFunPtr #-}

glVertexArrayBindVertexBufferEXT :: MonadIO m => GLuint -> GLuint -> GLuint -> GLintptr -> GLsizei -> m ()
glVertexArrayBindVertexBufferEXT = ffiuintuintuintintptrsizeiIOV glVertexArrayBindVertexBufferEXTFunPtr

glVertexArrayBindVertexBufferEXTFunPtr :: FunPtr (GLuint -> GLuint -> GLuint -> GLintptr -> GLsizei -> IO ())
glVertexArrayBindVertexBufferEXTFunPtr = unsafePerformIO (getProcAddress "glVertexArrayBindVertexBufferEXT")

{-# NOINLINE glVertexArrayBindVertexBufferEXTFunPtr #-}

glVertexArrayColorOffsetEXT :: MonadIO m => GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> m ()
glVertexArrayColorOffsetEXT = ffiuintuintintenumsizeiintptrIOV glVertexArrayColorOffsetEXTFunPtr

glVertexArrayColorOffsetEXTFunPtr :: FunPtr (GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ())
glVertexArrayColorOffsetEXTFunPtr = unsafePerformIO (getProcAddress "glVertexArrayColorOffsetEXT")

{-# NOINLINE glVertexArrayColorOffsetEXTFunPtr #-}

glVertexArrayEdgeFlagOffsetEXT :: MonadIO m => GLuint -> GLuint -> GLsizei -> GLintptr -> m ()
glVertexArrayEdgeFlagOffsetEXT = ffiuintuintsizeiintptrIOV glVertexArrayEdgeFlagOffsetEXTFunPtr

glVertexArrayEdgeFlagOffsetEXTFunPtr :: FunPtr (GLuint -> GLuint -> GLsizei -> GLintptr -> IO ())
glVertexArrayEdgeFlagOffsetEXTFunPtr = unsafePerformIO (getProcAddress "glVertexArrayEdgeFlagOffsetEXT")

{-# NOINLINE glVertexArrayEdgeFlagOffsetEXTFunPtr #-}

glVertexArrayFogCoordOffsetEXT :: MonadIO m => GLuint -> GLuint -> GLenum -> GLsizei -> GLintptr -> m ()
glVertexArrayFogCoordOffsetEXT = ffiuintuintenumsizeiintptrIOV glVertexArrayFogCoordOffsetEXTFunPtr

glVertexArrayFogCoordOffsetEXTFunPtr :: FunPtr (GLuint -> GLuint -> GLenum -> GLsizei -> GLintptr -> IO ())
glVertexArrayFogCoordOffsetEXTFunPtr = unsafePerformIO (getProcAddress "glVertexArrayFogCoordOffsetEXT")

{-# NOINLINE glVertexArrayFogCoordOffsetEXTFunPtr #-}

glVertexArrayIndexOffsetEXT :: MonadIO m => GLuint -> GLuint -> GLenum -> GLsizei -> GLintptr -> m ()
glVertexArrayIndexOffsetEXT = ffiuintuintenumsizeiintptrIOV glVertexArrayIndexOffsetEXTFunPtr

glVertexArrayIndexOffsetEXTFunPtr :: FunPtr (GLuint -> GLuint -> GLenum -> GLsizei -> GLintptr -> IO ())
glVertexArrayIndexOffsetEXTFunPtr = unsafePerformIO (getProcAddress "glVertexArrayIndexOffsetEXT")

{-# NOINLINE glVertexArrayIndexOffsetEXTFunPtr #-}

glVertexArrayMultiTexCoordOffsetEXT :: MonadIO m => GLuint -> GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLintptr -> m ()
glVertexArrayMultiTexCoordOffsetEXT = ffiuintuintenumintenumsizeiintptrIOV glVertexArrayMultiTexCoordOffsetEXTFunPtr

glVertexArrayMultiTexCoordOffsetEXTFunPtr :: FunPtr (GLuint -> GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ())
glVertexArrayMultiTexCoordOffsetEXTFunPtr = unsafePerformIO (getProcAddress "glVertexArrayMultiTexCoordOffsetEXT")

{-# NOINLINE glVertexArrayMultiTexCoordOffsetEXTFunPtr #-}

glVertexArrayNormalOffsetEXT :: MonadIO m => GLuint -> GLuint -> GLenum -> GLsizei -> GLintptr -> m ()
glVertexArrayNormalOffsetEXT = ffiuintuintenumsizeiintptrIOV glVertexArrayNormalOffsetEXTFunPtr

glVertexArrayNormalOffsetEXTFunPtr :: FunPtr (GLuint -> GLuint -> GLenum -> GLsizei -> GLintptr -> IO ())
glVertexArrayNormalOffsetEXTFunPtr = unsafePerformIO (getProcAddress "glVertexArrayNormalOffsetEXT")

{-# NOINLINE glVertexArrayNormalOffsetEXTFunPtr #-}

glVertexArraySecondaryColorOffsetEXT :: MonadIO m => GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> m ()
glVertexArraySecondaryColorOffsetEXT = ffiuintuintintenumsizeiintptrIOV glVertexArraySecondaryColorOffsetEXTFunPtr

glVertexArraySecondaryColorOffsetEXTFunPtr :: FunPtr (GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ())
glVertexArraySecondaryColorOffsetEXTFunPtr = unsafePerformIO (getProcAddress "glVertexArraySecondaryColorOffsetEXT")

{-# NOINLINE glVertexArraySecondaryColorOffsetEXTFunPtr #-}

glVertexArrayTexCoordOffsetEXT :: MonadIO m => GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> m ()
glVertexArrayTexCoordOffsetEXT = ffiuintuintintenumsizeiintptrIOV glVertexArrayTexCoordOffsetEXTFunPtr

glVertexArrayTexCoordOffsetEXTFunPtr :: FunPtr (GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ())
glVertexArrayTexCoordOffsetEXTFunPtr = unsafePerformIO (getProcAddress "glVertexArrayTexCoordOffsetEXT")

{-# NOINLINE glVertexArrayTexCoordOffsetEXTFunPtr #-}

glVertexArrayVertexAttribBindingEXT :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()
glVertexArrayVertexAttribBindingEXT = ffiuintuintuintIOV glVertexArrayVertexAttribBindingEXTFunPtr

glVertexArrayVertexAttribBindingEXTFunPtr :: FunPtr (GLuint -> GLuint -> GLuint -> IO ())
glVertexArrayVertexAttribBindingEXTFunPtr = unsafePerformIO (getProcAddress "glVertexArrayVertexAttribBindingEXT")

{-# NOINLINE glVertexArrayVertexAttribBindingEXTFunPtr #-}

glVertexArrayVertexAttribDivisorEXT :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()
glVertexArrayVertexAttribDivisorEXT = ffiuintuintuintIOV glVertexArrayVertexAttribDivisorEXTFunPtr

glVertexArrayVertexAttribDivisorEXTFunPtr :: FunPtr (GLuint -> GLuint -> GLuint -> IO ())
glVertexArrayVertexAttribDivisorEXTFunPtr = unsafePerformIO (getProcAddress "glVertexArrayVertexAttribDivisorEXT")

{-# NOINLINE glVertexArrayVertexAttribDivisorEXTFunPtr #-}

glVertexArrayVertexAttribFormatEXT :: MonadIO m => GLuint -> GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexArrayVertexAttribFormatEXT = ffiuintuintintenumbooleanuintIOV glVertexArrayVertexAttribFormatEXTFunPtr

glVertexArrayVertexAttribFormatEXTFunPtr :: FunPtr (GLuint -> GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> IO ())
glVertexArrayVertexAttribFormatEXTFunPtr = unsafePerformIO (getProcAddress "glVertexArrayVertexAttribFormatEXT")

{-# NOINLINE glVertexArrayVertexAttribFormatEXTFunPtr #-}

glVertexArrayVertexAttribIFormatEXT :: MonadIO m => GLuint -> GLuint -> GLint -> GLenum -> GLuint -> m ()
glVertexArrayVertexAttribIFormatEXT = ffiuintuintintenumuintIOV glVertexArrayVertexAttribIFormatEXTFunPtr

glVertexArrayVertexAttribIFormatEXTFunPtr :: FunPtr (GLuint -> GLuint -> GLint -> GLenum -> GLuint -> IO ())
glVertexArrayVertexAttribIFormatEXTFunPtr = unsafePerformIO (getProcAddress "glVertexArrayVertexAttribIFormatEXT")

{-# NOINLINE glVertexArrayVertexAttribIFormatEXTFunPtr #-}

glVertexArrayVertexAttribIOffsetEXT :: MonadIO m => GLuint -> GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> m ()
glVertexArrayVertexAttribIOffsetEXT = ffiuintuintuintintenumsizeiintptrIOV glVertexArrayVertexAttribIOffsetEXTFunPtr

glVertexArrayVertexAttribIOffsetEXTFunPtr :: FunPtr (GLuint -> GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ())
glVertexArrayVertexAttribIOffsetEXTFunPtr = unsafePerformIO (getProcAddress "glVertexArrayVertexAttribIOffsetEXT")

{-# NOINLINE glVertexArrayVertexAttribIOffsetEXTFunPtr #-}

glVertexArrayVertexAttribLFormatEXT :: MonadIO m => GLuint -> GLuint -> GLint -> GLenum -> GLuint -> m ()
glVertexArrayVertexAttribLFormatEXT = ffiuintuintintenumuintIOV glVertexArrayVertexAttribLFormatEXTFunPtr

glVertexArrayVertexAttribLFormatEXTFunPtr :: FunPtr (GLuint -> GLuint -> GLint -> GLenum -> GLuint -> IO ())
glVertexArrayVertexAttribLFormatEXTFunPtr = unsafePerformIO (getProcAddress "glVertexArrayVertexAttribLFormatEXT")

{-# NOINLINE glVertexArrayVertexAttribLFormatEXTFunPtr #-}

glVertexArrayVertexAttribLOffsetEXT :: MonadIO m => GLuint -> GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> m ()
glVertexArrayVertexAttribLOffsetEXT = ffiuintuintuintintenumsizeiintptrIOV glVertexArrayVertexAttribLOffsetEXTFunPtr

glVertexArrayVertexAttribLOffsetEXTFunPtr :: FunPtr (GLuint -> GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ())
glVertexArrayVertexAttribLOffsetEXTFunPtr = unsafePerformIO (getProcAddress "glVertexArrayVertexAttribLOffsetEXT")

{-# NOINLINE glVertexArrayVertexAttribLOffsetEXTFunPtr #-}

glVertexArrayVertexAttribOffsetEXT :: MonadIO m => GLuint -> GLuint -> GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> GLintptr -> m ()
glVertexArrayVertexAttribOffsetEXT = ffiuintuintuintintenumbooleansizeiintptrIOV glVertexArrayVertexAttribOffsetEXTFunPtr

glVertexArrayVertexAttribOffsetEXTFunPtr :: FunPtr (GLuint -> GLuint -> GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> GLintptr -> IO ())
glVertexArrayVertexAttribOffsetEXTFunPtr = unsafePerformIO (getProcAddress "glVertexArrayVertexAttribOffsetEXT")

{-# NOINLINE glVertexArrayVertexAttribOffsetEXTFunPtr #-}

glVertexArrayVertexBindingDivisorEXT :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()
glVertexArrayVertexBindingDivisorEXT = ffiuintuintuintIOV glVertexArrayVertexBindingDivisorEXTFunPtr

glVertexArrayVertexBindingDivisorEXTFunPtr :: FunPtr (GLuint -> GLuint -> GLuint -> IO ())
glVertexArrayVertexBindingDivisorEXTFunPtr = unsafePerformIO (getProcAddress "glVertexArrayVertexBindingDivisorEXT")

{-# NOINLINE glVertexArrayVertexBindingDivisorEXTFunPtr #-}

glVertexArrayVertexOffsetEXT :: MonadIO m => GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> m ()
glVertexArrayVertexOffsetEXT = ffiuintuintintenumsizeiintptrIOV glVertexArrayVertexOffsetEXTFunPtr

glVertexArrayVertexOffsetEXTFunPtr :: FunPtr (GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ())
glVertexArrayVertexOffsetEXTFunPtr = unsafePerformIO (getProcAddress "glVertexArrayVertexOffsetEXT")

{-# NOINLINE glVertexArrayVertexOffsetEXTFunPtr #-}

pattern GL_PROGRAM_MATRIX_EXT = 0x8E2D

pattern GL_PROGRAM_MATRIX_STACK_DEPTH_EXT = 0x8E2F

pattern GL_TRANSPOSE_PROGRAM_MATRIX_EXT = 0x8E2E