    {-# OPTIONS_HADDOCK hide #-}
    --------------------------------------------------------------------------------
    -- |
    -- Module      :  Graphics.GL.Functions.F16
    -- 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.F16 (
      glLoadTransposeMatrixd,
      glLoadTransposeMatrixdARB,
      glLoadTransposeMatrixf,
      glLoadTransposeMatrixfARB,
      glLoadTransposeMatrixxOES,
      glLockArraysEXT,
      glLogicOp,
      glMakeBufferNonResidentNV,
      glMakeBufferResidentNV,
      glMakeImageHandleNonResidentARB,
      glMakeImageHandleNonResidentNV,
      glMakeImageHandleResidentARB,
      glMakeImageHandleResidentNV,
      glMakeNamedBufferNonResidentNV,
      glMakeNamedBufferResidentNV,
      glMakeTextureHandleNonResidentARB,
      glMakeTextureHandleNonResidentNV,
      glMakeTextureHandleResidentARB,
      glMakeTextureHandleResidentNV,
      glMap1d,
      glMap1f,
      glMap1xOES,
      glMap2d,
      glMap2f,
      glMap2xOES,
      glMapBuffer,
      glMapBufferARB,
      glMapBufferOES,
      glMapBufferRange,
      glMapBufferRangeEXT,
      glMapControlPointsNV,
      glMapGrid1d,
      glMapGrid1f,
      glMapGrid1xOES,
      glMapGrid2d,
      glMapGrid2f,
      glMapGrid2xOES,
      glMapNamedBuffer,
      glMapNamedBufferEXT,
      glMapNamedBufferRange,
      glMapNamedBufferRangeEXT,
      glMapObjectBufferATI,
      glMapParameterfvNV,
      glMapParameterivNV,
      glMapTexture2DINTEL,
      glMapVertexAttrib1dAPPLE,
      glMapVertexAttrib1fAPPLE,
      glMapVertexAttrib2dAPPLE,
      glMapVertexAttrib2fAPPLE,
      glMaterialf,
      glMaterialfv,
      glMateriali,
      glMaterialiv,
      glMaterialx,
      glMaterialxOES,
      glMaterialxv,
      glMaterialxvOES,
      glMatrixFrustumEXT,
      glMatrixIndexPointerARB,
      glMatrixIndexPointerOES,
      glMatrixIndexubvARB,
      glMatrixIndexuivARB,
      glMatrixIndexusvARB,
      glMatrixLoad3x2fNV,
      glMatrixLoad3x3fNV,
      glMatrixLoadIdentityEXT,
      glMatrixLoadTranspose3x3fNV,
      glMatrixLoadTransposedEXT,
      glMatrixLoadTransposefEXT,
      glMatrixLoaddEXT,
      glMatrixLoadfEXT,
      glMatrixMode,
      glMatrixMult3x2fNV,
      glMatrixMult3x3fNV,
      glMatrixMultTranspose3x3fNV,
      glMatrixMultTransposedEXT,
      glMatrixMultTransposefEXT,
      glMatrixMultdEXT,
      glMatrixMultfEXT,
      glMatrixOrthoEXT,
      glMatrixPopEXT,
      glMatrixPushEXT,
      glMatrixRotatedEXT,
      glMatrixRotatefEXT,
      glMatrixScaledEXT,
      glMatrixScalefEXT,
      glMatrixTranslatedEXT,
      glMatrixTranslatefEXT,
      glMaxShaderCompilerThreadsARB,
      glMaxShaderCompilerThreadsKHR,
      glMemoryBarrier,
      glMemoryBarrierByRegion,
      glMemoryBarrierEXT,
      glMemoryObjectParameterivEXT,
      glMinSampleShading,
      glMinSampleShadingARB,
      glMinSampleShadingOES,
      glMinmax,
      glMinmaxEXT,
      glMultMatrixd
    ) where

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

    -- glLoadTransposeMatrixd ------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glLoadTransposeMatrix.xml OpenGL 2.x>.
    glLoadTransposeMatrixd
      :: MonadIO m
      => Ptr GLdouble -- ^ @m@ pointing to @16@ elements of type @GLdouble@.
      -> m ()
    glLoadTransposeMatrixd :: forall (m :: * -> *). MonadIO m => Ptr GLdouble -> m ()
    glLoadTransposeMatrixd 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_glLoadTransposeMatrixd Ptr GLdouble
    v1

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

    -- glLoadTransposeMatrixdARB ---------------------------------------------------

    -- | This command is an alias for 'glLoadTransposeMatrixd'.
    glLoadTransposeMatrixdARB
      :: MonadIO m
      => Ptr GLdouble -- ^ @m@ pointing to @16@ elements of type @GLdouble@.
      -> m ()
    glLoadTransposeMatrixdARB :: forall (m :: * -> *). MonadIO m => Ptr GLdouble -> m ()
    glLoadTransposeMatrixdARB 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_glLoadTransposeMatrixdARB Ptr GLdouble
    v1

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

    -- glLoadTransposeMatrixf ------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glLoadTransposeMatrix.xml OpenGL 2.x>.
    glLoadTransposeMatrixf
      :: MonadIO m
      => Ptr GLfloat -- ^ @m@ pointing to @16@ elements of type @GLfloat@.
      -> m ()
    glLoadTransposeMatrixf :: forall (m :: * -> *). MonadIO m => Ptr GLfloat -> m ()
    glLoadTransposeMatrixf 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_glLoadTransposeMatrixf Ptr GLfloat
    v1

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

    -- glLoadTransposeMatrixfARB ---------------------------------------------------

    -- | This command is an alias for 'glLoadTransposeMatrixf'.
    glLoadTransposeMatrixfARB
      :: MonadIO m
      => Ptr GLfloat -- ^ @m@ pointing to @16@ elements of type @GLfloat@.
      -> m ()
    glLoadTransposeMatrixfARB :: forall (m :: * -> *). MonadIO m => Ptr GLfloat -> m ()
    glLoadTransposeMatrixfARB 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_glLoadTransposeMatrixfARB Ptr GLfloat
    v1

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

    -- glLoadTransposeMatrixxOES ---------------------------------------------------

    glLoadTransposeMatrixxOES
      :: MonadIO m
      => Ptr GLfixed -- ^ @m@ pointing to @16@ elements of type @GLfixed@.
      -> m ()
    glLoadTransposeMatrixxOES :: forall (m :: * -> *). MonadIO m => Ptr GLfixed -> m ()
    glLoadTransposeMatrixxOES 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_glLoadTransposeMatrixxOES Ptr GLfixed
    v1

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

    -- glLockArraysEXT -------------------------------------------------------------

    glLockArraysEXT
      :: MonadIO m
      => GLint -- ^ @first@.
      -> GLsizei -- ^ @count@.
      -> m ()
    glLockArraysEXT :: forall (m :: * -> *). MonadIO m => GLint -> GLint -> m ()
    glLockArraysEXT GLint
    v1 GLint
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLint -> GLint -> IO ()) -> GLint -> GLint -> IO ()
    dyn516 FunPtr (GLint -> GLint -> IO ())
    ptr_glLockArraysEXT GLint
    v1 GLint
    v2

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

    -- glLogicOp -------------------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glLogicOp.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glLogicOp.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glLogicOp.xhtml OpenGL 4.x>.
    glLogicOp
      :: MonadIO m
      => GLenum -- ^ @opcode@ of type [LogicOp](Graphics-GL-Groups.html#LogicOp).
      -> m ()
    glLogicOp :: forall (m :: * -> *). MonadIO m => GLenum -> m ()
    glLogicOp GLenum
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> IO ()) -> GLenum -> IO ()
    dyn5 FunPtr (GLenum -> IO ())
    ptr_glLogicOp GLenum
    v1

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

    -- glMakeBufferNonResidentNV ---------------------------------------------------

    glMakeBufferNonResidentNV
      :: MonadIO m
      => GLenum -- ^ @target@.
      -> m ()
    glMakeBufferNonResidentNV :: forall (m :: * -> *). MonadIO m => GLenum -> m ()
    glMakeBufferNonResidentNV GLenum
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> IO ()) -> GLenum -> IO ()
    dyn5 FunPtr (GLenum -> IO ())
    ptr_glMakeBufferNonResidentNV GLenum
    v1

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

    -- glMakeBufferResidentNV ------------------------------------------------------

    glMakeBufferResidentNV
      :: MonadIO m
      => GLenum -- ^ @target@.
      -> GLenum -- ^ @access@.
      -> m ()
    glMakeBufferResidentNV :: forall (m :: * -> *). MonadIO m => GLenum -> GLenum -> m ()
    glMakeBufferResidentNV GLenum
    v1 GLenum
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> IO ()
    dyn54 FunPtr (GLenum -> GLenum -> IO ())
    ptr_glMakeBufferResidentNV GLenum
    v1 GLenum
    v2

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

    -- glMakeImageHandleNonResidentARB ---------------------------------------------

    glMakeImageHandleNonResidentARB
      :: MonadIO m
      => GLuint64 -- ^ @handle@.
      -> m ()
    glMakeImageHandleNonResidentARB :: forall (m :: * -> *). MonadIO m => GLuint64 -> m ()
    glMakeImageHandleNonResidentARB GLuint64
    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 (GLuint64 -> IO ()) -> GLuint64 -> IO ()
    dyn517 FunPtr (GLuint64 -> IO ())
    ptr_glMakeImageHandleNonResidentARB GLuint64
    v1

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

    -- glMakeImageHandleNonResidentNV ----------------------------------------------

    glMakeImageHandleNonResidentNV
      :: MonadIO m
      => GLuint64 -- ^ @handle@.
      -> m ()
    glMakeImageHandleNonResidentNV :: forall (m :: * -> *). MonadIO m => GLuint64 -> m ()
    glMakeImageHandleNonResidentNV GLuint64
    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 (GLuint64 -> IO ()) -> GLuint64 -> IO ()
    dyn517 FunPtr (GLuint64 -> IO ())
    ptr_glMakeImageHandleNonResidentNV GLuint64
    v1

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

    -- glMakeImageHandleResidentARB ------------------------------------------------

    glMakeImageHandleResidentARB
      :: MonadIO m
      => GLuint64 -- ^ @handle@.
      -> GLenum -- ^ @access@.
      -> m ()
    glMakeImageHandleResidentARB :: forall (m :: * -> *). MonadIO m => GLuint64 -> GLenum -> m ()
    glMakeImageHandleResidentARB GLuint64
    v1 GLenum
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint64 -> GLenum -> IO ()) -> GLuint64 -> GLenum -> IO ()
    dyn518 FunPtr (GLuint64 -> GLenum -> IO ())
    ptr_glMakeImageHandleResidentARB GLuint64
    v1 GLenum
    v2

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

    -- glMakeImageHandleResidentNV -------------------------------------------------

    glMakeImageHandleResidentNV
      :: MonadIO m
      => GLuint64 -- ^ @handle@.
      -> GLenum -- ^ @access@.
      -> m ()
    glMakeImageHandleResidentNV :: forall (m :: * -> *). MonadIO m => GLuint64 -> GLenum -> m ()
    glMakeImageHandleResidentNV GLuint64
    v1 GLenum
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint64 -> GLenum -> IO ()) -> GLuint64 -> GLenum -> IO ()
    dyn518 FunPtr (GLuint64 -> GLenum -> IO ())
    ptr_glMakeImageHandleResidentNV GLuint64
    v1 GLenum
    v2

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

    -- glMakeNamedBufferNonResidentNV ----------------------------------------------

    glMakeNamedBufferNonResidentNV
      :: MonadIO m
      => GLuint -- ^ @buffer@.
      -> m ()
    glMakeNamedBufferNonResidentNV :: forall (m :: * -> *). MonadIO m => GLenum -> m ()
    glMakeNamedBufferNonResidentNV GLenum
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> IO ()) -> GLenum -> IO ()
    dyn3 FunPtr (GLenum -> IO ())
    ptr_glMakeNamedBufferNonResidentNV GLenum
    v1

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

    -- glMakeNamedBufferResidentNV -------------------------------------------------

    glMakeNamedBufferResidentNV
      :: MonadIO m
      => GLuint -- ^ @buffer@.
      -> GLenum -- ^ @access@.
      -> m ()
    glMakeNamedBufferResidentNV :: forall (m :: * -> *). MonadIO m => GLenum -> GLenum -> m ()
    glMakeNamedBufferResidentNV GLenum
    v1 GLenum
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> IO ()
    dyn18 FunPtr (GLenum -> GLenum -> IO ())
    ptr_glMakeNamedBufferResidentNV GLenum
    v1 GLenum
    v2

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

    -- glMakeTextureHandleNonResidentARB -------------------------------------------

    glMakeTextureHandleNonResidentARB
      :: MonadIO m
      => GLuint64 -- ^ @handle@.
      -> m ()
    glMakeTextureHandleNonResidentARB :: forall (m :: * -> *). MonadIO m => GLuint64 -> m ()
    glMakeTextureHandleNonResidentARB GLuint64
    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 (GLuint64 -> IO ()) -> GLuint64 -> IO ()
    dyn517 FunPtr (GLuint64 -> IO ())
    ptr_glMakeTextureHandleNonResidentARB GLuint64
    v1

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

    -- glMakeTextureHandleNonResidentNV --------------------------------------------

    glMakeTextureHandleNonResidentNV
      :: MonadIO m
      => GLuint64 -- ^ @handle@.
      -> m ()
    glMakeTextureHandleNonResidentNV :: forall (m :: * -> *). MonadIO m => GLuint64 -> m ()
    glMakeTextureHandleNonResidentNV GLuint64
    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 (GLuint64 -> IO ()) -> GLuint64 -> IO ()
    dyn517 FunPtr (GLuint64 -> IO ())
    ptr_glMakeTextureHandleNonResidentNV GLuint64
    v1

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

    -- glMakeTextureHandleResidentARB ----------------------------------------------

    glMakeTextureHandleResidentARB
      :: MonadIO m
      => GLuint64 -- ^ @handle@.
      -> m ()
    glMakeTextureHandleResidentARB :: forall (m :: * -> *). MonadIO m => GLuint64 -> m ()
    glMakeTextureHandleResidentARB GLuint64
    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 (GLuint64 -> IO ()) -> GLuint64 -> IO ()
    dyn517 FunPtr (GLuint64 -> IO ())
    ptr_glMakeTextureHandleResidentARB GLuint64
    v1

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

    -- glMakeTextureHandleResidentNV -----------------------------------------------

    glMakeTextureHandleResidentNV
      :: MonadIO m
      => GLuint64 -- ^ @handle@.
      -> m ()
    glMakeTextureHandleResidentNV :: forall (m :: * -> *). MonadIO m => GLuint64 -> m ()
    glMakeTextureHandleResidentNV GLuint64
    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 (GLuint64 -> IO ()) -> GLuint64 -> IO ()
    dyn517 FunPtr (GLuint64 -> IO ())
    ptr_glMakeTextureHandleResidentNV GLuint64
    v1

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

    -- glMap1d ---------------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMap1.xml OpenGL 2.x>.
    glMap1d
      :: MonadIO m
      => GLenum -- ^ @target@ of type [MapTarget](Graphics-GL-Groups.html#MapTarget).
      -> GLdouble -- ^ @u1@ of type @CoordD@.
      -> GLdouble -- ^ @u2@ of type @CoordD@.
      -> GLint -- ^ @stride@.
      -> GLint -- ^ @order@ of type @CheckedInt32@.
      -> Ptr GLdouble -- ^ @points@ pointing to @COMPSIZE(target,stride,order)@ elements of type @CoordD@.
      -> m ()
    glMap1d :: forall (m :: * -> *).
    MonadIO m =>
    GLenum
    -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()
    glMap1d GLenum
    v1 GLdouble
    v2 GLdouble
    v3 GLint
    v4 GLint
    v5 Ptr GLdouble
    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
       -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ())
    -> GLenum
    -> GLdouble
    -> GLdouble
    -> GLint
    -> GLint
    -> Ptr GLdouble
    -> IO ()
    dyn519 FunPtr
      (GLenum
       -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ())
    ptr_glMap1d GLenum
    v1 GLdouble
    v2 GLdouble
    v3 GLint
    v4 GLint
    v5 Ptr GLdouble
    v6

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

    -- glMap1f ---------------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMap1.xml OpenGL 2.x>.
    glMap1f
      :: MonadIO m
      => GLenum -- ^ @target@ of type [MapTarget](Graphics-GL-Groups.html#MapTarget).
      -> GLfloat -- ^ @u1@ of type @CoordF@.
      -> GLfloat -- ^ @u2@ of type @CoordF@.
      -> GLint -- ^ @stride@.
      -> GLint -- ^ @order@ of type @CheckedInt32@.
      -> Ptr GLfloat -- ^ @points@ pointing to @COMPSIZE(target,stride,order)@ elements of type @CoordF@.
      -> m ()
    glMap1f :: forall (m :: * -> *).
    MonadIO m =>
    GLenum
    -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()
    glMap1f GLenum
    v1 GLfloat
    v2 GLfloat
    v3 GLint
    v4 GLint
    v5 Ptr GLfloat
    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
       -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ())
    -> GLenum
    -> GLfloat
    -> GLfloat
    -> GLint
    -> GLint
    -> Ptr GLfloat
    -> IO ()
    dyn520 FunPtr
      (GLenum
       -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ())
    ptr_glMap1f GLenum
    v1 GLfloat
    v2 GLfloat
    v3 GLint
    v4 GLint
    v5 Ptr GLfloat
    v6

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

    -- glMap1xOES ------------------------------------------------------------------

    glMap1xOES
      :: MonadIO m
      => GLenum -- ^ @target@ of type [MapTarget](Graphics-GL-Groups.html#MapTarget).
      -> GLfixed -- ^ @u1@.
      -> GLfixed -- ^ @u2@.
      -> GLint -- ^ @stride@.
      -> GLint -- ^ @order@.
      -> GLfixed -- ^ @points@.
      -> m ()
    glMap1xOES :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> m ()
    glMap1xOES GLenum
    v1 GLfixed
    v2 GLfixed
    v3 GLint
    v4 GLint
    v5 GLfixed
    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
       -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> IO ())
    -> GLenum
    -> GLfixed
    -> GLfixed
    -> GLint
    -> GLint
    -> GLfixed
    -> IO ()
    dyn521 FunPtr
      (GLenum
       -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> IO ())
    ptr_glMap1xOES GLenum
    v1 GLfixed
    v2 GLfixed
    v3 GLint
    v4 GLint
    v5 GLfixed
    v6

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

    -- glMap2d ---------------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMap2.xml OpenGL 2.x>.
    glMap2d
      :: MonadIO m
      => GLenum -- ^ @target@ of type [MapTarget](Graphics-GL-Groups.html#MapTarget).
      -> GLdouble -- ^ @u1@ of type @CoordD@.
      -> GLdouble -- ^ @u2@ of type @CoordD@.
      -> GLint -- ^ @ustride@.
      -> GLint -- ^ @uorder@ of type @CheckedInt32@.
      -> GLdouble -- ^ @v1@ of type @CoordD@.
      -> GLdouble -- ^ @v2@ of type @CoordD@.
      -> GLint -- ^ @vstride@.
      -> GLint -- ^ @vorder@ of type @CheckedInt32@.
      -> Ptr GLdouble -- ^ @points@ pointing to @COMPSIZE(target,ustride,uorder,vstride,vorder)@ elements of type @CoordD@.
      -> m ()
    glMap2d :: forall (m :: * -> *).
    MonadIO m =>
    GLenum
    -> GLdouble
    -> GLdouble
    -> GLint
    -> GLint
    -> GLdouble
    -> GLdouble
    -> GLint
    -> GLint
    -> Ptr GLdouble
    -> m ()
    glMap2d GLenum
    v1 GLdouble
    v2 GLdouble
    v3 GLint
    v4 GLint
    v5 GLdouble
    v6 GLdouble
    v7 GLint
    v8 GLint
    v9 Ptr GLdouble
    v10 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLenum
       -> GLdouble
       -> GLdouble
       -> GLint
       -> GLint
       -> GLdouble
       -> GLdouble
       -> GLint
       -> GLint
       -> Ptr GLdouble
       -> IO ())
    -> GLenum
    -> GLdouble
    -> GLdouble
    -> GLint
    -> GLint
    -> GLdouble
    -> GLdouble
    -> GLint
    -> GLint
    -> Ptr GLdouble
    -> IO ()
    dyn522 FunPtr
      (GLenum
       -> GLdouble
       -> GLdouble
       -> GLint
       -> GLint
       -> GLdouble
       -> GLdouble
       -> GLint
       -> GLint
       -> Ptr GLdouble
       -> IO ())
    ptr_glMap2d GLenum
    v1 GLdouble
    v2 GLdouble
    v3 GLint
    v4 GLint
    v5 GLdouble
    v6 GLdouble
    v7 GLint
    v8 GLint
    v9 Ptr GLdouble
    v10

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

    -- glMap2f ---------------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMap2.xml OpenGL 2.x>.
    glMap2f
      :: MonadIO m
      => GLenum -- ^ @target@ of type [MapTarget](Graphics-GL-Groups.html#MapTarget).
      -> GLfloat -- ^ @u1@ of type @CoordF@.
      -> GLfloat -- ^ @u2@ of type @CoordF@.
      -> GLint -- ^ @ustride@.
      -> GLint -- ^ @uorder@ of type @CheckedInt32@.
      -> GLfloat -- ^ @v1@ of type @CoordF@.
      -> GLfloat -- ^ @v2@ of type @CoordF@.
      -> GLint -- ^ @vstride@.
      -> GLint -- ^ @vorder@ of type @CheckedInt32@.
      -> Ptr GLfloat -- ^ @points@ pointing to @COMPSIZE(target,ustride,uorder,vstride,vorder)@ elements of type @CoordF@.
      -> m ()
    glMap2f :: forall (m :: * -> *).
    MonadIO m =>
    GLenum
    -> GLfloat
    -> GLfloat
    -> GLint
    -> GLint
    -> GLfloat
    -> GLfloat
    -> GLint
    -> GLint
    -> Ptr GLfloat
    -> m ()
    glMap2f GLenum
    v1 GLfloat
    v2 GLfloat
    v3 GLint
    v4 GLint
    v5 GLfloat
    v6 GLfloat
    v7 GLint
    v8 GLint
    v9 Ptr GLfloat
    v10 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLenum
       -> GLfloat
       -> GLfloat
       -> GLint
       -> GLint
       -> GLfloat
       -> GLfloat
       -> GLint
       -> GLint
       -> Ptr GLfloat
       -> IO ())
    -> GLenum
    -> GLfloat
    -> GLfloat
    -> GLint
    -> GLint
    -> GLfloat
    -> GLfloat
    -> GLint
    -> GLint
    -> Ptr GLfloat
    -> IO ()
    dyn523 FunPtr
      (GLenum
       -> GLfloat
       -> GLfloat
       -> GLint
       -> GLint
       -> GLfloat
       -> GLfloat
       -> GLint
       -> GLint
       -> Ptr GLfloat
       -> IO ())
    ptr_glMap2f GLenum
    v1 GLfloat
    v2 GLfloat
    v3 GLint
    v4 GLint
    v5 GLfloat
    v6 GLfloat
    v7 GLint
    v8 GLint
    v9 Ptr GLfloat
    v10

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

    -- glMap2xOES ------------------------------------------------------------------

    glMap2xOES
      :: MonadIO m
      => GLenum -- ^ @target@ of type [MapTarget](Graphics-GL-Groups.html#MapTarget).
      -> GLfixed -- ^ @u1@.
      -> GLfixed -- ^ @u2@.
      -> GLint -- ^ @ustride@.
      -> GLint -- ^ @uorder@.
      -> GLfixed -- ^ @v1@.
      -> GLfixed -- ^ @v2@.
      -> GLint -- ^ @vstride@.
      -> GLint -- ^ @vorder@.
      -> GLfixed -- ^ @points@.
      -> m ()
    glMap2xOES :: forall (m :: * -> *).
    MonadIO m =>
    GLenum
    -> GLfixed
    -> GLfixed
    -> GLint
    -> GLint
    -> GLfixed
    -> GLfixed
    -> GLint
    -> GLint
    -> GLfixed
    -> m ()
    glMap2xOES GLenum
    v1 GLfixed
    v2 GLfixed
    v3 GLint
    v4 GLint
    v5 GLfixed
    v6 GLfixed
    v7 GLint
    v8 GLint
    v9 GLfixed
    v10 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLenum
       -> GLfixed
       -> GLfixed
       -> GLint
       -> GLint
       -> GLfixed
       -> GLfixed
       -> GLint
       -> GLint
       -> GLfixed
       -> IO ())
    -> GLenum
    -> GLfixed
    -> GLfixed
    -> GLint
    -> GLint
    -> GLfixed
    -> GLfixed
    -> GLint
    -> GLint
    -> GLfixed
    -> IO ()
    dyn524 FunPtr
      (GLenum
       -> GLfixed
       -> GLfixed
       -> GLint
       -> GLint
       -> GLfixed
       -> GLfixed
       -> GLint
       -> GLint
       -> GLfixed
       -> IO ())
    ptr_glMap2xOES GLenum
    v1 GLfixed
    v2 GLfixed
    v3 GLint
    v4 GLint
    v5 GLfixed
    v6 GLfixed
    v7 GLint
    v8 GLint
    v9 GLfixed
    v10

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

    -- glMapBuffer -----------------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glMapBuffer.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glMapBuffer.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glMapBuffer.xhtml OpenGL 4.x>.
    glMapBuffer
      :: MonadIO m
      => GLenum -- ^ @target@ of type [BufferTargetARB](Graphics-GL-Groups.html#BufferTargetARB).
      -> GLenum -- ^ @access@ of type [BufferAccessARB](Graphics-GL-Groups.html#BufferAccessARB).
      -> m (Ptr a)
    glMapBuffer :: forall (m :: * -> *) a. MonadIO m => GLenum -> GLenum -> m (Ptr a)
    glMapBuffer GLenum
    v1 GLenum
    v2 = IO (Ptr a) -> m (Ptr a)
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO (Ptr a) -> m (Ptr a)) -> IO (Ptr a) -> m (Ptr a)
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> IO (Ptr a))
    -> GLenum -> GLenum -> IO (Ptr a)
    forall a.
    FunPtr (GLenum -> GLenum -> IO (Ptr a))
    -> GLenum -> GLenum -> IO (Ptr a)
    dyn525 FunPtr (GLenum -> GLenum -> IO (Ptr a))
    forall a. FunPtr (GLenum -> GLenum -> IO (Ptr a))
    ptr_glMapBuffer GLenum
    v1 GLenum
    v2

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

    -- glMapBufferARB --------------------------------------------------------------

    -- | This command is an alias for 'glMapBuffer'.
    glMapBufferARB
      :: MonadIO m
      => GLenum -- ^ @target@ of type [BufferTargetARB](Graphics-GL-Groups.html#BufferTargetARB).
      -> GLenum -- ^ @access@ of type [BufferAccessARB](Graphics-GL-Groups.html#BufferAccessARB).
      -> m (Ptr a)
    glMapBufferARB :: forall (m :: * -> *) a. MonadIO m => GLenum -> GLenum -> m (Ptr a)
    glMapBufferARB GLenum
    v1 GLenum
    v2 = IO (Ptr a) -> m (Ptr a)
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO (Ptr a) -> m (Ptr a)) -> IO (Ptr a) -> m (Ptr a)
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> IO (Ptr a))
    -> GLenum -> GLenum -> IO (Ptr a)
    forall a.
    FunPtr (GLenum -> GLenum -> IO (Ptr a))
    -> GLenum -> GLenum -> IO (Ptr a)
    dyn525 FunPtr (GLenum -> GLenum -> IO (Ptr a))
    forall a. FunPtr (GLenum -> GLenum -> IO (Ptr a))
    ptr_glMapBufferARB GLenum
    v1 GLenum
    v2

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

    -- glMapBufferOES --------------------------------------------------------------

    -- | This command is an alias for 'glMapBuffer'.
    glMapBufferOES
      :: MonadIO m
      => GLenum -- ^ @target@ of type [BufferTargetARB](Graphics-GL-Groups.html#BufferTargetARB).
      -> GLenum -- ^ @access@ of type [BufferAccessARB](Graphics-GL-Groups.html#BufferAccessARB).
      -> m (Ptr a)
    glMapBufferOES :: forall (m :: * -> *) a. MonadIO m => GLenum -> GLenum -> m (Ptr a)
    glMapBufferOES GLenum
    v1 GLenum
    v2 = IO (Ptr a) -> m (Ptr a)
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO (Ptr a) -> m (Ptr a)) -> IO (Ptr a) -> m (Ptr a)
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> IO (Ptr a))
    -> GLenum -> GLenum -> IO (Ptr a)
    forall a.
    FunPtr (GLenum -> GLenum -> IO (Ptr a))
    -> GLenum -> GLenum -> IO (Ptr a)
    dyn525 FunPtr (GLenum -> GLenum -> IO (Ptr a))
    forall a. FunPtr (GLenum -> GLenum -> IO (Ptr a))
    ptr_glMapBufferOES GLenum
    v1 GLenum
    v2

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

    -- glMapBufferRange ------------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glMapBufferRange.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glMapBufferRange.xhtml OpenGL 4.x>.
    glMapBufferRange
      :: MonadIO m
      => GLenum -- ^ @target@ of type [BufferTargetARB](Graphics-GL-Groups.html#BufferTargetARB).
      -> GLintptr -- ^ @offset@ of type @BufferOffset@.
      -> GLsizeiptr -- ^ @length@ of type @BufferSize@.
      -> GLbitfield -- ^ @access@ of type [MapBufferAccessMask](Graphics-GL-Groups.html#MapBufferAccessMask).
      -> m (Ptr a)
    glMapBufferRange :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum -> GLintptr -> GLintptr -> GLenum -> m (Ptr a)
    glMapBufferRange GLenum
    v1 GLintptr
    v2 GLintptr
    v3 GLenum
    v4 = IO (Ptr a) -> m (Ptr a)
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO (Ptr a) -> m (Ptr a)) -> IO (Ptr a) -> m (Ptr a)
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLintptr -> GLintptr -> GLenum -> IO (Ptr a))
    -> GLenum -> GLintptr -> GLintptr -> GLenum -> IO (Ptr a)
    forall a.
    FunPtr (GLenum -> GLintptr -> GLintptr -> GLenum -> IO (Ptr a))
    -> GLenum -> GLintptr -> GLintptr -> GLenum -> IO (Ptr a)
    dyn526 FunPtr (GLenum -> GLintptr -> GLintptr -> GLenum -> IO (Ptr a))
    forall a.
    FunPtr (GLenum -> GLintptr -> GLintptr -> GLenum -> IO (Ptr a))
    ptr_glMapBufferRange GLenum
    v1 GLintptr
    v2 GLintptr
    v3 GLenum
    v4

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

    -- glMapBufferRangeEXT ---------------------------------------------------------

    -- | This command is an alias for 'glMapBufferRange'.
    glMapBufferRangeEXT
      :: MonadIO m
      => GLenum -- ^ @target@ of type [BufferTargetARB](Graphics-GL-Groups.html#BufferTargetARB).
      -> GLintptr -- ^ @offset@.
      -> GLsizeiptr -- ^ @length@.
      -> GLbitfield -- ^ @access@ of type [MapBufferAccessMask](Graphics-GL-Groups.html#MapBufferAccessMask).
      -> m (Ptr a)
    glMapBufferRangeEXT :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum -> GLintptr -> GLintptr -> GLenum -> m (Ptr a)
    glMapBufferRangeEXT GLenum
    v1 GLintptr
    v2 GLintptr
    v3 GLenum
    v4 = IO (Ptr a) -> m (Ptr a)
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO (Ptr a) -> m (Ptr a)) -> IO (Ptr a) -> m (Ptr a)
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLintptr -> GLintptr -> GLenum -> IO (Ptr a))
    -> GLenum -> GLintptr -> GLintptr -> GLenum -> IO (Ptr a)
    forall a.
    FunPtr (GLenum -> GLintptr -> GLintptr -> GLenum -> IO (Ptr a))
    -> GLenum -> GLintptr -> GLintptr -> GLenum -> IO (Ptr a)
    dyn526 FunPtr (GLenum -> GLintptr -> GLintptr -> GLenum -> IO (Ptr a))
    forall a.
    FunPtr (GLenum -> GLintptr -> GLintptr -> GLenum -> IO (Ptr a))
    ptr_glMapBufferRangeEXT GLenum
    v1 GLintptr
    v2 GLintptr
    v3 GLenum
    v4

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

    -- glMapControlPointsNV --------------------------------------------------------

    glMapControlPointsNV
      :: MonadIO m
      => GLenum -- ^ @target@ of type [EvalTargetNV](Graphics-GL-Groups.html#EvalTargetNV).
      -> GLuint -- ^ @index@.
      -> GLenum -- ^ @type@ of type [MapTypeNV](Graphics-GL-Groups.html#MapTypeNV).
      -> GLsizei -- ^ @ustride@.
      -> GLsizei -- ^ @vstride@.
      -> GLint -- ^ @uorder@ of type @CheckedInt32@.
      -> GLint -- ^ @vorder@ of type @CheckedInt32@.
      -> GLboolean -- ^ @packed@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
      -> Ptr a -- ^ @points@ pointing to @COMPSIZE(target,uorder,vorder)@ elements of type @a@.
      -> m ()
    glMapControlPointsNV :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum
    -> GLenum
    -> GLenum
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLboolean
    -> Ptr a
    -> m ()
    glMapControlPointsNV GLenum
    v1 GLenum
    v2 GLenum
    v3 GLint
    v4 GLint
    v5 GLint
    v6 GLint
    v7 GLboolean
    v8 Ptr a
    v9 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLenum
       -> GLenum
       -> GLenum
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLboolean
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLboolean
    -> Ptr a
    -> IO ()
    forall a.
    FunPtr
      (GLenum
       -> GLenum
       -> GLenum
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLboolean
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLboolean
    -> Ptr a
    -> IO ()
    dyn527 FunPtr
      (GLenum
       -> GLenum
       -> GLenum
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLboolean
       -> Ptr a
       -> IO ())
    forall a.
    FunPtr
      (GLenum
       -> GLenum
       -> GLenum
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLboolean
       -> Ptr a
       -> IO ())
    ptr_glMapControlPointsNV GLenum
    v1 GLenum
    v2 GLenum
    v3 GLint
    v4 GLint
    v5 GLint
    v6 GLint
    v7 GLboolean
    v8 Ptr a
    v9

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

    -- glMapGrid1d -----------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMapGrid.xml OpenGL 2.x>.
    glMapGrid1d
      :: MonadIO m
      => GLint -- ^ @un@.
      -> GLdouble -- ^ @u1@ of type @CoordD@.
      -> GLdouble -- ^ @u2@ of type @CoordD@.
      -> m ()
    glMapGrid1d :: forall (m :: * -> *).
    MonadIO m =>
    GLint -> GLdouble -> GLdouble -> m ()
    glMapGrid1d GLint
    v1 GLdouble
    v2 GLdouble
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLint -> GLdouble -> GLdouble -> IO ())
    -> GLint -> GLdouble -> GLdouble -> IO ()
    dyn528 FunPtr (GLint -> GLdouble -> GLdouble -> IO ())
    ptr_glMapGrid1d GLint
    v1 GLdouble
    v2 GLdouble
    v3

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

    -- glMapGrid1f -----------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMapGrid.xml OpenGL 2.x>.
    glMapGrid1f
      :: MonadIO m
      => GLint -- ^ @un@.
      -> GLfloat -- ^ @u1@ of type @CoordF@.
      -> GLfloat -- ^ @u2@ of type @CoordF@.
      -> m ()
    glMapGrid1f :: forall (m :: * -> *).
    MonadIO m =>
    GLint -> GLfloat -> GLfloat -> m ()
    glMapGrid1f GLint
    v1 GLfloat
    v2 GLfloat
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLint -> GLfloat -> GLfloat -> IO ())
    -> GLint -> GLfloat -> GLfloat -> IO ()
    dyn529 FunPtr (GLint -> GLfloat -> GLfloat -> IO ())
    ptr_glMapGrid1f GLint
    v1 GLfloat
    v2 GLfloat
    v3

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

    -- glMapGrid1xOES --------------------------------------------------------------

    glMapGrid1xOES
      :: MonadIO m
      => GLint -- ^ @n@.
      -> GLfixed -- ^ @u1@.
      -> GLfixed -- ^ @u2@.
      -> m ()
    glMapGrid1xOES :: forall (m :: * -> *).
    MonadIO m =>
    GLint -> GLfixed -> GLfixed -> m ()
    glMapGrid1xOES GLint
    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 (GLint -> GLfixed -> GLfixed -> IO ())
    -> GLint -> GLfixed -> GLfixed -> IO ()
    dyn530 FunPtr (GLint -> GLfixed -> GLfixed -> IO ())
    ptr_glMapGrid1xOES GLint
    v1 GLfixed
    v2 GLfixed
    v3

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

    -- glMapGrid2d -----------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMapGrid.xml OpenGL 2.x>.
    glMapGrid2d
      :: MonadIO m
      => GLint -- ^ @un@.
      -> GLdouble -- ^ @u1@ of type @CoordD@.
      -> GLdouble -- ^ @u2@ of type @CoordD@.
      -> GLint -- ^ @vn@.
      -> GLdouble -- ^ @v1@ of type @CoordD@.
      -> GLdouble -- ^ @v2@ of type @CoordD@.
      -> m ()
    glMapGrid2d :: forall (m :: * -> *).
    MonadIO m =>
    GLint
    -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> m ()
    glMapGrid2d GLint
    v1 GLdouble
    v2 GLdouble
    v3 GLint
    v4 GLdouble
    v5 GLdouble
    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
      (GLint
       -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> IO ())
    -> GLint
    -> GLdouble
    -> GLdouble
    -> GLint
    -> GLdouble
    -> GLdouble
    -> IO ()
    dyn531 FunPtr
      (GLint
       -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> IO ())
    ptr_glMapGrid2d GLint
    v1 GLdouble
    v2 GLdouble
    v3 GLint
    v4 GLdouble
    v5 GLdouble
    v6

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

    -- glMapGrid2f -----------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMapGrid.xml OpenGL 2.x>.
    glMapGrid2f
      :: MonadIO m
      => GLint -- ^ @un@.
      -> GLfloat -- ^ @u1@ of type @CoordF@.
      -> GLfloat -- ^ @u2@ of type @CoordF@.
      -> GLint -- ^ @vn@.
      -> GLfloat -- ^ @v1@ of type @CoordF@.
      -> GLfloat -- ^ @v2@ of type @CoordF@.
      -> m ()
    glMapGrid2f :: forall (m :: * -> *).
    MonadIO m =>
    GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> m ()
    glMapGrid2f GLint
    v1 GLfloat
    v2 GLfloat
    v3 GLint
    v4 GLfloat
    v5 GLfloat
    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
      (GLint
       -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> IO ())
    -> GLint
    -> GLfloat
    -> GLfloat
    -> GLint
    -> GLfloat
    -> GLfloat
    -> IO ()
    dyn532 FunPtr
      (GLint
       -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> IO ())
    ptr_glMapGrid2f GLint
    v1 GLfloat
    v2 GLfloat
    v3 GLint
    v4 GLfloat
    v5 GLfloat
    v6

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

    -- glMapGrid2xOES --------------------------------------------------------------

    glMapGrid2xOES
      :: MonadIO m
      => GLint -- ^ @n@.
      -> GLfixed -- ^ @u1@.
      -> GLfixed -- ^ @u2@.
      -> GLfixed -- ^ @v1@.
      -> GLfixed -- ^ @v2@.
      -> m ()
    glMapGrid2xOES :: forall (m :: * -> *).
    MonadIO m =>
    GLint -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()
    glMapGrid2xOES GLint
    v1 GLfixed
    v2 GLfixed
    v3 GLfixed
    v4 GLfixed
    v5 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLint -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
    -> GLint -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ()
    dyn533 FunPtr (GLint -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
    ptr_glMapGrid2xOES GLint
    v1 GLfixed
    v2 GLfixed
    v3 GLfixed
    v4 GLfixed
    v5

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

    -- glMapNamedBuffer ------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glMapBuffer.xhtml OpenGL 4.x>.
    glMapNamedBuffer
      :: MonadIO m
      => GLuint -- ^ @buffer@.
      -> GLenum -- ^ @access@ of type [BufferAccessARB](Graphics-GL-Groups.html#BufferAccessARB).
      -> m (Ptr a)
    glMapNamedBuffer :: forall (m :: * -> *) a. MonadIO m => GLenum -> GLenum -> m (Ptr a)
    glMapNamedBuffer GLenum
    v1 GLenum
    v2 = IO (Ptr a) -> m (Ptr a)
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO (Ptr a) -> m (Ptr a)) -> IO (Ptr a) -> m (Ptr a)
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> IO (Ptr a))
    -> GLenum -> GLenum -> IO (Ptr a)
    forall a.
    FunPtr (GLenum -> GLenum -> IO (Ptr a))
    -> GLenum -> GLenum -> IO (Ptr a)
    dyn534 FunPtr (GLenum -> GLenum -> IO (Ptr a))
    forall a. FunPtr (GLenum -> GLenum -> IO (Ptr a))
    ptr_glMapNamedBuffer GLenum
    v1 GLenum
    v2

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

    -- glMapNamedBufferEXT ---------------------------------------------------------

    glMapNamedBufferEXT
      :: MonadIO m
      => GLuint -- ^ @buffer@.
      -> GLenum -- ^ @access@ of type [BufferAccessARB](Graphics-GL-Groups.html#BufferAccessARB).
      -> m (Ptr a)
    glMapNamedBufferEXT :: forall (m :: * -> *) a. MonadIO m => GLenum -> GLenum -> m (Ptr a)
    glMapNamedBufferEXT GLenum
    v1 GLenum
    v2 = IO (Ptr a) -> m (Ptr a)
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO (Ptr a) -> m (Ptr a)) -> IO (Ptr a) -> m (Ptr a)
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> IO (Ptr a))
    -> GLenum -> GLenum -> IO (Ptr a)
    forall a.
    FunPtr (GLenum -> GLenum -> IO (Ptr a))
    -> GLenum -> GLenum -> IO (Ptr a)
    dyn534 FunPtr (GLenum -> GLenum -> IO (Ptr a))
    forall a. FunPtr (GLenum -> GLenum -> IO (Ptr a))
    ptr_glMapNamedBufferEXT GLenum
    v1 GLenum
    v2

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

    -- glMapNamedBufferRange -------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glMapBufferRange.xhtml OpenGL 4.x>.
    glMapNamedBufferRange
      :: MonadIO m
      => GLuint -- ^ @buffer@.
      -> GLintptr -- ^ @offset@.
      -> GLsizeiptr -- ^ @length@ of type @BufferSize@.
      -> GLbitfield -- ^ @access@ of type [MapBufferAccessMask](Graphics-GL-Groups.html#MapBufferAccessMask).
      -> m (Ptr a)
    glMapNamedBufferRange :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum -> GLintptr -> GLintptr -> GLenum -> m (Ptr a)
    glMapNamedBufferRange GLenum
    v1 GLintptr
    v2 GLintptr
    v3 GLenum
    v4 = IO (Ptr a) -> m (Ptr a)
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO (Ptr a) -> m (Ptr a)) -> IO (Ptr a) -> m (Ptr a)
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLintptr -> GLintptr -> GLenum -> IO (Ptr a))
    -> GLenum -> GLintptr -> GLintptr -> GLenum -> IO (Ptr a)
    forall a.
    FunPtr (GLenum -> GLintptr -> GLintptr -> GLenum -> IO (Ptr a))
    -> GLenum -> GLintptr -> GLintptr -> GLenum -> IO (Ptr a)
    dyn535 FunPtr (GLenum -> GLintptr -> GLintptr -> GLenum -> IO (Ptr a))
    forall a.
    FunPtr (GLenum -> GLintptr -> GLintptr -> GLenum -> IO (Ptr a))
    ptr_glMapNamedBufferRange GLenum
    v1 GLintptr
    v2 GLintptr
    v3 GLenum
    v4

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

    -- glMapNamedBufferRangeEXT ----------------------------------------------------

    glMapNamedBufferRangeEXT
      :: MonadIO m
      => GLuint -- ^ @buffer@.
      -> GLintptr -- ^ @offset@.
      -> GLsizeiptr -- ^ @length@.
      -> GLbitfield -- ^ @access@ of type [MapBufferAccessMask](Graphics-GL-Groups.html#MapBufferAccessMask).
      -> m (Ptr a)
    glMapNamedBufferRangeEXT :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum -> GLintptr -> GLintptr -> GLenum -> m (Ptr a)
    glMapNamedBufferRangeEXT GLenum
    v1 GLintptr
    v2 GLintptr
    v3 GLenum
    v4 = IO (Ptr a) -> m (Ptr a)
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO (Ptr a) -> m (Ptr a)) -> IO (Ptr a) -> m (Ptr a)
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLintptr -> GLintptr -> GLenum -> IO (Ptr a))
    -> GLenum -> GLintptr -> GLintptr -> GLenum -> IO (Ptr a)
    forall a.
    FunPtr (GLenum -> GLintptr -> GLintptr -> GLenum -> IO (Ptr a))
    -> GLenum -> GLintptr -> GLintptr -> GLenum -> IO (Ptr a)
    dyn535 FunPtr (GLenum -> GLintptr -> GLintptr -> GLenum -> IO (Ptr a))
    forall a.
    FunPtr (GLenum -> GLintptr -> GLintptr -> GLenum -> IO (Ptr a))
    ptr_glMapNamedBufferRangeEXT GLenum
    v1 GLintptr
    v2 GLintptr
    v3 GLenum
    v4

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

    -- glMapObjectBufferATI --------------------------------------------------------

    glMapObjectBufferATI
      :: MonadIO m
      => GLuint -- ^ @buffer@.
      -> m (Ptr a)
    glMapObjectBufferATI :: forall (m :: * -> *) a. MonadIO m => GLenum -> m (Ptr a)
    glMapObjectBufferATI GLenum
    v1 = IO (Ptr a) -> m (Ptr a)
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO (Ptr a) -> m (Ptr a)) -> IO (Ptr a) -> m (Ptr a)
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> IO (Ptr a)) -> GLenum -> IO (Ptr a)
    forall a. FunPtr (GLenum -> IO (Ptr a)) -> GLenum -> IO (Ptr a)
    dyn536 FunPtr (GLenum -> IO (Ptr a))
    forall a. FunPtr (GLenum -> IO (Ptr a))
    ptr_glMapObjectBufferATI GLenum
    v1

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

    -- glMapParameterfvNV ----------------------------------------------------------

    glMapParameterfvNV
      :: MonadIO m
      => GLenum -- ^ @target@ of type [EvalTargetNV](Graphics-GL-Groups.html#EvalTargetNV).
      -> GLenum -- ^ @pname@ of type [MapParameterNV](Graphics-GL-Groups.html#MapParameterNV).
      -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(target,pname)@ elements of type @CheckedFloat32@.
      -> m ()
    glMapParameterfvNV :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLfloat -> m ()
    glMapParameterfvNV GLenum
    v1 GLenum
    v2 Ptr GLfloat
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
    -> GLenum -> GLenum -> Ptr GLfloat -> IO ()
    dyn139 FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
    ptr_glMapParameterfvNV GLenum
    v1 GLenum
    v2 Ptr GLfloat
    v3

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

    -- glMapParameterivNV ----------------------------------------------------------

    glMapParameterivNV
      :: MonadIO m
      => GLenum -- ^ @target@ of type [EvalTargetNV](Graphics-GL-Groups.html#EvalTargetNV).
      -> GLenum -- ^ @pname@ of type [MapParameterNV](Graphics-GL-Groups.html#MapParameterNV).
      -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(target,pname)@ elements of type @CheckedInt32@.
      -> m ()
    glMapParameterivNV :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLint -> m ()
    glMapParameterivNV GLenum
    v1 GLenum
    v2 Ptr GLint
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
    -> GLenum -> GLenum -> Ptr GLint -> IO ()
    dyn140 FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glMapParameterivNV GLenum
    v1 GLenum
    v2 Ptr GLint
    v3

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

    -- glMapTexture2DINTEL ---------------------------------------------------------

    glMapTexture2DINTEL
      :: MonadIO m
      => GLuint -- ^ @texture@.
      -> GLint -- ^ @level@.
      -> GLbitfield -- ^ @access@.
      -> Ptr GLint -- ^ @stride@ pointing to @1@ element of type @GLint@.
      -> Ptr GLenum -- ^ @layout@ pointing to @1@ element of type @GLenum@.
      -> m (Ptr a)
    glMapTexture2DINTEL :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum -> GLint -> GLenum -> Ptr GLint -> Ptr GLenum -> m (Ptr a)
    glMapTexture2DINTEL GLenum
    v1 GLint
    v2 GLenum
    v3 Ptr GLint
    v4 Ptr GLenum
    v5 = IO (Ptr a) -> m (Ptr a)
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO (Ptr a) -> m (Ptr a)) -> IO (Ptr a) -> m (Ptr a)
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLenum
       -> GLint -> GLenum -> Ptr GLint -> Ptr GLenum -> IO (Ptr a))
    -> GLenum
    -> GLint
    -> GLenum
    -> Ptr GLint
    -> Ptr GLenum
    -> IO (Ptr a)
    forall a.
    FunPtr
      (GLenum
       -> GLint -> GLenum -> Ptr GLint -> Ptr GLenum -> IO (Ptr a))
    -> GLenum
    -> GLint
    -> GLenum
    -> Ptr GLint
    -> Ptr GLenum
    -> IO (Ptr a)
    dyn537 FunPtr
      (GLenum
       -> GLint -> GLenum -> Ptr GLint -> Ptr GLenum -> IO (Ptr a))
    forall a.
    FunPtr
      (GLenum
       -> GLint -> GLenum -> Ptr GLint -> Ptr GLenum -> IO (Ptr a))
    ptr_glMapTexture2DINTEL GLenum
    v1 GLint
    v2 GLenum
    v3 Ptr GLint
    v4 Ptr GLenum
    v5

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

    -- glMapVertexAttrib1dAPPLE ----------------------------------------------------

    glMapVertexAttrib1dAPPLE
      :: MonadIO m
      => GLuint -- ^ @index@.
      -> GLuint -- ^ @size@.
      -> GLdouble -- ^ @u1@ of type @CoordD@.
      -> GLdouble -- ^ @u2@ of type @CoordD@.
      -> GLint -- ^ @stride@.
      -> GLint -- ^ @order@ of type @CheckedInt32@.
      -> Ptr GLdouble -- ^ @points@ pointing to @COMPSIZE(size,stride,order)@ elements of type @CoordD@.
      -> m ()
    glMapVertexAttrib1dAPPLE :: forall (m :: * -> *).
    MonadIO m =>
    GLenum
    -> GLenum
    -> GLdouble
    -> GLdouble
    -> GLint
    -> GLint
    -> Ptr GLdouble
    -> m ()
    glMapVertexAttrib1dAPPLE GLenum
    v1 GLenum
    v2 GLdouble
    v3 GLdouble
    v4 GLint
    v5 GLint
    v6 Ptr GLdouble
    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
       -> GLdouble
       -> GLdouble
       -> GLint
       -> GLint
       -> Ptr GLdouble
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLdouble
    -> GLdouble
    -> GLint
    -> GLint
    -> Ptr GLdouble
    -> IO ()
    dyn538 FunPtr
      (GLenum
       -> GLenum
       -> GLdouble
       -> GLdouble
       -> GLint
       -> GLint
       -> Ptr GLdouble
       -> IO ())
    ptr_glMapVertexAttrib1dAPPLE GLenum
    v1 GLenum
    v2 GLdouble
    v3 GLdouble
    v4 GLint
    v5 GLint
    v6 Ptr GLdouble
    v7

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

    -- glMapVertexAttrib1fAPPLE ----------------------------------------------------

    glMapVertexAttrib1fAPPLE
      :: MonadIO m
      => GLuint -- ^ @index@.
      -> GLuint -- ^ @size@.
      -> GLfloat -- ^ @u1@ of type @CoordF@.
      -> GLfloat -- ^ @u2@ of type @CoordF@.
      -> GLint -- ^ @stride@.
      -> GLint -- ^ @order@ of type @CheckedInt32@.
      -> Ptr GLfloat -- ^ @points@ pointing to @COMPSIZE(size,stride,order)@ elements of type @CoordF@.
      -> m ()
    glMapVertexAttrib1fAPPLE :: forall (m :: * -> *).
    MonadIO m =>
    GLenum
    -> GLenum
    -> GLfloat
    -> GLfloat
    -> GLint
    -> GLint
    -> Ptr GLfloat
    -> m ()
    glMapVertexAttrib1fAPPLE GLenum
    v1 GLenum
    v2 GLfloat
    v3 GLfloat
    v4 GLint
    v5 GLint
    v6 Ptr GLfloat
    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
       -> GLfloat
       -> GLfloat
       -> GLint
       -> GLint
       -> Ptr GLfloat
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLfloat
    -> GLfloat
    -> GLint
    -> GLint
    -> Ptr GLfloat
    -> IO ()
    dyn539 FunPtr
      (GLenum
       -> GLenum
       -> GLfloat
       -> GLfloat
       -> GLint
       -> GLint
       -> Ptr GLfloat
       -> IO ())
    ptr_glMapVertexAttrib1fAPPLE GLenum
    v1 GLenum
    v2 GLfloat
    v3 GLfloat
    v4 GLint
    v5 GLint
    v6 Ptr GLfloat
    v7

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

    -- glMapVertexAttrib2dAPPLE ----------------------------------------------------

    glMapVertexAttrib2dAPPLE
      :: MonadIO m
      => GLuint -- ^ @index@.
      -> GLuint -- ^ @size@.
      -> GLdouble -- ^ @u1@ of type @CoordD@.
      -> GLdouble -- ^ @u2@ of type @CoordD@.
      -> GLint -- ^ @ustride@.
      -> GLint -- ^ @uorder@ of type @CheckedInt32@.
      -> GLdouble -- ^ @v1@ of type @CoordD@.
      -> GLdouble -- ^ @v2@ of type @CoordD@.
      -> GLint -- ^ @vstride@.
      -> GLint -- ^ @vorder@ of type @CheckedInt32@.
      -> Ptr GLdouble -- ^ @points@ pointing to @COMPSIZE(size,ustride,uorder,vstride,vorder)@ elements of type @CoordD@.
      -> m ()
    glMapVertexAttrib2dAPPLE :: forall (m :: * -> *).
    MonadIO m =>
    GLenum
    -> GLenum
    -> GLdouble
    -> GLdouble
    -> GLint
    -> GLint
    -> GLdouble
    -> GLdouble
    -> GLint
    -> GLint
    -> Ptr GLdouble
    -> m ()
    glMapVertexAttrib2dAPPLE GLenum
    v1 GLenum
    v2 GLdouble
    v3 GLdouble
    v4 GLint
    v5 GLint
    v6 GLdouble
    v7 GLdouble
    v8 GLint
    v9 GLint
    v10 Ptr GLdouble
    v11 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLenum
       -> GLenum
       -> GLdouble
       -> GLdouble
       -> GLint
       -> GLint
       -> GLdouble
       -> GLdouble
       -> GLint
       -> GLint
       -> Ptr GLdouble
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLdouble
    -> GLdouble
    -> GLint
    -> GLint
    -> GLdouble
    -> GLdouble
    -> GLint
    -> GLint
    -> Ptr GLdouble
    -> IO ()
    dyn540 FunPtr
      (GLenum
       -> GLenum
       -> GLdouble
       -> GLdouble
       -> GLint
       -> GLint
       -> GLdouble
       -> GLdouble
       -> GLint
       -> GLint
       -> Ptr GLdouble
       -> IO ())
    ptr_glMapVertexAttrib2dAPPLE GLenum
    v1 GLenum
    v2 GLdouble
    v3 GLdouble
    v4 GLint
    v5 GLint
    v6 GLdouble
    v7 GLdouble
    v8 GLint
    v9 GLint
    v10 Ptr GLdouble
    v11

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

    -- glMapVertexAttrib2fAPPLE ----------------------------------------------------

    glMapVertexAttrib2fAPPLE
      :: MonadIO m
      => GLuint -- ^ @index@.
      -> GLuint -- ^ @size@.
      -> GLfloat -- ^ @u1@ of type @CoordF@.
      -> GLfloat -- ^ @u2@ of type @CoordF@.
      -> GLint -- ^ @ustride@.
      -> GLint -- ^ @uorder@ of type @CheckedInt32@.
      -> GLfloat -- ^ @v1@ of type @CoordF@.
      -> GLfloat -- ^ @v2@ of type @CoordF@.
      -> GLint -- ^ @vstride@.
      -> GLint -- ^ @vorder@ of type @CheckedInt32@.
      -> Ptr GLfloat -- ^ @points@ pointing to @COMPSIZE(size,ustride,uorder,vstride,vorder)@ elements of type @CoordF@.
      -> m ()
    glMapVertexAttrib2fAPPLE :: forall (m :: * -> *).
    MonadIO m =>
    GLenum
    -> GLenum
    -> GLfloat
    -> GLfloat
    -> GLint
    -> GLint
    -> GLfloat
    -> GLfloat
    -> GLint
    -> GLint
    -> Ptr GLfloat
    -> m ()
    glMapVertexAttrib2fAPPLE GLenum
    v1 GLenum
    v2 GLfloat
    v3 GLfloat
    v4 GLint
    v5 GLint
    v6 GLfloat
    v7 GLfloat
    v8 GLint
    v9 GLint
    v10 Ptr GLfloat
    v11 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLenum
       -> GLenum
       -> GLfloat
       -> GLfloat
       -> GLint
       -> GLint
       -> GLfloat
       -> GLfloat
       -> GLint
       -> GLint
       -> Ptr GLfloat
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLfloat
    -> GLfloat
    -> GLint
    -> GLint
    -> GLfloat
    -> GLfloat
    -> GLint
    -> GLint
    -> Ptr GLfloat
    -> IO ()
    dyn541 FunPtr
      (GLenum
       -> GLenum
       -> GLfloat
       -> GLfloat
       -> GLint
       -> GLint
       -> GLfloat
       -> GLfloat
       -> GLint
       -> GLint
       -> Ptr GLfloat
       -> IO ())
    ptr_glMapVertexAttrib2fAPPLE GLenum
    v1 GLenum
    v2 GLfloat
    v3 GLfloat
    v4 GLint
    v5 GLint
    v6 GLfloat
    v7 GLfloat
    v8 GLint
    v9 GLint
    v10 Ptr GLfloat
    v11

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

    -- glMaterialf -----------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMaterial.xml OpenGL 2.x>.
    glMaterialf
      :: MonadIO m
      => GLenum -- ^ @face@ of type [MaterialFace](Graphics-GL-Groups.html#MaterialFace).
      -> GLenum -- ^ @pname@ of type [MaterialParameter](Graphics-GL-Groups.html#MaterialParameter).
      -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
      -> m ()
    glMaterialf :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLfloat -> m ()
    glMaterialf GLenum
    v1 GLenum
    v2 GLfloat
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
    -> GLenum -> GLenum -> GLfloat -> IO ()
    dyn168 FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
    ptr_glMaterialf GLenum
    v1 GLenum
    v2 GLfloat
    v3

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

    -- glMaterialfv ----------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMaterial.xml OpenGL 2.x>.
    glMaterialfv
      :: MonadIO m
      => GLenum -- ^ @face@ of type [MaterialFace](Graphics-GL-Groups.html#MaterialFace).
      -> GLenum -- ^ @pname@ of type [MaterialParameter](Graphics-GL-Groups.html#MaterialParameter).
      -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
      -> m ()
    glMaterialfv :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLfloat -> m ()
    glMaterialfv GLenum
    v1 GLenum
    v2 Ptr GLfloat
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
    -> GLenum -> GLenum -> Ptr GLfloat -> IO ()
    dyn139 FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
    ptr_glMaterialfv GLenum
    v1 GLenum
    v2 Ptr GLfloat
    v3

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

    -- glMateriali -----------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMaterial.xml OpenGL 2.x>.
    glMateriali
      :: MonadIO m
      => GLenum -- ^ @face@ of type [MaterialFace](Graphics-GL-Groups.html#MaterialFace).
      -> GLenum -- ^ @pname@ of type [MaterialParameter](Graphics-GL-Groups.html#MaterialParameter).
      -> GLint -- ^ @param@ of type @CheckedInt32@.
      -> m ()
    glMateriali :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLint -> m ()
    glMateriali GLenum
    v1 GLenum
    v2 GLint
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLint -> IO ())
    -> GLenum -> GLenum -> GLint -> IO ()
    dyn66 FunPtr (GLenum -> GLenum -> GLint -> IO ())
    ptr_glMateriali GLenum
    v1 GLenum
    v2 GLint
    v3

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

    -- glMaterialiv ----------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMaterial.xml OpenGL 2.x>.
    glMaterialiv
      :: MonadIO m
      => GLenum -- ^ @face@ of type [MaterialFace](Graphics-GL-Groups.html#MaterialFace).
      -> GLenum -- ^ @pname@ of type [MaterialParameter](Graphics-GL-Groups.html#MaterialParameter).
      -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
      -> m ()
    glMaterialiv :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLint -> m ()
    glMaterialiv GLenum
    v1 GLenum
    v2 Ptr GLint
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
    -> GLenum -> GLenum -> Ptr GLint -> IO ()
    dyn140 FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glMaterialiv GLenum
    v1 GLenum
    v2 Ptr GLint
    v3

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

    -- glMaterialx -----------------------------------------------------------------

    glMaterialx
      :: MonadIO m
      => GLenum -- ^ @face@ of type [MaterialFace](Graphics-GL-Groups.html#MaterialFace).
      -> GLenum -- ^ @pname@ of type [MaterialParameter](Graphics-GL-Groups.html#MaterialParameter).
      -> GLfixed -- ^ @param@.
      -> m ()
    glMaterialx :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLfixed -> m ()
    glMaterialx GLenum
    v1 GLenum
    v2 GLfixed
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLfixed -> IO ())
    -> GLenum -> GLenum -> GLfixed -> IO ()
    dyn169 FunPtr (GLenum -> GLenum -> GLfixed -> IO ())
    ptr_glMaterialx GLenum
    v1 GLenum
    v2 GLfixed
    v3

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

    -- glMaterialxOES --------------------------------------------------------------

    glMaterialxOES
      :: MonadIO m
      => GLenum -- ^ @face@ of type [MaterialFace](Graphics-GL-Groups.html#MaterialFace).
      -> GLenum -- ^ @pname@ of type [MaterialParameter](Graphics-GL-Groups.html#MaterialParameter).
      -> GLfixed -- ^ @param@.
      -> m ()
    glMaterialxOES :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLfixed -> m ()
    glMaterialxOES GLenum
    v1 GLenum
    v2 GLfixed
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLfixed -> IO ())
    -> GLenum -> GLenum -> GLfixed -> IO ()
    dyn169 FunPtr (GLenum -> GLenum -> GLfixed -> IO ())
    ptr_glMaterialxOES GLenum
    v1 GLenum
    v2 GLfixed
    v3

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

    -- glMaterialxv ----------------------------------------------------------------

    glMaterialxv
      :: MonadIO m
      => GLenum -- ^ @face@ of type [MaterialFace](Graphics-GL-Groups.html#MaterialFace).
      -> GLenum -- ^ @pname@ of type [MaterialParameter](Graphics-GL-Groups.html#MaterialParameter).
      -> Ptr GLfixed -- ^ @param@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
      -> m ()
    glMaterialxv :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLfixed -> m ()
    glMaterialxv GLenum
    v1 GLenum
    v2 Ptr GLfixed
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
    -> GLenum -> GLenum -> Ptr GLfixed -> IO ()
    dyn170 FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
    ptr_glMaterialxv GLenum
    v1 GLenum
    v2 Ptr GLfixed
    v3

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

    -- glMaterialxvOES -------------------------------------------------------------

    glMaterialxvOES
      :: MonadIO m
      => GLenum -- ^ @face@ of type [MaterialFace](Graphics-GL-Groups.html#MaterialFace).
      -> GLenum -- ^ @pname@ of type [MaterialParameter](Graphics-GL-Groups.html#MaterialParameter).
      -> Ptr GLfixed -- ^ @param@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
      -> m ()
    glMaterialxvOES :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLfixed -> m ()
    glMaterialxvOES GLenum
    v1 GLenum
    v2 Ptr GLfixed
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
    -> GLenum -> GLenum -> Ptr GLfixed -> IO ()
    dyn170 FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
    ptr_glMaterialxvOES GLenum
    v1 GLenum
    v2 Ptr GLfixed
    v3

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

    -- glMatrixFrustumEXT ----------------------------------------------------------

    glMatrixFrustumEXT
      :: MonadIO m
      => GLenum -- ^ @mode@ of type [MatrixMode](Graphics-GL-Groups.html#MatrixMode).
      -> GLdouble -- ^ @left@.
      -> GLdouble -- ^ @right@.
      -> GLdouble -- ^ @bottom@.
      -> GLdouble -- ^ @top@.
      -> GLdouble -- ^ @zNear@.
      -> GLdouble -- ^ @zFar@.
      -> m ()
    glMatrixFrustumEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum
    -> GLdouble
    -> GLdouble
    -> GLdouble
    -> GLdouble
    -> GLdouble
    -> GLdouble
    -> m ()
    glMatrixFrustumEXT GLenum
    v1 GLdouble
    v2 GLdouble
    v3 GLdouble
    v4 GLdouble
    v5 GLdouble
    v6 GLdouble
    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
       -> GLdouble
       -> GLdouble
       -> GLdouble
       -> GLdouble
       -> GLdouble
       -> GLdouble
       -> IO ())
    -> GLenum
    -> GLdouble
    -> GLdouble
    -> GLdouble
    -> GLdouble
    -> GLdouble
    -> GLdouble
    -> IO ()
    dyn542 FunPtr
      (GLenum
       -> GLdouble
       -> GLdouble
       -> GLdouble
       -> GLdouble
       -> GLdouble
       -> GLdouble
       -> IO ())
    ptr_glMatrixFrustumEXT GLenum
    v1 GLdouble
    v2 GLdouble
    v3 GLdouble
    v4 GLdouble
    v5 GLdouble
    v6 GLdouble
    v7

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

    -- glMatrixIndexPointerARB -----------------------------------------------------

    glMatrixIndexPointerARB
      :: MonadIO m
      => GLint -- ^ @size@.
      -> GLenum -- ^ @type@ of type [MatrixIndexPointerTypeARB](Graphics-GL-Groups.html#MatrixIndexPointerTypeARB).
      -> GLsizei -- ^ @stride@.
      -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(size,type,stride)@ elements of type @a@.
      -> m ()
    glMatrixIndexPointerARB :: forall (m :: * -> *) a.
    MonadIO m =>
    GLint -> GLenum -> GLint -> Ptr a -> m ()
    glMatrixIndexPointerARB GLint
    v1 GLenum
    v2 GLint
    v3 Ptr a
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLint -> GLenum -> GLint -> Ptr a -> IO ())
    -> GLint -> GLenum -> GLint -> Ptr a -> IO ()
    forall a.
    FunPtr (GLint -> GLenum -> GLint -> Ptr a -> IO ())
    -> GLint -> GLenum -> GLint -> Ptr a -> IO ()
    dyn133 FunPtr (GLint -> GLenum -> GLint -> Ptr a -> IO ())
    forall a. FunPtr (GLint -> GLenum -> GLint -> Ptr a -> IO ())
    ptr_glMatrixIndexPointerARB GLint
    v1 GLenum
    v2 GLint
    v3 Ptr a
    v4

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

    -- glMatrixIndexPointerOES -----------------------------------------------------

    glMatrixIndexPointerOES
      :: MonadIO m
      => GLint -- ^ @size@.
      -> GLenum -- ^ @type@ of type [MatrixIndexPointerTypeARB](Graphics-GL-Groups.html#MatrixIndexPointerTypeARB).
      -> GLsizei -- ^ @stride@.
      -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(size,type,stride)@ elements of type @a@.
      -> m ()
    glMatrixIndexPointerOES :: forall (m :: * -> *) a.
    MonadIO m =>
    GLint -> GLenum -> GLint -> Ptr a -> m ()
    glMatrixIndexPointerOES GLint
    v1 GLenum
    v2 GLint
    v3 Ptr a
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLint -> GLenum -> GLint -> Ptr a -> IO ())
    -> GLint -> GLenum -> GLint -> Ptr a -> IO ()
    forall a.
    FunPtr (GLint -> GLenum -> GLint -> Ptr a -> IO ())
    -> GLint -> GLenum -> GLint -> Ptr a -> IO ()
    dyn133 FunPtr (GLint -> GLenum -> GLint -> Ptr a -> IO ())
    forall a. FunPtr (GLint -> GLenum -> GLint -> Ptr a -> IO ())
    ptr_glMatrixIndexPointerOES GLint
    v1 GLenum
    v2 GLint
    v3 Ptr a
    v4

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

    -- glMatrixIndexubvARB ---------------------------------------------------------

    glMatrixIndexubvARB
      :: MonadIO m
      => GLint -- ^ @size@.
      -> Ptr GLubyte -- ^ @indices@ pointing to @size@ elements of type @GLubyte@.
      -> m ()
    glMatrixIndexubvARB :: forall (m :: * -> *). MonadIO m => GLint -> Ptr GLboolean -> m ()
    glMatrixIndexubvARB GLint
    v1 Ptr GLboolean
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLint -> Ptr GLboolean -> IO ())
    -> GLint -> Ptr GLboolean -> IO ()
    dyn543 FunPtr (GLint -> Ptr GLboolean -> IO ())
    ptr_glMatrixIndexubvARB GLint
    v1 Ptr GLboolean
    v2

    {-# NOINLINE ptr_glMatrixIndexubvARB #-}
    ptr_glMatrixIndexubvARB :: FunPtr (GLint -> Ptr GLubyte -> IO ())
    ptr_glMatrixIndexubvARB :: FunPtr (GLint -> Ptr GLboolean -> IO ())
    ptr_glMatrixIndexubvARB = IO (FunPtr (GLint -> Ptr GLboolean -> IO ()))
    -> FunPtr (GLint -> Ptr GLboolean -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLint -> Ptr GLboolean -> IO ()))
     -> FunPtr (GLint -> Ptr GLboolean -> IO ()))
    -> IO (FunPtr (GLint -> Ptr GLboolean -> IO ()))
    -> FunPtr (GLint -> Ptr GLboolean -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLint -> Ptr GLboolean -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glMatrixIndexubvARB"

    -- glMatrixIndexuivARB ---------------------------------------------------------

    glMatrixIndexuivARB
      :: MonadIO m
      => GLint -- ^ @size@.
      -> Ptr GLuint -- ^ @indices@ pointing to @size@ elements of type @GLuint@.
      -> m ()
    glMatrixIndexuivARB :: forall (m :: * -> *). MonadIO m => GLint -> Ptr GLenum -> m ()
    glMatrixIndexuivARB GLint
    v1 Ptr GLenum
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLint -> Ptr GLenum -> IO ())
    -> GLint -> Ptr GLenum -> IO ()
    dyn544 FunPtr (GLint -> Ptr GLenum -> IO ())
    ptr_glMatrixIndexuivARB GLint
    v1 Ptr GLenum
    v2

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

    -- glMatrixIndexusvARB ---------------------------------------------------------

    glMatrixIndexusvARB
      :: MonadIO m
      => GLint -- ^ @size@.
      -> Ptr GLushort -- ^ @indices@ pointing to @size@ elements of type @GLushort@.
      -> m ()
    glMatrixIndexusvARB :: forall (m :: * -> *). MonadIO m => GLint -> Ptr GLushort -> m ()
    glMatrixIndexusvARB GLint
    v1 Ptr GLushort
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLint -> Ptr GLushort -> IO ())
    -> GLint -> Ptr GLushort -> IO ()
    dyn545 FunPtr (GLint -> Ptr GLushort -> IO ())
    ptr_glMatrixIndexusvARB GLint
    v1 Ptr GLushort
    v2

    {-# NOINLINE ptr_glMatrixIndexusvARB #-}
    ptr_glMatrixIndexusvARB :: FunPtr (GLint -> Ptr GLushort -> IO ())
    ptr_glMatrixIndexusvARB :: FunPtr (GLint -> Ptr GLushort -> IO ())
    ptr_glMatrixIndexusvARB = IO (FunPtr (GLint -> Ptr GLushort -> IO ()))
    -> FunPtr (GLint -> Ptr GLushort -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLint -> Ptr GLushort -> IO ()))
     -> FunPtr (GLint -> Ptr GLushort -> IO ()))
    -> IO (FunPtr (GLint -> Ptr GLushort -> IO ()))
    -> FunPtr (GLint -> Ptr GLushort -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLint -> Ptr GLushort -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glMatrixIndexusvARB"

    -- glMatrixLoad3x2fNV ----------------------------------------------------------

    glMatrixLoad3x2fNV
      :: MonadIO m
      => GLenum -- ^ @matrixMode@.
      -> Ptr GLfloat -- ^ @m@.
      -> m ()
    glMatrixLoad3x2fNV :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLfloat -> m ()
    glMatrixLoad3x2fNV 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_glMatrixLoad3x2fNV GLenum
    v1 Ptr GLfloat
    v2

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

    -- glMatrixLoad3x3fNV ----------------------------------------------------------

    glMatrixLoad3x3fNV
      :: MonadIO m
      => GLenum -- ^ @matrixMode@.
      -> Ptr GLfloat -- ^ @m@.
      -> m ()
    glMatrixLoad3x3fNV :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLfloat -> m ()
    glMatrixLoad3x3fNV 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_glMatrixLoad3x3fNV GLenum
    v1 Ptr GLfloat
    v2

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

    -- glMatrixLoadIdentityEXT -----------------------------------------------------

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

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

    -- glMatrixLoadTranspose3x3fNV -------------------------------------------------

    glMatrixLoadTranspose3x3fNV
      :: MonadIO m
      => GLenum -- ^ @matrixMode@.
      -> Ptr GLfloat -- ^ @m@.
      -> m ()
    glMatrixLoadTranspose3x3fNV :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLfloat -> m ()
    glMatrixLoadTranspose3x3fNV 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_glMatrixLoadTranspose3x3fNV GLenum
    v1 Ptr GLfloat
    v2

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

    -- glMatrixLoadTransposedEXT ---------------------------------------------------

    glMatrixLoadTransposedEXT
      :: MonadIO m
      => GLenum -- ^ @mode@ of type [MatrixMode](Graphics-GL-Groups.html#MatrixMode).
      -> Ptr GLdouble -- ^ @m@ pointing to @16@ elements of type @GLdouble@.
      -> m ()
    glMatrixLoadTransposedEXT :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLdouble -> m ()
    glMatrixLoadTransposedEXT 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_glMatrixLoadTransposedEXT GLenum
    v1 Ptr GLdouble
    v2

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

    -- glMatrixLoadTransposefEXT ---------------------------------------------------

    glMatrixLoadTransposefEXT
      :: MonadIO m
      => GLenum -- ^ @mode@ of type [MatrixMode](Graphics-GL-Groups.html#MatrixMode).
      -> Ptr GLfloat -- ^ @m@ pointing to @16@ elements of type @GLfloat@.
      -> m ()
    glMatrixLoadTransposefEXT :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLfloat -> m ()
    glMatrixLoadTransposefEXT 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_glMatrixLoadTransposefEXT GLenum
    v1 Ptr GLfloat
    v2

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

    -- glMatrixLoaddEXT ------------------------------------------------------------

    glMatrixLoaddEXT
      :: MonadIO m
      => GLenum -- ^ @mode@ of type [MatrixMode](Graphics-GL-Groups.html#MatrixMode).
      -> Ptr GLdouble -- ^ @m@ pointing to @16@ elements of type @GLdouble@.
      -> m ()
    glMatrixLoaddEXT :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLdouble -> m ()
    glMatrixLoaddEXT 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_glMatrixLoaddEXT GLenum
    v1 Ptr GLdouble
    v2

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

    -- glMatrixLoadfEXT ------------------------------------------------------------

    glMatrixLoadfEXT
      :: MonadIO m
      => GLenum -- ^ @mode@ of type [MatrixMode](Graphics-GL-Groups.html#MatrixMode).
      -> Ptr GLfloat -- ^ @m@ pointing to @16@ elements of type @GLfloat@.
      -> m ()
    glMatrixLoadfEXT :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLfloat -> m ()
    glMatrixLoadfEXT 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_glMatrixLoadfEXT GLenum
    v1 Ptr GLfloat
    v2

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

    -- glMatrixMode ----------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMatrixMode.xml OpenGL 2.x>.
    glMatrixMode
      :: MonadIO m
      => GLenum -- ^ @mode@ of type [MatrixMode](Graphics-GL-Groups.html#MatrixMode).
      -> m ()
    glMatrixMode :: forall (m :: * -> *). MonadIO m => GLenum -> m ()
    glMatrixMode GLenum
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> IO ()) -> GLenum -> IO ()
    dyn5 FunPtr (GLenum -> IO ())
    ptr_glMatrixMode GLenum
    v1

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

    -- glMatrixMult3x2fNV ----------------------------------------------------------

    glMatrixMult3x2fNV
      :: MonadIO m
      => GLenum -- ^ @matrixMode@.
      -> Ptr GLfloat -- ^ @m@.
      -> m ()
    glMatrixMult3x2fNV :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLfloat -> m ()
    glMatrixMult3x2fNV 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_glMatrixMult3x2fNV GLenum
    v1 Ptr GLfloat
    v2

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

    -- glMatrixMult3x3fNV ----------------------------------------------------------

    glMatrixMult3x3fNV
      :: MonadIO m
      => GLenum -- ^ @matrixMode@.
      -> Ptr GLfloat -- ^ @m@.
      -> m ()
    glMatrixMult3x3fNV :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLfloat -> m ()
    glMatrixMult3x3fNV 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_glMatrixMult3x3fNV GLenum
    v1 Ptr GLfloat
    v2

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

    -- glMatrixMultTranspose3x3fNV -------------------------------------------------

    glMatrixMultTranspose3x3fNV
      :: MonadIO m
      => GLenum -- ^ @matrixMode@.
      -> Ptr GLfloat -- ^ @m@.
      -> m ()
    glMatrixMultTranspose3x3fNV :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLfloat -> m ()
    glMatrixMultTranspose3x3fNV 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_glMatrixMultTranspose3x3fNV GLenum
    v1 Ptr GLfloat
    v2

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

    -- glMatrixMultTransposedEXT ---------------------------------------------------

    glMatrixMultTransposedEXT
      :: MonadIO m
      => GLenum -- ^ @mode@ of type [MatrixMode](Graphics-GL-Groups.html#MatrixMode).
      -> Ptr GLdouble -- ^ @m@ pointing to @16@ elements of type @GLdouble@.
      -> m ()
    glMatrixMultTransposedEXT :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLdouble -> m ()
    glMatrixMultTransposedEXT 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_glMatrixMultTransposedEXT GLenum
    v1 Ptr GLdouble
    v2

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

    -- glMatrixMultTransposefEXT ---------------------------------------------------

    glMatrixMultTransposefEXT
      :: MonadIO m
      => GLenum -- ^ @mode@ of type [MatrixMode](Graphics-GL-Groups.html#MatrixMode).
      -> Ptr GLfloat -- ^ @m@ pointing to @16@ elements of type @GLfloat@.
      -> m ()
    glMatrixMultTransposefEXT :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLfloat -> m ()
    glMatrixMultTransposefEXT 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_glMatrixMultTransposefEXT GLenum
    v1 Ptr GLfloat
    v2

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

    -- glMatrixMultdEXT ------------------------------------------------------------

    glMatrixMultdEXT
      :: MonadIO m
      => GLenum -- ^ @mode@ of type [MatrixMode](Graphics-GL-Groups.html#MatrixMode).
      -> Ptr GLdouble -- ^ @m@ pointing to @16@ elements of type @GLdouble@.
      -> m ()
    glMatrixMultdEXT :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLdouble -> m ()
    glMatrixMultdEXT 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_glMatrixMultdEXT GLenum
    v1 Ptr GLdouble
    v2

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

    -- glMatrixMultfEXT ------------------------------------------------------------

    glMatrixMultfEXT
      :: MonadIO m
      => GLenum -- ^ @mode@ of type [MatrixMode](Graphics-GL-Groups.html#MatrixMode).
      -> Ptr GLfloat -- ^ @m@ pointing to @16@ elements of type @GLfloat@.
      -> m ()
    glMatrixMultfEXT :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLfloat -> m ()
    glMatrixMultfEXT 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_glMatrixMultfEXT GLenum
    v1 Ptr GLfloat
    v2

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

    -- glMatrixOrthoEXT ------------------------------------------------------------

    glMatrixOrthoEXT
      :: MonadIO m
      => GLenum -- ^ @mode@ of type [MatrixMode](Graphics-GL-Groups.html#MatrixMode).
      -> GLdouble -- ^ @left@.
      -> GLdouble -- ^ @right@.
      -> GLdouble -- ^ @bottom@.
      -> GLdouble -- ^ @top@.
      -> GLdouble -- ^ @zNear@.
      -> GLdouble -- ^ @zFar@.
      -> m ()
    glMatrixOrthoEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum
    -> GLdouble
    -> GLdouble
    -> GLdouble
    -> GLdouble
    -> GLdouble
    -> GLdouble
    -> m ()
    glMatrixOrthoEXT GLenum
    v1 GLdouble
    v2 GLdouble
    v3 GLdouble
    v4 GLdouble
    v5 GLdouble
    v6 GLdouble
    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
       -> GLdouble
       -> GLdouble
       -> GLdouble
       -> GLdouble
       -> GLdouble
       -> GLdouble
       -> IO ())
    -> GLenum
    -> GLdouble
    -> GLdouble
    -> GLdouble
    -> GLdouble
    -> GLdouble
    -> GLdouble
    -> IO ()
    dyn542 FunPtr
      (GLenum
       -> GLdouble
       -> GLdouble
       -> GLdouble
       -> GLdouble
       -> GLdouble
       -> GLdouble
       -> IO ())
    ptr_glMatrixOrthoEXT GLenum
    v1 GLdouble
    v2 GLdouble
    v3 GLdouble
    v4 GLdouble
    v5 GLdouble
    v6 GLdouble
    v7

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

    -- glMatrixPopEXT --------------------------------------------------------------

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

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

    -- glMatrixPushEXT -------------------------------------------------------------

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

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

    -- glMatrixRotatedEXT ----------------------------------------------------------

    glMatrixRotatedEXT
      :: MonadIO m
      => GLenum -- ^ @mode@ of type [MatrixMode](Graphics-GL-Groups.html#MatrixMode).
      -> GLdouble -- ^ @angle@.
      -> GLdouble -- ^ @x@.
      -> GLdouble -- ^ @y@.
      -> GLdouble -- ^ @z@.
      -> m ()
    glMatrixRotatedEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
    glMatrixRotatedEXT GLenum
    v1 GLdouble
    v2 GLdouble
    v3 GLdouble
    v4 GLdouble
    v5 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
    -> GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
    dyn546 FunPtr
      (GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
    ptr_glMatrixRotatedEXT GLenum
    v1 GLdouble
    v2 GLdouble
    v3 GLdouble
    v4 GLdouble
    v5

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

    -- glMatrixRotatefEXT ----------------------------------------------------------

    glMatrixRotatefEXT
      :: MonadIO m
      => GLenum -- ^ @mode@ of type [MatrixMode](Graphics-GL-Groups.html#MatrixMode).
      -> GLfloat -- ^ @angle@.
      -> GLfloat -- ^ @x@.
      -> GLfloat -- ^ @y@.
      -> GLfloat -- ^ @z@.
      -> m ()
    glMatrixRotatefEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
    glMatrixRotatefEXT GLenum
    v1 GLfloat
    v2 GLfloat
    v3 GLfloat
    v4 GLfloat
    v5 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
    -> GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
    dyn547 FunPtr
      (GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
    ptr_glMatrixRotatefEXT GLenum
    v1 GLfloat
    v2 GLfloat
    v3 GLfloat
    v4 GLfloat
    v5

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

    -- glMatrixScaledEXT -----------------------------------------------------------

    glMatrixScaledEXT
      :: MonadIO m
      => GLenum -- ^ @mode@ of type [MatrixMode](Graphics-GL-Groups.html#MatrixMode).
      -> GLdouble -- ^ @x@.
      -> GLdouble -- ^ @y@.
      -> GLdouble -- ^ @z@.
      -> m ()
    glMatrixScaledEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()
    glMatrixScaledEXT 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_glMatrixScaledEXT GLenum
    v1 GLdouble
    v2 GLdouble
    v3 GLdouble
    v4

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

    -- glMatrixScalefEXT -----------------------------------------------------------

    glMatrixScalefEXT
      :: MonadIO m
      => GLenum -- ^ @mode@ of type [MatrixMode](Graphics-GL-Groups.html#MatrixMode).
      -> GLfloat -- ^ @x@.
      -> GLfloat -- ^ @y@.
      -> GLfloat -- ^ @z@.
      -> m ()
    glMatrixScalefEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()
    glMatrixScalefEXT 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_glMatrixScalefEXT GLenum
    v1 GLfloat
    v2 GLfloat
    v3 GLfloat
    v4

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

    -- glMatrixTranslatedEXT -------------------------------------------------------

    glMatrixTranslatedEXT
      :: MonadIO m
      => GLenum -- ^ @mode@ of type [MatrixMode](Graphics-GL-Groups.html#MatrixMode).
      -> GLdouble -- ^ @x@.
      -> GLdouble -- ^ @y@.
      -> GLdouble -- ^ @z@.
      -> m ()
    glMatrixTranslatedEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()
    glMatrixTranslatedEXT 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_glMatrixTranslatedEXT GLenum
    v1 GLdouble
    v2 GLdouble
    v3 GLdouble
    v4

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

    -- glMatrixTranslatefEXT -------------------------------------------------------

    glMatrixTranslatefEXT
      :: MonadIO m
      => GLenum -- ^ @mode@ of type [MatrixMode](Graphics-GL-Groups.html#MatrixMode).
      -> GLfloat -- ^ @x@.
      -> GLfloat -- ^ @y@.
      -> GLfloat -- ^ @z@.
      -> m ()
    glMatrixTranslatefEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()
    glMatrixTranslatefEXT 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_glMatrixTranslatefEXT GLenum
    v1 GLfloat
    v2 GLfloat
    v3 GLfloat
    v4

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

    -- glMaxShaderCompilerThreadsARB -----------------------------------------------

    -- | This command is an alias for 'glMaxShaderCompilerThreadsKHR'.
    glMaxShaderCompilerThreadsARB
      :: MonadIO m
      => GLuint -- ^ @count@.
      -> m ()
    glMaxShaderCompilerThreadsARB :: forall (m :: * -> *). MonadIO m => GLenum -> m ()
    glMaxShaderCompilerThreadsARB GLenum
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> IO ()) -> GLenum -> IO ()
    dyn3 FunPtr (GLenum -> IO ())
    ptr_glMaxShaderCompilerThreadsARB GLenum
    v1

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

    -- glMaxShaderCompilerThreadsKHR -----------------------------------------------

    glMaxShaderCompilerThreadsKHR
      :: MonadIO m
      => GLuint -- ^ @count@.
      -> m ()
    glMaxShaderCompilerThreadsKHR :: forall (m :: * -> *). MonadIO m => GLenum -> m ()
    glMaxShaderCompilerThreadsKHR GLenum
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> IO ()) -> GLenum -> IO ()
    dyn3 FunPtr (GLenum -> IO ())
    ptr_glMaxShaderCompilerThreadsKHR GLenum
    v1

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

    -- glMemoryBarrier -------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glMemoryBarrier.xhtml OpenGL 4.x>.
    glMemoryBarrier
      :: MonadIO m
      => GLbitfield -- ^ @barriers@ of type [MemoryBarrierMask](Graphics-GL-Groups.html#MemoryBarrierMask).
      -> m ()
    glMemoryBarrier :: forall (m :: * -> *). MonadIO m => GLenum -> m ()
    glMemoryBarrier GLenum
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> IO ()) -> GLenum -> IO ()
    dyn75 FunPtr (GLenum -> IO ())
    ptr_glMemoryBarrier GLenum
    v1

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

    -- glMemoryBarrierByRegion -----------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glMemoryBarrier.xhtml OpenGL 4.x>.
    glMemoryBarrierByRegion
      :: MonadIO m
      => GLbitfield -- ^ @barriers@ of type [MemoryBarrierMask](Graphics-GL-Groups.html#MemoryBarrierMask).
      -> m ()
    glMemoryBarrierByRegion :: forall (m :: * -> *). MonadIO m => GLenum -> m ()
    glMemoryBarrierByRegion GLenum
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> IO ()) -> GLenum -> IO ()
    dyn75 FunPtr (GLenum -> IO ())
    ptr_glMemoryBarrierByRegion GLenum
    v1

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

    -- glMemoryBarrierEXT ----------------------------------------------------------

    -- | This command is an alias for 'glMemoryBarrier'.
    glMemoryBarrierEXT
      :: MonadIO m
      => GLbitfield -- ^ @barriers@ of type [MemoryBarrierMask](Graphics-GL-Groups.html#MemoryBarrierMask).
      -> m ()
    glMemoryBarrierEXT :: forall (m :: * -> *). MonadIO m => GLenum -> m ()
    glMemoryBarrierEXT GLenum
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> IO ()) -> GLenum -> IO ()
    dyn75 FunPtr (GLenum -> IO ())
    ptr_glMemoryBarrierEXT GLenum
    v1

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

    -- glMemoryObjectParameterivEXT ------------------------------------------------

    glMemoryObjectParameterivEXT
      :: MonadIO m
      => GLuint -- ^ @memoryObject@.
      -> GLenum -- ^ @pname@ of type [MemoryObjectParameterName](Graphics-GL-Groups.html#MemoryObjectParameterName).
      -> Ptr GLint -- ^ @params@.
      -> m ()
    glMemoryObjectParameterivEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLint -> m ()
    glMemoryObjectParameterivEXT GLenum
    v1 GLenum
    v2 Ptr GLint
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
    -> GLenum -> GLenum -> Ptr GLint -> IO ()
    dyn348 FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glMemoryObjectParameterivEXT GLenum
    v1 GLenum
    v2 Ptr GLint
    v3

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

    -- glMinSampleShading ----------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glMinSampleShading.xhtml OpenGL 4.x>.
    glMinSampleShading
      :: MonadIO m
      => GLfloat -- ^ @value@ of type @ColorF@.
      -> m ()
    glMinSampleShading :: forall (m :: * -> *). MonadIO m => GLfloat -> m ()
    glMinSampleShading 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 (GLfloat -> IO ()) -> GLfloat -> IO ()
    dyn85 FunPtr (GLfloat -> IO ())
    ptr_glMinSampleShading GLfloat
    v1

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

    -- glMinSampleShadingARB -------------------------------------------------------

    -- | This command is an alias for 'glMinSampleShading'.
    glMinSampleShadingARB
      :: MonadIO m
      => GLfloat -- ^ @value@ of type @ColorF@.
      -> m ()
    glMinSampleShadingARB :: forall (m :: * -> *). MonadIO m => GLfloat -> m ()
    glMinSampleShadingARB 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 (GLfloat -> IO ()) -> GLfloat -> IO ()
    dyn85 FunPtr (GLfloat -> IO ())
    ptr_glMinSampleShadingARB GLfloat
    v1

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

    -- glMinSampleShadingOES -------------------------------------------------------

    -- | This command is an alias for 'glMinSampleShading'.
    glMinSampleShadingOES
      :: MonadIO m
      => GLfloat -- ^ @value@ of type @ColorF@.
      -> m ()
    glMinSampleShadingOES :: forall (m :: * -> *). MonadIO m => GLfloat -> m ()
    glMinSampleShadingOES 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 (GLfloat -> IO ()) -> GLfloat -> IO ()
    dyn85 FunPtr (GLfloat -> IO ())
    ptr_glMinSampleShadingOES GLfloat
    v1

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

    -- glMinmax --------------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMinmax.xml OpenGL 2.x>.
    glMinmax
      :: MonadIO m
      => GLenum -- ^ @target@ of type [MinmaxTargetEXT](Graphics-GL-Groups.html#MinmaxTargetEXT).
      -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
      -> GLboolean -- ^ @sink@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
      -> m ()
    glMinmax :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLboolean -> m ()
    glMinmax GLenum
    v1 GLenum
    v2 GLboolean
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLboolean -> IO ())
    -> GLenum -> GLenum -> GLboolean -> IO ()
    dyn550 FunPtr (GLenum -> GLenum -> GLboolean -> IO ())
    ptr_glMinmax GLenum
    v1 GLenum
    v2 GLboolean
    v3

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

    -- glMinmaxEXT -----------------------------------------------------------------

    -- | This command is an alias for 'glMinmax'.
    glMinmaxEXT
      :: MonadIO m
      => GLenum -- ^ @target@ of type [MinmaxTargetEXT](Graphics-GL-Groups.html#MinmaxTargetEXT).
      -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
      -> GLboolean -- ^ @sink@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
      -> m ()
    glMinmaxEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLboolean -> m ()
    glMinmaxEXT GLenum
    v1 GLenum
    v2 GLboolean
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLboolean -> IO ())
    -> GLenum -> GLenum -> GLboolean -> IO ()
    dyn550 FunPtr (GLenum -> GLenum -> GLboolean -> IO ())
    ptr_glMinmaxEXT GLenum
    v1 GLenum
    v2 GLboolean
    v3

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

    -- glMultMatrixd ---------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultMatrix.xml OpenGL 2.x>.
    glMultMatrixd
      :: MonadIO m
      => Ptr GLdouble -- ^ @m@ pointing to @16@ elements of type @GLdouble@.
      -> m ()
    glMultMatrixd :: forall (m :: * -> *). MonadIO m => Ptr GLdouble -> m ()
    glMultMatrixd 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_glMultMatrixd Ptr GLdouble
    v1

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