    {-# OPTIONS_HADDOCK hide #-}
    --------------------------------------------------------------------------------
    -- |
    -- Module      :  Graphics.GL.Functions.F02
    -- 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.F02 (
      glBindVertexShaderEXT,
      glBindVideoCaptureStreamBufferNV,
      glBindVideoCaptureStreamTextureNV,
      glBinormal3bEXT,
      glBinormal3bvEXT,
      glBinormal3dEXT,
      glBinormal3dvEXT,
      glBinormal3fEXT,
      glBinormal3fvEXT,
      glBinormal3iEXT,
      glBinormal3ivEXT,
      glBinormal3sEXT,
      glBinormal3svEXT,
      glBinormalPointerEXT,
      glBitmap,
      glBitmapxOES,
      glBlendBarrier,
      glBlendBarrierKHR,
      glBlendBarrierNV,
      glBlendColor,
      glBlendColorEXT,
      glBlendColorxOES,
      glBlendEquation,
      glBlendEquationEXT,
      glBlendEquationIndexedAMD,
      glBlendEquationOES,
      glBlendEquationSeparate,
      glBlendEquationSeparateEXT,
      glBlendEquationSeparateIndexedAMD,
      glBlendEquationSeparateOES,
      glBlendEquationSeparatei,
      glBlendEquationSeparateiARB,
      glBlendEquationSeparateiEXT,
      glBlendEquationSeparateiOES,
      glBlendEquationi,
      glBlendEquationiARB,
      glBlendEquationiEXT,
      glBlendEquationiOES,
      glBlendFunc,
      glBlendFuncIndexedAMD,
      glBlendFuncSeparate,
      glBlendFuncSeparateEXT,
      glBlendFuncSeparateINGR,
      glBlendFuncSeparateIndexedAMD,
      glBlendFuncSeparateOES,
      glBlendFuncSeparatei,
      glBlendFuncSeparateiARB,
      glBlendFuncSeparateiEXT,
      glBlendFuncSeparateiOES,
      glBlendFunci,
      glBlendFunciARB,
      glBlendFunciEXT,
      glBlendFunciOES,
      glBlendParameteriNV,
      glBlitFramebuffer,
      glBlitFramebufferANGLE,
      glBlitFramebufferEXT,
      glBlitFramebufferNV,
      glBlitNamedFramebuffer,
      glBufferAddressRangeNV,
      glBufferAttachMemoryNV,
      glBufferData,
      glBufferDataARB,
      glBufferPageCommitmentARB,
      glBufferParameteriAPPLE,
      glBufferStorage,
      glBufferStorageEXT,
      glBufferStorageExternalEXT,
      glBufferStorageMemEXT,
      glBufferSubData,
      glBufferSubDataARB,
      glCallCommandListNV,
      glCallList,
      glCallLists,
      glCheckFramebufferStatus,
      glCheckFramebufferStatusEXT,
      glCheckFramebufferStatusOES,
      glCheckNamedFramebufferStatus,
      glCheckNamedFramebufferStatusEXT,
      glClampColor,
      glClampColorARB,
      glClear,
      glClearAccum,
      glClearAccumxOES,
      glClearBufferData,
      glClearBufferSubData,
      glClearBufferfi,
      glClearBufferfv,
      glClearBufferiv,
      glClearBufferuiv,
      glClearColor,
      glClearColorIiEXT,
      glClearColorIuiEXT,
      glClearColorx,
      glClearColorxOES,
      glClearDepth,
      glClearDepthdNV,
      glClearDepthf,
      glClearDepthfOES,
      glClearDepthx
    ) where

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

    -- glBindVertexShaderEXT -------------------------------------------------------

    glBindVertexShaderEXT
      :: MonadIO m
      => GLuint -- ^ @id@.
      -> m ()
    glBindVertexShaderEXT :: forall (m :: * -> *). MonadIO m => GLuint -> m ()
    glBindVertexShaderEXT GLuint
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> IO ()) -> GLuint -> IO ()
    dyn3 FunPtr (GLuint -> IO ())
    ptr_glBindVertexShaderEXT GLuint
    v1

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

    -- glBindVideoCaptureStreamBufferNV --------------------------------------------

    glBindVideoCaptureStreamBufferNV
      :: MonadIO m
      => GLuint -- ^ @video_capture_slot@.
      -> GLuint -- ^ @stream@.
      -> GLenum -- ^ @frame_region@.
      -> GLintptrARB -- ^ @offset@ of type @BufferOffsetARB@.
      -> m ()
    glBindVideoCaptureStreamBufferNV :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint -> GLuint -> GLintptrARB -> m ()
    glBindVideoCaptureStreamBufferNV GLuint
    v1 GLuint
    v2 GLuint
    v3 GLintptrARB
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> GLuint -> GLintptrARB -> IO ())
    -> GLuint -> GLuint -> GLuint -> GLintptrARB -> IO ()
    dyn37 FunPtr (GLuint -> GLuint -> GLuint -> GLintptrARB -> IO ())
    ptr_glBindVideoCaptureStreamBufferNV GLuint
    v1 GLuint
    v2 GLuint
    v3 GLintptrARB
    v4

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

    -- glBindVideoCaptureStreamTextureNV -------------------------------------------

    glBindVideoCaptureStreamTextureNV
      :: MonadIO m
      => GLuint -- ^ @video_capture_slot@.
      -> GLuint -- ^ @stream@.
      -> GLenum -- ^ @frame_region@.
      -> GLenum -- ^ @target@.
      -> GLuint -- ^ @texture@.
      -> m ()
    glBindVideoCaptureStreamTextureNV :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
    glBindVideoCaptureStreamTextureNV GLuint
    v1 GLuint
    v2 GLuint
    v3 GLuint
    v4 GLuint
    v5 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
    -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
    dyn38 FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
    ptr_glBindVideoCaptureStreamTextureNV GLuint
    v1 GLuint
    v2 GLuint
    v3 GLuint
    v4 GLuint
    v5

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

    -- glBinormal3bEXT -------------------------------------------------------------

    -- | The vector equivalent of this command is 'glBinormal3bvEXT'.
    glBinormal3bEXT
      :: MonadIO m
      => GLbyte -- ^ @bx@.
      -> GLbyte -- ^ @by@.
      -> GLbyte -- ^ @bz@.
      -> m ()
    glBinormal3bEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLbyte -> GLbyte -> GLbyte -> m ()
    glBinormal3bEXT GLbyte
    v1 GLbyte
    v2 GLbyte
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLbyte -> GLbyte -> GLbyte -> IO ())
    -> GLbyte -> GLbyte -> GLbyte -> IO ()
    dyn39 FunPtr (GLbyte -> GLbyte -> GLbyte -> IO ())
    ptr_glBinormal3bEXT GLbyte
    v1 GLbyte
    v2 GLbyte
    v3

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

    -- glBinormal3bvEXT ------------------------------------------------------------

    glBinormal3bvEXT
      :: MonadIO m
      => Ptr GLbyte -- ^ @v@ pointing to @3@ elements of type @GLbyte@.
      -> m ()
    glBinormal3bvEXT :: forall (m :: * -> *). MonadIO m => Ptr GLbyte -> m ()
    glBinormal3bvEXT Ptr GLbyte
    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 GLbyte -> IO ()) -> Ptr GLbyte -> IO ()
    dyn40 FunPtr (Ptr GLbyte -> IO ())
    ptr_glBinormal3bvEXT Ptr GLbyte
    v1

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

    -- glBinormal3dEXT -------------------------------------------------------------

    -- | The vector equivalent of this command is 'glBinormal3dvEXT'.
    glBinormal3dEXT
      :: MonadIO m
      => GLdouble -- ^ @bx@ of type @CoordD@.
      -> GLdouble -- ^ @by@ of type @CoordD@.
      -> GLdouble -- ^ @bz@ of type @CoordD@.
      -> m ()
    glBinormal3dEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLdouble -> GLdouble -> GLdouble -> m ()
    glBinormal3dEXT GLdouble
    v1 GLdouble
    v2 GLdouble
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
    -> GLdouble -> GLdouble -> GLdouble -> IO ()
    dyn41 FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
    ptr_glBinormal3dEXT GLdouble
    v1 GLdouble
    v2 GLdouble
    v3

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

    -- glBinormal3dvEXT ------------------------------------------------------------

    glBinormal3dvEXT
      :: MonadIO m
      => Ptr GLdouble -- ^ @v@ pointing to @3@ elements of type @CoordD@.
      -> m ()
    glBinormal3dvEXT :: forall (m :: * -> *). MonadIO m => Ptr GLdouble -> m ()
    glBinormal3dvEXT 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_glBinormal3dvEXT Ptr GLdouble
    v1

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

    -- glBinormal3fEXT -------------------------------------------------------------

    -- | The vector equivalent of this command is 'glBinormal3fvEXT'.
    glBinormal3fEXT
      :: MonadIO m
      => GLfloat -- ^ @bx@ of type @CoordF@.
      -> GLfloat -- ^ @by@ of type @CoordF@.
      -> GLfloat -- ^ @bz@ of type @CoordF@.
      -> m ()
    glBinormal3fEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLfloat -> GLfloat -> GLfloat -> m ()
    glBinormal3fEXT GLfloat
    v1 GLfloat
    v2 GLfloat
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
    -> GLfloat -> GLfloat -> GLfloat -> IO ()
    dyn43 FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
    ptr_glBinormal3fEXT GLfloat
    v1 GLfloat
    v2 GLfloat
    v3

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

    -- glBinormal3fvEXT ------------------------------------------------------------

    glBinormal3fvEXT
      :: MonadIO m
      => Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @CoordF@.
      -> m ()
    glBinormal3fvEXT :: forall (m :: * -> *). MonadIO m => Ptr GLfloat -> m ()
    glBinormal3fvEXT 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_glBinormal3fvEXT Ptr GLfloat
    v1

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

    -- glBinormal3iEXT -------------------------------------------------------------

    -- | The vector equivalent of this command is 'glBinormal3ivEXT'.
    glBinormal3iEXT
      :: MonadIO m
      => GLint -- ^ @bx@.
      -> GLint -- ^ @by@.
      -> GLint -- ^ @bz@.
      -> m ()
    glBinormal3iEXT :: forall (m :: * -> *). MonadIO m => GLint -> GLint -> GLint -> m ()
    glBinormal3iEXT GLint
    v1 GLint
    v2 GLint
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLint -> GLint -> GLint -> IO ())
    -> GLint -> GLint -> GLint -> IO ()
    dyn45 FunPtr (GLint -> GLint -> GLint -> IO ())
    ptr_glBinormal3iEXT GLint
    v1 GLint
    v2 GLint
    v3

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

    -- glBinormal3ivEXT ------------------------------------------------------------

    glBinormal3ivEXT
      :: MonadIO m
      => Ptr GLint -- ^ @v@ pointing to @3@ elements of type @GLint@.
      -> m ()
    glBinormal3ivEXT :: forall (m :: * -> *). MonadIO m => Ptr GLint -> m ()
    glBinormal3ivEXT Ptr GLint
    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 GLint -> IO ()) -> Ptr GLint -> IO ()
    dyn46 FunPtr (Ptr GLint -> IO ())
    ptr_glBinormal3ivEXT Ptr GLint
    v1

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

    -- glBinormal3sEXT -------------------------------------------------------------

    -- | The vector equivalent of this command is 'glBinormal3svEXT'.
    glBinormal3sEXT
      :: MonadIO m
      => GLshort -- ^ @bx@.
      -> GLshort -- ^ @by@.
      -> GLshort -- ^ @bz@.
      -> m ()
    glBinormal3sEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLshort -> GLshort -> GLshort -> m ()
    glBinormal3sEXT GLshort
    v1 GLshort
    v2 GLshort
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLshort -> GLshort -> GLshort -> IO ())
    -> GLshort -> GLshort -> GLshort -> IO ()
    dyn47 FunPtr (GLshort -> GLshort -> GLshort -> IO ())
    ptr_glBinormal3sEXT GLshort
    v1 GLshort
    v2 GLshort
    v3

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

    -- glBinormal3svEXT ------------------------------------------------------------

    glBinormal3svEXT
      :: MonadIO m
      => Ptr GLshort -- ^ @v@ pointing to @3@ elements of type @GLshort@.
      -> m ()
    glBinormal3svEXT :: forall (m :: * -> *). MonadIO m => Ptr GLshort -> m ()
    glBinormal3svEXT Ptr GLshort
    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 GLshort -> IO ()) -> Ptr GLshort -> IO ()
    dyn48 FunPtr (Ptr GLshort -> IO ())
    ptr_glBinormal3svEXT Ptr GLshort
    v1

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

    -- glBinormalPointerEXT --------------------------------------------------------

    glBinormalPointerEXT
      :: MonadIO m
      => GLenum -- ^ @type@ of type [BinormalPointerTypeEXT](Graphics-GL-Groups.html#BinormalPointerTypeEXT).
      -> GLsizei -- ^ @stride@.
      -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(type,stride)@ elements of type @a@.
      -> m ()
    glBinormalPointerEXT :: forall (m :: * -> *) a.
    MonadIO m =>
    GLuint -> GLint -> Ptr a -> m ()
    glBinormalPointerEXT GLuint
    v1 GLint
    v2 Ptr a
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLint -> Ptr a -> IO ())
    -> GLuint -> GLint -> Ptr a -> IO ()
    forall a.
    FunPtr (GLuint -> GLint -> Ptr a -> IO ())
    -> GLuint -> GLint -> Ptr a -> IO ()
    dyn49 FunPtr (GLuint -> GLint -> Ptr a -> IO ())
    forall a. FunPtr (GLuint -> GLint -> Ptr a -> IO ())
    ptr_glBinormalPointerEXT GLuint
    v1 GLint
    v2 Ptr a
    v3

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

    -- glBitmap --------------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glBitmap.xml OpenGL 2.x>.
    glBitmap
      :: MonadIO m
      => GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> GLfloat -- ^ @xorig@ of type @CoordF@.
      -> GLfloat -- ^ @yorig@ of type @CoordF@.
      -> GLfloat -- ^ @xmove@ of type @CoordF@.
      -> GLfloat -- ^ @ymove@ of type @CoordF@.
      -> Ptr GLubyte -- ^ @bitmap@ pointing to @COMPSIZE(width,height)@ elements of type @GLubyte@.
      -> m ()
    glBitmap :: forall (m :: * -> *).
    MonadIO m =>
    GLint
    -> GLint
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> Ptr GLubyte
    -> m ()
    glBitmap GLint
    v1 GLint
    v2 GLfloat
    v3 GLfloat
    v4 GLfloat
    v5 GLfloat
    v6 Ptr GLubyte
    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
      (GLint
       -> GLint
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> Ptr GLubyte
       -> IO ())
    -> GLint
    -> GLint
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> Ptr GLubyte
    -> IO ()
    dyn50 FunPtr
      (GLint
       -> GLint
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> Ptr GLubyte
       -> IO ())
    ptr_glBitmap GLint
    v1 GLint
    v2 GLfloat
    v3 GLfloat
    v4 GLfloat
    v5 GLfloat
    v6 Ptr GLubyte
    v7

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

    -- glBitmapxOES ----------------------------------------------------------------

    glBitmapxOES
      :: MonadIO m
      => GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> GLfixed -- ^ @xorig@.
      -> GLfixed -- ^ @yorig@.
      -> GLfixed -- ^ @xmove@.
      -> GLfixed -- ^ @ymove@.
      -> Ptr GLubyte -- ^ @bitmap@ pointing to @COMPSIZE(width,height)@ elements of type @GLubyte@.
      -> m ()
    glBitmapxOES :: forall (m :: * -> *).
    MonadIO m =>
    GLint
    -> GLint
    -> GLfixed
    -> GLfixed
    -> GLfixed
    -> GLfixed
    -> Ptr GLubyte
    -> m ()
    glBitmapxOES GLint
    v1 GLint
    v2 GLfixed
    v3 GLfixed
    v4 GLfixed
    v5 GLfixed
    v6 Ptr GLubyte
    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
      (GLint
       -> GLint
       -> GLfixed
       -> GLfixed
       -> GLfixed
       -> GLfixed
       -> Ptr GLubyte
       -> IO ())
    -> GLint
    -> GLint
    -> GLfixed
    -> GLfixed
    -> GLfixed
    -> GLfixed
    -> Ptr GLubyte
    -> IO ()
    dyn51 FunPtr
      (GLint
       -> GLint
       -> GLfixed
       -> GLfixed
       -> GLfixed
       -> GLfixed
       -> Ptr GLubyte
       -> IO ())
    ptr_glBitmapxOES GLint
    v1 GLint
    v2 GLfixed
    v3 GLfixed
    v4 GLfixed
    v5 GLfixed
    v6 Ptr GLubyte
    v7

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

    -- glBlendBarrier --------------------------------------------------------------

    glBlendBarrier
      :: MonadIO m
      => m ()
    glBlendBarrier :: forall (m :: * -> *). MonadIO m => m ()
    glBlendBarrier = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (IO ()) -> IO ()
    dyn11 FunPtr (IO ())
    ptr_glBlendBarrier

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

    -- glBlendBarrierKHR -----------------------------------------------------------

    -- | This command is an alias for 'glBlendBarrier'.
    glBlendBarrierKHR
      :: MonadIO m
      => m ()
    glBlendBarrierKHR :: forall (m :: * -> *). MonadIO m => m ()
    glBlendBarrierKHR = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (IO ()) -> IO ()
    dyn11 FunPtr (IO ())
    ptr_glBlendBarrierKHR

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

    -- glBlendBarrierNV ------------------------------------------------------------

    -- | This command is an alias for 'glBlendBarrier'.
    glBlendBarrierNV
      :: MonadIO m
      => m ()
    glBlendBarrierNV :: forall (m :: * -> *). MonadIO m => m ()
    glBlendBarrierNV = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (IO ()) -> IO ()
    dyn11 FunPtr (IO ())
    ptr_glBlendBarrierNV

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

    -- glBlendColor ----------------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glBlendColor.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glBlendColor.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBlendColor.xhtml OpenGL 4.x>.
    glBlendColor
      :: MonadIO m
      => GLfloat -- ^ @red@ of type @ColorF@.
      -> GLfloat -- ^ @green@ of type @ColorF@.
      -> GLfloat -- ^ @blue@ of type @ColorF@.
      -> GLfloat -- ^ @alpha@ of type @ColorF@.
      -> m ()
    glBlendColor :: forall (m :: * -> *).
    MonadIO m =>
    GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
    glBlendColor GLfloat
    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 (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
    -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
    dyn52 FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
    ptr_glBlendColor GLfloat
    v1 GLfloat
    v2 GLfloat
    v3 GLfloat
    v4

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

    -- glBlendColorEXT -------------------------------------------------------------

    -- | This command is an alias for 'glBlendColor'.
    glBlendColorEXT
      :: MonadIO m
      => GLfloat -- ^ @red@ of type @ColorF@.
      -> GLfloat -- ^ @green@ of type @ColorF@.
      -> GLfloat -- ^ @blue@ of type @ColorF@.
      -> GLfloat -- ^ @alpha@ of type @ColorF@.
      -> m ()
    glBlendColorEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
    glBlendColorEXT GLfloat
    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 (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
    -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
    dyn52 FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
    ptr_glBlendColorEXT GLfloat
    v1 GLfloat
    v2 GLfloat
    v3 GLfloat
    v4

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

    -- glBlendColorxOES ------------------------------------------------------------

    glBlendColorxOES
      :: MonadIO m
      => GLfixed -- ^ @red@ of type @ClampedFixed@.
      -> GLfixed -- ^ @green@ of type @ClampedFixed@.
      -> GLfixed -- ^ @blue@ of type @ClampedFixed@.
      -> GLfixed -- ^ @alpha@ of type @ClampedFixed@.
      -> m ()
    glBlendColorxOES :: forall (m :: * -> *).
    MonadIO m =>
    GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()
    glBlendColorxOES GLfixed
    v1 GLfixed
    v2 GLfixed
    v3 GLfixed
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
    -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ()
    dyn53 FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
    ptr_glBlendColorxOES GLfixed
    v1 GLfixed
    v2 GLfixed
    v3 GLfixed
    v4

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

    -- glBlendEquation -------------------------------------------------------------

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

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

    -- glBlendEquationEXT ----------------------------------------------------------

    -- | This command is an alias for 'glBlendEquation'.
    glBlendEquationEXT
      :: MonadIO m
      => GLenum -- ^ @mode@ of type [BlendEquationModeEXT](Graphics-GL-Groups.html#BlendEquationModeEXT).
      -> m ()
    glBlendEquationEXT :: forall (m :: * -> *). MonadIO m => GLuint -> m ()
    glBlendEquationEXT GLuint
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> IO ()) -> GLuint -> IO ()
    dyn5 FunPtr (GLuint -> IO ())
    ptr_glBlendEquationEXT GLuint
    v1

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

    -- glBlendEquationIndexedAMD ---------------------------------------------------

    -- | This command is an alias for 'glBlendEquationi'.
    glBlendEquationIndexedAMD
      :: MonadIO m
      => GLuint -- ^ @buf@.
      -> GLenum -- ^ @mode@ of type [BlendEquationModeEXT](Graphics-GL-Groups.html#BlendEquationModeEXT).
      -> m ()
    glBlendEquationIndexedAMD :: forall (m :: * -> *). MonadIO m => GLuint -> GLuint -> m ()
    glBlendEquationIndexedAMD GLuint
    v1 GLuint
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> IO ()) -> GLuint -> GLuint -> IO ()
    dyn18 FunPtr (GLuint -> GLuint -> IO ())
    ptr_glBlendEquationIndexedAMD GLuint
    v1 GLuint
    v2

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

    -- glBlendEquationOES ----------------------------------------------------------

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

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

    -- glBlendEquationSeparate -----------------------------------------------------

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

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

    -- glBlendEquationSeparateEXT --------------------------------------------------

    -- | This command is an alias for 'glBlendEquationSeparate'.
    glBlendEquationSeparateEXT
      :: MonadIO m
      => GLenum -- ^ @modeRGB@ of type [BlendEquationModeEXT](Graphics-GL-Groups.html#BlendEquationModeEXT).
      -> GLenum -- ^ @modeAlpha@ of type [BlendEquationModeEXT](Graphics-GL-Groups.html#BlendEquationModeEXT).
      -> m ()
    glBlendEquationSeparateEXT :: forall (m :: * -> *). MonadIO m => GLuint -> GLuint -> m ()
    glBlendEquationSeparateEXT GLuint
    v1 GLuint
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> IO ()) -> GLuint -> GLuint -> IO ()
    dyn54 FunPtr (GLuint -> GLuint -> IO ())
    ptr_glBlendEquationSeparateEXT GLuint
    v1 GLuint
    v2

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

    -- glBlendEquationSeparateIndexedAMD -------------------------------------------

    -- | This command is an alias for 'glBlendEquationSeparatei'.
    glBlendEquationSeparateIndexedAMD
      :: MonadIO m
      => GLuint -- ^ @buf@.
      -> GLenum -- ^ @modeRGB@ of type [BlendEquationModeEXT](Graphics-GL-Groups.html#BlendEquationModeEXT).
      -> GLenum -- ^ @modeAlpha@ of type [BlendEquationModeEXT](Graphics-GL-Groups.html#BlendEquationModeEXT).
      -> m ()
    glBlendEquationSeparateIndexedAMD :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint -> GLuint -> m ()
    glBlendEquationSeparateIndexedAMD GLuint
    v1 GLuint
    v2 GLuint
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> GLuint -> IO ())
    -> GLuint -> GLuint -> GLuint -> IO ()
    dyn55 FunPtr (GLuint -> GLuint -> GLuint -> IO ())
    ptr_glBlendEquationSeparateIndexedAMD GLuint
    v1 GLuint
    v2 GLuint
    v3

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

    -- glBlendEquationSeparateOES --------------------------------------------------

    glBlendEquationSeparateOES
      :: MonadIO m
      => GLenum -- ^ @modeRGB@ of type [BlendEquationModeEXT](Graphics-GL-Groups.html#BlendEquationModeEXT).
      -> GLenum -- ^ @modeAlpha@ of type [BlendEquationModeEXT](Graphics-GL-Groups.html#BlendEquationModeEXT).
      -> m ()
    glBlendEquationSeparateOES :: forall (m :: * -> *). MonadIO m => GLuint -> GLuint -> m ()
    glBlendEquationSeparateOES GLuint
    v1 GLuint
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> IO ()) -> GLuint -> GLuint -> IO ()
    dyn54 FunPtr (GLuint -> GLuint -> IO ())
    ptr_glBlendEquationSeparateOES GLuint
    v1 GLuint
    v2

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

    -- glBlendEquationSeparatei ----------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBlendEquationSeparate.xhtml OpenGL 4.x>.
    glBlendEquationSeparatei
      :: MonadIO m
      => GLuint -- ^ @buf@.
      -> GLenum -- ^ @modeRGB@ of type [BlendEquationModeEXT](Graphics-GL-Groups.html#BlendEquationModeEXT).
      -> GLenum -- ^ @modeAlpha@ of type [BlendEquationModeEXT](Graphics-GL-Groups.html#BlendEquationModeEXT).
      -> m ()
    glBlendEquationSeparatei :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint -> GLuint -> m ()
    glBlendEquationSeparatei GLuint
    v1 GLuint
    v2 GLuint
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> GLuint -> IO ())
    -> GLuint -> GLuint -> GLuint -> IO ()
    dyn55 FunPtr (GLuint -> GLuint -> GLuint -> IO ())
    ptr_glBlendEquationSeparatei GLuint
    v1 GLuint
    v2 GLuint
    v3

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

    -- glBlendEquationSeparateiARB -------------------------------------------------

    -- | This command is an alias for 'glBlendEquationSeparatei'.
    glBlendEquationSeparateiARB
      :: MonadIO m
      => GLuint -- ^ @buf@.
      -> GLenum -- ^ @modeRGB@ of type [BlendEquationModeEXT](Graphics-GL-Groups.html#BlendEquationModeEXT).
      -> GLenum -- ^ @modeAlpha@ of type [BlendEquationModeEXT](Graphics-GL-Groups.html#BlendEquationModeEXT).
      -> m ()
    glBlendEquationSeparateiARB :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint -> GLuint -> m ()
    glBlendEquationSeparateiARB GLuint
    v1 GLuint
    v2 GLuint
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> GLuint -> IO ())
    -> GLuint -> GLuint -> GLuint -> IO ()
    dyn55 FunPtr (GLuint -> GLuint -> GLuint -> IO ())
    ptr_glBlendEquationSeparateiARB GLuint
    v1 GLuint
    v2 GLuint
    v3

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

    -- glBlendEquationSeparateiEXT -------------------------------------------------

    -- | This command is an alias for 'glBlendEquationSeparatei'.
    glBlendEquationSeparateiEXT
      :: MonadIO m
      => GLuint -- ^ @buf@.
      -> GLenum -- ^ @modeRGB@ of type [BlendEquationModeEXT](Graphics-GL-Groups.html#BlendEquationModeEXT).
      -> GLenum -- ^ @modeAlpha@ of type [BlendEquationModeEXT](Graphics-GL-Groups.html#BlendEquationModeEXT).
      -> m ()
    glBlendEquationSeparateiEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint -> GLuint -> m ()
    glBlendEquationSeparateiEXT GLuint
    v1 GLuint
    v2 GLuint
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> GLuint -> IO ())
    -> GLuint -> GLuint -> GLuint -> IO ()
    dyn55 FunPtr (GLuint -> GLuint -> GLuint -> IO ())
    ptr_glBlendEquationSeparateiEXT GLuint
    v1 GLuint
    v2 GLuint
    v3

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

    -- glBlendEquationSeparateiOES -------------------------------------------------

    -- | This command is an alias for 'glBlendEquationSeparatei'.
    glBlendEquationSeparateiOES
      :: MonadIO m
      => GLuint -- ^ @buf@.
      -> GLenum -- ^ @modeRGB@ of type [BlendEquationModeEXT](Graphics-GL-Groups.html#BlendEquationModeEXT).
      -> GLenum -- ^ @modeAlpha@ of type [BlendEquationModeEXT](Graphics-GL-Groups.html#BlendEquationModeEXT).
      -> m ()
    glBlendEquationSeparateiOES :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint -> GLuint -> m ()
    glBlendEquationSeparateiOES GLuint
    v1 GLuint
    v2 GLuint
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> GLuint -> IO ())
    -> GLuint -> GLuint -> GLuint -> IO ()
    dyn55 FunPtr (GLuint -> GLuint -> GLuint -> IO ())
    ptr_glBlendEquationSeparateiOES GLuint
    v1 GLuint
    v2 GLuint
    v3

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

    -- glBlendEquationi ------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBlendEquation.xhtml OpenGL 4.x>.
    glBlendEquationi
      :: MonadIO m
      => GLuint -- ^ @buf@.
      -> GLenum -- ^ @mode@ of type [BlendEquationModeEXT](Graphics-GL-Groups.html#BlendEquationModeEXT).
      -> m ()
    glBlendEquationi :: forall (m :: * -> *). MonadIO m => GLuint -> GLuint -> m ()
    glBlendEquationi GLuint
    v1 GLuint
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> IO ()) -> GLuint -> GLuint -> IO ()
    dyn18 FunPtr (GLuint -> GLuint -> IO ())
    ptr_glBlendEquationi GLuint
    v1 GLuint
    v2

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

    -- glBlendEquationiARB ---------------------------------------------------------

    -- | This command is an alias for 'glBlendEquationi'.
    glBlendEquationiARB
      :: MonadIO m
      => GLuint -- ^ @buf@.
      -> GLenum -- ^ @mode@ of type [BlendEquationModeEXT](Graphics-GL-Groups.html#BlendEquationModeEXT).
      -> m ()
    glBlendEquationiARB :: forall (m :: * -> *). MonadIO m => GLuint -> GLuint -> m ()
    glBlendEquationiARB GLuint
    v1 GLuint
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> IO ()) -> GLuint -> GLuint -> IO ()
    dyn18 FunPtr (GLuint -> GLuint -> IO ())
    ptr_glBlendEquationiARB GLuint
    v1 GLuint
    v2

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

    -- glBlendEquationiEXT ---------------------------------------------------------

    -- | This command is an alias for 'glBlendEquationi'.
    glBlendEquationiEXT
      :: MonadIO m
      => GLuint -- ^ @buf@.
      -> GLenum -- ^ @mode@ of type [BlendEquationModeEXT](Graphics-GL-Groups.html#BlendEquationModeEXT).
      -> m ()
    glBlendEquationiEXT :: forall (m :: * -> *). MonadIO m => GLuint -> GLuint -> m ()
    glBlendEquationiEXT GLuint
    v1 GLuint
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> IO ()) -> GLuint -> GLuint -> IO ()
    dyn18 FunPtr (GLuint -> GLuint -> IO ())
    ptr_glBlendEquationiEXT GLuint
    v1 GLuint
    v2

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

    -- glBlendEquationiOES ---------------------------------------------------------

    -- | This command is an alias for 'glBlendEquationi'.
    glBlendEquationiOES
      :: MonadIO m
      => GLuint -- ^ @buf@.
      -> GLenum -- ^ @mode@ of type [BlendEquationModeEXT](Graphics-GL-Groups.html#BlendEquationModeEXT).
      -> m ()
    glBlendEquationiOES :: forall (m :: * -> *). MonadIO m => GLuint -> GLuint -> m ()
    glBlendEquationiOES GLuint
    v1 GLuint
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> IO ()) -> GLuint -> GLuint -> IO ()
    dyn18 FunPtr (GLuint -> GLuint -> IO ())
    ptr_glBlendEquationiOES GLuint
    v1 GLuint
    v2

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

    -- glBlendFunc -----------------------------------------------------------------

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

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

    -- glBlendFuncIndexedAMD -------------------------------------------------------

    -- | This command is an alias for 'glBlendFunci'.
    glBlendFuncIndexedAMD
      :: MonadIO m
      => GLuint -- ^ @buf@.
      -> GLenum -- ^ @src@.
      -> GLenum -- ^ @dst@.
      -> m ()
    glBlendFuncIndexedAMD :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint -> GLuint -> m ()
    glBlendFuncIndexedAMD GLuint
    v1 GLuint
    v2 GLuint
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> GLuint -> IO ())
    -> GLuint -> GLuint -> GLuint -> IO ()
    dyn55 FunPtr (GLuint -> GLuint -> GLuint -> IO ())
    ptr_glBlendFuncIndexedAMD GLuint
    v1 GLuint
    v2 GLuint
    v3

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

    -- glBlendFuncSeparate ---------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glBlendFuncSeparate.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glBlendFuncSeparate.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBlendFuncSeparate.xhtml OpenGL 4.x>.
    glBlendFuncSeparate
      :: MonadIO m
      => GLenum -- ^ @sfactorRGB@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
      -> GLenum -- ^ @dfactorRGB@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
      -> GLenum -- ^ @sfactorAlpha@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
      -> GLenum -- ^ @dfactorAlpha@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
      -> m ()
    glBlendFuncSeparate :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint -> GLuint -> GLuint -> m ()
    glBlendFuncSeparate GLuint
    v1 GLuint
    v2 GLuint
    v3 GLuint
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> IO ())
    -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
    dyn56 FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> IO ())
    ptr_glBlendFuncSeparate GLuint
    v1 GLuint
    v2 GLuint
    v3 GLuint
    v4

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

    -- glBlendFuncSeparateEXT ------------------------------------------------------

    -- | This command is an alias for 'glBlendFuncSeparate'.
    glBlendFuncSeparateEXT
      :: MonadIO m
      => GLenum -- ^ @sfactorRGB@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
      -> GLenum -- ^ @dfactorRGB@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
      -> GLenum -- ^ @sfactorAlpha@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
      -> GLenum -- ^ @dfactorAlpha@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
      -> m ()
    glBlendFuncSeparateEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint -> GLuint -> GLuint -> m ()
    glBlendFuncSeparateEXT GLuint
    v1 GLuint
    v2 GLuint
    v3 GLuint
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> IO ())
    -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
    dyn56 FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> IO ())
    ptr_glBlendFuncSeparateEXT GLuint
    v1 GLuint
    v2 GLuint
    v3 GLuint
    v4

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

    -- glBlendFuncSeparateINGR -----------------------------------------------------

    -- | This command is an alias for 'glBlendFuncSeparate'.
    glBlendFuncSeparateINGR
      :: MonadIO m
      => GLenum -- ^ @sfactorRGB@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
      -> GLenum -- ^ @dfactorRGB@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
      -> GLenum -- ^ @sfactorAlpha@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
      -> GLenum -- ^ @dfactorAlpha@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
      -> m ()
    glBlendFuncSeparateINGR :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint -> GLuint -> GLuint -> m ()
    glBlendFuncSeparateINGR GLuint
    v1 GLuint
    v2 GLuint
    v3 GLuint
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> IO ())
    -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
    dyn56 FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> IO ())
    ptr_glBlendFuncSeparateINGR GLuint
    v1 GLuint
    v2 GLuint
    v3 GLuint
    v4

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

    -- glBlendFuncSeparateIndexedAMD -----------------------------------------------

    -- | This command is an alias for 'glBlendFuncSeparatei'.
    glBlendFuncSeparateIndexedAMD
      :: MonadIO m
      => GLuint -- ^ @buf@.
      -> GLenum -- ^ @srcRGB@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
      -> GLenum -- ^ @dstRGB@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
      -> GLenum -- ^ @srcAlpha@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
      -> GLenum -- ^ @dstAlpha@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
      -> m ()
    glBlendFuncSeparateIndexedAMD :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
    glBlendFuncSeparateIndexedAMD GLuint
    v1 GLuint
    v2 GLuint
    v3 GLuint
    v4 GLuint
    v5 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
    -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
    dyn57 FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
    ptr_glBlendFuncSeparateIndexedAMD GLuint
    v1 GLuint
    v2 GLuint
    v3 GLuint
    v4 GLuint
    v5

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

    -- glBlendFuncSeparateOES ------------------------------------------------------

    glBlendFuncSeparateOES
      :: MonadIO m
      => GLenum -- ^ @srcRGB@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
      -> GLenum -- ^ @dstRGB@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
      -> GLenum -- ^ @srcAlpha@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
      -> GLenum -- ^ @dstAlpha@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
      -> m ()
    glBlendFuncSeparateOES :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint -> GLuint -> GLuint -> m ()
    glBlendFuncSeparateOES GLuint
    v1 GLuint
    v2 GLuint
    v3 GLuint
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> IO ())
    -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
    dyn56 FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> IO ())
    ptr_glBlendFuncSeparateOES GLuint
    v1 GLuint
    v2 GLuint
    v3 GLuint
    v4

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

    -- glBlendFuncSeparatei --------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBlendFuncSeparate.xhtml OpenGL 4.x>.
    glBlendFuncSeparatei
      :: MonadIO m
      => GLuint -- ^ @buf@.
      -> GLenum -- ^ @srcRGB@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
      -> GLenum -- ^ @dstRGB@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
      -> GLenum -- ^ @srcAlpha@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
      -> GLenum -- ^ @dstAlpha@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
      -> m ()
    glBlendFuncSeparatei :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
    glBlendFuncSeparatei GLuint
    v1 GLuint
    v2 GLuint
    v3 GLuint
    v4 GLuint
    v5 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
    -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
    dyn57 FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
    ptr_glBlendFuncSeparatei GLuint
    v1 GLuint
    v2 GLuint
    v3 GLuint
    v4 GLuint
    v5

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

    -- glBlendFuncSeparateiARB -----------------------------------------------------

    -- | This command is an alias for 'glBlendFuncSeparatei'.
    glBlendFuncSeparateiARB
      :: MonadIO m
      => GLuint -- ^ @buf@.
      -> GLenum -- ^ @srcRGB@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
      -> GLenum -- ^ @dstRGB@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
      -> GLenum -- ^ @srcAlpha@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
      -> GLenum -- ^ @dstAlpha@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
      -> m ()
    glBlendFuncSeparateiARB :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
    glBlendFuncSeparateiARB GLuint
    v1 GLuint
    v2 GLuint
    v3 GLuint
    v4 GLuint
    v5 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
    -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
    dyn57 FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
    ptr_glBlendFuncSeparateiARB GLuint
    v1 GLuint
    v2 GLuint
    v3 GLuint
    v4 GLuint
    v5

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

    -- glBlendFuncSeparateiEXT -----------------------------------------------------

    -- | This command is an alias for 'glBlendFuncSeparatei'.
    glBlendFuncSeparateiEXT
      :: MonadIO m
      => GLuint -- ^ @buf@.
      -> GLenum -- ^ @srcRGB@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
      -> GLenum -- ^ @dstRGB@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
      -> GLenum -- ^ @srcAlpha@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
      -> GLenum -- ^ @dstAlpha@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
      -> m ()
    glBlendFuncSeparateiEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
    glBlendFuncSeparateiEXT GLuint
    v1 GLuint
    v2 GLuint
    v3 GLuint
    v4 GLuint
    v5 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
    -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
    dyn57 FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
    ptr_glBlendFuncSeparateiEXT GLuint
    v1 GLuint
    v2 GLuint
    v3 GLuint
    v4 GLuint
    v5

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

    -- glBlendFuncSeparateiOES -----------------------------------------------------

    -- | This command is an alias for 'glBlendFuncSeparatei'.
    glBlendFuncSeparateiOES
      :: MonadIO m
      => GLuint -- ^ @buf@.
      -> GLenum -- ^ @srcRGB@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
      -> GLenum -- ^ @dstRGB@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
      -> GLenum -- ^ @srcAlpha@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
      -> GLenum -- ^ @dstAlpha@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
      -> m ()
    glBlendFuncSeparateiOES :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
    glBlendFuncSeparateiOES GLuint
    v1 GLuint
    v2 GLuint
    v3 GLuint
    v4 GLuint
    v5 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
    -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
    dyn57 FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
    ptr_glBlendFuncSeparateiOES GLuint
    v1 GLuint
    v2 GLuint
    v3 GLuint
    v4 GLuint
    v5

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

    -- glBlendFunci ----------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBlendFunc.xhtml OpenGL 4.x>.
    glBlendFunci
      :: MonadIO m
      => GLuint -- ^ @buf@.
      -> GLenum -- ^ @src@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
      -> GLenum -- ^ @dst@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
      -> m ()
    glBlendFunci :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint -> GLuint -> m ()
    glBlendFunci GLuint
    v1 GLuint
    v2 GLuint
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> GLuint -> IO ())
    -> GLuint -> GLuint -> GLuint -> IO ()
    dyn55 FunPtr (GLuint -> GLuint -> GLuint -> IO ())
    ptr_glBlendFunci GLuint
    v1 GLuint
    v2 GLuint
    v3

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

    -- glBlendFunciARB -------------------------------------------------------------

    -- | This command is an alias for 'glBlendFunci'.
    glBlendFunciARB
      :: MonadIO m
      => GLuint -- ^ @buf@.
      -> GLenum -- ^ @src@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
      -> GLenum -- ^ @dst@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
      -> m ()
    glBlendFunciARB :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint -> GLuint -> m ()
    glBlendFunciARB GLuint
    v1 GLuint
    v2 GLuint
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> GLuint -> IO ())
    -> GLuint -> GLuint -> GLuint -> IO ()
    dyn55 FunPtr (GLuint -> GLuint -> GLuint -> IO ())
    ptr_glBlendFunciARB GLuint
    v1 GLuint
    v2 GLuint
    v3

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

    -- glBlendFunciEXT -------------------------------------------------------------

    -- | This command is an alias for 'glBlendFunci'.
    glBlendFunciEXT
      :: MonadIO m
      => GLuint -- ^ @buf@.
      -> GLenum -- ^ @src@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
      -> GLenum -- ^ @dst@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
      -> m ()
    glBlendFunciEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint -> GLuint -> m ()
    glBlendFunciEXT GLuint
    v1 GLuint
    v2 GLuint
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> GLuint -> IO ())
    -> GLuint -> GLuint -> GLuint -> IO ()
    dyn55 FunPtr (GLuint -> GLuint -> GLuint -> IO ())
    ptr_glBlendFunciEXT GLuint
    v1 GLuint
    v2 GLuint
    v3

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

    -- glBlendFunciOES -------------------------------------------------------------

    -- | This command is an alias for 'glBlendFunci'.
    glBlendFunciOES
      :: MonadIO m
      => GLuint -- ^ @buf@.
      -> GLenum -- ^ @src@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
      -> GLenum -- ^ @dst@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
      -> m ()
    glBlendFunciOES :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint -> GLuint -> m ()
    glBlendFunciOES GLuint
    v1 GLuint
    v2 GLuint
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> GLuint -> IO ())
    -> GLuint -> GLuint -> GLuint -> IO ()
    dyn55 FunPtr (GLuint -> GLuint -> GLuint -> IO ())
    ptr_glBlendFunciOES GLuint
    v1 GLuint
    v2 GLuint
    v3

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

    -- glBlendParameteriNV ---------------------------------------------------------

    glBlendParameteriNV
      :: MonadIO m
      => GLenum -- ^ @pname@.
      -> GLint -- ^ @value@.
      -> m ()
    glBlendParameteriNV :: forall (m :: * -> *). MonadIO m => GLuint -> GLint -> m ()
    glBlendParameteriNV GLuint
    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 (GLuint -> GLint -> IO ()) -> GLuint -> GLint -> IO ()
    dyn58 FunPtr (GLuint -> GLint -> IO ())
    ptr_glBlendParameteriNV GLuint
    v1 GLint
    v2

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

    -- glBlitFramebuffer -----------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glBlitFramebuffer.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBlitFramebuffer.xhtml OpenGL 4.x>.
    glBlitFramebuffer
      :: MonadIO m
      => GLint -- ^ @srcX0@.
      -> GLint -- ^ @srcY0@.
      -> GLint -- ^ @srcX1@.
      -> GLint -- ^ @srcY1@.
      -> GLint -- ^ @dstX0@.
      -> GLint -- ^ @dstY0@.
      -> GLint -- ^ @dstX1@.
      -> GLint -- ^ @dstY1@.
      -> GLbitfield -- ^ @mask@ of type [ClearBufferMask](Graphics-GL-Groups.html#ClearBufferMask).
      -> GLenum -- ^ @filter@ of type [BlitFramebufferFilter](Graphics-GL-Groups.html#BlitFramebufferFilter).
      -> m ()
    glBlitFramebuffer :: forall (m :: * -> *).
    MonadIO m =>
    GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLuint
    -> GLuint
    -> m ()
    glBlitFramebuffer GLint
    v1 GLint
    v2 GLint
    v3 GLint
    v4 GLint
    v5 GLint
    v6 GLint
    v7 GLint
    v8 GLuint
    v9 GLuint
    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
      (GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLuint
       -> GLuint
       -> IO ())
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLuint
    -> GLuint
    -> IO ()
    dyn59 FunPtr
      (GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLuint
       -> GLuint
       -> IO ())
    ptr_glBlitFramebuffer GLint
    v1 GLint
    v2 GLint
    v3 GLint
    v4 GLint
    v5 GLint
    v6 GLint
    v7 GLint
    v8 GLuint
    v9 GLuint
    v10

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

    -- glBlitFramebufferANGLE ------------------------------------------------------

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

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

    -- glBlitFramebufferEXT --------------------------------------------------------

    -- | This command is an alias for 'glBlitFramebuffer'.
    glBlitFramebufferEXT
      :: MonadIO m
      => GLint -- ^ @srcX0@.
      -> GLint -- ^ @srcY0@.
      -> GLint -- ^ @srcX1@.
      -> GLint -- ^ @srcY1@.
      -> GLint -- ^ @dstX0@.
      -> GLint -- ^ @dstY0@.
      -> GLint -- ^ @dstX1@.
      -> GLint -- ^ @dstY1@.
      -> GLbitfield -- ^ @mask@ of type [ClearBufferMask](Graphics-GL-Groups.html#ClearBufferMask).
      -> GLenum -- ^ @filter@ of type [BlitFramebufferFilter](Graphics-GL-Groups.html#BlitFramebufferFilter).
      -> m ()
    glBlitFramebufferEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLuint
    -> GLuint
    -> m ()
    glBlitFramebufferEXT GLint
    v1 GLint
    v2 GLint
    v3 GLint
    v4 GLint
    v5 GLint
    v6 GLint
    v7 GLint
    v8 GLuint
    v9 GLuint
    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
      (GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLuint
       -> GLuint
       -> IO ())
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLuint
    -> GLuint
    -> IO ()
    dyn59 FunPtr
      (GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLuint
       -> GLuint
       -> IO ())
    ptr_glBlitFramebufferEXT GLint
    v1 GLint
    v2 GLint
    v3 GLint
    v4 GLint
    v5 GLint
    v6 GLint
    v7 GLint
    v8 GLuint
    v9 GLuint
    v10

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

    -- glBlitFramebufferNV ---------------------------------------------------------

    -- | This command is an alias for 'glBlitFramebuffer'.
    glBlitFramebufferNV
      :: MonadIO m
      => GLint -- ^ @srcX0@.
      -> GLint -- ^ @srcY0@.
      -> GLint -- ^ @srcX1@.
      -> GLint -- ^ @srcY1@.
      -> GLint -- ^ @dstX0@.
      -> GLint -- ^ @dstY0@.
      -> GLint -- ^ @dstX1@.
      -> GLint -- ^ @dstY1@.
      -> GLbitfield -- ^ @mask@ of type [ClearBufferMask](Graphics-GL-Groups.html#ClearBufferMask).
      -> GLenum -- ^ @filter@ of type [BlitFramebufferFilter](Graphics-GL-Groups.html#BlitFramebufferFilter).
      -> m ()
    glBlitFramebufferNV :: forall (m :: * -> *).
    MonadIO m =>
    GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLuint
    -> GLuint
    -> m ()
    glBlitFramebufferNV GLint
    v1 GLint
    v2 GLint
    v3 GLint
    v4 GLint
    v5 GLint
    v6 GLint
    v7 GLint
    v8 GLuint
    v9 GLuint
    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
      (GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLuint
       -> GLuint
       -> IO ())
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLuint
    -> GLuint
    -> IO ()
    dyn59 FunPtr
      (GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLuint
       -> GLuint
       -> IO ())
    ptr_glBlitFramebufferNV GLint
    v1 GLint
    v2 GLint
    v3 GLint
    v4 GLint
    v5 GLint
    v6 GLint
    v7 GLint
    v8 GLuint
    v9 GLuint
    v10

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

    -- glBlitNamedFramebuffer ------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBlitFramebuffer.xhtml OpenGL 4.x>.
    glBlitNamedFramebuffer
      :: MonadIO m
      => GLuint -- ^ @readFramebuffer@.
      -> GLuint -- ^ @drawFramebuffer@.
      -> GLint -- ^ @srcX0@.
      -> GLint -- ^ @srcY0@.
      -> GLint -- ^ @srcX1@.
      -> GLint -- ^ @srcY1@.
      -> GLint -- ^ @dstX0@.
      -> GLint -- ^ @dstY0@.
      -> GLint -- ^ @dstX1@.
      -> GLint -- ^ @dstY1@.
      -> GLbitfield -- ^ @mask@ of type [ClearBufferMask](Graphics-GL-Groups.html#ClearBufferMask).
      -> GLenum -- ^ @filter@ of type [BlitFramebufferFilter](Graphics-GL-Groups.html#BlitFramebufferFilter).
      -> m ()
    glBlitNamedFramebuffer :: forall (m :: * -> *).
    MonadIO m =>
    GLuint
    -> GLuint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLuint
    -> GLuint
    -> m ()
    glBlitNamedFramebuffer GLuint
    v1 GLuint
    v2 GLint
    v3 GLint
    v4 GLint
    v5 GLint
    v6 GLint
    v7 GLint
    v8 GLint
    v9 GLint
    v10 GLuint
    v11 GLuint
    v12 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLuint
       -> GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLuint
       -> GLuint
       -> IO ())
    -> GLuint
    -> GLuint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLuint
    -> GLuint
    -> IO ()
    dyn60 FunPtr
      (GLuint
       -> GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLuint
       -> GLuint
       -> IO ())
    ptr_glBlitNamedFramebuffer GLuint
    v1 GLuint
    v2 GLint
    v3 GLint
    v4 GLint
    v5 GLint
    v6 GLint
    v7 GLint
    v8 GLint
    v9 GLint
    v10 GLuint
    v11 GLuint
    v12

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

    -- glBufferAddressRangeNV ------------------------------------------------------

    glBufferAddressRangeNV
      :: MonadIO m
      => GLenum -- ^ @pname@.
      -> GLuint -- ^ @index@.
      -> GLuint64EXT -- ^ @address@.
      -> GLsizeiptr -- ^ @length@ of type @BufferSize@.
      -> m ()
    glBufferAddressRangeNV :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint -> GLuint64EXT -> GLintptrARB -> m ()
    glBufferAddressRangeNV GLuint
    v1 GLuint
    v2 GLuint64EXT
    v3 GLintptrARB
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> GLuint64EXT -> GLintptrARB -> IO ())
    -> GLuint -> GLuint -> GLuint64EXT -> GLintptrARB -> IO ()
    dyn61 FunPtr (GLuint -> GLuint -> GLuint64EXT -> GLintptrARB -> IO ())
    ptr_glBufferAddressRangeNV GLuint
    v1 GLuint
    v2 GLuint64EXT
    v3 GLintptrARB
    v4

    {-# NOINLINE ptr_glBufferAddressRangeNV #-}
    ptr_glBufferAddressRangeNV :: FunPtr (GLenum -> GLuint -> GLuint64EXT -> GLsizeiptr -> IO ())
    ptr_glBufferAddressRangeNV :: FunPtr (GLuint -> GLuint -> GLuint64EXT -> GLintptrARB -> IO ())
    ptr_glBufferAddressRangeNV = IO
      (FunPtr (GLuint -> GLuint -> GLuint64EXT -> GLintptrARB -> IO ()))
    -> FunPtr (GLuint -> GLuint -> GLuint64EXT -> GLintptrARB -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO
       (FunPtr (GLuint -> GLuint -> GLuint64EXT -> GLintptrARB -> IO ()))
     -> FunPtr
          (GLuint -> GLuint -> GLuint64EXT -> GLintptrARB -> IO ()))
    -> IO
         (FunPtr (GLuint -> GLuint -> GLuint64EXT -> GLintptrARB -> IO ()))
    -> FunPtr (GLuint -> GLuint -> GLuint64EXT -> GLintptrARB -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String
    -> IO
         (FunPtr (GLuint -> GLuint -> GLuint64EXT -> GLintptrARB -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glBufferAddressRangeNV"

    -- glBufferAttachMemoryNV ------------------------------------------------------

    glBufferAttachMemoryNV
      :: MonadIO m
      => GLenum -- ^ @target@ of type [BufferTargetARB](Graphics-GL-Groups.html#BufferTargetARB).
      -> GLuint -- ^ @memory@.
      -> GLuint64 -- ^ @offset@.
      -> m ()
    glBufferAttachMemoryNV :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint -> GLuint64EXT -> m ()
    glBufferAttachMemoryNV GLuint
    v1 GLuint
    v2 GLuint64EXT
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> GLuint64EXT -> IO ())
    -> GLuint -> GLuint -> GLuint64EXT -> IO ()
    dyn62 FunPtr (GLuint -> GLuint -> GLuint64EXT -> IO ())
    ptr_glBufferAttachMemoryNV GLuint
    v1 GLuint
    v2 GLuint64EXT
    v3

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

    -- glBufferData ----------------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glBufferData.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glBufferData.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBufferData.xhtml OpenGL 4.x>.
    glBufferData
      :: MonadIO m
      => GLenum -- ^ @target@ of type [BufferTargetARB](Graphics-GL-Groups.html#BufferTargetARB).
      -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
      -> Ptr a -- ^ @data@ pointing to @size@ elements of type @a@.
      -> GLenum -- ^ @usage@ of type [BufferUsageARB](Graphics-GL-Groups.html#BufferUsageARB).
      -> m ()
    glBufferData :: forall (m :: * -> *) a.
    MonadIO m =>
    GLuint -> GLintptrARB -> Ptr a -> GLuint -> m ()
    glBufferData GLuint
    v1 GLintptrARB
    v2 Ptr a
    v3 GLuint
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLintptrARB -> Ptr a -> GLuint -> IO ())
    -> GLuint -> GLintptrARB -> Ptr a -> GLuint -> IO ()
    forall a.
    FunPtr (GLuint -> GLintptrARB -> Ptr a -> GLuint -> IO ())
    -> GLuint -> GLintptrARB -> Ptr a -> GLuint -> IO ()
    dyn63 FunPtr (GLuint -> GLintptrARB -> Ptr a -> GLuint -> IO ())
    forall a.
    FunPtr (GLuint -> GLintptrARB -> Ptr a -> GLuint -> IO ())
    ptr_glBufferData GLuint
    v1 GLintptrARB
    v2 Ptr a
    v3 GLuint
    v4

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

    -- glBufferDataARB -------------------------------------------------------------

    -- | This command is an alias for 'glBufferData'.
    glBufferDataARB
      :: MonadIO m
      => GLenum -- ^ @target@ of type [BufferTargetARB](Graphics-GL-Groups.html#BufferTargetARB).
      -> GLsizeiptrARB -- ^ @size@ of type @BufferSizeARB@.
      -> Ptr a -- ^ @data@ pointing to @size@ elements of type @a@.
      -> GLenum -- ^ @usage@ of type [BufferUsageARB](Graphics-GL-Groups.html#BufferUsageARB).
      -> m ()
    glBufferDataARB :: forall (m :: * -> *) a.
    MonadIO m =>
    GLuint -> GLintptrARB -> Ptr a -> GLuint -> m ()
    glBufferDataARB GLuint
    v1 GLintptrARB
    v2 Ptr a
    v3 GLuint
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLintptrARB -> Ptr a -> GLuint -> IO ())
    -> GLuint -> GLintptrARB -> Ptr a -> GLuint -> IO ()
    forall a.
    FunPtr (GLuint -> GLintptrARB -> Ptr a -> GLuint -> IO ())
    -> GLuint -> GLintptrARB -> Ptr a -> GLuint -> IO ()
    dyn64 FunPtr (GLuint -> GLintptrARB -> Ptr a -> GLuint -> IO ())
    forall a.
    FunPtr (GLuint -> GLintptrARB -> Ptr a -> GLuint -> IO ())
    ptr_glBufferDataARB GLuint
    v1 GLintptrARB
    v2 Ptr a
    v3 GLuint
    v4

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

    -- glBufferPageCommitmentARB ---------------------------------------------------

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

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

    -- glBufferParameteriAPPLE -----------------------------------------------------

    glBufferParameteriAPPLE
      :: MonadIO m
      => GLenum -- ^ @target@.
      -> GLenum -- ^ @pname@.
      -> GLint -- ^ @param@.
      -> m ()
    glBufferParameteriAPPLE :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint -> GLint -> m ()
    glBufferParameteriAPPLE GLuint
    v1 GLuint
    v2 GLint
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> GLint -> IO ())
    -> GLuint -> GLuint -> GLint -> IO ()
    dyn66 FunPtr (GLuint -> GLuint -> GLint -> IO ())
    ptr_glBufferParameteriAPPLE GLuint
    v1 GLuint
    v2 GLint
    v3

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

    -- glBufferStorage -------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBufferStorage.xhtml OpenGL 4.x>.
    glBufferStorage
      :: MonadIO m
      => GLenum -- ^ @target@ of type [BufferStorageTarget](Graphics-GL-Groups.html#BufferStorageTarget).
      -> GLsizeiptr -- ^ @size@.
      -> Ptr a -- ^ @data@ pointing to @size@ elements of type @a@.
      -> GLbitfield -- ^ @flags@ of type [BufferStorageMask](Graphics-GL-Groups.html#BufferStorageMask).
      -> m ()
    glBufferStorage :: forall (m :: * -> *) a.
    MonadIO m =>
    GLuint -> GLintptrARB -> Ptr a -> GLuint -> m ()
    glBufferStorage GLuint
    v1 GLintptrARB
    v2 Ptr a
    v3 GLuint
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLintptrARB -> Ptr a -> GLuint -> IO ())
    -> GLuint -> GLintptrARB -> Ptr a -> GLuint -> IO ()
    forall a.
    FunPtr (GLuint -> GLintptrARB -> Ptr a -> GLuint -> IO ())
    -> GLuint -> GLintptrARB -> Ptr a -> GLuint -> IO ()
    dyn67 FunPtr (GLuint -> GLintptrARB -> Ptr a -> GLuint -> IO ())
    forall a.
    FunPtr (GLuint -> GLintptrARB -> Ptr a -> GLuint -> IO ())
    ptr_glBufferStorage GLuint
    v1 GLintptrARB
    v2 Ptr a
    v3 GLuint
    v4

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

    -- glBufferStorageEXT ----------------------------------------------------------

    -- | This command is an alias for 'glBufferStorage'.
    glBufferStorageEXT
      :: MonadIO m
      => GLenum -- ^ @target@ of type [BufferStorageTarget](Graphics-GL-Groups.html#BufferStorageTarget).
      -> GLsizeiptr -- ^ @size@.
      -> Ptr a -- ^ @data@ pointing to @size@ elements of type @a@.
      -> GLbitfield -- ^ @flags@ of type [BufferStorageMask](Graphics-GL-Groups.html#BufferStorageMask).
      -> m ()
    glBufferStorageEXT :: forall (m :: * -> *) a.
    MonadIO m =>
    GLuint -> GLintptrARB -> Ptr a -> GLuint -> m ()
    glBufferStorageEXT GLuint
    v1 GLintptrARB
    v2 Ptr a
    v3 GLuint
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLintptrARB -> Ptr a -> GLuint -> IO ())
    -> GLuint -> GLintptrARB -> Ptr a -> GLuint -> IO ()
    forall a.
    FunPtr (GLuint -> GLintptrARB -> Ptr a -> GLuint -> IO ())
    -> GLuint -> GLintptrARB -> Ptr a -> GLuint -> IO ()
    dyn67 FunPtr (GLuint -> GLintptrARB -> Ptr a -> GLuint -> IO ())
    forall a.
    FunPtr (GLuint -> GLintptrARB -> Ptr a -> GLuint -> IO ())
    ptr_glBufferStorageEXT GLuint
    v1 GLintptrARB
    v2 Ptr a
    v3 GLuint
    v4

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

    -- glBufferStorageExternalEXT --------------------------------------------------

    glBufferStorageExternalEXT
      :: MonadIO m
      => GLenum -- ^ @target@.
      -> GLintptr -- ^ @offset@.
      -> GLsizeiptr -- ^ @size@.
      -> GLeglClientBufferEXT -- ^ @clientBuffer@.
      -> GLbitfield -- ^ @flags@ of type [BufferStorageMask](Graphics-GL-Groups.html#BufferStorageMask).
      -> m ()
    glBufferStorageExternalEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLuint
    -> GLintptrARB
    -> GLintptrARB
    -> GLeglClientBufferEXT
    -> GLuint
    -> m ()
    glBufferStorageExternalEXT GLuint
    v1 GLintptrARB
    v2 GLintptrARB
    v3 GLeglClientBufferEXT
    v4 GLuint
    v5 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLuint
       -> GLintptrARB
       -> GLintptrARB
       -> GLeglClientBufferEXT
       -> GLuint
       -> IO ())
    -> GLuint
    -> GLintptrARB
    -> GLintptrARB
    -> GLeglClientBufferEXT
    -> GLuint
    -> IO ()
    dyn68 FunPtr
      (GLuint
       -> GLintptrARB
       -> GLintptrARB
       -> GLeglClientBufferEXT
       -> GLuint
       -> IO ())
    ptr_glBufferStorageExternalEXT GLuint
    v1 GLintptrARB
    v2 GLintptrARB
    v3 GLeglClientBufferEXT
    v4 GLuint
    v5

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

    -- glBufferStorageMemEXT -------------------------------------------------------

    glBufferStorageMemEXT
      :: MonadIO m
      => GLenum -- ^ @target@ of type [BufferTargetARB](Graphics-GL-Groups.html#BufferTargetARB).
      -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
      -> GLuint -- ^ @memory@.
      -> GLuint64 -- ^ @offset@.
      -> m ()
    glBufferStorageMemEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLintptrARB -> GLuint -> GLuint64EXT -> m ()
    glBufferStorageMemEXT GLuint
    v1 GLintptrARB
    v2 GLuint
    v3 GLuint64EXT
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLintptrARB -> GLuint -> GLuint64EXT -> IO ())
    -> GLuint -> GLintptrARB -> GLuint -> GLuint64EXT -> IO ()
    dyn69 FunPtr (GLuint -> GLintptrARB -> GLuint -> GLuint64EXT -> IO ())
    ptr_glBufferStorageMemEXT GLuint
    v1 GLintptrARB
    v2 GLuint
    v3 GLuint64EXT
    v4

    {-# NOINLINE ptr_glBufferStorageMemEXT #-}
    ptr_glBufferStorageMemEXT :: FunPtr (GLenum -> GLsizeiptr -> GLuint -> GLuint64 -> IO ())
    ptr_glBufferStorageMemEXT :: FunPtr (GLuint -> GLintptrARB -> GLuint -> GLuint64EXT -> IO ())
    ptr_glBufferStorageMemEXT = IO
      (FunPtr (GLuint -> GLintptrARB -> GLuint -> GLuint64EXT -> IO ()))
    -> FunPtr (GLuint -> GLintptrARB -> GLuint -> GLuint64EXT -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO
       (FunPtr (GLuint -> GLintptrARB -> GLuint -> GLuint64EXT -> IO ()))
     -> FunPtr
          (GLuint -> GLintptrARB -> GLuint -> GLuint64EXT -> IO ()))
    -> IO
         (FunPtr (GLuint -> GLintptrARB -> GLuint -> GLuint64EXT -> IO ()))
    -> FunPtr (GLuint -> GLintptrARB -> GLuint -> GLuint64EXT -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String
    -> IO
         (FunPtr (GLuint -> GLintptrARB -> GLuint -> GLuint64EXT -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glBufferStorageMemEXT"

    -- glBufferSubData -------------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glBufferSubData.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glBufferSubData.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBufferSubData.xhtml OpenGL 4.x>.
    glBufferSubData
      :: MonadIO m
      => GLenum -- ^ @target@ of type [BufferTargetARB](Graphics-GL-Groups.html#BufferTargetARB).
      -> GLintptr -- ^ @offset@ of type @BufferOffset@.
      -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
      -> Ptr a -- ^ @data@ pointing to @size@ elements of type @a@.
      -> m ()
    glBufferSubData :: forall (m :: * -> *) a.
    MonadIO m =>
    GLuint -> GLintptrARB -> GLintptrARB -> Ptr a -> m ()
    glBufferSubData GLuint
    v1 GLintptrARB
    v2 GLintptrARB
    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 (GLuint -> GLintptrARB -> GLintptrARB -> Ptr a -> IO ())
    -> GLuint -> GLintptrARB -> GLintptrARB -> Ptr a -> IO ()
    forall a.
    FunPtr (GLuint -> GLintptrARB -> GLintptrARB -> Ptr a -> IO ())
    -> GLuint -> GLintptrARB -> GLintptrARB -> Ptr a -> IO ()
    dyn70 FunPtr (GLuint -> GLintptrARB -> GLintptrARB -> Ptr a -> IO ())
    forall a.
    FunPtr (GLuint -> GLintptrARB -> GLintptrARB -> Ptr a -> IO ())
    ptr_glBufferSubData GLuint
    v1 GLintptrARB
    v2 GLintptrARB
    v3 Ptr a
    v4

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

    -- glBufferSubDataARB ----------------------------------------------------------

    -- | This command is an alias for 'glBufferSubData'.
    glBufferSubDataARB
      :: MonadIO m
      => GLenum -- ^ @target@ of type [BufferTargetARB](Graphics-GL-Groups.html#BufferTargetARB).
      -> GLintptrARB -- ^ @offset@ of type @BufferOffsetARB@.
      -> GLsizeiptrARB -- ^ @size@ of type @BufferSizeARB@.
      -> Ptr a -- ^ @data@ pointing to @size@ elements of type @a@.
      -> m ()
    glBufferSubDataARB :: forall (m :: * -> *) a.
    MonadIO m =>
    GLuint -> GLintptrARB -> GLintptrARB -> Ptr a -> m ()
    glBufferSubDataARB GLuint
    v1 GLintptrARB
    v2 GLintptrARB
    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 (GLuint -> GLintptrARB -> GLintptrARB -> Ptr a -> IO ())
    -> GLuint -> GLintptrARB -> GLintptrARB -> Ptr a -> IO ()
    forall a.
    FunPtr (GLuint -> GLintptrARB -> GLintptrARB -> Ptr a -> IO ())
    -> GLuint -> GLintptrARB -> GLintptrARB -> Ptr a -> IO ()
    dyn71 FunPtr (GLuint -> GLintptrARB -> GLintptrARB -> Ptr a -> IO ())
    forall a.
    FunPtr (GLuint -> GLintptrARB -> GLintptrARB -> Ptr a -> IO ())
    ptr_glBufferSubDataARB GLuint
    v1 GLintptrARB
    v2 GLintptrARB
    v3 Ptr a
    v4

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

    -- glCallCommandListNV ---------------------------------------------------------

    glCallCommandListNV
      :: MonadIO m
      => GLuint -- ^ @list@.
      -> m ()
    glCallCommandListNV :: forall (m :: * -> *). MonadIO m => GLuint -> m ()
    glCallCommandListNV GLuint
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> IO ()) -> GLuint -> IO ()
    dyn3 FunPtr (GLuint -> IO ())
    ptr_glCallCommandListNV GLuint
    v1

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

    -- glCallList ------------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glCallList.xml OpenGL 2.x>.
    glCallList
      :: MonadIO m
      => GLuint -- ^ @list@ of type @List@.
      -> m ()
    glCallList :: forall (m :: * -> *). MonadIO m => GLuint -> m ()
    glCallList GLuint
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> IO ()) -> GLuint -> IO ()
    dyn3 FunPtr (GLuint -> IO ())
    ptr_glCallList GLuint
    v1

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

    -- glCallLists -----------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glCallLists.xml OpenGL 2.x>.
    glCallLists
      :: MonadIO m
      => GLsizei -- ^ @n@.
      -> GLenum -- ^ @type@ of type [ListNameType](Graphics-GL-Groups.html#ListNameType).
      -> Ptr a -- ^ @lists@ pointing to @COMPSIZE(n,type)@ elements of type @a@.
      -> m ()
    glCallLists :: forall (m :: * -> *) a.
    MonadIO m =>
    GLint -> GLuint -> Ptr a -> m ()
    glCallLists GLint
    v1 GLuint
    v2 Ptr a
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLint -> GLuint -> Ptr a -> IO ())
    -> GLint -> GLuint -> Ptr a -> IO ()
    forall a.
    FunPtr (GLint -> GLuint -> Ptr a -> IO ())
    -> GLint -> GLuint -> Ptr a -> IO ()
    dyn72 FunPtr (GLint -> GLuint -> Ptr a -> IO ())
    forall a. FunPtr (GLint -> GLuint -> Ptr a -> IO ())
    ptr_glCallLists GLint
    v1 GLuint
    v2 Ptr a
    v3

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

    -- glCheckFramebufferStatus ----------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glCheckFramebufferStatus.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glCheckFramebufferStatus.xhtml OpenGL 4.x>.
    glCheckFramebufferStatus
      :: MonadIO m
      => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
      -> m GLenum -- ^ of type [FramebufferStatus](Graphics-GL-Groups.html#FramebufferStatus).
    glCheckFramebufferStatus :: forall (m :: * -> *). MonadIO m => GLuint -> m GLuint
    glCheckFramebufferStatus GLuint
    v1 = IO GLuint -> m GLuint
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO GLuint -> m GLuint) -> IO GLuint -> m GLuint
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> IO GLuint) -> GLuint -> IO GLuint
    dyn73 FunPtr (GLuint -> IO GLuint)
    ptr_glCheckFramebufferStatus GLuint
    v1

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

    -- glCheckFramebufferStatusEXT -------------------------------------------------

    -- | This command is an alias for 'glCheckFramebufferStatus'.
    glCheckFramebufferStatusEXT
      :: MonadIO m
      => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
      -> m GLenum -- ^ of type [FramebufferStatus](Graphics-GL-Groups.html#FramebufferStatus).
    glCheckFramebufferStatusEXT :: forall (m :: * -> *). MonadIO m => GLuint -> m GLuint
    glCheckFramebufferStatusEXT GLuint
    v1 = IO GLuint -> m GLuint
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO GLuint -> m GLuint) -> IO GLuint -> m GLuint
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> IO GLuint) -> GLuint -> IO GLuint
    dyn73 FunPtr (GLuint -> IO GLuint)
    ptr_glCheckFramebufferStatusEXT GLuint
    v1

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

    -- glCheckFramebufferStatusOES -------------------------------------------------

    glCheckFramebufferStatusOES
      :: MonadIO m
      => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
      -> m GLenum -- ^ of type [FramebufferStatus](Graphics-GL-Groups.html#FramebufferStatus).
    glCheckFramebufferStatusOES :: forall (m :: * -> *). MonadIO m => GLuint -> m GLuint
    glCheckFramebufferStatusOES GLuint
    v1 = IO GLuint -> m GLuint
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO GLuint -> m GLuint) -> IO GLuint -> m GLuint
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> IO GLuint) -> GLuint -> IO GLuint
    dyn73 FunPtr (GLuint -> IO GLuint)
    ptr_glCheckFramebufferStatusOES GLuint
    v1

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

    -- glCheckNamedFramebufferStatus -----------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glCheckFramebufferStatus.xhtml OpenGL 4.x>.
    glCheckNamedFramebufferStatus
      :: MonadIO m
      => GLuint -- ^ @framebuffer@.
      -> GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
      -> m GLenum -- ^ of type [FramebufferStatus](Graphics-GL-Groups.html#FramebufferStatus).
    glCheckNamedFramebufferStatus :: forall (m :: * -> *). MonadIO m => GLuint -> GLuint -> m GLuint
    glCheckNamedFramebufferStatus GLuint
    v1 GLuint
    v2 = IO GLuint -> m GLuint
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO GLuint -> m GLuint) -> IO GLuint -> m GLuint
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> IO GLuint)
    -> GLuint -> GLuint -> IO GLuint
    dyn74 FunPtr (GLuint -> GLuint -> IO GLuint)
    ptr_glCheckNamedFramebufferStatus GLuint
    v1 GLuint
    v2

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

    -- glCheckNamedFramebufferStatusEXT --------------------------------------------

    glCheckNamedFramebufferStatusEXT
      :: MonadIO m
      => GLuint -- ^ @framebuffer@ of type @Framebuffer@.
      -> GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
      -> m GLenum -- ^ of type [FramebufferStatus](Graphics-GL-Groups.html#FramebufferStatus).
    glCheckNamedFramebufferStatusEXT :: forall (m :: * -> *). MonadIO m => GLuint -> GLuint -> m GLuint
    glCheckNamedFramebufferStatusEXT GLuint
    v1 GLuint
    v2 = IO GLuint -> m GLuint
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO GLuint -> m GLuint) -> IO GLuint -> m GLuint
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> IO GLuint)
    -> GLuint -> GLuint -> IO GLuint
    dyn74 FunPtr (GLuint -> GLuint -> IO GLuint)
    ptr_glCheckNamedFramebufferStatusEXT GLuint
    v1 GLuint
    v2

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

    -- glClampColor ----------------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glClampColor.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glClampColor.xhtml OpenGL 4.x>.
    glClampColor
      :: MonadIO m
      => GLenum -- ^ @target@ of type [ClampColorTargetARB](Graphics-GL-Groups.html#ClampColorTargetARB).
      -> GLenum -- ^ @clamp@ of type [ClampColorModeARB](Graphics-GL-Groups.html#ClampColorModeARB).
      -> m ()
    glClampColor :: forall (m :: * -> *). MonadIO m => GLuint -> GLuint -> m ()
    glClampColor GLuint
    v1 GLuint
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> IO ()) -> GLuint -> GLuint -> IO ()
    dyn54 FunPtr (GLuint -> GLuint -> IO ())
    ptr_glClampColor GLuint
    v1 GLuint
    v2

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

    -- glClampColorARB -------------------------------------------------------------

    -- | This command is an alias for 'glClampColor'.
    glClampColorARB
      :: MonadIO m
      => GLenum -- ^ @target@ of type [ClampColorTargetARB](Graphics-GL-Groups.html#ClampColorTargetARB).
      -> GLenum -- ^ @clamp@ of type [ClampColorModeARB](Graphics-GL-Groups.html#ClampColorModeARB).
      -> m ()
    glClampColorARB :: forall (m :: * -> *). MonadIO m => GLuint -> GLuint -> m ()
    glClampColorARB GLuint
    v1 GLuint
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> IO ()) -> GLuint -> GLuint -> IO ()
    dyn54 FunPtr (GLuint -> GLuint -> IO ())
    ptr_glClampColorARB GLuint
    v1 GLuint
    v2

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

    -- glClear ---------------------------------------------------------------------

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

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

    -- glClearAccum ----------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glClearAccum.xml OpenGL 2.x>.
    glClearAccum
      :: MonadIO m
      => GLfloat -- ^ @red@.
      -> GLfloat -- ^ @green@.
      -> GLfloat -- ^ @blue@.
      -> GLfloat -- ^ @alpha@.
      -> m ()
    glClearAccum :: forall (m :: * -> *).
    MonadIO m =>
    GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
    glClearAccum GLfloat
    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 (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
    -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
    dyn52 FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
    ptr_glClearAccum GLfloat
    v1 GLfloat
    v2 GLfloat
    v3 GLfloat
    v4

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

    -- glClearAccumxOES ------------------------------------------------------------

    glClearAccumxOES
      :: MonadIO m
      => GLfixed -- ^ @red@ of type @ClampedFixed@.
      -> GLfixed -- ^ @green@ of type @ClampedFixed@.
      -> GLfixed -- ^ @blue@ of type @ClampedFixed@.
      -> GLfixed -- ^ @alpha@ of type @ClampedFixed@.
      -> m ()
    glClearAccumxOES :: forall (m :: * -> *).
    MonadIO m =>
    GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()
    glClearAccumxOES GLfixed
    v1 GLfixed
    v2 GLfixed
    v3 GLfixed
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
    -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ()
    dyn53 FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
    ptr_glClearAccumxOES GLfixed
    v1 GLfixed
    v2 GLfixed
    v3 GLfixed
    v4

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

    -- glClearBufferData -----------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glClearBufferData.xhtml OpenGL 4.x>.
    glClearBufferData
      :: MonadIO m
      => GLenum -- ^ @target@ of type [BufferStorageTarget](Graphics-GL-Groups.html#BufferStorageTarget).
      -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
      -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
      -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
      -> Ptr a -- ^ @data@ pointing to @COMPSIZE(format,type)@ elements of type @a@.
      -> m ()
    glClearBufferData :: forall (m :: * -> *) a.
    MonadIO m =>
    GLuint -> GLuint -> GLuint -> GLuint -> Ptr a -> m ()
    glClearBufferData GLuint
    v1 GLuint
    v2 GLuint
    v3 GLuint
    v4 Ptr a
    v5 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> Ptr a -> IO ())
    -> GLuint -> GLuint -> GLuint -> GLuint -> Ptr a -> IO ()
    forall a.
    FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> Ptr a -> IO ())
    -> GLuint -> GLuint -> GLuint -> GLuint -> Ptr a -> IO ()
    dyn76 FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> Ptr a -> IO ())
    forall a.
    FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> Ptr a -> IO ())
    ptr_glClearBufferData GLuint
    v1 GLuint
    v2 GLuint
    v3 GLuint
    v4 Ptr a
    v5

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

    -- glClearBufferSubData --------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glClearBufferSubData.xhtml OpenGL 4.x>.
    glClearBufferSubData
      :: MonadIO m
      => GLenum -- ^ @target@ of type [BufferTargetARB](Graphics-GL-Groups.html#BufferTargetARB).
      -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
      -> GLintptr -- ^ @offset@ of type @BufferOffset@.
      -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
      -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
      -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
      -> Ptr a -- ^ @data@ pointing to @COMPSIZE(format,type)@ elements of type @a@.
      -> m ()
    glClearBufferSubData :: forall (m :: * -> *) a.
    MonadIO m =>
    GLuint
    -> GLuint
    -> GLintptrARB
    -> GLintptrARB
    -> GLuint
    -> GLuint
    -> Ptr a
    -> m ()
    glClearBufferSubData GLuint
    v1 GLuint
    v2 GLintptrARB
    v3 GLintptrARB
    v4 GLuint
    v5 GLuint
    v6 Ptr a
    v7 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLuint
       -> GLuint
       -> GLintptrARB
       -> GLintptrARB
       -> GLuint
       -> GLuint
       -> Ptr a
       -> IO ())
    -> GLuint
    -> GLuint
    -> GLintptrARB
    -> GLintptrARB
    -> GLuint
    -> GLuint
    -> Ptr a
    -> IO ()
    forall a.
    FunPtr
      (GLuint
       -> GLuint
       -> GLintptrARB
       -> GLintptrARB
       -> GLuint
       -> GLuint
       -> Ptr a
       -> IO ())
    -> GLuint
    -> GLuint
    -> GLintptrARB
    -> GLintptrARB
    -> GLuint
    -> GLuint
    -> Ptr a
    -> IO ()
    dyn77 FunPtr
      (GLuint
       -> GLuint
       -> GLintptrARB
       -> GLintptrARB
       -> GLuint
       -> GLuint
       -> Ptr a
       -> IO ())
    forall a.
    FunPtr
      (GLuint
       -> GLuint
       -> GLintptrARB
       -> GLintptrARB
       -> GLuint
       -> GLuint
       -> Ptr a
       -> IO ())
    ptr_glClearBufferSubData GLuint
    v1 GLuint
    v2 GLintptrARB
    v3 GLintptrARB
    v4 GLuint
    v5 GLuint
    v6 Ptr a
    v7

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

    -- glClearBufferfi -------------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glClearBuffer.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glClearBuffer.xhtml OpenGL 4.x>.
    glClearBufferfi
      :: MonadIO m
      => GLenum -- ^ @buffer@ of type [Buffer](Graphics-GL-Groups.html#Buffer).
      -> GLint -- ^ @drawbuffer@ of type @DrawBufferName@.
      -> GLfloat -- ^ @depth@.
      -> GLint -- ^ @stencil@.
      -> m ()
    glClearBufferfi :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLint -> GLfloat -> GLint -> m ()
    glClearBufferfi GLuint
    v1 GLint
    v2 GLfloat
    v3 GLint
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLint -> GLfloat -> GLint -> IO ())
    -> GLuint -> GLint -> GLfloat -> GLint -> IO ()
    dyn78 FunPtr (GLuint -> GLint -> GLfloat -> GLint -> IO ())
    ptr_glClearBufferfi GLuint
    v1 GLint
    v2 GLfloat
    v3 GLint
    v4

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

    -- glClearBufferfv -------------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glClearBuffer.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glClearBuffer.xhtml OpenGL 4.x>.
    glClearBufferfv
      :: MonadIO m
      => GLenum -- ^ @buffer@ of type [Buffer](Graphics-GL-Groups.html#Buffer).
      -> GLint -- ^ @drawbuffer@ of type @DrawBufferName@.
      -> Ptr GLfloat -- ^ @value@ pointing to @COMPSIZE(buffer)@ elements of type @GLfloat@.
      -> m ()
    glClearBufferfv :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLint -> Ptr GLfloat -> m ()
    glClearBufferfv GLuint
    v1 GLint
    v2 Ptr GLfloat
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLint -> Ptr GLfloat -> IO ())
    -> GLuint -> GLint -> Ptr GLfloat -> IO ()
    dyn79 FunPtr (GLuint -> GLint -> Ptr GLfloat -> IO ())
    ptr_glClearBufferfv GLuint
    v1 GLint
    v2 Ptr GLfloat
    v3

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

    -- glClearBufferiv -------------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glClearBuffer.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glClearBuffer.xhtml OpenGL 4.x>.
    glClearBufferiv
      :: MonadIO m
      => GLenum -- ^ @buffer@ of type [Buffer](Graphics-GL-Groups.html#Buffer).
      -> GLint -- ^ @drawbuffer@ of type @DrawBufferName@.
      -> Ptr GLint -- ^ @value@ pointing to @COMPSIZE(buffer)@ elements of type @GLint@.
      -> m ()
    glClearBufferiv :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLint -> Ptr GLint -> m ()
    glClearBufferiv GLuint
    v1 GLint
    v2 Ptr GLint
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLint -> Ptr GLint -> IO ())
    -> GLuint -> GLint -> Ptr GLint -> IO ()
    dyn80 FunPtr (GLuint -> GLint -> Ptr GLint -> IO ())
    ptr_glClearBufferiv GLuint
    v1 GLint
    v2 Ptr GLint
    v3

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

    -- glClearBufferuiv ------------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glClearBuffer.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glClearBuffer.xhtml OpenGL 4.x>.
    glClearBufferuiv
      :: MonadIO m
      => GLenum -- ^ @buffer@ of type [Buffer](Graphics-GL-Groups.html#Buffer).
      -> GLint -- ^ @drawbuffer@ of type @DrawBufferName@.
      -> Ptr GLuint -- ^ @value@ pointing to @COMPSIZE(buffer)@ elements of type @GLuint@.
      -> m ()
    glClearBufferuiv :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLint -> Ptr GLuint -> m ()
    glClearBufferuiv GLuint
    v1 GLint
    v2 Ptr GLuint
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLint -> Ptr GLuint -> IO ())
    -> GLuint -> GLint -> Ptr GLuint -> IO ()
    dyn81 FunPtr (GLuint -> GLint -> Ptr GLuint -> IO ())
    ptr_glClearBufferuiv GLuint
    v1 GLint
    v2 Ptr GLuint
    v3

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

    -- glClearColor ----------------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glClearColor.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glClearColor.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glClearColor.xhtml OpenGL 4.x>.
    glClearColor
      :: MonadIO m
      => GLfloat -- ^ @red@ of type @ColorF@.
      -> GLfloat -- ^ @green@ of type @ColorF@.
      -> GLfloat -- ^ @blue@ of type @ColorF@.
      -> GLfloat -- ^ @alpha@ of type @ColorF@.
      -> m ()
    glClearColor :: forall (m :: * -> *).
    MonadIO m =>
    GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
    glClearColor GLfloat
    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 (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
    -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
    dyn52 FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
    ptr_glClearColor GLfloat
    v1 GLfloat
    v2 GLfloat
    v3 GLfloat
    v4

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

    -- glClearColorIiEXT -----------------------------------------------------------

    glClearColorIiEXT
      :: MonadIO m
      => GLint -- ^ @red@.
      -> GLint -- ^ @green@.
      -> GLint -- ^ @blue@.
      -> GLint -- ^ @alpha@.
      -> m ()
    glClearColorIiEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLint -> GLint -> GLint -> GLint -> m ()
    glClearColorIiEXT GLint
    v1 GLint
    v2 GLint
    v3 GLint
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLint -> GLint -> GLint -> GLint -> IO ())
    -> GLint -> GLint -> GLint -> GLint -> IO ()
    dyn82 FunPtr (GLint -> GLint -> GLint -> GLint -> IO ())
    ptr_glClearColorIiEXT GLint
    v1 GLint
    v2 GLint
    v3 GLint
    v4

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

    -- glClearColorIuiEXT ----------------------------------------------------------

    glClearColorIuiEXT
      :: MonadIO m
      => GLuint -- ^ @red@.
      -> GLuint -- ^ @green@.
      -> GLuint -- ^ @blue@.
      -> GLuint -- ^ @alpha@.
      -> m ()
    glClearColorIuiEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint -> GLuint -> GLuint -> m ()
    glClearColorIuiEXT GLuint
    v1 GLuint
    v2 GLuint
    v3 GLuint
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> IO ())
    -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
    dyn83 FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> IO ())
    ptr_glClearColorIuiEXT GLuint
    v1 GLuint
    v2 GLuint
    v3 GLuint
    v4

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

    -- glClearColorx ---------------------------------------------------------------

    glClearColorx
      :: MonadIO m
      => GLfixed -- ^ @red@.
      -> GLfixed -- ^ @green@.
      -> GLfixed -- ^ @blue@.
      -> GLfixed -- ^ @alpha@.
      -> m ()
    glClearColorx :: forall (m :: * -> *).
    MonadIO m =>
    GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()
    glClearColorx GLfixed
    v1 GLfixed
    v2 GLfixed
    v3 GLfixed
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
    -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ()
    dyn53 FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
    ptr_glClearColorx GLfixed
    v1 GLfixed
    v2 GLfixed
    v3 GLfixed
    v4

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

    -- glClearColorxOES ------------------------------------------------------------

    glClearColorxOES
      :: MonadIO m
      => GLfixed -- ^ @red@ of type @ClampedFixed@.
      -> GLfixed -- ^ @green@ of type @ClampedFixed@.
      -> GLfixed -- ^ @blue@ of type @ClampedFixed@.
      -> GLfixed -- ^ @alpha@ of type @ClampedFixed@.
      -> m ()
    glClearColorxOES :: forall (m :: * -> *).
    MonadIO m =>
    GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()
    glClearColorxOES GLfixed
    v1 GLfixed
    v2 GLfixed
    v3 GLfixed
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
    -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ()
    dyn53 FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
    ptr_glClearColorxOES GLfixed
    v1 GLfixed
    v2 GLfixed
    v3 GLfixed
    v4

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

    -- glClearDepth ----------------------------------------------------------------

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

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

    -- glClearDepthdNV -------------------------------------------------------------

    glClearDepthdNV
      :: MonadIO m
      => GLdouble -- ^ @depth@.
      -> m ()
    glClearDepthdNV :: forall (m :: * -> *). MonadIO m => GLdouble -> m ()
    glClearDepthdNV 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 (GLdouble -> IO ()) -> GLdouble -> IO ()
    dyn84 FunPtr (GLdouble -> IO ())
    ptr_glClearDepthdNV GLdouble
    v1

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

    -- glClearDepthf ---------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glClearDepth.xhtml OpenGL 4.x>.
    glClearDepthf
      :: MonadIO m
      => GLfloat -- ^ @d@.
      -> m ()
    glClearDepthf :: forall (m :: * -> *). MonadIO m => GLfloat -> m ()
    glClearDepthf 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_glClearDepthf GLfloat
    v1

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

    -- glClearDepthfOES ------------------------------------------------------------

    -- | This command is an alias for 'glClearDepthf'.
    glClearDepthfOES
      :: MonadIO m
      => GLclampf -- ^ @depth@ of type @ClampedFloat32@.
      -> m ()
    glClearDepthfOES :: forall (m :: * -> *). MonadIO m => GLfloat -> m ()
    glClearDepthfOES 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 ()
    dyn86 FunPtr (GLfloat -> IO ())
    ptr_glClearDepthfOES GLfloat
    v1

    {-# NOINLINE ptr_glClearDepthfOES #-}
    ptr_glClearDepthfOES :: FunPtr (GLclampf -> IO ())
    ptr_glClearDepthfOES :: FunPtr (GLfloat -> IO ())
    ptr_glClearDepthfOES = 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
    "glClearDepthfOES"

    -- glClearDepthx ---------------------------------------------------------------

    glClearDepthx
      :: MonadIO m
      => GLfixed -- ^ @depth@.
      -> m ()
    glClearDepthx :: forall (m :: * -> *). MonadIO m => GLfixed -> m ()
    glClearDepthx 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 (GLfixed -> IO ()) -> GLfixed -> IO ()
    dyn87 FunPtr (GLfixed -> IO ())
    ptr_glClearDepthx GLfixed
    v1

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