    {-# OPTIONS_HADDOCK hide #-}
    --------------------------------------------------------------------------------
    -- |
    -- Module      :  Graphics.GL.Functions.F17
    -- 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.F17 (
      glMultMatrixf,
      glMultMatrixx,
      glMultMatrixxOES,
      glMultTransposeMatrixd,
      glMultTransposeMatrixdARB,
      glMultTransposeMatrixf,
      glMultTransposeMatrixfARB,
      glMultTransposeMatrixxOES,
      glMultiDrawArrays,
      glMultiDrawArraysEXT,
      glMultiDrawArraysIndirect,
      glMultiDrawArraysIndirectAMD,
      glMultiDrawArraysIndirectBindlessCountNV,
      glMultiDrawArraysIndirectBindlessNV,
      glMultiDrawArraysIndirectCount,
      glMultiDrawArraysIndirectCountARB,
      glMultiDrawArraysIndirectEXT,
      glMultiDrawElementArrayAPPLE,
      glMultiDrawElements,
      glMultiDrawElementsBaseVertex,
      glMultiDrawElementsBaseVertexEXT,
      glMultiDrawElementsEXT,
      glMultiDrawElementsIndirect,
      glMultiDrawElementsIndirectAMD,
      glMultiDrawElementsIndirectBindlessCountNV,
      glMultiDrawElementsIndirectBindlessNV,
      glMultiDrawElementsIndirectCount,
      glMultiDrawElementsIndirectCountARB,
      glMultiDrawElementsIndirectEXT,
      glMultiDrawMeshTasksIndirectCountNV,
      glMultiDrawMeshTasksIndirectNV,
      glMultiDrawRangeElementArrayAPPLE,
      glMultiModeDrawArraysIBM,
      glMultiModeDrawElementsIBM,
      glMultiTexBufferEXT,
      glMultiTexCoord1bOES,
      glMultiTexCoord1bvOES,
      glMultiTexCoord1d,
      glMultiTexCoord1dARB,
      glMultiTexCoord1dv,
      glMultiTexCoord1dvARB,
      glMultiTexCoord1f,
      glMultiTexCoord1fARB,
      glMultiTexCoord1fv,
      glMultiTexCoord1fvARB,
      glMultiTexCoord1hNV,
      glMultiTexCoord1hvNV,
      glMultiTexCoord1i,
      glMultiTexCoord1iARB,
      glMultiTexCoord1iv,
      glMultiTexCoord1ivARB,
      glMultiTexCoord1s,
      glMultiTexCoord1sARB,
      glMultiTexCoord1sv,
      glMultiTexCoord1svARB,
      glMultiTexCoord1xOES,
      glMultiTexCoord1xvOES,
      glMultiTexCoord2bOES,
      glMultiTexCoord2bvOES,
      glMultiTexCoord2d,
      glMultiTexCoord2dARB,
      glMultiTexCoord2dv,
      glMultiTexCoord2dvARB,
      glMultiTexCoord2f,
      glMultiTexCoord2fARB,
      glMultiTexCoord2fv,
      glMultiTexCoord2fvARB,
      glMultiTexCoord2hNV,
      glMultiTexCoord2hvNV,
      glMultiTexCoord2i,
      glMultiTexCoord2iARB,
      glMultiTexCoord2iv,
      glMultiTexCoord2ivARB,
      glMultiTexCoord2s,
      glMultiTexCoord2sARB,
      glMultiTexCoord2sv,
      glMultiTexCoord2svARB,
      glMultiTexCoord2xOES,
      glMultiTexCoord2xvOES,
      glMultiTexCoord3bOES,
      glMultiTexCoord3bvOES,
      glMultiTexCoord3d,
      glMultiTexCoord3dARB,
      glMultiTexCoord3dv,
      glMultiTexCoord3dvARB,
      glMultiTexCoord3f,
      glMultiTexCoord3fARB,
      glMultiTexCoord3fv,
      glMultiTexCoord3fvARB,
      glMultiTexCoord3hNV,
      glMultiTexCoord3hvNV,
      glMultiTexCoord3i,
      glMultiTexCoord3iARB,
      glMultiTexCoord3iv,
      glMultiTexCoord3ivARB,
      glMultiTexCoord3s,
      glMultiTexCoord3sARB,
      glMultiTexCoord3sv,
      glMultiTexCoord3svARB,
      glMultiTexCoord3xOES
    ) where

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

    -- glMultMatrixf ---------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultMatrix.xml OpenGL 2.x>.
    glMultMatrixf
      :: MonadIO m
      => Ptr GLfloat -- ^ @m@ pointing to @16@ elements of type @GLfloat@.
      -> m ()
    glMultMatrixf :: forall (m :: * -> *). MonadIO m => Ptr GLfloat -> m ()
    glMultMatrixf Ptr GLfloat
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> IO ()
    dyn44 FunPtr (Ptr GLfloat -> IO ())
    ptr_glMultMatrixf Ptr GLfloat
    v1

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

    -- glMultMatrixx ---------------------------------------------------------------

    glMultMatrixx
      :: MonadIO m
      => Ptr GLfixed -- ^ @m@ pointing to @16@ elements of type @GLfixed@.
      -> m ()
    glMultMatrixx :: forall (m :: * -> *). MonadIO m => Ptr GLfixed -> m ()
    glMultMatrixx Ptr GLfixed
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (Ptr GLfixed -> IO ()) -> Ptr GLfixed -> IO ()
    dyn114 FunPtr (Ptr GLfixed -> IO ())
    ptr_glMultMatrixx Ptr GLfixed
    v1

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

    -- glMultMatrixxOES ------------------------------------------------------------

    glMultMatrixxOES
      :: MonadIO m
      => Ptr GLfixed -- ^ @m@ pointing to @16@ elements of type @GLfixed@.
      -> m ()
    glMultMatrixxOES :: forall (m :: * -> *). MonadIO m => Ptr GLfixed -> m ()
    glMultMatrixxOES Ptr GLfixed
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (Ptr GLfixed -> IO ()) -> Ptr GLfixed -> IO ()
    dyn114 FunPtr (Ptr GLfixed -> IO ())
    ptr_glMultMatrixxOES Ptr GLfixed
    v1

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

    -- glMultTransposeMatrixd ------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultTransposeMatrix.xml OpenGL 2.x>.
    glMultTransposeMatrixd
      :: MonadIO m
      => Ptr GLdouble -- ^ @m@ pointing to @16@ elements of type @GLdouble@.
      -> m ()
    glMultTransposeMatrixd :: forall (m :: * -> *). MonadIO m => Ptr GLdouble -> m ()
    glMultTransposeMatrixd Ptr GLdouble
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (Ptr GLdouble -> IO ()) -> Ptr GLdouble -> IO ()
    dyn42 FunPtr (Ptr GLdouble -> IO ())
    ptr_glMultTransposeMatrixd Ptr GLdouble
    v1

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

    -- glMultTransposeMatrixdARB ---------------------------------------------------

    -- | This command is an alias for 'glMultTransposeMatrixd'.
    glMultTransposeMatrixdARB
      :: MonadIO m
      => Ptr GLdouble -- ^ @m@ pointing to @16@ elements of type @GLdouble@.
      -> m ()
    glMultTransposeMatrixdARB :: forall (m :: * -> *). MonadIO m => Ptr GLdouble -> m ()
    glMultTransposeMatrixdARB Ptr GLdouble
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (Ptr GLdouble -> IO ()) -> Ptr GLdouble -> IO ()
    dyn42 FunPtr (Ptr GLdouble -> IO ())
    ptr_glMultTransposeMatrixdARB Ptr GLdouble
    v1

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

    -- glMultTransposeMatrixf ------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultTransposeMatrix.xml OpenGL 2.x>.
    glMultTransposeMatrixf
      :: MonadIO m
      => Ptr GLfloat -- ^ @m@ pointing to @16@ elements of type @GLfloat@.
      -> m ()
    glMultTransposeMatrixf :: forall (m :: * -> *). MonadIO m => Ptr GLfloat -> m ()
    glMultTransposeMatrixf Ptr GLfloat
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> IO ()
    dyn44 FunPtr (Ptr GLfloat -> IO ())
    ptr_glMultTransposeMatrixf Ptr GLfloat
    v1

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

    -- glMultTransposeMatrixfARB ---------------------------------------------------

    -- | This command is an alias for 'glMultTransposeMatrixf'.
    glMultTransposeMatrixfARB
      :: MonadIO m
      => Ptr GLfloat -- ^ @m@ pointing to @16@ elements of type @GLfloat@.
      -> m ()
    glMultTransposeMatrixfARB :: forall (m :: * -> *). MonadIO m => Ptr GLfloat -> m ()
    glMultTransposeMatrixfARB Ptr GLfloat
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> IO ()
    dyn44 FunPtr (Ptr GLfloat -> IO ())
    ptr_glMultTransposeMatrixfARB Ptr GLfloat
    v1

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

    -- glMultTransposeMatrixxOES ---------------------------------------------------

    glMultTransposeMatrixxOES
      :: MonadIO m
      => Ptr GLfixed -- ^ @m@ pointing to @16@ elements of type @GLfixed@.
      -> m ()
    glMultTransposeMatrixxOES :: forall (m :: * -> *). MonadIO m => Ptr GLfixed -> m ()
    glMultTransposeMatrixxOES Ptr GLfixed
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (Ptr GLfixed -> IO ()) -> Ptr GLfixed -> IO ()
    dyn114 FunPtr (Ptr GLfixed -> IO ())
    ptr_glMultTransposeMatrixxOES Ptr GLfixed
    v1

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

    -- glMultiDrawArrays -----------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiDrawArrays.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glMultiDrawArrays.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glMultiDrawArrays.xhtml OpenGL 4.x>.
    glMultiDrawArrays
      :: MonadIO m
      => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
      -> Ptr GLint -- ^ @first@ pointing to @COMPSIZE(drawcount)@ elements of type @GLint@.
      -> Ptr GLsizei -- ^ @count@ pointing to @COMPSIZE(drawcount)@ elements of type @GLsizei@.
      -> GLsizei -- ^ @drawcount@.
      -> m ()
    glMultiDrawArrays :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> Ptr GLint -> Ptr GLint -> GLint -> m ()
    glMultiDrawArrays GLenum
    v1 Ptr GLint
    v2 Ptr GLint
    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 -> Ptr GLint -> Ptr GLint -> GLint -> IO ())
    -> GLenum -> Ptr GLint -> Ptr GLint -> GLint -> IO ()
    dyn551 FunPtr (GLenum -> Ptr GLint -> Ptr GLint -> GLint -> IO ())
    ptr_glMultiDrawArrays GLenum
    v1 Ptr GLint
    v2 Ptr GLint
    v3 GLint
    v4

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

    -- glMultiDrawArraysEXT --------------------------------------------------------

    -- | This command is an alias for 'glMultiDrawArrays'.
    glMultiDrawArraysEXT
      :: MonadIO m
      => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
      -> Ptr GLint -- ^ @first@ pointing to @COMPSIZE(primcount)@ elements of type @GLint@.
      -> Ptr GLsizei -- ^ @count@ pointing to @COMPSIZE(primcount)@ elements of type @GLsizei@.
      -> GLsizei -- ^ @primcount@.
      -> m ()
    glMultiDrawArraysEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> Ptr GLint -> Ptr GLint -> GLint -> m ()
    glMultiDrawArraysEXT GLenum
    v1 Ptr GLint
    v2 Ptr GLint
    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 -> Ptr GLint -> Ptr GLint -> GLint -> IO ())
    -> GLenum -> Ptr GLint -> Ptr GLint -> GLint -> IO ()
    dyn551 FunPtr (GLenum -> Ptr GLint -> Ptr GLint -> GLint -> IO ())
    ptr_glMultiDrawArraysEXT GLenum
    v1 Ptr GLint
    v2 Ptr GLint
    v3 GLint
    v4

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

    -- glMultiDrawArraysIndirect ---------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glMultiDrawArraysIndirect.xhtml OpenGL 4.x>.
    glMultiDrawArraysIndirect
      :: MonadIO m
      => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
      -> Ptr a -- ^ @indirect@ pointing to @COMPSIZE(drawcount,stride)@ elements of type @a@.
      -> GLsizei -- ^ @drawcount@.
      -> GLsizei -- ^ @stride@.
      -> m ()
    glMultiDrawArraysIndirect :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum -> Ptr a -> GLint -> GLint -> m ()
    glMultiDrawArraysIndirect GLenum
    v1 Ptr a
    v2 GLint
    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 -> Ptr a -> GLint -> GLint -> IO ())
    -> GLenum -> Ptr a -> GLint -> GLint -> IO ()
    forall a.
    FunPtr (GLenum -> Ptr a -> GLint -> GLint -> IO ())
    -> GLenum -> Ptr a -> GLint -> GLint -> IO ()
    dyn552 FunPtr (GLenum -> Ptr a -> GLint -> GLint -> IO ())
    forall a. FunPtr (GLenum -> Ptr a -> GLint -> GLint -> IO ())
    ptr_glMultiDrawArraysIndirect GLenum
    v1 Ptr a
    v2 GLint
    v3 GLint
    v4

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

    -- glMultiDrawArraysIndirectAMD ------------------------------------------------

    -- | This command is an alias for 'glMultiDrawArraysIndirect'.
    glMultiDrawArraysIndirectAMD
      :: MonadIO m
      => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
      -> Ptr a -- ^ @indirect@.
      -> GLsizei -- ^ @primcount@.
      -> GLsizei -- ^ @stride@.
      -> m ()
    glMultiDrawArraysIndirectAMD :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum -> Ptr a -> GLint -> GLint -> m ()
    glMultiDrawArraysIndirectAMD GLenum
    v1 Ptr a
    v2 GLint
    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 -> Ptr a -> GLint -> GLint -> IO ())
    -> GLenum -> Ptr a -> GLint -> GLint -> IO ()
    forall a.
    FunPtr (GLenum -> Ptr a -> GLint -> GLint -> IO ())
    -> GLenum -> Ptr a -> GLint -> GLint -> IO ()
    dyn552 FunPtr (GLenum -> Ptr a -> GLint -> GLint -> IO ())
    forall a. FunPtr (GLenum -> Ptr a -> GLint -> GLint -> IO ())
    ptr_glMultiDrawArraysIndirectAMD GLenum
    v1 Ptr a
    v2 GLint
    v3 GLint
    v4

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

    -- glMultiDrawArraysIndirectBindlessCountNV ------------------------------------

    glMultiDrawArraysIndirectBindlessCountNV
      :: MonadIO m
      => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
      -> Ptr a -- ^ @indirect@.
      -> GLsizei -- ^ @drawCount@.
      -> GLsizei -- ^ @maxDrawCount@.
      -> GLsizei -- ^ @stride@.
      -> GLint -- ^ @vertexBufferCount@.
      -> m ()
    glMultiDrawArraysIndirectBindlessCountNV :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum -> Ptr a -> GLint -> GLint -> GLint -> GLint -> m ()
    glMultiDrawArraysIndirectBindlessCountNV GLenum
    v1 Ptr a
    v2 GLint
    v3 GLint
    v4 GLint
    v5 GLint
    v6 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLenum -> Ptr a -> GLint -> GLint -> GLint -> GLint -> IO ())
    -> GLenum -> Ptr a -> GLint -> GLint -> GLint -> GLint -> IO ()
    forall a.
    FunPtr
      (GLenum -> Ptr a -> GLint -> GLint -> GLint -> GLint -> IO ())
    -> GLenum -> Ptr a -> GLint -> GLint -> GLint -> GLint -> IO ()
    dyn553 FunPtr
      (GLenum -> Ptr a -> GLint -> GLint -> GLint -> GLint -> IO ())
    forall a.
    FunPtr
      (GLenum -> Ptr a -> GLint -> GLint -> GLint -> GLint -> IO ())
    ptr_glMultiDrawArraysIndirectBindlessCountNV GLenum
    v1 Ptr a
    v2 GLint
    v3 GLint
    v4 GLint
    v5 GLint
    v6

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

    -- glMultiDrawArraysIndirectBindlessNV -----------------------------------------

    glMultiDrawArraysIndirectBindlessNV
      :: MonadIO m
      => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
      -> Ptr a -- ^ @indirect@.
      -> GLsizei -- ^ @drawCount@.
      -> GLsizei -- ^ @stride@.
      -> GLint -- ^ @vertexBufferCount@.
      -> m ()
    glMultiDrawArraysIndirectBindlessNV :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum -> Ptr a -> GLint -> GLint -> GLint -> m ()
    glMultiDrawArraysIndirectBindlessNV GLenum
    v1 Ptr a
    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 -> Ptr a -> GLint -> GLint -> GLint -> IO ())
    -> GLenum -> Ptr a -> GLint -> GLint -> GLint -> IO ()
    forall a.
    FunPtr (GLenum -> Ptr a -> GLint -> GLint -> GLint -> IO ())
    -> GLenum -> Ptr a -> GLint -> GLint -> GLint -> IO ()
    dyn554 FunPtr (GLenum -> Ptr a -> GLint -> GLint -> GLint -> IO ())
    forall a.
    FunPtr (GLenum -> Ptr a -> GLint -> GLint -> GLint -> IO ())
    ptr_glMultiDrawArraysIndirectBindlessNV GLenum
    v1 Ptr a
    v2 GLint
    v3 GLint
    v4 GLint
    v5

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

    -- glMultiDrawArraysIndirectCount ----------------------------------------------

    glMultiDrawArraysIndirectCount
      :: MonadIO m
      => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
      -> Ptr a -- ^ @indirect@.
      -> GLintptr -- ^ @drawcount@.
      -> GLsizei -- ^ @maxdrawcount@.
      -> GLsizei -- ^ @stride@.
      -> m ()
    glMultiDrawArraysIndirectCount :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum -> Ptr a -> GLintptr -> GLint -> GLint -> m ()
    glMultiDrawArraysIndirectCount GLenum
    v1 Ptr a
    v2 GLintptr
    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 -> Ptr a -> GLintptr -> GLint -> GLint -> IO ())
    -> GLenum -> Ptr a -> GLintptr -> GLint -> GLint -> IO ()
    forall a.
    FunPtr (GLenum -> Ptr a -> GLintptr -> GLint -> GLint -> IO ())
    -> GLenum -> Ptr a -> GLintptr -> GLint -> GLint -> IO ()
    dyn555 FunPtr (GLenum -> Ptr a -> GLintptr -> GLint -> GLint -> IO ())
    forall a.
    FunPtr (GLenum -> Ptr a -> GLintptr -> GLint -> GLint -> IO ())
    ptr_glMultiDrawArraysIndirectCount GLenum
    v1 Ptr a
    v2 GLintptr
    v3 GLint
    v4 GLint
    v5

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

    -- glMultiDrawArraysIndirectCountARB -------------------------------------------

    -- | This command is an alias for 'glMultiDrawArraysIndirectCount'.
    glMultiDrawArraysIndirectCountARB
      :: MonadIO m
      => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
      -> Ptr a -- ^ @indirect@.
      -> GLintptr -- ^ @drawcount@.
      -> GLsizei -- ^ @maxdrawcount@.
      -> GLsizei -- ^ @stride@.
      -> m ()
    glMultiDrawArraysIndirectCountARB :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum -> Ptr a -> GLintptr -> GLint -> GLint -> m ()
    glMultiDrawArraysIndirectCountARB GLenum
    v1 Ptr a
    v2 GLintptr
    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 -> Ptr a -> GLintptr -> GLint -> GLint -> IO ())
    -> GLenum -> Ptr a -> GLintptr -> GLint -> GLint -> IO ()
    forall a.
    FunPtr (GLenum -> Ptr a -> GLintptr -> GLint -> GLint -> IO ())
    -> GLenum -> Ptr a -> GLintptr -> GLint -> GLint -> IO ()
    dyn555 FunPtr (GLenum -> Ptr a -> GLintptr -> GLint -> GLint -> IO ())
    forall a.
    FunPtr (GLenum -> Ptr a -> GLintptr -> GLint -> GLint -> IO ())
    ptr_glMultiDrawArraysIndirectCountARB GLenum
    v1 Ptr a
    v2 GLintptr
    v3 GLint
    v4 GLint
    v5

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

    -- glMultiDrawArraysIndirectEXT ------------------------------------------------

    -- | This command is an alias for 'glMultiDrawArraysIndirect'.
    glMultiDrawArraysIndirectEXT
      :: MonadIO m
      => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
      -> Ptr a -- ^ @indirect@ pointing to @COMPSIZE(drawcount,stride)@ elements of type @a@.
      -> GLsizei -- ^ @drawcount@.
      -> GLsizei -- ^ @stride@.
      -> m ()
    glMultiDrawArraysIndirectEXT :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum -> Ptr a -> GLint -> GLint -> m ()
    glMultiDrawArraysIndirectEXT GLenum
    v1 Ptr a
    v2 GLint
    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 -> Ptr a -> GLint -> GLint -> IO ())
    -> GLenum -> Ptr a -> GLint -> GLint -> IO ()
    forall a.
    FunPtr (GLenum -> Ptr a -> GLint -> GLint -> IO ())
    -> GLenum -> Ptr a -> GLint -> GLint -> IO ()
    dyn552 FunPtr (GLenum -> Ptr a -> GLint -> GLint -> IO ())
    forall a. FunPtr (GLenum -> Ptr a -> GLint -> GLint -> IO ())
    ptr_glMultiDrawArraysIndirectEXT GLenum
    v1 Ptr a
    v2 GLint
    v3 GLint
    v4

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

    -- glMultiDrawElementArrayAPPLE ------------------------------------------------

    glMultiDrawElementArrayAPPLE
      :: MonadIO m
      => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
      -> Ptr GLint -- ^ @first@ pointing to @primcount@ elements of type @GLint@.
      -> Ptr GLsizei -- ^ @count@ pointing to @primcount@ elements of type @GLsizei@.
      -> GLsizei -- ^ @primcount@.
      -> m ()
    glMultiDrawElementArrayAPPLE :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> Ptr GLint -> Ptr GLint -> GLint -> m ()
    glMultiDrawElementArrayAPPLE GLenum
    v1 Ptr GLint
    v2 Ptr GLint
    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 -> Ptr GLint -> Ptr GLint -> GLint -> IO ())
    -> GLenum -> Ptr GLint -> Ptr GLint -> GLint -> IO ()
    dyn551 FunPtr (GLenum -> Ptr GLint -> Ptr GLint -> GLint -> IO ())
    ptr_glMultiDrawElementArrayAPPLE GLenum
    v1 Ptr GLint
    v2 Ptr GLint
    v3 GLint
    v4

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

    -- glMultiDrawElements ---------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiDrawElements.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glMultiDrawElements.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glMultiDrawElements.xhtml OpenGL 4.x>.
    glMultiDrawElements
      :: MonadIO m
      => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
      -> Ptr GLsizei -- ^ @count@ pointing to @COMPSIZE(drawcount)@ elements of type @GLsizei@.
      -> GLenum -- ^ @type@ of type [DrawElementsType](Graphics-GL-Groups.html#DrawElementsType).
      -> Ptr (Ptr a) -- ^ @indices@ pointing to @COMPSIZE(drawcount)@ elements of type @Ptr a@.
      -> GLsizei -- ^ @drawcount@.
      -> m ()
    glMultiDrawElements :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum -> Ptr GLint -> GLenum -> Ptr (Ptr a) -> GLint -> m ()
    glMultiDrawElements GLenum
    v1 Ptr GLint
    v2 GLenum
    v3 Ptr (Ptr a)
    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 -> Ptr GLint -> GLenum -> Ptr (Ptr a) -> GLint -> IO ())
    -> GLenum -> Ptr GLint -> GLenum -> Ptr (Ptr a) -> GLint -> IO ()
    forall a.
    FunPtr
      (GLenum -> Ptr GLint -> GLenum -> Ptr (Ptr a) -> GLint -> IO ())
    -> GLenum -> Ptr GLint -> GLenum -> Ptr (Ptr a) -> GLint -> IO ()
    dyn556 FunPtr
      (GLenum -> Ptr GLint -> GLenum -> Ptr (Ptr a) -> GLint -> IO ())
    forall a.
    FunPtr
      (GLenum -> Ptr GLint -> GLenum -> Ptr (Ptr a) -> GLint -> IO ())
    ptr_glMultiDrawElements GLenum
    v1 Ptr GLint
    v2 GLenum
    v3 Ptr (Ptr a)
    v4 GLint
    v5

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

    -- glMultiDrawElementsBaseVertex -----------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glMultiDrawElementsBaseVertex.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glMultiDrawElementsBaseVertex.xhtml OpenGL 4.x>.
    glMultiDrawElementsBaseVertex
      :: MonadIO m
      => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
      -> Ptr GLsizei -- ^ @count@ pointing to @COMPSIZE(drawcount)@ elements of type @GLsizei@.
      -> GLenum -- ^ @type@ of type [DrawElementsType](Graphics-GL-Groups.html#DrawElementsType).
      -> Ptr (Ptr a) -- ^ @indices@ pointing to @COMPSIZE(drawcount)@ elements of type @Ptr a@.
      -> GLsizei -- ^ @drawcount@.
      -> Ptr GLint -- ^ @basevertex@ pointing to @COMPSIZE(drawcount)@ elements of type @GLint@.
      -> m ()
    glMultiDrawElementsBaseVertex :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum
    -> Ptr GLint -> GLenum -> Ptr (Ptr a) -> GLint -> Ptr GLint -> m ()
    glMultiDrawElementsBaseVertex GLenum
    v1 Ptr GLint
    v2 GLenum
    v3 Ptr (Ptr a)
    v4 GLint
    v5 Ptr 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
       -> Ptr GLint
       -> GLenum
       -> Ptr (Ptr a)
       -> GLint
       -> Ptr GLint
       -> IO ())
    -> GLenum
    -> Ptr GLint
    -> GLenum
    -> Ptr (Ptr a)
    -> GLint
    -> Ptr GLint
    -> IO ()
    forall a.
    FunPtr
      (GLenum
       -> Ptr GLint
       -> GLenum
       -> Ptr (Ptr a)
       -> GLint
       -> Ptr GLint
       -> IO ())
    -> GLenum
    -> Ptr GLint
    -> GLenum
    -> Ptr (Ptr a)
    -> GLint
    -> Ptr GLint
    -> IO ()
    dyn557 FunPtr
      (GLenum
       -> Ptr GLint
       -> GLenum
       -> Ptr (Ptr a)
       -> GLint
       -> Ptr GLint
       -> IO ())
    forall a.
    FunPtr
      (GLenum
       -> Ptr GLint
       -> GLenum
       -> Ptr (Ptr a)
       -> GLint
       -> Ptr GLint
       -> IO ())
    ptr_glMultiDrawElementsBaseVertex GLenum
    v1 Ptr GLint
    v2 GLenum
    v3 Ptr (Ptr a)
    v4 GLint
    v5 Ptr GLint
    v6

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

    -- glMultiDrawElementsBaseVertexEXT --------------------------------------------

    -- | This command is an alias for 'glMultiDrawElementsBaseVertex'.
    glMultiDrawElementsBaseVertexEXT
      :: MonadIO m
      => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
      -> Ptr GLsizei -- ^ @count@ pointing to @COMPSIZE(drawcount)@ elements of type @GLsizei@.
      -> GLenum -- ^ @type@ of type [DrawElementsType](Graphics-GL-Groups.html#DrawElementsType).
      -> Ptr (Ptr a) -- ^ @indices@ pointing to @COMPSIZE(drawcount)@ elements of type @Ptr a@.
      -> GLsizei -- ^ @primcount@.
      -> Ptr GLint -- ^ @basevertex@ pointing to @COMPSIZE(drawcount)@ elements of type @GLint@.
      -> m ()
    glMultiDrawElementsBaseVertexEXT :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum
    -> Ptr GLint -> GLenum -> Ptr (Ptr a) -> GLint -> Ptr GLint -> m ()
    glMultiDrawElementsBaseVertexEXT GLenum
    v1 Ptr GLint
    v2 GLenum
    v3 Ptr (Ptr a)
    v4 GLint
    v5 Ptr 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
       -> Ptr GLint
       -> GLenum
       -> Ptr (Ptr a)
       -> GLint
       -> Ptr GLint
       -> IO ())
    -> GLenum
    -> Ptr GLint
    -> GLenum
    -> Ptr (Ptr a)
    -> GLint
    -> Ptr GLint
    -> IO ()
    forall a.
    FunPtr
      (GLenum
       -> Ptr GLint
       -> GLenum
       -> Ptr (Ptr a)
       -> GLint
       -> Ptr GLint
       -> IO ())
    -> GLenum
    -> Ptr GLint
    -> GLenum
    -> Ptr (Ptr a)
    -> GLint
    -> Ptr GLint
    -> IO ()
    dyn557 FunPtr
      (GLenum
       -> Ptr GLint
       -> GLenum
       -> Ptr (Ptr a)
       -> GLint
       -> Ptr GLint
       -> IO ())
    forall a.
    FunPtr
      (GLenum
       -> Ptr GLint
       -> GLenum
       -> Ptr (Ptr a)
       -> GLint
       -> Ptr GLint
       -> IO ())
    ptr_glMultiDrawElementsBaseVertexEXT GLenum
    v1 Ptr GLint
    v2 GLenum
    v3 Ptr (Ptr a)
    v4 GLint
    v5 Ptr GLint
    v6

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

    -- glMultiDrawElementsEXT ------------------------------------------------------

    -- | This command is an alias for 'glMultiDrawElements'.
    glMultiDrawElementsEXT
      :: MonadIO m
      => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
      -> Ptr GLsizei -- ^ @count@ pointing to @COMPSIZE(primcount)@ elements of type @GLsizei@.
      -> GLenum -- ^ @type@ of type [DrawElementsType](Graphics-GL-Groups.html#DrawElementsType).
      -> Ptr (Ptr a) -- ^ @indices@ pointing to @COMPSIZE(primcount)@ elements of type @Ptr a@.
      -> GLsizei -- ^ @primcount@.
      -> m ()
    glMultiDrawElementsEXT :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum -> Ptr GLint -> GLenum -> Ptr (Ptr a) -> GLint -> m ()
    glMultiDrawElementsEXT GLenum
    v1 Ptr GLint
    v2 GLenum
    v3 Ptr (Ptr a)
    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 -> Ptr GLint -> GLenum -> Ptr (Ptr a) -> GLint -> IO ())
    -> GLenum -> Ptr GLint -> GLenum -> Ptr (Ptr a) -> GLint -> IO ()
    forall a.
    FunPtr
      (GLenum -> Ptr GLint -> GLenum -> Ptr (Ptr a) -> GLint -> IO ())
    -> GLenum -> Ptr GLint -> GLenum -> Ptr (Ptr a) -> GLint -> IO ()
    dyn556 FunPtr
      (GLenum -> Ptr GLint -> GLenum -> Ptr (Ptr a) -> GLint -> IO ())
    forall a.
    FunPtr
      (GLenum -> Ptr GLint -> GLenum -> Ptr (Ptr a) -> GLint -> IO ())
    ptr_glMultiDrawElementsEXT GLenum
    v1 Ptr GLint
    v2 GLenum
    v3 Ptr (Ptr a)
    v4 GLint
    v5

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

    -- glMultiDrawElementsIndirect -------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glMultiDrawElementsIndirect.xhtml OpenGL 4.x>.
    glMultiDrawElementsIndirect
      :: MonadIO m
      => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
      -> GLenum -- ^ @type@ of type [DrawElementsType](Graphics-GL-Groups.html#DrawElementsType).
      -> Ptr a -- ^ @indirect@ pointing to @COMPSIZE(drawcount,stride)@ elements of type @a@.
      -> GLsizei -- ^ @drawcount@.
      -> GLsizei -- ^ @stride@.
      -> m ()
    glMultiDrawElementsIndirect :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum -> GLenum -> Ptr a -> GLint -> GLint -> m ()
    glMultiDrawElementsIndirect GLenum
    v1 GLenum
    v2 Ptr a
    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 -> Ptr a -> GLint -> GLint -> IO ())
    -> GLenum -> GLenum -> Ptr a -> GLint -> GLint -> IO ()
    forall a.
    FunPtr (GLenum -> GLenum -> Ptr a -> GLint -> GLint -> IO ())
    -> GLenum -> GLenum -> Ptr a -> GLint -> GLint -> IO ()
    dyn558 FunPtr (GLenum -> GLenum -> Ptr a -> GLint -> GLint -> IO ())
    forall a.
    FunPtr (GLenum -> GLenum -> Ptr a -> GLint -> GLint -> IO ())
    ptr_glMultiDrawElementsIndirect GLenum
    v1 GLenum
    v2 Ptr a
    v3 GLint
    v4 GLint
    v5

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

    -- glMultiDrawElementsIndirectAMD ----------------------------------------------

    -- | This command is an alias for 'glMultiDrawElementsIndirect'.
    glMultiDrawElementsIndirectAMD
      :: MonadIO m
      => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
      -> GLenum -- ^ @type@ of type [DrawElementsType](Graphics-GL-Groups.html#DrawElementsType).
      -> Ptr a -- ^ @indirect@.
      -> GLsizei -- ^ @primcount@.
      -> GLsizei -- ^ @stride@.
      -> m ()
    glMultiDrawElementsIndirectAMD :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum -> GLenum -> Ptr a -> GLint -> GLint -> m ()
    glMultiDrawElementsIndirectAMD GLenum
    v1 GLenum
    v2 Ptr a
    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 -> Ptr a -> GLint -> GLint -> IO ())
    -> GLenum -> GLenum -> Ptr a -> GLint -> GLint -> IO ()
    forall a.
    FunPtr (GLenum -> GLenum -> Ptr a -> GLint -> GLint -> IO ())
    -> GLenum -> GLenum -> Ptr a -> GLint -> GLint -> IO ()
    dyn558 FunPtr (GLenum -> GLenum -> Ptr a -> GLint -> GLint -> IO ())
    forall a.
    FunPtr (GLenum -> GLenum -> Ptr a -> GLint -> GLint -> IO ())
    ptr_glMultiDrawElementsIndirectAMD GLenum
    v1 GLenum
    v2 Ptr a
    v3 GLint
    v4 GLint
    v5

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

    -- glMultiDrawElementsIndirectBindlessCountNV ----------------------------------

    glMultiDrawElementsIndirectBindlessCountNV
      :: MonadIO m
      => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
      -> GLenum -- ^ @type@ of type [DrawElementsType](Graphics-GL-Groups.html#DrawElementsType).
      -> Ptr a -- ^ @indirect@.
      -> GLsizei -- ^ @drawCount@.
      -> GLsizei -- ^ @maxDrawCount@.
      -> GLsizei -- ^ @stride@.
      -> GLint -- ^ @vertexBufferCount@.
      -> m ()
    glMultiDrawElementsIndirectBindlessCountNV :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum
    -> GLenum -> Ptr a -> GLint -> GLint -> GLint -> GLint -> m ()
    glMultiDrawElementsIndirectBindlessCountNV GLenum
    v1 GLenum
    v2 Ptr a
    v3 GLint
    v4 GLint
    v5 GLint
    v6 GLint
    v7 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLenum
       -> GLenum -> Ptr a -> GLint -> GLint -> GLint -> GLint -> IO ())
    -> GLenum
    -> GLenum
    -> Ptr a
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> IO ()
    forall a.
    FunPtr
      (GLenum
       -> GLenum -> Ptr a -> GLint -> GLint -> GLint -> GLint -> IO ())
    -> GLenum
    -> GLenum
    -> Ptr a
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> IO ()
    dyn559 FunPtr
      (GLenum
       -> GLenum -> Ptr a -> GLint -> GLint -> GLint -> GLint -> IO ())
    forall a.
    FunPtr
      (GLenum
       -> GLenum -> Ptr a -> GLint -> GLint -> GLint -> GLint -> IO ())
    ptr_glMultiDrawElementsIndirectBindlessCountNV GLenum
    v1 GLenum
    v2 Ptr a
    v3 GLint
    v4 GLint
    v5 GLint
    v6 GLint
    v7

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

    -- glMultiDrawElementsIndirectBindlessNV ---------------------------------------

    glMultiDrawElementsIndirectBindlessNV
      :: MonadIO m
      => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
      -> GLenum -- ^ @type@ of type [DrawElementsType](Graphics-GL-Groups.html#DrawElementsType).
      -> Ptr a -- ^ @indirect@.
      -> GLsizei -- ^ @drawCount@.
      -> GLsizei -- ^ @stride@.
      -> GLint -- ^ @vertexBufferCount@.
      -> m ()
    glMultiDrawElementsIndirectBindlessNV :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum -> GLenum -> Ptr a -> GLint -> GLint -> GLint -> m ()
    glMultiDrawElementsIndirectBindlessNV GLenum
    v1 GLenum
    v2 Ptr a
    v3 GLint
    v4 GLint
    v5 GLint
    v6 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLenum -> GLenum -> Ptr a -> GLint -> GLint -> GLint -> IO ())
    -> GLenum -> GLenum -> Ptr a -> GLint -> GLint -> GLint -> IO ()
    forall a.
    FunPtr
      (GLenum -> GLenum -> Ptr a -> GLint -> GLint -> GLint -> IO ())
    -> GLenum -> GLenum -> Ptr a -> GLint -> GLint -> GLint -> IO ()
    dyn560 FunPtr
      (GLenum -> GLenum -> Ptr a -> GLint -> GLint -> GLint -> IO ())
    forall a.
    FunPtr
      (GLenum -> GLenum -> Ptr a -> GLint -> GLint -> GLint -> IO ())
    ptr_glMultiDrawElementsIndirectBindlessNV GLenum
    v1 GLenum
    v2 Ptr a
    v3 GLint
    v4 GLint
    v5 GLint
    v6

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

    -- glMultiDrawElementsIndirectCount --------------------------------------------

    glMultiDrawElementsIndirectCount
      :: MonadIO m
      => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
      -> GLenum -- ^ @type@ of type [DrawElementsType](Graphics-GL-Groups.html#DrawElementsType).
      -> Ptr a -- ^ @indirect@.
      -> GLintptr -- ^ @drawcount@.
      -> GLsizei -- ^ @maxdrawcount@.
      -> GLsizei -- ^ @stride@.
      -> m ()
    glMultiDrawElementsIndirectCount :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum -> GLenum -> Ptr a -> GLintptr -> GLint -> GLint -> m ()
    glMultiDrawElementsIndirectCount GLenum
    v1 GLenum
    v2 Ptr a
    v3 GLintptr
    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 -> Ptr a -> GLintptr -> GLint -> GLint -> IO ())
    -> GLenum -> GLenum -> Ptr a -> GLintptr -> GLint -> GLint -> IO ()
    forall a.
    FunPtr
      (GLenum -> GLenum -> Ptr a -> GLintptr -> GLint -> GLint -> IO ())
    -> GLenum -> GLenum -> Ptr a -> GLintptr -> GLint -> GLint -> IO ()
    dyn561 FunPtr
      (GLenum -> GLenum -> Ptr a -> GLintptr -> GLint -> GLint -> IO ())
    forall a.
    FunPtr
      (GLenum -> GLenum -> Ptr a -> GLintptr -> GLint -> GLint -> IO ())
    ptr_glMultiDrawElementsIndirectCount GLenum
    v1 GLenum
    v2 Ptr a
    v3 GLintptr
    v4 GLint
    v5 GLint
    v6

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

    -- glMultiDrawElementsIndirectCountARB -----------------------------------------

    -- | This command is an alias for 'glMultiDrawElementsIndirectCount'.
    glMultiDrawElementsIndirectCountARB
      :: MonadIO m
      => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
      -> GLenum -- ^ @type@ of type [DrawElementsType](Graphics-GL-Groups.html#DrawElementsType).
      -> Ptr a -- ^ @indirect@.
      -> GLintptr -- ^ @drawcount@.
      -> GLsizei -- ^ @maxdrawcount@.
      -> GLsizei -- ^ @stride@.
      -> m ()
    glMultiDrawElementsIndirectCountARB :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum -> GLenum -> Ptr a -> GLintptr -> GLint -> GLint -> m ()
    glMultiDrawElementsIndirectCountARB GLenum
    v1 GLenum
    v2 Ptr a
    v3 GLintptr
    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 -> Ptr a -> GLintptr -> GLint -> GLint -> IO ())
    -> GLenum -> GLenum -> Ptr a -> GLintptr -> GLint -> GLint -> IO ()
    forall a.
    FunPtr
      (GLenum -> GLenum -> Ptr a -> GLintptr -> GLint -> GLint -> IO ())
    -> GLenum -> GLenum -> Ptr a -> GLintptr -> GLint -> GLint -> IO ()
    dyn561 FunPtr
      (GLenum -> GLenum -> Ptr a -> GLintptr -> GLint -> GLint -> IO ())
    forall a.
    FunPtr
      (GLenum -> GLenum -> Ptr a -> GLintptr -> GLint -> GLint -> IO ())
    ptr_glMultiDrawElementsIndirectCountARB GLenum
    v1 GLenum
    v2 Ptr a
    v3 GLintptr
    v4 GLint
    v5 GLint
    v6

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

    -- glMultiDrawElementsIndirectEXT ----------------------------------------------

    -- | This command is an alias for 'glMultiDrawElementsIndirect'.
    glMultiDrawElementsIndirectEXT
      :: MonadIO m
      => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
      -> GLenum -- ^ @type@ of type [DrawElementsType](Graphics-GL-Groups.html#DrawElementsType).
      -> Ptr a -- ^ @indirect@ pointing to @COMPSIZE(drawcount,stride)@ elements of type @a@.
      -> GLsizei -- ^ @drawcount@.
      -> GLsizei -- ^ @stride@.
      -> m ()
    glMultiDrawElementsIndirectEXT :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum -> GLenum -> Ptr a -> GLint -> GLint -> m ()
    glMultiDrawElementsIndirectEXT GLenum
    v1 GLenum
    v2 Ptr a
    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 -> Ptr a -> GLint -> GLint -> IO ())
    -> GLenum -> GLenum -> Ptr a -> GLint -> GLint -> IO ()
    forall a.
    FunPtr (GLenum -> GLenum -> Ptr a -> GLint -> GLint -> IO ())
    -> GLenum -> GLenum -> Ptr a -> GLint -> GLint -> IO ()
    dyn558 FunPtr (GLenum -> GLenum -> Ptr a -> GLint -> GLint -> IO ())
    forall a.
    FunPtr (GLenum -> GLenum -> Ptr a -> GLint -> GLint -> IO ())
    ptr_glMultiDrawElementsIndirectEXT GLenum
    v1 GLenum
    v2 Ptr a
    v3 GLint
    v4 GLint
    v5

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

    -- glMultiDrawMeshTasksIndirectCountNV -----------------------------------------

    glMultiDrawMeshTasksIndirectCountNV
      :: MonadIO m
      => GLintptr -- ^ @indirect@.
      -> GLintptr -- ^ @drawcount@.
      -> GLsizei -- ^ @maxdrawcount@.
      -> GLsizei -- ^ @stride@.
      -> m ()
    glMultiDrawMeshTasksIndirectCountNV :: forall (m :: * -> *).
    MonadIO m =>
    GLintptr -> GLintptr -> GLint -> GLint -> m ()
    glMultiDrawMeshTasksIndirectCountNV GLintptr
    v1 GLintptr
    v2 GLint
    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 (GLintptr -> GLintptr -> GLint -> GLint -> IO ())
    -> GLintptr -> GLintptr -> GLint -> GLint -> IO ()
    dyn562 FunPtr (GLintptr -> GLintptr -> GLint -> GLint -> IO ())
    ptr_glMultiDrawMeshTasksIndirectCountNV GLintptr
    v1 GLintptr
    v2 GLint
    v3 GLint
    v4

    {-# NOINLINE ptr_glMultiDrawMeshTasksIndirectCountNV #-}
    ptr_glMultiDrawMeshTasksIndirectCountNV :: FunPtr (GLintptr -> GLintptr -> GLsizei -> GLsizei -> IO ())
    ptr_glMultiDrawMeshTasksIndirectCountNV :: FunPtr (GLintptr -> GLintptr -> GLint -> GLint -> IO ())
    ptr_glMultiDrawMeshTasksIndirectCountNV = IO (FunPtr (GLintptr -> GLintptr -> GLint -> GLint -> IO ()))
    -> FunPtr (GLintptr -> GLintptr -> GLint -> GLint -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLintptr -> GLintptr -> GLint -> GLint -> IO ()))
     -> FunPtr (GLintptr -> GLintptr -> GLint -> GLint -> IO ()))
    -> IO (FunPtr (GLintptr -> GLintptr -> GLint -> GLint -> IO ()))
    -> FunPtr (GLintptr -> GLintptr -> GLint -> GLint -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String
    -> IO (FunPtr (GLintptr -> GLintptr -> GLint -> GLint -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glMultiDrawMeshTasksIndirectCountNV"

    -- glMultiDrawMeshTasksIndirectNV ----------------------------------------------

    glMultiDrawMeshTasksIndirectNV
      :: MonadIO m
      => GLintptr -- ^ @indirect@.
      -> GLsizei -- ^ @drawcount@.
      -> GLsizei -- ^ @stride@.
      -> m ()
    glMultiDrawMeshTasksIndirectNV :: forall (m :: * -> *).
    MonadIO m =>
    GLintptr -> GLint -> GLint -> m ()
    glMultiDrawMeshTasksIndirectNV GLintptr
    v1 GLint
    v2 GLint
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLintptr -> GLint -> GLint -> IO ())
    -> GLintptr -> GLint -> GLint -> IO ()
    dyn563 FunPtr (GLintptr -> GLint -> GLint -> IO ())
    ptr_glMultiDrawMeshTasksIndirectNV GLintptr
    v1 GLint
    v2 GLint
    v3

    {-# NOINLINE ptr_glMultiDrawMeshTasksIndirectNV #-}
    ptr_glMultiDrawMeshTasksIndirectNV :: FunPtr (GLintptr -> GLsizei -> GLsizei -> IO ())
    ptr_glMultiDrawMeshTasksIndirectNV :: FunPtr (GLintptr -> GLint -> GLint -> IO ())
    ptr_glMultiDrawMeshTasksIndirectNV = IO (FunPtr (GLintptr -> GLint -> GLint -> IO ()))
    -> FunPtr (GLintptr -> GLint -> GLint -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLintptr -> GLint -> GLint -> IO ()))
     -> FunPtr (GLintptr -> GLint -> GLint -> IO ()))
    -> IO (FunPtr (GLintptr -> GLint -> GLint -> IO ()))
    -> FunPtr (GLintptr -> GLint -> GLint -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLintptr -> GLint -> GLint -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glMultiDrawMeshTasksIndirectNV"

    -- glMultiDrawRangeElementArrayAPPLE -------------------------------------------

    glMultiDrawRangeElementArrayAPPLE
      :: MonadIO m
      => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
      -> GLuint -- ^ @start@.
      -> GLuint -- ^ @end@.
      -> Ptr GLint -- ^ @first@ pointing to @primcount@ elements of type @GLint@.
      -> Ptr GLsizei -- ^ @count@ pointing to @primcount@ elements of type @GLsizei@.
      -> GLsizei -- ^ @primcount@.
      -> m ()
    glMultiDrawRangeElementArrayAPPLE :: forall (m :: * -> *).
    MonadIO m =>
    GLenum
    -> GLenum -> GLenum -> Ptr GLint -> Ptr GLint -> GLint -> m ()
    glMultiDrawRangeElementArrayAPPLE GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLint
    v4 Ptr 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 -> Ptr GLint -> Ptr GLint -> GLint -> IO ())
    -> GLenum
    -> GLenum
    -> GLenum
    -> Ptr GLint
    -> Ptr GLint
    -> GLint
    -> IO ()
    dyn564 FunPtr
      (GLenum
       -> GLenum -> GLenum -> Ptr GLint -> Ptr GLint -> GLint -> IO ())
    ptr_glMultiDrawRangeElementArrayAPPLE GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLint
    v4 Ptr GLint
    v5 GLint
    v6

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

    -- glMultiModeDrawArraysIBM ----------------------------------------------------

    glMultiModeDrawArraysIBM
      :: MonadIO m
      => Ptr GLenum -- ^ @mode@ pointing to @COMPSIZE(primcount)@ elements of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
      -> Ptr GLint -- ^ @first@ pointing to @COMPSIZE(primcount)@ elements of type @GLint@.
      -> Ptr GLsizei -- ^ @count@ pointing to @COMPSIZE(primcount)@ elements of type @GLsizei@.
      -> GLsizei -- ^ @primcount@.
      -> GLint -- ^ @modestride@.
      -> m ()
    glMultiModeDrawArraysIBM :: forall (m :: * -> *).
    MonadIO m =>
    Ptr GLenum -> Ptr GLint -> Ptr GLint -> GLint -> GLint -> m ()
    glMultiModeDrawArraysIBM Ptr GLenum
    v1 Ptr GLint
    v2 Ptr 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
      (Ptr GLenum -> Ptr GLint -> Ptr GLint -> GLint -> GLint -> IO ())
    -> Ptr GLenum -> Ptr GLint -> Ptr GLint -> GLint -> GLint -> IO ()
    dyn565 FunPtr
      (Ptr GLenum -> Ptr GLint -> Ptr GLint -> GLint -> GLint -> IO ())
    ptr_glMultiModeDrawArraysIBM Ptr GLenum
    v1 Ptr GLint
    v2 Ptr GLint
    v3 GLint
    v4 GLint
    v5

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

    -- glMultiModeDrawElementsIBM --------------------------------------------------

    glMultiModeDrawElementsIBM
      :: MonadIO m
      => Ptr GLenum -- ^ @mode@ pointing to @COMPSIZE(primcount)@ elements of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
      -> Ptr GLsizei -- ^ @count@ pointing to @COMPSIZE(primcount)@ elements of type @GLsizei@.
      -> GLenum -- ^ @type@ of type [DrawElementsType](Graphics-GL-Groups.html#DrawElementsType).
      -> Ptr (Ptr a) -- ^ @indices@ pointing to @COMPSIZE(primcount)@ elements of type @Ptr a@.
      -> GLsizei -- ^ @primcount@.
      -> GLint -- ^ @modestride@.
      -> m ()
    glMultiModeDrawElementsIBM :: forall (m :: * -> *) a.
    MonadIO m =>
    Ptr GLenum
    -> Ptr GLint -> GLenum -> Ptr (Ptr a) -> GLint -> GLint -> m ()
    glMultiModeDrawElementsIBM Ptr GLenum
    v1 Ptr GLint
    v2 GLenum
    v3 Ptr (Ptr a)
    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
      (Ptr GLenum
       -> Ptr GLint -> GLenum -> Ptr (Ptr a) -> GLint -> GLint -> IO ())
    -> Ptr GLenum
    -> Ptr GLint
    -> GLenum
    -> Ptr (Ptr a)
    -> GLint
    -> GLint
    -> IO ()
    forall a.
    FunPtr
      (Ptr GLenum
       -> Ptr GLint -> GLenum -> Ptr (Ptr a) -> GLint -> GLint -> IO ())
    -> Ptr GLenum
    -> Ptr GLint
    -> GLenum
    -> Ptr (Ptr a)
    -> GLint
    -> GLint
    -> IO ()
    dyn566 FunPtr
      (Ptr GLenum
       -> Ptr GLint -> GLenum -> Ptr (Ptr a) -> GLint -> GLint -> IO ())
    forall a.
    FunPtr
      (Ptr GLenum
       -> Ptr GLint -> GLenum -> Ptr (Ptr a) -> GLint -> GLint -> IO ())
    ptr_glMultiModeDrawElementsIBM Ptr GLenum
    v1 Ptr GLint
    v2 GLenum
    v3 Ptr (Ptr a)
    v4 GLint
    v5 GLint
    v6

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

    -- glMultiTexBufferEXT ---------------------------------------------------------

    glMultiTexBufferEXT
      :: MonadIO m
      => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLenum -- ^ @internalformat@.
      -> GLuint -- ^ @buffer@.
      -> m ()
    glMultiTexBufferEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> GLenum -> m ()
    glMultiTexBufferEXT 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 ()
    dyn296 FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
    ptr_glMultiTexBufferEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 GLenum
    v4

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

    -- glMultiTexCoord1bOES --------------------------------------------------------

    glMultiTexCoord1bOES
      :: MonadIO m
      => GLenum -- ^ @texture@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLbyte -- ^ @s@.
      -> m ()
    glMultiTexCoord1bOES :: forall (m :: * -> *). MonadIO m => GLenum -> GLbyte -> m ()
    glMultiTexCoord1bOES GLenum
    v1 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 -> GLbyte -> IO ()) -> GLenum -> GLbyte -> IO ()
    dyn567 FunPtr (GLenum -> GLbyte -> IO ())
    ptr_glMultiTexCoord1bOES GLenum
    v1 GLbyte
    v2

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

    -- glMultiTexCoord1bvOES -------------------------------------------------------

    glMultiTexCoord1bvOES
      :: MonadIO m
      => GLenum -- ^ @texture@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> Ptr GLbyte -- ^ @coords@ pointing to @1@ element of type @GLbyte@.
      -> m ()
    glMultiTexCoord1bvOES :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLbyte -> m ()
    glMultiTexCoord1bvOES 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_glMultiTexCoord1bvOES GLenum
    v1 Ptr GLbyte
    v2

    {-# NOINLINE ptr_glMultiTexCoord1bvOES #-}
    ptr_glMultiTexCoord1bvOES :: FunPtr (GLenum -> Ptr GLbyte -> IO ())
    ptr_glMultiTexCoord1bvOES :: FunPtr (GLenum -> Ptr GLbyte -> IO ())
    ptr_glMultiTexCoord1bvOES = 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
    "glMultiTexCoord1bvOES"

    -- glMultiTexCoord1d -----------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glMultiTexCoord1dv'.
    glMultiTexCoord1d
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLdouble -- ^ @s@ of type @CoordD@.
      -> m ()
    glMultiTexCoord1d :: forall (m :: * -> *). MonadIO m => GLenum -> GLdouble -> m ()
    glMultiTexCoord1d GLenum
    v1 GLdouble
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLdouble -> IO ()) -> GLenum -> GLdouble -> IO ()
    dyn569 FunPtr (GLenum -> GLdouble -> IO ())
    ptr_glMultiTexCoord1d GLenum
    v1 GLdouble
    v2

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

    -- glMultiTexCoord1dARB --------------------------------------------------------

    -- | The vector equivalent of this command is 'glMultiTexCoord1dv'. This command is an alias for 'glMultiTexCoord1d'.
    glMultiTexCoord1dARB
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLdouble -- ^ @s@ of type @CoordD@.
      -> m ()
    glMultiTexCoord1dARB :: forall (m :: * -> *). MonadIO m => GLenum -> GLdouble -> m ()
    glMultiTexCoord1dARB GLenum
    v1 GLdouble
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLdouble -> IO ()) -> GLenum -> GLdouble -> IO ()
    dyn569 FunPtr (GLenum -> GLdouble -> IO ())
    ptr_glMultiTexCoord1dARB GLenum
    v1 GLdouble
    v2

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

    -- glMultiTexCoord1dv ----------------------------------------------------------

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

    {-# NOINLINE ptr_glMultiTexCoord1dv #-}
    ptr_glMultiTexCoord1dv :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
    ptr_glMultiTexCoord1dv :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
    ptr_glMultiTexCoord1dv = 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
    "glMultiTexCoord1dv"

    -- glMultiTexCoord1dvARB -------------------------------------------------------

    -- | This command is an alias for 'glMultiTexCoord1dv'.
    glMultiTexCoord1dvARB
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> Ptr GLdouble -- ^ @v@ pointing to @1@ element of type @CoordD@.
      -> m ()
    glMultiTexCoord1dvARB :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLdouble -> m ()
    glMultiTexCoord1dvARB 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_glMultiTexCoord1dvARB GLenum
    v1 Ptr GLdouble
    v2

    {-# NOINLINE ptr_glMultiTexCoord1dvARB #-}
    ptr_glMultiTexCoord1dvARB :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
    ptr_glMultiTexCoord1dvARB :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
    ptr_glMultiTexCoord1dvARB = 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
    "glMultiTexCoord1dvARB"

    -- glMultiTexCoord1f -----------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glMultiTexCoord1fv'.
    glMultiTexCoord1f
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLfloat -- ^ @s@ of type @CoordF@.
      -> m ()
    glMultiTexCoord1f :: forall (m :: * -> *). MonadIO m => GLenum -> GLfloat -> m ()
    glMultiTexCoord1f GLenum
    v1 GLfloat
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLfloat -> IO ()) -> GLenum -> GLfloat -> IO ()
    dyn0 FunPtr (GLenum -> GLfloat -> IO ())
    ptr_glMultiTexCoord1f GLenum
    v1 GLfloat
    v2

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

    -- glMultiTexCoord1fARB --------------------------------------------------------

    -- | The vector equivalent of this command is 'glMultiTexCoord1fv'. This command is an alias for 'glMultiTexCoord1f'.
    glMultiTexCoord1fARB
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLfloat -- ^ @s@ of type @CoordF@.
      -> m ()
    glMultiTexCoord1fARB :: forall (m :: * -> *). MonadIO m => GLenum -> GLfloat -> m ()
    glMultiTexCoord1fARB GLenum
    v1 GLfloat
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLfloat -> IO ()) -> GLenum -> GLfloat -> IO ()
    dyn0 FunPtr (GLenum -> GLfloat -> IO ())
    ptr_glMultiTexCoord1fARB GLenum
    v1 GLfloat
    v2

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

    -- glMultiTexCoord1fv ----------------------------------------------------------

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

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

    -- glMultiTexCoord1fvARB -------------------------------------------------------

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

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

    -- glMultiTexCoord1hNV ---------------------------------------------------------

    -- | The vector equivalent of this command is 'glMultiTexCoord1hvNV'.
    glMultiTexCoord1hNV
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLhalfNV -- ^ @s@ of type @Half16NV@.
      -> m ()
    glMultiTexCoord1hNV :: forall (m :: * -> *). MonadIO m => GLenum -> GLhalfNV -> m ()
    glMultiTexCoord1hNV GLenum
    v1 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 -> GLhalfNV -> IO ()) -> GLenum -> GLhalfNV -> IO ()
    dyn570 FunPtr (GLenum -> GLhalfNV -> IO ())
    ptr_glMultiTexCoord1hNV GLenum
    v1 GLhalfNV
    v2

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

    -- glMultiTexCoord1hvNV --------------------------------------------------------

    glMultiTexCoord1hvNV
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> Ptr GLhalfNV -- ^ @v@ pointing to @1@ element of type @Half16NV@.
      -> m ()
    glMultiTexCoord1hvNV :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLhalfNV -> m ()
    glMultiTexCoord1hvNV 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_glMultiTexCoord1hvNV GLenum
    v1 Ptr GLhalfNV
    v2

    {-# NOINLINE ptr_glMultiTexCoord1hvNV #-}
    ptr_glMultiTexCoord1hvNV :: FunPtr (GLenum -> Ptr GLhalfNV -> IO ())
    ptr_glMultiTexCoord1hvNV :: FunPtr (GLenum -> Ptr GLhalfNV -> IO ())
    ptr_glMultiTexCoord1hvNV = 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
    "glMultiTexCoord1hvNV"

    -- glMultiTexCoord1i -----------------------------------------------------------

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

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

    -- glMultiTexCoord1iARB --------------------------------------------------------

    -- | The vector equivalent of this command is 'glMultiTexCoord1iv'. This command is an alias for 'glMultiTexCoord1i'.
    glMultiTexCoord1iARB
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLint -- ^ @s@ of type @CoordI@.
      -> m ()
    glMultiTexCoord1iARB :: forall (m :: * -> *). MonadIO m => GLenum -> GLint -> m ()
    glMultiTexCoord1iARB GLenum
    v1 GLint
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLint -> IO ()) -> GLenum -> GLint -> IO ()
    dyn58 FunPtr (GLenum -> GLint -> IO ())
    ptr_glMultiTexCoord1iARB GLenum
    v1 GLint
    v2

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

    -- glMultiTexCoord1iv ----------------------------------------------------------

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

    {-# NOINLINE ptr_glMultiTexCoord1iv #-}
    ptr_glMultiTexCoord1iv :: FunPtr (GLenum -> Ptr GLint -> IO ())
    ptr_glMultiTexCoord1iv :: FunPtr (GLenum -> Ptr GLint -> IO ())
    ptr_glMultiTexCoord1iv = 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
    "glMultiTexCoord1iv"

    -- glMultiTexCoord1ivARB -------------------------------------------------------

    -- | This command is an alias for 'glMultiTexCoord1iv'.
    glMultiTexCoord1ivARB
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> Ptr GLint -- ^ @v@ pointing to @1@ element of type @CoordI@.
      -> m ()
    glMultiTexCoord1ivARB :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLint -> m ()
    glMultiTexCoord1ivARB 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_glMultiTexCoord1ivARB GLenum
    v1 Ptr GLint
    v2

    {-# NOINLINE ptr_glMultiTexCoord1ivARB #-}
    ptr_glMultiTexCoord1ivARB :: FunPtr (GLenum -> Ptr GLint -> IO ())
    ptr_glMultiTexCoord1ivARB :: FunPtr (GLenum -> Ptr GLint -> IO ())
    ptr_glMultiTexCoord1ivARB = 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
    "glMultiTexCoord1ivARB"

    -- glMultiTexCoord1s -----------------------------------------------------------

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

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

    -- glMultiTexCoord1sARB --------------------------------------------------------

    -- | The vector equivalent of this command is 'glMultiTexCoord1sv'. This command is an alias for 'glMultiTexCoord1s'.
    glMultiTexCoord1sARB
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLshort -- ^ @s@ of type @CoordS@.
      -> m ()
    glMultiTexCoord1sARB :: forall (m :: * -> *). MonadIO m => GLenum -> GLshort -> m ()
    glMultiTexCoord1sARB GLenum
    v1 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 -> GLshort -> IO ()) -> GLenum -> GLshort -> IO ()
    dyn572 FunPtr (GLenum -> GLshort -> IO ())
    ptr_glMultiTexCoord1sARB GLenum
    v1 GLshort
    v2

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

    -- glMultiTexCoord1sv ----------------------------------------------------------

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

    {-# NOINLINE ptr_glMultiTexCoord1sv #-}
    ptr_glMultiTexCoord1sv :: FunPtr (GLenum -> Ptr GLshort -> IO ())
    ptr_glMultiTexCoord1sv :: FunPtr (GLenum -> Ptr GLshort -> IO ())
    ptr_glMultiTexCoord1sv = 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
    "glMultiTexCoord1sv"

    -- glMultiTexCoord1svARB -------------------------------------------------------

    -- | This command is an alias for 'glMultiTexCoord1sv'.
    glMultiTexCoord1svARB
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> Ptr GLshort -- ^ @v@ pointing to @1@ element of type @CoordS@.
      -> m ()
    glMultiTexCoord1svARB :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLshort -> m ()
    glMultiTexCoord1svARB 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_glMultiTexCoord1svARB GLenum
    v1 Ptr GLshort
    v2

    {-# NOINLINE ptr_glMultiTexCoord1svARB #-}
    ptr_glMultiTexCoord1svARB :: FunPtr (GLenum -> Ptr GLshort -> IO ())
    ptr_glMultiTexCoord1svARB :: FunPtr (GLenum -> Ptr GLshort -> IO ())
    ptr_glMultiTexCoord1svARB = 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
    "glMultiTexCoord1svARB"

    -- glMultiTexCoord1xOES --------------------------------------------------------

    glMultiTexCoord1xOES
      :: MonadIO m
      => GLenum -- ^ @texture@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLfixed -- ^ @s@.
      -> m ()
    glMultiTexCoord1xOES :: forall (m :: * -> *). MonadIO m => GLenum -> GLfixed -> m ()
    glMultiTexCoord1xOES GLenum
    v1 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 -> GLfixed -> IO ()) -> GLenum -> GLfixed -> IO ()
    dyn1 FunPtr (GLenum -> GLfixed -> IO ())
    ptr_glMultiTexCoord1xOES GLenum
    v1 GLfixed
    v2

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

    -- glMultiTexCoord1xvOES -------------------------------------------------------

    glMultiTexCoord1xvOES
      :: MonadIO m
      => GLenum -- ^ @texture@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> Ptr GLfixed -- ^ @coords@ pointing to @1@ element of type @GLfixed@.
      -> m ()
    glMultiTexCoord1xvOES :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLfixed -> m ()
    glMultiTexCoord1xvOES 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_glMultiTexCoord1xvOES GLenum
    v1 Ptr GLfixed
    v2

    {-# NOINLINE ptr_glMultiTexCoord1xvOES #-}
    ptr_glMultiTexCoord1xvOES :: FunPtr (GLenum -> Ptr GLfixed -> IO ())
    ptr_glMultiTexCoord1xvOES :: FunPtr (GLenum -> Ptr GLfixed -> IO ())
    ptr_glMultiTexCoord1xvOES = 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
    "glMultiTexCoord1xvOES"

    -- glMultiTexCoord2bOES --------------------------------------------------------

    glMultiTexCoord2bOES
      :: MonadIO m
      => GLenum -- ^ @texture@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLbyte -- ^ @s@.
      -> GLbyte -- ^ @t@.
      -> m ()
    glMultiTexCoord2bOES :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLbyte -> GLbyte -> m ()
    glMultiTexCoord2bOES GLenum
    v1 GLbyte
    v2 GLbyte
    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 -> GLbyte -> GLbyte -> IO ())
    -> GLenum -> GLbyte -> GLbyte -> IO ()
    dyn574 FunPtr (GLenum -> GLbyte -> GLbyte -> IO ())
    ptr_glMultiTexCoord2bOES GLenum
    v1 GLbyte
    v2 GLbyte
    v3

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

    -- glMultiTexCoord2bvOES -------------------------------------------------------

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

    {-# NOINLINE ptr_glMultiTexCoord2bvOES #-}
    ptr_glMultiTexCoord2bvOES :: FunPtr (GLenum -> Ptr GLbyte -> IO ())
    ptr_glMultiTexCoord2bvOES :: FunPtr (GLenum -> Ptr GLbyte -> IO ())
    ptr_glMultiTexCoord2bvOES = 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
    "glMultiTexCoord2bvOES"

    -- glMultiTexCoord2d -----------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glMultiTexCoord2dv'.
    glMultiTexCoord2d
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLdouble -- ^ @s@ of type @CoordD@.
      -> GLdouble -- ^ @t@ of type @CoordD@.
      -> m ()
    glMultiTexCoord2d :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLdouble -> GLdouble -> m ()
    glMultiTexCoord2d GLenum
    v1 GLdouble
    v2 GLdouble
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLdouble -> GLdouble -> IO ())
    -> GLenum -> GLdouble -> GLdouble -> IO ()
    dyn575 FunPtr (GLenum -> GLdouble -> GLdouble -> IO ())
    ptr_glMultiTexCoord2d GLenum
    v1 GLdouble
    v2 GLdouble
    v3

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

    -- glMultiTexCoord2dARB --------------------------------------------------------

    -- | The vector equivalent of this command is 'glMultiTexCoord2dv'. This command is an alias for 'glMultiTexCoord2d'.
    glMultiTexCoord2dARB
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLdouble -- ^ @s@ of type @CoordD@.
      -> GLdouble -- ^ @t@ of type @CoordD@.
      -> m ()
    glMultiTexCoord2dARB :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLdouble -> GLdouble -> m ()
    glMultiTexCoord2dARB GLenum
    v1 GLdouble
    v2 GLdouble
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLdouble -> GLdouble -> IO ())
    -> GLenum -> GLdouble -> GLdouble -> IO ()
    dyn575 FunPtr (GLenum -> GLdouble -> GLdouble -> IO ())
    ptr_glMultiTexCoord2dARB GLenum
    v1 GLdouble
    v2 GLdouble
    v3

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

    -- glMultiTexCoord2dv ----------------------------------------------------------

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

    {-# NOINLINE ptr_glMultiTexCoord2dv #-}
    ptr_glMultiTexCoord2dv :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
    ptr_glMultiTexCoord2dv :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
    ptr_glMultiTexCoord2dv = 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
    "glMultiTexCoord2dv"

    -- glMultiTexCoord2dvARB -------------------------------------------------------

    -- | This command is an alias for 'glMultiTexCoord2dv'.
    glMultiTexCoord2dvARB
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> Ptr GLdouble -- ^ @v@ pointing to @2@ elements of type @CoordD@.
      -> m ()
    glMultiTexCoord2dvARB :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLdouble -> m ()
    glMultiTexCoord2dvARB 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_glMultiTexCoord2dvARB GLenum
    v1 Ptr GLdouble
    v2

    {-# NOINLINE ptr_glMultiTexCoord2dvARB #-}
    ptr_glMultiTexCoord2dvARB :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
    ptr_glMultiTexCoord2dvARB :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
    ptr_glMultiTexCoord2dvARB = 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
    "glMultiTexCoord2dvARB"

    -- glMultiTexCoord2f -----------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glMultiTexCoord2fv'.
    glMultiTexCoord2f
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLfloat -- ^ @s@ of type @CoordF@.
      -> GLfloat -- ^ @t@ of type @CoordF@.
      -> m ()
    glMultiTexCoord2f :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLfloat -> GLfloat -> m ()
    glMultiTexCoord2f GLenum
    v1 GLfloat
    v2 GLfloat
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLfloat -> GLfloat -> IO ())
    -> GLenum -> GLfloat -> GLfloat -> IO ()
    dyn576 FunPtr (GLenum -> GLfloat -> GLfloat -> IO ())
    ptr_glMultiTexCoord2f GLenum
    v1 GLfloat
    v2 GLfloat
    v3

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

    -- glMultiTexCoord2fARB --------------------------------------------------------

    -- | The vector equivalent of this command is 'glMultiTexCoord2fv'. This command is an alias for 'glMultiTexCoord2f'.
    glMultiTexCoord2fARB
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLfloat -- ^ @s@ of type @CoordF@.
      -> GLfloat -- ^ @t@ of type @CoordF@.
      -> m ()
    glMultiTexCoord2fARB :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLfloat -> GLfloat -> m ()
    glMultiTexCoord2fARB GLenum
    v1 GLfloat
    v2 GLfloat
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLfloat -> GLfloat -> IO ())
    -> GLenum -> GLfloat -> GLfloat -> IO ()
    dyn576 FunPtr (GLenum -> GLfloat -> GLfloat -> IO ())
    ptr_glMultiTexCoord2fARB GLenum
    v1 GLfloat
    v2 GLfloat
    v3

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

    -- glMultiTexCoord2fv ----------------------------------------------------------

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

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

    -- glMultiTexCoord2fvARB -------------------------------------------------------

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

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

    -- glMultiTexCoord2hNV ---------------------------------------------------------

    -- | The vector equivalent of this command is 'glMultiTexCoord2hvNV'.
    glMultiTexCoord2hNV
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLhalfNV -- ^ @s@ of type @Half16NV@.
      -> GLhalfNV -- ^ @t@ of type @Half16NV@.
      -> m ()
    glMultiTexCoord2hNV :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLhalfNV -> GLhalfNV -> m ()
    glMultiTexCoord2hNV GLenum
    v1 GLhalfNV
    v2 GLhalfNV
    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 -> GLhalfNV -> GLhalfNV -> IO ())
    -> GLenum -> GLhalfNV -> GLhalfNV -> IO ()
    dyn577 FunPtr (GLenum -> GLhalfNV -> GLhalfNV -> IO ())
    ptr_glMultiTexCoord2hNV GLenum
    v1 GLhalfNV
    v2 GLhalfNV
    v3

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

    -- glMultiTexCoord2hvNV --------------------------------------------------------

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

    {-# NOINLINE ptr_glMultiTexCoord2hvNV #-}
    ptr_glMultiTexCoord2hvNV :: FunPtr (GLenum -> Ptr GLhalfNV -> IO ())
    ptr_glMultiTexCoord2hvNV :: FunPtr (GLenum -> Ptr GLhalfNV -> IO ())
    ptr_glMultiTexCoord2hvNV = 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
    "glMultiTexCoord2hvNV"

    -- glMultiTexCoord2i -----------------------------------------------------------

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

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

    -- glMultiTexCoord2iARB --------------------------------------------------------

    -- | The vector equivalent of this command is 'glMultiTexCoord2iv'. This command is an alias for 'glMultiTexCoord2i'.
    glMultiTexCoord2iARB
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLint -- ^ @s@ of type @CoordI@.
      -> GLint -- ^ @t@ of type @CoordI@.
      -> m ()
    glMultiTexCoord2iARB :: forall (m :: * -> *). MonadIO m => GLenum -> GLint -> GLint -> m ()
    glMultiTexCoord2iARB GLenum
    v1 GLint
    v2 GLint
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLint -> GLint -> IO ())
    -> GLenum -> GLint -> GLint -> IO ()
    dyn275 FunPtr (GLenum -> GLint -> GLint -> IO ())
    ptr_glMultiTexCoord2iARB GLenum
    v1 GLint
    v2 GLint
    v3

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

    -- glMultiTexCoord2iv ----------------------------------------------------------

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

    {-# NOINLINE ptr_glMultiTexCoord2iv #-}
    ptr_glMultiTexCoord2iv :: FunPtr (GLenum -> Ptr GLint -> IO ())
    ptr_glMultiTexCoord2iv :: FunPtr (GLenum -> Ptr GLint -> IO ())
    ptr_glMultiTexCoord2iv = 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
    "glMultiTexCoord2iv"

    -- glMultiTexCoord2ivARB -------------------------------------------------------

    -- | This command is an alias for 'glMultiTexCoord2iv'.
    glMultiTexCoord2ivARB
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> Ptr GLint -- ^ @v@ pointing to @2@ elements of type @CoordI@.
      -> m ()
    glMultiTexCoord2ivARB :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLint -> m ()
    glMultiTexCoord2ivARB 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_glMultiTexCoord2ivARB GLenum
    v1 Ptr GLint
    v2

    {-# NOINLINE ptr_glMultiTexCoord2ivARB #-}
    ptr_glMultiTexCoord2ivARB :: FunPtr (GLenum -> Ptr GLint -> IO ())
    ptr_glMultiTexCoord2ivARB :: FunPtr (GLenum -> Ptr GLint -> IO ())
    ptr_glMultiTexCoord2ivARB = 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
    "glMultiTexCoord2ivARB"

    -- glMultiTexCoord2s -----------------------------------------------------------

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

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

    -- glMultiTexCoord2sARB --------------------------------------------------------

    -- | The vector equivalent of this command is 'glMultiTexCoord2sv'. This command is an alias for 'glMultiTexCoord2s'.
    glMultiTexCoord2sARB
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLshort -- ^ @s@ of type @CoordS@.
      -> GLshort -- ^ @t@ of type @CoordS@.
      -> m ()
    glMultiTexCoord2sARB :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLshort -> GLshort -> m ()
    glMultiTexCoord2sARB GLenum
    v1 GLshort
    v2 GLshort
    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 -> GLshort -> GLshort -> IO ())
    -> GLenum -> GLshort -> GLshort -> IO ()
    dyn578 FunPtr (GLenum -> GLshort -> GLshort -> IO ())
    ptr_glMultiTexCoord2sARB GLenum
    v1 GLshort
    v2 GLshort
    v3

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

    -- glMultiTexCoord2sv ----------------------------------------------------------

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

    {-# NOINLINE ptr_glMultiTexCoord2sv #-}
    ptr_glMultiTexCoord2sv :: FunPtr (GLenum -> Ptr GLshort -> IO ())
    ptr_glMultiTexCoord2sv :: FunPtr (GLenum -> Ptr GLshort -> IO ())
    ptr_glMultiTexCoord2sv = 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
    "glMultiTexCoord2sv"

    -- glMultiTexCoord2svARB -------------------------------------------------------

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

    {-# NOINLINE ptr_glMultiTexCoord2svARB #-}
    ptr_glMultiTexCoord2svARB :: FunPtr (GLenum -> Ptr GLshort -> IO ())
    ptr_glMultiTexCoord2svARB :: FunPtr (GLenum -> Ptr GLshort -> IO ())
    ptr_glMultiTexCoord2svARB = 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
    "glMultiTexCoord2svARB"

    -- glMultiTexCoord2xOES --------------------------------------------------------

    glMultiTexCoord2xOES
      :: MonadIO m
      => GLenum -- ^ @texture@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLfixed -- ^ @s@.
      -> GLfixed -- ^ @t@.
      -> m ()
    glMultiTexCoord2xOES :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLfixed -> GLfixed -> m ()
    glMultiTexCoord2xOES GLenum
    v1 GLfixed
    v2 GLfixed
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLfixed -> GLfixed -> IO ())
    -> GLenum -> GLfixed -> GLfixed -> IO ()
    dyn579 FunPtr (GLenum -> GLfixed -> GLfixed -> IO ())
    ptr_glMultiTexCoord2xOES GLenum
    v1 GLfixed
    v2 GLfixed
    v3

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

    -- glMultiTexCoord2xvOES -------------------------------------------------------

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

    {-# NOINLINE ptr_glMultiTexCoord2xvOES #-}
    ptr_glMultiTexCoord2xvOES :: FunPtr (GLenum -> Ptr GLfixed -> IO ())
    ptr_glMultiTexCoord2xvOES :: FunPtr (GLenum -> Ptr GLfixed -> IO ())
    ptr_glMultiTexCoord2xvOES = 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
    "glMultiTexCoord2xvOES"

    -- glMultiTexCoord3bOES --------------------------------------------------------

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

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

    -- glMultiTexCoord3bvOES -------------------------------------------------------

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

    {-# NOINLINE ptr_glMultiTexCoord3bvOES #-}
    ptr_glMultiTexCoord3bvOES :: FunPtr (GLenum -> Ptr GLbyte -> IO ())
    ptr_glMultiTexCoord3bvOES :: FunPtr (GLenum -> Ptr GLbyte -> IO ())
    ptr_glMultiTexCoord3bvOES = 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
    "glMultiTexCoord3bvOES"

    -- glMultiTexCoord3d -----------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glMultiTexCoord3dv'.
    glMultiTexCoord3d
      :: 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@.
      -> m ()
    glMultiTexCoord3d :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()
    glMultiTexCoord3d GLenum
    v1 GLdouble
    v2 GLdouble
    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 -> GLdouble -> GLdouble -> GLdouble -> IO ())
    -> GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ()
    dyn548 FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ())
    ptr_glMultiTexCoord3d GLenum
    v1 GLdouble
    v2 GLdouble
    v3 GLdouble
    v4

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

    -- glMultiTexCoord3dARB --------------------------------------------------------

    -- | The vector equivalent of this command is 'glMultiTexCoord3dv'. This command is an alias for 'glMultiTexCoord3d'.
    glMultiTexCoord3dARB
      :: 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@.
      -> m ()
    glMultiTexCoord3dARB :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()
    glMultiTexCoord3dARB GLenum
    v1 GLdouble
    v2 GLdouble
    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 -> GLdouble -> GLdouble -> GLdouble -> IO ())
    -> GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ()
    dyn548 FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ())
    ptr_glMultiTexCoord3dARB GLenum
    v1 GLdouble
    v2 GLdouble
    v3 GLdouble
    v4

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

    -- glMultiTexCoord3dv ----------------------------------------------------------

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

    {-# NOINLINE ptr_glMultiTexCoord3dv #-}
    ptr_glMultiTexCoord3dv :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
    ptr_glMultiTexCoord3dv :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
    ptr_glMultiTexCoord3dv = 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
    "glMultiTexCoord3dv"

    -- glMultiTexCoord3dvARB -------------------------------------------------------

    -- | This command is an alias for 'glMultiTexCoord3dv'.
    glMultiTexCoord3dvARB
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> Ptr GLdouble -- ^ @v@ pointing to @3@ elements of type @CoordD@.
      -> m ()
    glMultiTexCoord3dvARB :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLdouble -> m ()
    glMultiTexCoord3dvARB 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_glMultiTexCoord3dvARB GLenum
    v1 Ptr GLdouble
    v2

    {-# NOINLINE ptr_glMultiTexCoord3dvARB #-}
    ptr_glMultiTexCoord3dvARB :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
    ptr_glMultiTexCoord3dvARB :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
    ptr_glMultiTexCoord3dvARB = 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
    "glMultiTexCoord3dvARB"

    -- glMultiTexCoord3f -----------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glMultiTexCoord3fv'.
    glMultiTexCoord3f
      :: 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@.
      -> m ()
    glMultiTexCoord3f :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()
    glMultiTexCoord3f GLenum
    v1 GLfloat
    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 -> GLfloat -> GLfloat -> GLfloat -> IO ())
    -> GLenum -> GLfloat -> GLfloat -> GLfloat -> IO ()
    dyn549 FunPtr (GLenum -> GLfloat -> GLfloat -> GLfloat -> IO ())
    ptr_glMultiTexCoord3f GLenum
    v1 GLfloat
    v2 GLfloat
    v3 GLfloat
    v4

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

    -- glMultiTexCoord3fARB --------------------------------------------------------

    -- | The vector equivalent of this command is 'glMultiTexCoord3fv'. This command is an alias for 'glMultiTexCoord3f'.
    glMultiTexCoord3fARB
      :: 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@.
      -> m ()
    glMultiTexCoord3fARB :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()
    glMultiTexCoord3fARB GLenum
    v1 GLfloat
    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 -> GLfloat -> GLfloat -> GLfloat -> IO ())
    -> GLenum -> GLfloat -> GLfloat -> GLfloat -> IO ()
    dyn549 FunPtr (GLenum -> GLfloat -> GLfloat -> GLfloat -> IO ())
    ptr_glMultiTexCoord3fARB GLenum
    v1 GLfloat
    v2 GLfloat
    v3 GLfloat
    v4

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

    -- glMultiTexCoord3fv ----------------------------------------------------------

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

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

    -- glMultiTexCoord3fvARB -------------------------------------------------------

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

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

    -- glMultiTexCoord3hNV ---------------------------------------------------------

    -- | The vector equivalent of this command is 'glMultiTexCoord3hvNV'.
    glMultiTexCoord3hNV
      :: 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@.
      -> m ()
    glMultiTexCoord3hNV :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLhalfNV -> GLhalfNV -> GLhalfNV -> m ()
    glMultiTexCoord3hNV GLenum
    v1 GLhalfNV
    v2 GLhalfNV
    v3 GLhalfNV
    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 -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ())
    -> GLenum -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ()
    dyn581 FunPtr (GLenum -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ())
    ptr_glMultiTexCoord3hNV GLenum
    v1 GLhalfNV
    v2 GLhalfNV
    v3 GLhalfNV
    v4

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

    -- glMultiTexCoord3hvNV --------------------------------------------------------

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

    {-# NOINLINE ptr_glMultiTexCoord3hvNV #-}
    ptr_glMultiTexCoord3hvNV :: FunPtr (GLenum -> Ptr GLhalfNV -> IO ())
    ptr_glMultiTexCoord3hvNV :: FunPtr (GLenum -> Ptr GLhalfNV -> IO ())
    ptr_glMultiTexCoord3hvNV = 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
    "glMultiTexCoord3hvNV"

    -- glMultiTexCoord3i -----------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glMultiTexCoord3iv'.
    glMultiTexCoord3i
      :: 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@.
      -> m ()
    glMultiTexCoord3i :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLint -> GLint -> GLint -> m ()
    glMultiTexCoord3i GLenum
    v1 GLint
    v2 GLint
    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 -> GLint -> GLint -> GLint -> IO ())
    -> GLenum -> GLint -> GLint -> GLint -> IO ()
    dyn582 FunPtr (GLenum -> GLint -> GLint -> GLint -> IO ())
    ptr_glMultiTexCoord3i GLenum
    v1 GLint
    v2 GLint
    v3 GLint
    v4

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

    -- glMultiTexCoord3iARB --------------------------------------------------------

    -- | The vector equivalent of this command is 'glMultiTexCoord3iv'. This command is an alias for 'glMultiTexCoord3i'.
    glMultiTexCoord3iARB
      :: 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@.
      -> m ()
    glMultiTexCoord3iARB :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLint -> GLint -> GLint -> m ()
    glMultiTexCoord3iARB GLenum
    v1 GLint
    v2 GLint
    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 -> GLint -> GLint -> GLint -> IO ())
    -> GLenum -> GLint -> GLint -> GLint -> IO ()
    dyn582 FunPtr (GLenum -> GLint -> GLint -> GLint -> IO ())
    ptr_glMultiTexCoord3iARB GLenum
    v1 GLint
    v2 GLint
    v3 GLint
    v4

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

    -- glMultiTexCoord3iv ----------------------------------------------------------

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

    {-# NOINLINE ptr_glMultiTexCoord3iv #-}
    ptr_glMultiTexCoord3iv :: FunPtr (GLenum -> Ptr GLint -> IO ())
    ptr_glMultiTexCoord3iv :: FunPtr (GLenum -> Ptr GLint -> IO ())
    ptr_glMultiTexCoord3iv = 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
    "glMultiTexCoord3iv"

    -- glMultiTexCoord3ivARB -------------------------------------------------------

    -- | This command is an alias for 'glMultiTexCoord3iv'.
    glMultiTexCoord3ivARB
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> Ptr GLint -- ^ @v@ pointing to @3@ elements of type @CoordI@.
      -> m ()
    glMultiTexCoord3ivARB :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLint -> m ()
    glMultiTexCoord3ivARB 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_glMultiTexCoord3ivARB GLenum
    v1 Ptr GLint
    v2

    {-# NOINLINE ptr_glMultiTexCoord3ivARB #-}
    ptr_glMultiTexCoord3ivARB :: FunPtr (GLenum -> Ptr GLint -> IO ())
    ptr_glMultiTexCoord3ivARB :: FunPtr (GLenum -> Ptr GLint -> IO ())
    ptr_glMultiTexCoord3ivARB = 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
    "glMultiTexCoord3ivARB"

    -- glMultiTexCoord3s -----------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glMultiTexCoord3sv'.
    glMultiTexCoord3s
      :: 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@.
      -> m ()
    glMultiTexCoord3s :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLshort -> GLshort -> GLshort -> m ()
    glMultiTexCoord3s GLenum
    v1 GLshort
    v2 GLshort
    v3 GLshort
    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 -> GLshort -> GLshort -> GLshort -> IO ())
    -> GLenum -> GLshort -> GLshort -> GLshort -> IO ()
    dyn583 FunPtr (GLenum -> GLshort -> GLshort -> GLshort -> IO ())
    ptr_glMultiTexCoord3s GLenum
    v1 GLshort
    v2 GLshort
    v3 GLshort
    v4

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

    -- glMultiTexCoord3sARB --------------------------------------------------------

    -- | The vector equivalent of this command is 'glMultiTexCoord3sv'. This command is an alias for 'glMultiTexCoord3s'.
    glMultiTexCoord3sARB
      :: 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@.
      -> m ()
    glMultiTexCoord3sARB :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLshort -> GLshort -> GLshort -> m ()
    glMultiTexCoord3sARB GLenum
    v1 GLshort
    v2 GLshort
    v3 GLshort
    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 -> GLshort -> GLshort -> GLshort -> IO ())
    -> GLenum -> GLshort -> GLshort -> GLshort -> IO ()
    dyn583 FunPtr (GLenum -> GLshort -> GLshort -> GLshort -> IO ())
    ptr_glMultiTexCoord3sARB GLenum
    v1 GLshort
    v2 GLshort
    v3 GLshort
    v4

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

    -- glMultiTexCoord3sv ----------------------------------------------------------

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

    {-# NOINLINE ptr_glMultiTexCoord3sv #-}
    ptr_glMultiTexCoord3sv :: FunPtr (GLenum -> Ptr GLshort -> IO ())
    ptr_glMultiTexCoord3sv :: FunPtr (GLenum -> Ptr GLshort -> IO ())
    ptr_glMultiTexCoord3sv = 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
    "glMultiTexCoord3sv"

    -- glMultiTexCoord3svARB -------------------------------------------------------

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

    {-# NOINLINE ptr_glMultiTexCoord3svARB #-}
    ptr_glMultiTexCoord3svARB :: FunPtr (GLenum -> Ptr GLshort -> IO ())
    ptr_glMultiTexCoord3svARB :: FunPtr (GLenum -> Ptr GLshort -> IO ())
    ptr_glMultiTexCoord3svARB = 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
    "glMultiTexCoord3svARB"

    -- glMultiTexCoord3xOES --------------------------------------------------------

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

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