    {-# OPTIONS_HADDOCK hide #-}
    --------------------------------------------------------------------------------
    -- |
    -- Module      :  Graphics.GL.Functions.F07
    -- 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.F07 (
      glDrawTexxOES,
      glDrawTexxvOES,
      glDrawTransformFeedback,
      glDrawTransformFeedbackEXT,
      glDrawTransformFeedbackInstanced,
      glDrawTransformFeedbackInstancedEXT,
      glDrawTransformFeedbackNV,
      glDrawTransformFeedbackStream,
      glDrawTransformFeedbackStreamInstanced,
      glDrawVkImageNV,
      glEGLImageTargetRenderbufferStorageOES,
      glEGLImageTargetTexStorageEXT,
      glEGLImageTargetTexture2DOES,
      glEGLImageTargetTextureStorageEXT,
      glEdgeFlag,
      glEdgeFlagFormatNV,
      glEdgeFlagPointer,
      glEdgeFlagPointerEXT,
      glEdgeFlagPointerListIBM,
      glEdgeFlagv,
      glElementPointerAPPLE,
      glElementPointerATI,
      glEnable,
      glEnableClientState,
      glEnableClientStateIndexedEXT,
      glEnableClientStateiEXT,
      glEnableDriverControlQCOM,
      glEnableIndexedEXT,
      glEnableVariantClientStateEXT,
      glEnableVertexArrayAttrib,
      glEnableVertexArrayAttribEXT,
      glEnableVertexArrayEXT,
      glEnableVertexAttribAPPLE,
      glEnableVertexAttribArray,
      glEnableVertexAttribArrayARB,
      glEnablei,
      glEnableiEXT,
      glEnableiNV,
      glEnableiOES,
      glEnd,
      glEndConditionalRender,
      glEndConditionalRenderNV,
      glEndConditionalRenderNVX,
      glEndFragmentShaderATI,
      glEndList,
      glEndOcclusionQueryNV,
      glEndPerfMonitorAMD,
      glEndPerfQueryINTEL,
      glEndQuery,
      glEndQueryARB,
      glEndQueryEXT,
      glEndQueryIndexed,
      glEndTilingQCOM,
      glEndTransformFeedback,
      glEndTransformFeedbackEXT,
      glEndTransformFeedbackNV,
      glEndVertexShaderEXT,
      glEndVideoCaptureNV,
      glEvalCoord1d,
      glEvalCoord1dv,
      glEvalCoord1f,
      glEvalCoord1fv,
      glEvalCoord1xOES,
      glEvalCoord1xvOES,
      glEvalCoord2d,
      glEvalCoord2dv,
      glEvalCoord2f,
      glEvalCoord2fv,
      glEvalCoord2xOES,
      glEvalCoord2xvOES,
      glEvalMapsNV,
      glEvalMesh1,
      glEvalMesh2,
      glEvalPoint1,
      glEvalPoint2,
      glEvaluateDepthValuesARB,
      glExecuteProgramNV,
      glExtGetBufferPointervQCOM,
      glExtGetBuffersQCOM,
      glExtGetFramebuffersQCOM,
      glExtGetProgramBinarySourceQCOM,
      glExtGetProgramsQCOM,
      glExtGetRenderbuffersQCOM,
      glExtGetShadersQCOM,
      glExtGetTexLevelParameterivQCOM,
      glExtGetTexSubImageQCOM,
      glExtGetTexturesQCOM,
      glExtIsProgramBinaryQCOM,
      glExtTexObjectStateOverrideiQCOM,
      glExtractComponentEXT,
      glFeedbackBuffer,
      glFeedbackBufferxOES,
      glFenceSync,
      glFenceSyncAPPLE,
      glFinalCombinerInputNV,
      glFinish,
      glFinishAsyncSGIX,
      glFinishFenceAPPLE,
      glFinishFenceNV,
      glFinishObjectAPPLE
    ) where

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

    -- glDrawTexxOES ---------------------------------------------------------------

    -- | The vector equivalent of this command is 'glDrawTexxvOES'.
    glDrawTexxOES
      :: MonadIO m
      => GLfixed -- ^ @x@.
      -> GLfixed -- ^ @y@.
      -> GLfixed -- ^ @z@.
      -> GLfixed -- ^ @width@.
      -> GLfixed -- ^ @height@.
      -> m ()
    glDrawTexxOES :: forall (m :: * -> *).
    MonadIO m =>
    GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()
    glDrawTexxOES GLfixed
    v1 GLfixed
    v2 GLfixed
    v3 GLfixed
    v4 GLfixed
    v5 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
    -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ()
    dyn264 FunPtr
      (GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
    ptr_glDrawTexxOES GLfixed
    v1 GLfixed
    v2 GLfixed
    v3 GLfixed
    v4 GLfixed
    v5

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

    -- glDrawTexxvOES --------------------------------------------------------------

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

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

    -- glDrawTransformFeedback -----------------------------------------------------

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

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

    -- glDrawTransformFeedbackEXT --------------------------------------------------

    -- | This command is an alias for 'glDrawTransformFeedback'.
    glDrawTransformFeedbackEXT
      :: MonadIO m
      => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
      -> GLuint -- ^ @id@.
      -> m ()
    glDrawTransformFeedbackEXT :: forall (m :: * -> *). MonadIO m => GLenum -> GLenum -> m ()
    glDrawTransformFeedbackEXT GLenum
    v1 GLenum
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> IO ()
    dyn19 FunPtr (GLenum -> GLenum -> IO ())
    ptr_glDrawTransformFeedbackEXT GLenum
    v1 GLenum
    v2

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

    -- glDrawTransformFeedbackInstanced --------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glDrawTransformFeedbackInstanced.xhtml OpenGL 4.x>.
    glDrawTransformFeedbackInstanced
      :: MonadIO m
      => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
      -> GLuint -- ^ @id@.
      -> GLsizei -- ^ @instancecount@.
      -> m ()
    glDrawTransformFeedbackInstanced :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLsizei -> m ()
    glDrawTransformFeedbackInstanced GLenum
    v1 GLenum
    v2 GLsizei
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
    -> GLenum -> GLenum -> GLsizei -> IO ()
    dyn265 FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
    ptr_glDrawTransformFeedbackInstanced GLenum
    v1 GLenum
    v2 GLsizei
    v3

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

    -- glDrawTransformFeedbackInstancedEXT -----------------------------------------

    -- | This command is an alias for 'glDrawTransformFeedbackInstanced'.
    glDrawTransformFeedbackInstancedEXT
      :: MonadIO m
      => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
      -> GLuint -- ^ @id@.
      -> GLsizei -- ^ @instancecount@.
      -> m ()
    glDrawTransformFeedbackInstancedEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLsizei -> m ()
    glDrawTransformFeedbackInstancedEXT GLenum
    v1 GLenum
    v2 GLsizei
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
    -> GLenum -> GLenum -> GLsizei -> IO ()
    dyn265 FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
    ptr_glDrawTransformFeedbackInstancedEXT GLenum
    v1 GLenum
    v2 GLsizei
    v3

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

    -- glDrawTransformFeedbackNV ---------------------------------------------------

    -- | This command is an alias for 'glDrawTransformFeedback'.
    glDrawTransformFeedbackNV
      :: MonadIO m
      => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
      -> GLuint -- ^ @id@.
      -> m ()
    glDrawTransformFeedbackNV :: forall (m :: * -> *). MonadIO m => GLenum -> GLenum -> m ()
    glDrawTransformFeedbackNV GLenum
    v1 GLenum
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> IO ()
    dyn19 FunPtr (GLenum -> GLenum -> IO ())
    ptr_glDrawTransformFeedbackNV GLenum
    v1 GLenum
    v2

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

    -- glDrawTransformFeedbackStream -----------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glDrawTransformFeedbackStream.xhtml OpenGL 4.x>.
    glDrawTransformFeedbackStream
      :: MonadIO m
      => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
      -> GLuint -- ^ @id@.
      -> GLuint -- ^ @stream@.
      -> m ()
    glDrawTransformFeedbackStream :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> m ()
    glDrawTransformFeedbackStream GLenum
    v1 GLenum
    v2 GLenum
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLenum -> IO ())
    -> GLenum -> GLenum -> GLenum -> IO ()
    dyn20 FunPtr (GLenum -> GLenum -> GLenum -> IO ())
    ptr_glDrawTransformFeedbackStream GLenum
    v1 GLenum
    v2 GLenum
    v3

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

    -- glDrawTransformFeedbackStreamInstanced --------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glDrawTransformFeedbackStreamInstanced.xhtml OpenGL 4.x>.
    glDrawTransformFeedbackStreamInstanced
      :: MonadIO m
      => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
      -> GLuint -- ^ @id@.
      -> GLuint -- ^ @stream@.
      -> GLsizei -- ^ @instancecount@.
      -> m ()
    glDrawTransformFeedbackStreamInstanced :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> GLsizei -> m ()
    glDrawTransformFeedbackStreamInstanced GLenum
    v1 GLenum
    v2 GLenum
    v3 GLsizei
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> IO ())
    -> GLenum -> GLenum -> GLenum -> GLsizei -> IO ()
    dyn257 FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> IO ())
    ptr_glDrawTransformFeedbackStreamInstanced GLenum
    v1 GLenum
    v2 GLenum
    v3 GLsizei
    v4

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

    -- glDrawVkImageNV -------------------------------------------------------------

    glDrawVkImageNV
      :: MonadIO m
      => GLuint64 -- ^ @vkImage@.
      -> GLuint -- ^ @sampler@.
      -> GLfloat -- ^ @x0@.
      -> GLfloat -- ^ @y0@.
      -> GLfloat -- ^ @x1@.
      -> GLfloat -- ^ @y1@.
      -> GLfloat -- ^ @z@.
      -> GLfloat -- ^ @s0@.
      -> GLfloat -- ^ @t0@.
      -> GLfloat -- ^ @s1@.
      -> GLfloat -- ^ @t1@.
      -> m ()
    glDrawVkImageNV :: forall (m :: * -> *).
    MonadIO m =>
    GLuint64
    -> GLenum
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> m ()
    glDrawVkImageNV GLuint64
    v1 GLenum
    v2 GLfloat
    v3 GLfloat
    v4 GLfloat
    v5 GLfloat
    v6 GLfloat
    v7 GLfloat
    v8 GLfloat
    v9 GLfloat
    v10 GLfloat
    v11 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLuint64
       -> GLenum
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> IO ())
    -> GLuint64
    -> GLenum
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> IO ()
    dyn266 FunPtr
      (GLuint64
       -> GLenum
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> IO ())
    ptr_glDrawVkImageNV GLuint64
    v1 GLenum
    v2 GLfloat
    v3 GLfloat
    v4 GLfloat
    v5 GLfloat
    v6 GLfloat
    v7 GLfloat
    v8 GLfloat
    v9 GLfloat
    v10 GLfloat
    v11

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

    -- glEGLImageTargetRenderbufferStorageOES --------------------------------------

    glEGLImageTargetRenderbufferStorageOES
      :: MonadIO m
      => GLenum -- ^ @target@.
      -> GLeglImageOES -- ^ @image@.
      -> m ()
    glEGLImageTargetRenderbufferStorageOES :: forall (m :: * -> *). MonadIO m => GLenum -> GLeglImageOES -> m ()
    glEGLImageTargetRenderbufferStorageOES GLenum
    v1 GLeglImageOES
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLeglImageOES -> IO ())
    -> GLenum -> GLeglImageOES -> IO ()
    dyn267 FunPtr (GLenum -> GLeglImageOES -> IO ())
    ptr_glEGLImageTargetRenderbufferStorageOES GLenum
    v1 GLeglImageOES
    v2

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

    -- glEGLImageTargetTexStorageEXT -----------------------------------------------

    glEGLImageTargetTexStorageEXT
      :: MonadIO m
      => GLenum -- ^ @target@.
      -> GLeglImageOES -- ^ @image@.
      -> Ptr GLint -- ^ @attrib_list@.
      -> m ()
    glEGLImageTargetTexStorageEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLeglImageOES -> Ptr GLsizei -> m ()
    glEGLImageTargetTexStorageEXT GLenum
    v1 GLeglImageOES
    v2 Ptr GLsizei
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLeglImageOES -> Ptr GLsizei -> IO ())
    -> GLenum -> GLeglImageOES -> Ptr GLsizei -> IO ()
    dyn268 FunPtr (GLenum -> GLeglImageOES -> Ptr GLsizei -> IO ())
    ptr_glEGLImageTargetTexStorageEXT GLenum
    v1 GLeglImageOES
    v2 Ptr GLsizei
    v3

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

    -- glEGLImageTargetTexture2DOES ------------------------------------------------

    glEGLImageTargetTexture2DOES
      :: MonadIO m
      => GLenum -- ^ @target@.
      -> GLeglImageOES -- ^ @image@.
      -> m ()
    glEGLImageTargetTexture2DOES :: forall (m :: * -> *). MonadIO m => GLenum -> GLeglImageOES -> m ()
    glEGLImageTargetTexture2DOES GLenum
    v1 GLeglImageOES
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLeglImageOES -> IO ())
    -> GLenum -> GLeglImageOES -> IO ()
    dyn267 FunPtr (GLenum -> GLeglImageOES -> IO ())
    ptr_glEGLImageTargetTexture2DOES GLenum
    v1 GLeglImageOES
    v2

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

    -- glEGLImageTargetTextureStorageEXT -------------------------------------------

    glEGLImageTargetTextureStorageEXT
      :: MonadIO m
      => GLuint -- ^ @texture@.
      -> GLeglImageOES -- ^ @image@.
      -> Ptr GLint -- ^ @attrib_list@.
      -> m ()
    glEGLImageTargetTextureStorageEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLeglImageOES -> Ptr GLsizei -> m ()
    glEGLImageTargetTextureStorageEXT GLenum
    v1 GLeglImageOES
    v2 Ptr GLsizei
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLeglImageOES -> Ptr GLsizei -> IO ())
    -> GLenum -> GLeglImageOES -> Ptr GLsizei -> IO ()
    dyn269 FunPtr (GLenum -> GLeglImageOES -> Ptr GLsizei -> IO ())
    ptr_glEGLImageTargetTextureStorageEXT GLenum
    v1 GLeglImageOES
    v2 Ptr GLsizei
    v3

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

    -- glEdgeFlag ------------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glEdgeFlag.xml OpenGL 2.x>. The vector equivalent of this command is 'glEdgeFlagv'.
    glEdgeFlag
      :: MonadIO m
      => GLboolean -- ^ @flag@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
      -> m ()
    glEdgeFlag :: forall (m :: * -> *). MonadIO m => GLboolean -> m ()
    glEdgeFlag 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_glEdgeFlag GLboolean
    v1

    {-# NOINLINE ptr_glEdgeFlag #-}
    ptr_glEdgeFlag :: FunPtr (GLboolean -> IO ())
    ptr_glEdgeFlag :: FunPtr (GLboolean -> IO ())
    ptr_glEdgeFlag = 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
    "glEdgeFlag"

    -- glEdgeFlagFormatNV ----------------------------------------------------------

    glEdgeFlagFormatNV
      :: MonadIO m
      => GLsizei -- ^ @stride@.
      -> m ()
    glEdgeFlagFormatNV :: forall (m :: * -> *). MonadIO m => GLsizei -> m ()
    glEdgeFlagFormatNV GLsizei
    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 (GLsizei -> IO ()) -> GLsizei -> IO ()
    dyn270 FunPtr (GLsizei -> IO ())
    ptr_glEdgeFlagFormatNV GLsizei
    v1

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

    -- glEdgeFlagPointer -----------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glEdgeFlagPointer.xml OpenGL 2.x>.
    glEdgeFlagPointer
      :: MonadIO m
      => GLsizei -- ^ @stride@.
      -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(stride)@ elements of type @a@.
      -> m ()
    glEdgeFlagPointer :: forall (m :: * -> *) a. MonadIO m => GLsizei -> Ptr a -> m ()
    glEdgeFlagPointer GLsizei
    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 (GLsizei -> Ptr a -> IO ()) -> GLsizei -> Ptr a -> IO ()
    forall a.
    FunPtr (GLsizei -> Ptr a -> IO ()) -> GLsizei -> Ptr a -> IO ()
    dyn271 FunPtr (GLsizei -> Ptr a -> IO ())
    forall a. FunPtr (GLsizei -> Ptr a -> IO ())
    ptr_glEdgeFlagPointer GLsizei
    v1 Ptr a
    v2

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

    -- glEdgeFlagPointerEXT --------------------------------------------------------

    glEdgeFlagPointerEXT
      :: MonadIO m
      => GLsizei -- ^ @stride@.
      -> GLsizei -- ^ @count@.
      -> Ptr GLboolean -- ^ @pointer@ pointing to @COMPSIZE(stride,count)@ elements of type [Boolean](Graphics-GL-Groups.html#Boolean).
      -> m ()
    glEdgeFlagPointerEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLsizei -> GLsizei -> Ptr GLboolean -> m ()
    glEdgeFlagPointerEXT GLsizei
    v1 GLsizei
    v2 Ptr GLboolean
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLsizei -> GLsizei -> Ptr GLboolean -> IO ())
    -> GLsizei -> GLsizei -> Ptr GLboolean -> IO ()
    dyn272 FunPtr (GLsizei -> GLsizei -> Ptr GLboolean -> IO ())
    ptr_glEdgeFlagPointerEXT GLsizei
    v1 GLsizei
    v2 Ptr GLboolean
    v3

    {-# NOINLINE ptr_glEdgeFlagPointerEXT #-}
    ptr_glEdgeFlagPointerEXT :: FunPtr (GLsizei -> GLsizei -> Ptr GLboolean -> IO ())
    ptr_glEdgeFlagPointerEXT :: FunPtr (GLsizei -> GLsizei -> Ptr GLboolean -> IO ())
    ptr_glEdgeFlagPointerEXT = IO (FunPtr (GLsizei -> GLsizei -> Ptr GLboolean -> IO ()))
    -> FunPtr (GLsizei -> GLsizei -> Ptr GLboolean -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLsizei -> GLsizei -> Ptr GLboolean -> IO ()))
     -> FunPtr (GLsizei -> GLsizei -> Ptr GLboolean -> IO ()))
    -> IO (FunPtr (GLsizei -> GLsizei -> Ptr GLboolean -> IO ()))
    -> FunPtr (GLsizei -> GLsizei -> Ptr GLboolean -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String
    -> IO (FunPtr (GLsizei -> GLsizei -> Ptr GLboolean -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glEdgeFlagPointerEXT"

    -- glEdgeFlagPointerListIBM ----------------------------------------------------

    glEdgeFlagPointerListIBM
      :: MonadIO m
      => GLint -- ^ @stride@.
      -> Ptr (Ptr GLboolean) -- ^ @pointer@ pointing to @COMPSIZE(stride)@ elements of type @Ptr BooleanPointer@.
      -> GLint -- ^ @ptrstride@.
      -> m ()
    glEdgeFlagPointerListIBM :: forall (m :: * -> *).
    MonadIO m =>
    GLsizei -> Ptr (Ptr GLboolean) -> GLsizei -> m ()
    glEdgeFlagPointerListIBM GLsizei
    v1 Ptr (Ptr GLboolean)
    v2 GLsizei
    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 (GLsizei -> Ptr (Ptr GLboolean) -> GLsizei -> IO ())
    -> GLsizei -> Ptr (Ptr GLboolean) -> GLsizei -> IO ()
    dyn273 FunPtr (GLsizei -> Ptr (Ptr GLboolean) -> GLsizei -> IO ())
    ptr_glEdgeFlagPointerListIBM GLsizei
    v1 Ptr (Ptr GLboolean)
    v2 GLsizei
    v3

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

    -- glEdgeFlagv -----------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glEdgeFlag.xml OpenGL 2.x>.
    glEdgeFlagv
      :: MonadIO m
      => Ptr GLboolean -- ^ @flag@ pointing to @1@ element of type [Boolean](Graphics-GL-Groups.html#Boolean).
      -> m ()
    glEdgeFlagv :: forall (m :: * -> *). MonadIO m => Ptr GLboolean -> m ()
    glEdgeFlagv Ptr 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 (Ptr GLboolean -> IO ()) -> Ptr GLboolean -> IO ()
    dyn274 FunPtr (Ptr GLboolean -> IO ())
    ptr_glEdgeFlagv Ptr GLboolean
    v1

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

    -- glElementPointerAPPLE -------------------------------------------------------

    glElementPointerAPPLE
      :: MonadIO m
      => GLenum -- ^ @type@ of type [ElementPointerTypeATI](Graphics-GL-Groups.html#ElementPointerTypeATI).
      -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(type)@ elements of type @a@.
      -> m ()
    glElementPointerAPPLE :: forall (m :: * -> *) a. MonadIO m => GLenum -> Ptr a -> m ()
    glElementPointerAPPLE GLenum
    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 (GLenum -> Ptr a -> IO ()) -> GLenum -> Ptr a -> IO ()
    forall a.
    FunPtr (GLenum -> Ptr a -> IO ()) -> GLenum -> Ptr a -> IO ()
    dyn238 FunPtr (GLenum -> Ptr a -> IO ())
    forall a. FunPtr (GLenum -> Ptr a -> IO ())
    ptr_glElementPointerAPPLE GLenum
    v1 Ptr a
    v2

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

    -- glElementPointerATI ---------------------------------------------------------

    glElementPointerATI
      :: MonadIO m
      => GLenum -- ^ @type@ of type [ElementPointerTypeATI](Graphics-GL-Groups.html#ElementPointerTypeATI).
      -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(type)@ elements of type @a@.
      -> m ()
    glElementPointerATI :: forall (m :: * -> *) a. MonadIO m => GLenum -> Ptr a -> m ()
    glElementPointerATI GLenum
    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 (GLenum -> Ptr a -> IO ()) -> GLenum -> Ptr a -> IO ()
    forall a.
    FunPtr (GLenum -> Ptr a -> IO ()) -> GLenum -> Ptr a -> IO ()
    dyn238 FunPtr (GLenum -> Ptr a -> IO ())
    forall a. FunPtr (GLenum -> Ptr a -> IO ())
    ptr_glElementPointerATI GLenum
    v1 Ptr a
    v2

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

    -- glEnable --------------------------------------------------------------------

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

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

    -- glEnableClientState ---------------------------------------------------------

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

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

    -- glEnableClientStateIndexedEXT -----------------------------------------------

    glEnableClientStateIndexedEXT
      :: MonadIO m
      => GLenum -- ^ @array@ of type [EnableCap](Graphics-GL-Groups.html#EnableCap).
      -> GLuint -- ^ @index@.
      -> m ()
    glEnableClientStateIndexedEXT :: forall (m :: * -> *). MonadIO m => GLenum -> GLenum -> m ()
    glEnableClientStateIndexedEXT GLenum
    v1 GLenum
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> IO ()
    dyn19 FunPtr (GLenum -> GLenum -> IO ())
    ptr_glEnableClientStateIndexedEXT GLenum
    v1 GLenum
    v2

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

    -- glEnableClientStateiEXT -----------------------------------------------------

    glEnableClientStateiEXT
      :: MonadIO m
      => GLenum -- ^ @array@ of type [EnableCap](Graphics-GL-Groups.html#EnableCap).
      -> GLuint -- ^ @index@.
      -> m ()
    glEnableClientStateiEXT :: forall (m :: * -> *). MonadIO m => GLenum -> GLenum -> m ()
    glEnableClientStateiEXT GLenum
    v1 GLenum
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> IO ()
    dyn19 FunPtr (GLenum -> GLenum -> IO ())
    ptr_glEnableClientStateiEXT GLenum
    v1 GLenum
    v2

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

    -- glEnableDriverControlQCOM ---------------------------------------------------

    glEnableDriverControlQCOM
      :: MonadIO m
      => GLuint -- ^ @driverControl@.
      -> m ()
    glEnableDriverControlQCOM :: forall (m :: * -> *). MonadIO m => GLenum -> m ()
    glEnableDriverControlQCOM GLenum
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> IO ()) -> GLenum -> IO ()
    dyn3 FunPtr (GLenum -> IO ())
    ptr_glEnableDriverControlQCOM GLenum
    v1

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

    -- glEnableIndexedEXT ----------------------------------------------------------

    -- | This command is an alias for 'glEnablei'.
    glEnableIndexedEXT
      :: MonadIO m
      => GLenum -- ^ @target@ of type [EnableCap](Graphics-GL-Groups.html#EnableCap).
      -> GLuint -- ^ @index@.
      -> m ()
    glEnableIndexedEXT :: forall (m :: * -> *). MonadIO m => GLenum -> GLenum -> m ()
    glEnableIndexedEXT GLenum
    v1 GLenum
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> IO ()
    dyn19 FunPtr (GLenum -> GLenum -> IO ())
    ptr_glEnableIndexedEXT GLenum
    v1 GLenum
    v2

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

    -- glEnableVariantClientStateEXT -----------------------------------------------

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

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

    -- glEnableVertexArrayAttrib ---------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glEnableVertexAttribArray.xhtml OpenGL 4.x>.
    glEnableVertexArrayAttrib
      :: MonadIO m
      => GLuint -- ^ @vaobj@.
      -> GLuint -- ^ @index@.
      -> m ()
    glEnableVertexArrayAttrib :: forall (m :: * -> *). MonadIO m => GLenum -> GLenum -> m ()
    glEnableVertexArrayAttrib GLenum
    v1 GLenum
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> IO ()
    dyn4 FunPtr (GLenum -> GLenum -> IO ())
    ptr_glEnableVertexArrayAttrib GLenum
    v1 GLenum
    v2

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

    -- glEnableVertexArrayAttribEXT ------------------------------------------------

    glEnableVertexArrayAttribEXT
      :: MonadIO m
      => GLuint -- ^ @vaobj@.
      -> GLuint -- ^ @index@.
      -> m ()
    glEnableVertexArrayAttribEXT :: forall (m :: * -> *). MonadIO m => GLenum -> GLenum -> m ()
    glEnableVertexArrayAttribEXT GLenum
    v1 GLenum
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> IO ()
    dyn4 FunPtr (GLenum -> GLenum -> IO ())
    ptr_glEnableVertexArrayAttribEXT GLenum
    v1 GLenum
    v2

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

    -- glEnableVertexArrayEXT ------------------------------------------------------

    glEnableVertexArrayEXT
      :: MonadIO m
      => GLuint -- ^ @vaobj@.
      -> GLenum -- ^ @array@ of type [EnableCap](Graphics-GL-Groups.html#EnableCap).
      -> m ()
    glEnableVertexArrayEXT :: forall (m :: * -> *). MonadIO m => GLenum -> GLenum -> m ()
    glEnableVertexArrayEXT GLenum
    v1 GLenum
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> IO ()
    dyn18 FunPtr (GLenum -> GLenum -> IO ())
    ptr_glEnableVertexArrayEXT GLenum
    v1 GLenum
    v2

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

    -- glEnableVertexAttribAPPLE ---------------------------------------------------

    glEnableVertexAttribAPPLE
      :: MonadIO m
      => GLuint -- ^ @index@.
      -> GLenum -- ^ @pname@.
      -> m ()
    glEnableVertexAttribAPPLE :: forall (m :: * -> *). MonadIO m => GLenum -> GLenum -> m ()
    glEnableVertexAttribAPPLE GLenum
    v1 GLenum
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> IO ()
    dyn18 FunPtr (GLenum -> GLenum -> IO ())
    ptr_glEnableVertexAttribAPPLE GLenum
    v1 GLenum
    v2

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

    -- glEnableVertexAttribArray ---------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glEnableVertexAttribArray.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glEnableVertexAttribArray.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glEnableVertexAttribArray.xhtml OpenGL 4.x>.
    glEnableVertexAttribArray
      :: MonadIO m
      => GLuint -- ^ @index@.
      -> m ()
    glEnableVertexAttribArray :: forall (m :: * -> *). MonadIO m => GLenum -> m ()
    glEnableVertexAttribArray GLenum
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> IO ()) -> GLenum -> IO ()
    dyn3 FunPtr (GLenum -> IO ())
    ptr_glEnableVertexAttribArray GLenum
    v1

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

    -- glEnableVertexAttribArrayARB ------------------------------------------------

    -- | This command is an alias for 'glEnableVertexAttribArray'.
    glEnableVertexAttribArrayARB
      :: MonadIO m
      => GLuint -- ^ @index@.
      -> m ()
    glEnableVertexAttribArrayARB :: forall (m :: * -> *). MonadIO m => GLenum -> m ()
    glEnableVertexAttribArrayARB GLenum
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> IO ()) -> GLenum -> IO ()
    dyn3 FunPtr (GLenum -> IO ())
    ptr_glEnableVertexAttribArrayARB GLenum
    v1

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

    -- glEnablei -------------------------------------------------------------------

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

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

    -- glEnableiEXT ----------------------------------------------------------------

    -- | This command is an alias for 'glEnablei'.
    glEnableiEXT
      :: MonadIO m
      => GLenum -- ^ @target@ of type [EnableCap](Graphics-GL-Groups.html#EnableCap).
      -> GLuint -- ^ @index@.
      -> m ()
    glEnableiEXT :: forall (m :: * -> *). MonadIO m => GLenum -> GLenum -> m ()
    glEnableiEXT GLenum
    v1 GLenum
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> IO ()
    dyn19 FunPtr (GLenum -> GLenum -> IO ())
    ptr_glEnableiEXT GLenum
    v1 GLenum
    v2

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

    -- glEnableiNV -----------------------------------------------------------------

    -- | This command is an alias for 'glEnablei'.
    glEnableiNV
      :: MonadIO m
      => GLenum -- ^ @target@ of type [EnableCap](Graphics-GL-Groups.html#EnableCap).
      -> GLuint -- ^ @index@.
      -> m ()
    glEnableiNV :: forall (m :: * -> *). MonadIO m => GLenum -> GLenum -> m ()
    glEnableiNV GLenum
    v1 GLenum
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> IO ()
    dyn19 FunPtr (GLenum -> GLenum -> IO ())
    ptr_glEnableiNV GLenum
    v1 GLenum
    v2

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

    -- glEnableiOES ----------------------------------------------------------------

    -- | This command is an alias for 'glEnablei'.
    glEnableiOES
      :: MonadIO m
      => GLenum -- ^ @target@ of type [EnableCap](Graphics-GL-Groups.html#EnableCap).
      -> GLuint -- ^ @index@.
      -> m ()
    glEnableiOES :: forall (m :: * -> *). MonadIO m => GLenum -> GLenum -> m ()
    glEnableiOES GLenum
    v1 GLenum
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> IO ()
    dyn19 FunPtr (GLenum -> GLenum -> IO ())
    ptr_glEnableiOES GLenum
    v1 GLenum
    v2

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

    -- glEnd -----------------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glBegin.xml OpenGL 2.x>.
    glEnd
      :: MonadIO m
      => m ()
    glEnd :: forall (m :: * -> *). MonadIO m => m ()
    glEnd = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (IO ()) -> IO ()
    dyn11 FunPtr (IO ())
    ptr_glEnd

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

    -- glEndConditionalRender ------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glBeginConditionalRender.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBeginConditionalRender.xhtml OpenGL 4.x>.
    glEndConditionalRender
      :: MonadIO m
      => m ()
    glEndConditionalRender :: forall (m :: * -> *). MonadIO m => m ()
    glEndConditionalRender = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (IO ()) -> IO ()
    dyn11 FunPtr (IO ())
    ptr_glEndConditionalRender

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

    -- glEndConditionalRenderNV ----------------------------------------------------

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

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

    -- glEndConditionalRenderNVX ---------------------------------------------------

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

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

    -- glEndFragmentShaderATI ------------------------------------------------------

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

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

    -- glEndList -------------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glNewList.xml OpenGL 2.x>.
    glEndList
      :: MonadIO m
      => m ()
    glEndList :: forall (m :: * -> *). MonadIO m => m ()
    glEndList = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (IO ()) -> IO ()
    dyn11 FunPtr (IO ())
    ptr_glEndList

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

    -- glEndOcclusionQueryNV -------------------------------------------------------

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

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

    -- glEndPerfMonitorAMD ---------------------------------------------------------

    glEndPerfMonitorAMD
      :: MonadIO m
      => GLuint -- ^ @monitor@.
      -> m ()
    glEndPerfMonitorAMD :: forall (m :: * -> *). MonadIO m => GLenum -> m ()
    glEndPerfMonitorAMD GLenum
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> IO ()) -> GLenum -> IO ()
    dyn3 FunPtr (GLenum -> IO ())
    ptr_glEndPerfMonitorAMD GLenum
    v1

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

    -- glEndPerfQueryINTEL ---------------------------------------------------------

    glEndPerfQueryINTEL
      :: MonadIO m
      => GLuint -- ^ @queryHandle@.
      -> m ()
    glEndPerfQueryINTEL :: forall (m :: * -> *). MonadIO m => GLenum -> m ()
    glEndPerfQueryINTEL GLenum
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> IO ()) -> GLenum -> IO ()
    dyn3 FunPtr (GLenum -> IO ())
    ptr_glEndPerfQueryINTEL GLenum
    v1

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

    -- glEndQuery ------------------------------------------------------------------

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

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

    -- glEndQueryARB ---------------------------------------------------------------

    -- | This command is an alias for 'glEndQuery'.
    glEndQueryARB
      :: MonadIO m
      => GLenum -- ^ @target@ of type [QueryTarget](Graphics-GL-Groups.html#QueryTarget).
      -> m ()
    glEndQueryARB :: forall (m :: * -> *). MonadIO m => GLenum -> m ()
    glEndQueryARB GLenum
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> IO ()) -> GLenum -> IO ()
    dyn5 FunPtr (GLenum -> IO ())
    ptr_glEndQueryARB GLenum
    v1

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

    -- glEndQueryEXT ---------------------------------------------------------------

    glEndQueryEXT
      :: MonadIO m
      => GLenum -- ^ @target@ of type [QueryTarget](Graphics-GL-Groups.html#QueryTarget).
      -> m ()
    glEndQueryEXT :: forall (m :: * -> *). MonadIO m => GLenum -> m ()
    glEndQueryEXT GLenum
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> IO ()) -> GLenum -> IO ()
    dyn5 FunPtr (GLenum -> IO ())
    ptr_glEndQueryEXT GLenum
    v1

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

    -- glEndQueryIndexed -----------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBeginQueryIndexed.xhtml OpenGL 4.x>.
    glEndQueryIndexed
      :: MonadIO m
      => GLenum -- ^ @target@ of type [QueryTarget](Graphics-GL-Groups.html#QueryTarget).
      -> GLuint -- ^ @index@.
      -> m ()
    glEndQueryIndexed :: forall (m :: * -> *). MonadIO m => GLenum -> GLenum -> m ()
    glEndQueryIndexed GLenum
    v1 GLenum
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> IO ()
    dyn19 FunPtr (GLenum -> GLenum -> IO ())
    ptr_glEndQueryIndexed GLenum
    v1 GLenum
    v2

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

    -- glEndTilingQCOM -------------------------------------------------------------

    glEndTilingQCOM
      :: MonadIO m
      => GLbitfield -- ^ @preserveMask@ of type [BufferBitQCOM](Graphics-GL-Groups.html#BufferBitQCOM).
      -> m ()
    glEndTilingQCOM :: forall (m :: * -> *). MonadIO m => GLenum -> m ()
    glEndTilingQCOM GLenum
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> IO ()) -> GLenum -> IO ()
    dyn75 FunPtr (GLenum -> IO ())
    ptr_glEndTilingQCOM GLenum
    v1

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

    -- glEndTransformFeedback ------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glBeginTransformFeedback.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBeginTransformFeedback.xhtml OpenGL 4.x>.
    glEndTransformFeedback
      :: MonadIO m
      => m ()
    glEndTransformFeedback :: forall (m :: * -> *). MonadIO m => m ()
    glEndTransformFeedback = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (IO ()) -> IO ()
    dyn11 FunPtr (IO ())
    ptr_glEndTransformFeedback

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

    -- glEndTransformFeedbackEXT ---------------------------------------------------

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

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

    -- glEndTransformFeedbackNV ----------------------------------------------------

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

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

    -- glEndVertexShaderEXT --------------------------------------------------------

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

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

    -- glEndVideoCaptureNV ---------------------------------------------------------

    glEndVideoCaptureNV
      :: MonadIO m
      => GLuint -- ^ @video_capture_slot@.
      -> m ()
    glEndVideoCaptureNV :: forall (m :: * -> *). MonadIO m => GLenum -> m ()
    glEndVideoCaptureNV GLenum
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> IO ()) -> GLenum -> IO ()
    dyn3 FunPtr (GLenum -> IO ())
    ptr_glEndVideoCaptureNV GLenum
    v1

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

    -- glEvalCoord1d ---------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glEvalCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glEvalCoord1dv'.
    glEvalCoord1d
      :: MonadIO m
      => GLdouble -- ^ @u@ of type @CoordD@.
      -> m ()
    glEvalCoord1d :: forall (m :: * -> *). MonadIO m => GLdouble -> m ()
    glEvalCoord1d GLdouble
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLdouble -> IO ()) -> GLdouble -> IO ()
    dyn84 FunPtr (GLdouble -> IO ())
    ptr_glEvalCoord1d GLdouble
    v1

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

    -- glEvalCoord1dv --------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glEvalCoord.xml OpenGL 2.x>.
    glEvalCoord1dv
      :: MonadIO m
      => Ptr GLdouble -- ^ @u@ pointing to @1@ element of type @CoordD@.
      -> m ()
    glEvalCoord1dv :: forall (m :: * -> *). MonadIO m => Ptr GLdouble -> m ()
    glEvalCoord1dv Ptr GLdouble
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (Ptr GLdouble -> IO ()) -> Ptr GLdouble -> IO ()
    dyn42 FunPtr (Ptr GLdouble -> IO ())
    ptr_glEvalCoord1dv Ptr GLdouble
    v1

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

    -- glEvalCoord1f ---------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glEvalCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glEvalCoord1fv'.
    glEvalCoord1f
      :: MonadIO m
      => GLfloat -- ^ @u@ of type @CoordF@.
      -> m ()
    glEvalCoord1f :: forall (m :: * -> *). MonadIO m => GLfloat -> m ()
    glEvalCoord1f GLfloat
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLfloat -> IO ()) -> GLfloat -> IO ()
    dyn85 FunPtr (GLfloat -> IO ())
    ptr_glEvalCoord1f GLfloat
    v1

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

    -- glEvalCoord1fv --------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glEvalCoord.xml OpenGL 2.x>.
    glEvalCoord1fv
      :: MonadIO m
      => Ptr GLfloat -- ^ @u@ pointing to @1@ element of type @CoordF@.
      -> m ()
    glEvalCoord1fv :: forall (m :: * -> *). MonadIO m => Ptr GLfloat -> m ()
    glEvalCoord1fv Ptr GLfloat
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> IO ()
    dyn44 FunPtr (Ptr GLfloat -> IO ())
    ptr_glEvalCoord1fv Ptr GLfloat
    v1

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

    -- glEvalCoord1xOES ------------------------------------------------------------

    glEvalCoord1xOES
      :: MonadIO m
      => GLfixed -- ^ @u@.
      -> m ()
    glEvalCoord1xOES :: forall (m :: * -> *). MonadIO m => GLfixed -> m ()
    glEvalCoord1xOES GLfixed
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLfixed -> IO ()) -> GLfixed -> IO ()
    dyn87 FunPtr (GLfixed -> IO ())
    ptr_glEvalCoord1xOES GLfixed
    v1

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

    -- glEvalCoord1xvOES -----------------------------------------------------------

    glEvalCoord1xvOES
      :: MonadIO m
      => Ptr GLfixed -- ^ @coords@ pointing to @1@ element of type @GLfixed@.
      -> m ()
    glEvalCoord1xvOES :: forall (m :: * -> *). MonadIO m => Ptr GLfixed -> m ()
    glEvalCoord1xvOES Ptr GLfixed
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (Ptr GLfixed -> IO ()) -> Ptr GLfixed -> IO ()
    dyn114 FunPtr (Ptr GLfixed -> IO ())
    ptr_glEvalCoord1xvOES Ptr GLfixed
    v1

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

    -- glEvalCoord2d ---------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glEvalCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glEvalCoord2dv'.
    glEvalCoord2d
      :: MonadIO m
      => GLdouble -- ^ @u@ of type @CoordD@.
      -> GLdouble -- ^ @v@ of type @CoordD@.
      -> m ()
    glEvalCoord2d :: forall (m :: * -> *). MonadIO m => GLdouble -> GLdouble -> m ()
    glEvalCoord2d GLdouble
    v1 GLdouble
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLdouble -> GLdouble -> IO ())
    -> GLdouble -> GLdouble -> IO ()
    dyn225 FunPtr (GLdouble -> GLdouble -> IO ())
    ptr_glEvalCoord2d GLdouble
    v1 GLdouble
    v2

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

    -- glEvalCoord2dv --------------------------------------------------------------

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

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

    -- glEvalCoord2f ---------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glEvalCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glEvalCoord2fv'.
    glEvalCoord2f
      :: MonadIO m
      => GLfloat -- ^ @u@ of type @CoordF@.
      -> GLfloat -- ^ @v@ of type @CoordF@.
      -> m ()
    glEvalCoord2f :: forall (m :: * -> *). MonadIO m => GLfloat -> GLfloat -> m ()
    glEvalCoord2f GLfloat
    v1 GLfloat
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLfloat -> GLfloat -> IO ()) -> GLfloat -> GLfloat -> IO ()
    dyn230 FunPtr (GLfloat -> GLfloat -> IO ())
    ptr_glEvalCoord2f GLfloat
    v1 GLfloat
    v2

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

    -- glEvalCoord2fv --------------------------------------------------------------

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

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

    -- glEvalCoord2xOES ------------------------------------------------------------

    glEvalCoord2xOES
      :: MonadIO m
      => GLfixed -- ^ @u@.
      -> GLfixed -- ^ @v@.
      -> m ()
    glEvalCoord2xOES :: forall (m :: * -> *). MonadIO m => GLfixed -> GLfixed -> m ()
    glEvalCoord2xOES GLfixed
    v1 GLfixed
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLfixed -> GLfixed -> IO ()) -> GLfixed -> GLfixed -> IO ()
    dyn232 FunPtr (GLfixed -> GLfixed -> IO ())
    ptr_glEvalCoord2xOES GLfixed
    v1 GLfixed
    v2

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

    -- glEvalCoord2xvOES -----------------------------------------------------------

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

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

    -- glEvalMapsNV ----------------------------------------------------------------

    glEvalMapsNV
      :: MonadIO m
      => GLenum -- ^ @target@ of type [EvalTargetNV](Graphics-GL-Groups.html#EvalTargetNV).
      -> GLenum -- ^ @mode@ of type [EvalMapsModeNV](Graphics-GL-Groups.html#EvalMapsModeNV).
      -> m ()
    glEvalMapsNV :: forall (m :: * -> *). MonadIO m => GLenum -> GLenum -> m ()
    glEvalMapsNV GLenum
    v1 GLenum
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> IO ()
    dyn54 FunPtr (GLenum -> GLenum -> IO ())
    ptr_glEvalMapsNV GLenum
    v1 GLenum
    v2

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

    -- glEvalMesh1 -----------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glEvalMesh.xml OpenGL 2.x>.
    glEvalMesh1
      :: MonadIO m
      => GLenum -- ^ @mode@ of type [MeshMode1](Graphics-GL-Groups.html#MeshMode1).
      -> GLint -- ^ @i1@ of type @CheckedInt32@.
      -> GLint -- ^ @i2@ of type @CheckedInt32@.
      -> m ()
    glEvalMesh1 :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLsizei -> GLsizei -> m ()
    glEvalMesh1 GLenum
    v1 GLsizei
    v2 GLsizei
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLsizei -> GLsizei -> IO ())
    -> GLenum -> GLsizei -> GLsizei -> IO ()
    dyn275 FunPtr (GLenum -> GLsizei -> GLsizei -> IO ())
    ptr_glEvalMesh1 GLenum
    v1 GLsizei
    v2 GLsizei
    v3

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

    -- glEvalMesh2 -----------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glEvalMesh.xml OpenGL 2.x>.
    glEvalMesh2
      :: MonadIO m
      => GLenum -- ^ @mode@ of type [MeshMode2](Graphics-GL-Groups.html#MeshMode2).
      -> GLint -- ^ @i1@ of type @CheckedInt32@.
      -> GLint -- ^ @i2@ of type @CheckedInt32@.
      -> GLint -- ^ @j1@ of type @CheckedInt32@.
      -> GLint -- ^ @j2@ of type @CheckedInt32@.
      -> m ()
    glEvalMesh2 :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> m ()
    glEvalMesh2 GLenum
    v1 GLsizei
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
    -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ()
    dyn276 FunPtr
      (GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
    ptr_glEvalMesh2 GLenum
    v1 GLsizei
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5

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

    -- glEvalPoint1 ----------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glEvalPoint.xml OpenGL 2.x>.
    glEvalPoint1
      :: MonadIO m
      => GLint -- ^ @i@.
      -> m ()
    glEvalPoint1 :: forall (m :: * -> *). MonadIO m => GLsizei -> m ()
    glEvalPoint1 GLsizei
    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 (GLsizei -> IO ()) -> GLsizei -> IO ()
    dyn13 FunPtr (GLsizei -> IO ())
    ptr_glEvalPoint1 GLsizei
    v1

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

    -- glEvalPoint2 ----------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glEvalPoint.xml OpenGL 2.x>.
    glEvalPoint2
      :: MonadIO m
      => GLint -- ^ @i@ of type @CheckedInt32@.
      -> GLint -- ^ @j@ of type @CheckedInt32@.
      -> m ()
    glEvalPoint2 :: forall (m :: * -> *). MonadIO m => GLsizei -> GLsizei -> m ()
    glEvalPoint2 GLsizei
    v1 GLsizei
    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 (GLsizei -> GLsizei -> IO ()) -> GLsizei -> GLsizei -> IO ()
    dyn277 FunPtr (GLsizei -> GLsizei -> IO ())
    ptr_glEvalPoint2 GLsizei
    v1 GLsizei
    v2

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

    -- glEvaluateDepthValuesARB ----------------------------------------------------

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

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

    -- glExecuteProgramNV ----------------------------------------------------------

    glExecuteProgramNV
      :: MonadIO m
      => GLenum -- ^ @target@ of type [VertexAttribEnumNV](Graphics-GL-Groups.html#VertexAttribEnumNV).
      -> GLuint -- ^ @id@.
      -> Ptr GLfloat -- ^ @params@ pointing to @4@ elements of type @GLfloat@.
      -> m ()
    glExecuteProgramNV :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLfloat -> m ()
    glExecuteProgramNV GLenum
    v1 GLenum
    v2 Ptr GLfloat
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
    -> GLenum -> GLenum -> Ptr GLfloat -> IO ()
    dyn278 FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
    ptr_glExecuteProgramNV GLenum
    v1 GLenum
    v2 Ptr GLfloat
    v3

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

    -- glExtGetBufferPointervQCOM --------------------------------------------------

    glExtGetBufferPointervQCOM
      :: MonadIO m
      => GLenum -- ^ @target@.
      -> Ptr (Ptr a) -- ^ @params@.
      -> m ()
    glExtGetBufferPointervQCOM :: forall (m :: * -> *) a. MonadIO m => GLenum -> Ptr (Ptr a) -> m ()
    glExtGetBufferPointervQCOM GLenum
    v1 Ptr (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 (GLenum -> Ptr (Ptr a) -> IO ())
    -> GLenum -> Ptr (Ptr a) -> IO ()
    forall a.
    FunPtr (GLenum -> Ptr (Ptr a) -> IO ())
    -> GLenum -> Ptr (Ptr a) -> IO ()
    dyn279 FunPtr (GLenum -> Ptr (Ptr a) -> IO ())
    forall a. FunPtr (GLenum -> Ptr (Ptr a) -> IO ())
    ptr_glExtGetBufferPointervQCOM GLenum
    v1 Ptr (Ptr a)
    v2

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

    -- glExtGetBuffersQCOM ---------------------------------------------------------

    glExtGetBuffersQCOM
      :: MonadIO m
      => Ptr GLuint -- ^ @buffers@ pointing to @maxBuffers@ elements of type @GLuint@.
      -> GLint -- ^ @maxBuffers@.
      -> Ptr GLint -- ^ @numBuffers@ pointing to @1@ element of type @GLint@.
      -> m ()
    glExtGetBuffersQCOM :: forall (m :: * -> *).
    MonadIO m =>
    Ptr GLenum -> GLsizei -> Ptr GLsizei -> m ()
    glExtGetBuffersQCOM Ptr GLenum
    v1 GLsizei
    v2 Ptr GLsizei
    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 (Ptr GLenum -> GLsizei -> Ptr GLsizei -> IO ())
    -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> IO ()
    dyn280 FunPtr (Ptr GLenum -> GLsizei -> Ptr GLsizei -> IO ())
    ptr_glExtGetBuffersQCOM Ptr GLenum
    v1 GLsizei
    v2 Ptr GLsizei
    v3

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

    -- glExtGetFramebuffersQCOM ----------------------------------------------------

    glExtGetFramebuffersQCOM
      :: MonadIO m
      => Ptr GLuint -- ^ @framebuffers@ pointing to @maxFramebuffers@ elements of type @GLuint@.
      -> GLint -- ^ @maxFramebuffers@.
      -> Ptr GLint -- ^ @numFramebuffers@ pointing to @1@ element of type @GLint@.
      -> m ()
    glExtGetFramebuffersQCOM :: forall (m :: * -> *).
    MonadIO m =>
    Ptr GLenum -> GLsizei -> Ptr GLsizei -> m ()
    glExtGetFramebuffersQCOM Ptr GLenum
    v1 GLsizei
    v2 Ptr GLsizei
    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 (Ptr GLenum -> GLsizei -> Ptr GLsizei -> IO ())
    -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> IO ()
    dyn280 FunPtr (Ptr GLenum -> GLsizei -> Ptr GLsizei -> IO ())
    ptr_glExtGetFramebuffersQCOM Ptr GLenum
    v1 GLsizei
    v2 Ptr GLsizei
    v3

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

    -- glExtGetProgramBinarySourceQCOM ---------------------------------------------

    glExtGetProgramBinarySourceQCOM
      :: MonadIO m
      => GLuint -- ^ @program@.
      -> GLenum -- ^ @shadertype@ of type [ShaderType](Graphics-GL-Groups.html#ShaderType).
      -> Ptr GLchar -- ^ @source@.
      -> Ptr GLint -- ^ @length@.
      -> m ()
    glExtGetProgramBinarySourceQCOM :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLchar -> Ptr GLsizei -> m ()
    glExtGetProgramBinarySourceQCOM GLenum
    v1 GLenum
    v2 Ptr GLchar
    v3 Ptr GLsizei
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> Ptr GLchar -> Ptr GLsizei -> IO ())
    -> GLenum -> GLenum -> Ptr GLchar -> Ptr GLsizei -> IO ()
    dyn281 FunPtr (GLenum -> GLenum -> Ptr GLchar -> Ptr GLsizei -> IO ())
    ptr_glExtGetProgramBinarySourceQCOM GLenum
    v1 GLenum
    v2 Ptr GLchar
    v3 Ptr GLsizei
    v4

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

    -- glExtGetProgramsQCOM --------------------------------------------------------

    glExtGetProgramsQCOM
      :: MonadIO m
      => Ptr GLuint -- ^ @programs@ pointing to @maxPrograms@ elements of type @GLuint@.
      -> GLint -- ^ @maxPrograms@.
      -> Ptr GLint -- ^ @numPrograms@ pointing to @1@ element of type @GLint@.
      -> m ()
    glExtGetProgramsQCOM :: forall (m :: * -> *).
    MonadIO m =>
    Ptr GLenum -> GLsizei -> Ptr GLsizei -> m ()
    glExtGetProgramsQCOM Ptr GLenum
    v1 GLsizei
    v2 Ptr GLsizei
    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 (Ptr GLenum -> GLsizei -> Ptr GLsizei -> IO ())
    -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> IO ()
    dyn280 FunPtr (Ptr GLenum -> GLsizei -> Ptr GLsizei -> IO ())
    ptr_glExtGetProgramsQCOM Ptr GLenum
    v1 GLsizei
    v2 Ptr GLsizei
    v3

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

    -- glExtGetRenderbuffersQCOM ---------------------------------------------------

    glExtGetRenderbuffersQCOM
      :: MonadIO m
      => Ptr GLuint -- ^ @renderbuffers@ pointing to @maxRenderbuffers@ elements of type @GLuint@.
      -> GLint -- ^ @maxRenderbuffers@.
      -> Ptr GLint -- ^ @numRenderbuffers@ pointing to @1@ element of type @GLint@.
      -> m ()
    glExtGetRenderbuffersQCOM :: forall (m :: * -> *).
    MonadIO m =>
    Ptr GLenum -> GLsizei -> Ptr GLsizei -> m ()
    glExtGetRenderbuffersQCOM Ptr GLenum
    v1 GLsizei
    v2 Ptr GLsizei
    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 (Ptr GLenum -> GLsizei -> Ptr GLsizei -> IO ())
    -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> IO ()
    dyn280 FunPtr (Ptr GLenum -> GLsizei -> Ptr GLsizei -> IO ())
    ptr_glExtGetRenderbuffersQCOM Ptr GLenum
    v1 GLsizei
    v2 Ptr GLsizei
    v3

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

    -- glExtGetShadersQCOM ---------------------------------------------------------

    glExtGetShadersQCOM
      :: MonadIO m
      => Ptr GLuint -- ^ @shaders@ pointing to @maxShaders@ elements of type @GLuint@.
      -> GLint -- ^ @maxShaders@.
      -> Ptr GLint -- ^ @numShaders@ pointing to @1@ element of type @GLint@.
      -> m ()
    glExtGetShadersQCOM :: forall (m :: * -> *).
    MonadIO m =>
    Ptr GLenum -> GLsizei -> Ptr GLsizei -> m ()
    glExtGetShadersQCOM Ptr GLenum
    v1 GLsizei
    v2 Ptr GLsizei
    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 (Ptr GLenum -> GLsizei -> Ptr GLsizei -> IO ())
    -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> IO ()
    dyn280 FunPtr (Ptr GLenum -> GLsizei -> Ptr GLsizei -> IO ())
    ptr_glExtGetShadersQCOM Ptr GLenum
    v1 GLsizei
    v2 Ptr GLsizei
    v3

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

    -- glExtGetTexLevelParameterivQCOM ---------------------------------------------

    glExtGetTexLevelParameterivQCOM
      :: MonadIO m
      => GLuint -- ^ @texture@.
      -> GLenum -- ^ @face@.
      -> GLint -- ^ @level@.
      -> GLenum -- ^ @pname@.
      -> Ptr GLint -- ^ @params@.
      -> m ()
    glExtGetTexLevelParameterivQCOM :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLsizei -> GLenum -> Ptr GLsizei -> m ()
    glExtGetTexLevelParameterivQCOM GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLenum
    v4 Ptr GLsizei
    v5 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLenum -> GLenum -> GLsizei -> GLenum -> Ptr GLsizei -> IO ())
    -> GLenum -> GLenum -> GLsizei -> GLenum -> Ptr GLsizei -> IO ()
    dyn282 FunPtr
      (GLenum -> GLenum -> GLsizei -> GLenum -> Ptr GLsizei -> IO ())
    ptr_glExtGetTexLevelParameterivQCOM GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLenum
    v4 Ptr GLsizei
    v5

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

    -- glExtGetTexSubImageQCOM -----------------------------------------------------

    glExtGetTexSubImageQCOM
      :: MonadIO m
      => GLenum -- ^ @target@.
      -> GLint -- ^ @level@.
      -> GLint -- ^ @xoffset@.
      -> GLint -- ^ @yoffset@.
      -> GLint -- ^ @zoffset@.
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> GLsizei -- ^ @depth@.
      -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
      -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
      -> Ptr a -- ^ @texels@.
      -> m ()
    glExtGetTexSubImageQCOM :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLenum
    -> Ptr a
    -> m ()
    glExtGetTexSubImageQCOM GLenum
    v1 GLsizei
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 GLsizei
    v8 GLenum
    v9 GLenum
    v10 Ptr a
    v11 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLenum
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLenum
    -> Ptr a
    -> IO ()
    forall a.
    FunPtr
      (GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLenum
       -> Ptr a
       -> IO ())
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLenum
    -> GLenum
    -> Ptr a
    -> IO ()
    dyn283 FunPtr
      (GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLenum
       -> Ptr a
       -> IO ())
    forall a.
    FunPtr
      (GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLenum
       -> GLenum
       -> Ptr a
       -> IO ())
    ptr_glExtGetTexSubImageQCOM GLenum
    v1 GLsizei
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 GLsizei
    v8 GLenum
    v9 GLenum
    v10 Ptr a
    v11

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

    -- glExtGetTexturesQCOM --------------------------------------------------------

    glExtGetTexturesQCOM
      :: MonadIO m
      => Ptr GLuint -- ^ @textures@.
      -> GLint -- ^ @maxTextures@.
      -> Ptr GLint -- ^ @numTextures@.
      -> m ()
    glExtGetTexturesQCOM :: forall (m :: * -> *).
    MonadIO m =>
    Ptr GLenum -> GLsizei -> Ptr GLsizei -> m ()
    glExtGetTexturesQCOM Ptr GLenum
    v1 GLsizei
    v2 Ptr GLsizei
    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 (Ptr GLenum -> GLsizei -> Ptr GLsizei -> IO ())
    -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> IO ()
    dyn280 FunPtr (Ptr GLenum -> GLsizei -> Ptr GLsizei -> IO ())
    ptr_glExtGetTexturesQCOM Ptr GLenum
    v1 GLsizei
    v2 Ptr GLsizei
    v3

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

    -- glExtIsProgramBinaryQCOM ----------------------------------------------------

    glExtIsProgramBinaryQCOM
      :: MonadIO m
      => GLuint -- ^ @program@.
      -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
    glExtIsProgramBinaryQCOM :: forall (m :: * -> *). MonadIO m => GLenum -> m GLboolean
    glExtIsProgramBinaryQCOM GLenum
    v1 = IO GLboolean -> m GLboolean
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO GLboolean -> m GLboolean) -> IO GLboolean -> m GLboolean
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> IO GLboolean) -> GLenum -> IO GLboolean
    dyn284 FunPtr (GLenum -> IO GLboolean)
    ptr_glExtIsProgramBinaryQCOM GLenum
    v1

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

    -- glExtTexObjectStateOverrideiQCOM --------------------------------------------

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

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

    -- glExtractComponentEXT -------------------------------------------------------

    glExtractComponentEXT
      :: MonadIO m
      => GLuint -- ^ @res@.
      -> GLuint -- ^ @src@.
      -> GLuint -- ^ @num@.
      -> m ()
    glExtractComponentEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> m ()
    glExtractComponentEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLenum -> IO ())
    -> GLenum -> GLenum -> GLenum -> IO ()
    dyn109 FunPtr (GLenum -> GLenum -> GLenum -> IO ())
    ptr_glExtractComponentEXT GLenum
    v1 GLenum
    v2 GLenum
    v3

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

    -- glFeedbackBuffer ------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glFeedbackBuffer.xml OpenGL 2.x>.
    glFeedbackBuffer
      :: MonadIO m
      => GLsizei -- ^ @size@.
      -> GLenum -- ^ @type@ of type [FeedbackType](Graphics-GL-Groups.html#FeedbackType).
      -> Ptr GLfloat -- ^ @buffer@ pointing to @size@ elements of type @FeedbackElement@.
      -> m ()
    glFeedbackBuffer :: forall (m :: * -> *).
    MonadIO m =>
    GLsizei -> GLenum -> Ptr GLfloat -> m ()
    glFeedbackBuffer GLsizei
    v1 GLenum
    v2 Ptr GLfloat
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLsizei -> GLenum -> Ptr GLfloat -> IO ())
    -> GLsizei -> GLenum -> Ptr GLfloat -> IO ()
    dyn285 FunPtr (GLsizei -> GLenum -> Ptr GLfloat -> IO ())
    ptr_glFeedbackBuffer GLsizei
    v1 GLenum
    v2 Ptr GLfloat
    v3

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

    -- glFeedbackBufferxOES --------------------------------------------------------

    glFeedbackBufferxOES
      :: MonadIO m
      => GLsizei -- ^ @n@.
      -> GLenum -- ^ @type@.
      -> Ptr GLfixed -- ^ @buffer@ pointing to @n@ elements of type @GLfixed@.
      -> m ()
    glFeedbackBufferxOES :: forall (m :: * -> *).
    MonadIO m =>
    GLsizei -> GLenum -> Ptr GLfixed -> m ()
    glFeedbackBufferxOES GLsizei
    v1 GLenum
    v2 Ptr GLfixed
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLsizei -> GLenum -> Ptr GLfixed -> IO ())
    -> GLsizei -> GLenum -> Ptr GLfixed -> IO ()
    dyn286 FunPtr (GLsizei -> GLenum -> Ptr GLfixed -> IO ())
    ptr_glFeedbackBufferxOES GLsizei
    v1 GLenum
    v2 Ptr GLfixed
    v3

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

    -- glFenceSync -----------------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glFenceSync.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glFenceSync.xhtml OpenGL 4.x>.
    glFenceSync
      :: MonadIO m
      => GLenum -- ^ @condition@ of type [SyncCondition](Graphics-GL-Groups.html#SyncCondition).
      -> GLbitfield -- ^ @flags@.
      -> m GLsync -- ^ of type @sync@.
    glFenceSync :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> m GLeglImageOES
    glFenceSync GLenum
    v1 GLenum
    v2 = IO GLeglImageOES -> m GLeglImageOES
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO GLeglImageOES -> m GLeglImageOES)
    -> IO GLeglImageOES -> m GLeglImageOES
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> IO GLeglImageOES)
    -> GLenum -> GLenum -> IO GLeglImageOES
    dyn287 FunPtr (GLenum -> GLenum -> IO GLeglImageOES)
    ptr_glFenceSync GLenum
    v1 GLenum
    v2

    {-# NOINLINE ptr_glFenceSync #-}
    ptr_glFenceSync :: FunPtr (GLenum -> GLbitfield -> IO GLsync)
    ptr_glFenceSync :: FunPtr (GLenum -> GLenum -> IO GLeglImageOES)
    ptr_glFenceSync = IO (FunPtr (GLenum -> GLenum -> IO GLeglImageOES))
    -> FunPtr (GLenum -> GLenum -> IO GLeglImageOES)
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLenum -> GLenum -> IO GLeglImageOES))
     -> FunPtr (GLenum -> GLenum -> IO GLeglImageOES))
    -> IO (FunPtr (GLenum -> GLenum -> IO GLeglImageOES))
    -> FunPtr (GLenum -> GLenum -> IO GLeglImageOES)
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLenum -> GLenum -> IO GLeglImageOES))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glFenceSync"

    -- glFenceSyncAPPLE ------------------------------------------------------------

    -- | This command is an alias for 'glFenceSync'.
    glFenceSyncAPPLE
      :: MonadIO m
      => GLenum -- ^ @condition@ of type [SyncCondition](Graphics-GL-Groups.html#SyncCondition).
      -> GLbitfield -- ^ @flags@.
      -> m GLsync
    glFenceSyncAPPLE :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> m GLeglImageOES
    glFenceSyncAPPLE GLenum
    v1 GLenum
    v2 = IO GLeglImageOES -> m GLeglImageOES
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO GLeglImageOES -> m GLeglImageOES)
    -> IO GLeglImageOES -> m GLeglImageOES
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> IO GLeglImageOES)
    -> GLenum -> GLenum -> IO GLeglImageOES
    dyn287 FunPtr (GLenum -> GLenum -> IO GLeglImageOES)
    ptr_glFenceSyncAPPLE GLenum
    v1 GLenum
    v2

    {-# NOINLINE ptr_glFenceSyncAPPLE #-}
    ptr_glFenceSyncAPPLE :: FunPtr (GLenum -> GLbitfield -> IO GLsync)
    ptr_glFenceSyncAPPLE :: FunPtr (GLenum -> GLenum -> IO GLeglImageOES)
    ptr_glFenceSyncAPPLE = IO (FunPtr (GLenum -> GLenum -> IO GLeglImageOES))
    -> FunPtr (GLenum -> GLenum -> IO GLeglImageOES)
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLenum -> GLenum -> IO GLeglImageOES))
     -> FunPtr (GLenum -> GLenum -> IO GLeglImageOES))
    -> IO (FunPtr (GLenum -> GLenum -> IO GLeglImageOES))
    -> FunPtr (GLenum -> GLenum -> IO GLeglImageOES)
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLenum -> GLenum -> IO GLeglImageOES))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glFenceSyncAPPLE"

    -- glFinalCombinerInputNV ------------------------------------------------------

    glFinalCombinerInputNV
      :: MonadIO m
      => GLenum -- ^ @variable@ of type [CombinerVariableNV](Graphics-GL-Groups.html#CombinerVariableNV).
      -> GLenum -- ^ @input@ of type [CombinerRegisterNV](Graphics-GL-Groups.html#CombinerRegisterNV).
      -> GLenum -- ^ @mapping@ of type [CombinerMappingNV](Graphics-GL-Groups.html#CombinerMappingNV).
      -> GLenum -- ^ @componentUsage@ of type [CombinerComponentUsageNV](Graphics-GL-Groups.html#CombinerComponentUsageNV).
      -> m ()
    glFinalCombinerInputNV :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> GLenum -> m ()
    glFinalCombinerInputNV GLenum
    v1 GLenum
    v2 GLenum
    v3 GLenum
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
    -> GLenum -> GLenum -> GLenum -> GLenum -> IO ()
    dyn56 FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
    ptr_glFinalCombinerInputNV GLenum
    v1 GLenum
    v2 GLenum
    v3 GLenum
    v4

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

    -- glFinish --------------------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glFinish.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glFinish.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glFinish.xhtml OpenGL 4.x>.
    glFinish
      :: MonadIO m
      => m ()
    glFinish :: forall (m :: * -> *). MonadIO m => m ()
    glFinish = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (IO ()) -> IO ()
    dyn11 FunPtr (IO ())
    ptr_glFinish

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

    -- glFinishAsyncSGIX -----------------------------------------------------------

    glFinishAsyncSGIX
      :: MonadIO m
      => Ptr GLuint -- ^ @markerp@ pointing to @1@ element of type @GLuint@.
      -> m GLint
    glFinishAsyncSGIX :: forall (m :: * -> *). MonadIO m => Ptr GLenum -> m GLsizei
    glFinishAsyncSGIX Ptr GLenum
    v1 = IO GLsizei -> m GLsizei
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO GLsizei -> m GLsizei) -> IO GLsizei -> m GLsizei
    forall a b. (a -> b) -> a -> b
    $ FunPtr (Ptr GLenum -> IO GLsizei) -> Ptr GLenum -> IO GLsizei
    dyn288 FunPtr (Ptr GLenum -> IO GLsizei)
    ptr_glFinishAsyncSGIX Ptr GLenum
    v1

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

    -- glFinishFenceAPPLE ----------------------------------------------------------

    glFinishFenceAPPLE
      :: MonadIO m
      => GLuint -- ^ @fence@ of type @FenceNV@.
      -> m ()
    glFinishFenceAPPLE :: forall (m :: * -> *). MonadIO m => GLenum -> m ()
    glFinishFenceAPPLE GLenum
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> IO ()) -> GLenum -> IO ()
    dyn3 FunPtr (GLenum -> IO ())
    ptr_glFinishFenceAPPLE GLenum
    v1

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

    -- glFinishFenceNV -------------------------------------------------------------

    glFinishFenceNV
      :: MonadIO m
      => GLuint -- ^ @fence@ of type @FenceNV@.
      -> m ()
    glFinishFenceNV :: forall (m :: * -> *). MonadIO m => GLenum -> m ()
    glFinishFenceNV GLenum
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> IO ()) -> GLenum -> IO ()
    dyn3 FunPtr (GLenum -> IO ())
    ptr_glFinishFenceNV GLenum
    v1

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

    -- glFinishObjectAPPLE ---------------------------------------------------------

    glFinishObjectAPPLE
      :: MonadIO m
      => GLenum -- ^ @object@ of type [ObjectTypeAPPLE](Graphics-GL-Groups.html#ObjectTypeAPPLE).
      -> GLint -- ^ @name@.
      -> m ()
    glFinishObjectAPPLE :: forall (m :: * -> *). MonadIO m => GLenum -> GLsizei -> m ()
    glFinishObjectAPPLE GLenum
    v1 GLsizei
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLsizei -> IO ()) -> GLenum -> GLsizei -> IO ()
    dyn58 FunPtr (GLenum -> GLsizei -> IO ())
    ptr_glFinishObjectAPPLE GLenum
    v1 GLsizei
    v2

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