    {-# OPTIONS_HADDOCK hide #-}
    --------------------------------------------------------------------------------
    -- |
    -- Module      :  Graphics.GL.Functions.F04
    -- 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.F04 (
      glColorSubTableEXT,
      glColorTable,
      glColorTableEXT,
      glColorTableParameterfv,
      glColorTableParameterfvSGI,
      glColorTableParameteriv,
      glColorTableParameterivSGI,
      glColorTableSGI,
      glCombinerInputNV,
      glCombinerOutputNV,
      glCombinerParameterfNV,
      glCombinerParameterfvNV,
      glCombinerParameteriNV,
      glCombinerParameterivNV,
      glCombinerStageParameterfvNV,
      glCommandListSegmentsNV,
      glCompileCommandListNV,
      glCompileShader,
      glCompileShaderARB,
      glCompileShaderIncludeARB,
      glCompressedMultiTexImage1DEXT,
      glCompressedMultiTexImage2DEXT,
      glCompressedMultiTexImage3DEXT,
      glCompressedMultiTexSubImage1DEXT,
      glCompressedMultiTexSubImage2DEXT,
      glCompressedMultiTexSubImage3DEXT,
      glCompressedTexImage1D,
      glCompressedTexImage1DARB,
      glCompressedTexImage2D,
      glCompressedTexImage2DARB,
      glCompressedTexImage3D,
      glCompressedTexImage3DARB,
      glCompressedTexImage3DOES,
      glCompressedTexSubImage1D,
      glCompressedTexSubImage1DARB,
      glCompressedTexSubImage2D,
      glCompressedTexSubImage2DARB,
      glCompressedTexSubImage3D,
      glCompressedTexSubImage3DARB,
      glCompressedTexSubImage3DOES,
      glCompressedTextureImage1DEXT,
      glCompressedTextureImage2DEXT,
      glCompressedTextureImage3DEXT,
      glCompressedTextureSubImage1D,
      glCompressedTextureSubImage1DEXT,
      glCompressedTextureSubImage2D,
      glCompressedTextureSubImage2DEXT,
      glCompressedTextureSubImage3D,
      glCompressedTextureSubImage3DEXT,
      glConservativeRasterParameterfNV,
      glConservativeRasterParameteriNV,
      glConvolutionFilter1D,
      glConvolutionFilter1DEXT,
      glConvolutionFilter2D,
      glConvolutionFilter2DEXT,
      glConvolutionParameterf,
      glConvolutionParameterfEXT,
      glConvolutionParameterfv,
      glConvolutionParameterfvEXT,
      glConvolutionParameteri,
      glConvolutionParameteriEXT,
      glConvolutionParameteriv,
      glConvolutionParameterivEXT,
      glConvolutionParameterxOES,
      glConvolutionParameterxvOES,
      glCopyBufferSubData,
      glCopyBufferSubDataNV,
      glCopyColorSubTable,
      glCopyColorSubTableEXT,
      glCopyColorTable,
      glCopyColorTableSGI,
      glCopyConvolutionFilter1D,
      glCopyConvolutionFilter1DEXT,
      glCopyConvolutionFilter2D,
      glCopyConvolutionFilter2DEXT,
      glCopyImageSubData,
      glCopyImageSubDataEXT,
      glCopyImageSubDataNV,
      glCopyImageSubDataOES,
      glCopyMultiTexImage1DEXT,
      glCopyMultiTexImage2DEXT,
      glCopyMultiTexSubImage1DEXT,
      glCopyMultiTexSubImage2DEXT,
      glCopyMultiTexSubImage3DEXT,
      glCopyNamedBufferSubData,
      glCopyPathNV,
      glCopyPixels,
      glCopyTexImage1D,
      glCopyTexImage1DEXT,
      glCopyTexImage2D,
      glCopyTexImage2DEXT,
      glCopyTexSubImage1D,
      glCopyTexSubImage1DEXT,
      glCopyTexSubImage2D,
      glCopyTexSubImage2DEXT,
      glCopyTexSubImage3D,
      glCopyTexSubImage3DEXT,
      glCopyTexSubImage3DOES,
      glCopyTextureImage1DEXT,
      glCopyTextureImage2DEXT
    ) where

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

    -- glColorSubTableEXT ----------------------------------------------------------

    -- | This command is an alias for 'glColorSubTable'.
    glColorSubTableEXT
      :: MonadIO m
      => GLenum -- ^ @target@ of type [ColorTableTarget](Graphics-GL-Groups.html#ColorTableTarget).
      -> GLsizei -- ^ @start@.
      -> GLsizei -- ^ @count@.
      -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
      -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
      -> Ptr a -- ^ @data@ pointing to @COMPSIZE(format,type,count)@ elements of type @a@.
      -> m ()
    glColorSubTableEXT :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()
    glColorSubTableEXT GLenum
    v1 GLsizei
    v2 GLsizei
    v3 GLenum
    v4 GLenum
    v5 Ptr a
    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
      (GLenum
       -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLenum
    -> Ptr a
    -> IO ()
    forall a.
    FunPtr
      (GLenum
       -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLenum
    -> Ptr a
    -> IO ()
    dyn137 FunPtr
      (GLenum
       -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
    forall a.
    FunPtr
      (GLenum
       -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
    ptr_glColorSubTableEXT GLenum
    v1 GLsizei
    v2 GLsizei
    v3 GLenum
    v4 GLenum
    v5 Ptr a
    v6

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

    -- glColorTable ----------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColorTable.xml OpenGL 2.x>.
    glColorTable
      :: MonadIO m
      => GLenum -- ^ @target@ of type [ColorTableTarget](Graphics-GL-Groups.html#ColorTableTarget).
      -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
      -> GLsizei -- ^ @width@.
      -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
      -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
      -> Ptr a -- ^ @table@ pointing to @COMPSIZE(format,type,width)@ elements of type @a@.
      -> m ()
    glColorTable :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()
    glColorTable GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLenum
    v4 GLenum
    v5 Ptr a
    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
      (GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLenum
    -> GLenum
    -> Ptr a
    -> IO ()
    forall a.
    FunPtr
      (GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLenum
    -> GLenum
    -> Ptr a
    -> IO ()
    dyn138 FunPtr
      (GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
    forall a.
    FunPtr
      (GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
    ptr_glColorTable GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLenum
    v4 GLenum
    v5 Ptr a
    v6

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

    -- glColorTableEXT -------------------------------------------------------------

    -- | This command is an alias for 'glColorTable'.
    glColorTableEXT
      :: MonadIO m
      => GLenum -- ^ @target@ of type [ColorTableTarget](Graphics-GL-Groups.html#ColorTableTarget).
      -> GLenum -- ^ @internalFormat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
      -> GLsizei -- ^ @width@.
      -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
      -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
      -> Ptr a -- ^ @table@ pointing to @COMPSIZE(format,type,width)@ elements of type @a@.
      -> m ()
    glColorTableEXT :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()
    glColorTableEXT GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLenum
    v4 GLenum
    v5 Ptr a
    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
      (GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLenum
    -> GLenum
    -> Ptr a
    -> IO ()
    forall a.
    FunPtr
      (GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLenum
    -> GLenum
    -> Ptr a
    -> IO ()
    dyn138 FunPtr
      (GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
    forall a.
    FunPtr
      (GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
    ptr_glColorTableEXT GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLenum
    v4 GLenum
    v5 Ptr a
    v6

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

    -- glColorTableParameterfv -----------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColorTableParameter.xml OpenGL 2.x>.
    glColorTableParameterfv
      :: MonadIO m
      => GLenum -- ^ @target@ of type [ColorTableTarget](Graphics-GL-Groups.html#ColorTableTarget).
      -> GLenum -- ^ @pname@ of type [ColorTableParameterPNameSGI](Graphics-GL-Groups.html#ColorTableParameterPNameSGI).
      -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
      -> m ()
    glColorTableParameterfv :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLfloat -> m ()
    glColorTableParameterfv GLenum
    v1 GLenum
    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 (GLenum -> GLenum -> Ptr GLfloat -> IO ())
    -> GLenum -> GLenum -> Ptr GLfloat -> IO ()
    dyn139 FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
    ptr_glColorTableParameterfv GLenum
    v1 GLenum
    v2 Ptr GLfloat
    v3

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

    -- glColorTableParameterfvSGI --------------------------------------------------

    -- | This command is an alias for 'glColorTableParameterfv'.
    glColorTableParameterfvSGI
      :: MonadIO m
      => GLenum -- ^ @target@ of type [ColorTableTargetSGI](Graphics-GL-Groups.html#ColorTableTargetSGI).
      -> GLenum -- ^ @pname@ of type [ColorTableParameterPNameSGI](Graphics-GL-Groups.html#ColorTableParameterPNameSGI).
      -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
      -> m ()
    glColorTableParameterfvSGI :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLfloat -> m ()
    glColorTableParameterfvSGI GLenum
    v1 GLenum
    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 (GLenum -> GLenum -> Ptr GLfloat -> IO ())
    -> GLenum -> GLenum -> Ptr GLfloat -> IO ()
    dyn139 FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
    ptr_glColorTableParameterfvSGI GLenum
    v1 GLenum
    v2 Ptr GLfloat
    v3

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

    -- glColorTableParameteriv -----------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColorTableParameter.xml OpenGL 2.x>.
    glColorTableParameteriv
      :: MonadIO m
      => GLenum -- ^ @target@ of type [ColorTableTarget](Graphics-GL-Groups.html#ColorTableTarget).
      -> GLenum -- ^ @pname@ of type [ColorTableParameterPNameSGI](Graphics-GL-Groups.html#ColorTableParameterPNameSGI).
      -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
      -> m ()
    glColorTableParameteriv :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLsizei -> m ()
    glColorTableParameteriv GLenum
    v1 GLenum
    v2 Ptr GLsizei
    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 (GLenum -> GLenum -> Ptr GLsizei -> IO ())
    -> GLenum -> GLenum -> Ptr GLsizei -> IO ()
    dyn140 FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
    ptr_glColorTableParameteriv GLenum
    v1 GLenum
    v2 Ptr GLsizei
    v3

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

    -- glColorTableParameterivSGI --------------------------------------------------

    -- | This command is an alias for 'glColorTableParameteriv'.
    glColorTableParameterivSGI
      :: MonadIO m
      => GLenum -- ^ @target@ of type [ColorTableTargetSGI](Graphics-GL-Groups.html#ColorTableTargetSGI).
      -> GLenum -- ^ @pname@ of type [ColorTableParameterPNameSGI](Graphics-GL-Groups.html#ColorTableParameterPNameSGI).
      -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
      -> m ()
    glColorTableParameterivSGI :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLsizei -> m ()
    glColorTableParameterivSGI GLenum
    v1 GLenum
    v2 Ptr GLsizei
    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 (GLenum -> GLenum -> Ptr GLsizei -> IO ())
    -> GLenum -> GLenum -> Ptr GLsizei -> IO ()
    dyn140 FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
    ptr_glColorTableParameterivSGI GLenum
    v1 GLenum
    v2 Ptr GLsizei
    v3

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

    -- glColorTableSGI -------------------------------------------------------------

    -- | This command is an alias for 'glColorTable'.
    glColorTableSGI
      :: MonadIO m
      => GLenum -- ^ @target@ of type [ColorTableTargetSGI](Graphics-GL-Groups.html#ColorTableTargetSGI).
      -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
      -> GLsizei -- ^ @width@.
      -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
      -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
      -> Ptr a -- ^ @table@ pointing to @COMPSIZE(format,type,width)@ elements of type @a@.
      -> m ()
    glColorTableSGI :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()
    glColorTableSGI GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLenum
    v4 GLenum
    v5 Ptr a
    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
      (GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLenum
    -> GLenum
    -> Ptr a
    -> IO ()
    forall a.
    FunPtr
      (GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLenum
    -> GLenum
    -> Ptr a
    -> IO ()
    dyn138 FunPtr
      (GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
    forall a.
    FunPtr
      (GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
    ptr_glColorTableSGI GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLenum
    v4 GLenum
    v5 Ptr a
    v6

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

    -- glCombinerInputNV -----------------------------------------------------------

    glCombinerInputNV
      :: MonadIO m
      => GLenum -- ^ @stage@ of type [CombinerStageNV](Graphics-GL-Groups.html#CombinerStageNV).
      -> GLenum -- ^ @portion@ of type [CombinerPortionNV](Graphics-GL-Groups.html#CombinerPortionNV).
      -> GLenum -- ^ @variable@ of type [CombinerVariableNV](Graphics-GL-Groups.html#CombinerVariableNV).
      -> GLenum -- ^ @input@ of type [CombinerRegisterNV](Graphics-GL-Groups.html#CombinerRegisterNV).
      -> GLenum -- ^ @mapping@ of type [CombinerMappingNV](Graphics-GL-Groups.html#CombinerMappingNV).
      -> GLenum -- ^ @componentUsage@ of type [CombinerComponentUsageNV](Graphics-GL-Groups.html#CombinerComponentUsageNV).
      -> m ()
    glCombinerInputNV :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> m ()
    glCombinerInputNV GLenum
    v1 GLenum
    v2 GLenum
    v3 GLenum
    v4 GLenum
    v5 GLenum
    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
      (GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLenum
    -> IO ()
    dyn141 FunPtr
      (GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
    ptr_glCombinerInputNV GLenum
    v1 GLenum
    v2 GLenum
    v3 GLenum
    v4 GLenum
    v5 GLenum
    v6

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

    -- glCombinerOutputNV ----------------------------------------------------------

    glCombinerOutputNV
      :: MonadIO m
      => GLenum -- ^ @stage@ of type [CombinerStageNV](Graphics-GL-Groups.html#CombinerStageNV).
      -> GLenum -- ^ @portion@ of type [CombinerPortionNV](Graphics-GL-Groups.html#CombinerPortionNV).
      -> GLenum -- ^ @abOutput@ of type [CombinerRegisterNV](Graphics-GL-Groups.html#CombinerRegisterNV).
      -> GLenum -- ^ @cdOutput@ of type [CombinerRegisterNV](Graphics-GL-Groups.html#CombinerRegisterNV).
      -> GLenum -- ^ @sumOutput@ of type [CombinerRegisterNV](Graphics-GL-Groups.html#CombinerRegisterNV).
      -> GLenum -- ^ @scale@ of type [CombinerScaleNV](Graphics-GL-Groups.html#CombinerScaleNV).
      -> GLenum -- ^ @bias@ of type [CombinerBiasNV](Graphics-GL-Groups.html#CombinerBiasNV).
      -> GLboolean -- ^ @abDotProduct@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
      -> GLboolean -- ^ @cdDotProduct@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
      -> GLboolean -- ^ @muxSum@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
      -> m ()
    glCombinerOutputNV :: forall (m :: * -> *).
    MonadIO m =>
    GLenum
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLboolean
    -> GLboolean
    -> GLboolean
    -> m ()
    glCombinerOutputNV GLenum
    v1 GLenum
    v2 GLenum
    v3 GLenum
    v4 GLenum
    v5 GLenum
    v6 GLenum
    v7 GLboolean
    v8 GLboolean
    v9 GLboolean
    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
      (GLenum
       -> GLenum
       -> GLenum
       -> GLenum
       -> GLenum
       -> GLenum
       -> GLenum
       -> GLboolean
       -> GLboolean
       -> GLboolean
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLboolean
    -> GLboolean
    -> GLboolean
    -> IO ()
    dyn142 FunPtr
      (GLenum
       -> GLenum
       -> GLenum
       -> GLenum
       -> GLenum
       -> GLenum
       -> GLenum
       -> GLboolean
       -> GLboolean
       -> GLboolean
       -> IO ())
    ptr_glCombinerOutputNV GLenum
    v1 GLenum
    v2 GLenum
    v3 GLenum
    v4 GLenum
    v5 GLenum
    v6 GLenum
    v7 GLboolean
    v8 GLboolean
    v9 GLboolean
    v10

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

    -- glCombinerParameterfNV ------------------------------------------------------

    glCombinerParameterfNV
      :: MonadIO m
      => GLenum -- ^ @pname@ of type [CombinerParameterNV](Graphics-GL-Groups.html#CombinerParameterNV).
      -> GLfloat -- ^ @param@.
      -> m ()
    glCombinerParameterfNV :: forall (m :: * -> *). MonadIO m => GLenum -> GLfloat -> m ()
    glCombinerParameterfNV GLenum
    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 (GLenum -> GLfloat -> IO ()) -> GLenum -> GLfloat -> IO ()
    dyn0 FunPtr (GLenum -> GLfloat -> IO ())
    ptr_glCombinerParameterfNV GLenum
    v1 GLfloat
    v2

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

    -- glCombinerParameterfvNV -----------------------------------------------------

    glCombinerParameterfvNV
      :: MonadIO m
      => GLenum -- ^ @pname@ of type [CombinerParameterNV](Graphics-GL-Groups.html#CombinerParameterNV).
      -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
      -> m ()
    glCombinerParameterfvNV :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLfloat -> m ()
    glCombinerParameterfvNV GLenum
    v1 Ptr 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 (GLenum -> Ptr GLfloat -> IO ())
    -> GLenum -> Ptr GLfloat -> IO ()
    dyn101 FunPtr (GLenum -> Ptr GLfloat -> IO ())
    ptr_glCombinerParameterfvNV GLenum
    v1 Ptr GLfloat
    v2

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

    -- glCombinerParameteriNV ------------------------------------------------------

    glCombinerParameteriNV
      :: MonadIO m
      => GLenum -- ^ @pname@ of type [CombinerParameterNV](Graphics-GL-Groups.html#CombinerParameterNV).
      -> GLint -- ^ @param@.
      -> m ()
    glCombinerParameteriNV :: forall (m :: * -> *). MonadIO m => GLenum -> GLsizei -> m ()
    glCombinerParameteriNV GLenum
    v1 GLsizei
    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 (GLenum -> GLsizei -> IO ()) -> GLenum -> GLsizei -> IO ()
    dyn58 FunPtr (GLenum -> GLsizei -> IO ())
    ptr_glCombinerParameteriNV GLenum
    v1 GLsizei
    v2

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

    -- glCombinerParameterivNV -----------------------------------------------------

    glCombinerParameterivNV
      :: MonadIO m
      => GLenum -- ^ @pname@ of type [CombinerParameterNV](Graphics-GL-Groups.html#CombinerParameterNV).
      -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
      -> m ()
    glCombinerParameterivNV :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLsizei -> m ()
    glCombinerParameterivNV GLenum
    v1 Ptr GLsizei
    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 (GLenum -> Ptr GLsizei -> IO ())
    -> GLenum -> Ptr GLsizei -> IO ()
    dyn143 FunPtr (GLenum -> Ptr GLsizei -> IO ())
    ptr_glCombinerParameterivNV GLenum
    v1 Ptr GLsizei
    v2

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

    -- glCombinerStageParameterfvNV ------------------------------------------------

    glCombinerStageParameterfvNV
      :: MonadIO m
      => GLenum -- ^ @stage@ of type [CombinerStageNV](Graphics-GL-Groups.html#CombinerStageNV).
      -> GLenum -- ^ @pname@ of type [CombinerParameterNV](Graphics-GL-Groups.html#CombinerParameterNV).
      -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
      -> m ()
    glCombinerStageParameterfvNV :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLfloat -> m ()
    glCombinerStageParameterfvNV GLenum
    v1 GLenum
    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 (GLenum -> GLenum -> Ptr GLfloat -> IO ())
    -> GLenum -> GLenum -> Ptr GLfloat -> IO ()
    dyn139 FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
    ptr_glCombinerStageParameterfvNV GLenum
    v1 GLenum
    v2 Ptr GLfloat
    v3

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

    -- glCommandListSegmentsNV -----------------------------------------------------

    glCommandListSegmentsNV
      :: MonadIO m
      => GLuint -- ^ @list@.
      -> GLuint -- ^ @segments@.
      -> m ()
    glCommandListSegmentsNV :: forall (m :: * -> *). MonadIO m => GLenum -> GLenum -> m ()
    glCommandListSegmentsNV GLenum
    v1 GLenum
    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 (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> IO ()
    dyn4 FunPtr (GLenum -> GLenum -> IO ())
    ptr_glCommandListSegmentsNV GLenum
    v1 GLenum
    v2

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

    -- glCompileCommandListNV ------------------------------------------------------

    glCompileCommandListNV
      :: MonadIO m
      => GLuint -- ^ @list@.
      -> m ()
    glCompileCommandListNV :: forall (m :: * -> *). MonadIO m => GLenum -> m ()
    glCompileCommandListNV GLenum
    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 (GLenum -> IO ()) -> GLenum -> IO ()
    dyn3 FunPtr (GLenum -> IO ())
    ptr_glCompileCommandListNV GLenum
    v1

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

    -- glCompileShader -------------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glCompileShader.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glCompileShader.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glCompileShader.xhtml OpenGL 4.x>.
    glCompileShader
      :: MonadIO m
      => GLuint -- ^ @shader@.
      -> m ()
    glCompileShader :: forall (m :: * -> *). MonadIO m => GLenum -> m ()
    glCompileShader GLenum
    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 (GLenum -> IO ()) -> GLenum -> IO ()
    dyn3 FunPtr (GLenum -> IO ())
    ptr_glCompileShader GLenum
    v1

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

    -- glCompileShaderARB ----------------------------------------------------------

    -- | This command is an alias for 'glCompileShader'.
    glCompileShaderARB
      :: MonadIO m
      => GLhandleARB -- ^ @shaderObj@ of type @handleARB@.
      -> m ()
    glCompileShaderARB :: forall (m :: * -> *). MonadIO m => GLenum -> m ()
    glCompileShaderARB GLenum
    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 (GLenum -> IO ()) -> GLenum -> IO ()
    dyn144 FunPtr (GLenum -> IO ())
    ptr_glCompileShaderARB GLenum
    v1

    {-# NOINLINE ptr_glCompileShaderARB #-}
    ptr_glCompileShaderARB :: FunPtr (GLhandleARB -> IO ())
    ptr_glCompileShaderARB :: FunPtr (GLenum -> IO ())
    ptr_glCompileShaderARB = IO (FunPtr (GLenum -> IO ())) -> FunPtr (GLenum -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLenum -> IO ())) -> FunPtr (GLenum -> IO ()))
    -> IO (FunPtr (GLenum -> IO ())) -> FunPtr (GLenum -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLenum -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glCompileShaderARB"

    -- glCompileShaderIncludeARB ---------------------------------------------------

    glCompileShaderIncludeARB
      :: MonadIO m
      => GLuint -- ^ @shader@.
      -> GLsizei -- ^ @count@.
      -> Ptr (Ptr GLchar) -- ^ @path@ pointing to @count@ elements of type @Ptr GLchar@.
      -> Ptr GLint -- ^ @length@ pointing to @count@ elements of type @GLint@.
      -> m ()
    glCompileShaderIncludeARB :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLsizei -> m ()
    glCompileShaderIncludeARB GLenum
    v1 GLsizei
    v2 Ptr (Ptr GLchar)
    v3 Ptr GLsizei
    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
      (GLenum -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLsizei -> IO ())
    -> GLenum -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLsizei -> IO ()
    dyn145 FunPtr
      (GLenum -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLsizei -> IO ())
    ptr_glCompileShaderIncludeARB GLenum
    v1 GLsizei
    v2 Ptr (Ptr GLchar)
    v3 Ptr GLsizei
    v4

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

    -- glCompressedMultiTexImage1DEXT ----------------------------------------------

    glCompressedMultiTexImage1DEXT
      :: MonadIO m
      => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
      -> GLsizei -- ^ @width@.
      -> GLint -- ^ @border@ of type @CheckedInt32@.
      -> GLsizei -- ^ @imageSize@.
      -> Ptr a -- ^ @bits@ pointing to @imageSize@ elements of type @a@.
      -> m ()
    glCompressedMultiTexImage1DEXT :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum
    -> GLenum
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> Ptr a
    -> m ()
    glCompressedMultiTexImage1DEXT GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLenum
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    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
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> Ptr a
    -> IO ()
    forall a.
    FunPtr
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> Ptr a
    -> IO ()
    dyn146 FunPtr
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> Ptr a
       -> IO ())
    forall a.
    FunPtr
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> Ptr a
       -> IO ())
    ptr_glCompressedMultiTexImage1DEXT GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLenum
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 Ptr a
    v8

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

    -- glCompressedMultiTexImage2DEXT ----------------------------------------------

    glCompressedMultiTexImage2DEXT
      :: MonadIO m
      => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> GLint -- ^ @border@ of type @CheckedInt32@.
      -> GLsizei -- ^ @imageSize@.
      -> Ptr a -- ^ @bits@ pointing to @imageSize@ elements of type @a@.
      -> m ()
    glCompressedMultiTexImage2DEXT :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum
    -> GLenum
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> Ptr a
    -> m ()
    glCompressedMultiTexImage2DEXT GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLenum
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 GLsizei
    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
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> Ptr a
    -> IO ()
    forall a.
    FunPtr
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> Ptr a
    -> IO ()
    dyn147 FunPtr
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> Ptr a
       -> IO ())
    forall a.
    FunPtr
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> Ptr a
       -> IO ())
    ptr_glCompressedMultiTexImage2DEXT GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLenum
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 GLsizei
    v8 Ptr a
    v9

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

    -- glCompressedMultiTexImage3DEXT ----------------------------------------------

    glCompressedMultiTexImage3DEXT
      :: MonadIO m
      => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> GLsizei -- ^ @depth@.
      -> GLint -- ^ @border@ of type @CheckedInt32@.
      -> GLsizei -- ^ @imageSize@.
      -> Ptr a -- ^ @bits@ pointing to @imageSize@ elements of type @a@.
      -> m ()
    glCompressedMultiTexImage3DEXT :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum
    -> GLenum
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> Ptr a
    -> m ()
    glCompressedMultiTexImage3DEXT GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLenum
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 GLsizei
    v8 GLsizei
    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
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> Ptr a
    -> IO ()
    forall a.
    FunPtr
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> Ptr a
    -> IO ()
    dyn148 FunPtr
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> Ptr a
       -> IO ())
    forall a.
    FunPtr
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> Ptr a
       -> IO ())
    ptr_glCompressedMultiTexImage3DEXT GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLenum
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 GLsizei
    v8 GLsizei
    v9 Ptr a
    v10

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

    -- glCompressedMultiTexSubImage1DEXT -------------------------------------------

    glCompressedMultiTexSubImage1DEXT
      :: MonadIO m
      => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
      -> GLsizei -- ^ @width@.
      -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
      -> GLsizei -- ^ @imageSize@.
      -> Ptr a -- ^ @bits@ pointing to @imageSize@ elements of type @a@.
      -> m ()
    glCompressedMultiTexSubImage1DEXT :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> Ptr a
    -> m ()
    glCompressedMultiTexSubImage1DEXT GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 GLenum
    v6 GLsizei
    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
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> Ptr a
    -> IO ()
    forall a.
    FunPtr
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> Ptr a
    -> IO ()
    dyn149 FunPtr
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> Ptr a
       -> IO ())
    forall a.
    FunPtr
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> Ptr a
       -> IO ())
    ptr_glCompressedMultiTexSubImage1DEXT GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 GLenum
    v6 GLsizei
    v7 Ptr a
    v8

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

    -- glCompressedMultiTexSubImage2DEXT -------------------------------------------

    glCompressedMultiTexSubImage2DEXT
      :: MonadIO m
      => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
      -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
      -> GLsizei -- ^ @imageSize@.
      -> Ptr a -- ^ @bits@ pointing to @imageSize@ elements of type @a@.
      -> m ()
    glCompressedMultiTexSubImage2DEXT :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> Ptr a
    -> m ()
    glCompressedMultiTexSubImage2DEXT GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 GLenum
    v8 GLsizei
    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
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> Ptr a
    -> IO ()
    forall a.
    FunPtr
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> Ptr a
    -> IO ()
    dyn150 FunPtr
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> Ptr a
       -> IO ())
    forall a.
    FunPtr
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> Ptr a
       -> IO ())
    ptr_glCompressedMultiTexSubImage2DEXT GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 GLenum
    v8 GLsizei
    v9 Ptr a
    v10

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

    -- glCompressedMultiTexSubImage3DEXT -------------------------------------------

    glCompressedMultiTexSubImage3DEXT
      :: MonadIO m
      => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
      -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
      -> GLint -- ^ @zoffset@ of type @CheckedInt32@.
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> GLsizei -- ^ @depth@.
      -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
      -> GLsizei -- ^ @imageSize@.
      -> Ptr a -- ^ @bits@ pointing to @imageSize@ elements of type @a@.
      -> m ()
    glCompressedMultiTexSubImage3DEXT :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> Ptr a
    -> m ()
    glCompressedMultiTexSubImage3DEXT GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 GLsizei
    v8 GLsizei
    v9 GLenum
    v10 GLsizei
    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
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> Ptr a
    -> IO ()
    forall a.
    FunPtr
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> Ptr a
    -> IO ()
    dyn151 FunPtr
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> Ptr a
       -> IO ())
    forall a.
    FunPtr
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> Ptr a
       -> IO ())
    ptr_glCompressedMultiTexSubImage3DEXT GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 GLsizei
    v8 GLsizei
    v9 GLenum
    v10 GLsizei
    v11 Ptr a
    v12

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

    -- glCompressedTexImage1D ------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glCompressedTexImage1D.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glCompressedTexImage1D.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glCompressedTexImage1D.xhtml OpenGL 4.x>.
    glCompressedTexImage1D
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
      -> GLsizei -- ^ @width@.
      -> GLint -- ^ @border@ of type @CheckedInt32@.
      -> GLsizei -- ^ @imageSize@.
      -> Ptr a -- ^ @data@ pointing to @imageSize@ elements of type @CompressedTextureARB@.
      -> m ()
    glCompressedTexImage1D :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> Ptr a
    -> m ()
    glCompressedTexImage1D GLenum
    v1 GLsizei
    v2 GLenum
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    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
      (GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> Ptr a
    -> IO ()
    forall a.
    FunPtr
      (GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> Ptr a
    -> IO ()
    dyn152 FunPtr
      (GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> Ptr a
       -> IO ())
    forall a.
    FunPtr
      (GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> Ptr a
       -> IO ())
    ptr_glCompressedTexImage1D GLenum
    v1 GLsizei
    v2 GLenum
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 Ptr a
    v7

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

    -- glCompressedTexImage1DARB ---------------------------------------------------

    -- | This command is an alias for 'glCompressedTexImage1D'.
    glCompressedTexImage1DARB
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
      -> GLsizei -- ^ @width@.
      -> GLint -- ^ @border@ of type @CheckedInt32@.
      -> GLsizei -- ^ @imageSize@.
      -> Ptr a -- ^ @data@ pointing to @imageSize@ elements of type @CompressedTextureARB@.
      -> m ()
    glCompressedTexImage1DARB :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> Ptr a
    -> m ()
    glCompressedTexImage1DARB GLenum
    v1 GLsizei
    v2 GLenum
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    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
      (GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> Ptr a
    -> IO ()
    forall a.
    FunPtr
      (GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> Ptr a
    -> IO ()
    dyn152 FunPtr
      (GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> Ptr a
       -> IO ())
    forall a.
    FunPtr
      (GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> Ptr a
       -> IO ())
    ptr_glCompressedTexImage1DARB GLenum
    v1 GLsizei
    v2 GLenum
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 Ptr a
    v7

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

    -- glCompressedTexImage2D ------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glCompressedTexImage2D.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glCompressedTexImage2D.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glCompressedTexImage2D.xhtml OpenGL 4.x>.
    glCompressedTexImage2D
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> GLint -- ^ @border@ of type @CheckedInt32@.
      -> GLsizei -- ^ @imageSize@.
      -> Ptr a -- ^ @data@ pointing to @imageSize@ elements of type @CompressedTextureARB@.
      -> m ()
    glCompressedTexImage2D :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> Ptr a
    -> m ()
    glCompressedTexImage2D GLenum
    v1 GLsizei
    v2 GLenum
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    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
      (GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> Ptr a
    -> IO ()
    forall a.
    FunPtr
      (GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> Ptr a
    -> IO ()
    dyn153 FunPtr
      (GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> Ptr a
       -> IO ())
    forall a.
    FunPtr
      (GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> Ptr a
       -> IO ())
    ptr_glCompressedTexImage2D GLenum
    v1 GLsizei
    v2 GLenum
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 Ptr a
    v8

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

    -- glCompressedTexImage2DARB ---------------------------------------------------

    -- | This command is an alias for 'glCompressedTexImage2D'.
    glCompressedTexImage2DARB
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> GLint -- ^ @border@ of type @CheckedInt32@.
      -> GLsizei -- ^ @imageSize@.
      -> Ptr a -- ^ @data@ pointing to @imageSize@ elements of type @CompressedTextureARB@.
      -> m ()
    glCompressedTexImage2DARB :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> Ptr a
    -> m ()
    glCompressedTexImage2DARB GLenum
    v1 GLsizei
    v2 GLenum
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    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
      (GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> Ptr a
    -> IO ()
    forall a.
    FunPtr
      (GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> Ptr a
    -> IO ()
    dyn153 FunPtr
      (GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> Ptr a
       -> IO ())
    forall a.
    FunPtr
      (GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> Ptr a
       -> IO ())
    ptr_glCompressedTexImage2DARB GLenum
    v1 GLsizei
    v2 GLenum
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 Ptr a
    v8

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

    -- glCompressedTexImage3D ------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glCompressedTexImage3D.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glCompressedTexImage3D.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glCompressedTexImage3D.xhtml OpenGL 4.x>.
    glCompressedTexImage3D
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> GLsizei -- ^ @depth@.
      -> GLint -- ^ @border@ of type @CheckedInt32@.
      -> GLsizei -- ^ @imageSize@.
      -> Ptr a -- ^ @data@ pointing to @imageSize@ elements of type @CompressedTextureARB@.
      -> m ()
    glCompressedTexImage3D :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> Ptr a
    -> m ()
    glCompressedTexImage3D GLenum
    v1 GLsizei
    v2 GLenum
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 GLsizei
    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
      (GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> Ptr a
    -> IO ()
    forall a.
    FunPtr
      (GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> Ptr a
    -> IO ()
    dyn154 FunPtr
      (GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> Ptr a
       -> IO ())
    forall a.
    FunPtr
      (GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> Ptr a
       -> IO ())
    ptr_glCompressedTexImage3D GLenum
    v1 GLsizei
    v2 GLenum
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 GLsizei
    v8 Ptr a
    v9

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

    -- glCompressedTexImage3DARB ---------------------------------------------------

    -- | This command is an alias for 'glCompressedTexImage3D'.
    glCompressedTexImage3DARB
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> GLsizei -- ^ @depth@.
      -> GLint -- ^ @border@ of type @CheckedInt32@.
      -> GLsizei -- ^ @imageSize@.
      -> Ptr a -- ^ @data@ pointing to @imageSize@ elements of type @CompressedTextureARB@.
      -> m ()
    glCompressedTexImage3DARB :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> Ptr a
    -> m ()
    glCompressedTexImage3DARB GLenum
    v1 GLsizei
    v2 GLenum
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 GLsizei
    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
      (GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> Ptr a
    -> IO ()
    forall a.
    FunPtr
      (GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> Ptr a
    -> IO ()
    dyn154 FunPtr
      (GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> Ptr a
       -> IO ())
    forall a.
    FunPtr
      (GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> Ptr a
       -> IO ())
    ptr_glCompressedTexImage3DARB GLenum
    v1 GLsizei
    v2 GLenum
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 GLsizei
    v8 Ptr a
    v9

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

    -- glCompressedTexImage3DOES ---------------------------------------------------

    glCompressedTexImage3DOES
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLint -- ^ @level@.
      -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> GLsizei -- ^ @depth@.
      -> GLint -- ^ @border@.
      -> GLsizei -- ^ @imageSize@.
      -> Ptr a -- ^ @data@ pointing to @imageSize@ elements of type @a@.
      -> m ()
    glCompressedTexImage3DOES :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> Ptr a
    -> m ()
    glCompressedTexImage3DOES GLenum
    v1 GLsizei
    v2 GLenum
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 GLsizei
    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
      (GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> Ptr a
    -> IO ()
    forall a.
    FunPtr
      (GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> Ptr a
    -> IO ()
    dyn154 FunPtr
      (GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> Ptr a
       -> IO ())
    forall a.
    FunPtr
      (GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> Ptr a
       -> IO ())
    ptr_glCompressedTexImage3DOES GLenum
    v1 GLsizei
    v2 GLenum
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 GLsizei
    v8 Ptr a
    v9

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

    -- glCompressedTexSubImage1D ---------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glCompressedTexSubImage1D.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glCompressedTexSubImage1D.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glCompressedTexSubImage1D.xhtml OpenGL 4.x>.
    glCompressedTexSubImage1D
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
      -> GLsizei -- ^ @width@.
      -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
      -> GLsizei -- ^ @imageSize@.
      -> Ptr a -- ^ @data@ pointing to @imageSize@ elements of type @CompressedTextureARB@.
      -> m ()
    glCompressedTexSubImage1D :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> Ptr a
    -> m ()
    glCompressedTexSubImage1D GLenum
    v1 GLsizei
    v2 GLsizei
    v3 GLsizei
    v4 GLenum
    v5 GLsizei
    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
      (GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> Ptr a
    -> IO ()
    forall a.
    FunPtr
      (GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> Ptr a
    -> IO ()
    dyn155 FunPtr
      (GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> Ptr a
       -> IO ())
    forall a.
    FunPtr
      (GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> Ptr a
       -> IO ())
    ptr_glCompressedTexSubImage1D GLenum
    v1 GLsizei
    v2 GLsizei
    v3 GLsizei
    v4 GLenum
    v5 GLsizei
    v6 Ptr a
    v7

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

    -- glCompressedTexSubImage1DARB ------------------------------------------------

    -- | This command is an alias for 'glCompressedTexSubImage1D'.
    glCompressedTexSubImage1DARB
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
      -> GLsizei -- ^ @width@.
      -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
      -> GLsizei -- ^ @imageSize@.
      -> Ptr a -- ^ @data@ pointing to @imageSize@ elements of type @CompressedTextureARB@.
      -> m ()
    glCompressedTexSubImage1DARB :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> Ptr a
    -> m ()
    glCompressedTexSubImage1DARB GLenum
    v1 GLsizei
    v2 GLsizei
    v3 GLsizei
    v4 GLenum
    v5 GLsizei
    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
      (GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> Ptr a
    -> IO ()
    forall a.
    FunPtr
      (GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> Ptr a
    -> IO ()
    dyn155 FunPtr
      (GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> Ptr a
       -> IO ())
    forall a.
    FunPtr
      (GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> Ptr a
       -> IO ())
    ptr_glCompressedTexSubImage1DARB GLenum
    v1 GLsizei
    v2 GLsizei
    v3 GLsizei
    v4 GLenum
    v5 GLsizei
    v6 Ptr a
    v7

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

    -- glCompressedTexSubImage2D ---------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glCompressedTexSubImage2D.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glCompressedTexSubImage2D.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glCompressedTexSubImage2D.xhtml OpenGL 4.x>.
    glCompressedTexSubImage2D
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
      -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
      -> GLsizei -- ^ @imageSize@.
      -> Ptr a -- ^ @data@ pointing to @imageSize@ elements of type @CompressedTextureARB@.
      -> m ()
    glCompressedTexSubImage2D :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> Ptr a
    -> m ()
    glCompressedTexSubImage2D GLenum
    v1 GLsizei
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLenum
    v7 GLsizei
    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
      (GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> Ptr a
    -> IO ()
    forall a.
    FunPtr
      (GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> Ptr a
    -> IO ()
    dyn156 FunPtr
      (GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> Ptr a
       -> IO ())
    forall a.
    FunPtr
      (GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> Ptr a
       -> IO ())
    ptr_glCompressedTexSubImage2D GLenum
    v1 GLsizei
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLenum
    v7 GLsizei
    v8 Ptr a
    v9

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

    -- glCompressedTexSubImage2DARB ------------------------------------------------

    -- | This command is an alias for 'glCompressedTexSubImage2D'.
    glCompressedTexSubImage2DARB
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
      -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
      -> GLsizei -- ^ @imageSize@.
      -> Ptr a -- ^ @data@ pointing to @imageSize@ elements of type @CompressedTextureARB@.
      -> m ()
    glCompressedTexSubImage2DARB :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> Ptr a
    -> m ()
    glCompressedTexSubImage2DARB GLenum
    v1 GLsizei
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLenum
    v7 GLsizei
    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
      (GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> Ptr a
    -> IO ()
    forall a.
    FunPtr
      (GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> Ptr a
    -> IO ()
    dyn156 FunPtr
      (GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> Ptr a
       -> IO ())
    forall a.
    FunPtr
      (GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> Ptr a
       -> IO ())
    ptr_glCompressedTexSubImage2DARB GLenum
    v1 GLsizei
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLenum
    v7 GLsizei
    v8 Ptr a
    v9

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

    -- glCompressedTexSubImage3D ---------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glCompressedTexSubImage3D.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glCompressedTexSubImage3D.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glCompressedTexSubImage3D.xhtml OpenGL 4.x>.
    glCompressedTexSubImage3D
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
      -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
      -> GLint -- ^ @zoffset@ of type @CheckedInt32@.
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> GLsizei -- ^ @depth@.
      -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
      -> GLsizei -- ^ @imageSize@.
      -> Ptr a -- ^ @data@ pointing to @imageSize@ elements of type @CompressedTextureARB@.
      -> m ()
    glCompressedTexSubImage3D :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> Ptr a
    -> m ()
    glCompressedTexSubImage3D GLenum
    v1 GLsizei
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 GLsizei
    v8 GLenum
    v9 GLsizei
    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
      (GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> Ptr a
    -> IO ()
    forall a.
    FunPtr
      (GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> Ptr a
    -> IO ()
    dyn157 FunPtr
      (GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> Ptr a
       -> IO ())
    forall a.
    FunPtr
      (GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> Ptr a
       -> IO ())
    ptr_glCompressedTexSubImage3D GLenum
    v1 GLsizei
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 GLsizei
    v8 GLenum
    v9 GLsizei
    v10 Ptr a
    v11

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

    -- glCompressedTexSubImage3DARB ------------------------------------------------

    -- | This command is an alias for 'glCompressedTexSubImage3D'.
    glCompressedTexSubImage3DARB
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
      -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
      -> GLint -- ^ @zoffset@ of type @CheckedInt32@.
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> GLsizei -- ^ @depth@.
      -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
      -> GLsizei -- ^ @imageSize@.
      -> Ptr a -- ^ @data@ pointing to @imageSize@ elements of type @CompressedTextureARB@.
      -> m ()
    glCompressedTexSubImage3DARB :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> Ptr a
    -> m ()
    glCompressedTexSubImage3DARB GLenum
    v1 GLsizei
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 GLsizei
    v8 GLenum
    v9 GLsizei
    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
      (GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> Ptr a
    -> IO ()
    forall a.
    FunPtr
      (GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> Ptr a
    -> IO ()
    dyn157 FunPtr
      (GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> Ptr a
       -> IO ())
    forall a.
    FunPtr
      (GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> Ptr a
       -> IO ())
    ptr_glCompressedTexSubImage3DARB GLenum
    v1 GLsizei
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 GLsizei
    v8 GLenum
    v9 GLsizei
    v10 Ptr a
    v11

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

    -- glCompressedTexSubImage3DOES ------------------------------------------------

    glCompressedTexSubImage3DOES
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLint -- ^ @level@.
      -> GLint -- ^ @xoffset@.
      -> GLint -- ^ @yoffset@.
      -> GLint -- ^ @zoffset@.
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> GLsizei -- ^ @depth@.
      -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
      -> GLsizei -- ^ @imageSize@.
      -> Ptr a -- ^ @data@ pointing to @imageSize@ elements of type @a@.
      -> m ()
    glCompressedTexSubImage3DOES :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> Ptr a
    -> m ()
    glCompressedTexSubImage3DOES GLenum
    v1 GLsizei
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 GLsizei
    v8 GLenum
    v9 GLsizei
    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
      (GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> Ptr a
    -> IO ()
    forall a.
    FunPtr
      (GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> Ptr a
    -> IO ()
    dyn157 FunPtr
      (GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> Ptr a
       -> IO ())
    forall a.
    FunPtr
      (GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> Ptr a
       -> IO ())
    ptr_glCompressedTexSubImage3DOES GLenum
    v1 GLsizei
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 GLsizei
    v8 GLenum
    v9 GLsizei
    v10 Ptr a
    v11

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

    -- glCompressedTextureImage1DEXT -----------------------------------------------

    glCompressedTextureImage1DEXT
      :: MonadIO m
      => GLuint -- ^ @texture@ of type @Texture@.
      -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
      -> GLsizei -- ^ @width@.
      -> GLint -- ^ @border@ of type @CheckedInt32@.
      -> GLsizei -- ^ @imageSize@.
      -> Ptr a -- ^ @bits@ pointing to @imageSize@ elements of type @a@.
      -> m ()
    glCompressedTextureImage1DEXT :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum
    -> GLenum
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> Ptr a
    -> m ()
    glCompressedTextureImage1DEXT GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLenum
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    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
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> Ptr a
    -> IO ()
    forall a.
    FunPtr
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> Ptr a
    -> IO ()
    dyn158 FunPtr
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> Ptr a
       -> IO ())
    forall a.
    FunPtr
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> Ptr a
       -> IO ())
    ptr_glCompressedTextureImage1DEXT GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLenum
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 Ptr a
    v8

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

    -- glCompressedTextureImage2DEXT -----------------------------------------------

    glCompressedTextureImage2DEXT
      :: MonadIO m
      => GLuint -- ^ @texture@ of type @Texture@.
      -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> GLint -- ^ @border@ of type @CheckedInt32@.
      -> GLsizei -- ^ @imageSize@.
      -> Ptr a -- ^ @bits@ pointing to @imageSize@ elements of type @a@.
      -> m ()
    glCompressedTextureImage2DEXT :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum
    -> GLenum
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> Ptr a
    -> m ()
    glCompressedTextureImage2DEXT GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLenum
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 GLsizei
    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
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> Ptr a
    -> IO ()
    forall a.
    FunPtr
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> Ptr a
    -> IO ()
    dyn159 FunPtr
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> Ptr a
       -> IO ())
    forall a.
    FunPtr
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> Ptr a
       -> IO ())
    ptr_glCompressedTextureImage2DEXT GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLenum
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 GLsizei
    v8 Ptr a
    v9

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

    -- glCompressedTextureImage3DEXT -----------------------------------------------

    glCompressedTextureImage3DEXT
      :: MonadIO m
      => GLuint -- ^ @texture@ of type @Texture@.
      -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> GLsizei -- ^ @depth@.
      -> GLint -- ^ @border@ of type @CheckedInt32@.
      -> GLsizei -- ^ @imageSize@.
      -> Ptr a -- ^ @bits@ pointing to @imageSize@ elements of type @a@.
      -> m ()
    glCompressedTextureImage3DEXT :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum
    -> GLenum
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> Ptr a
    -> m ()
    glCompressedTextureImage3DEXT GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLenum
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 GLsizei
    v8 GLsizei
    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
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> Ptr a
    -> IO ()
    forall a.
    FunPtr
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> Ptr a
    -> IO ()
    dyn160 FunPtr
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> Ptr a
       -> IO ())
    forall a.
    FunPtr
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> Ptr a
       -> IO ())
    ptr_glCompressedTextureImage3DEXT GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLenum
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 GLsizei
    v8 GLsizei
    v9 Ptr a
    v10

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

    -- glCompressedTextureSubImage1D -----------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glCompressedTexSubImage1D.xhtml OpenGL 4.x>.
    glCompressedTextureSubImage1D
      :: MonadIO m
      => GLuint -- ^ @texture@.
      -> GLint -- ^ @level@.
      -> GLint -- ^ @xoffset@.
      -> GLsizei -- ^ @width@.
      -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
      -> GLsizei -- ^ @imageSize@.
      -> Ptr a -- ^ @data@.
      -> m ()
    glCompressedTextureSubImage1D :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> Ptr a
    -> m ()
    glCompressedTextureSubImage1D GLenum
    v1 GLsizei
    v2 GLsizei
    v3 GLsizei
    v4 GLenum
    v5 GLsizei
    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
      (GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> Ptr a
    -> IO ()
    forall a.
    FunPtr
      (GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> Ptr a
    -> IO ()
    dyn161 FunPtr
      (GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> Ptr a
       -> IO ())
    forall a.
    FunPtr
      (GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> Ptr a
       -> IO ())
    ptr_glCompressedTextureSubImage1D GLenum
    v1 GLsizei
    v2 GLsizei
    v3 GLsizei
    v4 GLenum
    v5 GLsizei
    v6 Ptr a
    v7

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

    -- glCompressedTextureSubImage1DEXT --------------------------------------------

    glCompressedTextureSubImage1DEXT
      :: MonadIO m
      => GLuint -- ^ @texture@ of type @Texture@.
      -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
      -> GLsizei -- ^ @width@.
      -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
      -> GLsizei -- ^ @imageSize@.
      -> Ptr a -- ^ @bits@ pointing to @imageSize@ elements of type @a@.
      -> m ()
    glCompressedTextureSubImage1DEXT :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> Ptr a
    -> m ()
    glCompressedTextureSubImage1DEXT GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 GLenum
    v6 GLsizei
    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
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> Ptr a
    -> IO ()
    forall a.
    FunPtr
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> Ptr a
    -> IO ()
    dyn162 FunPtr
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> Ptr a
       -> IO ())
    forall a.
    FunPtr
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> Ptr a
       -> IO ())
    ptr_glCompressedTextureSubImage1DEXT GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 GLenum
    v6 GLsizei
    v7 Ptr a
    v8

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

    -- glCompressedTextureSubImage2D -----------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glCompressedTexSubImage2D.xhtml OpenGL 4.x>.
    glCompressedTextureSubImage2D
      :: MonadIO m
      => GLuint -- ^ @texture@.
      -> GLint -- ^ @level@.
      -> GLint -- ^ @xoffset@.
      -> GLint -- ^ @yoffset@.
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
      -> GLsizei -- ^ @imageSize@.
      -> Ptr a -- ^ @data@.
      -> m ()
    glCompressedTextureSubImage2D :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> Ptr a
    -> m ()
    glCompressedTextureSubImage2D GLenum
    v1 GLsizei
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLenum
    v7 GLsizei
    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
      (GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> Ptr a
    -> IO ()
    forall a.
    FunPtr
      (GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> Ptr a
    -> IO ()
    dyn163 FunPtr
      (GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> Ptr a
       -> IO ())
    forall a.
    FunPtr
      (GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> Ptr a
       -> IO ())
    ptr_glCompressedTextureSubImage2D GLenum
    v1 GLsizei
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLenum
    v7 GLsizei
    v8 Ptr a
    v9

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

    -- glCompressedTextureSubImage2DEXT --------------------------------------------

    glCompressedTextureSubImage2DEXT
      :: MonadIO m
      => GLuint -- ^ @texture@ of type @Texture@.
      -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
      -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
      -> GLsizei -- ^ @imageSize@.
      -> Ptr a -- ^ @bits@ pointing to @imageSize@ elements of type @a@.
      -> m ()
    glCompressedTextureSubImage2DEXT :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> Ptr a
    -> m ()
    glCompressedTextureSubImage2DEXT GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 GLenum
    v8 GLsizei
    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
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> Ptr a
    -> IO ()
    forall a.
    FunPtr
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> Ptr a
    -> IO ()
    dyn164 FunPtr
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> Ptr a
       -> IO ())
    forall a.
    FunPtr
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> Ptr a
       -> IO ())
    ptr_glCompressedTextureSubImage2DEXT GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 GLenum
    v8 GLsizei
    v9 Ptr a
    v10

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

    -- glCompressedTextureSubImage3D -----------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glCompressedTexSubImage3D.xhtml OpenGL 4.x>.
    glCompressedTextureSubImage3D
      :: MonadIO m
      => GLuint -- ^ @texture@.
      -> GLint -- ^ @level@.
      -> GLint -- ^ @xoffset@.
      -> GLint -- ^ @yoffset@.
      -> GLint -- ^ @zoffset@.
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> GLsizei -- ^ @depth@.
      -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
      -> GLsizei -- ^ @imageSize@.
      -> Ptr a -- ^ @data@.
      -> m ()
    glCompressedTextureSubImage3D :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> Ptr a
    -> m ()
    glCompressedTextureSubImage3D GLenum
    v1 GLsizei
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 GLsizei
    v8 GLenum
    v9 GLsizei
    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
      (GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> Ptr a
    -> IO ()
    forall a.
    FunPtr
      (GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> Ptr a
    -> IO ()
    dyn165 FunPtr
      (GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> Ptr a
       -> IO ())
    forall a.
    FunPtr
      (GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> Ptr a
       -> IO ())
    ptr_glCompressedTextureSubImage3D GLenum
    v1 GLsizei
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 GLsizei
    v8 GLenum
    v9 GLsizei
    v10 Ptr a
    v11

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

    -- glCompressedTextureSubImage3DEXT --------------------------------------------

    glCompressedTextureSubImage3DEXT
      :: MonadIO m
      => GLuint -- ^ @texture@ of type @Texture@.
      -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
      -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
      -> GLint -- ^ @zoffset@ of type @CheckedInt32@.
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> GLsizei -- ^ @depth@.
      -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
      -> GLsizei -- ^ @imageSize@.
      -> Ptr a -- ^ @bits@ pointing to @imageSize@ elements of type @a@.
      -> m ()
    glCompressedTextureSubImage3DEXT :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> Ptr a
    -> m ()
    glCompressedTextureSubImage3DEXT GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 GLsizei
    v8 GLsizei
    v9 GLenum
    v10 GLsizei
    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
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> Ptr a
    -> IO ()
    forall a.
    FunPtr
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> Ptr a
    -> IO ()
    dyn166 FunPtr
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> Ptr a
       -> IO ())
    forall a.
    FunPtr
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> Ptr a
       -> IO ())
    ptr_glCompressedTextureSubImage3DEXT GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 GLsizei
    v8 GLsizei
    v9 GLenum
    v10 GLsizei
    v11 Ptr a
    v12

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

    -- glConservativeRasterParameterfNV --------------------------------------------

    glConservativeRasterParameterfNV
      :: MonadIO m
      => GLenum -- ^ @pname@.
      -> GLfloat -- ^ @value@.
      -> m ()
    glConservativeRasterParameterfNV :: forall (m :: * -> *). MonadIO m => GLenum -> GLfloat -> m ()
    glConservativeRasterParameterfNV GLenum
    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 (GLenum -> GLfloat -> IO ()) -> GLenum -> GLfloat -> IO ()
    dyn0 FunPtr (GLenum -> GLfloat -> IO ())
    ptr_glConservativeRasterParameterfNV GLenum
    v1 GLfloat
    v2

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

    -- glConservativeRasterParameteriNV --------------------------------------------

    glConservativeRasterParameteriNV
      :: MonadIO m
      => GLenum -- ^ @pname@.
      -> GLint -- ^ @param@.
      -> m ()
    glConservativeRasterParameteriNV :: forall (m :: * -> *). MonadIO m => GLenum -> GLsizei -> m ()
    glConservativeRasterParameteriNV GLenum
    v1 GLsizei
    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 (GLenum -> GLsizei -> IO ()) -> GLenum -> GLsizei -> IO ()
    dyn58 FunPtr (GLenum -> GLsizei -> IO ())
    ptr_glConservativeRasterParameteriNV GLenum
    v1 GLsizei
    v2

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

    -- glConvolutionFilter1D -------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glConvolutionFilter1D.xml OpenGL 2.x>.
    glConvolutionFilter1D
      :: MonadIO m
      => GLenum -- ^ @target@ of type [ConvolutionTarget](Graphics-GL-Groups.html#ConvolutionTarget).
      -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
      -> GLsizei -- ^ @width@.
      -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
      -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
      -> Ptr a -- ^ @image@ pointing to @COMPSIZE(format,type,width)@ elements of type @a@.
      -> m ()
    glConvolutionFilter1D :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()
    glConvolutionFilter1D GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLenum
    v4 GLenum
    v5 Ptr a
    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
      (GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLenum
    -> GLenum
    -> Ptr a
    -> IO ()
    forall a.
    FunPtr
      (GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLenum
    -> GLenum
    -> Ptr a
    -> IO ()
    dyn138 FunPtr
      (GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
    forall a.
    FunPtr
      (GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
    ptr_glConvolutionFilter1D GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLenum
    v4 GLenum
    v5 Ptr a
    v6

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

    -- glConvolutionFilter1DEXT ----------------------------------------------------

    -- | This command is an alias for 'glConvolutionFilter1D'.
    glConvolutionFilter1DEXT
      :: MonadIO m
      => GLenum -- ^ @target@ of type [ConvolutionTargetEXT](Graphics-GL-Groups.html#ConvolutionTargetEXT).
      -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
      -> GLsizei -- ^ @width@.
      -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
      -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
      -> Ptr a -- ^ @image@ pointing to @COMPSIZE(format,type,width)@ elements of type @a@.
      -> m ()
    glConvolutionFilter1DEXT :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()
    glConvolutionFilter1DEXT GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLenum
    v4 GLenum
    v5 Ptr a
    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
      (GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLenum
    -> GLenum
    -> Ptr a
    -> IO ()
    forall a.
    FunPtr
      (GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLenum
    -> GLenum
    -> Ptr a
    -> IO ()
    dyn138 FunPtr
      (GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
    forall a.
    FunPtr
      (GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
    ptr_glConvolutionFilter1DEXT GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLenum
    v4 GLenum
    v5 Ptr a
    v6

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

    -- glConvolutionFilter2D -------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glConvolutionFilter2D.xml OpenGL 2.x>.
    glConvolutionFilter2D
      :: MonadIO m
      => GLenum -- ^ @target@ of type [ConvolutionTarget](Graphics-GL-Groups.html#ConvolutionTarget).
      -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
      -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
      -> Ptr a -- ^ @image@ pointing to @COMPSIZE(format,type,width,height)@ elements of type @a@.
      -> m ()
    glConvolutionFilter2D :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLenum
    -> Ptr a
    -> m ()
    glConvolutionFilter2D GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLsizei
    v4 GLenum
    v5 GLenum
    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
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLenum
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLenum
    -> Ptr a
    -> IO ()
    forall a.
    FunPtr
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLenum
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLenum
    -> Ptr a
    -> IO ()
    dyn167 FunPtr
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLenum
       -> Ptr a
       -> IO ())
    forall a.
    FunPtr
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLenum
       -> Ptr a
       -> IO ())
    ptr_glConvolutionFilter2D GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLsizei
    v4 GLenum
    v5 GLenum
    v6 Ptr a
    v7

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

    -- glConvolutionFilter2DEXT ----------------------------------------------------

    -- | This command is an alias for 'glConvolutionFilter2D'.
    glConvolutionFilter2DEXT
      :: MonadIO m
      => GLenum -- ^ @target@ of type [ConvolutionTargetEXT](Graphics-GL-Groups.html#ConvolutionTargetEXT).
      -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
      -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
      -> Ptr a -- ^ @image@ pointing to @COMPSIZE(format,type,width,height)@ elements of type @a@.
      -> m ()
    glConvolutionFilter2DEXT :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLenum
    -> Ptr a
    -> m ()
    glConvolutionFilter2DEXT GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLsizei
    v4 GLenum
    v5 GLenum
    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
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLenum
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLenum
    -> Ptr a
    -> IO ()
    forall a.
    FunPtr
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLenum
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLenum
    -> Ptr a
    -> IO ()
    dyn167 FunPtr
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLenum
       -> Ptr a
       -> IO ())
    forall a.
    FunPtr
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLenum
       -> Ptr a
       -> IO ())
    ptr_glConvolutionFilter2DEXT GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLsizei
    v4 GLenum
    v5 GLenum
    v6 Ptr a
    v7

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

    -- glConvolutionParameterf -----------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glConvolutionParameter.xml OpenGL 2.x>.
    glConvolutionParameterf
      :: MonadIO m
      => GLenum -- ^ @target@ of type [ConvolutionTarget](Graphics-GL-Groups.html#ConvolutionTarget).
      -> GLenum -- ^ @pname@ of type [ConvolutionParameterEXT](Graphics-GL-Groups.html#ConvolutionParameterEXT).
      -> GLfloat -- ^ @params@ of type @CheckedFloat32@.
      -> m ()
    glConvolutionParameterf :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLfloat -> m ()
    glConvolutionParameterf GLenum
    v1 GLenum
    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 (GLenum -> GLenum -> GLfloat -> IO ())
    -> GLenum -> GLenum -> GLfloat -> IO ()
    dyn168 FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
    ptr_glConvolutionParameterf GLenum
    v1 GLenum
    v2 GLfloat
    v3

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

    -- glConvolutionParameterfEXT --------------------------------------------------

    -- | This command is an alias for 'glConvolutionParameterf'.
    glConvolutionParameterfEXT
      :: MonadIO m
      => GLenum -- ^ @target@ of type [ConvolutionTargetEXT](Graphics-GL-Groups.html#ConvolutionTargetEXT).
      -> GLenum -- ^ @pname@ of type [ConvolutionParameterEXT](Graphics-GL-Groups.html#ConvolutionParameterEXT).
      -> GLfloat -- ^ @params@ of type @CheckedFloat32@.
      -> m ()
    glConvolutionParameterfEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLfloat -> m ()
    glConvolutionParameterfEXT GLenum
    v1 GLenum
    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 (GLenum -> GLenum -> GLfloat -> IO ())
    -> GLenum -> GLenum -> GLfloat -> IO ()
    dyn168 FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
    ptr_glConvolutionParameterfEXT GLenum
    v1 GLenum
    v2 GLfloat
    v3

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

    -- glConvolutionParameterfv ----------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glConvolutionParameter.xml OpenGL 2.x>.
    glConvolutionParameterfv
      :: MonadIO m
      => GLenum -- ^ @target@ of type [ConvolutionTarget](Graphics-GL-Groups.html#ConvolutionTarget).
      -> GLenum -- ^ @pname@ of type [ConvolutionParameterEXT](Graphics-GL-Groups.html#ConvolutionParameterEXT).
      -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
      -> m ()
    glConvolutionParameterfv :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLfloat -> m ()
    glConvolutionParameterfv GLenum
    v1 GLenum
    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 (GLenum -> GLenum -> Ptr GLfloat -> IO ())
    -> GLenum -> GLenum -> Ptr GLfloat -> IO ()
    dyn139 FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
    ptr_glConvolutionParameterfv GLenum
    v1 GLenum
    v2 Ptr GLfloat
    v3

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

    -- glConvolutionParameterfvEXT -------------------------------------------------

    -- | This command is an alias for 'glConvolutionParameterfv'.
    glConvolutionParameterfvEXT
      :: MonadIO m
      => GLenum -- ^ @target@ of type [ConvolutionTargetEXT](Graphics-GL-Groups.html#ConvolutionTargetEXT).
      -> GLenum -- ^ @pname@ of type [ConvolutionParameterEXT](Graphics-GL-Groups.html#ConvolutionParameterEXT).
      -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
      -> m ()
    glConvolutionParameterfvEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLfloat -> m ()
    glConvolutionParameterfvEXT GLenum
    v1 GLenum
    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 (GLenum -> GLenum -> Ptr GLfloat -> IO ())
    -> GLenum -> GLenum -> Ptr GLfloat -> IO ()
    dyn139 FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
    ptr_glConvolutionParameterfvEXT GLenum
    v1 GLenum
    v2 Ptr GLfloat
    v3

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

    -- glConvolutionParameteri -----------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glConvolutionParameter.xml OpenGL 2.x>.
    glConvolutionParameteri
      :: MonadIO m
      => GLenum -- ^ @target@ of type [ConvolutionTarget](Graphics-GL-Groups.html#ConvolutionTarget).
      -> GLenum -- ^ @pname@ of type [ConvolutionParameterEXT](Graphics-GL-Groups.html#ConvolutionParameterEXT).
      -> GLint -- ^ @params@ of type @CheckedInt32@.
      -> m ()
    glConvolutionParameteri :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLsizei -> m ()
    glConvolutionParameteri GLenum
    v1 GLenum
    v2 GLsizei
    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 (GLenum -> GLenum -> GLsizei -> IO ())
    -> GLenum -> GLenum -> GLsizei -> IO ()
    dyn66 FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
    ptr_glConvolutionParameteri GLenum
    v1 GLenum
    v2 GLsizei
    v3

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

    -- glConvolutionParameteriEXT --------------------------------------------------

    -- | This command is an alias for 'glConvolutionParameteri'.
    glConvolutionParameteriEXT
      :: MonadIO m
      => GLenum -- ^ @target@ of type [ConvolutionTargetEXT](Graphics-GL-Groups.html#ConvolutionTargetEXT).
      -> GLenum -- ^ @pname@ of type [ConvolutionParameterEXT](Graphics-GL-Groups.html#ConvolutionParameterEXT).
      -> GLint -- ^ @params@ of type @CheckedInt32@.
      -> m ()
    glConvolutionParameteriEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLsizei -> m ()
    glConvolutionParameteriEXT GLenum
    v1 GLenum
    v2 GLsizei
    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 (GLenum -> GLenum -> GLsizei -> IO ())
    -> GLenum -> GLenum -> GLsizei -> IO ()
    dyn66 FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
    ptr_glConvolutionParameteriEXT GLenum
    v1 GLenum
    v2 GLsizei
    v3

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

    -- glConvolutionParameteriv ----------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glConvolutionParameter.xml OpenGL 2.x>.
    glConvolutionParameteriv
      :: MonadIO m
      => GLenum -- ^ @target@ of type [ConvolutionTarget](Graphics-GL-Groups.html#ConvolutionTarget).
      -> GLenum -- ^ @pname@ of type [ConvolutionParameterEXT](Graphics-GL-Groups.html#ConvolutionParameterEXT).
      -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
      -> m ()
    glConvolutionParameteriv :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLsizei -> m ()
    glConvolutionParameteriv GLenum
    v1 GLenum
    v2 Ptr GLsizei
    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 (GLenum -> GLenum -> Ptr GLsizei -> IO ())
    -> GLenum -> GLenum -> Ptr GLsizei -> IO ()
    dyn140 FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
    ptr_glConvolutionParameteriv GLenum
    v1 GLenum
    v2 Ptr GLsizei
    v3

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

    -- glConvolutionParameterivEXT -------------------------------------------------

    -- | This command is an alias for 'glConvolutionParameteriv'.
    glConvolutionParameterivEXT
      :: MonadIO m
      => GLenum -- ^ @target@ of type [ConvolutionTargetEXT](Graphics-GL-Groups.html#ConvolutionTargetEXT).
      -> GLenum -- ^ @pname@ of type [ConvolutionParameterEXT](Graphics-GL-Groups.html#ConvolutionParameterEXT).
      -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
      -> m ()
    glConvolutionParameterivEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLsizei -> m ()
    glConvolutionParameterivEXT GLenum
    v1 GLenum
    v2 Ptr GLsizei
    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 (GLenum -> GLenum -> Ptr GLsizei -> IO ())
    -> GLenum -> GLenum -> Ptr GLsizei -> IO ()
    dyn140 FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
    ptr_glConvolutionParameterivEXT GLenum
    v1 GLenum
    v2 Ptr GLsizei
    v3

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

    -- glConvolutionParameterxOES --------------------------------------------------

    glConvolutionParameterxOES
      :: MonadIO m
      => GLenum -- ^ @target@ of type [ConvolutionTargetEXT](Graphics-GL-Groups.html#ConvolutionTargetEXT).
      -> GLenum -- ^ @pname@ of type [ConvolutionParameterEXT](Graphics-GL-Groups.html#ConvolutionParameterEXT).
      -> GLfixed -- ^ @param@.
      -> m ()
    glConvolutionParameterxOES :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLfixed -> m ()
    glConvolutionParameterxOES GLenum
    v1 GLenum
    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 (GLenum -> GLenum -> GLfixed -> IO ())
    -> GLenum -> GLenum -> GLfixed -> IO ()
    dyn169 FunPtr (GLenum -> GLenum -> GLfixed -> IO ())
    ptr_glConvolutionParameterxOES GLenum
    v1 GLenum
    v2 GLfixed
    v3

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

    -- glConvolutionParameterxvOES -------------------------------------------------

    glConvolutionParameterxvOES
      :: MonadIO m
      => GLenum -- ^ @target@ of type [ConvolutionTargetEXT](Graphics-GL-Groups.html#ConvolutionTargetEXT).
      -> GLenum -- ^ @pname@ of type [ConvolutionParameterEXT](Graphics-GL-Groups.html#ConvolutionParameterEXT).
      -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
      -> m ()
    glConvolutionParameterxvOES :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLfixed -> m ()
    glConvolutionParameterxvOES GLenum
    v1 GLenum
    v2 Ptr 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 (GLenum -> GLenum -> Ptr GLfixed -> IO ())
    -> GLenum -> GLenum -> Ptr GLfixed -> IO ()
    dyn170 FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
    ptr_glConvolutionParameterxvOES GLenum
    v1 GLenum
    v2 Ptr GLfixed
    v3

    {-# NOINLINE ptr_glConvolutionParameterxvOES #-}
    ptr_glConvolutionParameterxvOES :: FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
    ptr_glConvolutionParameterxvOES :: FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
    ptr_glConvolutionParameterxvOES = IO (FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ()))
    -> FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ()))
     -> FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ()))
    -> IO (FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ()))
    -> FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glConvolutionParameterxvOES"

    -- glCopyBufferSubData ---------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glCopyBufferSubData.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glCopyBufferSubData.xhtml OpenGL 4.x>.
    glCopyBufferSubData
      :: MonadIO m
      => GLenum -- ^ @readTarget@ of type [CopyBufferSubDataTarget](Graphics-GL-Groups.html#CopyBufferSubDataTarget).
      -> GLenum -- ^ @writeTarget@ of type [CopyBufferSubDataTarget](Graphics-GL-Groups.html#CopyBufferSubDataTarget).
      -> GLintptr -- ^ @readOffset@ of type @BufferOffset@.
      -> GLintptr -- ^ @writeOffset@ of type @BufferOffset@.
      -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
      -> m ()
    glCopyBufferSubData :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLintptr -> GLintptr -> GLintptr -> m ()
    glCopyBufferSubData GLenum
    v1 GLenum
    v2 GLintptr
    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
      (GLenum -> GLenum -> GLintptr -> GLintptr -> GLintptr -> IO ())
    -> GLenum -> GLenum -> GLintptr -> GLintptr -> GLintptr -> IO ()
    dyn171 FunPtr
      (GLenum -> GLenum -> GLintptr -> GLintptr -> GLintptr -> IO ())
    ptr_glCopyBufferSubData GLenum
    v1 GLenum
    v2 GLintptr
    v3 GLintptr
    v4 GLintptr
    v5

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

    -- glCopyBufferSubDataNV -------------------------------------------------------

    -- | This command is an alias for 'glCopyBufferSubData'.
    glCopyBufferSubDataNV
      :: MonadIO m
      => GLenum -- ^ @readTarget@ of type [CopyBufferSubDataTarget](Graphics-GL-Groups.html#CopyBufferSubDataTarget).
      -> GLenum -- ^ @writeTarget@ of type [CopyBufferSubDataTarget](Graphics-GL-Groups.html#CopyBufferSubDataTarget).
      -> GLintptr -- ^ @readOffset@ of type @BufferOffset@.
      -> GLintptr -- ^ @writeOffset@ of type @BufferOffset@.
      -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
      -> m ()
    glCopyBufferSubDataNV :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLintptr -> GLintptr -> GLintptr -> m ()
    glCopyBufferSubDataNV GLenum
    v1 GLenum
    v2 GLintptr
    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
      (GLenum -> GLenum -> GLintptr -> GLintptr -> GLintptr -> IO ())
    -> GLenum -> GLenum -> GLintptr -> GLintptr -> GLintptr -> IO ()
    dyn171 FunPtr
      (GLenum -> GLenum -> GLintptr -> GLintptr -> GLintptr -> IO ())
    ptr_glCopyBufferSubDataNV GLenum
    v1 GLenum
    v2 GLintptr
    v3 GLintptr
    v4 GLintptr
    v5

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

    -- glCopyColorSubTable ---------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glCopyColorSubTable.xml OpenGL 2.x>.
    glCopyColorSubTable
      :: MonadIO m
      => GLenum -- ^ @target@ of type [ColorTableTarget](Graphics-GL-Groups.html#ColorTableTarget).
      -> GLsizei -- ^ @start@.
      -> GLint -- ^ @x@ of type @WinCoord@.
      -> GLint -- ^ @y@ of type @WinCoord@.
      -> GLsizei -- ^ @width@.
      -> m ()
    glCopyColorSubTable :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> m ()
    glCopyColorSubTable GLenum
    v1 GLsizei
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    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
      (GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
    -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ()
    dyn172 FunPtr
      (GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
    ptr_glCopyColorSubTable GLenum
    v1 GLsizei
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5

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

    -- glCopyColorSubTableEXT ------------------------------------------------------

    -- | This command is an alias for 'glCopyColorSubTable'.
    glCopyColorSubTableEXT
      :: MonadIO m
      => GLenum -- ^ @target@ of type [ColorTableTarget](Graphics-GL-Groups.html#ColorTableTarget).
      -> GLsizei -- ^ @start@.
      -> GLint -- ^ @x@ of type @WinCoord@.
      -> GLint -- ^ @y@ of type @WinCoord@.
      -> GLsizei -- ^ @width@.
      -> m ()
    glCopyColorSubTableEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> m ()
    glCopyColorSubTableEXT GLenum
    v1 GLsizei
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    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
      (GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
    -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ()
    dyn172 FunPtr
      (GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
    ptr_glCopyColorSubTableEXT GLenum
    v1 GLsizei
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5

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

    -- glCopyColorTable ------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glCopyColorTable.xml OpenGL 2.x>.
    glCopyColorTable
      :: MonadIO m
      => GLenum -- ^ @target@ of type [ColorTableTarget](Graphics-GL-Groups.html#ColorTableTarget).
      -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
      -> GLint -- ^ @x@ of type @WinCoord@.
      -> GLint -- ^ @y@ of type @WinCoord@.
      -> GLsizei -- ^ @width@.
      -> m ()
    glCopyColorTable :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()
    glCopyColorTable GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    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 (GLenum -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
    -> GLenum -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ()
    dyn173 FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
    ptr_glCopyColorTable GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5

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

    -- glCopyColorTableSGI ---------------------------------------------------------

    -- | This command is an alias for 'glCopyColorTable'.
    glCopyColorTableSGI
      :: MonadIO m
      => GLenum -- ^ @target@ of type [ColorTableTargetSGI](Graphics-GL-Groups.html#ColorTableTargetSGI).
      -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
      -> GLint -- ^ @x@ of type @WinCoord@.
      -> GLint -- ^ @y@ of type @WinCoord@.
      -> GLsizei -- ^ @width@.
      -> m ()
    glCopyColorTableSGI :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()
    glCopyColorTableSGI GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    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 (GLenum -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
    -> GLenum -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ()
    dyn173 FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
    ptr_glCopyColorTableSGI GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5

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

    -- glCopyConvolutionFilter1D ---------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glCopyConvolutionFilter1D.xml OpenGL 2.x>.
    glCopyConvolutionFilter1D
      :: MonadIO m
      => GLenum -- ^ @target@ of type [ConvolutionTarget](Graphics-GL-Groups.html#ConvolutionTarget).
      -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
      -> GLint -- ^ @x@ of type @WinCoord@.
      -> GLint -- ^ @y@ of type @WinCoord@.
      -> GLsizei -- ^ @width@.
      -> m ()
    glCopyConvolutionFilter1D :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()
    glCopyConvolutionFilter1D GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    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 (GLenum -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
    -> GLenum -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ()
    dyn173 FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
    ptr_glCopyConvolutionFilter1D GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5

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

    -- glCopyConvolutionFilter1DEXT ------------------------------------------------

    -- | This command is an alias for 'glCopyConvolutionFilter1D'.
    glCopyConvolutionFilter1DEXT
      :: MonadIO m
      => GLenum -- ^ @target@ of type [ConvolutionTargetEXT](Graphics-GL-Groups.html#ConvolutionTargetEXT).
      -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
      -> GLint -- ^ @x@ of type @WinCoord@.
      -> GLint -- ^ @y@ of type @WinCoord@.
      -> GLsizei -- ^ @width@.
      -> m ()
    glCopyConvolutionFilter1DEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()
    glCopyConvolutionFilter1DEXT GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    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 (GLenum -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
    -> GLenum -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ()
    dyn173 FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
    ptr_glCopyConvolutionFilter1DEXT GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5

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

    -- glCopyConvolutionFilter2D ---------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glCopyConvolutionFilter2D.xml OpenGL 2.x>.
    glCopyConvolutionFilter2D
      :: MonadIO m
      => GLenum -- ^ @target@ of type [ConvolutionTarget](Graphics-GL-Groups.html#ConvolutionTarget).
      -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
      -> GLint -- ^ @x@ of type @WinCoord@.
      -> GLint -- ^ @y@ of type @WinCoord@.
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> m ()
    glCopyConvolutionFilter2D :: forall (m :: * -> *).
    MonadIO m =>
    GLenum
    -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> m ()
    glCopyConvolutionFilter2D GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    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
      (GLenum
       -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> IO ()
    dyn174 FunPtr
      (GLenum
       -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
    ptr_glCopyConvolutionFilter2D GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6

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

    -- glCopyConvolutionFilter2DEXT ------------------------------------------------

    -- | This command is an alias for 'glCopyConvolutionFilter2D'.
    glCopyConvolutionFilter2DEXT
      :: MonadIO m
      => GLenum -- ^ @target@ of type [ConvolutionTargetEXT](Graphics-GL-Groups.html#ConvolutionTargetEXT).
      -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
      -> GLint -- ^ @x@ of type @WinCoord@.
      -> GLint -- ^ @y@ of type @WinCoord@.
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> m ()
    glCopyConvolutionFilter2DEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum
    -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> m ()
    glCopyConvolutionFilter2DEXT GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    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
      (GLenum
       -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> IO ()
    dyn174 FunPtr
      (GLenum
       -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
    ptr_glCopyConvolutionFilter2DEXT GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6

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

    -- glCopyImageSubData ----------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glCopyImageSubData.xhtml OpenGL 4.x>.
    glCopyImageSubData
      :: MonadIO m
      => GLuint -- ^ @srcName@.
      -> GLenum -- ^ @srcTarget@ of type [CopyImageSubDataTarget](Graphics-GL-Groups.html#CopyImageSubDataTarget).
      -> GLint -- ^ @srcLevel@.
      -> GLint -- ^ @srcX@.
      -> GLint -- ^ @srcY@.
      -> GLint -- ^ @srcZ@.
      -> GLuint -- ^ @dstName@.
      -> GLenum -- ^ @dstTarget@ of type [CopyImageSubDataTarget](Graphics-GL-Groups.html#CopyImageSubDataTarget).
      -> GLint -- ^ @dstLevel@.
      -> GLint -- ^ @dstX@.
      -> GLint -- ^ @dstY@.
      -> GLint -- ^ @dstZ@.
      -> GLsizei -- ^ @srcWidth@.
      -> GLsizei -- ^ @srcHeight@.
      -> GLsizei -- ^ @srcDepth@.
      -> m ()
    glCopyImageSubData :: forall (m :: * -> *).
    MonadIO m =>
    GLenum
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> m ()
    glCopyImageSubData GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLenum
    v7 GLenum
    v8 GLsizei
    v9 GLsizei
    v10 GLsizei
    v11 GLsizei
    v12 GLsizei
    v13 GLsizei
    v14 GLsizei
    v15 = 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
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> IO ()
    dyn175 FunPtr
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> IO ())
    ptr_glCopyImageSubData GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLenum
    v7 GLenum
    v8 GLsizei
    v9 GLsizei
    v10 GLsizei
    v11 GLsizei
    v12 GLsizei
    v13 GLsizei
    v14 GLsizei
    v15

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

    -- glCopyImageSubDataEXT -------------------------------------------------------

    -- | This command is an alias for 'glCopyImageSubData'.
    glCopyImageSubDataEXT
      :: MonadIO m
      => GLuint -- ^ @srcName@.
      -> GLenum -- ^ @srcTarget@ of type [CopyBufferSubDataTarget](Graphics-GL-Groups.html#CopyBufferSubDataTarget).
      -> GLint -- ^ @srcLevel@.
      -> GLint -- ^ @srcX@.
      -> GLint -- ^ @srcY@.
      -> GLint -- ^ @srcZ@.
      -> GLuint -- ^ @dstName@.
      -> GLenum -- ^ @dstTarget@ of type [CopyBufferSubDataTarget](Graphics-GL-Groups.html#CopyBufferSubDataTarget).
      -> GLint -- ^ @dstLevel@.
      -> GLint -- ^ @dstX@.
      -> GLint -- ^ @dstY@.
      -> GLint -- ^ @dstZ@.
      -> GLsizei -- ^ @srcWidth@.
      -> GLsizei -- ^ @srcHeight@.
      -> GLsizei -- ^ @srcDepth@.
      -> m ()
    glCopyImageSubDataEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> m ()
    glCopyImageSubDataEXT GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLenum
    v7 GLenum
    v8 GLsizei
    v9 GLsizei
    v10 GLsizei
    v11 GLsizei
    v12 GLsizei
    v13 GLsizei
    v14 GLsizei
    v15 = 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
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> IO ()
    dyn175 FunPtr
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> IO ())
    ptr_glCopyImageSubDataEXT GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLenum
    v7 GLenum
    v8 GLsizei
    v9 GLsizei
    v10 GLsizei
    v11 GLsizei
    v12 GLsizei
    v13 GLsizei
    v14 GLsizei
    v15

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

    -- glCopyImageSubDataNV --------------------------------------------------------

    glCopyImageSubDataNV
      :: MonadIO m
      => GLuint -- ^ @srcName@.
      -> GLenum -- ^ @srcTarget@ of type [CopyBufferSubDataTarget](Graphics-GL-Groups.html#CopyBufferSubDataTarget).
      -> GLint -- ^ @srcLevel@.
      -> GLint -- ^ @srcX@.
      -> GLint -- ^ @srcY@.
      -> GLint -- ^ @srcZ@.
      -> GLuint -- ^ @dstName@.
      -> GLenum -- ^ @dstTarget@ of type [CopyBufferSubDataTarget](Graphics-GL-Groups.html#CopyBufferSubDataTarget).
      -> GLint -- ^ @dstLevel@.
      -> GLint -- ^ @dstX@.
      -> GLint -- ^ @dstY@.
      -> GLint -- ^ @dstZ@.
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> GLsizei -- ^ @depth@.
      -> m ()
    glCopyImageSubDataNV :: forall (m :: * -> *).
    MonadIO m =>
    GLenum
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> m ()
    glCopyImageSubDataNV GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLenum
    v7 GLenum
    v8 GLsizei
    v9 GLsizei
    v10 GLsizei
    v11 GLsizei
    v12 GLsizei
    v13 GLsizei
    v14 GLsizei
    v15 = 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
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> IO ()
    dyn175 FunPtr
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> IO ())
    ptr_glCopyImageSubDataNV GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLenum
    v7 GLenum
    v8 GLsizei
    v9 GLsizei
    v10 GLsizei
    v11 GLsizei
    v12 GLsizei
    v13 GLsizei
    v14 GLsizei
    v15

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

    -- glCopyImageSubDataOES -------------------------------------------------------

    -- | This command is an alias for 'glCopyImageSubData'.
    glCopyImageSubDataOES
      :: MonadIO m
      => GLuint -- ^ @srcName@.
      -> GLenum -- ^ @srcTarget@ of type [CopyBufferSubDataTarget](Graphics-GL-Groups.html#CopyBufferSubDataTarget).
      -> GLint -- ^ @srcLevel@.
      -> GLint -- ^ @srcX@.
      -> GLint -- ^ @srcY@.
      -> GLint -- ^ @srcZ@.
      -> GLuint -- ^ @dstName@.
      -> GLenum -- ^ @dstTarget@ of type [CopyBufferSubDataTarget](Graphics-GL-Groups.html#CopyBufferSubDataTarget).
      -> GLint -- ^ @dstLevel@.
      -> GLint -- ^ @dstX@.
      -> GLint -- ^ @dstY@.
      -> GLint -- ^ @dstZ@.
      -> GLsizei -- ^ @srcWidth@.
      -> GLsizei -- ^ @srcHeight@.
      -> GLsizei -- ^ @srcDepth@.
      -> m ()
    glCopyImageSubDataOES :: forall (m :: * -> *).
    MonadIO m =>
    GLenum
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> m ()
    glCopyImageSubDataOES GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLenum
    v7 GLenum
    v8 GLsizei
    v9 GLsizei
    v10 GLsizei
    v11 GLsizei
    v12 GLsizei
    v13 GLsizei
    v14 GLsizei
    v15 = 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
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> IO ()
    dyn175 FunPtr
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> IO ())
    ptr_glCopyImageSubDataOES GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLenum
    v7 GLenum
    v8 GLsizei
    v9 GLsizei
    v10 GLsizei
    v11 GLsizei
    v12 GLsizei
    v13 GLsizei
    v14 GLsizei
    v15

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

    -- glCopyMultiTexImage1DEXT ----------------------------------------------------

    glCopyMultiTexImage1DEXT
      :: MonadIO m
      => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
      -> GLint -- ^ @x@ of type @WinCoord@.
      -> GLint -- ^ @y@ of type @WinCoord@.
      -> GLsizei -- ^ @width@.
      -> GLint -- ^ @border@ of type @CheckedInt32@.
      -> m ()
    glCopyMultiTexImage1DEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum
    -> GLenum
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> m ()
    glCopyMultiTexImage1DEXT GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLenum
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 GLsizei
    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
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> IO ()
    dyn176 FunPtr
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> IO ())
    ptr_glCopyMultiTexImage1DEXT GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLenum
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 GLsizei
    v8

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

    -- glCopyMultiTexImage2DEXT ----------------------------------------------------

    glCopyMultiTexImage2DEXT
      :: MonadIO m
      => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
      -> GLint -- ^ @x@ of type @WinCoord@.
      -> GLint -- ^ @y@ of type @WinCoord@.
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> GLint -- ^ @border@ of type @CheckedInt32@.
      -> m ()
    glCopyMultiTexImage2DEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum
    -> GLenum
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> m ()
    glCopyMultiTexImage2DEXT GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLenum
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 GLsizei
    v8 GLsizei
    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
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> IO ()
    dyn177 FunPtr
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> IO ())
    ptr_glCopyMultiTexImage2DEXT GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLenum
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 GLsizei
    v8 GLsizei
    v9

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

    -- glCopyMultiTexSubImage1DEXT -------------------------------------------------

    glCopyMultiTexSubImage1DEXT
      :: MonadIO m
      => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
      -> GLint -- ^ @x@ of type @WinCoord@.
      -> GLint -- ^ @y@ of type @WinCoord@.
      -> GLsizei -- ^ @width@.
      -> m ()
    glCopyMultiTexSubImage1DEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> m ()
    glCopyMultiTexSubImage1DEXT GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    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
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> IO ()
    dyn178 FunPtr
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> IO ())
    ptr_glCopyMultiTexSubImage1DEXT GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7

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

    -- glCopyMultiTexSubImage2DEXT -------------------------------------------------

    glCopyMultiTexSubImage2DEXT
      :: MonadIO m
      => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
      -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
      -> GLint -- ^ @x@ of type @WinCoord@.
      -> GLint -- ^ @y@ of type @WinCoord@.
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> m ()
    glCopyMultiTexSubImage2DEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> m ()
    glCopyMultiTexSubImage2DEXT GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 GLsizei
    v8 GLsizei
    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
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> IO ()
    dyn179 FunPtr
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> IO ())
    ptr_glCopyMultiTexSubImage2DEXT GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 GLsizei
    v8 GLsizei
    v9

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

    -- glCopyMultiTexSubImage3DEXT -------------------------------------------------

    glCopyMultiTexSubImage3DEXT
      :: MonadIO m
      => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
      -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
      -> GLint -- ^ @zoffset@ of type @CheckedInt32@.
      -> GLint -- ^ @x@ of type @WinCoord@.
      -> GLint -- ^ @y@ of type @WinCoord@.
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> m ()
    glCopyMultiTexSubImage3DEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> m ()
    glCopyMultiTexSubImage3DEXT GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 GLsizei
    v8 GLsizei
    v9 GLsizei
    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
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> IO ()
    dyn180 FunPtr
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> IO ())
    ptr_glCopyMultiTexSubImage3DEXT GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 GLsizei
    v8 GLsizei
    v9 GLsizei
    v10

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

    -- glCopyNamedBufferSubData ----------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glCopyBufferSubData.xhtml OpenGL 4.x>.
    glCopyNamedBufferSubData
      :: MonadIO m
      => GLuint -- ^ @readBuffer@.
      -> GLuint -- ^ @writeBuffer@.
      -> GLintptr -- ^ @readOffset@.
      -> GLintptr -- ^ @writeOffset@.
      -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
      -> m ()
    glCopyNamedBufferSubData :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLintptr -> GLintptr -> GLintptr -> m ()
    glCopyNamedBufferSubData GLenum
    v1 GLenum
    v2 GLintptr
    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
      (GLenum -> GLenum -> GLintptr -> GLintptr -> GLintptr -> IO ())
    -> GLenum -> GLenum -> GLintptr -> GLintptr -> GLintptr -> IO ()
    dyn181 FunPtr
      (GLenum -> GLenum -> GLintptr -> GLintptr -> GLintptr -> IO ())
    ptr_glCopyNamedBufferSubData GLenum
    v1 GLenum
    v2 GLintptr
    v3 GLintptr
    v4 GLintptr
    v5

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

    -- glCopyPathNV ----------------------------------------------------------------

    glCopyPathNV
      :: MonadIO m
      => GLuint -- ^ @resultPath@ of type @Path@.
      -> GLuint -- ^ @srcPath@ of type @Path@.
      -> m ()
    glCopyPathNV :: forall (m :: * -> *). MonadIO m => GLenum -> GLenum -> m ()
    glCopyPathNV GLenum
    v1 GLenum
    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 (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> IO ()
    dyn4 FunPtr (GLenum -> GLenum -> IO ())
    ptr_glCopyPathNV GLenum
    v1 GLenum
    v2

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

    -- glCopyPixels ----------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glCopyPixels.xml OpenGL 2.x>.
    glCopyPixels
      :: MonadIO m
      => GLint -- ^ @x@ of type @WinCoord@.
      -> GLint -- ^ @y@ of type @WinCoord@.
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> GLenum -- ^ @type@ of type [PixelCopyType](Graphics-GL-Groups.html#PixelCopyType).
      -> m ()
    glCopyPixels :: forall (m :: * -> *).
    MonadIO m =>
    GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLenum -> m ()
    glCopyPixels GLsizei
    v1 GLsizei
    v2 GLsizei
    v3 GLsizei
    v4 GLenum
    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
      (GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLenum -> IO ())
    -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLenum -> IO ()
    dyn182 FunPtr
      (GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLenum -> IO ())
    ptr_glCopyPixels GLsizei
    v1 GLsizei
    v2 GLsizei
    v3 GLsizei
    v4 GLenum
    v5

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

    -- glCopyTexImage1D ------------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glCopyTexImage1D.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glCopyTexImage1D.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glCopyTexImage1D.xhtml OpenGL 4.x>.
    glCopyTexImage1D
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
      -> GLint -- ^ @x@ of type @WinCoord@.
      -> GLint -- ^ @y@ of type @WinCoord@.
      -> GLsizei -- ^ @width@.
      -> GLint -- ^ @border@ of type @CheckedInt32@.
      -> m ()
    glCopyTexImage1D :: forall (m :: * -> *).
    MonadIO m =>
    GLenum
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> m ()
    glCopyTexImage1D GLenum
    v1 GLsizei
    v2 GLenum
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    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
      (GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> IO ())
    -> GLenum
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> IO ()
    dyn183 FunPtr
      (GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> IO ())
    ptr_glCopyTexImage1D GLenum
    v1 GLsizei
    v2 GLenum
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7

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

    -- glCopyTexImage1DEXT ---------------------------------------------------------

    -- | This command is an alias for 'glCopyTexImage1D'.
    glCopyTexImage1DEXT
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
      -> GLint -- ^ @x@ of type @WinCoord@.
      -> GLint -- ^ @y@ of type @WinCoord@.
      -> GLsizei -- ^ @width@.
      -> GLint -- ^ @border@ of type @CheckedInt32@.
      -> m ()
    glCopyTexImage1DEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> m ()
    glCopyTexImage1DEXT GLenum
    v1 GLsizei
    v2 GLenum
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    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
      (GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> IO ())
    -> GLenum
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> IO ()
    dyn183 FunPtr
      (GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> IO ())
    ptr_glCopyTexImage1DEXT GLenum
    v1 GLsizei
    v2 GLenum
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7

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

    -- glCopyTexImage2D ------------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glCopyTexImage2D.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glCopyTexImage2D.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glCopyTexImage2D.xhtml OpenGL 4.x>.
    glCopyTexImage2D
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
      -> GLint -- ^ @x@ of type @WinCoord@.
      -> GLint -- ^ @y@ of type @WinCoord@.
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> GLint -- ^ @border@ of type @CheckedInt32@.
      -> m ()
    glCopyTexImage2D :: forall (m :: * -> *).
    MonadIO m =>
    GLenum
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> m ()
    glCopyTexImage2D GLenum
    v1 GLsizei
    v2 GLenum
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 GLsizei
    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
      (GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> IO ())
    -> GLenum
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> IO ()
    dyn184 FunPtr
      (GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> IO ())
    ptr_glCopyTexImage2D GLenum
    v1 GLsizei
    v2 GLenum
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 GLsizei
    v8

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

    -- glCopyTexImage2DEXT ---------------------------------------------------------

    -- | This command is an alias for 'glCopyTexImage2D'.
    glCopyTexImage2DEXT
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
      -> GLint -- ^ @x@ of type @WinCoord@.
      -> GLint -- ^ @y@ of type @WinCoord@.
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> GLint -- ^ @border@ of type @CheckedInt32@.
      -> m ()
    glCopyTexImage2DEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> m ()
    glCopyTexImage2DEXT GLenum
    v1 GLsizei
    v2 GLenum
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 GLsizei
    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
      (GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> IO ())
    -> GLenum
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> IO ()
    dyn184 FunPtr
      (GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> IO ())
    ptr_glCopyTexImage2DEXT GLenum
    v1 GLsizei
    v2 GLenum
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 GLsizei
    v8

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

    -- glCopyTexSubImage1D ---------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glCopyTexSubImage1D.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glCopyTexSubImage1D.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glCopyTexSubImage1D.xhtml OpenGL 4.x>.
    glCopyTexSubImage1D
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
      -> GLint -- ^ @x@ of type @WinCoord@.
      -> GLint -- ^ @y@ of type @WinCoord@.
      -> GLsizei -- ^ @width@.
      -> m ()
    glCopyTexSubImage1D :: forall (m :: * -> *).
    MonadIO m =>
    GLenum
    -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> m ()
    glCopyTexSubImage1D GLenum
    v1 GLsizei
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    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
      (GLenum
       -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> IO ()
    dyn185 FunPtr
      (GLenum
       -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
    ptr_glCopyTexSubImage1D GLenum
    v1 GLsizei
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6

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

    -- glCopyTexSubImage1DEXT ------------------------------------------------------

    -- | This command is an alias for 'glCopyTexSubImage1D'.
    glCopyTexSubImage1DEXT
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
      -> GLint -- ^ @x@ of type @WinCoord@.
      -> GLint -- ^ @y@ of type @WinCoord@.
      -> GLsizei -- ^ @width@.
      -> m ()
    glCopyTexSubImage1DEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum
    -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> m ()
    glCopyTexSubImage1DEXT GLenum
    v1 GLsizei
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    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
      (GLenum
       -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> IO ()
    dyn185 FunPtr
      (GLenum
       -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
    ptr_glCopyTexSubImage1DEXT GLenum
    v1 GLsizei
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6

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

    -- glCopyTexSubImage2D ---------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glCopyTexSubImage2D.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glCopyTexSubImage2D.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glCopyTexSubImage2D.xhtml OpenGL 4.x>.
    glCopyTexSubImage2D
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
      -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
      -> GLint -- ^ @x@ of type @WinCoord@.
      -> GLint -- ^ @y@ of type @WinCoord@.
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> m ()
    glCopyTexSubImage2D :: forall (m :: * -> *).
    MonadIO m =>
    GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> m ()
    glCopyTexSubImage2D GLenum
    v1 GLsizei
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 GLsizei
    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
      (GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> IO ())
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> IO ()
    dyn186 FunPtr
      (GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> IO ())
    ptr_glCopyTexSubImage2D GLenum
    v1 GLsizei
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 GLsizei
    v8

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

    -- glCopyTexSubImage2DEXT ------------------------------------------------------

    -- | This command is an alias for 'glCopyTexSubImage2D'.
    glCopyTexSubImage2DEXT
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
      -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
      -> GLint -- ^ @x@ of type @WinCoord@.
      -> GLint -- ^ @y@ of type @WinCoord@.
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> m ()
    glCopyTexSubImage2DEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> m ()
    glCopyTexSubImage2DEXT GLenum
    v1 GLsizei
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 GLsizei
    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
      (GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> IO ())
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> IO ()
    dyn186 FunPtr
      (GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> IO ())
    ptr_glCopyTexSubImage2DEXT GLenum
    v1 GLsizei
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 GLsizei
    v8

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

    -- glCopyTexSubImage3D ---------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glCopyTexSubImage3D.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glCopyTexSubImage3D.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glCopyTexSubImage3D.xhtml OpenGL 4.x>.
    glCopyTexSubImage3D
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
      -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
      -> GLint -- ^ @zoffset@ of type @CheckedInt32@.
      -> GLint -- ^ @x@ of type @WinCoord@.
      -> GLint -- ^ @y@ of type @WinCoord@.
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> m ()
    glCopyTexSubImage3D :: forall (m :: * -> *).
    MonadIO m =>
    GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> m ()
    glCopyTexSubImage3D GLenum
    v1 GLsizei
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 GLsizei
    v8 GLsizei
    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
      (GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> IO ())
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> IO ()
    dyn187 FunPtr
      (GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> IO ())
    ptr_glCopyTexSubImage3D GLenum
    v1 GLsizei
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 GLsizei
    v8 GLsizei
    v9

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

    -- glCopyTexSubImage3DEXT ------------------------------------------------------

    -- | This command is an alias for 'glCopyTexSubImage3D'.
    glCopyTexSubImage3DEXT
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
      -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
      -> GLint -- ^ @zoffset@ of type @CheckedInt32@.
      -> GLint -- ^ @x@ of type @WinCoord@.
      -> GLint -- ^ @y@ of type @WinCoord@.
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> m ()
    glCopyTexSubImage3DEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> m ()
    glCopyTexSubImage3DEXT GLenum
    v1 GLsizei
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 GLsizei
    v8 GLsizei
    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
      (GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> IO ())
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> IO ()
    dyn187 FunPtr
      (GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> IO ())
    ptr_glCopyTexSubImage3DEXT GLenum
    v1 GLsizei
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 GLsizei
    v8 GLsizei
    v9

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

    -- glCopyTexSubImage3DOES ------------------------------------------------------

    glCopyTexSubImage3DOES
      :: MonadIO m
      => GLenum -- ^ @target@.
      -> GLint -- ^ @level@.
      -> GLint -- ^ @xoffset@.
      -> GLint -- ^ @yoffset@.
      -> GLint -- ^ @zoffset@.
      -> GLint -- ^ @x@.
      -> GLint -- ^ @y@.
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> m ()
    glCopyTexSubImage3DOES :: forall (m :: * -> *).
    MonadIO m =>
    GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> m ()
    glCopyTexSubImage3DOES GLenum
    v1 GLsizei
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 GLsizei
    v8 GLsizei
    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
      (GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> IO ())
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> IO ()
    dyn187 FunPtr
      (GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> IO ())
    ptr_glCopyTexSubImage3DOES GLenum
    v1 GLsizei
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 GLsizei
    v8 GLsizei
    v9

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

    -- glCopyTextureImage1DEXT -----------------------------------------------------

    glCopyTextureImage1DEXT
      :: MonadIO m
      => GLuint -- ^ @texture@ of type @Texture@.
      -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
      -> GLint -- ^ @x@ of type @WinCoord@.
      -> GLint -- ^ @y@ of type @WinCoord@.
      -> GLsizei -- ^ @width@.
      -> GLint -- ^ @border@ of type @CheckedInt32@.
      -> m ()
    glCopyTextureImage1DEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum
    -> GLenum
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> m ()
    glCopyTextureImage1DEXT GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLenum
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 GLsizei
    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
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> IO ()
    dyn188 FunPtr
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> IO ())
    ptr_glCopyTextureImage1DEXT GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLenum
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 GLsizei
    v8

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

    -- glCopyTextureImage2DEXT -----------------------------------------------------

    glCopyTextureImage2DEXT
      :: MonadIO m
      => GLuint -- ^ @texture@ of type @Texture@.
      -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
      -> GLint -- ^ @x@ of type @WinCoord@.
      -> GLint -- ^ @y@ of type @WinCoord@.
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> GLint -- ^ @border@ of type @CheckedInt32@.
      -> m ()
    glCopyTextureImage2DEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum
    -> GLenum
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> m ()
    glCopyTextureImage2DEXT GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLenum
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 GLsizei
    v8 GLsizei
    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
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> IO ()
    dyn189 FunPtr
      (GLenum
       -> GLenum
       -> GLsizei
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> IO ())
    ptr_glCopyTextureImage2DEXT GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLenum
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 GLsizei
    v8 GLsizei
    v9

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