    {-# OPTIONS_HADDOCK hide #-}
    --------------------------------------------------------------------------------
    -- |
    -- Module      :  Graphics.GL.Functions.F27
    -- Copyright   :  (c) Sven Panne 2019
    -- License     :  BSD3
    --
    -- Maintainer  :  Sven Panne <svenpanne@gmail.com>
    -- Stability   :  stable
    -- Portability :  portable
    --
    -- Raw functions from the
    -- <http://www.opengl.org/registry/ OpenGL registry>.
    --
    --------------------------------------------------------------------------------

    module Graphics.GL.Functions.F27 (
      glTextureBufferRangeEXT,
      glTextureColorMaskSGIS,
      glTextureFoveationParametersQCOM,
      glTextureImage1DEXT,
      glTextureImage2DEXT,
      glTextureImage2DMultisampleCoverageNV,
      glTextureImage2DMultisampleNV,
      glTextureImage3DEXT,
      glTextureImage3DMultisampleCoverageNV,
      glTextureImage3DMultisampleNV,
      glTextureLightEXT,
      glTextureMaterialEXT,
      glTextureNormalEXT,
      glTexturePageCommitmentEXT,
      glTextureParameterIiv,
      glTextureParameterIivEXT,
      glTextureParameterIuiv,
      glTextureParameterIuivEXT,
      glTextureParameterf,
      glTextureParameterfEXT,
      glTextureParameterfv,
      glTextureParameterfvEXT,
      glTextureParameteri,
      glTextureParameteriEXT,
      glTextureParameteriv,
      glTextureParameterivEXT,
      glTextureRangeAPPLE,
      glTextureRenderbufferEXT,
      glTextureStorage1D,
      glTextureStorage1DEXT,
      glTextureStorage2D,
      glTextureStorage2DEXT,
      glTextureStorage2DMultisample,
      glTextureStorage2DMultisampleEXT,
      glTextureStorage3D,
      glTextureStorage3DEXT,
      glTextureStorage3DMultisample,
      glTextureStorage3DMultisampleEXT,
      glTextureStorageMem1DEXT,
      glTextureStorageMem2DEXT,
      glTextureStorageMem2DMultisampleEXT,
      glTextureStorageMem3DEXT,
      glTextureStorageMem3DMultisampleEXT,
      glTextureStorageSparseAMD,
      glTextureSubImage1D,
      glTextureSubImage1DEXT,
      glTextureSubImage2D,
      glTextureSubImage2DEXT,
      glTextureSubImage3D,
      glTextureSubImage3DEXT,
      glTextureView,
      glTextureViewEXT,
      glTextureViewOES,
      glTrackMatrixNV,
      glTransformFeedbackAttribsNV,
      glTransformFeedbackBufferBase,
      glTransformFeedbackBufferRange,
      glTransformFeedbackStreamAttribsNV,
      glTransformFeedbackVaryings,
      glTransformFeedbackVaryingsEXT,
      glTransformFeedbackVaryingsNV,
      glTransformPathNV,
      glTranslated,
      glTranslatef,
      glTranslatex,
      glTranslatexOES,
      glUniform1d,
      glUniform1dv,
      glUniform1f,
      glUniform1fARB,
      glUniform1fv,
      glUniform1fvARB,
      glUniform1i,
      glUniform1i64ARB,
      glUniform1i64NV,
      glUniform1i64vARB,
      glUniform1i64vNV,
      glUniform1iARB,
      glUniform1iv,
      glUniform1ivARB,
      glUniform1ui,
      glUniform1ui64ARB,
      glUniform1ui64NV,
      glUniform1ui64vARB,
      glUniform1ui64vNV,
      glUniform1uiEXT,
      glUniform1uiv,
      glUniform1uivEXT,
      glUniform2d,
      glUniform2dv,
      glUniform2f,
      glUniform2fARB,
      glUniform2fv,
      glUniform2fvARB,
      glUniform2i,
      glUniform2i64ARB,
      glUniform2i64NV,
      glUniform2i64vARB,
      glUniform2i64vNV,
      glUniform2iARB
    ) where

    import Control.Monad.IO.Class ( MonadIO(..) )
    import Foreign.Ptr
    import Graphics.GL.Foreign
    import Graphics.GL.Types
    import System.IO.Unsafe ( unsafePerformIO )

    -- glTextureBufferRangeEXT -----------------------------------------------------

    glTextureBufferRangeEXT
      :: MonadIO m
      => GLuint -- ^ @texture@ of type @Texture@.
      -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
      -> GLuint -- ^ @buffer@.
      -> GLintptr -- ^ @offset@ of type @BufferOffset@.
      -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
      -> m ()
    glTextureBufferRangeEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLuint
    -> GLuint -> GLuint -> GLuint -> GLintptr -> GLintptr -> m ()
    glTextureBufferRangeEXT GLuint
    v1 GLuint
    v2 GLuint
    v3 GLuint
    v4 GLintptr
    v5 GLintptr
    v6 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLuint
       -> GLuint -> GLuint -> GLuint -> GLintptr -> GLintptr -> IO ())
    -> GLuint
    -> GLuint
    -> GLuint
    -> GLuint
    -> GLintptr
    -> GLintptr
    -> IO ()
    dyn795 FunPtr
      (GLuint
       -> GLuint -> GLuint -> GLuint -> GLintptr -> GLintptr -> IO ())
    ptr_glTextureBufferRangeEXT GLuint
    v1 GLuint
    v2 GLuint
    v3 GLuint
    v4 GLintptr
    v5 GLintptr
    v6

    {-# NOINLINE ptr_glTextureBufferRangeEXT #-}
    ptr_glTextureBufferRangeEXT :: FunPtr (GLuint -> GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> IO ())
    ptr_glTextureBufferRangeEXT :: FunPtr
      (GLuint
       -> GLuint -> GLuint -> GLuint -> GLintptr -> GLintptr -> IO ())
    ptr_glTextureBufferRangeEXT = IO
      (FunPtr
         (GLuint
          -> GLuint -> GLuint -> GLuint -> GLintptr -> GLintptr -> IO ()))
    -> FunPtr
         (GLuint
          -> GLuint -> GLuint -> GLuint -> GLintptr -> GLintptr -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO
       (FunPtr
          (GLuint
           -> GLuint -> GLuint -> GLuint -> GLintptr -> GLintptr -> IO ()))
     -> FunPtr
          (GLuint
           -> GLuint -> GLuint -> GLuint -> GLintptr -> GLintptr -> IO ()))
    -> IO
         (FunPtr
            (GLuint
             -> GLuint -> GLuint -> GLuint -> GLintptr -> GLintptr -> IO ()))
    -> FunPtr
         (GLuint
          -> GLuint -> GLuint -> GLuint -> GLintptr -> GLintptr -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String
    -> IO
         (FunPtr
            (GLuint
             -> GLuint -> GLuint -> GLuint -> GLintptr -> GLintptr -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTextureBufferRangeEXT"

    -- glTextureColorMaskSGIS ------------------------------------------------------

    glTextureColorMaskSGIS
      :: MonadIO m
      => GLboolean -- ^ @red@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
      -> GLboolean -- ^ @green@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
      -> GLboolean -- ^ @blue@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
      -> GLboolean -- ^ @alpha@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
      -> m ()
    glTextureColorMaskSGIS :: forall (m :: * -> *).
    MonadIO m =>
    GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()
    glTextureColorMaskSGIS GLboolean
    v1 GLboolean
    v2 GLboolean
    v3 GLboolean
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
    -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ()
    dyn130 FunPtr (GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
    ptr_glTextureColorMaskSGIS GLboolean
    v1 GLboolean
    v2 GLboolean
    v3 GLboolean
    v4

    {-# NOINLINE ptr_glTextureColorMaskSGIS #-}
    ptr_glTextureColorMaskSGIS :: FunPtr (GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
    ptr_glTextureColorMaskSGIS :: FunPtr (GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
    ptr_glTextureColorMaskSGIS = IO
      (FunPtr
         (GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ()))
    -> FunPtr
         (GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO
       (FunPtr
          (GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ()))
     -> FunPtr
          (GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ()))
    -> IO
         (FunPtr
            (GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ()))
    -> FunPtr
         (GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String
    -> IO
         (FunPtr
            (GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTextureColorMaskSGIS"

    -- glTextureFoveationParametersQCOM --------------------------------------------

    glTextureFoveationParametersQCOM
      :: MonadIO m
      => GLuint -- ^ @texture@ of type @Texture@.
      -> GLuint -- ^ @layer@.
      -> GLuint -- ^ @focalPoint@.
      -> GLfloat -- ^ @focalX@ of type @CheckedFloat32@.
      -> GLfloat -- ^ @focalY@ of type @CheckedFloat32@.
      -> GLfloat -- ^ @gainX@ of type @CheckedFloat32@.
      -> GLfloat -- ^ @gainY@ of type @CheckedFloat32@.
      -> GLfloat -- ^ @foveaArea@ of type @CheckedFloat32@.
      -> m ()
    glTextureFoveationParametersQCOM :: forall (m :: * -> *).
    MonadIO m =>
    GLuint
    -> GLuint
    -> GLuint
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> m ()
    glTextureFoveationParametersQCOM GLuint
    v1 GLuint
    v2 GLuint
    v3 GLfloat
    v4 GLfloat
    v5 GLfloat
    v6 GLfloat
    v7 GLfloat
    v8 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLuint
       -> GLuint
       -> GLuint
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> IO ())
    -> GLuint
    -> GLuint
    -> GLuint
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> IO ()
    dyn295 FunPtr
      (GLuint
       -> GLuint
       -> GLuint
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> IO ())
    ptr_glTextureFoveationParametersQCOM GLuint
    v1 GLuint
    v2 GLuint
    v3 GLfloat
    v4 GLfloat
    v5 GLfloat
    v6 GLfloat
    v7 GLfloat
    v8

    {-# NOINLINE ptr_glTextureFoveationParametersQCOM #-}
    ptr_glTextureFoveationParametersQCOM :: FunPtr (GLuint -> GLuint -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
    ptr_glTextureFoveationParametersQCOM :: FunPtr
      (GLuint
       -> GLuint
       -> GLuint
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> IO ())
    ptr_glTextureFoveationParametersQCOM = IO
      (FunPtr
         (GLuint
          -> GLuint
          -> GLuint
          -> GLfloat
          -> GLfloat
          -> GLfloat
          -> GLfloat
          -> GLfloat
          -> IO ()))
    -> FunPtr
         (GLuint
          -> GLuint
          -> GLuint
          -> GLfloat
          -> GLfloat
          -> GLfloat
          -> GLfloat
          -> GLfloat
          -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO
       (FunPtr
          (GLuint
           -> GLuint
           -> GLuint
           -> GLfloat
           -> GLfloat
           -> GLfloat
           -> GLfloat
           -> GLfloat
           -> IO ()))
     -> FunPtr
          (GLuint
           -> GLuint
           -> GLuint
           -> GLfloat
           -> GLfloat
           -> GLfloat
           -> GLfloat
           -> GLfloat
           -> IO ()))
    -> IO
         (FunPtr
            (GLuint
             -> GLuint
             -> GLuint
             -> GLfloat
             -> GLfloat
             -> GLfloat
             -> GLfloat
             -> GLfloat
             -> IO ()))
    -> FunPtr
         (GLuint
          -> GLuint
          -> GLuint
          -> GLfloat
          -> GLfloat
          -> GLfloat
          -> GLfloat
          -> GLfloat
          -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String
    -> IO
         (FunPtr
            (GLuint
             -> GLuint
             -> GLuint
             -> GLfloat
             -> GLfloat
             -> GLfloat
             -> GLfloat
             -> GLfloat
             -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTextureFoveationParametersQCOM"

    -- glTextureImage1DEXT ---------------------------------------------------------

    glTextureImage1DEXT
      :: MonadIO m
      => GLuint -- ^ @texture@ of type @Texture@.
      -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> GLint -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
      -> GLsizei -- ^ @width@.
      -> GLint -- ^ @border@ of type @CheckedInt32@.
      -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
      -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
      -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width)@ elements of type @a@.
      -> m ()
    glTextureImage1DEXT :: forall (m :: * -> *) a.
    MonadIO m =>
    GLuint
    -> GLuint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLuint
    -> GLuint
    -> Ptr a
    -> m ()
    glTextureImage1DEXT GLuint
    v1 GLuint
    v2 GLint
    v3 GLint
    v4 GLint
    v5 GLint
    v6 GLuint
    v7 GLuint
    v8 Ptr a
    v9 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLuint
       -> GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLuint
       -> GLuint
       -> Ptr a
       -> IO ())
    -> GLuint
    -> GLuint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLuint
    -> GLuint
    -> Ptr a
    -> IO ()
    forall a.
    FunPtr
      (GLuint
       -> GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLuint
       -> GLuint
       -> Ptr a
       -> IO ())
    -> GLuint
    -> GLuint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLuint
    -> GLuint
    -> Ptr a
    -> IO ()
    dyn796 FunPtr
      (GLuint
       -> GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLuint
       -> GLuint
       -> Ptr a
       -> IO ())
    forall a.
    FunPtr
      (GLuint
       -> GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLuint
       -> GLuint
       -> Ptr a
       -> IO ())
    ptr_glTextureImage1DEXT GLuint
    v1 GLuint
    v2 GLint
    v3 GLint
    v4 GLint
    v5 GLint
    v6 GLuint
    v7 GLuint
    v8 Ptr a
    v9

    {-# NOINLINE ptr_glTextureImage1DEXT #-}
    ptr_glTextureImage1DEXT :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
    ptr_glTextureImage1DEXT :: forall a.
    FunPtr
      (GLuint
       -> GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLuint
       -> GLuint
       -> Ptr a
       -> IO ())
    ptr_glTextureImage1DEXT = IO
      (FunPtr
         (GLuint
          -> GLuint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLuint
          -> GLuint
          -> Ptr a
          -> IO ()))
    -> FunPtr
         (GLuint
          -> GLuint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLuint
          -> GLuint
          -> Ptr a
          -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO
       (FunPtr
          (GLuint
           -> GLuint
           -> GLint
           -> GLint
           -> GLint
           -> GLint
           -> GLuint
           -> GLuint
           -> Ptr a
           -> IO ()))
     -> FunPtr
          (GLuint
           -> GLuint
           -> GLint
           -> GLint
           -> GLint
           -> GLint
           -> GLuint
           -> GLuint
           -> Ptr a
           -> IO ()))
    -> IO
         (FunPtr
            (GLuint
             -> GLuint
             -> GLint
             -> GLint
             -> GLint
             -> GLint
             -> GLuint
             -> GLuint
             -> Ptr a
             -> IO ()))
    -> FunPtr
         (GLuint
          -> GLuint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLuint
          -> GLuint
          -> Ptr a
          -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String
    -> IO
         (FunPtr
            (GLuint
             -> GLuint
             -> GLint
             -> GLint
             -> GLint
             -> GLint
             -> GLuint
             -> GLuint
             -> Ptr a
             -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTextureImage1DEXT"

    -- glTextureImage2DEXT ---------------------------------------------------------

    glTextureImage2DEXT
      :: MonadIO m
      => GLuint -- ^ @texture@ of type @Texture@.
      -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> GLint -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> GLint -- ^ @border@ of type @CheckedInt32@.
      -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
      -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
      -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height)@ elements of type @a@.
      -> m ()
    glTextureImage2DEXT :: forall (m :: * -> *) a.
    MonadIO m =>
    GLuint
    -> GLuint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLuint
    -> GLuint
    -> Ptr a
    -> m ()
    glTextureImage2DEXT GLuint
    v1 GLuint
    v2 GLint
    v3 GLint
    v4 GLint
    v5 GLint
    v6 GLint
    v7 GLuint
    v8 GLuint
    v9 Ptr a
    v10 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLuint
       -> GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLuint
       -> GLuint
       -> Ptr a
       -> IO ())
    -> GLuint
    -> GLuint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLuint
    -> GLuint
    -> Ptr a
    -> IO ()
    forall a.
    FunPtr
      (GLuint
       -> GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLuint
       -> GLuint
       -> Ptr a
       -> IO ())
    -> GLuint
    -> GLuint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLuint
    -> GLuint
    -> Ptr a
    -> IO ()
    dyn797 FunPtr
      (GLuint
       -> GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLuint
       -> GLuint
       -> Ptr a
       -> IO ())
    forall a.
    FunPtr
      (GLuint
       -> GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLuint
       -> GLuint
       -> Ptr a
       -> IO ())
    ptr_glTextureImage2DEXT GLuint
    v1 GLuint
    v2 GLint
    v3 GLint
    v4 GLint
    v5 GLint
    v6 GLint
    v7 GLuint
    v8 GLuint
    v9 Ptr a
    v10

    {-# NOINLINE ptr_glTextureImage2DEXT #-}
    ptr_glTextureImage2DEXT :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
    ptr_glTextureImage2DEXT :: forall a.
    FunPtr
      (GLuint
       -> GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLuint
       -> GLuint
       -> Ptr a
       -> IO ())
    ptr_glTextureImage2DEXT = IO
      (FunPtr
         (GLuint
          -> GLuint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLuint
          -> GLuint
          -> Ptr a
          -> IO ()))
    -> FunPtr
         (GLuint
          -> GLuint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLuint
          -> GLuint
          -> Ptr a
          -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO
       (FunPtr
          (GLuint
           -> GLuint
           -> GLint
           -> GLint
           -> GLint
           -> GLint
           -> GLint
           -> GLuint
           -> GLuint
           -> Ptr a
           -> IO ()))
     -> FunPtr
          (GLuint
           -> GLuint
           -> GLint
           -> GLint
           -> GLint
           -> GLint
           -> GLint
           -> GLuint
           -> GLuint
           -> Ptr a
           -> IO ()))
    -> IO
         (FunPtr
            (GLuint
             -> GLuint
             -> GLint
             -> GLint
             -> GLint
             -> GLint
             -> GLint
             -> GLuint
             -> GLuint
             -> Ptr a
             -> IO ()))
    -> FunPtr
         (GLuint
          -> GLuint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLuint
          -> GLuint
          -> Ptr a
          -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String
    -> IO
         (FunPtr
            (GLuint
             -> GLuint
             -> GLint
             -> GLint
             -> GLint
             -> GLint
             -> GLint
             -> GLuint
             -> GLuint
             -> Ptr a
             -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTextureImage2DEXT"

    -- glTextureImage2DMultisampleCoverageNV ---------------------------------------

    glTextureImage2DMultisampleCoverageNV
      :: MonadIO m
      => GLuint -- ^ @texture@.
      -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLsizei -- ^ @coverageSamples@.
      -> GLsizei -- ^ @colorSamples@.
      -> GLint -- ^ @internalFormat@.
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> GLboolean -- ^ @fixedSampleLocations@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
      -> m ()
    glTextureImage2DMultisampleCoverageNV :: forall (m :: * -> *).
    MonadIO m =>
    GLuint
    -> GLuint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLboolean
    -> m ()
    glTextureImage2DMultisampleCoverageNV GLuint
    v1 GLuint
    v2 GLint
    v3 GLint
    v4 GLint
    v5 GLint
    v6 GLint
    v7 GLboolean
    v8 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLuint
       -> GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLboolean
       -> IO ())
    -> GLuint
    -> GLuint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLboolean
    -> IO ()
    dyn798 FunPtr
      (GLuint
       -> GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLboolean
       -> IO ())
    ptr_glTextureImage2DMultisampleCoverageNV GLuint
    v1 GLuint
    v2 GLint
    v3 GLint
    v4 GLint
    v5 GLint
    v6 GLint
    v7 GLboolean
    v8

    {-# NOINLINE ptr_glTextureImage2DMultisampleCoverageNV #-}
    ptr_glTextureImage2DMultisampleCoverageNV :: FunPtr (GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> IO ())
    ptr_glTextureImage2DMultisampleCoverageNV :: FunPtr
      (GLuint
       -> GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLboolean
       -> IO ())
    ptr_glTextureImage2DMultisampleCoverageNV = IO
      (FunPtr
         (GLuint
          -> GLuint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLboolean
          -> IO ()))
    -> FunPtr
         (GLuint
          -> GLuint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLboolean
          -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO
       (FunPtr
          (GLuint
           -> GLuint
           -> GLint
           -> GLint
           -> GLint
           -> GLint
           -> GLint
           -> GLboolean
           -> IO ()))
     -> FunPtr
          (GLuint
           -> GLuint
           -> GLint
           -> GLint
           -> GLint
           -> GLint
           -> GLint
           -> GLboolean
           -> IO ()))
    -> IO
         (FunPtr
            (GLuint
             -> GLuint
             -> GLint
             -> GLint
             -> GLint
             -> GLint
             -> GLint
             -> GLboolean
             -> IO ()))
    -> FunPtr
         (GLuint
          -> GLuint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLboolean
          -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String
    -> IO
         (FunPtr
            (GLuint
             -> GLuint
             -> GLint
             -> GLint
             -> GLint
             -> GLint
             -> GLint
             -> GLboolean
             -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTextureImage2DMultisampleCoverageNV"

    -- glTextureImage2DMultisampleNV -----------------------------------------------

    glTextureImage2DMultisampleNV
      :: MonadIO m
      => GLuint -- ^ @texture@.
      -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLsizei -- ^ @samples@.
      -> GLint -- ^ @internalFormat@.
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> GLboolean -- ^ @fixedSampleLocations@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
      -> m ()
    glTextureImage2DMultisampleNV :: forall (m :: * -> *).
    MonadIO m =>
    GLuint
    -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLboolean -> m ()
    glTextureImage2DMultisampleNV GLuint
    v1 GLuint
    v2 GLint
    v3 GLint
    v4 GLint
    v5 GLint
    v6 GLboolean
    v7 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLuint
       -> GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLboolean
       -> IO ())
    -> GLuint
    -> GLuint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLboolean
    -> IO ()
    dyn799 FunPtr
      (GLuint
       -> GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLboolean
       -> IO ())
    ptr_glTextureImage2DMultisampleNV GLuint
    v1 GLuint
    v2 GLint
    v3 GLint
    v4 GLint
    v5 GLint
    v6 GLboolean
    v7

    {-# NOINLINE ptr_glTextureImage2DMultisampleNV #-}
    ptr_glTextureImage2DMultisampleNV :: FunPtr (GLuint -> GLenum -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> IO ())
    ptr_glTextureImage2DMultisampleNV :: FunPtr
      (GLuint
       -> GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLboolean
       -> IO ())
    ptr_glTextureImage2DMultisampleNV = IO
      (FunPtr
         (GLuint
          -> GLuint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLboolean
          -> IO ()))
    -> FunPtr
         (GLuint
          -> GLuint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLboolean
          -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO
       (FunPtr
          (GLuint
           -> GLuint
           -> GLint
           -> GLint
           -> GLint
           -> GLint
           -> GLboolean
           -> IO ()))
     -> FunPtr
          (GLuint
           -> GLuint
           -> GLint
           -> GLint
           -> GLint
           -> GLint
           -> GLboolean
           -> IO ()))
    -> IO
         (FunPtr
            (GLuint
             -> GLuint
             -> GLint
             -> GLint
             -> GLint
             -> GLint
             -> GLboolean
             -> IO ()))
    -> FunPtr
         (GLuint
          -> GLuint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLboolean
          -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String
    -> IO
         (FunPtr
            (GLuint
             -> GLuint
             -> GLint
             -> GLint
             -> GLint
             -> GLint
             -> GLboolean
             -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTextureImage2DMultisampleNV"

    -- glTextureImage3DEXT ---------------------------------------------------------

    glTextureImage3DEXT
      :: MonadIO m
      => GLuint -- ^ @texture@ of type @Texture@.
      -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> GLint -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> GLsizei -- ^ @depth@.
      -> GLint -- ^ @border@ of type @CheckedInt32@.
      -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
      -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
      -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height,depth)@ elements of type @a@.
      -> m ()
    glTextureImage3DEXT :: forall (m :: * -> *) a.
    MonadIO m =>
    GLuint
    -> GLuint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLuint
    -> GLuint
    -> Ptr a
    -> m ()
    glTextureImage3DEXT GLuint
    v1 GLuint
    v2 GLint
    v3 GLint
    v4 GLint
    v5 GLint
    v6 GLint
    v7 GLint
    v8 GLuint
    v9 GLuint
    v10 Ptr a
    v11 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLuint
       -> GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLuint
       -> GLuint
       -> Ptr a
       -> IO ())
    -> GLuint
    -> GLuint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLuint
    -> GLuint
    -> Ptr a
    -> IO ()
    forall a.
    FunPtr
      (GLuint
       -> GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLuint
       -> GLuint
       -> Ptr a
       -> IO ())
    -> GLuint
    -> GLuint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLuint
    -> GLuint
    -> Ptr a
    -> IO ()
    dyn800 FunPtr
      (GLuint
       -> GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLuint
       -> GLuint
       -> Ptr a
       -> IO ())
    forall a.
    FunPtr
      (GLuint
       -> GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLuint
       -> GLuint
       -> Ptr a
       -> IO ())
    ptr_glTextureImage3DEXT GLuint
    v1 GLuint
    v2 GLint
    v3 GLint
    v4 GLint
    v5 GLint
    v6 GLint
    v7 GLint
    v8 GLuint
    v9 GLuint
    v10 Ptr a
    v11

    {-# NOINLINE ptr_glTextureImage3DEXT #-}
    ptr_glTextureImage3DEXT :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
    ptr_glTextureImage3DEXT :: forall a.
    FunPtr
      (GLuint
       -> GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLuint
       -> GLuint
       -> Ptr a
       -> IO ())
    ptr_glTextureImage3DEXT = IO
      (FunPtr
         (GLuint
          -> GLuint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLuint
          -> GLuint
          -> Ptr a
          -> IO ()))
    -> FunPtr
         (GLuint
          -> GLuint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLuint
          -> GLuint
          -> Ptr a
          -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO
       (FunPtr
          (GLuint
           -> GLuint
           -> GLint
           -> GLint
           -> GLint
           -> GLint
           -> GLint
           -> GLint
           -> GLuint
           -> GLuint
           -> Ptr a
           -> IO ()))
     -> FunPtr
          (GLuint
           -> GLuint
           -> GLint
           -> GLint
           -> GLint
           -> GLint
           -> GLint
           -> GLint
           -> GLuint
           -> GLuint
           -> Ptr a
           -> IO ()))
    -> IO
         (FunPtr
            (GLuint
             -> GLuint
             -> GLint
             -> GLint
             -> GLint
             -> GLint
             -> GLint
             -> GLint
             -> GLuint
             -> GLuint
             -> Ptr a
             -> IO ()))
    -> FunPtr
         (GLuint
          -> GLuint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLuint
          -> GLuint
          -> Ptr a
          -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String
    -> IO
         (FunPtr
            (GLuint
             -> GLuint
             -> GLint
             -> GLint
             -> GLint
             -> GLint
             -> GLint
             -> GLint
             -> GLuint
             -> GLuint
             -> Ptr a
             -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTextureImage3DEXT"

    -- glTextureImage3DMultisampleCoverageNV ---------------------------------------

    glTextureImage3DMultisampleCoverageNV
      :: MonadIO m
      => GLuint -- ^ @texture@.
      -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLsizei -- ^ @coverageSamples@.
      -> GLsizei -- ^ @colorSamples@.
      -> GLint -- ^ @internalFormat@.
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> GLsizei -- ^ @depth@.
      -> GLboolean -- ^ @fixedSampleLocations@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
      -> m ()
    glTextureImage3DMultisampleCoverageNV :: forall (m :: * -> *).
    MonadIO m =>
    GLuint
    -> GLuint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLboolean
    -> m ()
    glTextureImage3DMultisampleCoverageNV GLuint
    v1 GLuint
    v2 GLint
    v3 GLint
    v4 GLint
    v5 GLint
    v6 GLint
    v7 GLint
    v8 GLboolean
    v9 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLuint
       -> GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLboolean
       -> IO ())
    -> GLuint
    -> GLuint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLboolean
    -> IO ()
    dyn801 FunPtr
      (GLuint
       -> GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLboolean
       -> IO ())
    ptr_glTextureImage3DMultisampleCoverageNV GLuint
    v1 GLuint
    v2 GLint
    v3 GLint
    v4 GLint
    v5 GLint
    v6 GLint
    v7 GLint
    v8 GLboolean
    v9

    {-# NOINLINE ptr_glTextureImage3DMultisampleCoverageNV #-}
    ptr_glTextureImage3DMultisampleCoverageNV :: FunPtr (GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
    ptr_glTextureImage3DMultisampleCoverageNV :: FunPtr
      (GLuint
       -> GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLboolean
       -> IO ())
    ptr_glTextureImage3DMultisampleCoverageNV = IO
      (FunPtr
         (GLuint
          -> GLuint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLboolean
          -> IO ()))
    -> FunPtr
         (GLuint
          -> GLuint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLboolean
          -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO
       (FunPtr
          (GLuint
           -> GLuint
           -> GLint
           -> GLint
           -> GLint
           -> GLint
           -> GLint
           -> GLint
           -> GLboolean
           -> IO ()))
     -> FunPtr
          (GLuint
           -> GLuint
           -> GLint
           -> GLint
           -> GLint
           -> GLint
           -> GLint
           -> GLint
           -> GLboolean
           -> IO ()))
    -> IO
         (FunPtr
            (GLuint
             -> GLuint
             -> GLint
             -> GLint
             -> GLint
             -> GLint
             -> GLint
             -> GLint
             -> GLboolean
             -> IO ()))
    -> FunPtr
         (GLuint
          -> GLuint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLboolean
          -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String
    -> IO
         (FunPtr
            (GLuint
             -> GLuint
             -> GLint
             -> GLint
             -> GLint
             -> GLint
             -> GLint
             -> GLint
             -> GLboolean
             -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTextureImage3DMultisampleCoverageNV"

    -- glTextureImage3DMultisampleNV -----------------------------------------------

    glTextureImage3DMultisampleNV
      :: MonadIO m
      => GLuint -- ^ @texture@.
      -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLsizei -- ^ @samples@.
      -> GLint -- ^ @internalFormat@.
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> GLsizei -- ^ @depth@.
      -> GLboolean -- ^ @fixedSampleLocations@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
      -> m ()
    glTextureImage3DMultisampleNV :: forall (m :: * -> *).
    MonadIO m =>
    GLuint
    -> GLuint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLboolean
    -> m ()
    glTextureImage3DMultisampleNV GLuint
    v1 GLuint
    v2 GLint
    v3 GLint
    v4 GLint
    v5 GLint
    v6 GLint
    v7 GLboolean
    v8 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLuint
       -> GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLboolean
       -> IO ())
    -> GLuint
    -> GLuint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLboolean
    -> IO ()
    dyn802 FunPtr
      (GLuint
       -> GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLboolean
       -> IO ())
    ptr_glTextureImage3DMultisampleNV GLuint
    v1 GLuint
    v2 GLint
    v3 GLint
    v4 GLint
    v5 GLint
    v6 GLint
    v7 GLboolean
    v8

    {-# NOINLINE ptr_glTextureImage3DMultisampleNV #-}
    ptr_glTextureImage3DMultisampleNV :: FunPtr (GLuint -> GLenum -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
    ptr_glTextureImage3DMultisampleNV :: FunPtr
      (GLuint
       -> GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLboolean
       -> IO ())
    ptr_glTextureImage3DMultisampleNV = IO
      (FunPtr
         (GLuint
          -> GLuint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLboolean
          -> IO ()))
    -> FunPtr
         (GLuint
          -> GLuint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLboolean
          -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO
       (FunPtr
          (GLuint
           -> GLuint
           -> GLint
           -> GLint
           -> GLint
           -> GLint
           -> GLint
           -> GLboolean
           -> IO ()))
     -> FunPtr
          (GLuint
           -> GLuint
           -> GLint
           -> GLint
           -> GLint
           -> GLint
           -> GLint
           -> GLboolean
           -> IO ()))
    -> IO
         (FunPtr
            (GLuint
             -> GLuint
             -> GLint
             -> GLint
             -> GLint
             -> GLint
             -> GLint
             -> GLboolean
             -> IO ()))
    -> FunPtr
         (GLuint
          -> GLuint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLboolean
          -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String
    -> IO
         (FunPtr
            (GLuint
             -> GLuint
             -> GLint
             -> GLint
             -> GLint
             -> GLint
             -> GLint
             -> GLboolean
             -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTextureImage3DMultisampleNV"

    -- glTextureLightEXT -----------------------------------------------------------

    glTextureLightEXT
      :: MonadIO m
      => GLenum -- ^ @pname@ of type [LightTexturePNameEXT](Graphics-GL-Groups.html#LightTexturePNameEXT).
      -> m ()
    glTextureLightEXT :: forall (m :: * -> *). MonadIO m => GLuint -> m ()
    glTextureLightEXT GLuint
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> IO ()) -> GLuint -> IO ()
    dyn5 FunPtr (GLuint -> IO ())
    ptr_glTextureLightEXT GLuint
    v1

    {-# NOINLINE ptr_glTextureLightEXT #-}
    ptr_glTextureLightEXT :: FunPtr (GLenum -> IO ())
    ptr_glTextureLightEXT :: FunPtr (GLuint -> IO ())
    ptr_glTextureLightEXT = IO (FunPtr (GLuint -> IO ())) -> FunPtr (GLuint -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLuint -> IO ())) -> FunPtr (GLuint -> IO ()))
    -> IO (FunPtr (GLuint -> IO ())) -> FunPtr (GLuint -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLuint -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTextureLightEXT"

    -- glTextureMaterialEXT --------------------------------------------------------

    glTextureMaterialEXT
      :: MonadIO m
      => GLenum -- ^ @face@ of type [MaterialFace](Graphics-GL-Groups.html#MaterialFace).
      -> GLenum -- ^ @mode@ of type [MaterialParameter](Graphics-GL-Groups.html#MaterialParameter).
      -> m ()
    glTextureMaterialEXT :: forall (m :: * -> *). MonadIO m => GLuint -> GLuint -> m ()
    glTextureMaterialEXT GLuint
    v1 GLuint
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> IO ()) -> GLuint -> GLuint -> IO ()
    dyn54 FunPtr (GLuint -> GLuint -> IO ())
    ptr_glTextureMaterialEXT GLuint
    v1 GLuint
    v2

    {-# NOINLINE ptr_glTextureMaterialEXT #-}
    ptr_glTextureMaterialEXT :: FunPtr (GLenum -> GLenum -> IO ())
    ptr_glTextureMaterialEXT :: FunPtr (GLuint -> GLuint -> IO ())
    ptr_glTextureMaterialEXT = IO (FunPtr (GLuint -> GLuint -> IO ()))
    -> FunPtr (GLuint -> GLuint -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLuint -> GLuint -> IO ()))
     -> FunPtr (GLuint -> GLuint -> IO ()))
    -> IO (FunPtr (GLuint -> GLuint -> IO ()))
    -> FunPtr (GLuint -> GLuint -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLuint -> GLuint -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTextureMaterialEXT"

    -- glTextureNormalEXT ----------------------------------------------------------

    glTextureNormalEXT
      :: MonadIO m
      => GLenum -- ^ @mode@ of type [TextureNormalModeEXT](Graphics-GL-Groups.html#TextureNormalModeEXT).
      -> m ()
    glTextureNormalEXT :: forall (m :: * -> *). MonadIO m => GLuint -> m ()
    glTextureNormalEXT GLuint
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> IO ()) -> GLuint -> IO ()
    dyn5 FunPtr (GLuint -> IO ())
    ptr_glTextureNormalEXT GLuint
    v1

    {-# NOINLINE ptr_glTextureNormalEXT #-}
    ptr_glTextureNormalEXT :: FunPtr (GLenum -> IO ())
    ptr_glTextureNormalEXT :: FunPtr (GLuint -> IO ())
    ptr_glTextureNormalEXT = IO (FunPtr (GLuint -> IO ())) -> FunPtr (GLuint -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLuint -> IO ())) -> FunPtr (GLuint -> IO ()))
    -> IO (FunPtr (GLuint -> IO ())) -> FunPtr (GLuint -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLuint -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTextureNormalEXT"

    -- glTexturePageCommitmentEXT --------------------------------------------------

    glTexturePageCommitmentEXT
      :: MonadIO m
      => GLuint -- ^ @texture@.
      -> GLint -- ^ @level@.
      -> GLint -- ^ @xoffset@.
      -> GLint -- ^ @yoffset@.
      -> GLint -- ^ @zoffset@.
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> GLsizei -- ^ @depth@.
      -> GLboolean -- ^ @commit@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
      -> m ()
    glTexturePageCommitmentEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLuint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLboolean
    -> m ()
    glTexturePageCommitmentEXT GLuint
    v1 GLint
    v2 GLint
    v3 GLint
    v4 GLint
    v5 GLint
    v6 GLint
    v7 GLint
    v8 GLboolean
    v9 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLboolean
       -> IO ())
    -> GLuint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLboolean
    -> IO ()
    dyn803 FunPtr
      (GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLboolean
       -> IO ())
    ptr_glTexturePageCommitmentEXT GLuint
    v1 GLint
    v2 GLint
    v3 GLint
    v4 GLint
    v5 GLint
    v6 GLint
    v7 GLint
    v8 GLboolean
    v9

    {-# NOINLINE ptr_glTexturePageCommitmentEXT #-}
    ptr_glTexturePageCommitmentEXT :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
    ptr_glTexturePageCommitmentEXT :: FunPtr
      (GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLboolean
       -> IO ())
    ptr_glTexturePageCommitmentEXT = IO
      (FunPtr
         (GLuint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLboolean
          -> IO ()))
    -> FunPtr
         (GLuint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLboolean
          -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO
       (FunPtr
          (GLuint
           -> GLint
           -> GLint
           -> GLint
           -> GLint
           -> GLint
           -> GLint
           -> GLint
           -> GLboolean
           -> IO ()))
     -> FunPtr
          (GLuint
           -> GLint
           -> GLint
           -> GLint
           -> GLint
           -> GLint
           -> GLint
           -> GLint
           -> GLboolean
           -> IO ()))
    -> IO
         (FunPtr
            (GLuint
             -> GLint
             -> GLint
             -> GLint
             -> GLint
             -> GLint
             -> GLint
             -> GLint
             -> GLboolean
             -> IO ()))
    -> FunPtr
         (GLuint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLboolean
          -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String
    -> IO
         (FunPtr
            (GLuint
             -> GLint
             -> GLint
             -> GLint
             -> GLint
             -> GLint
             -> GLint
             -> GLint
             -> GLboolean
             -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTexturePageCommitmentEXT"

    -- glTextureParameterIiv -------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexParameter.xhtml OpenGL 4.x>.
    glTextureParameterIiv
      :: MonadIO m
      => GLuint -- ^ @texture@.
      -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-GL-Groups.html#TextureParameterName).
      -> Ptr GLint -- ^ @params@.
      -> m ()
    glTextureParameterIiv :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint -> Ptr GLint -> m ()
    glTextureParameterIiv GLuint
    v1 GLuint
    v2 Ptr GLint
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> Ptr GLint -> IO ())
    -> GLuint -> GLuint -> Ptr GLint -> IO ()
    dyn348 FunPtr (GLuint -> GLuint -> Ptr GLint -> IO ())
    ptr_glTextureParameterIiv GLuint
    v1 GLuint
    v2 Ptr GLint
    v3

    {-# NOINLINE ptr_glTextureParameterIiv #-}
    ptr_glTextureParameterIiv :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
    ptr_glTextureParameterIiv :: FunPtr (GLuint -> GLuint -> Ptr GLint -> IO ())
    ptr_glTextureParameterIiv = IO (FunPtr (GLuint -> GLuint -> Ptr GLint -> IO ()))
    -> FunPtr (GLuint -> GLuint -> Ptr GLint -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLuint -> GLuint -> Ptr GLint -> IO ()))
     -> FunPtr (GLuint -> GLuint -> Ptr GLint -> IO ()))
    -> IO (FunPtr (GLuint -> GLuint -> Ptr GLint -> IO ()))
    -> FunPtr (GLuint -> GLuint -> Ptr GLint -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLuint -> GLuint -> Ptr GLint -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTextureParameterIiv"

    -- glTextureParameterIivEXT ----------------------------------------------------

    glTextureParameterIivEXT
      :: MonadIO m
      => GLuint -- ^ @texture@ of type @Texture@.
      -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-GL-Groups.html#TextureParameterName).
      -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
      -> m ()
    glTextureParameterIivEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint -> GLuint -> Ptr GLint -> m ()
    glTextureParameterIivEXT GLuint
    v1 GLuint
    v2 GLuint
    v3 Ptr GLint
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLint -> IO ())
    -> GLuint -> GLuint -> GLuint -> Ptr GLint -> IO ()
    dyn379 FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLint -> IO ())
    ptr_glTextureParameterIivEXT GLuint
    v1 GLuint
    v2 GLuint
    v3 Ptr GLint
    v4

    {-# NOINLINE ptr_glTextureParameterIivEXT #-}
    ptr_glTextureParameterIivEXT :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glTextureParameterIivEXT :: FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLint -> IO ())
    ptr_glTextureParameterIivEXT = IO (FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLint -> IO ()))
    -> FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLint -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLint -> IO ()))
     -> FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLint -> IO ()))
    -> IO (FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLint -> IO ()))
    -> FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLint -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String
    -> IO (FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLint -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTextureParameterIivEXT"

    -- glTextureParameterIuiv ------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexParameter.xhtml OpenGL 4.x>.
    glTextureParameterIuiv
      :: MonadIO m
      => GLuint -- ^ @texture@.
      -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-GL-Groups.html#TextureParameterName).
      -> Ptr GLuint -- ^ @params@.
      -> m ()
    glTextureParameterIuiv :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint -> Ptr GLuint -> m ()
    glTextureParameterIuiv GLuint
    v1 GLuint
    v2 Ptr GLuint
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> Ptr GLuint -> IO ())
    -> GLuint -> GLuint -> Ptr GLuint -> IO ()
    dyn392 FunPtr (GLuint -> GLuint -> Ptr GLuint -> IO ())
    ptr_glTextureParameterIuiv GLuint
    v1 GLuint
    v2 Ptr GLuint
    v3

    {-# NOINLINE ptr_glTextureParameterIuiv #-}
    ptr_glTextureParameterIuiv :: FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ())
    ptr_glTextureParameterIuiv :: FunPtr (GLuint -> GLuint -> Ptr GLuint -> IO ())
    ptr_glTextureParameterIuiv = IO (FunPtr (GLuint -> GLuint -> Ptr GLuint -> IO ()))
    -> FunPtr (GLuint -> GLuint -> Ptr GLuint -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLuint -> GLuint -> Ptr GLuint -> IO ()))
     -> FunPtr (GLuint -> GLuint -> Ptr GLuint -> IO ()))
    -> IO (FunPtr (GLuint -> GLuint -> Ptr GLuint -> IO ()))
    -> FunPtr (GLuint -> GLuint -> Ptr GLuint -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLuint -> GLuint -> Ptr GLuint -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTextureParameterIuiv"

    -- glTextureParameterIuivEXT ---------------------------------------------------

    glTextureParameterIuivEXT
      :: MonadIO m
      => GLuint -- ^ @texture@ of type @Texture@.
      -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-GL-Groups.html#TextureParameterName).
      -> Ptr GLuint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
      -> m ()
    glTextureParameterIuivEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint -> GLuint -> Ptr GLuint -> m ()
    glTextureParameterIuivEXT GLuint
    v1 GLuint
    v2 GLuint
    v3 Ptr GLuint
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLuint -> IO ())
    -> GLuint -> GLuint -> GLuint -> Ptr GLuint -> IO ()
    dyn439 FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLuint -> IO ())
    ptr_glTextureParameterIuivEXT GLuint
    v1 GLuint
    v2 GLuint
    v3 Ptr GLuint
    v4

    {-# NOINLINE ptr_glTextureParameterIuivEXT #-}
    ptr_glTextureParameterIuivEXT :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLuint -> IO ())
    ptr_glTextureParameterIuivEXT :: FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLuint -> IO ())
    ptr_glTextureParameterIuivEXT = IO (FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLuint -> IO ()))
    -> FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLuint -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLuint -> IO ()))
     -> FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLuint -> IO ()))
    -> IO (FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLuint -> IO ()))
    -> FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLuint -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String
    -> IO (FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLuint -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTextureParameterIuivEXT"

    -- glTextureParameterf ---------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexParameter.xhtml OpenGL 4.x>.
    glTextureParameterf
      :: MonadIO m
      => GLuint -- ^ @texture@.
      -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-GL-Groups.html#TextureParameterName).
      -> GLfloat -- ^ @param@.
      -> m ()
    glTextureParameterf :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint -> GLfloat -> m ()
    glTextureParameterf GLuint
    v1 GLuint
    v2 GLfloat
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> GLfloat -> IO ())
    -> GLuint -> GLuint -> GLfloat -> IO ()
    dyn514 FunPtr (GLuint -> GLuint -> GLfloat -> IO ())
    ptr_glTextureParameterf GLuint
    v1 GLuint
    v2 GLfloat
    v3

    {-# NOINLINE ptr_glTextureParameterf #-}
    ptr_glTextureParameterf :: FunPtr (GLuint -> GLenum -> GLfloat -> IO ())
    ptr_glTextureParameterf :: FunPtr (GLuint -> GLuint -> GLfloat -> IO ())
    ptr_glTextureParameterf = IO (FunPtr (GLuint -> GLuint -> GLfloat -> IO ()))
    -> FunPtr (GLuint -> GLuint -> GLfloat -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLuint -> GLuint -> GLfloat -> IO ()))
     -> FunPtr (GLuint -> GLuint -> GLfloat -> IO ()))
    -> IO (FunPtr (GLuint -> GLuint -> GLfloat -> IO ()))
    -> FunPtr (GLuint -> GLuint -> GLfloat -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLuint -> GLuint -> GLfloat -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTextureParameterf"

    -- glTextureParameterfEXT ------------------------------------------------------

    -- | The vector equivalent of this command is 'glTextureParameterfvEXT'.
    glTextureParameterfEXT
      :: MonadIO m
      => GLuint -- ^ @texture@ of type @Texture@.
      -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-GL-Groups.html#TextureParameterName).
      -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
      -> m ()
    glTextureParameterfEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint -> GLuint -> GLfloat -> m ()
    glTextureParameterfEXT GLuint
    v1 GLuint
    v2 GLuint
    v3 GLfloat
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> GLuint -> GLfloat -> IO ())
    -> GLuint -> GLuint -> GLuint -> GLfloat -> IO ()
    dyn804 FunPtr (GLuint -> GLuint -> GLuint -> GLfloat -> IO ())
    ptr_glTextureParameterfEXT GLuint
    v1 GLuint
    v2 GLuint
    v3 GLfloat
    v4

    {-# NOINLINE ptr_glTextureParameterfEXT #-}
    ptr_glTextureParameterfEXT :: FunPtr (GLuint -> GLenum -> GLenum -> GLfloat -> IO ())
    ptr_glTextureParameterfEXT :: FunPtr (GLuint -> GLuint -> GLuint -> GLfloat -> IO ())
    ptr_glTextureParameterfEXT = IO (FunPtr (GLuint -> GLuint -> GLuint -> GLfloat -> IO ()))
    -> FunPtr (GLuint -> GLuint -> GLuint -> GLfloat -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLuint -> GLuint -> GLuint -> GLfloat -> IO ()))
     -> FunPtr (GLuint -> GLuint -> GLuint -> GLfloat -> IO ()))
    -> IO (FunPtr (GLuint -> GLuint -> GLuint -> GLfloat -> IO ()))
    -> FunPtr (GLuint -> GLuint -> GLuint -> GLfloat -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String
    -> IO (FunPtr (GLuint -> GLuint -> GLuint -> GLfloat -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTextureParameterfEXT"

    -- glTextureParameterfv --------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexParameter.xhtml OpenGL 4.x>.
    glTextureParameterfv
      :: MonadIO m
      => GLuint -- ^ @texture@.
      -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-GL-Groups.html#TextureParameterName).
      -> Ptr GLfloat -- ^ @param@.
      -> m ()
    glTextureParameterfv :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint -> Ptr GLfloat -> m ()
    glTextureParameterfv GLuint
    v1 GLuint
    v2 Ptr GLfloat
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> Ptr GLfloat -> IO ())
    -> GLuint -> GLuint -> Ptr GLfloat -> IO ()
    dyn364 FunPtr (GLuint -> GLuint -> Ptr GLfloat -> IO ())
    ptr_glTextureParameterfv GLuint
    v1 GLuint
    v2 Ptr GLfloat
    v3

    {-# NOINLINE ptr_glTextureParameterfv #-}
    ptr_glTextureParameterfv :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
    ptr_glTextureParameterfv :: FunPtr (GLuint -> GLuint -> Ptr GLfloat -> IO ())
    ptr_glTextureParameterfv = IO (FunPtr (GLuint -> GLuint -> Ptr GLfloat -> IO ()))
    -> FunPtr (GLuint -> GLuint -> Ptr GLfloat -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLuint -> GLuint -> Ptr GLfloat -> IO ()))
     -> FunPtr (GLuint -> GLuint -> Ptr GLfloat -> IO ()))
    -> IO (FunPtr (GLuint -> GLuint -> Ptr GLfloat -> IO ()))
    -> FunPtr (GLuint -> GLuint -> Ptr GLfloat -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLuint -> GLuint -> Ptr GLfloat -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTextureParameterfv"

    -- glTextureParameterfvEXT -----------------------------------------------------

    glTextureParameterfvEXT
      :: MonadIO m
      => GLuint -- ^ @texture@ of type @Texture@.
      -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-GL-Groups.html#TextureParameterName).
      -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
      -> m ()
    glTextureParameterfvEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint -> GLuint -> Ptr GLfloat -> m ()
    glTextureParameterfvEXT GLuint
    v1 GLuint
    v2 GLuint
    v3 Ptr GLfloat
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLfloat -> IO ())
    -> GLuint -> GLuint -> GLuint -> Ptr GLfloat -> IO ()
    dyn440 FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLfloat -> IO ())
    ptr_glTextureParameterfvEXT GLuint
    v1 GLuint
    v2 GLuint
    v3 Ptr GLfloat
    v4

    {-# NOINLINE ptr_glTextureParameterfvEXT #-}
    ptr_glTextureParameterfvEXT :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
    ptr_glTextureParameterfvEXT :: FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLfloat -> IO ())
    ptr_glTextureParameterfvEXT = IO (FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLfloat -> IO ()))
    -> FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLfloat -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLfloat -> IO ()))
     -> FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLfloat -> IO ()))
    -> IO (FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLfloat -> IO ()))
    -> FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLfloat -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String
    -> IO (FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLfloat -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTextureParameterfvEXT"

    -- glTextureParameteri ---------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexParameter.xhtml OpenGL 4.x>.
    glTextureParameteri
      :: MonadIO m
      => GLuint -- ^ @texture@.
      -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-GL-Groups.html#TextureParameterName).
      -> GLint -- ^ @param@.
      -> m ()
    glTextureParameteri :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint -> GLint -> m ()
    glTextureParameteri GLuint
    v1 GLuint
    v2 GLint
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> GLint -> IO ())
    -> GLuint -> GLuint -> GLint -> IO ()
    dyn491 FunPtr (GLuint -> GLuint -> GLint -> IO ())
    ptr_glTextureParameteri GLuint
    v1 GLuint
    v2 GLint
    v3

    {-# NOINLINE ptr_glTextureParameteri #-}
    ptr_glTextureParameteri :: FunPtr (GLuint -> GLenum -> GLint -> IO ())
    ptr_glTextureParameteri :: FunPtr (GLuint -> GLuint -> GLint -> IO ())
    ptr_glTextureParameteri = IO (FunPtr (GLuint -> GLuint -> GLint -> IO ()))
    -> FunPtr (GLuint -> GLuint -> GLint -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLuint -> GLuint -> GLint -> IO ()))
     -> FunPtr (GLuint -> GLuint -> GLint -> IO ()))
    -> IO (FunPtr (GLuint -> GLuint -> GLint -> IO ()))
    -> FunPtr (GLuint -> GLuint -> GLint -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLuint -> GLuint -> GLint -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTextureParameteri"

    -- glTextureParameteriEXT ------------------------------------------------------

    -- | The vector equivalent of this command is 'glTextureParameterivEXT'.
    glTextureParameteriEXT
      :: MonadIO m
      => GLuint -- ^ @texture@ of type @Texture@.
      -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-GL-Groups.html#TextureParameterName).
      -> GLint -- ^ @param@ of type @CheckedInt32@.
      -> m ()
    glTextureParameteriEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint -> GLuint -> GLint -> m ()
    glTextureParameteriEXT GLuint
    v1 GLuint
    v2 GLuint
    v3 GLint
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> GLuint -> GLint -> IO ())
    -> GLuint -> GLuint -> GLuint -> GLint -> IO ()
    dyn805 FunPtr (GLuint -> GLuint -> GLuint -> GLint -> IO ())
    ptr_glTextureParameteriEXT GLuint
    v1 GLuint
    v2 GLuint
    v3 GLint
    v4

    {-# NOINLINE ptr_glTextureParameteriEXT #-}
    ptr_glTextureParameteriEXT :: FunPtr (GLuint -> GLenum -> GLenum -> GLint -> IO ())
    ptr_glTextureParameteriEXT :: FunPtr (GLuint -> GLuint -> GLuint -> GLint -> IO ())
    ptr_glTextureParameteriEXT = IO (FunPtr (GLuint -> GLuint -> GLuint -> GLint -> IO ()))
    -> FunPtr (GLuint -> GLuint -> GLuint -> GLint -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLuint -> GLuint -> GLuint -> GLint -> IO ()))
     -> FunPtr (GLuint -> GLuint -> GLuint -> GLint -> IO ()))
    -> IO (FunPtr (GLuint -> GLuint -> GLuint -> GLint -> IO ()))
    -> FunPtr (GLuint -> GLuint -> GLuint -> GLint -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String
    -> IO (FunPtr (GLuint -> GLuint -> GLuint -> GLint -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTextureParameteriEXT"

    -- glTextureParameteriv --------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexParameter.xhtml OpenGL 4.x>.
    glTextureParameteriv
      :: MonadIO m
      => GLuint -- ^ @texture@.
      -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-GL-Groups.html#TextureParameterName).
      -> Ptr GLint -- ^ @param@.
      -> m ()
    glTextureParameteriv :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint -> Ptr GLint -> m ()
    glTextureParameteriv GLuint
    v1 GLuint
    v2 Ptr GLint
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> Ptr GLint -> IO ())
    -> GLuint -> GLuint -> Ptr GLint -> IO ()
    dyn348 FunPtr (GLuint -> GLuint -> Ptr GLint -> IO ())
    ptr_glTextureParameteriv GLuint
    v1 GLuint
    v2 Ptr GLint
    v3

    {-# NOINLINE ptr_glTextureParameteriv #-}
    ptr_glTextureParameteriv :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
    ptr_glTextureParameteriv :: FunPtr (GLuint -> GLuint -> Ptr GLint -> IO ())
    ptr_glTextureParameteriv = IO (FunPtr (GLuint -> GLuint -> Ptr GLint -> IO ()))
    -> FunPtr (GLuint -> GLuint -> Ptr GLint -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLuint -> GLuint -> Ptr GLint -> IO ()))
     -> FunPtr (GLuint -> GLuint -> Ptr GLint -> IO ()))
    -> IO (FunPtr (GLuint -> GLuint -> Ptr GLint -> IO ()))
    -> FunPtr (GLuint -> GLuint -> Ptr GLint -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLuint -> GLuint -> Ptr GLint -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTextureParameteriv"

    -- glTextureParameterivEXT -----------------------------------------------------

    glTextureParameterivEXT
      :: MonadIO m
      => GLuint -- ^ @texture@ of type @Texture@.
      -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-GL-Groups.html#TextureParameterName).
      -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
      -> m ()
    glTextureParameterivEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint -> GLuint -> Ptr GLint -> m ()
    glTextureParameterivEXT GLuint
    v1 GLuint
    v2 GLuint
    v3 Ptr GLint
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLint -> IO ())
    -> GLuint -> GLuint -> GLuint -> Ptr GLint -> IO ()
    dyn379 FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLint -> IO ())
    ptr_glTextureParameterivEXT GLuint
    v1 GLuint
    v2 GLuint
    v3 Ptr GLint
    v4

    {-# NOINLINE ptr_glTextureParameterivEXT #-}
    ptr_glTextureParameterivEXT :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glTextureParameterivEXT :: FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLint -> IO ())
    ptr_glTextureParameterivEXT = IO (FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLint -> IO ()))
    -> FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLint -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLint -> IO ()))
     -> FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLint -> IO ()))
    -> IO (FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLint -> IO ()))
    -> FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLint -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String
    -> IO (FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLint -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTextureParameterivEXT"

    -- glTextureRangeAPPLE ---------------------------------------------------------

    glTextureRangeAPPLE
      :: MonadIO m
      => GLenum -- ^ @target@.
      -> GLsizei -- ^ @length@.
      -> Ptr a -- ^ @pointer@ pointing to @length@ elements of type @a@.
      -> m ()
    glTextureRangeAPPLE :: forall (m :: * -> *) a.
    MonadIO m =>
    GLuint -> GLint -> Ptr a -> m ()
    glTextureRangeAPPLE GLuint
    v1 GLint
    v2 Ptr a
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLint -> Ptr a -> IO ())
    -> GLuint -> GLint -> Ptr a -> IO ()
    forall a.
    FunPtr (GLuint -> GLint -> Ptr a -> IO ())
    -> GLuint -> GLint -> Ptr a -> IO ()
    dyn49 FunPtr (GLuint -> GLint -> Ptr a -> IO ())
    forall a. FunPtr (GLuint -> GLint -> Ptr a -> IO ())
    ptr_glTextureRangeAPPLE GLuint
    v1 GLint
    v2 Ptr a
    v3

    {-# NOINLINE ptr_glTextureRangeAPPLE #-}
    ptr_glTextureRangeAPPLE :: FunPtr (GLenum -> GLsizei -> Ptr a -> IO ())
    ptr_glTextureRangeAPPLE :: forall a. FunPtr (GLuint -> GLint -> Ptr a -> IO ())
    ptr_glTextureRangeAPPLE = IO (FunPtr (GLuint -> GLint -> Ptr a -> IO ()))
    -> FunPtr (GLuint -> GLint -> Ptr a -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLuint -> GLint -> Ptr a -> IO ()))
     -> FunPtr (GLuint -> GLint -> Ptr a -> IO ()))
    -> IO (FunPtr (GLuint -> GLint -> Ptr a -> IO ()))
    -> FunPtr (GLuint -> GLint -> Ptr a -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLuint -> GLint -> Ptr a -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTextureRangeAPPLE"

    -- glTextureRenderbufferEXT ----------------------------------------------------

    glTextureRenderbufferEXT
      :: MonadIO m
      => GLuint -- ^ @texture@ of type @Texture@.
      -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLuint -- ^ @renderbuffer@.
      -> m ()
    glTextureRenderbufferEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint -> GLuint -> m ()
    glTextureRenderbufferEXT GLuint
    v1 GLuint
    v2 GLuint
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> GLuint -> IO ())
    -> GLuint -> GLuint -> GLuint -> IO ()
    dyn755 FunPtr (GLuint -> GLuint -> GLuint -> IO ())
    ptr_glTextureRenderbufferEXT GLuint
    v1 GLuint
    v2 GLuint
    v3

    {-# NOINLINE ptr_glTextureRenderbufferEXT #-}
    ptr_glTextureRenderbufferEXT :: FunPtr (GLuint -> GLenum -> GLuint -> IO ())
    ptr_glTextureRenderbufferEXT :: FunPtr (GLuint -> GLuint -> GLuint -> IO ())
    ptr_glTextureRenderbufferEXT = IO (FunPtr (GLuint -> GLuint -> GLuint -> IO ()))
    -> FunPtr (GLuint -> GLuint -> GLuint -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLuint -> GLuint -> GLuint -> IO ()))
     -> FunPtr (GLuint -> GLuint -> GLuint -> IO ()))
    -> IO (FunPtr (GLuint -> GLuint -> GLuint -> IO ()))
    -> FunPtr (GLuint -> GLuint -> GLuint -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLuint -> GLuint -> GLuint -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTextureRenderbufferEXT"

    -- glTextureStorage1D ----------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexStorage1D.xhtml OpenGL 4.x>.
    glTextureStorage1D
      :: MonadIO m
      => GLuint -- ^ @texture@.
      -> GLsizei -- ^ @levels@.
      -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
      -> GLsizei -- ^ @width@.
      -> m ()
    glTextureStorage1D :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLint -> GLuint -> GLint -> m ()
    glTextureStorage1D GLuint
    v1 GLint
    v2 GLuint
    v3 GLint
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLint -> GLuint -> GLint -> IO ())
    -> GLuint -> GLint -> GLuint -> GLint -> IO ()
    dyn806 FunPtr (GLuint -> GLint -> GLuint -> GLint -> IO ())
    ptr_glTextureStorage1D GLuint
    v1 GLint
    v2 GLuint
    v3 GLint
    v4

    {-# NOINLINE ptr_glTextureStorage1D #-}
    ptr_glTextureStorage1D :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> IO ())
    ptr_glTextureStorage1D :: FunPtr (GLuint -> GLint -> GLuint -> GLint -> IO ())
    ptr_glTextureStorage1D = IO (FunPtr (GLuint -> GLint -> GLuint -> GLint -> IO ()))
    -> FunPtr (GLuint -> GLint -> GLuint -> GLint -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLuint -> GLint -> GLuint -> GLint -> IO ()))
     -> FunPtr (GLuint -> GLint -> GLuint -> GLint -> IO ()))
    -> IO (FunPtr (GLuint -> GLint -> GLuint -> GLint -> IO ()))
    -> FunPtr (GLuint -> GLint -> GLuint -> GLint -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLuint -> GLint -> GLuint -> GLint -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTextureStorage1D"

    -- glTextureStorage1DEXT -------------------------------------------------------

    glTextureStorage1DEXT
      :: MonadIO m
      => GLuint -- ^ @texture@.
      -> GLenum -- ^ @target@.
      -> GLsizei -- ^ @levels@.
      -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
      -> GLsizei -- ^ @width@.
      -> m ()
    glTextureStorage1DEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint -> GLint -> GLuint -> GLint -> m ()
    glTextureStorage1DEXT GLuint
    v1 GLuint
    v2 GLint
    v3 GLuint
    v4 GLint
    v5 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> GLint -> GLuint -> GLint -> IO ())
    -> GLuint -> GLuint -> GLint -> GLuint -> GLint -> IO ()
    dyn807 FunPtr (GLuint -> GLuint -> GLint -> GLuint -> GLint -> IO ())
    ptr_glTextureStorage1DEXT GLuint
    v1 GLuint
    v2 GLint
    v3 GLuint
    v4 GLint
    v5

    {-# NOINLINE ptr_glTextureStorage1DEXT #-}
    ptr_glTextureStorage1DEXT :: FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> IO ())
    ptr_glTextureStorage1DEXT :: FunPtr (GLuint -> GLuint -> GLint -> GLuint -> GLint -> IO ())
    ptr_glTextureStorage1DEXT = IO (FunPtr (GLuint -> GLuint -> GLint -> GLuint -> GLint -> IO ()))
    -> FunPtr (GLuint -> GLuint -> GLint -> GLuint -> GLint -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO
       (FunPtr (GLuint -> GLuint -> GLint -> GLuint -> GLint -> IO ()))
     -> FunPtr (GLuint -> GLuint -> GLint -> GLuint -> GLint -> IO ()))
    -> IO
         (FunPtr (GLuint -> GLuint -> GLint -> GLuint -> GLint -> IO ()))
    -> FunPtr (GLuint -> GLuint -> GLint -> GLuint -> GLint -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String
    -> IO
         (FunPtr (GLuint -> GLuint -> GLint -> GLuint -> GLint -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTextureStorage1DEXT"

    -- glTextureStorage2D ----------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexStorage2D.xhtml OpenGL 4.x>.
    glTextureStorage2D
      :: MonadIO m
      => GLuint -- ^ @texture@.
      -> GLsizei -- ^ @levels@.
      -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> m ()
    glTextureStorage2D :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLint -> GLuint -> GLint -> GLint -> m ()
    glTextureStorage2D GLuint
    v1 GLint
    v2 GLuint
    v3 GLint
    v4 GLint
    v5 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLint -> GLuint -> GLint -> GLint -> IO ())
    -> GLuint -> GLint -> GLuint -> GLint -> GLint -> IO ()
    dyn629 FunPtr (GLuint -> GLint -> GLuint -> GLint -> GLint -> IO ())
    ptr_glTextureStorage2D GLuint
    v1 GLint
    v2 GLuint
    v3 GLint
    v4 GLint
    v5

    {-# NOINLINE ptr_glTextureStorage2D #-}
    ptr_glTextureStorage2D :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
    ptr_glTextureStorage2D :: FunPtr (GLuint -> GLint -> GLuint -> GLint -> GLint -> IO ())
    ptr_glTextureStorage2D = IO (FunPtr (GLuint -> GLint -> GLuint -> GLint -> GLint -> IO ()))
    -> FunPtr (GLuint -> GLint -> GLuint -> GLint -> GLint -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLuint -> GLint -> GLuint -> GLint -> GLint -> IO ()))
     -> FunPtr (GLuint -> GLint -> GLuint -> GLint -> GLint -> IO ()))
    -> IO
         (FunPtr (GLuint -> GLint -> GLuint -> GLint -> GLint -> IO ()))
    -> FunPtr (GLuint -> GLint -> GLuint -> GLint -> GLint -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String
    -> IO
         (FunPtr (GLuint -> GLint -> GLuint -> GLint -> GLint -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTextureStorage2D"

    -- glTextureStorage2DEXT -------------------------------------------------------

    glTextureStorage2DEXT
      :: MonadIO m
      => GLuint -- ^ @texture@.
      -> GLenum -- ^ @target@.
      -> GLsizei -- ^ @levels@.
      -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> m ()
    glTextureStorage2DEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint -> GLint -> GLuint -> GLint -> GLint -> m ()
    glTextureStorage2DEXT GLuint
    v1 GLuint
    v2 GLint
    v3 GLuint
    v4 GLint
    v5 GLint
    v6 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLuint -> GLuint -> GLint -> GLuint -> GLint -> GLint -> IO ())
    -> GLuint -> GLuint -> GLint -> GLuint -> GLint -> GLint -> IO ()
    dyn808 FunPtr
      (GLuint -> GLuint -> GLint -> GLuint -> GLint -> GLint -> IO ())
    ptr_glTextureStorage2DEXT GLuint
    v1 GLuint
    v2 GLint
    v3 GLuint
    v4 GLint
    v5 GLint
    v6

    {-# NOINLINE ptr_glTextureStorage2DEXT #-}
    ptr_glTextureStorage2DEXT :: FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
    ptr_glTextureStorage2DEXT :: FunPtr
      (GLuint -> GLuint -> GLint -> GLuint -> GLint -> GLint -> IO ())
    ptr_glTextureStorage2DEXT = IO
      (FunPtr
         (GLuint -> GLuint -> GLint -> GLuint -> GLint -> GLint -> IO ()))
    -> FunPtr
         (GLuint -> GLuint -> GLint -> GLuint -> GLint -> GLint -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO
       (FunPtr
          (GLuint -> GLuint -> GLint -> GLuint -> GLint -> GLint -> IO ()))
     -> FunPtr
          (GLuint -> GLuint -> GLint -> GLuint -> GLint -> GLint -> IO ()))
    -> IO
         (FunPtr
            (GLuint -> GLuint -> GLint -> GLuint -> GLint -> GLint -> IO ()))
    -> FunPtr
         (GLuint -> GLuint -> GLint -> GLuint -> GLint -> GLint -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String
    -> IO
         (FunPtr
            (GLuint -> GLuint -> GLint -> GLuint -> GLint -> GLint -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTextureStorage2DEXT"

    -- glTextureStorage2DMultisample -----------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexStorage2DMultisample.xhtml OpenGL 4.x>.
    glTextureStorage2DMultisample
      :: MonadIO m
      => GLuint -- ^ @texture@.
      -> GLsizei -- ^ @samples@.
      -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> GLboolean -- ^ @fixedsamplelocations@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
      -> m ()
    glTextureStorage2DMultisample :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLint -> GLuint -> GLint -> GLint -> GLboolean -> m ()
    glTextureStorage2DMultisample GLuint
    v1 GLint
    v2 GLuint
    v3 GLint
    v4 GLint
    v5 GLboolean
    v6 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLuint -> GLint -> GLuint -> GLint -> GLint -> GLboolean -> IO ())
    -> GLuint
    -> GLint
    -> GLuint
    -> GLint
    -> GLint
    -> GLboolean
    -> IO ()
    dyn809 FunPtr
      (GLuint -> GLint -> GLuint -> GLint -> GLint -> GLboolean -> IO ())
    ptr_glTextureStorage2DMultisample GLuint
    v1 GLint
    v2 GLuint
    v3 GLint
    v4 GLint
    v5 GLboolean
    v6

    {-# NOINLINE ptr_glTextureStorage2DMultisample #-}
    ptr_glTextureStorage2DMultisample :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ())
    ptr_glTextureStorage2DMultisample :: FunPtr
      (GLuint -> GLint -> GLuint -> GLint -> GLint -> GLboolean -> IO ())
    ptr_glTextureStorage2DMultisample = IO
      (FunPtr
         (GLuint
          -> GLint -> GLuint -> GLint -> GLint -> GLboolean -> IO ()))
    -> FunPtr
         (GLuint -> GLint -> GLuint -> GLint -> GLint -> GLboolean -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO
       (FunPtr
          (GLuint
           -> GLint -> GLuint -> GLint -> GLint -> GLboolean -> IO ()))
     -> FunPtr
          (GLuint
           -> GLint -> GLuint -> GLint -> GLint -> GLboolean -> IO ()))
    -> IO
         (FunPtr
            (GLuint
             -> GLint -> GLuint -> GLint -> GLint -> GLboolean -> IO ()))
    -> FunPtr
         (GLuint -> GLint -> GLuint -> GLint -> GLint -> GLboolean -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String
    -> IO
         (FunPtr
            (GLuint
             -> GLint -> GLuint -> GLint -> GLint -> GLboolean -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTextureStorage2DMultisample"

    -- glTextureStorage2DMultisampleEXT --------------------------------------------

    glTextureStorage2DMultisampleEXT
      :: MonadIO m
      => GLuint -- ^ @texture@ of type @Texture@.
      -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLsizei -- ^ @samples@.
      -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> GLboolean -- ^ @fixedsamplelocations@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
      -> m ()
    glTextureStorage2DMultisampleEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLuint
    -> GLuint -> GLint -> GLuint -> GLint -> GLint -> GLboolean -> m ()
    glTextureStorage2DMultisampleEXT GLuint
    v1 GLuint
    v2 GLint
    v3 GLuint
    v4 GLint
    v5 GLint
    v6 GLboolean
    v7 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLuint
       -> GLuint
       -> GLint
       -> GLuint
       -> GLint
       -> GLint
       -> GLboolean
       -> IO ())
    -> GLuint
    -> GLuint
    -> GLint
    -> GLuint
    -> GLint
    -> GLint
    -> GLboolean
    -> IO ()
    dyn810 FunPtr
      (GLuint
       -> GLuint
       -> GLint
       -> GLuint
       -> GLint
       -> GLint
       -> GLboolean
       -> IO ())
    ptr_glTextureStorage2DMultisampleEXT GLuint
    v1 GLuint
    v2 GLint
    v3 GLuint
    v4 GLint
    v5 GLint
    v6 GLboolean
    v7

    {-# NOINLINE ptr_glTextureStorage2DMultisampleEXT #-}
    ptr_glTextureStorage2DMultisampleEXT :: FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ())
    ptr_glTextureStorage2DMultisampleEXT :: FunPtr
      (GLuint
       -> GLuint
       -> GLint
       -> GLuint
       -> GLint
       -> GLint
       -> GLboolean
       -> IO ())
    ptr_glTextureStorage2DMultisampleEXT = IO
      (FunPtr
         (GLuint
          -> GLuint
          -> GLint
          -> GLuint
          -> GLint
          -> GLint
          -> GLboolean
          -> IO ()))
    -> FunPtr
         (GLuint
          -> GLuint
          -> GLint
          -> GLuint
          -> GLint
          -> GLint
          -> GLboolean
          -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO
       (FunPtr
          (GLuint
           -> GLuint
           -> GLint
           -> GLuint
           -> GLint
           -> GLint
           -> GLboolean
           -> IO ()))
     -> FunPtr
          (GLuint
           -> GLuint
           -> GLint
           -> GLuint
           -> GLint
           -> GLint
           -> GLboolean
           -> IO ()))
    -> IO
         (FunPtr
            (GLuint
             -> GLuint
             -> GLint
             -> GLuint
             -> GLint
             -> GLint
             -> GLboolean
             -> IO ()))
    -> FunPtr
         (GLuint
          -> GLuint
          -> GLint
          -> GLuint
          -> GLint
          -> GLint
          -> GLboolean
          -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String
    -> IO
         (FunPtr
            (GLuint
             -> GLuint
             -> GLint
             -> GLuint
             -> GLint
             -> GLint
             -> GLboolean
             -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTextureStorage2DMultisampleEXT"

    -- glTextureStorage3D ----------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexStorage3D.xhtml OpenGL 4.x>.
    glTextureStorage3D
      :: MonadIO m
      => GLuint -- ^ @texture@.
      -> GLsizei -- ^ @levels@.
      -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> GLsizei -- ^ @depth@.
      -> m ()
    glTextureStorage3D :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLint -> GLuint -> GLint -> GLint -> GLint -> m ()
    glTextureStorage3D GLuint
    v1 GLint
    v2 GLuint
    v3 GLint
    v4 GLint
    v5 GLint
    v6 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLuint -> GLint -> GLuint -> GLint -> GLint -> GLint -> IO ())
    -> GLuint -> GLint -> GLuint -> GLint -> GLint -> GLint -> IO ()
    dyn811 FunPtr
      (GLuint -> GLint -> GLuint -> GLint -> GLint -> GLint -> IO ())
    ptr_glTextureStorage3D GLuint
    v1 GLint
    v2 GLuint
    v3 GLint
    v4 GLint
    v5 GLint
    v6

    {-# NOINLINE ptr_glTextureStorage3D #-}
    ptr_glTextureStorage3D :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
    ptr_glTextureStorage3D :: FunPtr
      (GLuint -> GLint -> GLuint -> GLint -> GLint -> GLint -> IO ())
    ptr_glTextureStorage3D = IO
      (FunPtr
         (GLuint -> GLint -> GLuint -> GLint -> GLint -> GLint -> IO ()))
    -> FunPtr
         (GLuint -> GLint -> GLuint -> GLint -> GLint -> GLint -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO
       (FunPtr
          (GLuint -> GLint -> GLuint -> GLint -> GLint -> GLint -> IO ()))
     -> FunPtr
          (GLuint -> GLint -> GLuint -> GLint -> GLint -> GLint -> IO ()))
    -> IO
         (FunPtr
            (GLuint -> GLint -> GLuint -> GLint -> GLint -> GLint -> IO ()))
    -> FunPtr
         (GLuint -> GLint -> GLuint -> GLint -> GLint -> GLint -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String
    -> IO
         (FunPtr
            (GLuint -> GLint -> GLuint -> GLint -> GLint -> GLint -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTextureStorage3D"

    -- glTextureStorage3DEXT -------------------------------------------------------

    glTextureStorage3DEXT
      :: MonadIO m
      => GLuint -- ^ @texture@.
      -> GLenum -- ^ @target@.
      -> GLsizei -- ^ @levels@.
      -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> GLsizei -- ^ @depth@.
      -> m ()
    glTextureStorage3DEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLuint
    -> GLuint -> GLint -> GLuint -> GLint -> GLint -> GLint -> m ()
    glTextureStorage3DEXT GLuint
    v1 GLuint
    v2 GLint
    v3 GLuint
    v4 GLint
    v5 GLint
    v6 GLint
    v7 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLuint
       -> GLuint -> GLint -> GLuint -> GLint -> GLint -> GLint -> IO ())
    -> GLuint
    -> GLuint
    -> GLint
    -> GLuint
    -> GLint
    -> GLint
    -> GLint
    -> IO ()
    dyn812 FunPtr
      (GLuint
       -> GLuint -> GLint -> GLuint -> GLint -> GLint -> GLint -> IO ())
    ptr_glTextureStorage3DEXT GLuint
    v1 GLuint
    v2 GLint
    v3 GLuint
    v4 GLint
    v5 GLint
    v6 GLint
    v7

    {-# NOINLINE ptr_glTextureStorage3DEXT #-}
    ptr_glTextureStorage3DEXT :: FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
    ptr_glTextureStorage3DEXT :: FunPtr
      (GLuint
       -> GLuint -> GLint -> GLuint -> GLint -> GLint -> GLint -> IO ())
    ptr_glTextureStorage3DEXT = IO
      (FunPtr
         (GLuint
          -> GLuint -> GLint -> GLuint -> GLint -> GLint -> GLint -> IO ()))
    -> FunPtr
         (GLuint
          -> GLuint -> GLint -> GLuint -> GLint -> GLint -> GLint -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO
       (FunPtr
          (GLuint
           -> GLuint -> GLint -> GLuint -> GLint -> GLint -> GLint -> IO ()))
     -> FunPtr
          (GLuint
           -> GLuint -> GLint -> GLuint -> GLint -> GLint -> GLint -> IO ()))
    -> IO
         (FunPtr
            (GLuint
             -> GLuint -> GLint -> GLuint -> GLint -> GLint -> GLint -> IO ()))
    -> FunPtr
         (GLuint
          -> GLuint -> GLint -> GLuint -> GLint -> GLint -> GLint -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String
    -> IO
         (FunPtr
            (GLuint
             -> GLuint -> GLint -> GLuint -> GLint -> GLint -> GLint -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTextureStorage3DEXT"

    -- glTextureStorage3DMultisample -----------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexStorage3DMultisample.xhtml OpenGL 4.x>.
    glTextureStorage3DMultisample
      :: MonadIO m
      => GLuint -- ^ @texture@.
      -> GLsizei -- ^ @samples@.
      -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> GLsizei -- ^ @depth@.
      -> GLboolean -- ^ @fixedsamplelocations@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
      -> m ()
    glTextureStorage3DMultisample :: forall (m :: * -> *).
    MonadIO m =>
    GLuint
    -> GLint -> GLuint -> GLint -> GLint -> GLint -> GLboolean -> m ()
    glTextureStorage3DMultisample GLuint
    v1 GLint
    v2 GLuint
    v3 GLint
    v4 GLint
    v5 GLint
    v6 GLboolean
    v7 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLuint
       -> GLint
       -> GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLboolean
       -> IO ())
    -> GLuint
    -> GLint
    -> GLuint
    -> GLint
    -> GLint
    -> GLint
    -> GLboolean
    -> IO ()
    dyn813 FunPtr
      (GLuint
       -> GLint
       -> GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLboolean
       -> IO ())
    ptr_glTextureStorage3DMultisample GLuint
    v1 GLint
    v2 GLuint
    v3 GLint
    v4 GLint
    v5 GLint
    v6 GLboolean
    v7

    {-# NOINLINE ptr_glTextureStorage3DMultisample #-}
    ptr_glTextureStorage3DMultisample :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
    ptr_glTextureStorage3DMultisample :: FunPtr
      (GLuint
       -> GLint
       -> GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLboolean
       -> IO ())
    ptr_glTextureStorage3DMultisample = IO
      (FunPtr
         (GLuint
          -> GLint
          -> GLuint
          -> GLint
          -> GLint
          -> GLint
          -> GLboolean
          -> IO ()))
    -> FunPtr
         (GLuint
          -> GLint
          -> GLuint
          -> GLint
          -> GLint
          -> GLint
          -> GLboolean
          -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO
       (FunPtr
          (GLuint
           -> GLint
           -> GLuint
           -> GLint
           -> GLint
           -> GLint
           -> GLboolean
           -> IO ()))
     -> FunPtr
          (GLuint
           -> GLint
           -> GLuint
           -> GLint
           -> GLint
           -> GLint
           -> GLboolean
           -> IO ()))
    -> IO
         (FunPtr
            (GLuint
             -> GLint
             -> GLuint
             -> GLint
             -> GLint
             -> GLint
             -> GLboolean
             -> IO ()))
    -> FunPtr
         (GLuint
          -> GLint
          -> GLuint
          -> GLint
          -> GLint
          -> GLint
          -> GLboolean
          -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String
    -> IO
         (FunPtr
            (GLuint
             -> GLint
             -> GLuint
             -> GLint
             -> GLint
             -> GLint
             -> GLboolean
             -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTextureStorage3DMultisample"

    -- glTextureStorage3DMultisampleEXT --------------------------------------------

    glTextureStorage3DMultisampleEXT
      :: MonadIO m
      => GLuint -- ^ @texture@.
      -> GLenum -- ^ @target@.
      -> GLsizei -- ^ @samples@.
      -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> GLsizei -- ^ @depth@.
      -> GLboolean -- ^ @fixedsamplelocations@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
      -> m ()
    glTextureStorage3DMultisampleEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLuint
    -> GLuint
    -> GLint
    -> GLuint
    -> GLint
    -> GLint
    -> GLint
    -> GLboolean
    -> m ()
    glTextureStorage3DMultisampleEXT GLuint
    v1 GLuint
    v2 GLint
    v3 GLuint
    v4 GLint
    v5 GLint
    v6 GLint
    v7 GLboolean
    v8 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLuint
       -> GLuint
       -> GLint
       -> GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLboolean
       -> IO ())
    -> GLuint
    -> GLuint
    -> GLint
    -> GLuint
    -> GLint
    -> GLint
    -> GLint
    -> GLboolean
    -> IO ()
    dyn814 FunPtr
      (GLuint
       -> GLuint
       -> GLint
       -> GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLboolean
       -> IO ())
    ptr_glTextureStorage3DMultisampleEXT GLuint
    v1 GLuint
    v2 GLint
    v3 GLuint
    v4 GLint
    v5 GLint
    v6 GLint
    v7 GLboolean
    v8

    {-# NOINLINE ptr_glTextureStorage3DMultisampleEXT #-}
    ptr_glTextureStorage3DMultisampleEXT :: FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
    ptr_glTextureStorage3DMultisampleEXT :: FunPtr
      (GLuint
       -> GLuint
       -> GLint
       -> GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLboolean
       -> IO ())
    ptr_glTextureStorage3DMultisampleEXT = IO
      (FunPtr
         (GLuint
          -> GLuint
          -> GLint
          -> GLuint
          -> GLint
          -> GLint
          -> GLint
          -> GLboolean
          -> IO ()))
    -> FunPtr
         (GLuint
          -> GLuint
          -> GLint
          -> GLuint
          -> GLint
          -> GLint
          -> GLint
          -> GLboolean
          -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO
       (FunPtr
          (GLuint
           -> GLuint
           -> GLint
           -> GLuint
           -> GLint
           -> GLint
           -> GLint
           -> GLboolean
           -> IO ()))
     -> FunPtr
          (GLuint
           -> GLuint
           -> GLint
           -> GLuint
           -> GLint
           -> GLint
           -> GLint
           -> GLboolean
           -> IO ()))
    -> IO
         (FunPtr
            (GLuint
             -> GLuint
             -> GLint
             -> GLuint
             -> GLint
             -> GLint
             -> GLint
             -> GLboolean
             -> IO ()))
    -> FunPtr
         (GLuint
          -> GLuint
          -> GLint
          -> GLuint
          -> GLint
          -> GLint
          -> GLint
          -> GLboolean
          -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String
    -> IO
         (FunPtr
            (GLuint
             -> GLuint
             -> GLint
             -> GLuint
             -> GLint
             -> GLint
             -> GLint
             -> GLboolean
             -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTextureStorage3DMultisampleEXT"

    -- glTextureStorageMem1DEXT ----------------------------------------------------

    glTextureStorageMem1DEXT
      :: MonadIO m
      => GLuint -- ^ @texture@.
      -> GLsizei -- ^ @levels@.
      -> GLenum -- ^ @internalFormat@.
      -> GLsizei -- ^ @width@.
      -> GLuint -- ^ @memory@.
      -> GLuint64 -- ^ @offset@.
      -> m ()
    glTextureStorageMem1DEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLint -> GLuint -> GLint -> GLuint -> GLuint64 -> m ()
    glTextureStorageMem1DEXT GLuint
    v1 GLint
    v2 GLuint
    v3 GLint
    v4 GLuint
    v5 GLuint64
    v6 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLuint -> GLint -> GLuint -> GLint -> GLuint -> GLuint64 -> IO ())
    -> GLuint
    -> GLint
    -> GLuint
    -> GLint
    -> GLuint
    -> GLuint64
    -> IO ()
    dyn815 FunPtr
      (GLuint -> GLint -> GLuint -> GLint -> GLuint -> GLuint64 -> IO ())
    ptr_glTextureStorageMem1DEXT GLuint
    v1 GLint
    v2 GLuint
    v3 GLint
    v4 GLuint
    v5 GLuint64
    v6

    {-# NOINLINE ptr_glTextureStorageMem1DEXT #-}
    ptr_glTextureStorageMem1DEXT :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLuint -> GLuint64 -> IO ())
    ptr_glTextureStorageMem1DEXT :: FunPtr
      (GLuint -> GLint -> GLuint -> GLint -> GLuint -> GLuint64 -> IO ())
    ptr_glTextureStorageMem1DEXT = IO
      (FunPtr
         (GLuint
          -> GLint -> GLuint -> GLint -> GLuint -> GLuint64 -> IO ()))
    -> FunPtr
         (GLuint -> GLint -> GLuint -> GLint -> GLuint -> GLuint64 -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO
       (FunPtr
          (GLuint
           -> GLint -> GLuint -> GLint -> GLuint -> GLuint64 -> IO ()))
     -> FunPtr
          (GLuint
           -> GLint -> GLuint -> GLint -> GLuint -> GLuint64 -> IO ()))
    -> IO
         (FunPtr
            (GLuint
             -> GLint -> GLuint -> GLint -> GLuint -> GLuint64 -> IO ()))
    -> FunPtr
         (GLuint -> GLint -> GLuint -> GLint -> GLuint -> GLuint64 -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String
    -> IO
         (FunPtr
            (GLuint
             -> GLint -> GLuint -> GLint -> GLuint -> GLuint64 -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTextureStorageMem1DEXT"

    -- glTextureStorageMem2DEXT ----------------------------------------------------

    glTextureStorageMem2DEXT
      :: MonadIO m
      => GLuint -- ^ @texture@.
      -> GLsizei -- ^ @levels@.
      -> GLenum -- ^ @internalFormat@.
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> GLuint -- ^ @memory@.
      -> GLuint64 -- ^ @offset@.
      -> m ()
    glTextureStorageMem2DEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLuint
    -> GLint -> GLuint -> GLint -> GLint -> GLuint -> GLuint64 -> m ()
    glTextureStorageMem2DEXT GLuint
    v1 GLint
    v2 GLuint
    v3 GLint
    v4 GLint
    v5 GLuint
    v6 GLuint64
    v7 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLuint
       -> GLint
       -> GLuint
       -> GLint
       -> GLint
       -> GLuint
       -> GLuint64
       -> IO ())
    -> GLuint
    -> GLint
    -> GLuint
    -> GLint
    -> GLint
    -> GLuint
    -> GLuint64
    -> IO ()
    dyn816 FunPtr
      (GLuint
       -> GLint
       -> GLuint
       -> GLint
       -> GLint
       -> GLuint
       -> GLuint64
       -> IO ())
    ptr_glTextureStorageMem2DEXT GLuint
    v1 GLint
    v2 GLuint
    v3 GLint
    v4 GLint
    v5 GLuint
    v6 GLuint64
    v7

    {-# NOINLINE ptr_glTextureStorageMem2DEXT #-}
    ptr_glTextureStorageMem2DEXT :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLuint -> GLuint64 -> IO ())
    ptr_glTextureStorageMem2DEXT :: FunPtr
      (GLuint
       -> GLint
       -> GLuint
       -> GLint
       -> GLint
       -> GLuint
       -> GLuint64
       -> IO ())
    ptr_glTextureStorageMem2DEXT = IO
      (FunPtr
         (GLuint
          -> GLint
          -> GLuint
          -> GLint
          -> GLint
          -> GLuint
          -> GLuint64
          -> IO ()))
    -> FunPtr
         (GLuint
          -> GLint
          -> GLuint
          -> GLint
          -> GLint
          -> GLuint
          -> GLuint64
          -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO
       (FunPtr
          (GLuint
           -> GLint
           -> GLuint
           -> GLint
           -> GLint
           -> GLuint
           -> GLuint64
           -> IO ()))
     -> FunPtr
          (GLuint
           -> GLint
           -> GLuint
           -> GLint
           -> GLint
           -> GLuint
           -> GLuint64
           -> IO ()))
    -> IO
         (FunPtr
            (GLuint
             -> GLint
             -> GLuint
             -> GLint
             -> GLint
             -> GLuint
             -> GLuint64
             -> IO ()))
    -> FunPtr
         (GLuint
          -> GLint
          -> GLuint
          -> GLint
          -> GLint
          -> GLuint
          -> GLuint64
          -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String
    -> IO
         (FunPtr
            (GLuint
             -> GLint
             -> GLuint
             -> GLint
             -> GLint
             -> GLuint
             -> GLuint64
             -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTextureStorageMem2DEXT"

    -- glTextureStorageMem2DMultisampleEXT -----------------------------------------

    glTextureStorageMem2DMultisampleEXT
      :: MonadIO m
      => GLuint -- ^ @texture@.
      -> GLsizei -- ^ @samples@.
      -> GLenum -- ^ @internalFormat@.
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> GLboolean -- ^ @fixedSampleLocations@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
      -> GLuint -- ^ @memory@.
      -> GLuint64 -- ^ @offset@.
      -> m ()
    glTextureStorageMem2DMultisampleEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLuint
    -> GLint
    -> GLuint
    -> GLint
    -> GLint
    -> GLboolean
    -> GLuint
    -> GLuint64
    -> m ()
    glTextureStorageMem2DMultisampleEXT GLuint
    v1 GLint
    v2 GLuint
    v3 GLint
    v4 GLint
    v5 GLboolean
    v6 GLuint
    v7 GLuint64
    v8 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLuint
       -> GLint
       -> GLuint
       -> GLint
       -> GLint
       -> GLboolean
       -> GLuint
       -> GLuint64
       -> IO ())
    -> GLuint
    -> GLint
    -> GLuint
    -> GLint
    -> GLint
    -> GLboolean
    -> GLuint
    -> GLuint64
    -> IO ()
    dyn817 FunPtr
      (GLuint
       -> GLint
       -> GLuint
       -> GLint
       -> GLint
       -> GLboolean
       -> GLuint
       -> GLuint64
       -> IO ())
    ptr_glTextureStorageMem2DMultisampleEXT GLuint
    v1 GLint
    v2 GLuint
    v3 GLint
    v4 GLint
    v5 GLboolean
    v6 GLuint
    v7 GLuint64
    v8

    {-# NOINLINE ptr_glTextureStorageMem2DMultisampleEXT #-}
    ptr_glTextureStorageMem2DMultisampleEXT :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> GLuint -> GLuint64 -> IO ())
    ptr_glTextureStorageMem2DMultisampleEXT :: FunPtr
      (GLuint
       -> GLint
       -> GLuint
       -> GLint
       -> GLint
       -> GLboolean
       -> GLuint
       -> GLuint64
       -> IO ())
    ptr_glTextureStorageMem2DMultisampleEXT = IO
      (FunPtr
         (GLuint
          -> GLint
          -> GLuint
          -> GLint
          -> GLint
          -> GLboolean
          -> GLuint
          -> GLuint64
          -> IO ()))
    -> FunPtr
         (GLuint
          -> GLint
          -> GLuint
          -> GLint
          -> GLint
          -> GLboolean
          -> GLuint
          -> GLuint64
          -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO
       (FunPtr
          (GLuint
           -> GLint
           -> GLuint
           -> GLint
           -> GLint
           -> GLboolean
           -> GLuint
           -> GLuint64
           -> IO ()))
     -> FunPtr
          (GLuint
           -> GLint
           -> GLuint
           -> GLint
           -> GLint
           -> GLboolean
           -> GLuint
           -> GLuint64
           -> IO ()))
    -> IO
         (FunPtr
            (GLuint
             -> GLint
             -> GLuint
             -> GLint
             -> GLint
             -> GLboolean
             -> GLuint
             -> GLuint64
             -> IO ()))
    -> FunPtr
         (GLuint
          -> GLint
          -> GLuint
          -> GLint
          -> GLint
          -> GLboolean
          -> GLuint
          -> GLuint64
          -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String
    -> IO
         (FunPtr
            (GLuint
             -> GLint
             -> GLuint
             -> GLint
             -> GLint
             -> GLboolean
             -> GLuint
             -> GLuint64
             -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTextureStorageMem2DMultisampleEXT"

    -- glTextureStorageMem3DEXT ----------------------------------------------------

    glTextureStorageMem3DEXT
      :: MonadIO m
      => GLuint -- ^ @texture@.
      -> GLsizei -- ^ @levels@.
      -> GLenum -- ^ @internalFormat@.
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> GLsizei -- ^ @depth@.
      -> GLuint -- ^ @memory@.
      -> GLuint64 -- ^ @offset@.
      -> m ()
    glTextureStorageMem3DEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLuint
    -> GLint
    -> GLuint
    -> GLint
    -> GLint
    -> GLint
    -> GLuint
    -> GLuint64
    -> m ()
    glTextureStorageMem3DEXT GLuint
    v1 GLint
    v2 GLuint
    v3 GLint
    v4 GLint
    v5 GLint
    v6 GLuint
    v7 GLuint64
    v8 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLuint
       -> GLint
       -> GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLuint
       -> GLuint64
       -> IO ())
    -> GLuint
    -> GLint
    -> GLuint
    -> GLint
    -> GLint
    -> GLint
    -> GLuint
    -> GLuint64
    -> IO ()
    dyn818 FunPtr
      (GLuint
       -> GLint
       -> GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLuint
       -> GLuint64
       -> IO ())
    ptr_glTextureStorageMem3DEXT GLuint
    v1 GLint
    v2 GLuint
    v3 GLint
    v4 GLint
    v5 GLint
    v6 GLuint
    v7 GLuint64
    v8

    {-# NOINLINE ptr_glTextureStorageMem3DEXT #-}
    ptr_glTextureStorageMem3DEXT :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLuint -> GLuint64 -> IO ())
    ptr_glTextureStorageMem3DEXT :: FunPtr
      (GLuint
       -> GLint
       -> GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLuint
       -> GLuint64
       -> IO ())
    ptr_glTextureStorageMem3DEXT = IO
      (FunPtr
         (GLuint
          -> GLint
          -> GLuint
          -> GLint
          -> GLint
          -> GLint
          -> GLuint
          -> GLuint64
          -> IO ()))
    -> FunPtr
         (GLuint
          -> GLint
          -> GLuint
          -> GLint
          -> GLint
          -> GLint
          -> GLuint
          -> GLuint64
          -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO
       (FunPtr
          (GLuint
           -> GLint
           -> GLuint
           -> GLint
           -> GLint
           -> GLint
           -> GLuint
           -> GLuint64
           -> IO ()))
     -> FunPtr
          (GLuint
           -> GLint
           -> GLuint
           -> GLint
           -> GLint
           -> GLint
           -> GLuint
           -> GLuint64
           -> IO ()))
    -> IO
         (FunPtr
            (GLuint
             -> GLint
             -> GLuint
             -> GLint
             -> GLint
             -> GLint
             -> GLuint
             -> GLuint64
             -> IO ()))
    -> FunPtr
         (GLuint
          -> GLint
          -> GLuint
          -> GLint
          -> GLint
          -> GLint
          -> GLuint
          -> GLuint64
          -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String
    -> IO
         (FunPtr
            (GLuint
             -> GLint
             -> GLuint
             -> GLint
             -> GLint
             -> GLint
             -> GLuint
             -> GLuint64
             -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTextureStorageMem3DEXT"

    -- glTextureStorageMem3DMultisampleEXT -----------------------------------------

    glTextureStorageMem3DMultisampleEXT
      :: MonadIO m
      => GLuint -- ^ @texture@.
      -> GLsizei -- ^ @samples@.
      -> GLenum -- ^ @internalFormat@.
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> GLsizei -- ^ @depth@.
      -> GLboolean -- ^ @fixedSampleLocations@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
      -> GLuint -- ^ @memory@.
      -> GLuint64 -- ^ @offset@.
      -> m ()
    glTextureStorageMem3DMultisampleEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLuint
    -> GLint
    -> GLuint
    -> GLint
    -> GLint
    -> GLint
    -> GLboolean
    -> GLuint
    -> GLuint64
    -> m ()
    glTextureStorageMem3DMultisampleEXT GLuint
    v1 GLint
    v2 GLuint
    v3 GLint
    v4 GLint
    v5 GLint
    v6 GLboolean
    v7 GLuint
    v8 GLuint64
    v9 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLuint
       -> GLint
       -> GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLboolean
       -> GLuint
       -> GLuint64
       -> IO ())
    -> GLuint
    -> GLint
    -> GLuint
    -> GLint
    -> GLint
    -> GLint
    -> GLboolean
    -> GLuint
    -> GLuint64
    -> IO ()
    dyn819 FunPtr
      (GLuint
       -> GLint
       -> GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLboolean
       -> GLuint
       -> GLuint64
       -> IO ())
    ptr_glTextureStorageMem3DMultisampleEXT GLuint
    v1 GLint
    v2 GLuint
    v3 GLint
    v4 GLint
    v5 GLint
    v6 GLboolean
    v7 GLuint
    v8 GLuint64
    v9

    {-# NOINLINE ptr_glTextureStorageMem3DMultisampleEXT #-}
    ptr_glTextureStorageMem3DMultisampleEXT :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> GLuint -> GLuint64 -> IO ())
    ptr_glTextureStorageMem3DMultisampleEXT :: FunPtr
      (GLuint
       -> GLint
       -> GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLboolean
       -> GLuint
       -> GLuint64
       -> IO ())
    ptr_glTextureStorageMem3DMultisampleEXT = IO
      (FunPtr
         (GLuint
          -> GLint
          -> GLuint
          -> GLint
          -> GLint
          -> GLint
          -> GLboolean
          -> GLuint
          -> GLuint64
          -> IO ()))
    -> FunPtr
         (GLuint
          -> GLint
          -> GLuint
          -> GLint
          -> GLint
          -> GLint
          -> GLboolean
          -> GLuint
          -> GLuint64
          -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO
       (FunPtr
          (GLuint
           -> GLint
           -> GLuint
           -> GLint
           -> GLint
           -> GLint
           -> GLboolean
           -> GLuint
           -> GLuint64
           -> IO ()))
     -> FunPtr
          (GLuint
           -> GLint
           -> GLuint
           -> GLint
           -> GLint
           -> GLint
           -> GLboolean
           -> GLuint
           -> GLuint64
           -> IO ()))
    -> IO
         (FunPtr
            (GLuint
             -> GLint
             -> GLuint
             -> GLint
             -> GLint
             -> GLint
             -> GLboolean
             -> GLuint
             -> GLuint64
             -> IO ()))
    -> FunPtr
         (GLuint
          -> GLint
          -> GLuint
          -> GLint
          -> GLint
          -> GLint
          -> GLboolean
          -> GLuint
          -> GLuint64
          -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String
    -> IO
         (FunPtr
            (GLuint
             -> GLint
             -> GLuint
             -> GLint
             -> GLint
             -> GLint
             -> GLboolean
             -> GLuint
             -> GLuint64
             -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTextureStorageMem3DMultisampleEXT"

    -- glTextureStorageSparseAMD ---------------------------------------------------

    glTextureStorageSparseAMD
      :: MonadIO m
      => GLuint -- ^ @texture@.
      -> GLenum -- ^ @target@.
      -> GLenum -- ^ @internalFormat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> GLsizei -- ^ @depth@.
      -> GLsizei -- ^ @layers@.
      -> GLbitfield -- ^ @flags@ of type [TextureStorageMaskAMD](Graphics-GL-Groups.html#TextureStorageMaskAMD).
      -> m ()
    glTextureStorageSparseAMD :: forall (m :: * -> *).
    MonadIO m =>
    GLuint
    -> GLuint
    -> GLuint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLuint
    -> m ()
    glTextureStorageSparseAMD GLuint
    v1 GLuint
    v2 GLuint
    v3 GLint
    v4 GLint
    v5 GLint
    v6 GLint
    v7 GLuint
    v8 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLuint
       -> GLuint
       -> GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLuint
       -> IO ())
    -> GLuint
    -> GLuint
    -> GLuint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLuint
    -> IO ()
    dyn820 FunPtr
      (GLuint
       -> GLuint
       -> GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLuint
       -> IO ())
    ptr_glTextureStorageSparseAMD GLuint
    v1 GLuint
    v2 GLuint
    v3 GLint
    v4 GLint
    v5 GLint
    v6 GLint
    v7 GLuint
    v8

    {-# NOINLINE ptr_glTextureStorageSparseAMD #-}
    ptr_glTextureStorageSparseAMD :: FunPtr (GLuint -> GLenum -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLbitfield -> IO ())
    ptr_glTextureStorageSparseAMD :: FunPtr
      (GLuint
       -> GLuint
       -> GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLuint
       -> IO ())
    ptr_glTextureStorageSparseAMD = IO
      (FunPtr
         (GLuint
          -> GLuint
          -> GLuint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLuint
          -> IO ()))
    -> FunPtr
         (GLuint
          -> GLuint
          -> GLuint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLuint
          -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO
       (FunPtr
          (GLuint
           -> GLuint
           -> GLuint
           -> GLint
           -> GLint
           -> GLint
           -> GLint
           -> GLuint
           -> IO ()))
     -> FunPtr
          (GLuint
           -> GLuint
           -> GLuint
           -> GLint
           -> GLint
           -> GLint
           -> GLint
           -> GLuint
           -> IO ()))
    -> IO
         (FunPtr
            (GLuint
             -> GLuint
             -> GLuint
             -> GLint
             -> GLint
             -> GLint
             -> GLint
             -> GLuint
             -> IO ()))
    -> FunPtr
         (GLuint
          -> GLuint
          -> GLuint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLuint
          -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String
    -> IO
         (FunPtr
            (GLuint
             -> GLuint
             -> GLuint
             -> GLint
             -> GLint
             -> GLint
             -> GLint
             -> GLuint
             -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTextureStorageSparseAMD"

    -- glTextureSubImage1D ---------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexSubImage1D.xhtml OpenGL 4.x>.
    glTextureSubImage1D
      :: MonadIO m
      => GLuint -- ^ @texture@.
      -> GLint -- ^ @level@.
      -> GLint -- ^ @xoffset@.
      -> GLsizei -- ^ @width@.
      -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
      -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
      -> Ptr a -- ^ @pixels@.
      -> m ()
    glTextureSubImage1D :: forall (m :: * -> *) a.
    MonadIO m =>
    GLuint
    -> GLint -> GLint -> GLint -> GLuint -> GLuint -> Ptr a -> m ()
    glTextureSubImage1D GLuint
    v1 GLint
    v2 GLint
    v3 GLint
    v4 GLuint
    v5 GLuint
    v6 Ptr a
    v7 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLuint
       -> GLint -> GLint -> GLint -> GLuint -> GLuint -> Ptr a -> IO ())
    -> GLuint
    -> GLint
    -> GLint
    -> GLint
    -> GLuint
    -> GLuint
    -> Ptr a
    -> IO ()
    forall a.
    FunPtr
      (GLuint
       -> GLint -> GLint -> GLint -> GLuint -> GLuint -> Ptr a -> IO ())
    -> GLuint
    -> GLint
    -> GLint
    -> GLint
    -> GLuint
    -> GLuint
    -> Ptr a
    -> IO ()
    dyn821 FunPtr
      (GLuint
       -> GLint -> GLint -> GLint -> GLuint -> GLuint -> Ptr a -> IO ())
    forall a.
    FunPtr
      (GLuint
       -> GLint -> GLint -> GLint -> GLuint -> GLuint -> Ptr a -> IO ())
    ptr_glTextureSubImage1D GLuint
    v1 GLint
    v2 GLint
    v3 GLint
    v4 GLuint
    v5 GLuint
    v6 Ptr a
    v7

    {-# NOINLINE ptr_glTextureSubImage1D #-}
    ptr_glTextureSubImage1D :: FunPtr (GLuint -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
    ptr_glTextureSubImage1D :: forall a.
    FunPtr
      (GLuint
       -> GLint -> GLint -> GLint -> GLuint -> GLuint -> Ptr a -> IO ())
    ptr_glTextureSubImage1D = IO
      (FunPtr
         (GLuint
          -> GLint -> GLint -> GLint -> GLuint -> GLuint -> Ptr a -> IO ()))
    -> FunPtr
         (GLuint
          -> GLint -> GLint -> GLint -> GLuint -> GLuint -> Ptr a -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO
       (FunPtr
          (GLuint
           -> GLint -> GLint -> GLint -> GLuint -> GLuint -> Ptr a -> IO ()))
     -> FunPtr
          (GLuint
           -> GLint -> GLint -> GLint -> GLuint -> GLuint -> Ptr a -> IO ()))
    -> IO
         (FunPtr
            (GLuint
             -> GLint -> GLint -> GLint -> GLuint -> GLuint -> Ptr a -> IO ()))
    -> FunPtr
         (GLuint
          -> GLint -> GLint -> GLint -> GLuint -> GLuint -> Ptr a -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String
    -> IO
         (FunPtr
            (GLuint
             -> GLint -> GLint -> GLint -> GLuint -> GLuint -> Ptr a -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTextureSubImage1D"

    -- glTextureSubImage1DEXT ------------------------------------------------------

    glTextureSubImage1DEXT
      :: MonadIO m
      => GLuint -- ^ @texture@ of type @Texture@.
      -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
      -> GLsizei -- ^ @width@.
      -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
      -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
      -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width)@ elements of type @a@.
      -> m ()
    glTextureSubImage1DEXT :: forall (m :: * -> *) a.
    MonadIO m =>
    GLuint
    -> GLuint
    -> GLint
    -> GLint
    -> GLint
    -> GLuint
    -> GLuint
    -> Ptr a
    -> m ()
    glTextureSubImage1DEXT GLuint
    v1 GLuint
    v2 GLint
    v3 GLint
    v4 GLint
    v5 GLuint
    v6 GLuint
    v7 Ptr a
    v8 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLuint
       -> GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLuint
       -> GLuint
       -> Ptr a
       -> IO ())
    -> GLuint
    -> GLuint
    -> GLint
    -> GLint
    -> GLint
    -> GLuint
    -> GLuint
    -> Ptr a
    -> IO ()
    forall a.
    FunPtr
      (GLuint
       -> GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLuint
       -> GLuint
       -> Ptr a
       -> IO ())
    -> GLuint
    -> GLuint
    -> GLint
    -> GLint
    -> GLint
    -> GLuint
    -> GLuint
    -> Ptr a
    -> IO ()
    dyn822 FunPtr
      (GLuint
       -> GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLuint
       -> GLuint
       -> Ptr a
       -> IO ())
    forall a.
    FunPtr
      (GLuint
       -> GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLuint
       -> GLuint
       -> Ptr a
       -> IO ())
    ptr_glTextureSubImage1DEXT GLuint
    v1 GLuint
    v2 GLint
    v3 GLint
    v4 GLint
    v5 GLuint
    v6 GLuint
    v7 Ptr a
    v8

    {-# NOINLINE ptr_glTextureSubImage1DEXT #-}
    ptr_glTextureSubImage1DEXT :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
    ptr_glTextureSubImage1DEXT :: forall a.
    FunPtr
      (GLuint
       -> GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLuint
       -> GLuint
       -> Ptr a
       -> IO ())
    ptr_glTextureSubImage1DEXT = IO
      (FunPtr
         (GLuint
          -> GLuint
          -> GLint
          -> GLint
          -> GLint
          -> GLuint
          -> GLuint
          -> Ptr a
          -> IO ()))
    -> FunPtr
         (GLuint
          -> GLuint
          -> GLint
          -> GLint
          -> GLint
          -> GLuint
          -> GLuint
          -> Ptr a
          -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO
       (FunPtr
          (GLuint
           -> GLuint
           -> GLint
           -> GLint
           -> GLint
           -> GLuint
           -> GLuint
           -> Ptr a
           -> IO ()))
     -> FunPtr
          (GLuint
           -> GLuint
           -> GLint
           -> GLint
           -> GLint
           -> GLuint
           -> GLuint
           -> Ptr a
           -> IO ()))
    -> IO
         (FunPtr
            (GLuint
             -> GLuint
             -> GLint
             -> GLint
             -> GLint
             -> GLuint
             -> GLuint
             -> Ptr a
             -> IO ()))
    -> FunPtr
         (GLuint
          -> GLuint
          -> GLint
          -> GLint
          -> GLint
          -> GLuint
          -> GLuint
          -> Ptr a
          -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String
    -> IO
         (FunPtr
            (GLuint
             -> GLuint
             -> GLint
             -> GLint
             -> GLint
             -> GLuint
             -> GLuint
             -> Ptr a
             -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTextureSubImage1DEXT"

    -- glTextureSubImage2D ---------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexSubImage2D.xhtml OpenGL 4.x>.
    glTextureSubImage2D
      :: MonadIO m
      => GLuint -- ^ @texture@.
      -> GLint -- ^ @level@.
      -> GLint -- ^ @xoffset@.
      -> GLint -- ^ @yoffset@.
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
      -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
      -> Ptr a -- ^ @pixels@.
      -> m ()
    glTextureSubImage2D :: forall (m :: * -> *) a.
    MonadIO m =>
    GLuint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLuint
    -> GLuint
    -> Ptr a
    -> m ()
    glTextureSubImage2D GLuint
    v1 GLint
    v2 GLint
    v3 GLint
    v4 GLint
    v5 GLint
    v6 GLuint
    v7 GLuint
    v8 Ptr a
    v9 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLuint
       -> GLuint
       -> Ptr a
       -> IO ())
    -> GLuint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLuint
    -> GLuint
    -> Ptr a
    -> IO ()
    forall a.
    FunPtr
      (GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLuint
       -> GLuint
       -> Ptr a
       -> IO ())
    -> GLuint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLuint
    -> GLuint
    -> Ptr a
    -> IO ()
    dyn823 FunPtr
      (GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLuint
       -> GLuint
       -> Ptr a
       -> IO ())
    forall a.
    FunPtr
      (GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLuint
       -> GLuint
       -> Ptr a
       -> IO ())
    ptr_glTextureSubImage2D GLuint
    v1 GLint
    v2 GLint
    v3 GLint
    v4 GLint
    v5 GLint
    v6 GLuint
    v7 GLuint
    v8 Ptr a
    v9

    {-# NOINLINE ptr_glTextureSubImage2D #-}
    ptr_glTextureSubImage2D :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
    ptr_glTextureSubImage2D :: forall a.
    FunPtr
      (GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLuint
       -> GLuint
       -> Ptr a
       -> IO ())
    ptr_glTextureSubImage2D = IO
      (FunPtr
         (GLuint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLuint
          -> GLuint
          -> Ptr a
          -> IO ()))
    -> FunPtr
         (GLuint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLuint
          -> GLuint
          -> Ptr a
          -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO
       (FunPtr
          (GLuint
           -> GLint
           -> GLint
           -> GLint
           -> GLint
           -> GLint
           -> GLuint
           -> GLuint
           -> Ptr a
           -> IO ()))
     -> FunPtr
          (GLuint
           -> GLint
           -> GLint
           -> GLint
           -> GLint
           -> GLint
           -> GLuint
           -> GLuint
           -> Ptr a
           -> IO ()))
    -> IO
         (FunPtr
            (GLuint
             -> GLint
             -> GLint
             -> GLint
             -> GLint
             -> GLint
             -> GLuint
             -> GLuint
             -> Ptr a
             -> IO ()))
    -> FunPtr
         (GLuint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLuint
          -> GLuint
          -> Ptr a
          -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String
    -> IO
         (FunPtr
            (GLuint
             -> GLint
             -> GLint
             -> GLint
             -> GLint
             -> GLint
             -> GLuint
             -> GLuint
             -> Ptr a
             -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTextureSubImage2D"

    -- glTextureSubImage2DEXT ------------------------------------------------------

    glTextureSubImage2DEXT
      :: MonadIO m
      => GLuint -- ^ @texture@ of type @Texture@.
      -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
      -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
      -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
      -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height)@ elements of type @a@.
      -> m ()
    glTextureSubImage2DEXT :: forall (m :: * -> *) a.
    MonadIO m =>
    GLuint
    -> GLuint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLuint
    -> GLuint
    -> Ptr a
    -> m ()
    glTextureSubImage2DEXT GLuint
    v1 GLuint
    v2 GLint
    v3 GLint
    v4 GLint
    v5 GLint
    v6 GLint
    v7 GLuint
    v8 GLuint
    v9 Ptr a
    v10 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLuint
       -> GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLuint
       -> GLuint
       -> Ptr a
       -> IO ())
    -> GLuint
    -> GLuint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLuint
    -> GLuint
    -> Ptr a
    -> IO ()
    forall a.
    FunPtr
      (GLuint
       -> GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLuint
       -> GLuint
       -> Ptr a
       -> IO ())
    -> GLuint
    -> GLuint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLuint
    -> GLuint
    -> Ptr a
    -> IO ()
    dyn824 FunPtr
      (GLuint
       -> GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLuint
       -> GLuint
       -> Ptr a
       -> IO ())
    forall a.
    FunPtr
      (GLuint
       -> GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLuint
       -> GLuint
       -> Ptr a
       -> IO ())
    ptr_glTextureSubImage2DEXT GLuint
    v1 GLuint
    v2 GLint
    v3 GLint
    v4 GLint
    v5 GLint
    v6 GLint
    v7 GLuint
    v8 GLuint
    v9 Ptr a
    v10

    {-# NOINLINE ptr_glTextureSubImage2DEXT #-}
    ptr_glTextureSubImage2DEXT :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
    ptr_glTextureSubImage2DEXT :: forall a.
    FunPtr
      (GLuint
       -> GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLuint
       -> GLuint
       -> Ptr a
       -> IO ())
    ptr_glTextureSubImage2DEXT = IO
      (FunPtr
         (GLuint
          -> GLuint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLuint
          -> GLuint
          -> Ptr a
          -> IO ()))
    -> FunPtr
         (GLuint
          -> GLuint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLuint
          -> GLuint
          -> Ptr a
          -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO
       (FunPtr
          (GLuint
           -> GLuint
           -> GLint
           -> GLint
           -> GLint
           -> GLint
           -> GLint
           -> GLuint
           -> GLuint
           -> Ptr a
           -> IO ()))
     -> FunPtr
          (GLuint
           -> GLuint
           -> GLint
           -> GLint
           -> GLint
           -> GLint
           -> GLint
           -> GLuint
           -> GLuint
           -> Ptr a
           -> IO ()))
    -> IO
         (FunPtr
            (GLuint
             -> GLuint
             -> GLint
             -> GLint
             -> GLint
             -> GLint
             -> GLint
             -> GLuint
             -> GLuint
             -> Ptr a
             -> IO ()))
    -> FunPtr
         (GLuint
          -> GLuint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLuint
          -> GLuint
          -> Ptr a
          -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String
    -> IO
         (FunPtr
            (GLuint
             -> GLuint
             -> GLint
             -> GLint
             -> GLint
             -> GLint
             -> GLint
             -> GLuint
             -> GLuint
             -> Ptr a
             -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTextureSubImage2DEXT"

    -- glTextureSubImage3D ---------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexSubImage3D.xhtml OpenGL 4.x>.
    glTextureSubImage3D
      :: MonadIO m
      => GLuint -- ^ @texture@.
      -> GLint -- ^ @level@.
      -> GLint -- ^ @xoffset@.
      -> GLint -- ^ @yoffset@.
      -> GLint -- ^ @zoffset@.
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> GLsizei -- ^ @depth@.
      -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
      -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
      -> Ptr a -- ^ @pixels@.
      -> m ()
    glTextureSubImage3D :: forall (m :: * -> *) a.
    MonadIO m =>
    GLuint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLuint
    -> GLuint
    -> Ptr a
    -> m ()
    glTextureSubImage3D GLuint
    v1 GLint
    v2 GLint
    v3 GLint
    v4 GLint
    v5 GLint
    v6 GLint
    v7 GLint
    v8 GLuint
    v9 GLuint
    v10 Ptr a
    v11 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLuint
       -> GLuint
       -> Ptr a
       -> IO ())
    -> GLuint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLuint
    -> GLuint
    -> Ptr a
    -> IO ()
    forall a.
    FunPtr
      (GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLuint
       -> GLuint
       -> Ptr a
       -> IO ())
    -> GLuint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLuint
    -> GLuint
    -> Ptr a
    -> IO ()
    dyn97 FunPtr
      (GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLuint
       -> GLuint
       -> Ptr a
       -> IO ())
    forall a.
    FunPtr
      (GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLuint
       -> GLuint
       -> Ptr a
       -> IO ())
    ptr_glTextureSubImage3D GLuint
    v1 GLint
    v2 GLint
    v3 GLint
    v4 GLint
    v5 GLint
    v6 GLint
    v7 GLint
    v8 GLuint
    v9 GLuint
    v10 Ptr a
    v11

    {-# NOINLINE ptr_glTextureSubImage3D #-}
    ptr_glTextureSubImage3D :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
    ptr_glTextureSubImage3D :: forall a.
    FunPtr
      (GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLuint
       -> GLuint
       -> Ptr a
       -> IO ())
    ptr_glTextureSubImage3D = IO
      (FunPtr
         (GLuint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLuint
          -> GLuint
          -> Ptr a
          -> IO ()))
    -> FunPtr
         (GLuint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLuint
          -> GLuint
          -> Ptr a
          -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO
       (FunPtr
          (GLuint
           -> GLint
           -> GLint
           -> GLint
           -> GLint
           -> GLint
           -> GLint
           -> GLint
           -> GLuint
           -> GLuint
           -> Ptr a
           -> IO ()))
     -> FunPtr
          (GLuint
           -> GLint
           -> GLint
           -> GLint
           -> GLint
           -> GLint
           -> GLint
           -> GLint
           -> GLuint
           -> GLuint
           -> Ptr a
           -> IO ()))
    -> IO
         (FunPtr
            (GLuint
             -> GLint
             -> GLint
             -> GLint
             -> GLint
             -> GLint
             -> GLint
             -> GLint
             -> GLuint
             -> GLuint
             -> Ptr a
             -> IO ()))
    -> FunPtr
         (GLuint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLuint
          -> GLuint
          -> Ptr a
          -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String
    -> IO
         (FunPtr
            (GLuint
             -> GLint
             -> GLint
             -> GLint
             -> GLint
             -> GLint
             -> GLint
             -> GLint
             -> GLuint
             -> GLuint
             -> Ptr a
             -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTextureSubImage3D"

    -- glTextureSubImage3DEXT ------------------------------------------------------

    glTextureSubImage3DEXT
      :: MonadIO m
      => GLuint -- ^ @texture@ of type @Texture@.
      -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
      -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
      -> GLint -- ^ @zoffset@ of type @CheckedInt32@.
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> GLsizei -- ^ @depth@.
      -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
      -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
      -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height,depth)@ elements of type @a@.
      -> m ()
    glTextureSubImage3DEXT :: forall (m :: * -> *) a.
    MonadIO m =>
    GLuint
    -> GLuint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLuint
    -> GLuint
    -> Ptr a
    -> m ()
    glTextureSubImage3DEXT GLuint
    v1 GLuint
    v2 GLint
    v3 GLint
    v4 GLint
    v5 GLint
    v6 GLint
    v7 GLint
    v8 GLint
    v9 GLuint
    v10 GLuint
    v11 Ptr a
    v12 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLuint
       -> GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLuint
       -> GLuint
       -> Ptr a
       -> IO ())
    -> GLuint
    -> GLuint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLuint
    -> GLuint
    -> Ptr a
    -> IO ()
    forall a.
    FunPtr
      (GLuint
       -> GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLuint
       -> GLuint
       -> Ptr a
       -> IO ())
    -> GLuint
    -> GLuint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLuint
    -> GLuint
    -> Ptr a
    -> IO ()
    dyn825 FunPtr
      (GLuint
       -> GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLuint
       -> GLuint
       -> Ptr a
       -> IO ())
    forall a.
    FunPtr
      (GLuint
       -> GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLuint
       -> GLuint
       -> Ptr a
       -> IO ())
    ptr_glTextureSubImage3DEXT GLuint
    v1 GLuint
    v2 GLint
    v3 GLint
    v4 GLint
    v5 GLint
    v6 GLint
    v7 GLint
    v8 GLint
    v9 GLuint
    v10 GLuint
    v11 Ptr a
    v12

    {-# NOINLINE ptr_glTextureSubImage3DEXT #-}
    ptr_glTextureSubImage3DEXT :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
    ptr_glTextureSubImage3DEXT :: forall a.
    FunPtr
      (GLuint
       -> GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLuint
       -> GLuint
       -> Ptr a
       -> IO ())
    ptr_glTextureSubImage3DEXT = IO
      (FunPtr
         (GLuint
          -> GLuint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLuint
          -> GLuint
          -> Ptr a
          -> IO ()))
    -> FunPtr
         (GLuint
          -> GLuint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLuint
          -> GLuint
          -> Ptr a
          -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO
       (FunPtr
          (GLuint
           -> GLuint
           -> GLint
           -> GLint
           -> GLint
           -> GLint
           -> GLint
           -> GLint
           -> GLint
           -> GLuint
           -> GLuint
           -> Ptr a
           -> IO ()))
     -> FunPtr
          (GLuint
           -> GLuint
           -> GLint
           -> GLint
           -> GLint
           -> GLint
           -> GLint
           -> GLint
           -> GLint
           -> GLuint
           -> GLuint
           -> Ptr a
           -> IO ()))
    -> IO
         (FunPtr
            (GLuint
             -> GLuint
             -> GLint
             -> GLint
             -> GLint
             -> GLint
             -> GLint
             -> GLint
             -> GLint
             -> GLuint
             -> GLuint
             -> Ptr a
             -> IO ()))
    -> FunPtr
         (GLuint
          -> GLuint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLint
          -> GLuint
          -> GLuint
          -> Ptr a
          -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String
    -> IO
         (FunPtr
            (GLuint
             -> GLuint
             -> GLint
             -> GLint
             -> GLint
             -> GLint
             -> GLint
             -> GLint
             -> GLint
             -> GLuint
             -> GLuint
             -> Ptr a
             -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTextureSubImage3DEXT"

    -- glTextureView ---------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTextureView.xhtml OpenGL 4.x>.
    glTextureView
      :: MonadIO m
      => GLuint -- ^ @texture@.
      -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLuint -- ^ @origtexture@.
      -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
      -> GLuint -- ^ @minlevel@.
      -> GLuint -- ^ @numlevels@.
      -> GLuint -- ^ @minlayer@.
      -> GLuint -- ^ @numlayers@.
      -> m ()
    glTextureView :: forall (m :: * -> *).
    MonadIO m =>
    GLuint
    -> GLuint
    -> GLuint
    -> GLuint
    -> GLuint
    -> GLuint
    -> GLuint
    -> GLuint
    -> m ()
    glTextureView GLuint
    v1 GLuint
    v2 GLuint
    v3 GLuint
    v4 GLuint
    v5 GLuint
    v6 GLuint
    v7 GLuint
    v8 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLuint
       -> GLuint
       -> GLuint
       -> GLuint
       -> GLuint
       -> GLuint
       -> GLuint
       -> GLuint
       -> IO ())
    -> GLuint
    -> GLuint
    -> GLuint
    -> GLuint
    -> GLuint
    -> GLuint
    -> GLuint
    -> GLuint
    -> IO ()
    dyn826 FunPtr
      (GLuint
       -> GLuint
       -> GLuint
       -> GLuint
       -> GLuint
       -> GLuint
       -> GLuint
       -> GLuint
       -> IO ())
    ptr_glTextureView GLuint
    v1 GLuint
    v2 GLuint
    v3 GLuint
    v4 GLuint
    v5 GLuint
    v6 GLuint
    v7 GLuint
    v8

    {-# NOINLINE ptr_glTextureView #-}
    ptr_glTextureView :: FunPtr (GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
    ptr_glTextureView :: FunPtr
      (GLuint
       -> GLuint
       -> GLuint
       -> GLuint
       -> GLuint
       -> GLuint
       -> GLuint
       -> GLuint
       -> IO ())
    ptr_glTextureView = IO
      (FunPtr
         (GLuint
          -> GLuint
          -> GLuint
          -> GLuint
          -> GLuint
          -> GLuint
          -> GLuint
          -> GLuint
          -> IO ()))
    -> FunPtr
         (GLuint
          -> GLuint
          -> GLuint
          -> GLuint
          -> GLuint
          -> GLuint
          -> GLuint
          -> GLuint
          -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO
       (FunPtr
          (GLuint
           -> GLuint
           -> GLuint
           -> GLuint
           -> GLuint
           -> GLuint
           -> GLuint
           -> GLuint
           -> IO ()))
     -> FunPtr
          (GLuint
           -> GLuint
           -> GLuint
           -> GLuint
           -> GLuint
           -> GLuint
           -> GLuint
           -> GLuint
           -> IO ()))
    -> IO
         (FunPtr
            (GLuint
             -> GLuint
             -> GLuint
             -> GLuint
             -> GLuint
             -> GLuint
             -> GLuint
             -> GLuint
             -> IO ()))
    -> FunPtr
         (GLuint
          -> GLuint
          -> GLuint
          -> GLuint
          -> GLuint
          -> GLuint
          -> GLuint
          -> GLuint
          -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String
    -> IO
         (FunPtr
            (GLuint
             -> GLuint
             -> GLuint
             -> GLuint
             -> GLuint
             -> GLuint
             -> GLuint
             -> GLuint
             -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTextureView"

    -- glTextureViewEXT ------------------------------------------------------------

    -- | This command is an alias for 'glTextureView'.
    glTextureViewEXT
      :: MonadIO m
      => GLuint -- ^ @texture@.
      -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLuint -- ^ @origtexture@.
      -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
      -> GLuint -- ^ @minlevel@.
      -> GLuint -- ^ @numlevels@.
      -> GLuint -- ^ @minlayer@.
      -> GLuint -- ^ @numlayers@.
      -> m ()
    glTextureViewEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLuint
    -> GLuint
    -> GLuint
    -> GLuint
    -> GLuint
    -> GLuint
    -> GLuint
    -> GLuint
    -> m ()
    glTextureViewEXT GLuint
    v1 GLuint
    v2 GLuint
    v3 GLuint
    v4 GLuint
    v5 GLuint
    v6 GLuint
    v7 GLuint
    v8 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLuint
       -> GLuint
       -> GLuint
       -> GLuint
       -> GLuint
       -> GLuint
       -> GLuint
       -> GLuint
       -> IO ())
    -> GLuint
    -> GLuint
    -> GLuint
    -> GLuint
    -> GLuint
    -> GLuint
    -> GLuint
    -> GLuint
    -> IO ()
    dyn826 FunPtr
      (GLuint
       -> GLuint
       -> GLuint
       -> GLuint
       -> GLuint
       -> GLuint
       -> GLuint
       -> GLuint
       -> IO ())
    ptr_glTextureViewEXT GLuint
    v1 GLuint
    v2 GLuint
    v3 GLuint
    v4 GLuint
    v5 GLuint
    v6 GLuint
    v7 GLuint
    v8

    {-# NOINLINE ptr_glTextureViewEXT #-}
    ptr_glTextureViewEXT :: FunPtr (GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
    ptr_glTextureViewEXT :: FunPtr
      (GLuint
       -> GLuint
       -> GLuint
       -> GLuint
       -> GLuint
       -> GLuint
       -> GLuint
       -> GLuint
       -> IO ())
    ptr_glTextureViewEXT = IO
      (FunPtr
         (GLuint
          -> GLuint
          -> GLuint
          -> GLuint
          -> GLuint
          -> GLuint
          -> GLuint
          -> GLuint
          -> IO ()))
    -> FunPtr
         (GLuint
          -> GLuint
          -> GLuint
          -> GLuint
          -> GLuint
          -> GLuint
          -> GLuint
          -> GLuint
          -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO
       (FunPtr
          (GLuint
           -> GLuint
           -> GLuint
           -> GLuint
           -> GLuint
           -> GLuint
           -> GLuint
           -> GLuint
           -> IO ()))
     -> FunPtr
          (GLuint
           -> GLuint
           -> GLuint
           -> GLuint
           -> GLuint
           -> GLuint
           -> GLuint
           -> GLuint
           -> IO ()))
    -> IO
         (FunPtr
            (GLuint
             -> GLuint
             -> GLuint
             -> GLuint
             -> GLuint
             -> GLuint
             -> GLuint
             -> GLuint
             -> IO ()))
    -> FunPtr
         (GLuint
          -> GLuint
          -> GLuint
          -> GLuint
          -> GLuint
          -> GLuint
          -> GLuint
          -> GLuint
          -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String
    -> IO
         (FunPtr
            (GLuint
             -> GLuint
             -> GLuint
             -> GLuint
             -> GLuint
             -> GLuint
             -> GLuint
             -> GLuint
             -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTextureViewEXT"

    -- glTextureViewOES ------------------------------------------------------------

    -- | This command is an alias for 'glTextureView'.
    glTextureViewOES
      :: MonadIO m
      => GLuint -- ^ @texture@.
      -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLuint -- ^ @origtexture@.
      -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
      -> GLuint -- ^ @minlevel@.
      -> GLuint -- ^ @numlevels@.
      -> GLuint -- ^ @minlayer@.
      -> GLuint -- ^ @numlayers@.
      -> m ()
    glTextureViewOES :: forall (m :: * -> *).
    MonadIO m =>
    GLuint
    -> GLuint
    -> GLuint
    -> GLuint
    -> GLuint
    -> GLuint
    -> GLuint
    -> GLuint
    -> m ()
    glTextureViewOES GLuint
    v1 GLuint
    v2 GLuint
    v3 GLuint
    v4 GLuint
    v5 GLuint
    v6 GLuint
    v7 GLuint
    v8 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLuint
       -> GLuint
       -> GLuint
       -> GLuint
       -> GLuint
       -> GLuint
       -> GLuint
       -> GLuint
       -> IO ())
    -> GLuint
    -> GLuint
    -> GLuint
    -> GLuint
    -> GLuint
    -> GLuint
    -> GLuint
    -> GLuint
    -> IO ()
    dyn826 FunPtr
      (GLuint
       -> GLuint
       -> GLuint
       -> GLuint
       -> GLuint
       -> GLuint
       -> GLuint
       -> GLuint
       -> IO ())
    ptr_glTextureViewOES GLuint
    v1 GLuint
    v2 GLuint
    v3 GLuint
    v4 GLuint
    v5 GLuint
    v6 GLuint
    v7 GLuint
    v8

    {-# NOINLINE ptr_glTextureViewOES #-}
    ptr_glTextureViewOES :: FunPtr (GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
    ptr_glTextureViewOES :: FunPtr
      (GLuint
       -> GLuint
       -> GLuint
       -> GLuint
       -> GLuint
       -> GLuint
       -> GLuint
       -> GLuint
       -> IO ())
    ptr_glTextureViewOES = IO
      (FunPtr
         (GLuint
          -> GLuint
          -> GLuint
          -> GLuint
          -> GLuint
          -> GLuint
          -> GLuint
          -> GLuint
          -> IO ()))
    -> FunPtr
         (GLuint
          -> GLuint
          -> GLuint
          -> GLuint
          -> GLuint
          -> GLuint
          -> GLuint
          -> GLuint
          -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO
       (FunPtr
          (GLuint
           -> GLuint
           -> GLuint
           -> GLuint
           -> GLuint
           -> GLuint
           -> GLuint
           -> GLuint
           -> IO ()))
     -> FunPtr
          (GLuint
           -> GLuint
           -> GLuint
           -> GLuint
           -> GLuint
           -> GLuint
           -> GLuint
           -> GLuint
           -> IO ()))
    -> IO
         (FunPtr
            (GLuint
             -> GLuint
             -> GLuint
             -> GLuint
             -> GLuint
             -> GLuint
             -> GLuint
             -> GLuint
             -> IO ()))
    -> FunPtr
         (GLuint
          -> GLuint
          -> GLuint
          -> GLuint
          -> GLuint
          -> GLuint
          -> GLuint
          -> GLuint
          -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String
    -> IO
         (FunPtr
            (GLuint
             -> GLuint
             -> GLuint
             -> GLuint
             -> GLuint
             -> GLuint
             -> GLuint
             -> GLuint
             -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTextureViewOES"

    -- glTrackMatrixNV -------------------------------------------------------------

    glTrackMatrixNV
      :: MonadIO m
      => GLenum -- ^ @target@ of type [VertexAttribEnumNV](Graphics-GL-Groups.html#VertexAttribEnumNV).
      -> GLuint -- ^ @address@.
      -> GLenum -- ^ @matrix@ of type [VertexAttribEnumNV](Graphics-GL-Groups.html#VertexAttribEnumNV).
      -> GLenum -- ^ @transform@ of type [VertexAttribEnumNV](Graphics-GL-Groups.html#VertexAttribEnumNV).
      -> m ()
    glTrackMatrixNV :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint -> GLuint -> GLuint -> m ()
    glTrackMatrixNV GLuint
    v1 GLuint
    v2 GLuint
    v3 GLuint
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> IO ())
    -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
    dyn827 FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> IO ())
    ptr_glTrackMatrixNV GLuint
    v1 GLuint
    v2 GLuint
    v3 GLuint
    v4

    {-# NOINLINE ptr_glTrackMatrixNV #-}
    ptr_glTrackMatrixNV :: FunPtr (GLenum -> GLuint -> GLenum -> GLenum -> IO ())
    ptr_glTrackMatrixNV :: FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> IO ())
    ptr_glTrackMatrixNV = IO (FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> IO ()))
    -> FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> IO ()))
     -> FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> IO ()))
    -> IO (FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> IO ()))
    -> FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String
    -> IO (FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTrackMatrixNV"

    -- glTransformFeedbackAttribsNV ------------------------------------------------

    glTransformFeedbackAttribsNV
      :: MonadIO m
      => GLsizei -- ^ @count@.
      -> Ptr GLint -- ^ @attribs@ pointing to @COMPSIZE(count)@ elements of type @GLint@.
      -> GLenum -- ^ @bufferMode@.
      -> m ()
    glTransformFeedbackAttribsNV :: forall (m :: * -> *).
    MonadIO m =>
    GLint -> Ptr GLint -> GLuint -> m ()
    glTransformFeedbackAttribsNV GLint
    v1 Ptr GLint
    v2 GLuint
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLint -> Ptr GLint -> GLuint -> IO ())
    -> GLint -> Ptr GLint -> GLuint -> IO ()
    dyn828 FunPtr (GLint -> Ptr GLint -> GLuint -> IO ())
    ptr_glTransformFeedbackAttribsNV GLint
    v1 Ptr GLint
    v2 GLuint
    v3

    {-# NOINLINE ptr_glTransformFeedbackAttribsNV #-}
    ptr_glTransformFeedbackAttribsNV :: FunPtr (GLsizei -> Ptr GLint -> GLenum -> IO ())
    ptr_glTransformFeedbackAttribsNV :: FunPtr (GLint -> Ptr GLint -> GLuint -> IO ())
    ptr_glTransformFeedbackAttribsNV = IO (FunPtr (GLint -> Ptr GLint -> GLuint -> IO ()))
    -> FunPtr (GLint -> Ptr GLint -> GLuint -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLint -> Ptr GLint -> GLuint -> IO ()))
     -> FunPtr (GLint -> Ptr GLint -> GLuint -> IO ()))
    -> IO (FunPtr (GLint -> Ptr GLint -> GLuint -> IO ()))
    -> FunPtr (GLint -> Ptr GLint -> GLuint -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLint -> Ptr GLint -> GLuint -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTransformFeedbackAttribsNV"

    -- glTransformFeedbackBufferBase -----------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTransformFeedbackBufferBase.xhtml OpenGL 4.x>.
    glTransformFeedbackBufferBase
      :: MonadIO m
      => GLuint -- ^ @xfb@.
      -> GLuint -- ^ @index@.
      -> GLuint -- ^ @buffer@.
      -> m ()
    glTransformFeedbackBufferBase :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint -> GLuint -> m ()
    glTransformFeedbackBufferBase GLuint
    v1 GLuint
    v2 GLuint
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> GLuint -> IO ())
    -> GLuint -> GLuint -> GLuint -> IO ()
    dyn109 FunPtr (GLuint -> GLuint -> GLuint -> IO ())
    ptr_glTransformFeedbackBufferBase GLuint
    v1 GLuint
    v2 GLuint
    v3

    {-# NOINLINE ptr_glTransformFeedbackBufferBase #-}
    ptr_glTransformFeedbackBufferBase :: FunPtr (GLuint -> GLuint -> GLuint -> IO ())
    ptr_glTransformFeedbackBufferBase :: FunPtr (GLuint -> GLuint -> GLuint -> IO ())
    ptr_glTransformFeedbackBufferBase = IO (FunPtr (GLuint -> GLuint -> GLuint -> IO ()))
    -> FunPtr (GLuint -> GLuint -> GLuint -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLuint -> GLuint -> GLuint -> IO ()))
     -> FunPtr (GLuint -> GLuint -> GLuint -> IO ()))
    -> IO (FunPtr (GLuint -> GLuint -> GLuint -> IO ()))
    -> FunPtr (GLuint -> GLuint -> GLuint -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLuint -> GLuint -> GLuint -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTransformFeedbackBufferBase"

    -- glTransformFeedbackBufferRange ----------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTransformFeedbackBufferRange.xhtml OpenGL 4.x>.
    glTransformFeedbackBufferRange
      :: MonadIO m
      => GLuint -- ^ @xfb@.
      -> GLuint -- ^ @index@.
      -> GLuint -- ^ @buffer@.
      -> GLintptr -- ^ @offset@.
      -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
      -> m ()
    glTransformFeedbackBufferRange :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint -> GLuint -> GLintptr -> GLintptr -> m ()
    glTransformFeedbackBufferRange GLuint
    v1 GLuint
    v2 GLuint
    v3 GLintptr
    v4 GLintptr
    v5 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLuint -> GLuint -> GLuint -> GLintptr -> GLintptr -> IO ())
    -> GLuint -> GLuint -> GLuint -> GLintptr -> GLintptr -> IO ()
    dyn829 FunPtr
      (GLuint -> GLuint -> GLuint -> GLintptr -> GLintptr -> IO ())
    ptr_glTransformFeedbackBufferRange GLuint
    v1 GLuint
    v2 GLuint
    v3 GLintptr
    v4 GLintptr
    v5

    {-# NOINLINE ptr_glTransformFeedbackBufferRange #-}
    ptr_glTransformFeedbackBufferRange :: FunPtr (GLuint -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> IO ())
    ptr_glTransformFeedbackBufferRange :: FunPtr
      (GLuint -> GLuint -> GLuint -> GLintptr -> GLintptr -> IO ())
    ptr_glTransformFeedbackBufferRange = IO
      (FunPtr
         (GLuint -> GLuint -> GLuint -> GLintptr -> GLintptr -> IO ()))
    -> FunPtr
         (GLuint -> GLuint -> GLuint -> GLintptr -> GLintptr -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO
       (FunPtr
          (GLuint -> GLuint -> GLuint -> GLintptr -> GLintptr -> IO ()))
     -> FunPtr
          (GLuint -> GLuint -> GLuint -> GLintptr -> GLintptr -> IO ()))
    -> IO
         (FunPtr
            (GLuint -> GLuint -> GLuint -> GLintptr -> GLintptr -> IO ()))
    -> FunPtr
         (GLuint -> GLuint -> GLuint -> GLintptr -> GLintptr -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String
    -> IO
         (FunPtr
            (GLuint -> GLuint -> GLuint -> GLintptr -> GLintptr -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTransformFeedbackBufferRange"

    -- glTransformFeedbackStreamAttribsNV ------------------------------------------

    glTransformFeedbackStreamAttribsNV
      :: MonadIO m
      => GLsizei -- ^ @count@.
      -> Ptr GLint -- ^ @attribs@ pointing to @count@ elements of type @GLint@.
      -> GLsizei -- ^ @nbuffers@.
      -> Ptr GLint -- ^ @bufstreams@ pointing to @nbuffers@ elements of type @GLint@.
      -> GLenum -- ^ @bufferMode@.
      -> m ()
    glTransformFeedbackStreamAttribsNV :: forall (m :: * -> *).
    MonadIO m =>
    GLint -> Ptr GLint -> GLint -> Ptr GLint -> GLuint -> m ()
    glTransformFeedbackStreamAttribsNV GLint
    v1 Ptr GLint
    v2 GLint
    v3 Ptr GLint
    v4 GLuint
    v5 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLint -> Ptr GLint -> GLint -> Ptr GLint -> GLuint -> IO ())
    -> GLint -> Ptr GLint -> GLint -> Ptr GLint -> GLuint -> IO ()
    dyn830 FunPtr
      (GLint -> Ptr GLint -> GLint -> Ptr GLint -> GLuint -> IO ())
    ptr_glTransformFeedbackStreamAttribsNV GLint
    v1 Ptr GLint
    v2 GLint
    v3 Ptr GLint
    v4 GLuint
    v5

    {-# NOINLINE ptr_glTransformFeedbackStreamAttribsNV #-}
    ptr_glTransformFeedbackStreamAttribsNV :: FunPtr (GLsizei -> Ptr GLint -> GLsizei -> Ptr GLint -> GLenum -> IO ())
    ptr_glTransformFeedbackStreamAttribsNV :: FunPtr
      (GLint -> Ptr GLint -> GLint -> Ptr GLint -> GLuint -> IO ())
    ptr_glTransformFeedbackStreamAttribsNV = IO
      (FunPtr
         (GLint -> Ptr GLint -> GLint -> Ptr GLint -> GLuint -> IO ()))
    -> FunPtr
         (GLint -> Ptr GLint -> GLint -> Ptr GLint -> GLuint -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO
       (FunPtr
          (GLint -> Ptr GLint -> GLint -> Ptr GLint -> GLuint -> IO ()))
     -> FunPtr
          (GLint -> Ptr GLint -> GLint -> Ptr GLint -> GLuint -> IO ()))
    -> IO
         (FunPtr
            (GLint -> Ptr GLint -> GLint -> Ptr GLint -> GLuint -> IO ()))
    -> FunPtr
         (GLint -> Ptr GLint -> GLint -> Ptr GLint -> GLuint -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String
    -> IO
         (FunPtr
            (GLint -> Ptr GLint -> GLint -> Ptr GLint -> GLuint -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTransformFeedbackStreamAttribsNV"

    -- glTransformFeedbackVaryings -------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glTransformFeedbackVaryings.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glTransformFeedbackVaryings.xhtml OpenGL 4.x>.
    glTransformFeedbackVaryings
      :: MonadIO m
      => GLuint -- ^ @program@.
      -> GLsizei -- ^ @count@.
      -> Ptr (Ptr GLchar) -- ^ @varyings@ pointing to @count@ elements of type @Ptr GLchar@.
      -> GLenum -- ^ @bufferMode@ of type [TransformFeedbackBufferMode](Graphics-GL-Groups.html#TransformFeedbackBufferMode).
      -> m ()
    glTransformFeedbackVaryings :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLint -> Ptr (Ptr GLchar) -> GLuint -> m ()
    glTransformFeedbackVaryings GLuint
    v1 GLint
    v2 Ptr (Ptr GLchar)
    v3 GLuint
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLint -> Ptr (Ptr GLchar) -> GLuint -> IO ())
    -> GLuint -> GLint -> Ptr (Ptr GLchar) -> GLuint -> IO ()
    dyn831 FunPtr (GLuint -> GLint -> Ptr (Ptr GLchar) -> GLuint -> IO ())
    ptr_glTransformFeedbackVaryings GLuint
    v1 GLint
    v2 Ptr (Ptr GLchar)
    v3 GLuint
    v4

    {-# NOINLINE ptr_glTransformFeedbackVaryings #-}
    ptr_glTransformFeedbackVaryings :: FunPtr (GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> IO ())
    ptr_glTransformFeedbackVaryings :: FunPtr (GLuint -> GLint -> Ptr (Ptr GLchar) -> GLuint -> IO ())
    ptr_glTransformFeedbackVaryings = IO
      (FunPtr (GLuint -> GLint -> Ptr (Ptr GLchar) -> GLuint -> IO ()))
    -> FunPtr (GLuint -> GLint -> Ptr (Ptr GLchar) -> GLuint -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO
       (FunPtr (GLuint -> GLint -> Ptr (Ptr GLchar) -> GLuint -> IO ()))
     -> FunPtr (GLuint -> GLint -> Ptr (Ptr GLchar) -> GLuint -> IO ()))
    -> IO
         (FunPtr (GLuint -> GLint -> Ptr (Ptr GLchar) -> GLuint -> IO ()))
    -> FunPtr (GLuint -> GLint -> Ptr (Ptr GLchar) -> GLuint -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String
    -> IO
         (FunPtr (GLuint -> GLint -> Ptr (Ptr GLchar) -> GLuint -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTransformFeedbackVaryings"

    -- glTransformFeedbackVaryingsEXT ----------------------------------------------

    -- | This command is an alias for 'glTransformFeedbackVaryings'.
    glTransformFeedbackVaryingsEXT
      :: MonadIO m
      => GLuint -- ^ @program@.
      -> GLsizei -- ^ @count@.
      -> Ptr (Ptr GLchar) -- ^ @varyings@ pointing to @count@ elements of type @Ptr GLchar@.
      -> GLenum -- ^ @bufferMode@.
      -> m ()
    glTransformFeedbackVaryingsEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLint -> Ptr (Ptr GLchar) -> GLuint -> m ()
    glTransformFeedbackVaryingsEXT GLuint
    v1 GLint
    v2 Ptr (Ptr GLchar)
    v3 GLuint
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLint -> Ptr (Ptr GLchar) -> GLuint -> IO ())
    -> GLuint -> GLint -> Ptr (Ptr GLchar) -> GLuint -> IO ()
    dyn831 FunPtr (GLuint -> GLint -> Ptr (Ptr GLchar) -> GLuint -> IO ())
    ptr_glTransformFeedbackVaryingsEXT GLuint
    v1 GLint
    v2 Ptr (Ptr GLchar)
    v3 GLuint
    v4

    {-# NOINLINE ptr_glTransformFeedbackVaryingsEXT #-}
    ptr_glTransformFeedbackVaryingsEXT :: FunPtr (GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> IO ())
    ptr_glTransformFeedbackVaryingsEXT :: FunPtr (GLuint -> GLint -> Ptr (Ptr GLchar) -> GLuint -> IO ())
    ptr_glTransformFeedbackVaryingsEXT = IO
      (FunPtr (GLuint -> GLint -> Ptr (Ptr GLchar) -> GLuint -> IO ()))
    -> FunPtr (GLuint -> GLint -> Ptr (Ptr GLchar) -> GLuint -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO
       (FunPtr (GLuint -> GLint -> Ptr (Ptr GLchar) -> GLuint -> IO ()))
     -> FunPtr (GLuint -> GLint -> Ptr (Ptr GLchar) -> GLuint -> IO ()))
    -> IO
         (FunPtr (GLuint -> GLint -> Ptr (Ptr GLchar) -> GLuint -> IO ()))
    -> FunPtr (GLuint -> GLint -> Ptr (Ptr GLchar) -> GLuint -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String
    -> IO
         (FunPtr (GLuint -> GLint -> Ptr (Ptr GLchar) -> GLuint -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTransformFeedbackVaryingsEXT"

    -- glTransformFeedbackVaryingsNV -----------------------------------------------

    glTransformFeedbackVaryingsNV
      :: MonadIO m
      => GLuint -- ^ @program@.
      -> GLsizei -- ^ @count@.
      -> Ptr GLint -- ^ @locations@ pointing to @count@ elements of type @GLint@.
      -> GLenum -- ^ @bufferMode@.
      -> m ()
    glTransformFeedbackVaryingsNV :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLint -> Ptr GLint -> GLuint -> m ()
    glTransformFeedbackVaryingsNV GLuint
    v1 GLint
    v2 Ptr GLint
    v3 GLuint
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLint -> Ptr GLint -> GLuint -> IO ())
    -> GLuint -> GLint -> Ptr GLint -> GLuint -> IO ()
    dyn832 FunPtr (GLuint -> GLint -> Ptr GLint -> GLuint -> IO ())
    ptr_glTransformFeedbackVaryingsNV GLuint
    v1 GLint
    v2 Ptr GLint
    v3 GLuint
    v4

    {-# NOINLINE ptr_glTransformFeedbackVaryingsNV #-}
    ptr_glTransformFeedbackVaryingsNV :: FunPtr (GLuint -> GLsizei -> Ptr GLint -> GLenum -> IO ())
    ptr_glTransformFeedbackVaryingsNV :: FunPtr (GLuint -> GLint -> Ptr GLint -> GLuint -> IO ())
    ptr_glTransformFeedbackVaryingsNV = IO (FunPtr (GLuint -> GLint -> Ptr GLint -> GLuint -> IO ()))
    -> FunPtr (GLuint -> GLint -> Ptr GLint -> GLuint -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLuint -> GLint -> Ptr GLint -> GLuint -> IO ()))
     -> FunPtr (GLuint -> GLint -> Ptr GLint -> GLuint -> IO ()))
    -> IO (FunPtr (GLuint -> GLint -> Ptr GLint -> GLuint -> IO ()))
    -> FunPtr (GLuint -> GLint -> Ptr GLint -> GLuint -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String
    -> IO (FunPtr (GLuint -> GLint -> Ptr GLint -> GLuint -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTransformFeedbackVaryingsNV"

    -- glTransformPathNV -----------------------------------------------------------

    glTransformPathNV
      :: MonadIO m
      => GLuint -- ^ @resultPath@ of type @Path@.
      -> GLuint -- ^ @srcPath@ of type @Path@.
      -> GLenum -- ^ @transformType@ of type [PathTransformType](Graphics-GL-Groups.html#PathTransformType).
      -> Ptr GLfloat -- ^ @transformValues@ pointing to @COMPSIZE(transformType)@ elements of type @GLfloat@.
      -> m ()
    glTransformPathNV :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint -> GLuint -> Ptr GLfloat -> m ()
    glTransformPathNV GLuint
    v1 GLuint
    v2 GLuint
    v3 Ptr GLfloat
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLfloat -> IO ())
    -> GLuint -> GLuint -> GLuint -> Ptr GLfloat -> IO ()
    dyn466 FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLfloat -> IO ())
    ptr_glTransformPathNV GLuint
    v1 GLuint
    v2 GLuint
    v3 Ptr GLfloat
    v4

    {-# NOINLINE ptr_glTransformPathNV #-}
    ptr_glTransformPathNV :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLfloat -> IO ())
    ptr_glTransformPathNV :: FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLfloat -> IO ())
    ptr_glTransformPathNV = IO (FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLfloat -> IO ()))
    -> FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLfloat -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLfloat -> IO ()))
     -> FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLfloat -> IO ()))
    -> IO (FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLfloat -> IO ()))
    -> FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLfloat -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String
    -> IO (FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLfloat -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTransformPathNV"

    -- glTranslated ----------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTranslate.xml OpenGL 2.x>.
    glTranslated
      :: MonadIO m
      => GLdouble -- ^ @x@.
      -> GLdouble -- ^ @y@.
      -> GLdouble -- ^ @z@.
      -> m ()
    glTranslated :: forall (m :: * -> *).
    MonadIO m =>
    GLdouble -> GLdouble -> GLdouble -> m ()
    glTranslated GLdouble
    v1 GLdouble
    v2 GLdouble
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
    -> GLdouble -> GLdouble -> GLdouble -> IO ()
    dyn41 FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
    ptr_glTranslated GLdouble
    v1 GLdouble
    v2 GLdouble
    v3

    {-# NOINLINE ptr_glTranslated #-}
    ptr_glTranslated :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
    ptr_glTranslated :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
    ptr_glTranslated = IO (FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ()))
    -> FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ()))
     -> FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ()))
    -> IO (FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ()))
    -> FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTranslated"

    -- glTranslatef ----------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTranslate.xml OpenGL 2.x>.
    glTranslatef
      :: MonadIO m
      => GLfloat -- ^ @x@.
      -> GLfloat -- ^ @y@.
      -> GLfloat -- ^ @z@.
      -> m ()
    glTranslatef :: forall (m :: * -> *).
    MonadIO m =>
    GLfloat -> GLfloat -> GLfloat -> m ()
    glTranslatef GLfloat
    v1 GLfloat
    v2 GLfloat
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
    -> GLfloat -> GLfloat -> GLfloat -> IO ()
    dyn43 FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
    ptr_glTranslatef GLfloat
    v1 GLfloat
    v2 GLfloat
    v3

    {-# NOINLINE ptr_glTranslatef #-}
    ptr_glTranslatef :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
    ptr_glTranslatef :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
    ptr_glTranslatef = IO (FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ()))
    -> FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ()))
     -> FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ()))
    -> IO (FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ()))
    -> FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTranslatef"

    -- glTranslatex ----------------------------------------------------------------

    glTranslatex
      :: MonadIO m
      => GLfixed -- ^ @x@.
      -> GLfixed -- ^ @y@.
      -> GLfixed -- ^ @z@.
      -> m ()
    glTranslatex :: forall (m :: * -> *).
    MonadIO m =>
    GLfixed -> GLfixed -> GLfixed -> m ()
    glTranslatex GLfixed
    v1 GLfixed
    v2 GLfixed
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLfixed -> GLfixed -> GLfixed -> IO ())
    -> GLfixed -> GLfixed -> GLfixed -> IO ()
    dyn113 FunPtr (GLfixed -> GLfixed -> GLfixed -> IO ())
    ptr_glTranslatex GLfixed
    v1 GLfixed
    v2 GLfixed
    v3

    {-# NOINLINE ptr_glTranslatex #-}
    ptr_glTranslatex :: FunPtr (GLfixed -> GLfixed -> GLfixed -> IO ())
    ptr_glTranslatex :: FunPtr (GLfixed -> GLfixed -> GLfixed -> IO ())
    ptr_glTranslatex = IO (FunPtr (GLfixed -> GLfixed -> GLfixed -> IO ()))
    -> FunPtr (GLfixed -> GLfixed -> GLfixed -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLfixed -> GLfixed -> GLfixed -> IO ()))
     -> FunPtr (GLfixed -> GLfixed -> GLfixed -> IO ()))
    -> IO (FunPtr (GLfixed -> GLfixed -> GLfixed -> IO ()))
    -> FunPtr (GLfixed -> GLfixed -> GLfixed -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLfixed -> GLfixed -> GLfixed -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTranslatex"

    -- glTranslatexOES -------------------------------------------------------------

    glTranslatexOES
      :: MonadIO m
      => GLfixed -- ^ @x@.
      -> GLfixed -- ^ @y@.
      -> GLfixed -- ^ @z@.
      -> m ()
    glTranslatexOES :: forall (m :: * -> *).
    MonadIO m =>
    GLfixed -> GLfixed -> GLfixed -> m ()
    glTranslatexOES GLfixed
    v1 GLfixed
    v2 GLfixed
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLfixed -> GLfixed -> GLfixed -> IO ())
    -> GLfixed -> GLfixed -> GLfixed -> IO ()
    dyn113 FunPtr (GLfixed -> GLfixed -> GLfixed -> IO ())
    ptr_glTranslatexOES GLfixed
    v1 GLfixed
    v2 GLfixed
    v3

    {-# NOINLINE ptr_glTranslatexOES #-}
    ptr_glTranslatexOES :: FunPtr (GLfixed -> GLfixed -> GLfixed -> IO ())
    ptr_glTranslatexOES :: FunPtr (GLfixed -> GLfixed -> GLfixed -> IO ())
    ptr_glTranslatexOES = IO (FunPtr (GLfixed -> GLfixed -> GLfixed -> IO ()))
    -> FunPtr (GLfixed -> GLfixed -> GLfixed -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLfixed -> GLfixed -> GLfixed -> IO ()))
     -> FunPtr (GLfixed -> GLfixed -> GLfixed -> IO ()))
    -> IO (FunPtr (GLfixed -> GLfixed -> GLfixed -> IO ()))
    -> FunPtr (GLfixed -> GLfixed -> GLfixed -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLfixed -> GLfixed -> GLfixed -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glTranslatexOES"

    -- glUniform1d -----------------------------------------------------------------

    glUniform1d
      :: MonadIO m
      => GLint -- ^ @location@.
      -> GLdouble -- ^ @x@.
      -> m ()
    glUniform1d :: forall (m :: * -> *). MonadIO m => GLint -> GLdouble -> m ()
    glUniform1d GLint
    v1 GLdouble
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLint -> GLdouble -> IO ()) -> GLint -> GLdouble -> IO ()
    dyn833 FunPtr (GLint -> GLdouble -> IO ())
    ptr_glUniform1d GLint
    v1 GLdouble
    v2

    {-# NOINLINE ptr_glUniform1d #-}
    ptr_glUniform1d :: FunPtr (GLint -> GLdouble -> IO ())
    ptr_glUniform1d :: FunPtr (GLint -> GLdouble -> IO ())
    ptr_glUniform1d = IO (FunPtr (GLint -> GLdouble -> IO ()))
    -> FunPtr (GLint -> GLdouble -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLint -> GLdouble -> IO ()))
     -> FunPtr (GLint -> GLdouble -> IO ()))
    -> IO (FunPtr (GLint -> GLdouble -> IO ()))
    -> FunPtr (GLint -> GLdouble -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLint -> GLdouble -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glUniform1d"

    -- glUniform1dv ----------------------------------------------------------------

    glUniform1dv
      :: MonadIO m
      => GLint -- ^ @location@.
      -> GLsizei -- ^ @count@.
      -> Ptr GLdouble -- ^ @value@ pointing to @count*1@ elements of type @GLdouble@.
      -> m ()
    glUniform1dv :: forall (m :: * -> *).
    MonadIO m =>
    GLint -> GLint -> Ptr GLdouble -> m ()
    glUniform1dv GLint
    v1 GLint
    v2 Ptr GLdouble
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLint -> GLint -> Ptr GLdouble -> IO ())
    -> GLint -> GLint -> Ptr GLdouble -> IO ()
    dyn834 FunPtr (GLint -> GLint -> Ptr GLdouble -> IO ())
    ptr_glUniform1dv GLint
    v1 GLint
    v2 Ptr GLdouble
    v3

    {-# NOINLINE ptr_glUniform1dv #-}
    ptr_glUniform1dv :: FunPtr (GLint -> GLsizei -> Ptr GLdouble -> IO ())
    ptr_glUniform1dv :: FunPtr (GLint -> GLint -> Ptr GLdouble -> IO ())
    ptr_glUniform1dv = IO (FunPtr (GLint -> GLint -> Ptr GLdouble -> IO ()))
    -> FunPtr (GLint -> GLint -> Ptr GLdouble -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLint -> GLint -> Ptr GLdouble -> IO ()))
     -> FunPtr (GLint -> GLint -> Ptr GLdouble -> IO ()))
    -> IO (FunPtr (GLint -> GLint -> Ptr GLdouble -> IO ()))
    -> FunPtr (GLint -> GLint -> Ptr GLdouble -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLint -> GLint -> Ptr GLdouble -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glUniform1dv"

    -- glUniform1f -----------------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
    glUniform1f
      :: MonadIO m
      => GLint -- ^ @location@.
      -> GLfloat -- ^ @v0@.
      -> m ()
    glUniform1f :: forall (m :: * -> *). MonadIO m => GLint -> GLfloat -> m ()
    glUniform1f GLint
    v1 GLfloat
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLint -> GLfloat -> IO ()) -> GLint -> GLfloat -> IO ()
    dyn835 FunPtr (GLint -> GLfloat -> IO ())
    ptr_glUniform1f GLint
    v1 GLfloat
    v2

    {-# NOINLINE ptr_glUniform1f #-}
    ptr_glUniform1f :: FunPtr (GLint -> GLfloat -> IO ())
    ptr_glUniform1f :: FunPtr (GLint -> GLfloat -> IO ())
    ptr_glUniform1f = IO (FunPtr (GLint -> GLfloat -> IO ()))
    -> FunPtr (GLint -> GLfloat -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLint -> GLfloat -> IO ()))
     -> FunPtr (GLint -> GLfloat -> IO ()))
    -> IO (FunPtr (GLint -> GLfloat -> IO ()))
    -> FunPtr (GLint -> GLfloat -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLint -> GLfloat -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glUniform1f"

    -- glUniform1fARB --------------------------------------------------------------

    -- | This command is an alias for 'glUniform1f'.
    glUniform1fARB
      :: MonadIO m
      => GLint -- ^ @location@.
      -> GLfloat -- ^ @v0@.
      -> m ()
    glUniform1fARB :: forall (m :: * -> *). MonadIO m => GLint -> GLfloat -> m ()
    glUniform1fARB GLint
    v1 GLfloat
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLint -> GLfloat -> IO ()) -> GLint -> GLfloat -> IO ()
    dyn835 FunPtr (GLint -> GLfloat -> IO ())
    ptr_glUniform1fARB GLint
    v1 GLfloat
    v2

    {-# NOINLINE ptr_glUniform1fARB #-}
    ptr_glUniform1fARB :: FunPtr (GLint -> GLfloat -> IO ())
    ptr_glUniform1fARB :: FunPtr (GLint -> GLfloat -> IO ())
    ptr_glUniform1fARB = IO (FunPtr (GLint -> GLfloat -> IO ()))
    -> FunPtr (GLint -> GLfloat -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLint -> GLfloat -> IO ()))
     -> FunPtr (GLint -> GLfloat -> IO ()))
    -> IO (FunPtr (GLint -> GLfloat -> IO ()))
    -> FunPtr (GLint -> GLfloat -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLint -> GLfloat -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glUniform1fARB"

    -- glUniform1fv ----------------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
    glUniform1fv
      :: MonadIO m
      => GLint -- ^ @location@.
      -> GLsizei -- ^ @count@.
      -> Ptr GLfloat -- ^ @value@ pointing to @count*1@ elements of type @GLfloat@.
      -> m ()
    glUniform1fv :: forall (m :: * -> *).
    MonadIO m =>
    GLint -> GLint -> Ptr GLfloat -> m ()
    glUniform1fv GLint
    v1 GLint
    v2 Ptr GLfloat
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLint -> GLint -> Ptr GLfloat -> IO ())
    -> GLint -> GLint -> Ptr GLfloat -> IO ()
    dyn836 FunPtr (GLint -> GLint -> Ptr GLfloat -> IO ())
    ptr_glUniform1fv GLint
    v1 GLint
    v2 Ptr GLfloat
    v3

    {-# NOINLINE ptr_glUniform1fv #-}
    ptr_glUniform1fv :: FunPtr (GLint -> GLsizei -> Ptr GLfloat -> IO ())
    ptr_glUniform1fv :: FunPtr (GLint -> GLint -> Ptr GLfloat -> IO ())
    ptr_glUniform1fv = IO (FunPtr (GLint -> GLint -> Ptr GLfloat -> IO ()))
    -> FunPtr (GLint -> GLint -> Ptr GLfloat -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLint -> GLint -> Ptr GLfloat -> IO ()))
     -> FunPtr (GLint -> GLint -> Ptr GLfloat -> IO ()))
    -> IO (FunPtr (GLint -> GLint -> Ptr GLfloat -> IO ()))
    -> FunPtr (GLint -> GLint -> Ptr GLfloat -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLint -> GLint -> Ptr GLfloat -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glUniform1fv"

    -- glUniform1fvARB -------------------------------------------------------------

    -- | This command is an alias for 'glUniform1fv'.
    glUniform1fvARB
      :: MonadIO m
      => GLint -- ^ @location@.
      -> GLsizei -- ^ @count@.
      -> Ptr GLfloat -- ^ @value@ pointing to @count*1@ elements of type @GLfloat@.
      -> m ()
    glUniform1fvARB :: forall (m :: * -> *).
    MonadIO m =>
    GLint -> GLint -> Ptr GLfloat -> m ()
    glUniform1fvARB GLint
    v1 GLint
    v2 Ptr GLfloat
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLint -> GLint -> Ptr GLfloat -> IO ())
    -> GLint -> GLint -> Ptr GLfloat -> IO ()
    dyn836 FunPtr (GLint -> GLint -> Ptr GLfloat -> IO ())
    ptr_glUniform1fvARB GLint
    v1 GLint
    v2 Ptr GLfloat
    v3

    {-# NOINLINE ptr_glUniform1fvARB #-}
    ptr_glUniform1fvARB :: FunPtr (GLint -> GLsizei -> Ptr GLfloat -> IO ())
    ptr_glUniform1fvARB :: FunPtr (GLint -> GLint -> Ptr GLfloat -> IO ())
    ptr_glUniform1fvARB = IO (FunPtr (GLint -> GLint -> Ptr GLfloat -> IO ()))
    -> FunPtr (GLint -> GLint -> Ptr GLfloat -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLint -> GLint -> Ptr GLfloat -> IO ()))
     -> FunPtr (GLint -> GLint -> Ptr GLfloat -> IO ()))
    -> IO (FunPtr (GLint -> GLint -> Ptr GLfloat -> IO ()))
    -> FunPtr (GLint -> GLint -> Ptr GLfloat -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLint -> GLint -> Ptr GLfloat -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glUniform1fvARB"

    -- glUniform1i -----------------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
    glUniform1i
      :: MonadIO m
      => GLint -- ^ @location@.
      -> GLint -- ^ @v0@.
      -> m ()
    glUniform1i :: forall (m :: * -> *). MonadIO m => GLint -> GLint -> m ()
    glUniform1i GLint
    v1 GLint
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLint -> GLint -> IO ()) -> GLint -> GLint -> IO ()
    dyn277 FunPtr (GLint -> GLint -> IO ())
    ptr_glUniform1i GLint
    v1 GLint
    v2

    {-# NOINLINE ptr_glUniform1i #-}
    ptr_glUniform1i :: FunPtr (GLint -> GLint -> IO ())
    ptr_glUniform1i :: FunPtr (GLint -> GLint -> IO ())
    ptr_glUniform1i = IO (FunPtr (GLint -> GLint -> IO ()))
    -> FunPtr (GLint -> GLint -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLint -> GLint -> IO ()))
     -> FunPtr (GLint -> GLint -> IO ()))
    -> IO (FunPtr (GLint -> GLint -> IO ()))
    -> FunPtr (GLint -> GLint -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLint -> GLint -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glUniform1i"

    -- glUniform1i64ARB ------------------------------------------------------------

    glUniform1i64ARB
      :: MonadIO m
      => GLint -- ^ @location@.
      -> GLint64 -- ^ @x@.
      -> m ()
    glUniform1i64ARB :: forall (m :: * -> *). MonadIO m => GLint -> GLint64 -> m ()
    glUniform1i64ARB GLint
    v1 GLint64
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLint -> GLint64 -> IO ()) -> GLint -> GLint64 -> IO ()
    dyn837 FunPtr (GLint -> GLint64 -> IO ())
    ptr_glUniform1i64ARB GLint
    v1 GLint64
    v2

    {-# NOINLINE ptr_glUniform1i64ARB #-}
    ptr_glUniform1i64ARB :: FunPtr (GLint -> GLint64 -> IO ())
    ptr_glUniform1i64ARB :: FunPtr (GLint -> GLint64 -> IO ())
    ptr_glUniform1i64ARB = IO (FunPtr (GLint -> GLint64 -> IO ()))
    -> FunPtr (GLint -> GLint64 -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLint -> GLint64 -> IO ()))
     -> FunPtr (GLint -> GLint64 -> IO ()))
    -> IO (FunPtr (GLint -> GLint64 -> IO ()))
    -> FunPtr (GLint -> GLint64 -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLint -> GLint64 -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glUniform1i64ARB"

    -- glUniform1i64NV -------------------------------------------------------------

    glUniform1i64NV
      :: MonadIO m
      => GLint -- ^ @location@.
      -> GLint64EXT -- ^ @x@.
      -> m ()
    glUniform1i64NV :: forall (m :: * -> *). MonadIO m => GLint -> GLint64 -> m ()
    glUniform1i64NV GLint
    v1 GLint64
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLint -> GLint64 -> IO ()) -> GLint -> GLint64 -> IO ()
    dyn838 FunPtr (GLint -> GLint64 -> IO ())
    ptr_glUniform1i64NV GLint
    v1 GLint64
    v2

    {-# NOINLINE ptr_glUniform1i64NV #-}
    ptr_glUniform1i64NV :: FunPtr (GLint -> GLint64EXT -> IO ())
    ptr_glUniform1i64NV :: FunPtr (GLint -> GLint64 -> IO ())
    ptr_glUniform1i64NV = IO (FunPtr (GLint -> GLint64 -> IO ()))
    -> FunPtr (GLint -> GLint64 -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLint -> GLint64 -> IO ()))
     -> FunPtr (GLint -> GLint64 -> IO ()))
    -> IO (FunPtr (GLint -> GLint64 -> IO ()))
    -> FunPtr (GLint -> GLint64 -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLint -> GLint64 -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glUniform1i64NV"

    -- glUniform1i64vARB -----------------------------------------------------------

    glUniform1i64vARB
      :: MonadIO m
      => GLint -- ^ @location@.
      -> GLsizei -- ^ @count@.
      -> Ptr GLint64 -- ^ @value@ pointing to @count*1@ elements of type @GLint64@.
      -> m ()
    glUniform1i64vARB :: forall (m :: * -> *).
    MonadIO m =>
    GLint -> GLint -> Ptr GLint64 -> m ()
    glUniform1i64vARB GLint
    v1 GLint
    v2 Ptr GLint64
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLint -> GLint -> Ptr GLint64 -> IO ())
    -> GLint -> GLint -> Ptr GLint64 -> IO ()
    dyn839 FunPtr (GLint -> GLint -> Ptr GLint64 -> IO ())
    ptr_glUniform1i64vARB GLint
    v1 GLint
    v2 Ptr GLint64
    v3

    {-# NOINLINE ptr_glUniform1i64vARB #-}
    ptr_glUniform1i64vARB :: FunPtr (GLint -> GLsizei -> Ptr GLint64 -> IO ())
    ptr_glUniform1i64vARB :: FunPtr (GLint -> GLint -> Ptr GLint64 -> IO ())
    ptr_glUniform1i64vARB = IO (FunPtr (GLint -> GLint -> Ptr GLint64 -> IO ()))
    -> FunPtr (GLint -> GLint -> Ptr GLint64 -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLint -> GLint -> Ptr GLint64 -> IO ()))
     -> FunPtr (GLint -> GLint -> Ptr GLint64 -> IO ()))
    -> IO (FunPtr (GLint -> GLint -> Ptr GLint64 -> IO ()))
    -> FunPtr (GLint -> GLint -> Ptr GLint64 -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLint -> GLint -> Ptr GLint64 -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glUniform1i64vARB"

    -- glUniform1i64vNV ------------------------------------------------------------

    glUniform1i64vNV
      :: MonadIO m
      => GLint -- ^ @location@.
      -> GLsizei -- ^ @count@.
      -> Ptr GLint64EXT -- ^ @value@ pointing to @count*1@ elements of type @GLint64EXT@.
      -> m ()
    glUniform1i64vNV :: forall (m :: * -> *).
    MonadIO m =>
    GLint -> GLint -> Ptr GLint64 -> m ()
    glUniform1i64vNV GLint
    v1 GLint
    v2 Ptr GLint64
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLint -> GLint -> Ptr GLint64 -> IO ())
    -> GLint -> GLint -> Ptr GLint64 -> IO ()
    dyn840 FunPtr (GLint -> GLint -> Ptr GLint64 -> IO ())
    ptr_glUniform1i64vNV GLint
    v1 GLint
    v2 Ptr GLint64
    v3

    {-# NOINLINE ptr_glUniform1i64vNV #-}
    ptr_glUniform1i64vNV :: FunPtr (GLint -> GLsizei -> Ptr GLint64EXT -> IO ())
    ptr_glUniform1i64vNV :: FunPtr (GLint -> GLint -> Ptr GLint64 -> IO ())
    ptr_glUniform1i64vNV = IO (FunPtr (GLint -> GLint -> Ptr GLint64 -> IO ()))
    -> FunPtr (GLint -> GLint -> Ptr GLint64 -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLint -> GLint -> Ptr GLint64 -> IO ()))
     -> FunPtr (GLint -> GLint -> Ptr GLint64 -> IO ()))
    -> IO (FunPtr (GLint -> GLint -> Ptr GLint64 -> IO ()))
    -> FunPtr (GLint -> GLint -> Ptr GLint64 -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLint -> GLint -> Ptr GLint64 -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glUniform1i64vNV"

    -- glUniform1iARB --------------------------------------------------------------

    -- | This command is an alias for 'glUniform1i'.
    glUniform1iARB
      :: MonadIO m
      => GLint -- ^ @location@.
      -> GLint -- ^ @v0@.
      -> m ()
    glUniform1iARB :: forall (m :: * -> *). MonadIO m => GLint -> GLint -> m ()
    glUniform1iARB GLint
    v1 GLint
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLint -> GLint -> IO ()) -> GLint -> GLint -> IO ()
    dyn277 FunPtr (GLint -> GLint -> IO ())
    ptr_glUniform1iARB GLint
    v1 GLint
    v2

    {-# NOINLINE ptr_glUniform1iARB #-}
    ptr_glUniform1iARB :: FunPtr (GLint -> GLint -> IO ())
    ptr_glUniform1iARB :: FunPtr (GLint -> GLint -> IO ())
    ptr_glUniform1iARB = IO (FunPtr (GLint -> GLint -> IO ()))
    -> FunPtr (GLint -> GLint -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLint -> GLint -> IO ()))
     -> FunPtr (GLint -> GLint -> IO ()))
    -> IO (FunPtr (GLint -> GLint -> IO ()))
    -> FunPtr (GLint -> GLint -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLint -> GLint -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glUniform1iARB"

    -- glUniform1iv ----------------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
    glUniform1iv
      :: MonadIO m
      => GLint -- ^ @location@.
      -> GLsizei -- ^ @count@.
      -> Ptr GLint -- ^ @value@ pointing to @count*1@ elements of type @GLint@.
      -> m ()
    glUniform1iv :: forall (m :: * -> *).
    MonadIO m =>
    GLint -> GLint -> Ptr GLint -> m ()
    glUniform1iv GLint
    v1 GLint
    v2 Ptr GLint
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLint -> GLint -> Ptr GLint -> IO ())
    -> GLint -> GLint -> Ptr GLint -> IO ()
    dyn841 FunPtr (GLint -> GLint -> Ptr GLint -> IO ())
    ptr_glUniform1iv GLint
    v1 GLint
    v2 Ptr GLint
    v3

    {-# NOINLINE ptr_glUniform1iv #-}
    ptr_glUniform1iv :: FunPtr (GLint -> GLsizei -> Ptr GLint -> IO ())
    ptr_glUniform1iv :: FunPtr (GLint -> GLint -> Ptr GLint -> IO ())
    ptr_glUniform1iv = IO (FunPtr (GLint -> GLint -> Ptr GLint -> IO ()))
    -> FunPtr (GLint -> GLint -> Ptr GLint -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLint -> GLint -> Ptr GLint -> IO ()))
     -> FunPtr (GLint -> GLint -> Ptr GLint -> IO ()))
    -> IO (FunPtr (GLint -> GLint -> Ptr GLint -> IO ()))
    -> FunPtr (GLint -> GLint -> Ptr GLint -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLint -> GLint -> Ptr GLint -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glUniform1iv"

    -- glUniform1ivARB -------------------------------------------------------------

    -- | This command is an alias for 'glUniform1iv'.
    glUniform1ivARB
      :: MonadIO m
      => GLint -- ^ @location@.
      -> GLsizei -- ^ @count@.
      -> Ptr GLint -- ^ @value@ pointing to @count*1@ elements of type @GLint@.
      -> m ()
    glUniform1ivARB :: forall (m :: * -> *).
    MonadIO m =>
    GLint -> GLint -> Ptr GLint -> m ()
    glUniform1ivARB GLint
    v1 GLint
    v2 Ptr GLint
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLint -> GLint -> Ptr GLint -> IO ())
    -> GLint -> GLint -> Ptr GLint -> IO ()
    dyn841 FunPtr (GLint -> GLint -> Ptr GLint -> IO ())
    ptr_glUniform1ivARB GLint
    v1 GLint
    v2 Ptr GLint
    v3

    {-# NOINLINE ptr_glUniform1ivARB #-}
    ptr_glUniform1ivARB :: FunPtr (GLint -> GLsizei -> Ptr GLint -> IO ())
    ptr_glUniform1ivARB :: FunPtr (GLint -> GLint -> Ptr GLint -> IO ())
    ptr_glUniform1ivARB = IO (FunPtr (GLint -> GLint -> Ptr GLint -> IO ()))
    -> FunPtr (GLint -> GLint -> Ptr GLint -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLint -> GLint -> Ptr GLint -> IO ()))
     -> FunPtr (GLint -> GLint -> Ptr GLint -> IO ()))
    -> IO (FunPtr (GLint -> GLint -> Ptr GLint -> IO ()))
    -> FunPtr (GLint -> GLint -> Ptr GLint -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLint -> GLint -> Ptr GLint -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glUniform1ivARB"

    -- glUniform1ui ----------------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
    glUniform1ui
      :: MonadIO m
      => GLint -- ^ @location@.
      -> GLuint -- ^ @v0@.
      -> m ()
    glUniform1ui :: forall (m :: * -> *). MonadIO m => GLint -> GLuint -> m ()
    glUniform1ui GLint
    v1 GLuint
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLint -> GLuint -> IO ()) -> GLint -> GLuint -> IO ()
    dyn842 FunPtr (GLint -> GLuint -> IO ())
    ptr_glUniform1ui GLint
    v1 GLuint
    v2

    {-# NOINLINE ptr_glUniform1ui #-}
    ptr_glUniform1ui :: FunPtr (GLint -> GLuint -> IO ())
    ptr_glUniform1ui :: FunPtr (GLint -> GLuint -> IO ())
    ptr_glUniform1ui = IO (FunPtr (GLint -> GLuint -> IO ()))
    -> FunPtr (GLint -> GLuint -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLint -> GLuint -> IO ()))
     -> FunPtr (GLint -> GLuint -> IO ()))
    -> IO (FunPtr (GLint -> GLuint -> IO ()))
    -> FunPtr (GLint -> GLuint -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLint -> GLuint -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glUniform1ui"

    -- glUniform1ui64ARB -----------------------------------------------------------

    glUniform1ui64ARB
      :: MonadIO m
      => GLint -- ^ @location@.
      -> GLuint64 -- ^ @x@.
      -> m ()
    glUniform1ui64ARB :: forall (m :: * -> *). MonadIO m => GLint -> GLuint64 -> m ()
    glUniform1ui64ARB GLint
    v1 GLuint64
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLint -> GLuint64 -> IO ()) -> GLint -> GLuint64 -> IO ()
    dyn843 FunPtr (GLint -> GLuint64 -> IO ())
    ptr_glUniform1ui64ARB GLint
    v1 GLuint64
    v2

    {-# NOINLINE ptr_glUniform1ui64ARB #-}
    ptr_glUniform1ui64ARB :: FunPtr (GLint -> GLuint64 -> IO ())
    ptr_glUniform1ui64ARB :: FunPtr (GLint -> GLuint64 -> IO ())
    ptr_glUniform1ui64ARB = IO (FunPtr (GLint -> GLuint64 -> IO ()))
    -> FunPtr (GLint -> GLuint64 -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLint -> GLuint64 -> IO ()))
     -> FunPtr (GLint -> GLuint64 -> IO ()))
    -> IO (FunPtr (GLint -> GLuint64 -> IO ()))
    -> FunPtr (GLint -> GLuint64 -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLint -> GLuint64 -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glUniform1ui64ARB"

    -- glUniform1ui64NV ------------------------------------------------------------

    glUniform1ui64NV
      :: MonadIO m
      => GLint -- ^ @location@.
      -> GLuint64EXT -- ^ @x@.
      -> m ()
    glUniform1ui64NV :: forall (m :: * -> *). MonadIO m => GLint -> GLuint64 -> m ()
    glUniform1ui64NV GLint
    v1 GLuint64
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLint -> GLuint64 -> IO ()) -> GLint -> GLuint64 -> IO ()
    dyn844 FunPtr (GLint -> GLuint64 -> IO ())
    ptr_glUniform1ui64NV GLint
    v1 GLuint64
    v2

    {-# NOINLINE ptr_glUniform1ui64NV #-}
    ptr_glUniform1ui64NV :: FunPtr (GLint -> GLuint64EXT -> IO ())
    ptr_glUniform1ui64NV :: FunPtr (GLint -> GLuint64 -> IO ())
    ptr_glUniform1ui64NV = IO (FunPtr (GLint -> GLuint64 -> IO ()))
    -> FunPtr (GLint -> GLuint64 -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLint -> GLuint64 -> IO ()))
     -> FunPtr (GLint -> GLuint64 -> IO ()))
    -> IO (FunPtr (GLint -> GLuint64 -> IO ()))
    -> FunPtr (GLint -> GLuint64 -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLint -> GLuint64 -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glUniform1ui64NV"

    -- glUniform1ui64vARB ----------------------------------------------------------

    glUniform1ui64vARB
      :: MonadIO m
      => GLint -- ^ @location@.
      -> GLsizei -- ^ @count@.
      -> Ptr GLuint64 -- ^ @value@ pointing to @count*1@ elements of type @GLuint64@.
      -> m ()
    glUniform1ui64vARB :: forall (m :: * -> *).
    MonadIO m =>
    GLint -> GLint -> Ptr GLuint64 -> m ()
    glUniform1ui64vARB GLint
    v1 GLint
    v2 Ptr GLuint64
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLint -> GLint -> Ptr GLuint64 -> IO ())
    -> GLint -> GLint -> Ptr GLuint64 -> IO ()
    dyn845 FunPtr (GLint -> GLint -> Ptr GLuint64 -> IO ())
    ptr_glUniform1ui64vARB GLint
    v1 GLint
    v2 Ptr GLuint64
    v3

    {-# NOINLINE ptr_glUniform1ui64vARB #-}
    ptr_glUniform1ui64vARB :: FunPtr (GLint -> GLsizei -> Ptr GLuint64 -> IO ())
    ptr_glUniform1ui64vARB :: FunPtr (GLint -> GLint -> Ptr GLuint64 -> IO ())
    ptr_glUniform1ui64vARB = IO (FunPtr (GLint -> GLint -> Ptr GLuint64 -> IO ()))
    -> FunPtr (GLint -> GLint -> Ptr GLuint64 -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLint -> GLint -> Ptr GLuint64 -> IO ()))
     -> FunPtr (GLint -> GLint -> Ptr GLuint64 -> IO ()))
    -> IO (FunPtr (GLint -> GLint -> Ptr GLuint64 -> IO ()))
    -> FunPtr (GLint -> GLint -> Ptr GLuint64 -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLint -> GLint -> Ptr GLuint64 -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glUniform1ui64vARB"

    -- glUniform1ui64vNV -----------------------------------------------------------

    glUniform1ui64vNV
      :: MonadIO m
      => GLint -- ^ @location@.
      -> GLsizei -- ^ @count@.
      -> Ptr GLuint64EXT -- ^ @value@ pointing to @count*1@ elements of type @GLuint64EXT@.
      -> m ()
    glUniform1ui64vNV :: forall (m :: * -> *).
    MonadIO m =>
    GLint -> GLint -> Ptr GLuint64 -> m ()
    glUniform1ui64vNV GLint
    v1 GLint
    v2 Ptr GLuint64
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLint -> GLint -> Ptr GLuint64 -> IO ())
    -> GLint -> GLint -> Ptr GLuint64 -> IO ()
    dyn846 FunPtr (GLint -> GLint -> Ptr GLuint64 -> IO ())
    ptr_glUniform1ui64vNV GLint
    v1 GLint
    v2 Ptr GLuint64
    v3

    {-# NOINLINE ptr_glUniform1ui64vNV #-}
    ptr_glUniform1ui64vNV :: FunPtr (GLint -> GLsizei -> Ptr GLuint64EXT -> IO ())
    ptr_glUniform1ui64vNV :: FunPtr (GLint -> GLint -> Ptr GLuint64 -> IO ())
    ptr_glUniform1ui64vNV = IO (FunPtr (GLint -> GLint -> Ptr GLuint64 -> IO ()))
    -> FunPtr (GLint -> GLint -> Ptr GLuint64 -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLint -> GLint -> Ptr GLuint64 -> IO ()))
     -> FunPtr (GLint -> GLint -> Ptr GLuint64 -> IO ()))
    -> IO (FunPtr (GLint -> GLint -> Ptr GLuint64 -> IO ()))
    -> FunPtr (GLint -> GLint -> Ptr GLuint64 -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLint -> GLint -> Ptr GLuint64 -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glUniform1ui64vNV"

    -- glUniform1uiEXT -------------------------------------------------------------

    -- | This command is an alias for 'glUniform1ui'.
    glUniform1uiEXT
      :: MonadIO m
      => GLint -- ^ @location@.
      -> GLuint -- ^ @v0@.
      -> m ()
    glUniform1uiEXT :: forall (m :: * -> *). MonadIO m => GLint -> GLuint -> m ()
    glUniform1uiEXT GLint
    v1 GLuint
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLint -> GLuint -> IO ()) -> GLint -> GLuint -> IO ()
    dyn842 FunPtr (GLint -> GLuint -> IO ())
    ptr_glUniform1uiEXT GLint
    v1 GLuint
    v2

    {-# NOINLINE ptr_glUniform1uiEXT #-}
    ptr_glUniform1uiEXT :: FunPtr (GLint -> GLuint -> IO ())
    ptr_glUniform1uiEXT :: FunPtr (GLint -> GLuint -> IO ())
    ptr_glUniform1uiEXT = IO (FunPtr (GLint -> GLuint -> IO ()))
    -> FunPtr (GLint -> GLuint -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLint -> GLuint -> IO ()))
     -> FunPtr (GLint -> GLuint -> IO ()))
    -> IO (FunPtr (GLint -> GLuint -> IO ()))
    -> FunPtr (GLint -> GLuint -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLint -> GLuint -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glUniform1uiEXT"

    -- glUniform1uiv ---------------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
    glUniform1uiv
      :: MonadIO m
      => GLint -- ^ @location@.
      -> GLsizei -- ^ @count@.
      -> Ptr GLuint -- ^ @value@ pointing to @count*1@ elements of type @GLuint@.
      -> m ()
    glUniform1uiv :: forall (m :: * -> *).
    MonadIO m =>
    GLint -> GLint -> Ptr GLuint -> m ()
    glUniform1uiv GLint
    v1 GLint
    v2 Ptr GLuint
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLint -> GLint -> Ptr GLuint -> IO ())
    -> GLint -> GLint -> Ptr GLuint -> IO ()
    dyn847 FunPtr (GLint -> GLint -> Ptr GLuint -> IO ())
    ptr_glUniform1uiv GLint
    v1 GLint
    v2 Ptr GLuint
    v3

    {-# NOINLINE ptr_glUniform1uiv #-}
    ptr_glUniform1uiv :: FunPtr (GLint -> GLsizei -> Ptr GLuint -> IO ())
    ptr_glUniform1uiv :: FunPtr (GLint -> GLint -> Ptr GLuint -> IO ())
    ptr_glUniform1uiv = IO (FunPtr (GLint -> GLint -> Ptr GLuint -> IO ()))
    -> FunPtr (GLint -> GLint -> Ptr GLuint -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLint -> GLint -> Ptr GLuint -> IO ()))
     -> FunPtr (GLint -> GLint -> Ptr GLuint -> IO ()))
    -> IO (FunPtr (GLint -> GLint -> Ptr GLuint -> IO ()))
    -> FunPtr (GLint -> GLint -> Ptr GLuint -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLint -> GLint -> Ptr GLuint -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glUniform1uiv"

    -- glUniform1uivEXT ------------------------------------------------------------

    -- | This command is an alias for 'glUniform1uiv'.
    glUniform1uivEXT
      :: MonadIO m
      => GLint -- ^ @location@.
      -> GLsizei -- ^ @count@.
      -> Ptr GLuint -- ^ @value@ pointing to @count*1@ elements of type @GLuint@.
      -> m ()
    glUniform1uivEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLint -> GLint -> Ptr GLuint -> m ()
    glUniform1uivEXT GLint
    v1 GLint
    v2 Ptr GLuint
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLint -> GLint -> Ptr GLuint -> IO ())
    -> GLint -> GLint -> Ptr GLuint -> IO ()
    dyn847 FunPtr (GLint -> GLint -> Ptr GLuint -> IO ())
    ptr_glUniform1uivEXT GLint
    v1 GLint
    v2 Ptr GLuint
    v3

    {-# NOINLINE ptr_glUniform1uivEXT #-}
    ptr_glUniform1uivEXT :: FunPtr (GLint -> GLsizei -> Ptr GLuint -> IO ())
    ptr_glUniform1uivEXT :: FunPtr (GLint -> GLint -> Ptr GLuint -> IO ())
    ptr_glUniform1uivEXT = IO (FunPtr (GLint -> GLint -> Ptr GLuint -> IO ()))
    -> FunPtr (GLint -> GLint -> Ptr GLuint -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLint -> GLint -> Ptr GLuint -> IO ()))
     -> FunPtr (GLint -> GLint -> Ptr GLuint -> IO ()))
    -> IO (FunPtr (GLint -> GLint -> Ptr GLuint -> IO ()))
    -> FunPtr (GLint -> GLint -> Ptr GLuint -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLint -> GLint -> Ptr GLuint -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glUniform1uivEXT"

    -- glUniform2d -----------------------------------------------------------------

    glUniform2d
      :: MonadIO m
      => GLint -- ^ @location@.
      -> GLdouble -- ^ @x@.
      -> GLdouble -- ^ @y@.
      -> m ()
    glUniform2d :: forall (m :: * -> *).
    MonadIO m =>
    GLint -> GLdouble -> GLdouble -> m ()
    glUniform2d GLint
    v1 GLdouble
    v2 GLdouble
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLint -> GLdouble -> GLdouble -> IO ())
    -> GLint -> GLdouble -> GLdouble -> IO ()
    dyn528 FunPtr (GLint -> GLdouble -> GLdouble -> IO ())
    ptr_glUniform2d GLint
    v1 GLdouble
    v2 GLdouble
    v3

    {-# NOINLINE ptr_glUniform2d #-}
    ptr_glUniform2d :: FunPtr (GLint -> GLdouble -> GLdouble -> IO ())
    ptr_glUniform2d :: FunPtr (GLint -> GLdouble -> GLdouble -> IO ())
    ptr_glUniform2d = IO (FunPtr (GLint -> GLdouble -> GLdouble -> IO ()))
    -> FunPtr (GLint -> GLdouble -> GLdouble -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLint -> GLdouble -> GLdouble -> IO ()))
     -> FunPtr (GLint -> GLdouble -> GLdouble -> IO ()))
    -> IO (FunPtr (GLint -> GLdouble -> GLdouble -> IO ()))
    -> FunPtr (GLint -> GLdouble -> GLdouble -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLint -> GLdouble -> GLdouble -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glUniform2d"

    -- glUniform2dv ----------------------------------------------------------------

    glUniform2dv
      :: MonadIO m
      => GLint -- ^ @location@.
      -> GLsizei -- ^ @count@.
      -> Ptr GLdouble -- ^ @value@ pointing to @count*2@ elements of type @GLdouble@.
      -> m ()
    glUniform2dv :: forall (m :: * -> *).
    MonadIO m =>
    GLint -> GLint -> Ptr GLdouble -> m ()
    glUniform2dv GLint
    v1 GLint
    v2 Ptr GLdouble
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLint -> GLint -> Ptr GLdouble -> IO ())
    -> GLint -> GLint -> Ptr GLdouble -> IO ()
    dyn834 FunPtr (GLint -> GLint -> Ptr GLdouble -> IO ())
    ptr_glUniform2dv GLint
    v1 GLint
    v2 Ptr GLdouble
    v3

    {-# NOINLINE ptr_glUniform2dv #-}
    ptr_glUniform2dv :: FunPtr (GLint -> GLsizei -> Ptr GLdouble -> IO ())
    ptr_glUniform2dv :: FunPtr (GLint -> GLint -> Ptr GLdouble -> IO ())
    ptr_glUniform2dv = IO (FunPtr (GLint -> GLint -> Ptr GLdouble -> IO ()))
    -> FunPtr (GLint -> GLint -> Ptr GLdouble -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLint -> GLint -> Ptr GLdouble -> IO ()))
     -> FunPtr (GLint -> GLint -> Ptr GLdouble -> IO ()))
    -> IO (FunPtr (GLint -> GLint -> Ptr GLdouble -> IO ()))
    -> FunPtr (GLint -> GLint -> Ptr GLdouble -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLint -> GLint -> Ptr GLdouble -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glUniform2dv"

    -- glUniform2f -----------------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
    glUniform2f
      :: MonadIO m
      => GLint -- ^ @location@.
      -> GLfloat -- ^ @v0@.
      -> GLfloat -- ^ @v1@.
      -> m ()
    glUniform2f :: forall (m :: * -> *).
    MonadIO m =>
    GLint -> GLfloat -> GLfloat -> m ()
    glUniform2f GLint
    v1 GLfloat
    v2 GLfloat
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLint -> GLfloat -> GLfloat -> IO ())
    -> GLint -> GLfloat -> GLfloat -> IO ()
    dyn529 FunPtr (GLint -> GLfloat -> GLfloat -> IO ())
    ptr_glUniform2f GLint
    v1 GLfloat
    v2 GLfloat
    v3

    {-# NOINLINE ptr_glUniform2f #-}
    ptr_glUniform2f :: FunPtr (GLint -> GLfloat -> GLfloat -> IO ())
    ptr_glUniform2f :: FunPtr (GLint -> GLfloat -> GLfloat -> IO ())
    ptr_glUniform2f = IO (FunPtr (GLint -> GLfloat -> GLfloat -> IO ()))
    -> FunPtr (GLint -> GLfloat -> GLfloat -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLint -> GLfloat -> GLfloat -> IO ()))
     -> FunPtr (GLint -> GLfloat -> GLfloat -> IO ()))
    -> IO (FunPtr (GLint -> GLfloat -> GLfloat -> IO ()))
    -> FunPtr (GLint -> GLfloat -> GLfloat -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLint -> GLfloat -> GLfloat -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glUniform2f"

    -- glUniform2fARB --------------------------------------------------------------

    -- | This command is an alias for 'glUniform2f'.
    glUniform2fARB
      :: MonadIO m
      => GLint -- ^ @location@.
      -> GLfloat -- ^ @v0@.
      -> GLfloat -- ^ @v1@.
      -> m ()
    glUniform2fARB :: forall (m :: * -> *).
    MonadIO m =>
    GLint -> GLfloat -> GLfloat -> m ()
    glUniform2fARB GLint
    v1 GLfloat
    v2 GLfloat
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLint -> GLfloat -> GLfloat -> IO ())
    -> GLint -> GLfloat -> GLfloat -> IO ()
    dyn529 FunPtr (GLint -> GLfloat -> GLfloat -> IO ())
    ptr_glUniform2fARB GLint
    v1 GLfloat
    v2 GLfloat
    v3

    {-# NOINLINE ptr_glUniform2fARB #-}
    ptr_glUniform2fARB :: FunPtr (GLint -> GLfloat -> GLfloat -> IO ())
    ptr_glUniform2fARB :: FunPtr (GLint -> GLfloat -> GLfloat -> IO ())
    ptr_glUniform2fARB = IO (FunPtr (GLint -> GLfloat -> GLfloat -> IO ()))
    -> FunPtr (GLint -> GLfloat -> GLfloat -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLint -> GLfloat -> GLfloat -> IO ()))
     -> FunPtr (GLint -> GLfloat -> GLfloat -> IO ()))
    -> IO (FunPtr (GLint -> GLfloat -> GLfloat -> IO ()))
    -> FunPtr (GLint -> GLfloat -> GLfloat -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLint -> GLfloat -> GLfloat -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glUniform2fARB"

    -- glUniform2fv ----------------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
    glUniform2fv
      :: MonadIO m
      => GLint -- ^ @location@.
      -> GLsizei -- ^ @count@.
      -> Ptr GLfloat -- ^ @value@ pointing to @count*2@ elements of type @GLfloat@.
      -> m ()
    glUniform2fv :: forall (m :: * -> *).
    MonadIO m =>
    GLint -> GLint -> Ptr GLfloat -> m ()
    glUniform2fv GLint
    v1 GLint
    v2 Ptr GLfloat
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLint -> GLint -> Ptr GLfloat -> IO ())
    -> GLint -> GLint -> Ptr GLfloat -> IO ()
    dyn836 FunPtr (GLint -> GLint -> Ptr GLfloat -> IO ())
    ptr_glUniform2fv GLint
    v1 GLint
    v2 Ptr GLfloat
    v3

    {-# NOINLINE ptr_glUniform2fv #-}
    ptr_glUniform2fv :: FunPtr (GLint -> GLsizei -> Ptr GLfloat -> IO ())
    ptr_glUniform2fv :: FunPtr (GLint -> GLint -> Ptr GLfloat -> IO ())
    ptr_glUniform2fv = IO (FunPtr (GLint -> GLint -> Ptr GLfloat -> IO ()))
    -> FunPtr (GLint -> GLint -> Ptr GLfloat -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLint -> GLint -> Ptr GLfloat -> IO ()))
     -> FunPtr (GLint -> GLint -> Ptr GLfloat -> IO ()))
    -> IO (FunPtr (GLint -> GLint -> Ptr GLfloat -> IO ()))
    -> FunPtr (GLint -> GLint -> Ptr GLfloat -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLint -> GLint -> Ptr GLfloat -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glUniform2fv"

    -- glUniform2fvARB -------------------------------------------------------------

    -- | This command is an alias for 'glUniform2fv'.
    glUniform2fvARB
      :: MonadIO m
      => GLint -- ^ @location@.
      -> GLsizei -- ^ @count@.
      -> Ptr GLfloat -- ^ @value@ pointing to @count*2@ elements of type @GLfloat@.
      -> m ()
    glUniform2fvARB :: forall (m :: * -> *).
    MonadIO m =>
    GLint -> GLint -> Ptr GLfloat -> m ()
    glUniform2fvARB GLint
    v1 GLint
    v2 Ptr GLfloat
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLint -> GLint -> Ptr GLfloat -> IO ())
    -> GLint -> GLint -> Ptr GLfloat -> IO ()
    dyn836 FunPtr (GLint -> GLint -> Ptr GLfloat -> IO ())
    ptr_glUniform2fvARB GLint
    v1 GLint
    v2 Ptr GLfloat
    v3

    {-# NOINLINE ptr_glUniform2fvARB #-}
    ptr_glUniform2fvARB :: FunPtr (GLint -> GLsizei -> Ptr GLfloat -> IO ())
    ptr_glUniform2fvARB :: FunPtr (GLint -> GLint -> Ptr GLfloat -> IO ())
    ptr_glUniform2fvARB = IO (FunPtr (GLint -> GLint -> Ptr GLfloat -> IO ()))
    -> FunPtr (GLint -> GLint -> Ptr GLfloat -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLint -> GLint -> Ptr GLfloat -> IO ()))
     -> FunPtr (GLint -> GLint -> Ptr GLfloat -> IO ()))
    -> IO (FunPtr (GLint -> GLint -> Ptr GLfloat -> IO ()))
    -> FunPtr (GLint -> GLint -> Ptr GLfloat -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLint -> GLint -> Ptr GLfloat -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glUniform2fvARB"

    -- glUniform2i -----------------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
    glUniform2i
      :: MonadIO m
      => GLint -- ^ @location@.
      -> GLint -- ^ @v0@.
      -> GLint -- ^ @v1@.
      -> m ()
    glUniform2i :: forall (m :: * -> *). MonadIO m => GLint -> GLint -> GLint -> m ()
    glUniform2i GLint
    v1 GLint
    v2 GLint
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLint -> GLint -> GLint -> IO ())
    -> GLint -> GLint -> GLint -> IO ()
    dyn45 FunPtr (GLint -> GLint -> GLint -> IO ())
    ptr_glUniform2i GLint
    v1 GLint
    v2 GLint
    v3

    {-# NOINLINE ptr_glUniform2i #-}
    ptr_glUniform2i :: FunPtr (GLint -> GLint -> GLint -> IO ())
    ptr_glUniform2i :: FunPtr (GLint -> GLint -> GLint -> IO ())
    ptr_glUniform2i = IO (FunPtr (GLint -> GLint -> GLint -> IO ()))
    -> FunPtr (GLint -> GLint -> GLint -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLint -> GLint -> GLint -> IO ()))
     -> FunPtr (GLint -> GLint -> GLint -> IO ()))
    -> IO (FunPtr (GLint -> GLint -> GLint -> IO ()))
    -> FunPtr (GLint -> GLint -> GLint -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLint -> GLint -> GLint -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glUniform2i"

    -- glUniform2i64ARB ------------------------------------------------------------

    glUniform2i64ARB
      :: MonadIO m
      => GLint -- ^ @location@.
      -> GLint64 -- ^ @x@.
      -> GLint64 -- ^ @y@.
      -> m ()
    glUniform2i64ARB :: forall (m :: * -> *).
    MonadIO m =>
    GLint -> GLint64 -> GLint64 -> m ()
    glUniform2i64ARB GLint
    v1 GLint64
    v2 GLint64
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLint -> GLint64 -> GLint64 -> IO ())
    -> GLint -> GLint64 -> GLint64 -> IO ()
    dyn848 FunPtr (GLint -> GLint64 -> GLint64 -> IO ())
    ptr_glUniform2i64ARB GLint
    v1 GLint64
    v2 GLint64
    v3

    {-# NOINLINE ptr_glUniform2i64ARB #-}
    ptr_glUniform2i64ARB :: FunPtr (GLint -> GLint64 -> GLint64 -> IO ())
    ptr_glUniform2i64ARB :: FunPtr (GLint -> GLint64 -> GLint64 -> IO ())
    ptr_glUniform2i64ARB = IO (FunPtr (GLint -> GLint64 -> GLint64 -> IO ()))
    -> FunPtr (GLint -> GLint64 -> GLint64 -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLint -> GLint64 -> GLint64 -> IO ()))
     -> FunPtr (GLint -> GLint64 -> GLint64 -> IO ()))
    -> IO (FunPtr (GLint -> GLint64 -> GLint64 -> IO ()))
    -> FunPtr (GLint -> GLint64 -> GLint64 -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLint -> GLint64 -> GLint64 -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glUniform2i64ARB"

    -- glUniform2i64NV -------------------------------------------------------------

    glUniform2i64NV
      :: MonadIO m
      => GLint -- ^ @location@.
      -> GLint64EXT -- ^ @x@.
      -> GLint64EXT -- ^ @y@.
      -> m ()
    glUniform2i64NV :: forall (m :: * -> *).
    MonadIO m =>
    GLint -> GLint64 -> GLint64 -> m ()
    glUniform2i64NV GLint
    v1 GLint64
    v2 GLint64
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLint -> GLint64 -> GLint64 -> IO ())
    -> GLint -> GLint64 -> GLint64 -> IO ()
    dyn849 FunPtr (GLint -> GLint64 -> GLint64 -> IO ())
    ptr_glUniform2i64NV GLint
    v1 GLint64
    v2 GLint64
    v3

    {-# NOINLINE ptr_glUniform2i64NV #-}
    ptr_glUniform2i64NV :: FunPtr (GLint -> GLint64EXT -> GLint64EXT -> IO ())
    ptr_glUniform2i64NV :: FunPtr (GLint -> GLint64 -> GLint64 -> IO ())
    ptr_glUniform2i64NV = IO (FunPtr (GLint -> GLint64 -> GLint64 -> IO ()))
    -> FunPtr (GLint -> GLint64 -> GLint64 -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLint -> GLint64 -> GLint64 -> IO ()))
     -> FunPtr (GLint -> GLint64 -> GLint64 -> IO ()))
    -> IO (FunPtr (GLint -> GLint64 -> GLint64 -> IO ()))
    -> FunPtr (GLint -> GLint64 -> GLint64 -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLint -> GLint64 -> GLint64 -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glUniform2i64NV"

    -- glUniform2i64vARB -----------------------------------------------------------

    glUniform2i64vARB
      :: MonadIO m
      => GLint -- ^ @location@.
      -> GLsizei -- ^ @count@.
      -> Ptr GLint64 -- ^ @value@ pointing to @count*2@ elements of type @GLint64@.
      -> m ()
    glUniform2i64vARB :: forall (m :: * -> *).
    MonadIO m =>
    GLint -> GLint -> Ptr GLint64 -> m ()
    glUniform2i64vARB GLint
    v1 GLint
    v2 Ptr GLint64
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLint -> GLint -> Ptr GLint64 -> IO ())
    -> GLint -> GLint -> Ptr GLint64 -> IO ()
    dyn839 FunPtr (GLint -> GLint -> Ptr GLint64 -> IO ())
    ptr_glUniform2i64vARB GLint
    v1 GLint
    v2 Ptr GLint64
    v3

    {-# NOINLINE ptr_glUniform2i64vARB #-}
    ptr_glUniform2i64vARB :: FunPtr (GLint -> GLsizei -> Ptr GLint64 -> IO ())
    ptr_glUniform2i64vARB :: FunPtr (GLint -> GLint -> Ptr GLint64 -> IO ())
    ptr_glUniform2i64vARB = IO (FunPtr (GLint -> GLint -> Ptr GLint64 -> IO ()))
    -> FunPtr (GLint -> GLint -> Ptr GLint64 -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLint -> GLint -> Ptr GLint64 -> IO ()))
     -> FunPtr (GLint -> GLint -> Ptr GLint64 -> IO ()))
    -> IO (FunPtr (GLint -> GLint -> Ptr GLint64 -> IO ()))
    -> FunPtr (GLint -> GLint -> Ptr GLint64 -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLint -> GLint -> Ptr GLint64 -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glUniform2i64vARB"

    -- glUniform2i64vNV ------------------------------------------------------------

    glUniform2i64vNV
      :: MonadIO m
      => GLint -- ^ @location@.
      -> GLsizei -- ^ @count@.
      -> Ptr GLint64EXT -- ^ @value@ pointing to @count*2@ elements of type @GLint64EXT@.
      -> m ()
    glUniform2i64vNV :: forall (m :: * -> *).
    MonadIO m =>
    GLint -> GLint -> Ptr GLint64 -> m ()
    glUniform2i64vNV GLint
    v1 GLint
    v2 Ptr GLint64
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLint -> GLint -> Ptr GLint64 -> IO ())
    -> GLint -> GLint -> Ptr GLint64 -> IO ()
    dyn840 FunPtr (GLint -> GLint -> Ptr GLint64 -> IO ())
    ptr_glUniform2i64vNV GLint
    v1 GLint
    v2 Ptr GLint64
    v3

    {-# NOINLINE ptr_glUniform2i64vNV #-}
    ptr_glUniform2i64vNV :: FunPtr (GLint -> GLsizei -> Ptr GLint64EXT -> IO ())
    ptr_glUniform2i64vNV :: FunPtr (GLint -> GLint -> Ptr GLint64 -> IO ())
    ptr_glUniform2i64vNV = IO (FunPtr (GLint -> GLint -> Ptr GLint64 -> IO ()))
    -> FunPtr (GLint -> GLint -> Ptr GLint64 -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLint -> GLint -> Ptr GLint64 -> IO ()))
     -> FunPtr (GLint -> GLint -> Ptr GLint64 -> IO ()))
    -> IO (FunPtr (GLint -> GLint -> Ptr GLint64 -> IO ()))
    -> FunPtr (GLint -> GLint -> Ptr GLint64 -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLint -> GLint -> Ptr GLint64 -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glUniform2i64vNV"

    -- glUniform2iARB --------------------------------------------------------------

    -- | This command is an alias for 'glUniform2i'.
    glUniform2iARB
      :: MonadIO m
      => GLint -- ^ @location@.
      -> GLint -- ^ @v0@.
      -> GLint -- ^ @v1@.
      -> m ()
    glUniform2iARB :: forall (m :: * -> *). MonadIO m => GLint -> GLint -> GLint -> m ()
    glUniform2iARB GLint
    v1 GLint
    v2 GLint
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLint -> GLint -> GLint -> IO ())
    -> GLint -> GLint -> GLint -> IO ()
    dyn45 FunPtr (GLint -> GLint -> GLint -> IO ())
    ptr_glUniform2iARB GLint
    v1 GLint
    v2 GLint
    v3

    {-# NOINLINE ptr_glUniform2iARB #-}
    ptr_glUniform2iARB :: FunPtr (GLint -> GLint -> GLint -> IO ())
    ptr_glUniform2iARB :: FunPtr (GLint -> GLint -> GLint -> IO ())
    ptr_glUniform2iARB = IO (FunPtr (GLint -> GLint -> GLint -> IO ()))
    -> FunPtr (GLint -> GLint -> GLint -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLint -> GLint -> GLint -> IO ()))
     -> FunPtr (GLint -> GLint -> GLint -> IO ()))
    -> IO (FunPtr (GLint -> GLint -> GLint -> IO ()))
    -> FunPtr (GLint -> GLint -> GLint -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLint -> GLint -> GLint -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glUniform2iARB"