    {-# OPTIONS_HADDOCK hide #-}
    --------------------------------------------------------------------------------
    -- |
    -- Module      :  Graphics.GL.Functions.F18
    -- 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.F18 (
      glMultiTexCoord3xvOES,
      glMultiTexCoord4bOES,
      glMultiTexCoord4bvOES,
      glMultiTexCoord4d,
      glMultiTexCoord4dARB,
      glMultiTexCoord4dv,
      glMultiTexCoord4dvARB,
      glMultiTexCoord4f,
      glMultiTexCoord4fARB,
      glMultiTexCoord4fv,
      glMultiTexCoord4fvARB,
      glMultiTexCoord4hNV,
      glMultiTexCoord4hvNV,
      glMultiTexCoord4i,
      glMultiTexCoord4iARB,
      glMultiTexCoord4iv,
      glMultiTexCoord4ivARB,
      glMultiTexCoord4s,
      glMultiTexCoord4sARB,
      glMultiTexCoord4sv,
      glMultiTexCoord4svARB,
      glMultiTexCoord4x,
      glMultiTexCoord4xOES,
      glMultiTexCoord4xvOES,
      glMultiTexCoordP1ui,
      glMultiTexCoordP1uiv,
      glMultiTexCoordP2ui,
      glMultiTexCoordP2uiv,
      glMultiTexCoordP3ui,
      glMultiTexCoordP3uiv,
      glMultiTexCoordP4ui,
      glMultiTexCoordP4uiv,
      glMultiTexCoordPointerEXT,
      glMultiTexEnvfEXT,
      glMultiTexEnvfvEXT,
      glMultiTexEnviEXT,
      glMultiTexEnvivEXT,
      glMultiTexGendEXT,
      glMultiTexGendvEXT,
      glMultiTexGenfEXT,
      glMultiTexGenfvEXT,
      glMultiTexGeniEXT,
      glMultiTexGenivEXT,
      glMultiTexImage1DEXT,
      glMultiTexImage2DEXT,
      glMultiTexImage3DEXT,
      glMultiTexParameterIivEXT,
      glMultiTexParameterIuivEXT,
      glMultiTexParameterfEXT,
      glMultiTexParameterfvEXT,
      glMultiTexParameteriEXT,
      glMultiTexParameterivEXT,
      glMultiTexRenderbufferEXT,
      glMultiTexSubImage1DEXT,
      glMultiTexSubImage2DEXT,
      glMultiTexSubImage3DEXT,
      glMulticastBarrierNV,
      glMulticastBlitFramebufferNV,
      glMulticastBufferSubDataNV,
      glMulticastCopyBufferSubDataNV,
      glMulticastCopyImageSubDataNV,
      glMulticastFramebufferSampleLocationsfvNV,
      glMulticastGetQueryObjecti64vNV,
      glMulticastGetQueryObjectivNV,
      glMulticastGetQueryObjectui64vNV,
      glMulticastGetQueryObjectuivNV,
      glMulticastScissorArrayvNVX,
      glMulticastViewportArrayvNVX,
      glMulticastViewportPositionWScaleNVX,
      glMulticastWaitSyncNV,
      glNamedBufferAttachMemoryNV,
      glNamedBufferData,
      glNamedBufferDataEXT,
      glNamedBufferPageCommitmentARB,
      glNamedBufferPageCommitmentEXT,
      glNamedBufferStorage,
      glNamedBufferStorageEXT,
      glNamedBufferStorageExternalEXT,
      glNamedBufferStorageMemEXT,
      glNamedBufferSubData,
      glNamedBufferSubDataEXT,
      glNamedCopyBufferSubDataEXT,
      glNamedFramebufferDrawBuffer,
      glNamedFramebufferDrawBuffers,
      glNamedFramebufferParameteri,
      glNamedFramebufferParameteriEXT,
      glNamedFramebufferReadBuffer,
      glNamedFramebufferRenderbuffer,
      glNamedFramebufferRenderbufferEXT,
      glNamedFramebufferSampleLocationsfvARB,
      glNamedFramebufferSampleLocationsfvNV,
      glNamedFramebufferSamplePositionsfvAMD,
      glNamedFramebufferTexture,
      glNamedFramebufferTexture1DEXT,
      glNamedFramebufferTexture2DEXT,
      glNamedFramebufferTexture3DEXT,
      glNamedFramebufferTextureEXT,
      glNamedFramebufferTextureFaceEXT,
      glNamedFramebufferTextureLayer,
      glNamedFramebufferTextureLayerEXT
    ) where

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

    -- glMultiTexCoord3xvOES -------------------------------------------------------

    glMultiTexCoord3xvOES
      :: MonadIO m
      => GLenum -- ^ @texture@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> Ptr GLfixed -- ^ @coords@ pointing to @3@ elements of type @GLfixed@.
      -> m ()
    glMultiTexCoord3xvOES :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLfixed -> m ()
    glMultiTexCoord3xvOES GLenum
    v1 Ptr GLfixed
    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 GLfixed -> IO ())
    -> GLenum -> Ptr GLfixed -> IO ()
    dyn102 FunPtr (GLenum -> Ptr GLfixed -> IO ())
    ptr_glMultiTexCoord3xvOES GLenum
    v1 Ptr GLfixed
    v2

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

    -- glMultiTexCoord4bOES --------------------------------------------------------

    glMultiTexCoord4bOES
      :: MonadIO m
      => GLenum -- ^ @texture@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLbyte -- ^ @s@.
      -> GLbyte -- ^ @t@.
      -> GLbyte -- ^ @r@.
      -> GLbyte -- ^ @q@.
      -> m ()
    glMultiTexCoord4bOES :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLbyte -> GLbyte -> GLbyte -> GLbyte -> m ()
    glMultiTexCoord4bOES GLenum
    v1 GLbyte
    v2 GLbyte
    v3 GLbyte
    v4 GLbyte
    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 -> GLbyte -> GLbyte -> GLbyte -> GLbyte -> IO ())
    -> GLenum -> GLbyte -> GLbyte -> GLbyte -> GLbyte -> IO ()
    dyn585 FunPtr (GLenum -> GLbyte -> GLbyte -> GLbyte -> GLbyte -> IO ())
    ptr_glMultiTexCoord4bOES GLenum
    v1 GLbyte
    v2 GLbyte
    v3 GLbyte
    v4 GLbyte
    v5

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

    -- glMultiTexCoord4bvOES -------------------------------------------------------

    glMultiTexCoord4bvOES
      :: MonadIO m
      => GLenum -- ^ @texture@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> Ptr GLbyte -- ^ @coords@ pointing to @4@ elements of type @GLbyte@.
      -> m ()
    glMultiTexCoord4bvOES :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLbyte -> m ()
    glMultiTexCoord4bvOES GLenum
    v1 Ptr GLbyte
    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 GLbyte -> IO ())
    -> GLenum -> Ptr GLbyte -> IO ()
    dyn568 FunPtr (GLenum -> Ptr GLbyte -> IO ())
    ptr_glMultiTexCoord4bvOES GLenum
    v1 Ptr GLbyte
    v2

    {-# NOINLINE ptr_glMultiTexCoord4bvOES #-}
    ptr_glMultiTexCoord4bvOES :: FunPtr (GLenum -> Ptr GLbyte -> IO ())
    ptr_glMultiTexCoord4bvOES :: FunPtr (GLenum -> Ptr GLbyte -> IO ())
    ptr_glMultiTexCoord4bvOES = IO (FunPtr (GLenum -> Ptr GLbyte -> IO ()))
    -> FunPtr (GLenum -> Ptr GLbyte -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLenum -> Ptr GLbyte -> IO ()))
     -> FunPtr (GLenum -> Ptr GLbyte -> IO ()))
    -> IO (FunPtr (GLenum -> Ptr GLbyte -> IO ()))
    -> FunPtr (GLenum -> Ptr GLbyte -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLenum -> Ptr GLbyte -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glMultiTexCoord4bvOES"

    -- glMultiTexCoord4d -----------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glMultiTexCoord4dv'.
    glMultiTexCoord4d
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLdouble -- ^ @s@ of type @CoordD@.
      -> GLdouble -- ^ @t@ of type @CoordD@.
      -> GLdouble -- ^ @r@ of type @CoordD@.
      -> GLdouble -- ^ @q@ of type @CoordD@.
      -> m ()
    glMultiTexCoord4d :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
    glMultiTexCoord4d GLenum
    v1 GLdouble
    v2 GLdouble
    v3 GLdouble
    v4 GLdouble
    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 -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
    -> GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
    dyn546 FunPtr
      (GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
    ptr_glMultiTexCoord4d GLenum
    v1 GLdouble
    v2 GLdouble
    v3 GLdouble
    v4 GLdouble
    v5

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

    -- glMultiTexCoord4dARB --------------------------------------------------------

    -- | The vector equivalent of this command is 'glMultiTexCoord4dv'. This command is an alias for 'glMultiTexCoord4d'.
    glMultiTexCoord4dARB
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLdouble -- ^ @s@ of type @CoordD@.
      -> GLdouble -- ^ @t@ of type @CoordD@.
      -> GLdouble -- ^ @r@ of type @CoordD@.
      -> GLdouble -- ^ @q@ of type @CoordD@.
      -> m ()
    glMultiTexCoord4dARB :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
    glMultiTexCoord4dARB GLenum
    v1 GLdouble
    v2 GLdouble
    v3 GLdouble
    v4 GLdouble
    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 -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
    -> GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
    dyn546 FunPtr
      (GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
    ptr_glMultiTexCoord4dARB GLenum
    v1 GLdouble
    v2 GLdouble
    v3 GLdouble
    v4 GLdouble
    v5

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

    -- glMultiTexCoord4dv ----------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>.
    glMultiTexCoord4dv
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> Ptr GLdouble -- ^ @v@ pointing to @4@ elements of type @CoordD@.
      -> m ()
    glMultiTexCoord4dv :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLdouble -> m ()
    glMultiTexCoord4dv GLenum
    v1 Ptr GLdouble
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> Ptr GLdouble -> IO ())
    -> GLenum -> Ptr GLdouble -> IO ()
    dyn100 FunPtr (GLenum -> Ptr GLdouble -> IO ())
    ptr_glMultiTexCoord4dv GLenum
    v1 Ptr GLdouble
    v2

    {-# NOINLINE ptr_glMultiTexCoord4dv #-}
    ptr_glMultiTexCoord4dv :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
    ptr_glMultiTexCoord4dv :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
    ptr_glMultiTexCoord4dv = IO (FunPtr (GLenum -> Ptr GLdouble -> IO ()))
    -> FunPtr (GLenum -> Ptr GLdouble -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLenum -> Ptr GLdouble -> IO ()))
     -> FunPtr (GLenum -> Ptr GLdouble -> IO ()))
    -> IO (FunPtr (GLenum -> Ptr GLdouble -> IO ()))
    -> FunPtr (GLenum -> Ptr GLdouble -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLenum -> Ptr GLdouble -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glMultiTexCoord4dv"

    -- glMultiTexCoord4dvARB -------------------------------------------------------

    -- | This command is an alias for 'glMultiTexCoord4dv'.
    glMultiTexCoord4dvARB
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> Ptr GLdouble -- ^ @v@ pointing to @4@ elements of type @CoordD@.
      -> m ()
    glMultiTexCoord4dvARB :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLdouble -> m ()
    glMultiTexCoord4dvARB GLenum
    v1 Ptr GLdouble
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> Ptr GLdouble -> IO ())
    -> GLenum -> Ptr GLdouble -> IO ()
    dyn100 FunPtr (GLenum -> Ptr GLdouble -> IO ())
    ptr_glMultiTexCoord4dvARB GLenum
    v1 Ptr GLdouble
    v2

    {-# NOINLINE ptr_glMultiTexCoord4dvARB #-}
    ptr_glMultiTexCoord4dvARB :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
    ptr_glMultiTexCoord4dvARB :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
    ptr_glMultiTexCoord4dvARB = IO (FunPtr (GLenum -> Ptr GLdouble -> IO ()))
    -> FunPtr (GLenum -> Ptr GLdouble -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLenum -> Ptr GLdouble -> IO ()))
     -> FunPtr (GLenum -> Ptr GLdouble -> IO ()))
    -> IO (FunPtr (GLenum -> Ptr GLdouble -> IO ()))
    -> FunPtr (GLenum -> Ptr GLdouble -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLenum -> Ptr GLdouble -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glMultiTexCoord4dvARB"

    -- glMultiTexCoord4f -----------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glMultiTexCoord4fv'.
    glMultiTexCoord4f
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLfloat -- ^ @s@ of type @CoordF@.
      -> GLfloat -- ^ @t@ of type @CoordF@.
      -> GLfloat -- ^ @r@ of type @CoordF@.
      -> GLfloat -- ^ @q@ of type @CoordF@.
      -> m ()
    glMultiTexCoord4f :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
    glMultiTexCoord4f GLenum
    v1 GLfloat
    v2 GLfloat
    v3 GLfloat
    v4 GLfloat
    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 -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
    -> GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
    dyn547 FunPtr
      (GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
    ptr_glMultiTexCoord4f GLenum
    v1 GLfloat
    v2 GLfloat
    v3 GLfloat
    v4 GLfloat
    v5

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

    -- glMultiTexCoord4fARB --------------------------------------------------------

    -- | The vector equivalent of this command is 'glMultiTexCoord4fv'. This command is an alias for 'glMultiTexCoord4f'.
    glMultiTexCoord4fARB
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLfloat -- ^ @s@ of type @CoordF@.
      -> GLfloat -- ^ @t@ of type @CoordF@.
      -> GLfloat -- ^ @r@ of type @CoordF@.
      -> GLfloat -- ^ @q@ of type @CoordF@.
      -> m ()
    glMultiTexCoord4fARB :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
    glMultiTexCoord4fARB GLenum
    v1 GLfloat
    v2 GLfloat
    v3 GLfloat
    v4 GLfloat
    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 -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
    -> GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
    dyn547 FunPtr
      (GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
    ptr_glMultiTexCoord4fARB GLenum
    v1 GLfloat
    v2 GLfloat
    v3 GLfloat
    v4 GLfloat
    v5

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

    -- glMultiTexCoord4fv ----------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>.
    glMultiTexCoord4fv
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> Ptr GLfloat -- ^ @v@ pointing to @4@ elements of type @CoordF@.
      -> m ()
    glMultiTexCoord4fv :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLfloat -> m ()
    glMultiTexCoord4fv 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_glMultiTexCoord4fv GLenum
    v1 Ptr GLfloat
    v2

    {-# NOINLINE ptr_glMultiTexCoord4fv #-}
    ptr_glMultiTexCoord4fv :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
    ptr_glMultiTexCoord4fv :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
    ptr_glMultiTexCoord4fv = 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
    "glMultiTexCoord4fv"

    -- glMultiTexCoord4fvARB -------------------------------------------------------

    -- | This command is an alias for 'glMultiTexCoord4fv'.
    glMultiTexCoord4fvARB
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> Ptr GLfloat -- ^ @v@ pointing to @4@ elements of type @CoordF@.
      -> m ()
    glMultiTexCoord4fvARB :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLfloat -> m ()
    glMultiTexCoord4fvARB 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_glMultiTexCoord4fvARB GLenum
    v1 Ptr GLfloat
    v2

    {-# NOINLINE ptr_glMultiTexCoord4fvARB #-}
    ptr_glMultiTexCoord4fvARB :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
    ptr_glMultiTexCoord4fvARB :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
    ptr_glMultiTexCoord4fvARB = 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
    "glMultiTexCoord4fvARB"

    -- glMultiTexCoord4hNV ---------------------------------------------------------

    -- | The vector equivalent of this command is 'glMultiTexCoord4hvNV'.
    glMultiTexCoord4hNV
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLhalfNV -- ^ @s@ of type @Half16NV@.
      -> GLhalfNV -- ^ @t@ of type @Half16NV@.
      -> GLhalfNV -- ^ @r@ of type @Half16NV@.
      -> GLhalfNV -- ^ @q@ of type @Half16NV@.
      -> m ()
    glMultiTexCoord4hNV :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> m ()
    glMultiTexCoord4hNV GLenum
    v1 GLhalfNV
    v2 GLhalfNV
    v3 GLhalfNV
    v4 GLhalfNV
    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 -> GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ())
    -> GLenum -> GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ()
    dyn586 FunPtr
      (GLenum -> GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ())
    ptr_glMultiTexCoord4hNV GLenum
    v1 GLhalfNV
    v2 GLhalfNV
    v3 GLhalfNV
    v4 GLhalfNV
    v5

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

    -- glMultiTexCoord4hvNV --------------------------------------------------------

    glMultiTexCoord4hvNV
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> Ptr GLhalfNV -- ^ @v@ pointing to @4@ elements of type @Half16NV@.
      -> m ()
    glMultiTexCoord4hvNV :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLhalfNV -> m ()
    glMultiTexCoord4hvNV GLenum
    v1 Ptr GLhalfNV
    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 GLhalfNV -> IO ())
    -> GLenum -> Ptr GLhalfNV -> IO ()
    dyn571 FunPtr (GLenum -> Ptr GLhalfNV -> IO ())
    ptr_glMultiTexCoord4hvNV GLenum
    v1 Ptr GLhalfNV
    v2

    {-# NOINLINE ptr_glMultiTexCoord4hvNV #-}
    ptr_glMultiTexCoord4hvNV :: FunPtr (GLenum -> Ptr GLhalfNV -> IO ())
    ptr_glMultiTexCoord4hvNV :: FunPtr (GLenum -> Ptr GLhalfNV -> IO ())
    ptr_glMultiTexCoord4hvNV = IO (FunPtr (GLenum -> Ptr GLhalfNV -> IO ()))
    -> FunPtr (GLenum -> Ptr GLhalfNV -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLenum -> Ptr GLhalfNV -> IO ()))
     -> FunPtr (GLenum -> Ptr GLhalfNV -> IO ()))
    -> IO (FunPtr (GLenum -> Ptr GLhalfNV -> IO ()))
    -> FunPtr (GLenum -> Ptr GLhalfNV -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLenum -> Ptr GLhalfNV -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glMultiTexCoord4hvNV"

    -- glMultiTexCoord4i -----------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glMultiTexCoord4iv'.
    glMultiTexCoord4i
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLint -- ^ @s@ of type @CoordI@.
      -> GLint -- ^ @t@ of type @CoordI@.
      -> GLint -- ^ @r@ of type @CoordI@.
      -> GLint -- ^ @q@ of type @CoordI@.
      -> m ()
    glMultiTexCoord4i :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLint -> GLint -> GLint -> GLint -> m ()
    glMultiTexCoord4i GLenum
    v1 GLint
    v2 GLint
    v3 GLint
    v4 GLint
    v5 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> IO ())
    -> GLenum -> GLint -> GLint -> GLint -> GLint -> IO ()
    dyn276 FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> IO ())
    ptr_glMultiTexCoord4i GLenum
    v1 GLint
    v2 GLint
    v3 GLint
    v4 GLint
    v5

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

    -- glMultiTexCoord4iARB --------------------------------------------------------

    -- | The vector equivalent of this command is 'glMultiTexCoord4iv'. This command is an alias for 'glMultiTexCoord4i'.
    glMultiTexCoord4iARB
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLint -- ^ @s@ of type @CoordI@.
      -> GLint -- ^ @t@ of type @CoordI@.
      -> GLint -- ^ @r@ of type @CoordI@.
      -> GLint -- ^ @q@ of type @CoordI@.
      -> m ()
    glMultiTexCoord4iARB :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLint -> GLint -> GLint -> GLint -> m ()
    glMultiTexCoord4iARB GLenum
    v1 GLint
    v2 GLint
    v3 GLint
    v4 GLint
    v5 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> IO ())
    -> GLenum -> GLint -> GLint -> GLint -> GLint -> IO ()
    dyn276 FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> IO ())
    ptr_glMultiTexCoord4iARB GLenum
    v1 GLint
    v2 GLint
    v3 GLint
    v4 GLint
    v5

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

    -- glMultiTexCoord4iv ----------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>.
    glMultiTexCoord4iv
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> Ptr GLint -- ^ @v@ pointing to @4@ elements of type @CoordI@.
      -> m ()
    glMultiTexCoord4iv :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLint -> m ()
    glMultiTexCoord4iv GLenum
    v1 Ptr GLint
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> Ptr GLint -> IO ())
    -> GLenum -> Ptr GLint -> IO ()
    dyn143 FunPtr (GLenum -> Ptr GLint -> IO ())
    ptr_glMultiTexCoord4iv GLenum
    v1 Ptr GLint
    v2

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

    -- glMultiTexCoord4ivARB -------------------------------------------------------

    -- | This command is an alias for 'glMultiTexCoord4iv'.
    glMultiTexCoord4ivARB
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> Ptr GLint -- ^ @v@ pointing to @4@ elements of type @CoordI@.
      -> m ()
    glMultiTexCoord4ivARB :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLint -> m ()
    glMultiTexCoord4ivARB GLenum
    v1 Ptr GLint
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> Ptr GLint -> IO ())
    -> GLenum -> Ptr GLint -> IO ()
    dyn143 FunPtr (GLenum -> Ptr GLint -> IO ())
    ptr_glMultiTexCoord4ivARB GLenum
    v1 Ptr GLint
    v2

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

    -- glMultiTexCoord4s -----------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glMultiTexCoord4sv'.
    glMultiTexCoord4s
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLshort -- ^ @s@ of type @CoordS@.
      -> GLshort -- ^ @t@ of type @CoordS@.
      -> GLshort -- ^ @r@ of type @CoordS@.
      -> GLshort -- ^ @q@ of type @CoordS@.
      -> m ()
    glMultiTexCoord4s :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> m ()
    glMultiTexCoord4s GLenum
    v1 GLshort
    v2 GLshort
    v3 GLshort
    v4 GLshort
    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 -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
    -> GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> IO ()
    dyn587 FunPtr
      (GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
    ptr_glMultiTexCoord4s GLenum
    v1 GLshort
    v2 GLshort
    v3 GLshort
    v4 GLshort
    v5

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

    -- glMultiTexCoord4sARB --------------------------------------------------------

    -- | The vector equivalent of this command is 'glMultiTexCoord4sv'. This command is an alias for 'glMultiTexCoord4s'.
    glMultiTexCoord4sARB
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLshort -- ^ @s@ of type @CoordS@.
      -> GLshort -- ^ @t@ of type @CoordS@.
      -> GLshort -- ^ @r@ of type @CoordS@.
      -> GLshort -- ^ @q@ of type @CoordS@.
      -> m ()
    glMultiTexCoord4sARB :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> m ()
    glMultiTexCoord4sARB GLenum
    v1 GLshort
    v2 GLshort
    v3 GLshort
    v4 GLshort
    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 -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
    -> GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> IO ()
    dyn587 FunPtr
      (GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
    ptr_glMultiTexCoord4sARB GLenum
    v1 GLshort
    v2 GLshort
    v3 GLshort
    v4 GLshort
    v5

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

    -- glMultiTexCoord4sv ----------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>.
    glMultiTexCoord4sv
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> Ptr GLshort -- ^ @v@ pointing to @4@ elements of type @CoordS@.
      -> m ()
    glMultiTexCoord4sv :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLshort -> m ()
    glMultiTexCoord4sv GLenum
    v1 Ptr GLshort
    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 GLshort -> IO ())
    -> GLenum -> Ptr GLshort -> IO ()
    dyn573 FunPtr (GLenum -> Ptr GLshort -> IO ())
    ptr_glMultiTexCoord4sv GLenum
    v1 Ptr GLshort
    v2

    {-# NOINLINE ptr_glMultiTexCoord4sv #-}
    ptr_glMultiTexCoord4sv :: FunPtr (GLenum -> Ptr GLshort -> IO ())
    ptr_glMultiTexCoord4sv :: FunPtr (GLenum -> Ptr GLshort -> IO ())
    ptr_glMultiTexCoord4sv = IO (FunPtr (GLenum -> Ptr GLshort -> IO ()))
    -> FunPtr (GLenum -> Ptr GLshort -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLenum -> Ptr GLshort -> IO ()))
     -> FunPtr (GLenum -> Ptr GLshort -> IO ()))
    -> IO (FunPtr (GLenum -> Ptr GLshort -> IO ()))
    -> FunPtr (GLenum -> Ptr GLshort -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLenum -> Ptr GLshort -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glMultiTexCoord4sv"

    -- glMultiTexCoord4svARB -------------------------------------------------------

    -- | This command is an alias for 'glMultiTexCoord4sv'.
    glMultiTexCoord4svARB
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> Ptr GLshort -- ^ @v@ pointing to @4@ elements of type @CoordS@.
      -> m ()
    glMultiTexCoord4svARB :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLshort -> m ()
    glMultiTexCoord4svARB GLenum
    v1 Ptr GLshort
    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 GLshort -> IO ())
    -> GLenum -> Ptr GLshort -> IO ()
    dyn573 FunPtr (GLenum -> Ptr GLshort -> IO ())
    ptr_glMultiTexCoord4svARB GLenum
    v1 Ptr GLshort
    v2

    {-# NOINLINE ptr_glMultiTexCoord4svARB #-}
    ptr_glMultiTexCoord4svARB :: FunPtr (GLenum -> Ptr GLshort -> IO ())
    ptr_glMultiTexCoord4svARB :: FunPtr (GLenum -> Ptr GLshort -> IO ())
    ptr_glMultiTexCoord4svARB = IO (FunPtr (GLenum -> Ptr GLshort -> IO ()))
    -> FunPtr (GLenum -> Ptr GLshort -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLenum -> Ptr GLshort -> IO ()))
     -> FunPtr (GLenum -> Ptr GLshort -> IO ()))
    -> IO (FunPtr (GLenum -> Ptr GLshort -> IO ()))
    -> FunPtr (GLenum -> Ptr GLshort -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLenum -> Ptr GLshort -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glMultiTexCoord4svARB"

    -- glMultiTexCoord4x -----------------------------------------------------------

    glMultiTexCoord4x
      :: MonadIO m
      => GLenum -- ^ @texture@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLfixed -- ^ @s@.
      -> GLfixed -- ^ @t@.
      -> GLfixed -- ^ @r@.
      -> GLfixed -- ^ @q@.
      -> m ()
    glMultiTexCoord4x :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()
    glMultiTexCoord4x GLenum
    v1 GLfixed
    v2 GLfixed
    v3 GLfixed
    v4 GLfixed
    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 -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
    -> GLenum -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ()
    dyn588 FunPtr
      (GLenum -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
    ptr_glMultiTexCoord4x GLenum
    v1 GLfixed
    v2 GLfixed
    v3 GLfixed
    v4 GLfixed
    v5

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

    -- glMultiTexCoord4xOES --------------------------------------------------------

    glMultiTexCoord4xOES
      :: MonadIO m
      => GLenum -- ^ @texture@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLfixed -- ^ @s@.
      -> GLfixed -- ^ @t@.
      -> GLfixed -- ^ @r@.
      -> GLfixed -- ^ @q@.
      -> m ()
    glMultiTexCoord4xOES :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()
    glMultiTexCoord4xOES GLenum
    v1 GLfixed
    v2 GLfixed
    v3 GLfixed
    v4 GLfixed
    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 -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
    -> GLenum -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ()
    dyn588 FunPtr
      (GLenum -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
    ptr_glMultiTexCoord4xOES GLenum
    v1 GLfixed
    v2 GLfixed
    v3 GLfixed
    v4 GLfixed
    v5

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

    -- glMultiTexCoord4xvOES -------------------------------------------------------

    glMultiTexCoord4xvOES
      :: MonadIO m
      => GLenum -- ^ @texture@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> Ptr GLfixed -- ^ @coords@ pointing to @4@ elements of type @GLfixed@.
      -> m ()
    glMultiTexCoord4xvOES :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLfixed -> m ()
    glMultiTexCoord4xvOES GLenum
    v1 Ptr GLfixed
    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 GLfixed -> IO ())
    -> GLenum -> Ptr GLfixed -> IO ()
    dyn102 FunPtr (GLenum -> Ptr GLfixed -> IO ())
    ptr_glMultiTexCoord4xvOES GLenum
    v1 Ptr GLfixed
    v2

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

    -- glMultiTexCoordP1ui ---------------------------------------------------------

    glMultiTexCoordP1ui
      :: MonadIO m
      => GLenum -- ^ @texture@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLenum -- ^ @type@ of type [TexCoordPointerType](Graphics-GL-Groups.html#TexCoordPointerType).
      -> GLuint -- ^ @coords@.
      -> m ()
    glMultiTexCoordP1ui :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> m ()
    glMultiTexCoordP1ui GLenum
    v1 GLenum
    v2 GLenum
    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 -> GLenum -> IO ())
    -> GLenum -> GLenum -> GLenum -> IO ()
    dyn32 FunPtr (GLenum -> GLenum -> GLenum -> IO ())
    ptr_glMultiTexCoordP1ui GLenum
    v1 GLenum
    v2 GLenum
    v3

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

    -- glMultiTexCoordP1uiv --------------------------------------------------------

    glMultiTexCoordP1uiv
      :: MonadIO m
      => GLenum -- ^ @texture@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLenum -- ^ @type@ of type [TexCoordPointerType](Graphics-GL-Groups.html#TexCoordPointerType).
      -> Ptr GLuint -- ^ @coords@ pointing to @1@ element of type @GLuint@.
      -> m ()
    glMultiTexCoordP1uiv :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLenum -> m ()
    glMultiTexCoordP1uiv GLenum
    v1 GLenum
    v2 Ptr GLenum
    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 GLenum -> IO ())
    -> GLenum -> GLenum -> Ptr GLenum -> IO ()
    dyn432 FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
    ptr_glMultiTexCoordP1uiv GLenum
    v1 GLenum
    v2 Ptr GLenum
    v3

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

    -- glMultiTexCoordP2ui ---------------------------------------------------------

    glMultiTexCoordP2ui
      :: MonadIO m
      => GLenum -- ^ @texture@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLenum -- ^ @type@ of type [TexCoordPointerType](Graphics-GL-Groups.html#TexCoordPointerType).
      -> GLuint -- ^ @coords@.
      -> m ()
    glMultiTexCoordP2ui :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> m ()
    glMultiTexCoordP2ui GLenum
    v1 GLenum
    v2 GLenum
    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 -> GLenum -> IO ())
    -> GLenum -> GLenum -> GLenum -> IO ()
    dyn32 FunPtr (GLenum -> GLenum -> GLenum -> IO ())
    ptr_glMultiTexCoordP2ui GLenum
    v1 GLenum
    v2 GLenum
    v3

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

    -- glMultiTexCoordP2uiv --------------------------------------------------------

    glMultiTexCoordP2uiv
      :: MonadIO m
      => GLenum -- ^ @texture@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLenum -- ^ @type@ of type [TexCoordPointerType](Graphics-GL-Groups.html#TexCoordPointerType).
      -> Ptr GLuint -- ^ @coords@ pointing to @1@ element of type @GLuint@.
      -> m ()
    glMultiTexCoordP2uiv :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLenum -> m ()
    glMultiTexCoordP2uiv GLenum
    v1 GLenum
    v2 Ptr GLenum
    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 GLenum -> IO ())
    -> GLenum -> GLenum -> Ptr GLenum -> IO ()
    dyn432 FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
    ptr_glMultiTexCoordP2uiv GLenum
    v1 GLenum
    v2 Ptr GLenum
    v3

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

    -- glMultiTexCoordP3ui ---------------------------------------------------------

    glMultiTexCoordP3ui
      :: MonadIO m
      => GLenum -- ^ @texture@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLenum -- ^ @type@ of type [TexCoordPointerType](Graphics-GL-Groups.html#TexCoordPointerType).
      -> GLuint -- ^ @coords@.
      -> m ()
    glMultiTexCoordP3ui :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> m ()
    glMultiTexCoordP3ui GLenum
    v1 GLenum
    v2 GLenum
    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 -> GLenum -> IO ())
    -> GLenum -> GLenum -> GLenum -> IO ()
    dyn32 FunPtr (GLenum -> GLenum -> GLenum -> IO ())
    ptr_glMultiTexCoordP3ui GLenum
    v1 GLenum
    v2 GLenum
    v3

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

    -- glMultiTexCoordP3uiv --------------------------------------------------------

    glMultiTexCoordP3uiv
      :: MonadIO m
      => GLenum -- ^ @texture@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLenum -- ^ @type@ of type [TexCoordPointerType](Graphics-GL-Groups.html#TexCoordPointerType).
      -> Ptr GLuint -- ^ @coords@ pointing to @1@ element of type @GLuint@.
      -> m ()
    glMultiTexCoordP3uiv :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLenum -> m ()
    glMultiTexCoordP3uiv GLenum
    v1 GLenum
    v2 Ptr GLenum
    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 GLenum -> IO ())
    -> GLenum -> GLenum -> Ptr GLenum -> IO ()
    dyn432 FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
    ptr_glMultiTexCoordP3uiv GLenum
    v1 GLenum
    v2 Ptr GLenum
    v3

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

    -- glMultiTexCoordP4ui ---------------------------------------------------------

    glMultiTexCoordP4ui
      :: MonadIO m
      => GLenum -- ^ @texture@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLenum -- ^ @type@ of type [TexCoordPointerType](Graphics-GL-Groups.html#TexCoordPointerType).
      -> GLuint -- ^ @coords@.
      -> m ()
    glMultiTexCoordP4ui :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> m ()
    glMultiTexCoordP4ui GLenum
    v1 GLenum
    v2 GLenum
    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 -> GLenum -> IO ())
    -> GLenum -> GLenum -> GLenum -> IO ()
    dyn32 FunPtr (GLenum -> GLenum -> GLenum -> IO ())
    ptr_glMultiTexCoordP4ui GLenum
    v1 GLenum
    v2 GLenum
    v3

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

    -- glMultiTexCoordP4uiv --------------------------------------------------------

    glMultiTexCoordP4uiv
      :: MonadIO m
      => GLenum -- ^ @texture@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLenum -- ^ @type@ of type [TexCoordPointerType](Graphics-GL-Groups.html#TexCoordPointerType).
      -> Ptr GLuint -- ^ @coords@ pointing to @1@ element of type @GLuint@.
      -> m ()
    glMultiTexCoordP4uiv :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLenum -> m ()
    glMultiTexCoordP4uiv GLenum
    v1 GLenum
    v2 Ptr GLenum
    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 GLenum -> IO ())
    -> GLenum -> GLenum -> Ptr GLenum -> IO ()
    dyn432 FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
    ptr_glMultiTexCoordP4uiv GLenum
    v1 GLenum
    v2 Ptr GLenum
    v3

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

    -- glMultiTexCoordPointerEXT ---------------------------------------------------

    glMultiTexCoordPointerEXT
      :: MonadIO m
      => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLint -- ^ @size@.
      -> GLenum -- ^ @type@ of type [TexCoordPointerType](Graphics-GL-Groups.html#TexCoordPointerType).
      -> GLsizei -- ^ @stride@.
      -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(size,type,stride)@ elements of type @a@.
      -> m ()
    glMultiTexCoordPointerEXT :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum -> GLint -> GLenum -> GLint -> Ptr a -> m ()
    glMultiTexCoordPointerEXT GLenum
    v1 GLint
    v2 GLenum
    v3 GLint
    v4 Ptr a
    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 -> GLint -> GLenum -> GLint -> Ptr a -> IO ())
    -> GLenum -> GLint -> GLenum -> GLint -> Ptr a -> IO ()
    forall a.
    FunPtr (GLenum -> GLint -> GLenum -> GLint -> Ptr a -> IO ())
    -> GLenum -> GLint -> GLenum -> GLint -> Ptr a -> IO ()
    dyn589 FunPtr (GLenum -> GLint -> GLenum -> GLint -> Ptr a -> IO ())
    forall a.
    FunPtr (GLenum -> GLint -> GLenum -> GLint -> Ptr a -> IO ())
    ptr_glMultiTexCoordPointerEXT GLenum
    v1 GLint
    v2 GLenum
    v3 GLint
    v4 Ptr a
    v5

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

    -- glMultiTexEnvfEXT -----------------------------------------------------------

    -- | The vector equivalent of this command is 'glMultiTexEnvfvEXT'.
    glMultiTexEnvfEXT
      :: MonadIO m
      => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLenum -- ^ @target@ of type [TextureEnvTarget](Graphics-GL-Groups.html#TextureEnvTarget).
      -> GLenum -- ^ @pname@ of type [TextureEnvParameter](Graphics-GL-Groups.html#TextureEnvParameter).
      -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
      -> m ()
    glMultiTexEnvfEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> GLfloat -> m ()
    glMultiTexEnvfEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 GLfloat
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLenum -> GLfloat -> IO ())
    -> GLenum -> GLenum -> GLenum -> GLfloat -> IO ()
    dyn590 FunPtr (GLenum -> GLenum -> GLenum -> GLfloat -> IO ())
    ptr_glMultiTexEnvfEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 GLfloat
    v4

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

    -- glMultiTexEnvfvEXT ----------------------------------------------------------

    glMultiTexEnvfvEXT
      :: MonadIO m
      => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLenum -- ^ @target@ of type [TextureEnvTarget](Graphics-GL-Groups.html#TextureEnvTarget).
      -> GLenum -- ^ @pname@ of type [TextureEnvParameter](Graphics-GL-Groups.html#TextureEnvParameter).
      -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
      -> m ()
    glMultiTexEnvfvEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> Ptr GLfloat -> m ()
    glMultiTexEnvfvEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLfloat
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
    -> GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ()
    dyn334 FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
    ptr_glMultiTexEnvfvEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLfloat
    v4

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

    -- glMultiTexEnviEXT -----------------------------------------------------------

    -- | The vector equivalent of this command is 'glMultiTexEnvivEXT'.
    glMultiTexEnviEXT
      :: MonadIO m
      => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLenum -- ^ @target@ of type [TextureEnvTarget](Graphics-GL-Groups.html#TextureEnvTarget).
      -> GLenum -- ^ @pname@ of type [TextureEnvParameter](Graphics-GL-Groups.html#TextureEnvParameter).
      -> GLint -- ^ @param@ of type @CheckedInt32@.
      -> m ()
    glMultiTexEnviEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> GLint -> m ()
    glMultiTexEnviEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 GLint
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLenum -> GLint -> IO ())
    -> GLenum -> GLenum -> GLenum -> GLint -> IO ()
    dyn591 FunPtr (GLenum -> GLenum -> GLenum -> GLint -> IO ())
    ptr_glMultiTexEnviEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 GLint
    v4

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

    -- glMultiTexEnvivEXT ----------------------------------------------------------

    glMultiTexEnvivEXT
      :: MonadIO m
      => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLenum -- ^ @target@ of type [TextureEnvTarget](Graphics-GL-Groups.html#TextureEnvTarget).
      -> GLenum -- ^ @pname@ of type [TextureEnvParameter](Graphics-GL-Groups.html#TextureEnvParameter).
      -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
      -> m ()
    glMultiTexEnvivEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()
    glMultiTexEnvivEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLint
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
    -> GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ()
    dyn335 FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glMultiTexEnvivEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLint
    v4

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

    -- glMultiTexGendEXT -----------------------------------------------------------

    -- | The vector equivalent of this command is 'glMultiTexGendvEXT'.
    glMultiTexGendEXT
      :: MonadIO m
      => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-GL-Groups.html#TextureCoordName).
      -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-GL-Groups.html#TextureGenParameter).
      -> GLdouble -- ^ @param@.
      -> m ()
    glMultiTexGendEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> GLdouble -> m ()
    glMultiTexGendEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 GLdouble
    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 -> GLenum -> GLenum -> GLdouble -> IO ())
    -> GLenum -> GLenum -> GLenum -> GLdouble -> IO ()
    dyn592 FunPtr (GLenum -> GLenum -> GLenum -> GLdouble -> IO ())
    ptr_glMultiTexGendEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 GLdouble
    v4

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

    -- glMultiTexGendvEXT ----------------------------------------------------------

    glMultiTexGendvEXT
      :: MonadIO m
      => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-GL-Groups.html#TextureCoordName).
      -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-GL-Groups.html#TextureGenParameter).
      -> Ptr GLdouble -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLdouble@.
      -> m ()
    glMultiTexGendvEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> Ptr GLdouble -> m ()
    glMultiTexGendvEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLdouble
    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 -> GLenum -> GLenum -> Ptr GLdouble -> IO ())
    -> GLenum -> GLenum -> GLenum -> Ptr GLdouble -> IO ()
    dyn370 FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLdouble -> IO ())
    ptr_glMultiTexGendvEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLdouble
    v4

    {-# NOINLINE ptr_glMultiTexGendvEXT #-}
    ptr_glMultiTexGendvEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLdouble -> IO ())
    ptr_glMultiTexGendvEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLdouble -> IO ())
    ptr_glMultiTexGendvEXT = IO (FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLdouble -> IO ()))
    -> FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLdouble -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLdouble -> IO ()))
     -> FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLdouble -> IO ()))
    -> IO
         (FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLdouble -> IO ()))
    -> FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLdouble -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String
    -> IO
         (FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLdouble -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glMultiTexGendvEXT"

    -- glMultiTexGenfEXT -----------------------------------------------------------

    -- | The vector equivalent of this command is 'glMultiTexGenfvEXT'.
    glMultiTexGenfEXT
      :: MonadIO m
      => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-GL-Groups.html#TextureCoordName).
      -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-GL-Groups.html#TextureGenParameter).
      -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
      -> m ()
    glMultiTexGenfEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> GLfloat -> m ()
    glMultiTexGenfEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 GLfloat
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLenum -> GLfloat -> IO ())
    -> GLenum -> GLenum -> GLenum -> GLfloat -> IO ()
    dyn590 FunPtr (GLenum -> GLenum -> GLenum -> GLfloat -> IO ())
    ptr_glMultiTexGenfEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 GLfloat
    v4

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

    -- glMultiTexGenfvEXT ----------------------------------------------------------

    glMultiTexGenfvEXT
      :: MonadIO m
      => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-GL-Groups.html#TextureCoordName).
      -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-GL-Groups.html#TextureGenParameter).
      -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
      -> m ()
    glMultiTexGenfvEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> Ptr GLfloat -> m ()
    glMultiTexGenfvEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLfloat
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
    -> GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ()
    dyn334 FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
    ptr_glMultiTexGenfvEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLfloat
    v4

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

    -- glMultiTexGeniEXT -----------------------------------------------------------

    -- | The vector equivalent of this command is 'glMultiTexGenivEXT'.
    glMultiTexGeniEXT
      :: MonadIO m
      => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-GL-Groups.html#TextureCoordName).
      -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-GL-Groups.html#TextureGenParameter).
      -> GLint -- ^ @param@ of type @CheckedInt32@.
      -> m ()
    glMultiTexGeniEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> GLint -> m ()
    glMultiTexGeniEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 GLint
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLenum -> GLint -> IO ())
    -> GLenum -> GLenum -> GLenum -> GLint -> IO ()
    dyn591 FunPtr (GLenum -> GLenum -> GLenum -> GLint -> IO ())
    ptr_glMultiTexGeniEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 GLint
    v4

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

    -- glMultiTexGenivEXT ----------------------------------------------------------

    glMultiTexGenivEXT
      :: MonadIO m
      => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-GL-Groups.html#TextureCoordName).
      -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-GL-Groups.html#TextureGenParameter).
      -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
      -> m ()
    glMultiTexGenivEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()
    glMultiTexGenivEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLint
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
    -> GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ()
    dyn335 FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glMultiTexGenivEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLint
    v4

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

    -- glMultiTexImage1DEXT --------------------------------------------------------

    glMultiTexImage1DEXT
      :: 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 -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
      -> GLsizei -- ^ @width@.
      -> GLint -- ^ @border@ of type @CheckedInt32@.
      -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
      -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
      -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width)@ elements of type @a@.
      -> m ()
    glMultiTexImage1DEXT :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum
    -> GLenum
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLenum
    -> GLenum
    -> Ptr a
    -> m ()
    glMultiTexImage1DEXT GLenum
    v1 GLenum
    v2 GLint
    v3 GLint
    v4 GLint
    v5 GLint
    v6 GLenum
    v7 GLenum
    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
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLenum
       -> GLenum
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLenum
    -> GLenum
    -> Ptr a
    -> IO ()
    forall a.
    FunPtr
      (GLenum
       -> GLenum
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLenum
       -> GLenum
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLenum
    -> GLenum
    -> Ptr a
    -> IO ()
    dyn593 FunPtr
      (GLenum
       -> GLenum
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLenum
       -> GLenum
       -> Ptr a
       -> IO ())
    forall a.
    FunPtr
      (GLenum
       -> GLenum
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLenum
       -> GLenum
       -> Ptr a
       -> IO ())
    ptr_glMultiTexImage1DEXT GLenum
    v1 GLenum
    v2 GLint
    v3 GLint
    v4 GLint
    v5 GLint
    v6 GLenum
    v7 GLenum
    v8 Ptr a
    v9

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

    -- glMultiTexImage2DEXT --------------------------------------------------------

    glMultiTexImage2DEXT
      :: 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 -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> GLint -- ^ @border@ of type @CheckedInt32@.
      -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
      -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
      -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height)@ elements of type @a@.
      -> m ()
    glMultiTexImage2DEXT :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum
    -> GLenum
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLenum
    -> GLenum
    -> Ptr a
    -> m ()
    glMultiTexImage2DEXT GLenum
    v1 GLenum
    v2 GLint
    v3 GLint
    v4 GLint
    v5 GLint
    v6 GLint
    v7 GLenum
    v8 GLenum
    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
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLenum
       -> GLenum
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLenum
    -> GLenum
    -> Ptr a
    -> IO ()
    forall a.
    FunPtr
      (GLenum
       -> GLenum
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLenum
       -> GLenum
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLenum
    -> GLenum
    -> Ptr a
    -> IO ()
    dyn594 FunPtr
      (GLenum
       -> GLenum
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLenum
       -> GLenum
       -> Ptr a
       -> IO ())
    forall a.
    FunPtr
      (GLenum
       -> GLenum
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLenum
       -> GLenum
       -> Ptr a
       -> IO ())
    ptr_glMultiTexImage2DEXT GLenum
    v1 GLenum
    v2 GLint
    v3 GLint
    v4 GLint
    v5 GLint
    v6 GLint
    v7 GLenum
    v8 GLenum
    v9 Ptr a
    v10

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

    -- glMultiTexImage3DEXT --------------------------------------------------------

    glMultiTexImage3DEXT
      :: 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 -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> GLsizei -- ^ @depth@.
      -> GLint -- ^ @border@ of type @CheckedInt32@.
      -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
      -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
      -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height,depth)@ elements of type @a@.
      -> m ()
    glMultiTexImage3DEXT :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum
    -> GLenum
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLenum
    -> GLenum
    -> Ptr a
    -> m ()
    glMultiTexImage3DEXT GLenum
    v1 GLenum
    v2 GLint
    v3 GLint
    v4 GLint
    v5 GLint
    v6 GLint
    v7 GLint
    v8 GLenum
    v9 GLenum
    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
       -> GLenum
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLenum
       -> GLenum
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLenum
    -> GLenum
    -> Ptr a
    -> IO ()
    forall a.
    FunPtr
      (GLenum
       -> GLenum
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLenum
       -> GLenum
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLenum
    -> GLenum
    -> Ptr a
    -> IO ()
    dyn595 FunPtr
      (GLenum
       -> GLenum
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLenum
       -> GLenum
       -> Ptr a
       -> IO ())
    forall a.
    FunPtr
      (GLenum
       -> GLenum
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLenum
       -> GLenum
       -> Ptr a
       -> IO ())
    ptr_glMultiTexImage3DEXT GLenum
    v1 GLenum
    v2 GLint
    v3 GLint
    v4 GLint
    v5 GLint
    v6 GLint
    v7 GLint
    v8 GLenum
    v9 GLenum
    v10 Ptr a
    v11

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

    -- glMultiTexParameterIivEXT ---------------------------------------------------

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

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

    -- glMultiTexParameterIuivEXT --------------------------------------------------

    glMultiTexParameterIuivEXT
      :: MonadIO m
      => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-GL-Groups.html#TextureParameterName).
      -> Ptr GLuint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
      -> m ()
    glMultiTexParameterIuivEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> Ptr GLenum -> m ()
    glMultiTexParameterIuivEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLenum
    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 -> GLenum -> GLenum -> Ptr GLenum -> IO ())
    -> GLenum -> GLenum -> GLenum -> Ptr GLenum -> IO ()
    dyn374 FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLenum -> IO ())
    ptr_glMultiTexParameterIuivEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLenum
    v4

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

    -- glMultiTexParameterfEXT -----------------------------------------------------

    -- | The vector equivalent of this command is 'glMultiTexParameterfvEXT'.
    glMultiTexParameterfEXT
      :: MonadIO m
      => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-GL-Groups.html#TextureParameterName).
      -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
      -> m ()
    glMultiTexParameterfEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> GLfloat -> m ()
    glMultiTexParameterfEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 GLfloat
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLenum -> GLfloat -> IO ())
    -> GLenum -> GLenum -> GLenum -> GLfloat -> IO ()
    dyn590 FunPtr (GLenum -> GLenum -> GLenum -> GLfloat -> IO ())
    ptr_glMultiTexParameterfEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 GLfloat
    v4

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

    -- glMultiTexParameterfvEXT ----------------------------------------------------

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

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

    -- glMultiTexParameteriEXT -----------------------------------------------------

    -- | The vector equivalent of this command is 'glMultiTexParameterivEXT'.
    glMultiTexParameteriEXT
      :: MonadIO m
      => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-GL-Groups.html#TextureParameterName).
      -> GLint -- ^ @param@ of type @CheckedInt32@.
      -> m ()
    glMultiTexParameteriEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> GLint -> m ()
    glMultiTexParameteriEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 GLint
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLenum -> GLint -> IO ())
    -> GLenum -> GLenum -> GLenum -> GLint -> IO ()
    dyn591 FunPtr (GLenum -> GLenum -> GLenum -> GLint -> IO ())
    ptr_glMultiTexParameteriEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 GLint
    v4

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

    -- glMultiTexParameterivEXT ----------------------------------------------------

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

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

    -- glMultiTexRenderbufferEXT ---------------------------------------------------

    glMultiTexRenderbufferEXT
      :: MonadIO m
      => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLuint -- ^ @renderbuffer@.
      -> m ()
    glMultiTexRenderbufferEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> m ()
    glMultiTexRenderbufferEXT GLenum
    v1 GLenum
    v2 GLenum
    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 -> GLenum -> IO ())
    -> GLenum -> GLenum -> GLenum -> IO ()
    dyn32 FunPtr (GLenum -> GLenum -> GLenum -> IO ())
    ptr_glMultiTexRenderbufferEXT GLenum
    v1 GLenum
    v2 GLenum
    v3

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

    -- glMultiTexSubImage1DEXT -----------------------------------------------------

    glMultiTexSubImage1DEXT
      :: 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).
      -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
      -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width)@ elements of type @a@.
      -> m ()
    glMultiTexSubImage1DEXT :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum
    -> GLenum
    -> GLint
    -> GLint
    -> GLint
    -> GLenum
    -> GLenum
    -> Ptr a
    -> m ()
    glMultiTexSubImage1DEXT GLenum
    v1 GLenum
    v2 GLint
    v3 GLint
    v4 GLint
    v5 GLenum
    v6 GLenum
    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
       -> GLint
       -> GLint
       -> GLint
       -> GLenum
       -> GLenum
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLint
    -> GLint
    -> GLint
    -> GLenum
    -> GLenum
    -> Ptr a
    -> IO ()
    forall a.
    FunPtr
      (GLenum
       -> GLenum
       -> GLint
       -> GLint
       -> GLint
       -> GLenum
       -> GLenum
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLint
    -> GLint
    -> GLint
    -> GLenum
    -> GLenum
    -> Ptr a
    -> IO ()
    dyn596 FunPtr
      (GLenum
       -> GLenum
       -> GLint
       -> GLint
       -> GLint
       -> GLenum
       -> GLenum
       -> Ptr a
       -> IO ())
    forall a.
    FunPtr
      (GLenum
       -> GLenum
       -> GLint
       -> GLint
       -> GLint
       -> GLenum
       -> GLenum
       -> Ptr a
       -> IO ())
    ptr_glMultiTexSubImage1DEXT GLenum
    v1 GLenum
    v2 GLint
    v3 GLint
    v4 GLint
    v5 GLenum
    v6 GLenum
    v7 Ptr a
    v8

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

    -- glMultiTexSubImage2DEXT -----------------------------------------------------

    glMultiTexSubImage2DEXT
      :: 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).
      -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
      -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height)@ elements of type @a@.
      -> m ()
    glMultiTexSubImage2DEXT :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum
    -> GLenum
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLenum
    -> GLenum
    -> Ptr a
    -> m ()
    glMultiTexSubImage2DEXT GLenum
    v1 GLenum
    v2 GLint
    v3 GLint
    v4 GLint
    v5 GLint
    v6 GLint
    v7 GLenum
    v8 GLenum
    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
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLenum
       -> GLenum
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLenum
    -> GLenum
    -> Ptr a
    -> IO ()
    forall a.
    FunPtr
      (GLenum
       -> GLenum
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLenum
       -> GLenum
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLenum
    -> GLenum
    -> Ptr a
    -> IO ()
    dyn597 FunPtr
      (GLenum
       -> GLenum
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLenum
       -> GLenum
       -> Ptr a
       -> IO ())
    forall a.
    FunPtr
      (GLenum
       -> GLenum
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLenum
       -> GLenum
       -> Ptr a
       -> IO ())
    ptr_glMultiTexSubImage2DEXT GLenum
    v1 GLenum
    v2 GLint
    v3 GLint
    v4 GLint
    v5 GLint
    v6 GLint
    v7 GLenum
    v8 GLenum
    v9 Ptr a
    v10

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

    -- glMultiTexSubImage3DEXT -----------------------------------------------------

    glMultiTexSubImage3DEXT
      :: 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).
      -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
      -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height,depth)@ elements of type @a@.
      -> m ()
    glMultiTexSubImage3DEXT :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum
    -> GLenum
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLenum
    -> GLenum
    -> Ptr a
    -> m ()
    glMultiTexSubImage3DEXT GLenum
    v1 GLenum
    v2 GLint
    v3 GLint
    v4 GLint
    v5 GLint
    v6 GLint
    v7 GLint
    v8 GLint
    v9 GLenum
    v10 GLenum
    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
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLenum
       -> GLenum
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLenum
    -> GLenum
    -> Ptr a
    -> IO ()
    forall a.
    FunPtr
      (GLenum
       -> GLenum
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLenum
       -> GLenum
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLenum
    -> GLenum
    -> Ptr a
    -> IO ()
    dyn598 FunPtr
      (GLenum
       -> GLenum
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLenum
       -> GLenum
       -> Ptr a
       -> IO ())
    forall a.
    FunPtr
      (GLenum
       -> GLenum
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLenum
       -> GLenum
       -> Ptr a
       -> IO ())
    ptr_glMultiTexSubImage3DEXT GLenum
    v1 GLenum
    v2 GLint
    v3 GLint
    v4 GLint
    v5 GLint
    v6 GLint
    v7 GLint
    v8 GLint
    v9 GLenum
    v10 GLenum
    v11 Ptr a
    v12

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

    -- glMulticastBarrierNV --------------------------------------------------------

    glMulticastBarrierNV
      :: MonadIO m
      => m ()
    glMulticastBarrierNV :: forall (m :: * -> *). MonadIO m => m ()
    glMulticastBarrierNV = 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 (IO ()) -> IO ()
    dyn11 FunPtr (IO ())
    ptr_glMulticastBarrierNV

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

    -- glMulticastBlitFramebufferNV ------------------------------------------------

    glMulticastBlitFramebufferNV
      :: MonadIO m
      => GLuint -- ^ @srcGpu@.
      -> GLuint -- ^ @dstGpu@.
      -> GLint -- ^ @srcX0@.
      -> GLint -- ^ @srcY0@.
      -> GLint -- ^ @srcX1@.
      -> GLint -- ^ @srcY1@.
      -> GLint -- ^ @dstX0@.
      -> GLint -- ^ @dstY0@.
      -> GLint -- ^ @dstX1@.
      -> GLint -- ^ @dstY1@.
      -> GLbitfield -- ^ @mask@ of type [ClearBufferMask](Graphics-GL-Groups.html#ClearBufferMask).
      -> GLenum -- ^ @filter@.
      -> m ()
    glMulticastBlitFramebufferNV :: forall (m :: * -> *).
    MonadIO m =>
    GLenum
    -> GLenum
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLenum
    -> GLenum
    -> m ()
    glMulticastBlitFramebufferNV GLenum
    v1 GLenum
    v2 GLint
    v3 GLint
    v4 GLint
    v5 GLint
    v6 GLint
    v7 GLint
    v8 GLint
    v9 GLint
    v10 GLenum
    v11 GLenum
    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
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLenum
       -> GLenum
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLenum
    -> GLenum
    -> IO ()
    dyn60 FunPtr
      (GLenum
       -> GLenum
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLenum
       -> GLenum
       -> IO ())
    ptr_glMulticastBlitFramebufferNV GLenum
    v1 GLenum
    v2 GLint
    v3 GLint
    v4 GLint
    v5 GLint
    v6 GLint
    v7 GLint
    v8 GLint
    v9 GLint
    v10 GLenum
    v11 GLenum
    v12

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

    -- glMulticastBufferSubDataNV --------------------------------------------------

    glMulticastBufferSubDataNV
      :: MonadIO m
      => GLbitfield -- ^ @gpuMask@.
      -> GLuint -- ^ @buffer@.
      -> GLintptr -- ^ @offset@.
      -> GLsizeiptr -- ^ @size@.
      -> Ptr a -- ^ @data@.
      -> m ()
    glMulticastBufferSubDataNV :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum -> GLenum -> GLintptr -> GLintptr -> Ptr a -> m ()
    glMulticastBufferSubDataNV GLenum
    v1 GLenum
    v2 GLintptr
    v3 GLintptr
    v4 Ptr a
    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 -> Ptr a -> IO ())
    -> GLenum -> GLenum -> GLintptr -> GLintptr -> Ptr a -> IO ()
    forall a.
    FunPtr (GLenum -> GLenum -> GLintptr -> GLintptr -> Ptr a -> IO ())
    -> GLenum -> GLenum -> GLintptr -> GLintptr -> Ptr a -> IO ()
    dyn510 FunPtr (GLenum -> GLenum -> GLintptr -> GLintptr -> Ptr a -> IO ())
    forall a.
    FunPtr (GLenum -> GLenum -> GLintptr -> GLintptr -> Ptr a -> IO ())
    ptr_glMulticastBufferSubDataNV GLenum
    v1 GLenum
    v2 GLintptr
    v3 GLintptr
    v4 Ptr a
    v5

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

    -- glMulticastCopyBufferSubDataNV ----------------------------------------------

    glMulticastCopyBufferSubDataNV
      :: MonadIO m
      => GLuint -- ^ @readGpu@.
      -> GLbitfield -- ^ @writeGpuMask@.
      -> GLuint -- ^ @readBuffer@.
      -> GLuint -- ^ @writeBuffer@.
      -> GLintptr -- ^ @readOffset@.
      -> GLintptr -- ^ @writeOffset@.
      -> GLsizeiptr -- ^ @size@.
      -> m ()
    glMulticastCopyBufferSubDataNV :: forall (m :: * -> *).
    MonadIO m =>
    GLenum
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLintptr
    -> GLintptr
    -> GLintptr
    -> m ()
    glMulticastCopyBufferSubDataNV GLenum
    v1 GLenum
    v2 GLenum
    v3 GLenum
    v4 GLintptr
    v5 GLintptr
    v6 GLintptr
    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
       -> GLenum
       -> GLenum
       -> GLintptr
       -> GLintptr
       -> GLintptr
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLintptr
    -> GLintptr
    -> GLintptr
    -> IO ()
    dyn599 FunPtr
      (GLenum
       -> GLenum
       -> GLenum
       -> GLenum
       -> GLintptr
       -> GLintptr
       -> GLintptr
       -> IO ())
    ptr_glMulticastCopyBufferSubDataNV GLenum
    v1 GLenum
    v2 GLenum
    v3 GLenum
    v4 GLintptr
    v5 GLintptr
    v6 GLintptr
    v7

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

    -- glMulticastCopyImageSubDataNV -----------------------------------------------

    glMulticastCopyImageSubDataNV
      :: MonadIO m
      => GLuint -- ^ @srcGpu@.
      -> GLbitfield -- ^ @dstGpuMask@.
      -> GLuint -- ^ @srcName@.
      -> GLenum -- ^ @srcTarget@.
      -> GLint -- ^ @srcLevel@.
      -> GLint -- ^ @srcX@.
      -> GLint -- ^ @srcY@.
      -> GLint -- ^ @srcZ@.
      -> GLuint -- ^ @dstName@.
      -> GLenum -- ^ @dstTarget@.
      -> GLint -- ^ @dstLevel@.
      -> GLint -- ^ @dstX@.
      -> GLint -- ^ @dstY@.
      -> GLint -- ^ @dstZ@.
      -> GLsizei -- ^ @srcWidth@.
      -> GLsizei -- ^ @srcHeight@.
      -> GLsizei -- ^ @srcDepth@.
      -> m ()
    glMulticastCopyImageSubDataNV :: forall (m :: * -> *).
    MonadIO m =>
    GLenum
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLenum
    -> GLenum
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> m ()
    glMulticastCopyImageSubDataNV GLenum
    v1 GLenum
    v2 GLenum
    v3 GLenum
    v4 GLint
    v5 GLint
    v6 GLint
    v7 GLint
    v8 GLenum
    v9 GLenum
    v10 GLint
    v11 GLint
    v12 GLint
    v13 GLint
    v14 GLint
    v15 GLint
    v16 GLint
    v17 = 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
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLenum
       -> GLenum
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLenum
    -> GLenum
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> IO ()
    dyn509 FunPtr
      (GLenum
       -> GLenum
       -> GLenum
       -> GLenum
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLenum
       -> GLenum
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> IO ())
    ptr_glMulticastCopyImageSubDataNV GLenum
    v1 GLenum
    v2 GLenum
    v3 GLenum
    v4 GLint
    v5 GLint
    v6 GLint
    v7 GLint
    v8 GLenum
    v9 GLenum
    v10 GLint
    v11 GLint
    v12 GLint
    v13 GLint
    v14 GLint
    v15 GLint
    v16 GLint
    v17

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

    -- glMulticastFramebufferSampleLocationsfvNV -----------------------------------

    glMulticastFramebufferSampleLocationsfvNV
      :: MonadIO m
      => GLuint -- ^ @gpu@.
      -> GLuint -- ^ @framebuffer@.
      -> GLuint -- ^ @start@.
      -> GLsizei -- ^ @count@.
      -> Ptr GLfloat -- ^ @v@.
      -> m ()
    glMulticastFramebufferSampleLocationsfvNV :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> GLint -> Ptr GLfloat -> m ()
    glMulticastFramebufferSampleLocationsfvNV GLenum
    v1 GLenum
    v2 GLenum
    v3 GLint
    v4 Ptr GLfloat
    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 -> GLenum -> GLint -> Ptr GLfloat -> IO ())
    -> GLenum -> GLenum -> GLenum -> GLint -> Ptr GLfloat -> IO ()
    dyn600 FunPtr
      (GLenum -> GLenum -> GLenum -> GLint -> Ptr GLfloat -> IO ())
    ptr_glMulticastFramebufferSampleLocationsfvNV GLenum
    v1 GLenum
    v2 GLenum
    v3 GLint
    v4 Ptr GLfloat
    v5

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

    -- glMulticastGetQueryObjecti64vNV ---------------------------------------------

    glMulticastGetQueryObjecti64vNV
      :: MonadIO m
      => GLuint -- ^ @gpu@.
      -> GLuint -- ^ @id@.
      -> GLenum -- ^ @pname@.
      -> Ptr GLint64 -- ^ @params@.
      -> m ()
    glMulticastGetQueryObjecti64vNV :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> Ptr GLint64 -> m ()
    glMulticastGetQueryObjecti64vNV GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLint64
    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 -> GLenum -> GLenum -> Ptr GLint64 -> IO ())
    -> GLenum -> GLenum -> GLenum -> Ptr GLint64 -> IO ()
    dyn461 FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint64 -> IO ())
    ptr_glMulticastGetQueryObjecti64vNV GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLint64
    v4

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

    -- glMulticastGetQueryObjectivNV -----------------------------------------------

    glMulticastGetQueryObjectivNV
      :: MonadIO m
      => GLuint -- ^ @gpu@.
      -> GLuint -- ^ @id@.
      -> GLenum -- ^ @pname@.
      -> Ptr GLint -- ^ @params@.
      -> m ()
    glMulticastGetQueryObjectivNV :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()
    glMulticastGetQueryObjectivNV GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLint
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
    -> GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ()
    dyn314 FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glMulticastGetQueryObjectivNV GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLint
    v4

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

    -- glMulticastGetQueryObjectui64vNV --------------------------------------------

    glMulticastGetQueryObjectui64vNV
      :: MonadIO m
      => GLuint -- ^ @gpu@.
      -> GLuint -- ^ @id@.
      -> GLenum -- ^ @pname@.
      -> Ptr GLuint64 -- ^ @params@.
      -> m ()
    glMulticastGetQueryObjectui64vNV :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> Ptr GLuint64 -> m ()
    glMulticastGetQueryObjectui64vNV GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLuint64
    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 -> GLenum -> GLenum -> Ptr GLuint64 -> IO ())
    -> GLenum -> GLenum -> GLenum -> Ptr GLuint64 -> IO ()
    dyn601 FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLuint64 -> IO ())
    ptr_glMulticastGetQueryObjectui64vNV GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLuint64
    v4

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

    -- glMulticastGetQueryObjectuivNV ----------------------------------------------

    glMulticastGetQueryObjectuivNV
      :: MonadIO m
      => GLuint -- ^ @gpu@.
      -> GLuint -- ^ @id@.
      -> GLenum -- ^ @pname@.
      -> Ptr GLuint -- ^ @params@.
      -> m ()
    glMulticastGetQueryObjectuivNV :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> Ptr GLenum -> m ()
    glMulticastGetQueryObjectuivNV GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLenum
    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 -> GLenum -> GLenum -> Ptr GLenum -> IO ())
    -> GLenum -> GLenum -> GLenum -> Ptr GLenum -> IO ()
    dyn602 FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLenum -> IO ())
    ptr_glMulticastGetQueryObjectuivNV GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLenum
    v4

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

    -- glMulticastScissorArrayvNVX -------------------------------------------------

    glMulticastScissorArrayvNVX
      :: MonadIO m
      => GLuint -- ^ @gpu@.
      -> GLuint -- ^ @first@.
      -> GLsizei -- ^ @count@.
      -> Ptr GLint -- ^ @v@ pointing to @COMPSIZE(count)@ elements of type @GLint@.
      -> m ()
    glMulticastScissorArrayvNVX :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLint -> Ptr GLint -> m ()
    glMulticastScissorArrayvNVX GLenum
    v1 GLenum
    v2 GLint
    v3 Ptr GLint
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLint -> Ptr GLint -> IO ())
    -> GLenum -> GLenum -> GLint -> Ptr GLint -> IO ()
    dyn603 FunPtr (GLenum -> GLenum -> GLint -> Ptr GLint -> IO ())
    ptr_glMulticastScissorArrayvNVX GLenum
    v1 GLenum
    v2 GLint
    v3 Ptr GLint
    v4

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

    -- glMulticastViewportArrayvNVX ------------------------------------------------

    glMulticastViewportArrayvNVX
      :: MonadIO m
      => GLuint -- ^ @gpu@.
      -> GLuint -- ^ @first@.
      -> GLsizei -- ^ @count@.
      -> Ptr GLfloat -- ^ @v@ pointing to @COMPSIZE(count)@ elements of type @GLfloat@.
      -> m ()
    glMulticastViewportArrayvNVX :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLint -> Ptr GLfloat -> m ()
    glMulticastViewportArrayvNVX GLenum
    v1 GLenum
    v2 GLint
    v3 Ptr GLfloat
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLint -> Ptr GLfloat -> IO ())
    -> GLenum -> GLenum -> GLint -> Ptr GLfloat -> IO ()
    dyn604 FunPtr (GLenum -> GLenum -> GLint -> Ptr GLfloat -> IO ())
    ptr_glMulticastViewportArrayvNVX GLenum
    v1 GLenum
    v2 GLint
    v3 Ptr GLfloat
    v4

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

    -- glMulticastViewportPositionWScaleNVX ----------------------------------------

    glMulticastViewportPositionWScaleNVX
      :: MonadIO m
      => GLuint -- ^ @gpu@.
      -> GLuint -- ^ @index@.
      -> GLfloat -- ^ @xcoeff@.
      -> GLfloat -- ^ @ycoeff@.
      -> m ()
    glMulticastViewportPositionWScaleNVX :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLfloat -> GLfloat -> m ()
    glMulticastViewportPositionWScaleNVX GLenum
    v1 GLenum
    v2 GLfloat
    v3 GLfloat
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLfloat -> GLfloat -> IO ())
    -> GLenum -> GLenum -> GLfloat -> GLfloat -> IO ()
    dyn605 FunPtr (GLenum -> GLenum -> GLfloat -> GLfloat -> IO ())
    ptr_glMulticastViewportPositionWScaleNVX GLenum
    v1 GLenum
    v2 GLfloat
    v3 GLfloat
    v4

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

    -- glMulticastWaitSyncNV -------------------------------------------------------

    glMulticastWaitSyncNV
      :: MonadIO m
      => GLuint -- ^ @signalGpu@.
      -> GLbitfield -- ^ @waitGpuMask@.
      -> m ()
    glMulticastWaitSyncNV :: forall (m :: * -> *). MonadIO m => GLenum -> GLenum -> m ()
    glMulticastWaitSyncNV 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 ()
    dyn606 FunPtr (GLenum -> GLenum -> IO ())
    ptr_glMulticastWaitSyncNV GLenum
    v1 GLenum
    v2

    {-# NOINLINE ptr_glMulticastWaitSyncNV #-}
    ptr_glMulticastWaitSyncNV :: FunPtr (GLuint -> GLbitfield -> IO ())
    ptr_glMulticastWaitSyncNV :: FunPtr (GLenum -> GLenum -> IO ())
    ptr_glMulticastWaitSyncNV = 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
    "glMulticastWaitSyncNV"

    -- glNamedBufferAttachMemoryNV -------------------------------------------------

    glNamedBufferAttachMemoryNV
      :: MonadIO m
      => GLuint -- ^ @buffer@.
      -> GLuint -- ^ @memory@.
      -> GLuint64 -- ^ @offset@.
      -> m ()
    glNamedBufferAttachMemoryNV :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLuint64 -> m ()
    glNamedBufferAttachMemoryNV GLenum
    v1 GLenum
    v2 GLuint64
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLuint64 -> IO ())
    -> GLenum -> GLenum -> GLuint64 -> IO ()
    dyn607 FunPtr (GLenum -> GLenum -> GLuint64 -> IO ())
    ptr_glNamedBufferAttachMemoryNV GLenum
    v1 GLenum
    v2 GLuint64
    v3

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

    -- glNamedBufferData -----------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBufferData.xhtml OpenGL 4.x>.
    glNamedBufferData
      :: MonadIO m
      => GLuint -- ^ @buffer@.
      -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
      -> Ptr a -- ^ @data@.
      -> GLenum -- ^ @usage@ of type [VertexBufferObjectUsage](Graphics-GL-Groups.html#VertexBufferObjectUsage).
      -> m ()
    glNamedBufferData :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum -> GLintptr -> Ptr a -> GLenum -> m ()
    glNamedBufferData GLenum
    v1 GLintptr
    v2 Ptr a
    v3 GLenum
    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 -> GLintptr -> Ptr a -> GLenum -> IO ())
    -> GLenum -> GLintptr -> Ptr a -> GLenum -> IO ()
    forall a.
    FunPtr (GLenum -> GLintptr -> Ptr a -> GLenum -> IO ())
    -> GLenum -> GLintptr -> Ptr a -> GLenum -> IO ()
    dyn608 FunPtr (GLenum -> GLintptr -> Ptr a -> GLenum -> IO ())
    forall a. FunPtr (GLenum -> GLintptr -> Ptr a -> GLenum -> IO ())
    ptr_glNamedBufferData GLenum
    v1 GLintptr
    v2 Ptr a
    v3 GLenum
    v4

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

    -- glNamedBufferDataEXT --------------------------------------------------------

    glNamedBufferDataEXT
      :: MonadIO m
      => GLuint -- ^ @buffer@.
      -> GLsizeiptr -- ^ @size@.
      -> Ptr a -- ^ @data@ pointing to @COMPSIZE(size)@ elements of type @a@.
      -> GLenum -- ^ @usage@ of type [VertexBufferObjectUsage](Graphics-GL-Groups.html#VertexBufferObjectUsage).
      -> m ()
    glNamedBufferDataEXT :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum -> GLintptr -> Ptr a -> GLenum -> m ()
    glNamedBufferDataEXT GLenum
    v1 GLintptr
    v2 Ptr a
    v3 GLenum
    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 -> GLintptr -> Ptr a -> GLenum -> IO ())
    -> GLenum -> GLintptr -> Ptr a -> GLenum -> IO ()
    forall a.
    FunPtr (GLenum -> GLintptr -> Ptr a -> GLenum -> IO ())
    -> GLenum -> GLintptr -> Ptr a -> GLenum -> IO ()
    dyn608 FunPtr (GLenum -> GLintptr -> Ptr a -> GLenum -> IO ())
    forall a. FunPtr (GLenum -> GLintptr -> Ptr a -> GLenum -> IO ())
    ptr_glNamedBufferDataEXT GLenum
    v1 GLintptr
    v2 Ptr a
    v3 GLenum
    v4

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

    -- glNamedBufferPageCommitmentARB ----------------------------------------------

    glNamedBufferPageCommitmentARB
      :: MonadIO m
      => GLuint -- ^ @buffer@.
      -> GLintptr -- ^ @offset@.
      -> GLsizeiptr -- ^ @size@.
      -> GLboolean -- ^ @commit@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
      -> m ()
    glNamedBufferPageCommitmentARB :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLintptr -> GLintptr -> GLboolean -> m ()
    glNamedBufferPageCommitmentARB GLenum
    v1 GLintptr
    v2 GLintptr
    v3 GLboolean
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLintptr -> GLintptr -> GLboolean -> IO ())
    -> GLenum -> GLintptr -> GLintptr -> GLboolean -> IO ()
    dyn609 FunPtr (GLenum -> GLintptr -> GLintptr -> GLboolean -> IO ())
    ptr_glNamedBufferPageCommitmentARB GLenum
    v1 GLintptr
    v2 GLintptr
    v3 GLboolean
    v4

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

    -- glNamedBufferPageCommitmentEXT ----------------------------------------------

    glNamedBufferPageCommitmentEXT
      :: MonadIO m
      => GLuint -- ^ @buffer@.
      -> GLintptr -- ^ @offset@.
      -> GLsizeiptr -- ^ @size@.
      -> GLboolean -- ^ @commit@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
      -> m ()
    glNamedBufferPageCommitmentEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLintptr -> GLintptr -> GLboolean -> m ()
    glNamedBufferPageCommitmentEXT GLenum
    v1 GLintptr
    v2 GLintptr
    v3 GLboolean
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLintptr -> GLintptr -> GLboolean -> IO ())
    -> GLenum -> GLintptr -> GLintptr -> GLboolean -> IO ()
    dyn609 FunPtr (GLenum -> GLintptr -> GLintptr -> GLboolean -> IO ())
    ptr_glNamedBufferPageCommitmentEXT GLenum
    v1 GLintptr
    v2 GLintptr
    v3 GLboolean
    v4

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

    -- glNamedBufferStorage --------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBufferStorage.xhtml OpenGL 4.x>.
    glNamedBufferStorage
      :: MonadIO m
      => GLuint -- ^ @buffer@.
      -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
      -> Ptr a -- ^ @data@ pointing to @size@ elements of type @a@.
      -> GLbitfield -- ^ @flags@ of type [BufferStorageMask](Graphics-GL-Groups.html#BufferStorageMask).
      -> m ()
    glNamedBufferStorage :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum -> GLintptr -> Ptr a -> GLenum -> m ()
    glNamedBufferStorage GLenum
    v1 GLintptr
    v2 Ptr a
    v3 GLenum
    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 -> GLintptr -> Ptr a -> GLenum -> IO ())
    -> GLenum -> GLintptr -> Ptr a -> GLenum -> IO ()
    forall a.
    FunPtr (GLenum -> GLintptr -> Ptr a -> GLenum -> IO ())
    -> GLenum -> GLintptr -> Ptr a -> GLenum -> IO ()
    dyn610 FunPtr (GLenum -> GLintptr -> Ptr a -> GLenum -> IO ())
    forall a. FunPtr (GLenum -> GLintptr -> Ptr a -> GLenum -> IO ())
    ptr_glNamedBufferStorage GLenum
    v1 GLintptr
    v2 Ptr a
    v3 GLenum
    v4

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

    -- glNamedBufferStorageEXT -----------------------------------------------------

    -- | This command is an alias for 'glNamedBufferStorage'.
    glNamedBufferStorageEXT
      :: MonadIO m
      => GLuint -- ^ @buffer@.
      -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
      -> Ptr a -- ^ @data@ pointing to @size@ elements of type @a@.
      -> GLbitfield -- ^ @flags@ of type [BufferStorageMask](Graphics-GL-Groups.html#BufferStorageMask).
      -> m ()
    glNamedBufferStorageEXT :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum -> GLintptr -> Ptr a -> GLenum -> m ()
    glNamedBufferStorageEXT GLenum
    v1 GLintptr
    v2 Ptr a
    v3 GLenum
    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 -> GLintptr -> Ptr a -> GLenum -> IO ())
    -> GLenum -> GLintptr -> Ptr a -> GLenum -> IO ()
    forall a.
    FunPtr (GLenum -> GLintptr -> Ptr a -> GLenum -> IO ())
    -> GLenum -> GLintptr -> Ptr a -> GLenum -> IO ()
    dyn610 FunPtr (GLenum -> GLintptr -> Ptr a -> GLenum -> IO ())
    forall a. FunPtr (GLenum -> GLintptr -> Ptr a -> GLenum -> IO ())
    ptr_glNamedBufferStorageEXT GLenum
    v1 GLintptr
    v2 Ptr a
    v3 GLenum
    v4

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

    -- glNamedBufferStorageExternalEXT ---------------------------------------------

    glNamedBufferStorageExternalEXT
      :: MonadIO m
      => GLuint -- ^ @buffer@.
      -> GLintptr -- ^ @offset@.
      -> GLsizeiptr -- ^ @size@.
      -> GLeglClientBufferEXT -- ^ @clientBuffer@.
      -> GLbitfield -- ^ @flags@ of type [BufferStorageMask](Graphics-GL-Groups.html#BufferStorageMask).
      -> m ()
    glNamedBufferStorageExternalEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum
    -> GLintptr -> GLintptr -> GLeglClientBufferEXT -> GLenum -> m ()
    glNamedBufferStorageExternalEXT GLenum
    v1 GLintptr
    v2 GLintptr
    v3 GLeglClientBufferEXT
    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
      (GLenum
       -> GLintptr -> GLintptr -> GLeglClientBufferEXT -> GLenum -> IO ())
    -> GLenum
    -> GLintptr
    -> GLintptr
    -> GLeglClientBufferEXT
    -> GLenum
    -> IO ()
    dyn611 FunPtr
      (GLenum
       -> GLintptr -> GLintptr -> GLeglClientBufferEXT -> GLenum -> IO ())
    ptr_glNamedBufferStorageExternalEXT GLenum
    v1 GLintptr
    v2 GLintptr
    v3 GLeglClientBufferEXT
    v4 GLenum
    v5

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

    -- glNamedBufferStorageMemEXT --------------------------------------------------

    glNamedBufferStorageMemEXT
      :: MonadIO m
      => GLuint -- ^ @buffer@.
      -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
      -> GLuint -- ^ @memory@.
      -> GLuint64 -- ^ @offset@.
      -> m ()
    glNamedBufferStorageMemEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLintptr -> GLenum -> GLuint64 -> m ()
    glNamedBufferStorageMemEXT GLenum
    v1 GLintptr
    v2 GLenum
    v3 GLuint64
    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 -> GLintptr -> GLenum -> GLuint64 -> IO ())
    -> GLenum -> GLintptr -> GLenum -> GLuint64 -> IO ()
    dyn612 FunPtr (GLenum -> GLintptr -> GLenum -> GLuint64 -> IO ())
    ptr_glNamedBufferStorageMemEXT GLenum
    v1 GLintptr
    v2 GLenum
    v3 GLuint64
    v4

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

    -- glNamedBufferSubData --------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBufferSubData.xhtml OpenGL 4.x>.
    glNamedBufferSubData
      :: MonadIO m
      => GLuint -- ^ @buffer@.
      -> GLintptr -- ^ @offset@.
      -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
      -> Ptr a -- ^ @data@ pointing to @COMPSIZE(size)@ elements of type @a@.
      -> m ()
    glNamedBufferSubData :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum -> GLintptr -> GLintptr -> Ptr a -> m ()
    glNamedBufferSubData GLenum
    v1 GLintptr
    v2 GLintptr
    v3 Ptr a
    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 -> GLintptr -> GLintptr -> Ptr a -> IO ())
    -> GLenum -> GLintptr -> GLintptr -> Ptr a -> IO ()
    forall a.
    FunPtr (GLenum -> GLintptr -> GLintptr -> Ptr a -> IO ())
    -> GLenum -> GLintptr -> GLintptr -> Ptr a -> IO ()
    dyn378 FunPtr (GLenum -> GLintptr -> GLintptr -> Ptr a -> IO ())
    forall a. FunPtr (GLenum -> GLintptr -> GLintptr -> Ptr a -> IO ())
    ptr_glNamedBufferSubData GLenum
    v1 GLintptr
    v2 GLintptr
    v3 Ptr a
    v4

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

    -- glNamedBufferSubDataEXT -----------------------------------------------------

    -- | This command is an alias for 'glNamedBufferSubData'.
    glNamedBufferSubDataEXT
      :: MonadIO m
      => GLuint -- ^ @buffer@.
      -> GLintptr -- ^ @offset@.
      -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
      -> Ptr a -- ^ @data@ pointing to @COMPSIZE(size)@ elements of type @a@.
      -> m ()
    glNamedBufferSubDataEXT :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum -> GLintptr -> GLintptr -> Ptr a -> m ()
    glNamedBufferSubDataEXT GLenum
    v1 GLintptr
    v2 GLintptr
    v3 Ptr a
    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 -> GLintptr -> GLintptr -> Ptr a -> IO ())
    -> GLenum -> GLintptr -> GLintptr -> Ptr a -> IO ()
    forall a.
    FunPtr (GLenum -> GLintptr -> GLintptr -> Ptr a -> IO ())
    -> GLenum -> GLintptr -> GLintptr -> Ptr a -> IO ()
    dyn378 FunPtr (GLenum -> GLintptr -> GLintptr -> Ptr a -> IO ())
    forall a. FunPtr (GLenum -> GLintptr -> GLintptr -> Ptr a -> IO ())
    ptr_glNamedBufferSubDataEXT GLenum
    v1 GLintptr
    v2 GLintptr
    v3 Ptr a
    v4

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

    -- glNamedCopyBufferSubDataEXT -------------------------------------------------

    glNamedCopyBufferSubDataEXT
      :: MonadIO m
      => GLuint -- ^ @readBuffer@.
      -> GLuint -- ^ @writeBuffer@.
      -> GLintptr -- ^ @readOffset@.
      -> GLintptr -- ^ @writeOffset@.
      -> GLsizeiptr -- ^ @size@.
      -> m ()
    glNamedCopyBufferSubDataEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLintptr -> GLintptr -> GLintptr -> m ()
    glNamedCopyBufferSubDataEXT 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_glNamedCopyBufferSubDataEXT GLenum
    v1 GLenum
    v2 GLintptr
    v3 GLintptr
    v4 GLintptr
    v5

    {-# NOINLINE ptr_glNamedCopyBufferSubDataEXT #-}
    ptr_glNamedCopyBufferSubDataEXT :: FunPtr (GLuint -> GLuint -> GLintptr -> GLintptr -> GLsizeiptr -> IO ())
    ptr_glNamedCopyBufferSubDataEXT :: FunPtr
      (GLenum -> GLenum -> GLintptr -> GLintptr -> GLintptr -> IO ())
    ptr_glNamedCopyBufferSubDataEXT = 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
    "glNamedCopyBufferSubDataEXT"

    -- glNamedFramebufferDrawBuffer ------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glDrawBuffer.xhtml OpenGL 4.x>.
    glNamedFramebufferDrawBuffer
      :: MonadIO m
      => GLuint -- ^ @framebuffer@.
      -> GLenum -- ^ @buf@ of type [ColorBuffer](Graphics-GL-Groups.html#ColorBuffer).
      -> m ()
    glNamedFramebufferDrawBuffer :: forall (m :: * -> *). MonadIO m => GLenum -> GLenum -> m ()
    glNamedFramebufferDrawBuffer 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 ()
    dyn18 FunPtr (GLenum -> GLenum -> IO ())
    ptr_glNamedFramebufferDrawBuffer GLenum
    v1 GLenum
    v2

    {-# NOINLINE ptr_glNamedFramebufferDrawBuffer #-}
    ptr_glNamedFramebufferDrawBuffer :: FunPtr (GLuint -> GLenum -> IO ())
    ptr_glNamedFramebufferDrawBuffer :: FunPtr (GLenum -> GLenum -> IO ())
    ptr_glNamedFramebufferDrawBuffer = 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
    "glNamedFramebufferDrawBuffer"

    -- glNamedFramebufferDrawBuffers -----------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glDrawBuffers.xhtml OpenGL 4.x>.
    glNamedFramebufferDrawBuffers
      :: MonadIO m
      => GLuint -- ^ @framebuffer@.
      -> GLsizei -- ^ @n@.
      -> Ptr GLenum -- ^ @bufs@ pointing to elements of type [ColorBuffer](Graphics-GL-Groups.html#ColorBuffer).
      -> m ()
    glNamedFramebufferDrawBuffers :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLint -> Ptr GLenum -> m ()
    glNamedFramebufferDrawBuffers GLenum
    v1 GLint
    v2 Ptr GLenum
    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 -> GLint -> Ptr GLenum -> IO ())
    -> GLenum -> GLint -> Ptr GLenum -> IO ()
    dyn293 FunPtr (GLenum -> GLint -> Ptr GLenum -> IO ())
    ptr_glNamedFramebufferDrawBuffers GLenum
    v1 GLint
    v2 Ptr GLenum
    v3

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

    -- glNamedFramebufferParameteri ------------------------------------------------

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

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

    -- glNamedFramebufferParameteriEXT ---------------------------------------------

    glNamedFramebufferParameteriEXT
      :: MonadIO m
      => GLuint -- ^ @framebuffer@ of type @Framebuffer@.
      -> GLenum -- ^ @pname@ of type [FramebufferParameterName](Graphics-GL-Groups.html#FramebufferParameterName).
      -> GLint -- ^ @param@.
      -> m ()
    glNamedFramebufferParameteriEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLint -> m ()
    glNamedFramebufferParameteriEXT GLenum
    v1 GLenum
    v2 GLint
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLint -> IO ())
    -> GLenum -> GLenum -> GLint -> IO ()
    dyn491 FunPtr (GLenum -> GLenum -> GLint -> IO ())
    ptr_glNamedFramebufferParameteriEXT GLenum
    v1 GLenum
    v2 GLint
    v3

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

    -- glNamedFramebufferReadBuffer ------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glReadBuffer.xhtml OpenGL 4.x>.
    glNamedFramebufferReadBuffer
      :: MonadIO m
      => GLuint -- ^ @framebuffer@.
      -> GLenum -- ^ @src@ of type [ColorBuffer](Graphics-GL-Groups.html#ColorBuffer).
      -> m ()
    glNamedFramebufferReadBuffer :: forall (m :: * -> *). MonadIO m => GLenum -> GLenum -> m ()
    glNamedFramebufferReadBuffer 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 ()
    dyn18 FunPtr (GLenum -> GLenum -> IO ())
    ptr_glNamedFramebufferReadBuffer GLenum
    v1 GLenum
    v2

    {-# NOINLINE ptr_glNamedFramebufferReadBuffer #-}
    ptr_glNamedFramebufferReadBuffer :: FunPtr (GLuint -> GLenum -> IO ())
    ptr_glNamedFramebufferReadBuffer :: FunPtr (GLenum -> GLenum -> IO ())
    ptr_glNamedFramebufferReadBuffer = 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
    "glNamedFramebufferReadBuffer"

    -- glNamedFramebufferRenderbuffer ----------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glFramebufferRenderbuffer.xhtml OpenGL 4.x>.
    glNamedFramebufferRenderbuffer
      :: MonadIO m
      => GLuint -- ^ @framebuffer@.
      -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
      -> GLenum -- ^ @renderbuffertarget@ of type [RenderbufferTarget](Graphics-GL-Groups.html#RenderbufferTarget).
      -> GLuint -- ^ @renderbuffer@.
      -> m ()
    glNamedFramebufferRenderbuffer :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> GLenum -> m ()
    glNamedFramebufferRenderbuffer GLenum
    v1 GLenum
    v2 GLenum
    v3 GLenum
    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 -> GLenum -> GLenum -> GLenum -> IO ())
    -> GLenum -> GLenum -> GLenum -> GLenum -> IO ()
    dyn613 FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
    ptr_glNamedFramebufferRenderbuffer GLenum
    v1 GLenum
    v2 GLenum
    v3 GLenum
    v4

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

    -- glNamedFramebufferRenderbufferEXT -------------------------------------------

    glNamedFramebufferRenderbufferEXT
      :: MonadIO m
      => GLuint -- ^ @framebuffer@ of type @Framebuffer@.
      -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
      -> GLenum -- ^ @renderbuffertarget@ of type [RenderbufferTarget](Graphics-GL-Groups.html#RenderbufferTarget).
      -> GLuint -- ^ @renderbuffer@ of type @Renderbuffer@.
      -> m ()
    glNamedFramebufferRenderbufferEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> GLenum -> m ()
    glNamedFramebufferRenderbufferEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 GLenum
    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 -> GLenum -> GLenum -> GLenum -> IO ())
    -> GLenum -> GLenum -> GLenum -> GLenum -> IO ()
    dyn613 FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
    ptr_glNamedFramebufferRenderbufferEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 GLenum
    v4

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

    -- glNamedFramebufferSampleLocationsfvARB --------------------------------------

    glNamedFramebufferSampleLocationsfvARB
      :: MonadIO m
      => GLuint -- ^ @framebuffer@.
      -> GLuint -- ^ @start@.
      -> GLsizei -- ^ @count@.
      -> Ptr GLfloat -- ^ @v@.
      -> m ()
    glNamedFramebufferSampleLocationsfvARB :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLint -> Ptr GLfloat -> m ()
    glNamedFramebufferSampleLocationsfvARB GLenum
    v1 GLenum
    v2 GLint
    v3 Ptr GLfloat
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLint -> Ptr GLfloat -> IO ())
    -> GLenum -> GLenum -> GLint -> Ptr GLfloat -> IO ()
    dyn604 FunPtr (GLenum -> GLenum -> GLint -> Ptr GLfloat -> IO ())
    ptr_glNamedFramebufferSampleLocationsfvARB GLenum
    v1 GLenum
    v2 GLint
    v3 Ptr GLfloat
    v4

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

    -- glNamedFramebufferSampleLocationsfvNV ---------------------------------------

    glNamedFramebufferSampleLocationsfvNV
      :: MonadIO m
      => GLuint -- ^ @framebuffer@.
      -> GLuint -- ^ @start@.
      -> GLsizei -- ^ @count@.
      -> Ptr GLfloat -- ^ @v@.
      -> m ()
    glNamedFramebufferSampleLocationsfvNV :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLint -> Ptr GLfloat -> m ()
    glNamedFramebufferSampleLocationsfvNV GLenum
    v1 GLenum
    v2 GLint
    v3 Ptr GLfloat
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLint -> Ptr GLfloat -> IO ())
    -> GLenum -> GLenum -> GLint -> Ptr GLfloat -> IO ()
    dyn604 FunPtr (GLenum -> GLenum -> GLint -> Ptr GLfloat -> IO ())
    ptr_glNamedFramebufferSampleLocationsfvNV GLenum
    v1 GLenum
    v2 GLint
    v3 Ptr GLfloat
    v4

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

    -- glNamedFramebufferSamplePositionsfvAMD --------------------------------------

    glNamedFramebufferSamplePositionsfvAMD
      :: MonadIO m
      => GLuint -- ^ @framebuffer@.
      -> GLuint -- ^ @numsamples@.
      -> GLuint -- ^ @pixelindex@.
      -> Ptr GLfloat -- ^ @values@.
      -> m ()
    glNamedFramebufferSamplePositionsfvAMD :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> Ptr GLfloat -> m ()
    glNamedFramebufferSamplePositionsfvAMD GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLfloat
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
    -> GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ()
    dyn614 FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
    ptr_glNamedFramebufferSamplePositionsfvAMD GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLfloat
    v4

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

    -- glNamedFramebufferTexture ---------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glFramebufferTexture.xhtml OpenGL 4.x>.
    glNamedFramebufferTexture
      :: MonadIO m
      => GLuint -- ^ @framebuffer@.
      -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
      -> GLuint -- ^ @texture@.
      -> GLint -- ^ @level@.
      -> m ()
    glNamedFramebufferTexture :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> GLint -> m ()
    glNamedFramebufferTexture GLenum
    v1 GLenum
    v2 GLenum
    v3 GLint
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLenum -> GLint -> IO ())
    -> GLenum -> GLenum -> GLenum -> GLint -> IO ()
    dyn615 FunPtr (GLenum -> GLenum -> GLenum -> GLint -> IO ())
    ptr_glNamedFramebufferTexture GLenum
    v1 GLenum
    v2 GLenum
    v3 GLint
    v4

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

    -- glNamedFramebufferTexture1DEXT ----------------------------------------------

    glNamedFramebufferTexture1DEXT
      :: MonadIO m
      => GLuint -- ^ @framebuffer@ of type @Framebuffer@.
      -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
      -> GLenum -- ^ @textarget@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLuint -- ^ @texture@ of type @Texture@.
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> m ()
    glNamedFramebufferTexture1DEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> GLenum -> GLint -> m ()
    glNamedFramebufferTexture1DEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 GLenum
    v4 GLint
    v5 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLint -> IO ())
    -> GLenum -> GLenum -> GLenum -> GLenum -> GLint -> IO ()
    dyn616 FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLint -> IO ())
    ptr_glNamedFramebufferTexture1DEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 GLenum
    v4 GLint
    v5

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

    -- glNamedFramebufferTexture2DEXT ----------------------------------------------

    glNamedFramebufferTexture2DEXT
      :: MonadIO m
      => GLuint -- ^ @framebuffer@ of type @Framebuffer@.
      -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
      -> GLenum -- ^ @textarget@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLuint -- ^ @texture@ of type @Texture@.
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> m ()
    glNamedFramebufferTexture2DEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> GLenum -> GLint -> m ()
    glNamedFramebufferTexture2DEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 GLenum
    v4 GLint
    v5 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLint -> IO ())
    -> GLenum -> GLenum -> GLenum -> GLenum -> GLint -> IO ()
    dyn616 FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLint -> IO ())
    ptr_glNamedFramebufferTexture2DEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 GLenum
    v4 GLint
    v5

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

    -- glNamedFramebufferTexture3DEXT ----------------------------------------------

    glNamedFramebufferTexture3DEXT
      :: MonadIO m
      => GLuint -- ^ @framebuffer@ of type @Framebuffer@.
      -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
      -> GLenum -- ^ @textarget@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLuint -- ^ @texture@ of type @Texture@.
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> GLint -- ^ @zoffset@ of type @CheckedInt32@.
      -> m ()
    glNamedFramebufferTexture3DEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> GLenum -> GLint -> GLint -> m ()
    glNamedFramebufferTexture3DEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 GLenum
    v4 GLint
    v5 GLint
    v6 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLenum -> GLenum -> GLenum -> GLenum -> GLint -> GLint -> IO ())
    -> GLenum -> GLenum -> GLenum -> GLenum -> GLint -> GLint -> IO ()
    dyn617 FunPtr
      (GLenum -> GLenum -> GLenum -> GLenum -> GLint -> GLint -> IO ())
    ptr_glNamedFramebufferTexture3DEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 GLenum
    v4 GLint
    v5 GLint
    v6

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

    -- glNamedFramebufferTextureEXT ------------------------------------------------

    glNamedFramebufferTextureEXT
      :: MonadIO m
      => GLuint -- ^ @framebuffer@ of type @Framebuffer@.
      -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
      -> GLuint -- ^ @texture@ of type @Texture@.
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> m ()
    glNamedFramebufferTextureEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> GLint -> m ()
    glNamedFramebufferTextureEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 GLint
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLenum -> GLint -> IO ())
    -> GLenum -> GLenum -> GLenum -> GLint -> IO ()
    dyn615 FunPtr (GLenum -> GLenum -> GLenum -> GLint -> IO ())
    ptr_glNamedFramebufferTextureEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 GLint
    v4

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

    -- glNamedFramebufferTextureFaceEXT --------------------------------------------

    glNamedFramebufferTextureFaceEXT
      :: MonadIO m
      => GLuint -- ^ @framebuffer@ of type @Framebuffer@.
      -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
      -> GLuint -- ^ @texture@ of type @Texture@.
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> GLenum -- ^ @face@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> m ()
    glNamedFramebufferTextureFaceEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> GLint -> GLenum -> m ()
    glNamedFramebufferTextureFaceEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 GLint
    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 (GLenum -> GLenum -> GLenum -> GLint -> GLenum -> IO ())
    -> GLenum -> GLenum -> GLenum -> GLint -> GLenum -> IO ()
    dyn618 FunPtr (GLenum -> GLenum -> GLenum -> GLint -> GLenum -> IO ())
    ptr_glNamedFramebufferTextureFaceEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 GLint
    v4 GLenum
    v5

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

    -- glNamedFramebufferTextureLayer ----------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glFramebufferTextureLayer.xhtml OpenGL 4.x>.
    glNamedFramebufferTextureLayer
      :: MonadIO m
      => GLuint -- ^ @framebuffer@.
      -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
      -> GLuint -- ^ @texture@.
      -> GLint -- ^ @level@.
      -> GLint -- ^ @layer@.
      -> m ()
    glNamedFramebufferTextureLayer :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> GLint -> GLint -> m ()
    glNamedFramebufferTextureLayer GLenum
    v1 GLenum
    v2 GLenum
    v3 GLint
    v4 GLint
    v5 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLenum -> GLint -> GLint -> IO ())
    -> GLenum -> GLenum -> GLenum -> GLint -> GLint -> IO ()
    dyn619 FunPtr (GLenum -> GLenum -> GLenum -> GLint -> GLint -> IO ())
    ptr_glNamedFramebufferTextureLayer GLenum
    v1 GLenum
    v2 GLenum
    v3 GLint
    v4 GLint
    v5

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

    -- glNamedFramebufferTextureLayerEXT -------------------------------------------

    glNamedFramebufferTextureLayerEXT
      :: MonadIO m
      => GLuint -- ^ @framebuffer@ of type @Framebuffer@.
      -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
      -> GLuint -- ^ @texture@ of type @Texture@.
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> GLint -- ^ @layer@ of type @CheckedInt32@.
      -> m ()
    glNamedFramebufferTextureLayerEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> GLint -> GLint -> m ()
    glNamedFramebufferTextureLayerEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 GLint
    v4 GLint
    v5 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLenum -> GLint -> GLint -> IO ())
    -> GLenum -> GLenum -> GLenum -> GLint -> GLint -> IO ()
    dyn619 FunPtr (GLenum -> GLenum -> GLenum -> GLint -> GLint -> IO ())
    ptr_glNamedFramebufferTextureLayerEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 GLint
    v4 GLint
    v5

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