    {-# OPTIONS_HADDOCK hide #-}
    --------------------------------------------------------------------------------
    -- |
    -- Module      :  Graphics.GL.Functions.F05
    -- 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.F05 (
      glCopyTextureLevelsAPPLE,
      glCopyTextureSubImage1D,
      glCopyTextureSubImage1DEXT,
      glCopyTextureSubImage2D,
      glCopyTextureSubImage2DEXT,
      glCopyTextureSubImage3D,
      glCopyTextureSubImage3DEXT,
      glCoverFillPathInstancedNV,
      glCoverFillPathNV,
      glCoverStrokePathInstancedNV,
      glCoverStrokePathNV,
      glCoverageMaskNV,
      glCoverageModulationNV,
      glCoverageModulationTableNV,
      glCoverageOperationNV,
      glCreateBuffers,
      glCreateCommandListsNV,
      glCreateFramebuffers,
      glCreateMemoryObjectsEXT,
      glCreatePerfQueryINTEL,
      glCreateProgram,
      glCreateProgramObjectARB,
      glCreateProgramPipelines,
      glCreateProgressFenceNVX,
      glCreateQueries,
      glCreateRenderbuffers,
      glCreateSamplers,
      glCreateShader,
      glCreateShaderObjectARB,
      glCreateShaderProgramEXT,
      glCreateShaderProgramv,
      glCreateShaderProgramvEXT,
      glCreateStatesNV,
      glCreateSyncFromCLeventARB,
      glCreateTextures,
      glCreateTransformFeedbacks,
      glCreateVertexArrays,
      glCullFace,
      glCullParameterdvEXT,
      glCullParameterfvEXT,
      glCurrentPaletteMatrixARB,
      glCurrentPaletteMatrixOES,
      glDebugMessageCallback,
      glDebugMessageCallbackAMD,
      glDebugMessageCallbackARB,
      glDebugMessageCallbackKHR,
      glDebugMessageControl,
      glDebugMessageControlARB,
      glDebugMessageControlKHR,
      glDebugMessageEnableAMD,
      glDebugMessageInsert,
      glDebugMessageInsertAMD,
      glDebugMessageInsertARB,
      glDebugMessageInsertKHR,
      glDeformSGIX,
      glDeformationMap3dSGIX,
      glDeformationMap3fSGIX,
      glDeleteAsyncMarkersSGIX,
      glDeleteBuffers,
      glDeleteBuffersARB,
      glDeleteCommandListsNV,
      glDeleteFencesAPPLE,
      glDeleteFencesNV,
      glDeleteFragmentShaderATI,
      glDeleteFramebuffers,
      glDeleteFramebuffersEXT,
      glDeleteFramebuffersOES,
      glDeleteLists,
      glDeleteMemoryObjectsEXT,
      glDeleteNamedStringARB,
      glDeleteNamesAMD,
      glDeleteObjectARB,
      glDeleteOcclusionQueriesNV,
      glDeletePathsNV,
      glDeletePerfMonitorsAMD,
      glDeletePerfQueryINTEL,
      glDeleteProgram,
      glDeleteProgramPipelines,
      glDeleteProgramPipelinesEXT,
      glDeleteProgramsARB,
      glDeleteProgramsNV,
      glDeleteQueries,
      glDeleteQueriesARB,
      glDeleteQueriesEXT,
      glDeleteQueryResourceTagNV,
      glDeleteRenderbuffers,
      glDeleteRenderbuffersEXT,
      glDeleteRenderbuffersOES,
      glDeleteSamplers,
      glDeleteSemaphoresEXT,
      glDeleteShader,
      glDeleteStatesNV,
      glDeleteSync,
      glDeleteSyncAPPLE,
      glDeleteTextures,
      glDeleteTexturesEXT,
      glDeleteTransformFeedbacks,
      glDeleteTransformFeedbacksNV,
      glDeleteVertexArrays,
      glDeleteVertexArraysAPPLE
    ) where

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

    -- glCopyTextureLevelsAPPLE ----------------------------------------------------

    glCopyTextureLevelsAPPLE
      :: MonadIO m
      => GLuint -- ^ @destinationTexture@.
      -> GLuint -- ^ @sourceTexture@.
      -> GLint -- ^ @sourceBaseLevel@.
      -> GLsizei -- ^ @sourceLevelCount@.
      -> m ()
    glCopyTextureLevelsAPPLE :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint -> GLint -> GLint -> m ()
    glCopyTextureLevelsAPPLE GLuint
    v1 GLuint
    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 (GLuint -> GLuint -> GLint -> GLint -> IO ())
    -> GLuint -> GLuint -> GLint -> GLint -> IO ()
    dyn190 FunPtr (GLuint -> GLuint -> GLint -> GLint -> IO ())
    ptr_glCopyTextureLevelsAPPLE GLuint
    v1 GLuint
    v2 GLint
    v3 GLint
    v4

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

    -- glCopyTextureSubImage1D -----------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glCopyTexSubImage1D.xhtml OpenGL 4.x>.
    glCopyTextureSubImage1D
      :: MonadIO m
      => GLuint -- ^ @texture@.
      -> GLint -- ^ @level@.
      -> GLint -- ^ @xoffset@.
      -> GLint -- ^ @x@.
      -> GLint -- ^ @y@.
      -> GLsizei -- ^ @width@.
      -> m ()
    glCopyTextureSubImage1D :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> m ()
    glCopyTextureSubImage1D GLuint
    v1 GLint
    v2 GLint
    v3 GLint
    v4 GLint
    v5 GLint
    v6 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> IO ())
    -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> IO ()
    dyn191 FunPtr
      (GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> IO ())
    ptr_glCopyTextureSubImage1D GLuint
    v1 GLint
    v2 GLint
    v3 GLint
    v4 GLint
    v5 GLint
    v6

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

    -- glCopyTextureSubImage1DEXT --------------------------------------------------

    glCopyTextureSubImage1DEXT
      :: MonadIO m
      => GLuint -- ^ @texture@ of type @Texture@.
      -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
      -> GLint -- ^ @x@ of type @WinCoord@.
      -> GLint -- ^ @y@ of type @WinCoord@.
      -> GLsizei -- ^ @width@.
      -> m ()
    glCopyTextureSubImage1DEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLuint
    -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> m ()
    glCopyTextureSubImage1DEXT GLuint
    v1 GLuint
    v2 GLint
    v3 GLint
    v4 GLint
    v5 GLint
    v6 GLint
    v7 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLuint
       -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> IO ())
    -> GLuint
    -> GLuint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> IO ()
    dyn192 FunPtr
      (GLuint
       -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> IO ())
    ptr_glCopyTextureSubImage1DEXT GLuint
    v1 GLuint
    v2 GLint
    v3 GLint
    v4 GLint
    v5 GLint
    v6 GLint
    v7

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

    -- glCopyTextureSubImage2D -----------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glCopyTexSubImage2D.xhtml OpenGL 4.x>.
    glCopyTextureSubImage2D
      :: MonadIO m
      => GLuint -- ^ @texture@.
      -> GLint -- ^ @level@.
      -> GLint -- ^ @xoffset@.
      -> GLint -- ^ @yoffset@.
      -> GLint -- ^ @x@.
      -> GLint -- ^ @y@.
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> m ()
    glCopyTextureSubImage2D :: forall (m :: * -> *).
    MonadIO m =>
    GLuint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> m ()
    glCopyTextureSubImage2D GLuint
    v1 GLint
    v2 GLint
    v3 GLint
    v4 GLint
    v5 GLint
    v6 GLint
    v7 GLint
    v8 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> IO ())
    -> GLuint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> IO ()
    dyn193 FunPtr
      (GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> IO ())
    ptr_glCopyTextureSubImage2D GLuint
    v1 GLint
    v2 GLint
    v3 GLint
    v4 GLint
    v5 GLint
    v6 GLint
    v7 GLint
    v8

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

    -- glCopyTextureSubImage2DEXT --------------------------------------------------

    glCopyTextureSubImage2DEXT
      :: MonadIO m
      => GLuint -- ^ @texture@ of type @Texture@.
      -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
      -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
      -> GLint -- ^ @x@ of type @WinCoord@.
      -> GLint -- ^ @y@ of type @WinCoord@.
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> m ()
    glCopyTextureSubImage2DEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLuint
    -> GLuint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> m ()
    glCopyTextureSubImage2DEXT GLuint
    v1 GLuint
    v2 GLint
    v3 GLint
    v4 GLint
    v5 GLint
    v6 GLint
    v7 GLint
    v8 GLint
    v9 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLuint
       -> GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> IO ())
    -> GLuint
    -> GLuint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> IO ()
    dyn194 FunPtr
      (GLuint
       -> GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> IO ())
    ptr_glCopyTextureSubImage2DEXT GLuint
    v1 GLuint
    v2 GLint
    v3 GLint
    v4 GLint
    v5 GLint
    v6 GLint
    v7 GLint
    v8 GLint
    v9

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

    -- glCopyTextureSubImage3D -----------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glCopyTexSubImage3D.xhtml OpenGL 4.x>.
    glCopyTextureSubImage3D
      :: MonadIO m
      => GLuint -- ^ @texture@.
      -> GLint -- ^ @level@.
      -> GLint -- ^ @xoffset@.
      -> GLint -- ^ @yoffset@.
      -> GLint -- ^ @zoffset@.
      -> GLint -- ^ @x@.
      -> GLint -- ^ @y@.
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> m ()
    glCopyTextureSubImage3D :: forall (m :: * -> *).
    MonadIO m =>
    GLuint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> m ()
    glCopyTextureSubImage3D GLuint
    v1 GLint
    v2 GLint
    v3 GLint
    v4 GLint
    v5 GLint
    v6 GLint
    v7 GLint
    v8 GLint
    v9 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> IO ())
    -> GLuint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> GLint
    -> IO ()
    dyn195 FunPtr
      (GLuint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> GLint
       -> IO ())
    ptr_glCopyTextureSubImage3D GLuint
    v1 GLint
    v2 GLint
    v3 GLint
    v4 GLint
    v5 GLint
    v6 GLint
    v7 GLint
    v8 GLint
    v9

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

    -- glCopyTextureSubImage3DEXT --------------------------------------------------

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

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

    -- glCoverFillPathInstancedNV --------------------------------------------------

    glCoverFillPathInstancedNV
      :: MonadIO m
      => GLsizei -- ^ @numPaths@.
      -> GLenum -- ^ @pathNameType@ of type [PathElementType](Graphics-GL-Groups.html#PathElementType).
      -> Ptr a -- ^ @paths@ pointing to @COMPSIZE(numPaths,pathNameType,paths)@ elements of type @PathElement@.
      -> GLuint -- ^ @pathBase@ of type @Path@.
      -> GLenum -- ^ @coverMode@ of type [PathCoverMode](Graphics-GL-Groups.html#PathCoverMode).
      -> GLenum -- ^ @transformType@ of type [PathTransformType](Graphics-GL-Groups.html#PathTransformType).
      -> Ptr GLfloat -- ^ @transformValues@ pointing to @COMPSIZE(numPaths,transformType)@ elements of type @GLfloat@.
      -> m ()
    glCoverFillPathInstancedNV :: forall (m :: * -> *) a.
    MonadIO m =>
    GLint
    -> GLuint
    -> Ptr a
    -> GLuint
    -> GLuint
    -> GLuint
    -> Ptr GLfloat
    -> m ()
    glCoverFillPathInstancedNV GLint
    v1 GLuint
    v2 Ptr a
    v3 GLuint
    v4 GLuint
    v5 GLuint
    v6 Ptr GLfloat
    v7 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLint
       -> GLuint
       -> Ptr a
       -> GLuint
       -> GLuint
       -> GLuint
       -> Ptr GLfloat
       -> IO ())
    -> GLint
    -> GLuint
    -> Ptr a
    -> GLuint
    -> GLuint
    -> GLuint
    -> Ptr GLfloat
    -> IO ()
    forall a.
    FunPtr
      (GLint
       -> GLuint
       -> Ptr a
       -> GLuint
       -> GLuint
       -> GLuint
       -> Ptr GLfloat
       -> IO ())
    -> GLint
    -> GLuint
    -> Ptr a
    -> GLuint
    -> GLuint
    -> GLuint
    -> Ptr GLfloat
    -> IO ()
    dyn197 FunPtr
      (GLint
       -> GLuint
       -> Ptr a
       -> GLuint
       -> GLuint
       -> GLuint
       -> Ptr GLfloat
       -> IO ())
    forall a.
    FunPtr
      (GLint
       -> GLuint
       -> Ptr a
       -> GLuint
       -> GLuint
       -> GLuint
       -> Ptr GLfloat
       -> IO ())
    ptr_glCoverFillPathInstancedNV GLint
    v1 GLuint
    v2 Ptr a
    v3 GLuint
    v4 GLuint
    v5 GLuint
    v6 Ptr GLfloat
    v7

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

    -- glCoverFillPathNV -----------------------------------------------------------

    glCoverFillPathNV
      :: MonadIO m
      => GLuint -- ^ @path@ of type @Path@.
      -> GLenum -- ^ @coverMode@ of type [PathCoverMode](Graphics-GL-Groups.html#PathCoverMode).
      -> m ()
    glCoverFillPathNV :: forall (m :: * -> *). MonadIO m => GLuint -> GLuint -> m ()
    glCoverFillPathNV 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_glCoverFillPathNV GLuint
    v1 GLuint
    v2

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

    -- glCoverStrokePathInstancedNV ------------------------------------------------

    glCoverStrokePathInstancedNV
      :: MonadIO m
      => GLsizei -- ^ @numPaths@.
      -> GLenum -- ^ @pathNameType@ of type [PathElementType](Graphics-GL-Groups.html#PathElementType).
      -> Ptr a -- ^ @paths@ pointing to @COMPSIZE(numPaths,pathNameType,paths)@ elements of type @PathElement@.
      -> GLuint -- ^ @pathBase@ of type @Path@.
      -> GLenum -- ^ @coverMode@ of type [PathCoverMode](Graphics-GL-Groups.html#PathCoverMode).
      -> GLenum -- ^ @transformType@ of type [PathTransformType](Graphics-GL-Groups.html#PathTransformType).
      -> Ptr GLfloat -- ^ @transformValues@ pointing to @COMPSIZE(numPaths,transformType)@ elements of type @GLfloat@.
      -> m ()
    glCoverStrokePathInstancedNV :: forall (m :: * -> *) a.
    MonadIO m =>
    GLint
    -> GLuint
    -> Ptr a
    -> GLuint
    -> GLuint
    -> GLuint
    -> Ptr GLfloat
    -> m ()
    glCoverStrokePathInstancedNV GLint
    v1 GLuint
    v2 Ptr a
    v3 GLuint
    v4 GLuint
    v5 GLuint
    v6 Ptr GLfloat
    v7 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLint
       -> GLuint
       -> Ptr a
       -> GLuint
       -> GLuint
       -> GLuint
       -> Ptr GLfloat
       -> IO ())
    -> GLint
    -> GLuint
    -> Ptr a
    -> GLuint
    -> GLuint
    -> GLuint
    -> Ptr GLfloat
    -> IO ()
    forall a.
    FunPtr
      (GLint
       -> GLuint
       -> Ptr a
       -> GLuint
       -> GLuint
       -> GLuint
       -> Ptr GLfloat
       -> IO ())
    -> GLint
    -> GLuint
    -> Ptr a
    -> GLuint
    -> GLuint
    -> GLuint
    -> Ptr GLfloat
    -> IO ()
    dyn197 FunPtr
      (GLint
       -> GLuint
       -> Ptr a
       -> GLuint
       -> GLuint
       -> GLuint
       -> Ptr GLfloat
       -> IO ())
    forall a.
    FunPtr
      (GLint
       -> GLuint
       -> Ptr a
       -> GLuint
       -> GLuint
       -> GLuint
       -> Ptr GLfloat
       -> IO ())
    ptr_glCoverStrokePathInstancedNV GLint
    v1 GLuint
    v2 Ptr a
    v3 GLuint
    v4 GLuint
    v5 GLuint
    v6 Ptr GLfloat
    v7

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

    -- glCoverStrokePathNV ---------------------------------------------------------

    glCoverStrokePathNV
      :: MonadIO m
      => GLuint -- ^ @path@ of type @Path@.
      -> GLenum -- ^ @coverMode@ of type [PathCoverMode](Graphics-GL-Groups.html#PathCoverMode).
      -> m ()
    glCoverStrokePathNV :: forall (m :: * -> *). MonadIO m => GLuint -> GLuint -> m ()
    glCoverStrokePathNV 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_glCoverStrokePathNV GLuint
    v1 GLuint
    v2

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

    -- glCoverageMaskNV ------------------------------------------------------------

    glCoverageMaskNV
      :: MonadIO m
      => GLboolean -- ^ @mask@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
      -> m ()
    glCoverageMaskNV :: forall (m :: * -> *). MonadIO m => GLboolean -> m ()
    glCoverageMaskNV GLboolean
    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 (GLboolean -> IO ()) -> GLboolean -> IO ()
    dyn198 FunPtr (GLboolean -> IO ())
    ptr_glCoverageMaskNV GLboolean
    v1

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

    -- glCoverageModulationNV ------------------------------------------------------

    glCoverageModulationNV
      :: MonadIO m
      => GLenum -- ^ @components@.
      -> m ()
    glCoverageModulationNV :: forall (m :: * -> *). MonadIO m => GLuint -> m ()
    glCoverageModulationNV 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_glCoverageModulationNV GLuint
    v1

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

    -- glCoverageModulationTableNV -------------------------------------------------

    glCoverageModulationTableNV
      :: MonadIO m
      => GLsizei -- ^ @n@.
      -> Ptr GLfloat -- ^ @v@ pointing to @n@ elements of type @GLfloat@.
      -> m ()
    glCoverageModulationTableNV :: forall (m :: * -> *). MonadIO m => GLint -> Ptr GLfloat -> m ()
    glCoverageModulationTableNV GLint
    v1 Ptr GLfloat
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLint -> Ptr GLfloat -> IO ())
    -> GLint -> Ptr GLfloat -> IO ()
    dyn199 FunPtr (GLint -> Ptr GLfloat -> IO ())
    ptr_glCoverageModulationTableNV GLint
    v1 Ptr GLfloat
    v2

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

    -- glCoverageOperationNV -------------------------------------------------------

    glCoverageOperationNV
      :: MonadIO m
      => GLenum -- ^ @operation@.
      -> m ()
    glCoverageOperationNV :: forall (m :: * -> *). MonadIO m => GLuint -> m ()
    glCoverageOperationNV 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_glCoverageOperationNV GLuint
    v1

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

    -- glCreateBuffers -------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glCreateBuffers.xhtml OpenGL 4.x>.
    glCreateBuffers
      :: MonadIO m
      => GLsizei -- ^ @n@.
      -> Ptr GLuint -- ^ @buffers@ pointing to @n@ elements of type @GLuint@.
      -> m ()
    glCreateBuffers :: forall (m :: * -> *). MonadIO m => GLint -> Ptr GLuint -> m ()
    glCreateBuffers GLint
    v1 Ptr 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 (GLint -> Ptr GLuint -> IO ())
    -> GLint -> Ptr GLuint -> IO ()
    dyn200 FunPtr (GLint -> Ptr GLuint -> IO ())
    ptr_glCreateBuffers GLint
    v1 Ptr GLuint
    v2

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

    -- glCreateCommandListsNV ------------------------------------------------------

    glCreateCommandListsNV
      :: MonadIO m
      => GLsizei -- ^ @n@.
      -> Ptr GLuint -- ^ @lists@ pointing to @n@ elements of type @GLuint@.
      -> m ()
    glCreateCommandListsNV :: forall (m :: * -> *). MonadIO m => GLint -> Ptr GLuint -> m ()
    glCreateCommandListsNV GLint
    v1 Ptr 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 (GLint -> Ptr GLuint -> IO ())
    -> GLint -> Ptr GLuint -> IO ()
    dyn200 FunPtr (GLint -> Ptr GLuint -> IO ())
    ptr_glCreateCommandListsNV GLint
    v1 Ptr GLuint
    v2

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

    -- glCreateFramebuffers --------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glCreateFramebuffers.xhtml OpenGL 4.x>.
    glCreateFramebuffers
      :: MonadIO m
      => GLsizei -- ^ @n@.
      -> Ptr GLuint -- ^ @framebuffers@ pointing to @n@ elements of type @GLuint@.
      -> m ()
    glCreateFramebuffers :: forall (m :: * -> *). MonadIO m => GLint -> Ptr GLuint -> m ()
    glCreateFramebuffers GLint
    v1 Ptr 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 (GLint -> Ptr GLuint -> IO ())
    -> GLint -> Ptr GLuint -> IO ()
    dyn200 FunPtr (GLint -> Ptr GLuint -> IO ())
    ptr_glCreateFramebuffers GLint
    v1 Ptr GLuint
    v2

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

    -- glCreateMemoryObjectsEXT ----------------------------------------------------

    glCreateMemoryObjectsEXT
      :: MonadIO m
      => GLsizei -- ^ @n@.
      -> Ptr GLuint -- ^ @memoryObjects@.
      -> m ()
    glCreateMemoryObjectsEXT :: forall (m :: * -> *). MonadIO m => GLint -> Ptr GLuint -> m ()
    glCreateMemoryObjectsEXT GLint
    v1 Ptr 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 (GLint -> Ptr GLuint -> IO ())
    -> GLint -> Ptr GLuint -> IO ()
    dyn200 FunPtr (GLint -> Ptr GLuint -> IO ())
    ptr_glCreateMemoryObjectsEXT GLint
    v1 Ptr GLuint
    v2

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

    -- glCreatePerfQueryINTEL ------------------------------------------------------

    glCreatePerfQueryINTEL
      :: MonadIO m
      => GLuint -- ^ @queryId@.
      -> Ptr GLuint -- ^ @queryHandle@.
      -> m ()
    glCreatePerfQueryINTEL :: forall (m :: * -> *). MonadIO m => GLuint -> Ptr GLuint -> m ()
    glCreatePerfQueryINTEL GLuint
    v1 Ptr 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 -> Ptr GLuint -> IO ())
    -> GLuint -> Ptr GLuint -> IO ()
    dyn201 FunPtr (GLuint -> Ptr GLuint -> IO ())
    ptr_glCreatePerfQueryINTEL GLuint
    v1 Ptr GLuint
    v2

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

    -- glCreateProgram -------------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glCreateProgram.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glCreateProgram.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glCreateProgram.xhtml OpenGL 4.x>.
    glCreateProgram
      :: MonadIO m
      => m GLuint
    glCreateProgram :: forall (m :: * -> *). MonadIO m => m GLuint
    glCreateProgram = 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 (IO GLuint) -> IO GLuint
    dyn202 FunPtr (IO GLuint)
    ptr_glCreateProgram

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

    -- glCreateProgramObjectARB ----------------------------------------------------

    -- | This command is an alias for 'glCreateProgram'.
    glCreateProgramObjectARB
      :: MonadIO m
      => m GLhandleARB -- ^ of type @handleARB@.
    glCreateProgramObjectARB :: forall (m :: * -> *). MonadIO m => m GLuint
    glCreateProgramObjectARB = 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 (IO GLuint) -> IO GLuint
    dyn203 FunPtr (IO GLuint)
    ptr_glCreateProgramObjectARB

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

    -- glCreateProgramPipelines ----------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glCreateProgramPipelines.xhtml OpenGL 4.x>.
    glCreateProgramPipelines
      :: MonadIO m
      => GLsizei -- ^ @n@.
      -> Ptr GLuint -- ^ @pipelines@ pointing to @n@ elements of type @GLuint@.
      -> m ()
    glCreateProgramPipelines :: forall (m :: * -> *). MonadIO m => GLint -> Ptr GLuint -> m ()
    glCreateProgramPipelines GLint
    v1 Ptr 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 (GLint -> Ptr GLuint -> IO ())
    -> GLint -> Ptr GLuint -> IO ()
    dyn200 FunPtr (GLint -> Ptr GLuint -> IO ())
    ptr_glCreateProgramPipelines GLint
    v1 Ptr GLuint
    v2

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

    -- glCreateProgressFenceNVX ----------------------------------------------------

    glCreateProgressFenceNVX
      :: MonadIO m
      => m GLuint
    glCreateProgressFenceNVX :: forall (m :: * -> *). MonadIO m => m GLuint
    glCreateProgressFenceNVX = 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 (IO GLuint) -> IO GLuint
    dyn202 FunPtr (IO GLuint)
    ptr_glCreateProgressFenceNVX

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

    -- glCreateQueries -------------------------------------------------------------

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

    {-# NOINLINE ptr_glCreateQueries #-}
    ptr_glCreateQueries :: FunPtr (GLenum -> GLsizei -> Ptr GLuint -> IO ())
    ptr_glCreateQueries :: FunPtr (GLuint -> GLint -> Ptr GLuint -> IO ())
    ptr_glCreateQueries = 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
    "glCreateQueries"

    -- glCreateRenderbuffers -------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glCreateRenderbuffers.xhtml OpenGL 4.x>.
    glCreateRenderbuffers
      :: MonadIO m
      => GLsizei -- ^ @n@.
      -> Ptr GLuint -- ^ @renderbuffers@ pointing to @n@ elements of type @GLuint@.
      -> m ()
    glCreateRenderbuffers :: forall (m :: * -> *). MonadIO m => GLint -> Ptr GLuint -> m ()
    glCreateRenderbuffers GLint
    v1 Ptr 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 (GLint -> Ptr GLuint -> IO ())
    -> GLint -> Ptr GLuint -> IO ()
    dyn200 FunPtr (GLint -> Ptr GLuint -> IO ())
    ptr_glCreateRenderbuffers GLint
    v1 Ptr GLuint
    v2

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

    -- glCreateSamplers ------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glCreateSamplers.xhtml OpenGL 4.x>.
    glCreateSamplers
      :: MonadIO m
      => GLsizei -- ^ @n@.
      -> Ptr GLuint -- ^ @samplers@ pointing to @n@ elements of type @GLuint@.
      -> m ()
    glCreateSamplers :: forall (m :: * -> *). MonadIO m => GLint -> Ptr GLuint -> m ()
    glCreateSamplers GLint
    v1 Ptr 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 (GLint -> Ptr GLuint -> IO ())
    -> GLint -> Ptr GLuint -> IO ()
    dyn200 FunPtr (GLint -> Ptr GLuint -> IO ())
    ptr_glCreateSamplers GLint
    v1 Ptr GLuint
    v2

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

    -- glCreateShader --------------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glCreateShader.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glCreateShader.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glCreateShader.xhtml OpenGL 4.x>.
    glCreateShader
      :: MonadIO m
      => GLenum -- ^ @type@ of type [ShaderType](Graphics-GL-Groups.html#ShaderType).
      -> m GLuint
    glCreateShader :: forall (m :: * -> *). MonadIO m => GLuint -> m GLuint
    glCreateShader 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
    dyn33 FunPtr (GLuint -> IO GLuint)
    ptr_glCreateShader GLuint
    v1

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

    -- glCreateShaderObjectARB -----------------------------------------------------

    -- | This command is an alias for 'glCreateShader'.
    glCreateShaderObjectARB
      :: MonadIO m
      => GLenum -- ^ @shaderType@ of type [ShaderType](Graphics-GL-Groups.html#ShaderType).
      -> m GLhandleARB -- ^ of type @handleARB@.
    glCreateShaderObjectARB :: forall (m :: * -> *). MonadIO m => GLuint -> m GLuint
    glCreateShaderObjectARB 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
    dyn205 FunPtr (GLuint -> IO GLuint)
    ptr_glCreateShaderObjectARB GLuint
    v1

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

    -- glCreateShaderProgramEXT ----------------------------------------------------

    glCreateShaderProgramEXT
      :: MonadIO m
      => GLenum -- ^ @type@ of type [ShaderType](Graphics-GL-Groups.html#ShaderType).
      -> Ptr GLchar -- ^ @string@.
      -> m GLuint
    glCreateShaderProgramEXT :: forall (m :: * -> *). MonadIO m => GLuint -> Ptr GLchar -> m GLuint
    glCreateShaderProgramEXT GLuint
    v1 Ptr GLchar
    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 -> Ptr GLchar -> IO GLuint)
    -> GLuint -> Ptr GLchar -> IO GLuint
    dyn206 FunPtr (GLuint -> Ptr GLchar -> IO GLuint)
    ptr_glCreateShaderProgramEXT GLuint
    v1 Ptr GLchar
    v2

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

    -- glCreateShaderProgramv ------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glCreateShaderProgram.xhtml OpenGL 4.x>.
    glCreateShaderProgramv
      :: MonadIO m
      => GLenum -- ^ @type@ of type [ShaderType](Graphics-GL-Groups.html#ShaderType).
      -> GLsizei -- ^ @count@.
      -> Ptr (Ptr GLchar) -- ^ @strings@ pointing to @count@ elements of type @Ptr GLchar@.
      -> m GLuint
    glCreateShaderProgramv :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLint -> Ptr (Ptr GLchar) -> m GLuint
    glCreateShaderProgramv GLuint
    v1 GLint
    v2 Ptr (Ptr GLchar)
    v3 = 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 -> GLint -> Ptr (Ptr GLchar) -> IO GLuint)
    -> GLuint -> GLint -> Ptr (Ptr GLchar) -> IO GLuint
    dyn207 FunPtr (GLuint -> GLint -> Ptr (Ptr GLchar) -> IO GLuint)
    ptr_glCreateShaderProgramv GLuint
    v1 GLint
    v2 Ptr (Ptr GLchar)
    v3

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

    -- glCreateShaderProgramvEXT ---------------------------------------------------

    glCreateShaderProgramvEXT
      :: MonadIO m
      => GLenum -- ^ @type@ of type [ShaderType](Graphics-GL-Groups.html#ShaderType).
      -> GLsizei -- ^ @count@.
      -> Ptr (Ptr GLchar) -- ^ @strings@ pointing to @count@ elements of type @Ptr GLchar@.
      -> m GLuint
    glCreateShaderProgramvEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLint -> Ptr (Ptr GLchar) -> m GLuint
    glCreateShaderProgramvEXT GLuint
    v1 GLint
    v2 Ptr (Ptr GLchar)
    v3 = 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 -> GLint -> Ptr (Ptr GLchar) -> IO GLuint)
    -> GLuint -> GLint -> Ptr (Ptr GLchar) -> IO GLuint
    dyn207 FunPtr (GLuint -> GLint -> Ptr (Ptr GLchar) -> IO GLuint)
    ptr_glCreateShaderProgramvEXT GLuint
    v1 GLint
    v2 Ptr (Ptr GLchar)
    v3

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

    -- glCreateStatesNV ------------------------------------------------------------

    glCreateStatesNV
      :: MonadIO m
      => GLsizei -- ^ @n@.
      -> Ptr GLuint -- ^ @states@ pointing to @n@ elements of type @GLuint@.
      -> m ()
    glCreateStatesNV :: forall (m :: * -> *). MonadIO m => GLint -> Ptr GLuint -> m ()
    glCreateStatesNV GLint
    v1 Ptr 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 (GLint -> Ptr GLuint -> IO ())
    -> GLint -> Ptr GLuint -> IO ()
    dyn200 FunPtr (GLint -> Ptr GLuint -> IO ())
    ptr_glCreateStatesNV GLint
    v1 Ptr GLuint
    v2

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

    -- glCreateSyncFromCLeventARB --------------------------------------------------

    glCreateSyncFromCLeventARB
      :: MonadIO m
      => Ptr a -- ^ @context@ pointing to elements of type @cl_context@.
      -> Ptr b -- ^ @event@ pointing to elements of type @cl_event@.
      -> GLbitfield -- ^ @flags@.
      -> m GLsync -- ^ of type @sync@.
    glCreateSyncFromCLeventARB :: forall (m :: * -> *) a b.
    MonadIO m =>
    Ptr a -> Ptr b -> GLuint -> m GLsync
    glCreateSyncFromCLeventARB Ptr a
    v1 Ptr b
    v2 GLuint
    v3 = IO GLsync -> m GLsync
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO GLsync -> m GLsync) -> IO GLsync -> m GLsync
    forall a b. (a -> b) -> a -> b
    $ FunPtr (Ptr a -> Ptr b -> GLuint -> IO GLsync)
    -> Ptr a -> Ptr b -> GLuint -> IO GLsync
    forall a b.
    FunPtr (Ptr a -> Ptr b -> GLuint -> IO GLsync)
    -> Ptr a -> Ptr b -> GLuint -> IO GLsync
    dyn208 FunPtr (Ptr a -> Ptr b -> GLuint -> IO GLsync)
    forall a b. FunPtr (Ptr a -> Ptr b -> GLuint -> IO GLsync)
    ptr_glCreateSyncFromCLeventARB Ptr a
    v1 Ptr b
    v2 GLuint
    v3

    {-# NOINLINE ptr_glCreateSyncFromCLeventARB #-}
    ptr_glCreateSyncFromCLeventARB :: FunPtr (Ptr a -> Ptr b -> GLbitfield -> IO GLsync)
    ptr_glCreateSyncFromCLeventARB :: forall a b. FunPtr (Ptr a -> Ptr b -> GLuint -> IO GLsync)
    ptr_glCreateSyncFromCLeventARB = IO (FunPtr (Ptr a -> Ptr b -> GLuint -> IO GLsync))
    -> FunPtr (Ptr a -> Ptr b -> GLuint -> IO GLsync)
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (Ptr a -> Ptr b -> GLuint -> IO GLsync))
     -> FunPtr (Ptr a -> Ptr b -> GLuint -> IO GLsync))
    -> IO (FunPtr (Ptr a -> Ptr b -> GLuint -> IO GLsync))
    -> FunPtr (Ptr a -> Ptr b -> GLuint -> IO GLsync)
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (Ptr a -> Ptr b -> GLuint -> IO GLsync))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glCreateSyncFromCLeventARB"

    -- glCreateTextures ------------------------------------------------------------

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

    {-# NOINLINE ptr_glCreateTextures #-}
    ptr_glCreateTextures :: FunPtr (GLenum -> GLsizei -> Ptr GLuint -> IO ())
    ptr_glCreateTextures :: FunPtr (GLuint -> GLint -> Ptr GLuint -> IO ())
    ptr_glCreateTextures = 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
    "glCreateTextures"

    -- glCreateTransformFeedbacks --------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glCreateTransformFeedbacks.xhtml OpenGL 4.x>.
    glCreateTransformFeedbacks
      :: MonadIO m
      => GLsizei -- ^ @n@.
      -> Ptr GLuint -- ^ @ids@ pointing to @n@ elements of type @GLuint@.
      -> m ()
    glCreateTransformFeedbacks :: forall (m :: * -> *). MonadIO m => GLint -> Ptr GLuint -> m ()
    glCreateTransformFeedbacks GLint
    v1 Ptr 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 (GLint -> Ptr GLuint -> IO ())
    -> GLint -> Ptr GLuint -> IO ()
    dyn200 FunPtr (GLint -> Ptr GLuint -> IO ())
    ptr_glCreateTransformFeedbacks GLint
    v1 Ptr GLuint
    v2

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

    -- glCreateVertexArrays --------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glCreateVertexArrays.xhtml OpenGL 4.x>.
    glCreateVertexArrays
      :: MonadIO m
      => GLsizei -- ^ @n@.
      -> Ptr GLuint -- ^ @arrays@ pointing to @n@ elements of type @GLuint@.
      -> m ()
    glCreateVertexArrays :: forall (m :: * -> *). MonadIO m => GLint -> Ptr GLuint -> m ()
    glCreateVertexArrays GLint
    v1 Ptr 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 (GLint -> Ptr GLuint -> IO ())
    -> GLint -> Ptr GLuint -> IO ()
    dyn200 FunPtr (GLint -> Ptr GLuint -> IO ())
    ptr_glCreateVertexArrays GLint
    v1 Ptr GLuint
    v2

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

    -- glCullFace ------------------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glCullFace.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glCullFace.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glCullFace.xhtml OpenGL 4.x>.
    glCullFace
      :: MonadIO m
      => GLenum -- ^ @mode@ of type [CullFaceMode](Graphics-GL-Groups.html#CullFaceMode).
      -> m ()
    glCullFace :: forall (m :: * -> *). MonadIO m => GLuint -> m ()
    glCullFace 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_glCullFace GLuint
    v1

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

    -- glCullParameterdvEXT --------------------------------------------------------

    glCullParameterdvEXT
      :: MonadIO m
      => GLenum -- ^ @pname@ of type [CullParameterEXT](Graphics-GL-Groups.html#CullParameterEXT).
      -> Ptr GLdouble -- ^ @params@ pointing to @4@ elements of type @GLdouble@.
      -> m ()
    glCullParameterdvEXT :: forall (m :: * -> *). MonadIO m => GLuint -> Ptr GLdouble -> m ()
    glCullParameterdvEXT GLuint
    v1 Ptr GLdouble
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> Ptr GLdouble -> IO ())
    -> GLuint -> Ptr GLdouble -> IO ()
    dyn100 FunPtr (GLuint -> Ptr GLdouble -> IO ())
    ptr_glCullParameterdvEXT GLuint
    v1 Ptr GLdouble
    v2

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

    -- glCullParameterfvEXT --------------------------------------------------------

    glCullParameterfvEXT
      :: MonadIO m
      => GLenum -- ^ @pname@ of type [CullParameterEXT](Graphics-GL-Groups.html#CullParameterEXT).
      -> Ptr GLfloat -- ^ @params@ pointing to @4@ elements of type @GLfloat@.
      -> m ()
    glCullParameterfvEXT :: forall (m :: * -> *). MonadIO m => GLuint -> Ptr GLfloat -> m ()
    glCullParameterfvEXT GLuint
    v1 Ptr GLfloat
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> Ptr GLfloat -> IO ())
    -> GLuint -> Ptr GLfloat -> IO ()
    dyn101 FunPtr (GLuint -> Ptr GLfloat -> IO ())
    ptr_glCullParameterfvEXT GLuint
    v1 Ptr GLfloat
    v2

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

    -- glCurrentPaletteMatrixARB ---------------------------------------------------

    glCurrentPaletteMatrixARB
      :: MonadIO m
      => GLint -- ^ @index@.
      -> m ()
    glCurrentPaletteMatrixARB :: forall (m :: * -> *). MonadIO m => GLint -> m ()
    glCurrentPaletteMatrixARB 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 (GLint -> IO ()) -> GLint -> IO ()
    dyn13 FunPtr (GLint -> IO ())
    ptr_glCurrentPaletteMatrixARB GLint
    v1

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

    -- glCurrentPaletteMatrixOES ---------------------------------------------------

    glCurrentPaletteMatrixOES
      :: MonadIO m
      => GLuint -- ^ @matrixpaletteindex@.
      -> m ()
    glCurrentPaletteMatrixOES :: forall (m :: * -> *). MonadIO m => GLuint -> m ()
    glCurrentPaletteMatrixOES 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_glCurrentPaletteMatrixOES GLuint
    v1

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

    -- glDebugMessageCallback ------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glDebugMessageCallback.xhtml OpenGL 4.x>.
    glDebugMessageCallback
      :: MonadIO m
      => GLDEBUGPROC -- ^ @callback@.
      -> Ptr a -- ^ @userParam@.
      -> m ()
    glDebugMessageCallback :: forall (m :: * -> *) a. MonadIO m => GLDEBUGPROC -> Ptr a -> m ()
    glDebugMessageCallback GLDEBUGPROC
    v1 Ptr a
    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 (GLDEBUGPROC -> Ptr a -> IO ())
    -> GLDEBUGPROC -> Ptr a -> IO ()
    forall a.
    FunPtr (GLDEBUGPROC -> Ptr a -> IO ())
    -> GLDEBUGPROC -> Ptr a -> IO ()
    dyn209 FunPtr (GLDEBUGPROC -> Ptr a -> IO ())
    forall a. FunPtr (GLDEBUGPROC -> Ptr a -> IO ())
    ptr_glDebugMessageCallback GLDEBUGPROC
    v1 Ptr a
    v2

    {-# NOINLINE ptr_glDebugMessageCallback #-}
    ptr_glDebugMessageCallback :: FunPtr (GLDEBUGPROC -> Ptr a -> IO ())
    ptr_glDebugMessageCallback :: forall a. FunPtr (GLDEBUGPROC -> Ptr a -> IO ())
    ptr_glDebugMessageCallback = IO (FunPtr (GLDEBUGPROC -> Ptr a -> IO ()))
    -> FunPtr (GLDEBUGPROC -> Ptr a -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLDEBUGPROC -> Ptr a -> IO ()))
     -> FunPtr (GLDEBUGPROC -> Ptr a -> IO ()))
    -> IO (FunPtr (GLDEBUGPROC -> Ptr a -> IO ()))
    -> FunPtr (GLDEBUGPROC -> Ptr a -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLDEBUGPROC -> Ptr a -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glDebugMessageCallback"

    -- glDebugMessageCallbackAMD ---------------------------------------------------

    glDebugMessageCallbackAMD
      :: MonadIO m
      => GLDEBUGPROCAMD -- ^ @callback@.
      -> Ptr a -- ^ @userParam@.
      -> m ()
    glDebugMessageCallbackAMD :: forall (m :: * -> *) a.
    MonadIO m =>
    GLDEBUGPROCAMD -> Ptr a -> m ()
    glDebugMessageCallbackAMD GLDEBUGPROCAMD
    v1 Ptr a
    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 (GLDEBUGPROCAMD -> Ptr a -> IO ())
    -> GLDEBUGPROCAMD -> Ptr a -> IO ()
    forall a.
    FunPtr (GLDEBUGPROCAMD -> Ptr a -> IO ())
    -> GLDEBUGPROCAMD -> Ptr a -> IO ()
    dyn210 FunPtr (GLDEBUGPROCAMD -> Ptr a -> IO ())
    forall a. FunPtr (GLDEBUGPROCAMD -> Ptr a -> IO ())
    ptr_glDebugMessageCallbackAMD GLDEBUGPROCAMD
    v1 Ptr a
    v2

    {-# NOINLINE ptr_glDebugMessageCallbackAMD #-}
    ptr_glDebugMessageCallbackAMD :: FunPtr (GLDEBUGPROCAMD -> Ptr a -> IO ())
    ptr_glDebugMessageCallbackAMD :: forall a. FunPtr (GLDEBUGPROCAMD -> Ptr a -> IO ())
    ptr_glDebugMessageCallbackAMD = IO (FunPtr (GLDEBUGPROCAMD -> Ptr a -> IO ()))
    -> FunPtr (GLDEBUGPROCAMD -> Ptr a -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLDEBUGPROCAMD -> Ptr a -> IO ()))
     -> FunPtr (GLDEBUGPROCAMD -> Ptr a -> IO ()))
    -> IO (FunPtr (GLDEBUGPROCAMD -> Ptr a -> IO ()))
    -> FunPtr (GLDEBUGPROCAMD -> Ptr a -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLDEBUGPROCAMD -> Ptr a -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glDebugMessageCallbackAMD"

    -- glDebugMessageCallbackARB ---------------------------------------------------

    -- | This command is an alias for 'glDebugMessageCallback'.
    glDebugMessageCallbackARB
      :: MonadIO m
      => GLDEBUGPROCARB -- ^ @callback@.
      -> Ptr a -- ^ @userParam@ pointing to @COMPSIZE(callback)@ elements of type @a@.
      -> m ()
    glDebugMessageCallbackARB :: forall (m :: * -> *) a. MonadIO m => GLDEBUGPROC -> Ptr a -> m ()
    glDebugMessageCallbackARB GLDEBUGPROC
    v1 Ptr a
    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 (GLDEBUGPROC -> Ptr a -> IO ())
    -> GLDEBUGPROC -> Ptr a -> IO ()
    forall a.
    FunPtr (GLDEBUGPROC -> Ptr a -> IO ())
    -> GLDEBUGPROC -> Ptr a -> IO ()
    dyn211 FunPtr (GLDEBUGPROC -> Ptr a -> IO ())
    forall a. FunPtr (GLDEBUGPROC -> Ptr a -> IO ())
    ptr_glDebugMessageCallbackARB GLDEBUGPROC
    v1 Ptr a
    v2

    {-# NOINLINE ptr_glDebugMessageCallbackARB #-}
    ptr_glDebugMessageCallbackARB :: FunPtr (GLDEBUGPROCARB -> Ptr a -> IO ())
    ptr_glDebugMessageCallbackARB :: forall a. FunPtr (GLDEBUGPROC -> Ptr a -> IO ())
    ptr_glDebugMessageCallbackARB = IO (FunPtr (GLDEBUGPROC -> Ptr a -> IO ()))
    -> FunPtr (GLDEBUGPROC -> Ptr a -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLDEBUGPROC -> Ptr a -> IO ()))
     -> FunPtr (GLDEBUGPROC -> Ptr a -> IO ()))
    -> IO (FunPtr (GLDEBUGPROC -> Ptr a -> IO ()))
    -> FunPtr (GLDEBUGPROC -> Ptr a -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLDEBUGPROC -> Ptr a -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glDebugMessageCallbackARB"

    -- glDebugMessageCallbackKHR ---------------------------------------------------

    -- | This command is an alias for 'glDebugMessageCallback'.
    glDebugMessageCallbackKHR
      :: MonadIO m
      => GLDEBUGPROCKHR -- ^ @callback@.
      -> Ptr a -- ^ @userParam@.
      -> m ()
    glDebugMessageCallbackKHR :: forall (m :: * -> *) a. MonadIO m => GLDEBUGPROC -> Ptr a -> m ()
    glDebugMessageCallbackKHR GLDEBUGPROC
    v1 Ptr a
    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 (GLDEBUGPROC -> Ptr a -> IO ())
    -> GLDEBUGPROC -> Ptr a -> IO ()
    forall a.
    FunPtr (GLDEBUGPROC -> Ptr a -> IO ())
    -> GLDEBUGPROC -> Ptr a -> IO ()
    dyn212 FunPtr (GLDEBUGPROC -> Ptr a -> IO ())
    forall a. FunPtr (GLDEBUGPROC -> Ptr a -> IO ())
    ptr_glDebugMessageCallbackKHR GLDEBUGPROC
    v1 Ptr a
    v2

    {-# NOINLINE ptr_glDebugMessageCallbackKHR #-}
    ptr_glDebugMessageCallbackKHR :: FunPtr (GLDEBUGPROCKHR -> Ptr a -> IO ())
    ptr_glDebugMessageCallbackKHR :: forall a. FunPtr (GLDEBUGPROC -> Ptr a -> IO ())
    ptr_glDebugMessageCallbackKHR = IO (FunPtr (GLDEBUGPROC -> Ptr a -> IO ()))
    -> FunPtr (GLDEBUGPROC -> Ptr a -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLDEBUGPROC -> Ptr a -> IO ()))
     -> FunPtr (GLDEBUGPROC -> Ptr a -> IO ()))
    -> IO (FunPtr (GLDEBUGPROC -> Ptr a -> IO ()))
    -> FunPtr (GLDEBUGPROC -> Ptr a -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLDEBUGPROC -> Ptr a -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glDebugMessageCallbackKHR"

    -- glDebugMessageControl -------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glDebugMessageControl.xhtml OpenGL 4.x>.
    glDebugMessageControl
      :: MonadIO m
      => GLenum -- ^ @source@ of type [DebugSource](Graphics-GL-Groups.html#DebugSource).
      -> GLenum -- ^ @type@ of type [DebugType](Graphics-GL-Groups.html#DebugType).
      -> GLenum -- ^ @severity@ of type [DebugSeverity](Graphics-GL-Groups.html#DebugSeverity).
      -> GLsizei -- ^ @count@.
      -> Ptr GLuint -- ^ @ids@ pointing to @count@ elements of type @GLuint@.
      -> GLboolean -- ^ @enabled@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
      -> m ()
    glDebugMessageControl :: forall (m :: * -> *).
    MonadIO m =>
    GLuint
    -> GLuint -> GLuint -> GLint -> Ptr GLuint -> GLboolean -> m ()
    glDebugMessageControl GLuint
    v1 GLuint
    v2 GLuint
    v3 GLint
    v4 Ptr GLuint
    v5 GLboolean
    v6 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLuint
       -> GLuint -> GLuint -> GLint -> Ptr GLuint -> GLboolean -> IO ())
    -> GLuint
    -> GLuint
    -> GLuint
    -> GLint
    -> Ptr GLuint
    -> GLboolean
    -> IO ()
    dyn213 FunPtr
      (GLuint
       -> GLuint -> GLuint -> GLint -> Ptr GLuint -> GLboolean -> IO ())
    ptr_glDebugMessageControl GLuint
    v1 GLuint
    v2 GLuint
    v3 GLint
    v4 Ptr GLuint
    v5 GLboolean
    v6

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

    -- glDebugMessageControlARB ----------------------------------------------------

    -- | This command is an alias for 'glDebugMessageControl'.
    glDebugMessageControlARB
      :: MonadIO m
      => GLenum -- ^ @source@ of type [DebugSource](Graphics-GL-Groups.html#DebugSource).
      -> GLenum -- ^ @type@ of type [DebugType](Graphics-GL-Groups.html#DebugType).
      -> GLenum -- ^ @severity@ of type [DebugSeverity](Graphics-GL-Groups.html#DebugSeverity).
      -> GLsizei -- ^ @count@.
      -> Ptr GLuint -- ^ @ids@ pointing to @count@ elements of type @GLuint@.
      -> GLboolean -- ^ @enabled@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
      -> m ()
    glDebugMessageControlARB :: forall (m :: * -> *).
    MonadIO m =>
    GLuint
    -> GLuint -> GLuint -> GLint -> Ptr GLuint -> GLboolean -> m ()
    glDebugMessageControlARB GLuint
    v1 GLuint
    v2 GLuint
    v3 GLint
    v4 Ptr GLuint
    v5 GLboolean
    v6 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLuint
       -> GLuint -> GLuint -> GLint -> Ptr GLuint -> GLboolean -> IO ())
    -> GLuint
    -> GLuint
    -> GLuint
    -> GLint
    -> Ptr GLuint
    -> GLboolean
    -> IO ()
    dyn213 FunPtr
      (GLuint
       -> GLuint -> GLuint -> GLint -> Ptr GLuint -> GLboolean -> IO ())
    ptr_glDebugMessageControlARB GLuint
    v1 GLuint
    v2 GLuint
    v3 GLint
    v4 Ptr GLuint
    v5 GLboolean
    v6

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

    -- glDebugMessageControlKHR ----------------------------------------------------

    -- | This command is an alias for 'glDebugMessageControl'.
    glDebugMessageControlKHR
      :: MonadIO m
      => GLenum -- ^ @source@ of type [DebugSource](Graphics-GL-Groups.html#DebugSource).
      -> GLenum -- ^ @type@ of type [DebugType](Graphics-GL-Groups.html#DebugType).
      -> GLenum -- ^ @severity@ of type [DebugSeverity](Graphics-GL-Groups.html#DebugSeverity).
      -> GLsizei -- ^ @count@.
      -> Ptr GLuint -- ^ @ids@.
      -> GLboolean -- ^ @enabled@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
      -> m ()
    glDebugMessageControlKHR :: forall (m :: * -> *).
    MonadIO m =>
    GLuint
    -> GLuint -> GLuint -> GLint -> Ptr GLuint -> GLboolean -> m ()
    glDebugMessageControlKHR GLuint
    v1 GLuint
    v2 GLuint
    v3 GLint
    v4 Ptr GLuint
    v5 GLboolean
    v6 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLuint
       -> GLuint -> GLuint -> GLint -> Ptr GLuint -> GLboolean -> IO ())
    -> GLuint
    -> GLuint
    -> GLuint
    -> GLint
    -> Ptr GLuint
    -> GLboolean
    -> IO ()
    dyn213 FunPtr
      (GLuint
       -> GLuint -> GLuint -> GLint -> Ptr GLuint -> GLboolean -> IO ())
    ptr_glDebugMessageControlKHR GLuint
    v1 GLuint
    v2 GLuint
    v3 GLint
    v4 Ptr GLuint
    v5 GLboolean
    v6

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

    -- glDebugMessageEnableAMD -----------------------------------------------------

    glDebugMessageEnableAMD
      :: MonadIO m
      => GLenum -- ^ @category@.
      -> GLenum -- ^ @severity@ of type [DebugSeverity](Graphics-GL-Groups.html#DebugSeverity).
      -> GLsizei -- ^ @count@.
      -> Ptr GLuint -- ^ @ids@ pointing to @count@ elements of type @GLuint@.
      -> GLboolean -- ^ @enabled@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
      -> m ()
    glDebugMessageEnableAMD :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint -> GLint -> Ptr GLuint -> GLboolean -> m ()
    glDebugMessageEnableAMD GLuint
    v1 GLuint
    v2 GLint
    v3 Ptr GLuint
    v4 GLboolean
    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 -> GLint -> Ptr GLuint -> GLboolean -> IO ())
    -> GLuint -> GLuint -> GLint -> Ptr GLuint -> GLboolean -> IO ()
    dyn214 FunPtr
      (GLuint -> GLuint -> GLint -> Ptr GLuint -> GLboolean -> IO ())
    ptr_glDebugMessageEnableAMD GLuint
    v1 GLuint
    v2 GLint
    v3 Ptr GLuint
    v4 GLboolean
    v5

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

    -- glDebugMessageInsert --------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glDebugMessageInsert.xhtml OpenGL 4.x>.
    glDebugMessageInsert
      :: MonadIO m
      => GLenum -- ^ @source@ of type [DebugSource](Graphics-GL-Groups.html#DebugSource).
      -> GLenum -- ^ @type@ of type [DebugType](Graphics-GL-Groups.html#DebugType).
      -> GLuint -- ^ @id@.
      -> GLenum -- ^ @severity@ of type [DebugSeverity](Graphics-GL-Groups.html#DebugSeverity).
      -> GLsizei -- ^ @length@.
      -> Ptr GLchar -- ^ @buf@ pointing to @COMPSIZE(buf,length)@ elements of type @GLchar@.
      -> m ()
    glDebugMessageInsert :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint -> GLuint -> GLuint -> GLint -> Ptr GLchar -> m ()
    glDebugMessageInsert GLuint
    v1 GLuint
    v2 GLuint
    v3 GLuint
    v4 GLint
    v5 Ptr GLchar
    v6 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLuint
       -> GLuint -> GLuint -> GLuint -> GLint -> Ptr GLchar -> IO ())
    -> GLuint
    -> GLuint
    -> GLuint
    -> GLuint
    -> GLint
    -> Ptr GLchar
    -> IO ()
    dyn215 FunPtr
      (GLuint
       -> GLuint -> GLuint -> GLuint -> GLint -> Ptr GLchar -> IO ())
    ptr_glDebugMessageInsert GLuint
    v1 GLuint
    v2 GLuint
    v3 GLuint
    v4 GLint
    v5 Ptr GLchar
    v6

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

    -- glDebugMessageInsertAMD -----------------------------------------------------

    glDebugMessageInsertAMD
      :: MonadIO m
      => GLenum -- ^ @category@.
      -> GLenum -- ^ @severity@ of type [DebugSeverity](Graphics-GL-Groups.html#DebugSeverity).
      -> GLuint -- ^ @id@.
      -> GLsizei -- ^ @length@.
      -> Ptr GLchar -- ^ @buf@ pointing to @length@ elements of type @GLchar@.
      -> m ()
    glDebugMessageInsertAMD :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint -> GLuint -> GLint -> Ptr GLchar -> m ()
    glDebugMessageInsertAMD GLuint
    v1 GLuint
    v2 GLuint
    v3 GLint
    v4 Ptr GLchar
    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 -> GLint -> Ptr GLchar -> IO ())
    -> GLuint -> GLuint -> GLuint -> GLint -> Ptr GLchar -> IO ()
    dyn216 FunPtr (GLuint -> GLuint -> GLuint -> GLint -> Ptr GLchar -> IO ())
    ptr_glDebugMessageInsertAMD GLuint
    v1 GLuint
    v2 GLuint
    v3 GLint
    v4 Ptr GLchar
    v5

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

    -- glDebugMessageInsertARB -----------------------------------------------------

    -- | This command is an alias for 'glDebugMessageInsert'.
    glDebugMessageInsertARB
      :: MonadIO m
      => GLenum -- ^ @source@ of type [DebugSource](Graphics-GL-Groups.html#DebugSource).
      -> GLenum -- ^ @type@ of type [DebugType](Graphics-GL-Groups.html#DebugType).
      -> GLuint -- ^ @id@.
      -> GLenum -- ^ @severity@ of type [DebugSeverity](Graphics-GL-Groups.html#DebugSeverity).
      -> GLsizei -- ^ @length@.
      -> Ptr GLchar -- ^ @buf@ pointing to @length@ elements of type @GLchar@.
      -> m ()
    glDebugMessageInsertARB :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint -> GLuint -> GLuint -> GLint -> Ptr GLchar -> m ()
    glDebugMessageInsertARB GLuint
    v1 GLuint
    v2 GLuint
    v3 GLuint
    v4 GLint
    v5 Ptr GLchar
    v6 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLuint
       -> GLuint -> GLuint -> GLuint -> GLint -> Ptr GLchar -> IO ())
    -> GLuint
    -> GLuint
    -> GLuint
    -> GLuint
    -> GLint
    -> Ptr GLchar
    -> IO ()
    dyn215 FunPtr
      (GLuint
       -> GLuint -> GLuint -> GLuint -> GLint -> Ptr GLchar -> IO ())
    ptr_glDebugMessageInsertARB GLuint
    v1 GLuint
    v2 GLuint
    v3 GLuint
    v4 GLint
    v5 Ptr GLchar
    v6

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

    -- glDebugMessageInsertKHR -----------------------------------------------------

    -- | This command is an alias for 'glDebugMessageInsert'.
    glDebugMessageInsertKHR
      :: MonadIO m
      => GLenum -- ^ @source@ of type [DebugSource](Graphics-GL-Groups.html#DebugSource).
      -> GLenum -- ^ @type@ of type [DebugType](Graphics-GL-Groups.html#DebugType).
      -> GLuint -- ^ @id@.
      -> GLenum -- ^ @severity@ of type [DebugSeverity](Graphics-GL-Groups.html#DebugSeverity).
      -> GLsizei -- ^ @length@.
      -> Ptr GLchar -- ^ @buf@.
      -> m ()
    glDebugMessageInsertKHR :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint -> GLuint -> GLuint -> GLint -> Ptr GLchar -> m ()
    glDebugMessageInsertKHR GLuint
    v1 GLuint
    v2 GLuint
    v3 GLuint
    v4 GLint
    v5 Ptr GLchar
    v6 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLuint
       -> GLuint -> GLuint -> GLuint -> GLint -> Ptr GLchar -> IO ())
    -> GLuint
    -> GLuint
    -> GLuint
    -> GLuint
    -> GLint
    -> Ptr GLchar
    -> IO ()
    dyn215 FunPtr
      (GLuint
       -> GLuint -> GLuint -> GLuint -> GLint -> Ptr GLchar -> IO ())
    ptr_glDebugMessageInsertKHR GLuint
    v1 GLuint
    v2 GLuint
    v3 GLuint
    v4 GLint
    v5 Ptr GLchar
    v6

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

    -- glDeformSGIX ----------------------------------------------------------------

    glDeformSGIX
      :: MonadIO m
      => GLbitfield -- ^ @mask@ of type [FfdMaskSGIX](Graphics-GL-Groups.html#FfdMaskSGIX).
      -> m ()
    glDeformSGIX :: forall (m :: * -> *). MonadIO m => GLuint -> m ()
    glDeformSGIX 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_glDeformSGIX GLuint
    v1

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

    -- glDeformationMap3dSGIX ------------------------------------------------------

    glDeformationMap3dSGIX
      :: MonadIO m
      => GLenum -- ^ @target@ of type [FfdTargetSGIX](Graphics-GL-Groups.html#FfdTargetSGIX).
      -> GLdouble -- ^ @u1@ of type @CoordD@.
      -> GLdouble -- ^ @u2@ of type @CoordD@.
      -> GLint -- ^ @ustride@.
      -> GLint -- ^ @uorder@ of type @CheckedInt32@.
      -> GLdouble -- ^ @v1@ of type @CoordD@.
      -> GLdouble -- ^ @v2@ of type @CoordD@.
      -> GLint -- ^ @vstride@.
      -> GLint -- ^ @vorder@ of type @CheckedInt32@.
      -> GLdouble -- ^ @w1@ of type @CoordD@.
      -> GLdouble -- ^ @w2@ of type @CoordD@.
      -> GLint -- ^ @wstride@.
      -> GLint -- ^ @worder@ of type @CheckedInt32@.
      -> Ptr GLdouble -- ^ @points@ pointing to @COMPSIZE(target,ustride,uorder,vstride,vorder,wstride,worder)@ elements of type @CoordD@.
      -> m ()
    glDeformationMap3dSGIX :: forall (m :: * -> *).
    MonadIO m =>
    GLuint
    -> GLdouble
    -> GLdouble
    -> GLint
    -> GLint
    -> GLdouble
    -> GLdouble
    -> GLint
    -> GLint
    -> GLdouble
    -> GLdouble
    -> GLint
    -> GLint
    -> Ptr GLdouble
    -> m ()
    glDeformationMap3dSGIX GLuint
    v1 GLdouble
    v2 GLdouble
    v3 GLint
    v4 GLint
    v5 GLdouble
    v6 GLdouble
    v7 GLint
    v8 GLint
    v9 GLdouble
    v10 GLdouble
    v11 GLint
    v12 GLint
    v13 Ptr GLdouble
    v14 = IO () -> m ()
    forall a. IO a -> 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
       -> GLdouble
       -> GLdouble
       -> GLint
       -> GLint
       -> GLdouble
       -> GLdouble
       -> GLint
       -> GLint
       -> GLdouble
       -> GLdouble
       -> GLint
       -> GLint
       -> Ptr GLdouble
       -> IO ())
    -> GLuint
    -> GLdouble
    -> GLdouble
    -> GLint
    -> GLint
    -> GLdouble
    -> GLdouble
    -> GLint
    -> GLint
    -> GLdouble
    -> GLdouble
    -> GLint
    -> GLint
    -> Ptr GLdouble
    -> IO ()
    dyn217 FunPtr
      (GLuint
       -> GLdouble
       -> GLdouble
       -> GLint
       -> GLint
       -> GLdouble
       -> GLdouble
       -> GLint
       -> GLint
       -> GLdouble
       -> GLdouble
       -> GLint
       -> GLint
       -> Ptr GLdouble
       -> IO ())
    ptr_glDeformationMap3dSGIX GLuint
    v1 GLdouble
    v2 GLdouble
    v3 GLint
    v4 GLint
    v5 GLdouble
    v6 GLdouble
    v7 GLint
    v8 GLint
    v9 GLdouble
    v10 GLdouble
    v11 GLint
    v12 GLint
    v13 Ptr GLdouble
    v14

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

    -- glDeformationMap3fSGIX ------------------------------------------------------

    glDeformationMap3fSGIX
      :: MonadIO m
      => GLenum -- ^ @target@ of type [FfdTargetSGIX](Graphics-GL-Groups.html#FfdTargetSGIX).
      -> GLfloat -- ^ @u1@ of type @CoordF@.
      -> GLfloat -- ^ @u2@ of type @CoordF@.
      -> GLint -- ^ @ustride@.
      -> GLint -- ^ @uorder@ of type @CheckedInt32@.
      -> GLfloat -- ^ @v1@ of type @CoordF@.
      -> GLfloat -- ^ @v2@ of type @CoordF@.
      -> GLint -- ^ @vstride@.
      -> GLint -- ^ @vorder@ of type @CheckedInt32@.
      -> GLfloat -- ^ @w1@ of type @CoordF@.
      -> GLfloat -- ^ @w2@ of type @CoordF@.
      -> GLint -- ^ @wstride@.
      -> GLint -- ^ @worder@ of type @CheckedInt32@.
      -> Ptr GLfloat -- ^ @points@ pointing to @COMPSIZE(target,ustride,uorder,vstride,vorder,wstride,worder)@ elements of type @CoordF@.
      -> m ()
    glDeformationMap3fSGIX :: forall (m :: * -> *).
    MonadIO m =>
    GLuint
    -> GLfloat
    -> GLfloat
    -> GLint
    -> GLint
    -> GLfloat
    -> GLfloat
    -> GLint
    -> GLint
    -> GLfloat
    -> GLfloat
    -> GLint
    -> GLint
    -> Ptr GLfloat
    -> m ()
    glDeformationMap3fSGIX GLuint
    v1 GLfloat
    v2 GLfloat
    v3 GLint
    v4 GLint
    v5 GLfloat
    v6 GLfloat
    v7 GLint
    v8 GLint
    v9 GLfloat
    v10 GLfloat
    v11 GLint
    v12 GLint
    v13 Ptr GLfloat
    v14 = IO () -> m ()
    forall a. IO a -> 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
       -> GLfloat
       -> GLfloat
       -> GLint
       -> GLint
       -> GLfloat
       -> GLfloat
       -> GLint
       -> GLint
       -> GLfloat
       -> GLfloat
       -> GLint
       -> GLint
       -> Ptr GLfloat
       -> IO ())
    -> GLuint
    -> GLfloat
    -> GLfloat
    -> GLint
    -> GLint
    -> GLfloat
    -> GLfloat
    -> GLint
    -> GLint
    -> GLfloat
    -> GLfloat
    -> GLint
    -> GLint
    -> Ptr GLfloat
    -> IO ()
    dyn218 FunPtr
      (GLuint
       -> GLfloat
       -> GLfloat
       -> GLint
       -> GLint
       -> GLfloat
       -> GLfloat
       -> GLint
       -> GLint
       -> GLfloat
       -> GLfloat
       -> GLint
       -> GLint
       -> Ptr GLfloat
       -> IO ())
    ptr_glDeformationMap3fSGIX GLuint
    v1 GLfloat
    v2 GLfloat
    v3 GLint
    v4 GLint
    v5 GLfloat
    v6 GLfloat
    v7 GLint
    v8 GLint
    v9 GLfloat
    v10 GLfloat
    v11 GLint
    v12 GLint
    v13 Ptr GLfloat
    v14

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

    -- glDeleteAsyncMarkersSGIX ----------------------------------------------------

    glDeleteAsyncMarkersSGIX
      :: MonadIO m
      => GLuint -- ^ @marker@.
      -> GLsizei -- ^ @range@.
      -> m ()
    glDeleteAsyncMarkersSGIX :: forall (m :: * -> *). MonadIO m => GLuint -> GLint -> m ()
    glDeleteAsyncMarkersSGIX 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 ()
    dyn219 FunPtr (GLuint -> GLint -> IO ())
    ptr_glDeleteAsyncMarkersSGIX GLuint
    v1 GLint
    v2

    {-# NOINLINE ptr_glDeleteAsyncMarkersSGIX #-}
    ptr_glDeleteAsyncMarkersSGIX :: FunPtr (GLuint -> GLsizei -> IO ())
    ptr_glDeleteAsyncMarkersSGIX :: FunPtr (GLuint -> GLint -> IO ())
    ptr_glDeleteAsyncMarkersSGIX = 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
    "glDeleteAsyncMarkersSGIX"

    -- glDeleteBuffers -------------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glDeleteBuffers.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glDeleteBuffers.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glDeleteBuffers.xhtml OpenGL 4.x>.
    glDeleteBuffers
      :: MonadIO m
      => GLsizei -- ^ @n@.
      -> Ptr GLuint -- ^ @buffers@ pointing to @n@ elements of type @GLuint@.
      -> m ()
    glDeleteBuffers :: forall (m :: * -> *). MonadIO m => GLint -> Ptr GLuint -> m ()
    glDeleteBuffers GLint
    v1 Ptr 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 (GLint -> Ptr GLuint -> IO ())
    -> GLint -> Ptr GLuint -> IO ()
    dyn200 FunPtr (GLint -> Ptr GLuint -> IO ())
    ptr_glDeleteBuffers GLint
    v1 Ptr GLuint
    v2

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

    -- glDeleteBuffersARB ----------------------------------------------------------

    -- | This command is an alias for 'glDeleteBuffers'.
    glDeleteBuffersARB
      :: MonadIO m
      => GLsizei -- ^ @n@.
      -> Ptr GLuint -- ^ @buffers@ pointing to @n@ elements of type @GLuint@.
      -> m ()
    glDeleteBuffersARB :: forall (m :: * -> *). MonadIO m => GLint -> Ptr GLuint -> m ()
    glDeleteBuffersARB GLint
    v1 Ptr 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 (GLint -> Ptr GLuint -> IO ())
    -> GLint -> Ptr GLuint -> IO ()
    dyn200 FunPtr (GLint -> Ptr GLuint -> IO ())
    ptr_glDeleteBuffersARB GLint
    v1 Ptr GLuint
    v2

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

    -- glDeleteCommandListsNV ------------------------------------------------------

    glDeleteCommandListsNV
      :: MonadIO m
      => GLsizei -- ^ @n@.
      -> Ptr GLuint -- ^ @lists@ pointing to @n@ elements of type @GLuint@.
      -> m ()
    glDeleteCommandListsNV :: forall (m :: * -> *). MonadIO m => GLint -> Ptr GLuint -> m ()
    glDeleteCommandListsNV GLint
    v1 Ptr 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 (GLint -> Ptr GLuint -> IO ())
    -> GLint -> Ptr GLuint -> IO ()
    dyn200 FunPtr (GLint -> Ptr GLuint -> IO ())
    ptr_glDeleteCommandListsNV GLint
    v1 Ptr GLuint
    v2

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

    -- glDeleteFencesAPPLE ---------------------------------------------------------

    glDeleteFencesAPPLE
      :: MonadIO m
      => GLsizei -- ^ @n@.
      -> Ptr GLuint -- ^ @fences@ pointing to @n@ elements of type @FenceNV@.
      -> m ()
    glDeleteFencesAPPLE :: forall (m :: * -> *). MonadIO m => GLint -> Ptr GLuint -> m ()
    glDeleteFencesAPPLE GLint
    v1 Ptr 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 (GLint -> Ptr GLuint -> IO ())
    -> GLint -> Ptr GLuint -> IO ()
    dyn200 FunPtr (GLint -> Ptr GLuint -> IO ())
    ptr_glDeleteFencesAPPLE GLint
    v1 Ptr GLuint
    v2

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

    -- glDeleteFencesNV ------------------------------------------------------------

    glDeleteFencesNV
      :: MonadIO m
      => GLsizei -- ^ @n@.
      -> Ptr GLuint -- ^ @fences@ pointing to @n@ elements of type @FenceNV@.
      -> m ()
    glDeleteFencesNV :: forall (m :: * -> *). MonadIO m => GLint -> Ptr GLuint -> m ()
    glDeleteFencesNV GLint
    v1 Ptr 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 (GLint -> Ptr GLuint -> IO ())
    -> GLint -> Ptr GLuint -> IO ()
    dyn200 FunPtr (GLint -> Ptr GLuint -> IO ())
    ptr_glDeleteFencesNV GLint
    v1 Ptr GLuint
    v2

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

    -- glDeleteFragmentShaderATI ---------------------------------------------------

    glDeleteFragmentShaderATI
      :: MonadIO m
      => GLuint -- ^ @id@.
      -> m ()
    glDeleteFragmentShaderATI :: forall (m :: * -> *). MonadIO m => GLuint -> m ()
    glDeleteFragmentShaderATI 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_glDeleteFragmentShaderATI GLuint
    v1

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

    -- glDeleteFramebuffers --------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glDeleteFramebuffers.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glDeleteFramebuffers.xhtml OpenGL 4.x>.
    glDeleteFramebuffers
      :: MonadIO m
      => GLsizei -- ^ @n@.
      -> Ptr GLuint -- ^ @framebuffers@ pointing to @n@ elements of type @GLuint@.
      -> m ()
    glDeleteFramebuffers :: forall (m :: * -> *). MonadIO m => GLint -> Ptr GLuint -> m ()
    glDeleteFramebuffers GLint
    v1 Ptr 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 (GLint -> Ptr GLuint -> IO ())
    -> GLint -> Ptr GLuint -> IO ()
    dyn200 FunPtr (GLint -> Ptr GLuint -> IO ())
    ptr_glDeleteFramebuffers GLint
    v1 Ptr GLuint
    v2

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

    -- glDeleteFramebuffersEXT -----------------------------------------------------

    -- | This command is an alias for 'glDeleteFramebuffers'.
    glDeleteFramebuffersEXT
      :: MonadIO m
      => GLsizei -- ^ @n@.
      -> Ptr GLuint -- ^ @framebuffers@ pointing to @n@ elements of type @GLuint@.
      -> m ()
    glDeleteFramebuffersEXT :: forall (m :: * -> *). MonadIO m => GLint -> Ptr GLuint -> m ()
    glDeleteFramebuffersEXT GLint
    v1 Ptr 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 (GLint -> Ptr GLuint -> IO ())
    -> GLint -> Ptr GLuint -> IO ()
    dyn200 FunPtr (GLint -> Ptr GLuint -> IO ())
    ptr_glDeleteFramebuffersEXT GLint
    v1 Ptr GLuint
    v2

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

    -- glDeleteFramebuffersOES -----------------------------------------------------

    glDeleteFramebuffersOES
      :: MonadIO m
      => GLsizei -- ^ @n@.
      -> Ptr GLuint -- ^ @framebuffers@ pointing to @n@ elements of type @GLuint@.
      -> m ()
    glDeleteFramebuffersOES :: forall (m :: * -> *). MonadIO m => GLint -> Ptr GLuint -> m ()
    glDeleteFramebuffersOES GLint
    v1 Ptr 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 (GLint -> Ptr GLuint -> IO ())
    -> GLint -> Ptr GLuint -> IO ()
    dyn200 FunPtr (GLint -> Ptr GLuint -> IO ())
    ptr_glDeleteFramebuffersOES GLint
    v1 Ptr GLuint
    v2

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

    -- glDeleteLists ---------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glDeleteLists.xml OpenGL 2.x>.
    glDeleteLists
      :: MonadIO m
      => GLuint -- ^ @list@ of type @List@.
      -> GLsizei -- ^ @range@.
      -> m ()
    glDeleteLists :: forall (m :: * -> *). MonadIO m => GLuint -> GLint -> m ()
    glDeleteLists 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 ()
    dyn219 FunPtr (GLuint -> GLint -> IO ())
    ptr_glDeleteLists GLuint
    v1 GLint
    v2

    {-# NOINLINE ptr_glDeleteLists #-}
    ptr_glDeleteLists :: FunPtr (GLuint -> GLsizei -> IO ())
    ptr_glDeleteLists :: FunPtr (GLuint -> GLint -> IO ())
    ptr_glDeleteLists = 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
    "glDeleteLists"

    -- glDeleteMemoryObjectsEXT ----------------------------------------------------

    glDeleteMemoryObjectsEXT
      :: MonadIO m
      => GLsizei -- ^ @n@.
      -> Ptr GLuint -- ^ @memoryObjects@ pointing to @n@ elements of type @GLuint@.
      -> m ()
    glDeleteMemoryObjectsEXT :: forall (m :: * -> *). MonadIO m => GLint -> Ptr GLuint -> m ()
    glDeleteMemoryObjectsEXT GLint
    v1 Ptr 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 (GLint -> Ptr GLuint -> IO ())
    -> GLint -> Ptr GLuint -> IO ()
    dyn200 FunPtr (GLint -> Ptr GLuint -> IO ())
    ptr_glDeleteMemoryObjectsEXT GLint
    v1 Ptr GLuint
    v2

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

    -- glDeleteNamedStringARB ------------------------------------------------------

    glDeleteNamedStringARB
      :: MonadIO m
      => GLint -- ^ @namelen@.
      -> Ptr GLchar -- ^ @name@ pointing to @namelen@ elements of type @GLchar@.
      -> m ()
    glDeleteNamedStringARB :: forall (m :: * -> *). MonadIO m => GLint -> Ptr GLchar -> m ()
    glDeleteNamedStringARB GLint
    v1 Ptr GLchar
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLint -> Ptr GLchar -> IO ())
    -> GLint -> Ptr GLchar -> IO ()
    dyn220 FunPtr (GLint -> Ptr GLchar -> IO ())
    ptr_glDeleteNamedStringARB GLint
    v1 Ptr GLchar
    v2

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

    -- glDeleteNamesAMD ------------------------------------------------------------

    glDeleteNamesAMD
      :: MonadIO m
      => GLenum -- ^ @identifier@.
      -> GLuint -- ^ @num@.
      -> Ptr GLuint -- ^ @names@ pointing to @num@ elements of type @GLuint@.
      -> m ()
    glDeleteNamesAMD :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint -> Ptr GLuint -> m ()
    glDeleteNamesAMD GLuint
    v1 GLuint
    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 -> GLuint -> Ptr GLuint -> IO ())
    -> GLuint -> GLuint -> Ptr GLuint -> IO ()
    dyn221 FunPtr (GLuint -> GLuint -> Ptr GLuint -> IO ())
    ptr_glDeleteNamesAMD GLuint
    v1 GLuint
    v2 Ptr GLuint
    v3

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

    -- glDeleteObjectARB -----------------------------------------------------------

    glDeleteObjectARB
      :: MonadIO m
      => GLhandleARB -- ^ @obj@ of type @handleARB@.
      -> m ()
    glDeleteObjectARB :: forall (m :: * -> *). MonadIO m => GLuint -> m ()
    glDeleteObjectARB 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 ()
    dyn144 FunPtr (GLuint -> IO ())
    ptr_glDeleteObjectARB GLuint
    v1

    {-# NOINLINE ptr_glDeleteObjectARB #-}
    ptr_glDeleteObjectARB :: FunPtr (GLhandleARB -> IO ())
    ptr_glDeleteObjectARB :: FunPtr (GLuint -> IO ())
    ptr_glDeleteObjectARB = 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
    "glDeleteObjectARB"

    -- glDeleteOcclusionQueriesNV --------------------------------------------------

    glDeleteOcclusionQueriesNV
      :: MonadIO m
      => GLsizei -- ^ @n@.
      -> Ptr GLuint -- ^ @ids@ pointing to @n@ elements of type @GLuint@.
      -> m ()
    glDeleteOcclusionQueriesNV :: forall (m :: * -> *). MonadIO m => GLint -> Ptr GLuint -> m ()
    glDeleteOcclusionQueriesNV GLint
    v1 Ptr 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 (GLint -> Ptr GLuint -> IO ())
    -> GLint -> Ptr GLuint -> IO ()
    dyn200 FunPtr (GLint -> Ptr GLuint -> IO ())
    ptr_glDeleteOcclusionQueriesNV GLint
    v1 Ptr GLuint
    v2

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

    -- glDeletePathsNV -------------------------------------------------------------

    glDeletePathsNV
      :: MonadIO m
      => GLuint -- ^ @path@ of type @Path@.
      -> GLsizei -- ^ @range@.
      -> m ()
    glDeletePathsNV :: forall (m :: * -> *). MonadIO m => GLuint -> GLint -> m ()
    glDeletePathsNV 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 ()
    dyn219 FunPtr (GLuint -> GLint -> IO ())
    ptr_glDeletePathsNV GLuint
    v1 GLint
    v2

    {-# NOINLINE ptr_glDeletePathsNV #-}
    ptr_glDeletePathsNV :: FunPtr (GLuint -> GLsizei -> IO ())
    ptr_glDeletePathsNV :: FunPtr (GLuint -> GLint -> IO ())
    ptr_glDeletePathsNV = 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
    "glDeletePathsNV"

    -- glDeletePerfMonitorsAMD -----------------------------------------------------

    glDeletePerfMonitorsAMD
      :: MonadIO m
      => GLsizei -- ^ @n@.
      -> Ptr GLuint -- ^ @monitors@ pointing to @n@ elements of type @GLuint@.
      -> m ()
    glDeletePerfMonitorsAMD :: forall (m :: * -> *). MonadIO m => GLint -> Ptr GLuint -> m ()
    glDeletePerfMonitorsAMD GLint
    v1 Ptr 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 (GLint -> Ptr GLuint -> IO ())
    -> GLint -> Ptr GLuint -> IO ()
    dyn200 FunPtr (GLint -> Ptr GLuint -> IO ())
    ptr_glDeletePerfMonitorsAMD GLint
    v1 Ptr GLuint
    v2

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

    -- glDeletePerfQueryINTEL ------------------------------------------------------

    glDeletePerfQueryINTEL
      :: MonadIO m
      => GLuint -- ^ @queryHandle@.
      -> m ()
    glDeletePerfQueryINTEL :: forall (m :: * -> *). MonadIO m => GLuint -> m ()
    glDeletePerfQueryINTEL 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_glDeletePerfQueryINTEL GLuint
    v1

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

    -- glDeleteProgram -------------------------------------------------------------

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

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

    -- glDeleteProgramPipelines ----------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glDeleteProgramPipelines.xhtml OpenGL 4.x>.
    glDeleteProgramPipelines
      :: MonadIO m
      => GLsizei -- ^ @n@.
      -> Ptr GLuint -- ^ @pipelines@ pointing to @n@ elements of type @GLuint@.
      -> m ()
    glDeleteProgramPipelines :: forall (m :: * -> *). MonadIO m => GLint -> Ptr GLuint -> m ()
    glDeleteProgramPipelines GLint
    v1 Ptr 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 (GLint -> Ptr GLuint -> IO ())
    -> GLint -> Ptr GLuint -> IO ()
    dyn200 FunPtr (GLint -> Ptr GLuint -> IO ())
    ptr_glDeleteProgramPipelines GLint
    v1 Ptr GLuint
    v2

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

    -- glDeleteProgramPipelinesEXT -------------------------------------------------

    glDeleteProgramPipelinesEXT
      :: MonadIO m
      => GLsizei -- ^ @n@.
      -> Ptr GLuint -- ^ @pipelines@ pointing to @n@ elements of type @GLuint@.
      -> m ()
    glDeleteProgramPipelinesEXT :: forall (m :: * -> *). MonadIO m => GLint -> Ptr GLuint -> m ()
    glDeleteProgramPipelinesEXT GLint
    v1 Ptr 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 (GLint -> Ptr GLuint -> IO ())
    -> GLint -> Ptr GLuint -> IO ()
    dyn200 FunPtr (GLint -> Ptr GLuint -> IO ())
    ptr_glDeleteProgramPipelinesEXT GLint
    v1 Ptr GLuint
    v2

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

    -- glDeleteProgramsARB ---------------------------------------------------------

    glDeleteProgramsARB
      :: MonadIO m
      => GLsizei -- ^ @n@.
      -> Ptr GLuint -- ^ @programs@ pointing to @n@ elements of type @GLuint@.
      -> m ()
    glDeleteProgramsARB :: forall (m :: * -> *). MonadIO m => GLint -> Ptr GLuint -> m ()
    glDeleteProgramsARB GLint
    v1 Ptr 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 (GLint -> Ptr GLuint -> IO ())
    -> GLint -> Ptr GLuint -> IO ()
    dyn200 FunPtr (GLint -> Ptr GLuint -> IO ())
    ptr_glDeleteProgramsARB GLint
    v1 Ptr GLuint
    v2

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

    -- glDeleteProgramsNV ----------------------------------------------------------

    -- | This command is an alias for 'glDeleteProgramsARB'.
    glDeleteProgramsNV
      :: MonadIO m
      => GLsizei -- ^ @n@.
      -> Ptr GLuint -- ^ @programs@ pointing to @n@ elements of type @GLuint@.
      -> m ()
    glDeleteProgramsNV :: forall (m :: * -> *). MonadIO m => GLint -> Ptr GLuint -> m ()
    glDeleteProgramsNV GLint
    v1 Ptr 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 (GLint -> Ptr GLuint -> IO ())
    -> GLint -> Ptr GLuint -> IO ()
    dyn200 FunPtr (GLint -> Ptr GLuint -> IO ())
    ptr_glDeleteProgramsNV GLint
    v1 Ptr GLuint
    v2

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

    -- glDeleteQueries -------------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glDeleteQueries.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glDeleteQueries.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glDeleteQueries.xhtml OpenGL 4.x>.
    glDeleteQueries
      :: MonadIO m
      => GLsizei -- ^ @n@.
      -> Ptr GLuint -- ^ @ids@ pointing to @n@ elements of type @GLuint@.
      -> m ()
    glDeleteQueries :: forall (m :: * -> *). MonadIO m => GLint -> Ptr GLuint -> m ()
    glDeleteQueries GLint
    v1 Ptr 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 (GLint -> Ptr GLuint -> IO ())
    -> GLint -> Ptr GLuint -> IO ()
    dyn200 FunPtr (GLint -> Ptr GLuint -> IO ())
    ptr_glDeleteQueries GLint
    v1 Ptr GLuint
    v2

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

    -- glDeleteQueriesARB ----------------------------------------------------------

    -- | This command is an alias for 'glDeleteQueries'.
    glDeleteQueriesARB
      :: MonadIO m
      => GLsizei -- ^ @n@.
      -> Ptr GLuint -- ^ @ids@ pointing to @n@ elements of type @GLuint@.
      -> m ()
    glDeleteQueriesARB :: forall (m :: * -> *). MonadIO m => GLint -> Ptr GLuint -> m ()
    glDeleteQueriesARB GLint
    v1 Ptr 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 (GLint -> Ptr GLuint -> IO ())
    -> GLint -> Ptr GLuint -> IO ()
    dyn200 FunPtr (GLint -> Ptr GLuint -> IO ())
    ptr_glDeleteQueriesARB GLint
    v1 Ptr GLuint
    v2

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

    -- glDeleteQueriesEXT ----------------------------------------------------------

    glDeleteQueriesEXT
      :: MonadIO m
      => GLsizei -- ^ @n@.
      -> Ptr GLuint -- ^ @ids@ pointing to @n@ elements of type @GLuint@.
      -> m ()
    glDeleteQueriesEXT :: forall (m :: * -> *). MonadIO m => GLint -> Ptr GLuint -> m ()
    glDeleteQueriesEXT GLint
    v1 Ptr 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 (GLint -> Ptr GLuint -> IO ())
    -> GLint -> Ptr GLuint -> IO ()
    dyn200 FunPtr (GLint -> Ptr GLuint -> IO ())
    ptr_glDeleteQueriesEXT GLint
    v1 Ptr GLuint
    v2

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

    -- glDeleteQueryResourceTagNV --------------------------------------------------

    glDeleteQueryResourceTagNV
      :: MonadIO m
      => GLsizei -- ^ @n@.
      -> Ptr GLint -- ^ @tagIds@ pointing to @n@ elements of type @GLint@.
      -> m ()
    glDeleteQueryResourceTagNV :: forall (m :: * -> *). MonadIO m => GLint -> Ptr GLint -> m ()
    glDeleteQueryResourceTagNV GLint
    v1 Ptr GLint
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLint -> Ptr GLint -> IO ()) -> GLint -> Ptr GLint -> IO ()
    dyn222 FunPtr (GLint -> Ptr GLint -> IO ())
    ptr_glDeleteQueryResourceTagNV GLint
    v1 Ptr GLint
    v2

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

    -- glDeleteRenderbuffers -------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glDeleteRenderbuffers.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glDeleteRenderbuffers.xhtml OpenGL 4.x>.
    glDeleteRenderbuffers
      :: MonadIO m
      => GLsizei -- ^ @n@.
      -> Ptr GLuint -- ^ @renderbuffers@ pointing to @n@ elements of type @GLuint@.
      -> m ()
    glDeleteRenderbuffers :: forall (m :: * -> *). MonadIO m => GLint -> Ptr GLuint -> m ()
    glDeleteRenderbuffers GLint
    v1 Ptr 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 (GLint -> Ptr GLuint -> IO ())
    -> GLint -> Ptr GLuint -> IO ()
    dyn200 FunPtr (GLint -> Ptr GLuint -> IO ())
    ptr_glDeleteRenderbuffers GLint
    v1 Ptr GLuint
    v2

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

    -- glDeleteRenderbuffersEXT ----------------------------------------------------

    -- | This command is an alias for 'glDeleteRenderbuffers'.
    glDeleteRenderbuffersEXT
      :: MonadIO m
      => GLsizei -- ^ @n@.
      -> Ptr GLuint -- ^ @renderbuffers@ pointing to @n@ elements of type @GLuint@.
      -> m ()
    glDeleteRenderbuffersEXT :: forall (m :: * -> *). MonadIO m => GLint -> Ptr GLuint -> m ()
    glDeleteRenderbuffersEXT GLint
    v1 Ptr 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 (GLint -> Ptr GLuint -> IO ())
    -> GLint -> Ptr GLuint -> IO ()
    dyn200 FunPtr (GLint -> Ptr GLuint -> IO ())
    ptr_glDeleteRenderbuffersEXT GLint
    v1 Ptr GLuint
    v2

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

    -- glDeleteRenderbuffersOES ----------------------------------------------------

    glDeleteRenderbuffersOES
      :: MonadIO m
      => GLsizei -- ^ @n@.
      -> Ptr GLuint -- ^ @renderbuffers@ pointing to @n@ elements of type @GLuint@.
      -> m ()
    glDeleteRenderbuffersOES :: forall (m :: * -> *). MonadIO m => GLint -> Ptr GLuint -> m ()
    glDeleteRenderbuffersOES GLint
    v1 Ptr 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 (GLint -> Ptr GLuint -> IO ())
    -> GLint -> Ptr GLuint -> IO ()
    dyn200 FunPtr (GLint -> Ptr GLuint -> IO ())
    ptr_glDeleteRenderbuffersOES GLint
    v1 Ptr GLuint
    v2

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

    -- glDeleteSamplers ------------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glDeleteSamplers.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glDeleteSamplers.xhtml OpenGL 4.x>.
    glDeleteSamplers
      :: MonadIO m
      => GLsizei -- ^ @count@.
      -> Ptr GLuint -- ^ @samplers@ pointing to @count@ elements of type @GLuint@.
      -> m ()
    glDeleteSamplers :: forall (m :: * -> *). MonadIO m => GLint -> Ptr GLuint -> m ()
    glDeleteSamplers GLint
    v1 Ptr 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 (GLint -> Ptr GLuint -> IO ())
    -> GLint -> Ptr GLuint -> IO ()
    dyn200 FunPtr (GLint -> Ptr GLuint -> IO ())
    ptr_glDeleteSamplers GLint
    v1 Ptr GLuint
    v2

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

    -- glDeleteSemaphoresEXT -------------------------------------------------------

    glDeleteSemaphoresEXT
      :: MonadIO m
      => GLsizei -- ^ @n@.
      -> Ptr GLuint -- ^ @semaphores@ pointing to @n@ elements of type @GLuint@.
      -> m ()
    glDeleteSemaphoresEXT :: forall (m :: * -> *). MonadIO m => GLint -> Ptr GLuint -> m ()
    glDeleteSemaphoresEXT GLint
    v1 Ptr 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 (GLint -> Ptr GLuint -> IO ())
    -> GLint -> Ptr GLuint -> IO ()
    dyn200 FunPtr (GLint -> Ptr GLuint -> IO ())
    ptr_glDeleteSemaphoresEXT GLint
    v1 Ptr GLuint
    v2

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

    -- glDeleteShader --------------------------------------------------------------

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

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

    -- glDeleteStatesNV ------------------------------------------------------------

    glDeleteStatesNV
      :: MonadIO m
      => GLsizei -- ^ @n@.
      -> Ptr GLuint -- ^ @states@ pointing to @n@ elements of type @GLuint@.
      -> m ()
    glDeleteStatesNV :: forall (m :: * -> *). MonadIO m => GLint -> Ptr GLuint -> m ()
    glDeleteStatesNV GLint
    v1 Ptr 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 (GLint -> Ptr GLuint -> IO ())
    -> GLint -> Ptr GLuint -> IO ()
    dyn200 FunPtr (GLint -> Ptr GLuint -> IO ())
    ptr_glDeleteStatesNV GLint
    v1 Ptr GLuint
    v2

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

    -- glDeleteSync ----------------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glDeleteSync.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glDeleteSync.xhtml OpenGL 4.x>.
    glDeleteSync
      :: MonadIO m
      => GLsync -- ^ @sync@ of type @sync@.
      -> m ()
    glDeleteSync :: forall (m :: * -> *). MonadIO m => GLsync -> m ()
    glDeleteSync GLsync
    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 (GLsync -> IO ()) -> GLsync -> IO ()
    dyn223 FunPtr (GLsync -> IO ())
    ptr_glDeleteSync GLsync
    v1

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

    -- glDeleteSyncAPPLE -----------------------------------------------------------

    -- | This command is an alias for 'glDeleteSync'.
    glDeleteSyncAPPLE
      :: MonadIO m
      => GLsync -- ^ @sync@.
      -> m ()
    glDeleteSyncAPPLE :: forall (m :: * -> *). MonadIO m => GLsync -> m ()
    glDeleteSyncAPPLE GLsync
    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 (GLsync -> IO ()) -> GLsync -> IO ()
    dyn223 FunPtr (GLsync -> IO ())
    ptr_glDeleteSyncAPPLE GLsync
    v1

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

    -- glDeleteTextures ------------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glDeleteTextures.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glDeleteTextures.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glDeleteTextures.xhtml OpenGL 4.x>.
    glDeleteTextures
      :: MonadIO m
      => GLsizei -- ^ @n@.
      -> Ptr GLuint -- ^ @textures@ pointing to @n@ elements of type @Texture@.
      -> m ()
    glDeleteTextures :: forall (m :: * -> *). MonadIO m => GLint -> Ptr GLuint -> m ()
    glDeleteTextures GLint
    v1 Ptr 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 (GLint -> Ptr GLuint -> IO ())
    -> GLint -> Ptr GLuint -> IO ()
    dyn200 FunPtr (GLint -> Ptr GLuint -> IO ())
    ptr_glDeleteTextures GLint
    v1 Ptr GLuint
    v2

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

    -- glDeleteTexturesEXT ---------------------------------------------------------

    glDeleteTexturesEXT
      :: MonadIO m
      => GLsizei -- ^ @n@.
      -> Ptr GLuint -- ^ @textures@ pointing to @n@ elements of type @Texture@.
      -> m ()
    glDeleteTexturesEXT :: forall (m :: * -> *). MonadIO m => GLint -> Ptr GLuint -> m ()
    glDeleteTexturesEXT GLint
    v1 Ptr 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 (GLint -> Ptr GLuint -> IO ())
    -> GLint -> Ptr GLuint -> IO ()
    dyn200 FunPtr (GLint -> Ptr GLuint -> IO ())
    ptr_glDeleteTexturesEXT GLint
    v1 Ptr GLuint
    v2

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

    -- glDeleteTransformFeedbacks --------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glDeleteTransformFeedbacks.xhtml OpenGL 4.x>.
    glDeleteTransformFeedbacks
      :: MonadIO m
      => GLsizei -- ^ @n@.
      -> Ptr GLuint -- ^ @ids@ pointing to @n@ elements of type @GLuint@.
      -> m ()
    glDeleteTransformFeedbacks :: forall (m :: * -> *). MonadIO m => GLint -> Ptr GLuint -> m ()
    glDeleteTransformFeedbacks GLint
    v1 Ptr 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 (GLint -> Ptr GLuint -> IO ())
    -> GLint -> Ptr GLuint -> IO ()
    dyn200 FunPtr (GLint -> Ptr GLuint -> IO ())
    ptr_glDeleteTransformFeedbacks GLint
    v1 Ptr GLuint
    v2

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

    -- glDeleteTransformFeedbacksNV ------------------------------------------------

    -- | This command is an alias for 'glDeleteTransformFeedbacks'.
    glDeleteTransformFeedbacksNV
      :: MonadIO m
      => GLsizei -- ^ @n@.
      -> Ptr GLuint -- ^ @ids@ pointing to @n@ elements of type @GLuint@.
      -> m ()
    glDeleteTransformFeedbacksNV :: forall (m :: * -> *). MonadIO m => GLint -> Ptr GLuint -> m ()
    glDeleteTransformFeedbacksNV GLint
    v1 Ptr 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 (GLint -> Ptr GLuint -> IO ())
    -> GLint -> Ptr GLuint -> IO ()
    dyn200 FunPtr (GLint -> Ptr GLuint -> IO ())
    ptr_glDeleteTransformFeedbacksNV GLint
    v1 Ptr GLuint
    v2

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

    -- glDeleteVertexArrays --------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glDeleteVertexArrays.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glDeleteVertexArrays.xhtml OpenGL 4.x>.
    glDeleteVertexArrays
      :: MonadIO m
      => GLsizei -- ^ @n@.
      -> Ptr GLuint -- ^ @arrays@ pointing to @n@ elements of type @GLuint@.
      -> m ()
    glDeleteVertexArrays :: forall (m :: * -> *). MonadIO m => GLint -> Ptr GLuint -> m ()
    glDeleteVertexArrays GLint
    v1 Ptr 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 (GLint -> Ptr GLuint -> IO ())
    -> GLint -> Ptr GLuint -> IO ()
    dyn200 FunPtr (GLint -> Ptr GLuint -> IO ())
    ptr_glDeleteVertexArrays GLint
    v1 Ptr GLuint
    v2

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

    -- glDeleteVertexArraysAPPLE ---------------------------------------------------

    -- | This command is an alias for 'glDeleteVertexArrays'.
    glDeleteVertexArraysAPPLE
      :: MonadIO m
      => GLsizei -- ^ @n@.
      -> Ptr GLuint -- ^ @arrays@ pointing to @n@ elements of type @GLuint@.
      -> m ()
    glDeleteVertexArraysAPPLE :: forall (m :: * -> *). MonadIO m => GLint -> Ptr GLuint -> m ()
    glDeleteVertexArraysAPPLE GLint
    v1 Ptr 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 (GLint -> Ptr GLuint -> IO ())
    -> GLint -> Ptr GLuint -> IO ()
    dyn200 FunPtr (GLint -> Ptr GLuint -> IO ())
    ptr_glDeleteVertexArraysAPPLE GLint
    v1 Ptr GLuint
    v2

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