    {-# OPTIONS_HADDOCK hide #-}
    --------------------------------------------------------------------------------
    -- |
    -- Module      :  Graphics.GL.Functions.F11
    -- 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.F11 (
      glGetMaterialxOES,
      glGetMaterialxv,
      glGetMaterialxvOES,
      glGetMemoryObjectDetachedResourcesuivNV,
      glGetMemoryObjectParameterivEXT,
      glGetMinmax,
      glGetMinmaxEXT,
      glGetMinmaxParameterfv,
      glGetMinmaxParameterfvEXT,
      glGetMinmaxParameteriv,
      glGetMinmaxParameterivEXT,
      glGetMultiTexEnvfvEXT,
      glGetMultiTexEnvivEXT,
      glGetMultiTexGendvEXT,
      glGetMultiTexGenfvEXT,
      glGetMultiTexGenivEXT,
      glGetMultiTexImageEXT,
      glGetMultiTexLevelParameterfvEXT,
      glGetMultiTexLevelParameterivEXT,
      glGetMultiTexParameterIivEXT,
      glGetMultiTexParameterIuivEXT,
      glGetMultiTexParameterfvEXT,
      glGetMultiTexParameterivEXT,
      glGetMultisamplefv,
      glGetMultisamplefvNV,
      glGetNamedBufferParameteri64v,
      glGetNamedBufferParameteriv,
      glGetNamedBufferParameterivEXT,
      glGetNamedBufferParameterui64vNV,
      glGetNamedBufferPointerv,
      glGetNamedBufferPointervEXT,
      glGetNamedBufferSubData,
      glGetNamedBufferSubDataEXT,
      glGetNamedFramebufferAttachmentParameteriv,
      glGetNamedFramebufferAttachmentParameterivEXT,
      glGetNamedFramebufferParameterfvAMD,
      glGetNamedFramebufferParameteriv,
      glGetNamedFramebufferParameterivEXT,
      glGetNamedProgramLocalParameterIivEXT,
      glGetNamedProgramLocalParameterIuivEXT,
      glGetNamedProgramLocalParameterdvEXT,
      glGetNamedProgramLocalParameterfvEXT,
      glGetNamedProgramStringEXT,
      glGetNamedProgramivEXT,
      glGetNamedRenderbufferParameteriv,
      glGetNamedRenderbufferParameterivEXT,
      glGetNamedStringARB,
      glGetNamedStringivARB,
      glGetNextPerfQueryIdINTEL,
      glGetObjectBufferfvATI,
      glGetObjectBufferivATI,
      glGetObjectLabel,
      glGetObjectLabelEXT,
      glGetObjectLabelKHR,
      glGetObjectParameterfvARB,
      glGetObjectParameterivAPPLE,
      glGetObjectParameterivARB,
      glGetObjectPtrLabel,
      glGetObjectPtrLabelKHR,
      glGetOcclusionQueryivNV,
      glGetOcclusionQueryuivNV,
      glGetPathColorGenfvNV,
      glGetPathColorGenivNV,
      glGetPathCommandsNV,
      glGetPathCoordsNV,
      glGetPathDashArrayNV,
      glGetPathLengthNV,
      glGetPathMetricRangeNV,
      glGetPathMetricsNV,
      glGetPathParameterfvNV,
      glGetPathParameterivNV,
      glGetPathSpacingNV,
      glGetPathTexGenfvNV,
      glGetPathTexGenivNV,
      glGetPerfCounterInfoINTEL,
      glGetPerfMonitorCounterDataAMD,
      glGetPerfMonitorCounterInfoAMD,
      glGetPerfMonitorCounterStringAMD,
      glGetPerfMonitorCountersAMD,
      glGetPerfMonitorGroupStringAMD,
      glGetPerfMonitorGroupsAMD,
      glGetPerfQueryDataINTEL,
      glGetPerfQueryIdByNameINTEL,
      glGetPerfQueryInfoINTEL,
      glGetPixelMapfv,
      glGetPixelMapuiv,
      glGetPixelMapusv,
      glGetPixelMapxv,
      glGetPixelTexGenParameterfvSGIS,
      glGetPixelTexGenParameterivSGIS,
      glGetPixelTransformParameterfvEXT,
      glGetPixelTransformParameterivEXT,
      glGetPointerIndexedvEXT,
      glGetPointeri_vEXT,
      glGetPointerv,
      glGetPointervEXT,
      glGetPointervKHR,
      glGetPolygonStipple,
      glGetProgramBinary,
      glGetProgramBinaryOES
    ) where

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

    -- glGetMaterialxOES -----------------------------------------------------------

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

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

    -- glGetMaterialxv -------------------------------------------------------------

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

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

    -- glGetMaterialxvOES ----------------------------------------------------------

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

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

    -- glGetMemoryObjectDetachedResourcesuivNV -------------------------------------

    glGetMemoryObjectDetachedResourcesuivNV
      :: MonadIO m
      => GLuint -- ^ @memory@.
      -> GLenum -- ^ @pname@.
      -> GLint -- ^ @first@.
      -> GLsizei -- ^ @count@.
      -> Ptr GLuint -- ^ @params@.
      -> m ()
    glGetMemoryObjectDetachedResourcesuivNV :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLint -> GLint -> Ptr GLenum -> m ()
    glGetMemoryObjectDetachedResourcesuivNV GLenum
    v1 GLenum
    v2 GLint
    v3 GLint
    v4 Ptr GLenum
    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 -> GLint -> GLint -> Ptr GLenum -> IO ())
    -> GLenum -> GLenum -> GLint -> GLint -> Ptr GLenum -> IO ()
    dyn369 FunPtr (GLenum -> GLenum -> GLint -> GLint -> Ptr GLenum -> IO ())
    ptr_glGetMemoryObjectDetachedResourcesuivNV GLenum
    v1 GLenum
    v2 GLint
    v3 GLint
    v4 Ptr GLenum
    v5

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

    -- glGetMemoryObjectParameterivEXT ---------------------------------------------

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

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

    -- glGetMinmax -----------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetMinmax.xml OpenGL 2.x>.
    glGetMinmax
      :: MonadIO m
      => GLenum -- ^ @target@ of type [MinmaxTargetEXT](Graphics-GL-Groups.html#MinmaxTargetEXT).
      -> GLboolean -- ^ @reset@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
      -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
      -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
      -> Ptr a -- ^ @values@ pointing to @COMPSIZE(target,format,type)@ elements of type @a@.
      -> m ()
    glGetMinmax :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum -> GLboolean -> GLenum -> GLenum -> Ptr a -> m ()
    glGetMinmax GLenum
    v1 GLboolean
    v2 GLenum
    v3 GLenum
    v4 Ptr a
    v5 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLboolean -> GLenum -> GLenum -> Ptr a -> IO ())
    -> GLenum -> GLboolean -> GLenum -> GLenum -> Ptr a -> IO ()
    forall a.
    FunPtr (GLenum -> GLboolean -> GLenum -> GLenum -> Ptr a -> IO ())
    -> GLenum -> GLboolean -> GLenum -> GLenum -> Ptr a -> IO ()
    dyn351 FunPtr (GLenum -> GLboolean -> GLenum -> GLenum -> Ptr a -> IO ())
    forall a.
    FunPtr (GLenum -> GLboolean -> GLenum -> GLenum -> Ptr a -> IO ())
    ptr_glGetMinmax GLenum
    v1 GLboolean
    v2 GLenum
    v3 GLenum
    v4 Ptr a
    v5

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

    -- glGetMinmaxEXT --------------------------------------------------------------

    glGetMinmaxEXT
      :: MonadIO m
      => GLenum -- ^ @target@ of type [MinmaxTargetEXT](Graphics-GL-Groups.html#MinmaxTargetEXT).
      -> GLboolean -- ^ @reset@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
      -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
      -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
      -> Ptr a -- ^ @values@ pointing to @COMPSIZE(target,format,type)@ elements of type @a@.
      -> m ()
    glGetMinmaxEXT :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum -> GLboolean -> GLenum -> GLenum -> Ptr a -> m ()
    glGetMinmaxEXT GLenum
    v1 GLboolean
    v2 GLenum
    v3 GLenum
    v4 Ptr a
    v5 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLboolean -> GLenum -> GLenum -> Ptr a -> IO ())
    -> GLenum -> GLboolean -> GLenum -> GLenum -> Ptr a -> IO ()
    forall a.
    FunPtr (GLenum -> GLboolean -> GLenum -> GLenum -> Ptr a -> IO ())
    -> GLenum -> GLboolean -> GLenum -> GLenum -> Ptr a -> IO ()
    dyn351 FunPtr (GLenum -> GLboolean -> GLenum -> GLenum -> Ptr a -> IO ())
    forall a.
    FunPtr (GLenum -> GLboolean -> GLenum -> GLenum -> Ptr a -> IO ())
    ptr_glGetMinmaxEXT GLenum
    v1 GLboolean
    v2 GLenum
    v3 GLenum
    v4 Ptr a
    v5

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

    -- glGetMinmaxParameterfv ------------------------------------------------------

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

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

    -- glGetMinmaxParameterfvEXT ---------------------------------------------------

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

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

    -- glGetMinmaxParameteriv ------------------------------------------------------

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

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

    -- glGetMinmaxParameterivEXT ---------------------------------------------------

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

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

    -- glGetMultiTexEnvfvEXT -------------------------------------------------------

    glGetMultiTexEnvfvEXT
      :: MonadIO m
      => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLenum -- ^ @target@ of type [TextureEnvTarget](Graphics-GL-Groups.html#TextureEnvTarget).
      -> GLenum -- ^ @pname@ of type [TextureEnvParameter](Graphics-GL-Groups.html#TextureEnvParameter).
      -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
      -> m ()
    glGetMultiTexEnvfvEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> Ptr GLfloat -> m ()
    glGetMultiTexEnvfvEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLfloat
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
    -> GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ()
    dyn334 FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
    ptr_glGetMultiTexEnvfvEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLfloat
    v4

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

    -- glGetMultiTexEnvivEXT -------------------------------------------------------

    glGetMultiTexEnvivEXT
      :: MonadIO m
      => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLenum -- ^ @target@ of type [TextureEnvTarget](Graphics-GL-Groups.html#TextureEnvTarget).
      -> GLenum -- ^ @pname@ of type [TextureEnvParameter](Graphics-GL-Groups.html#TextureEnvParameter).
      -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
      -> m ()
    glGetMultiTexEnvivEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()
    glGetMultiTexEnvivEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLint
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
    -> GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ()
    dyn335 FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glGetMultiTexEnvivEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLint
    v4

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

    -- glGetMultiTexGendvEXT -------------------------------------------------------

    glGetMultiTexGendvEXT
      :: MonadIO m
      => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-GL-Groups.html#TextureCoordName).
      -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-GL-Groups.html#TextureGenParameter).
      -> Ptr GLdouble -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLdouble@.
      -> m ()
    glGetMultiTexGendvEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> Ptr GLdouble -> m ()
    glGetMultiTexGendvEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLdouble
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLdouble -> IO ())
    -> GLenum -> GLenum -> GLenum -> Ptr GLdouble -> IO ()
    dyn370 FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLdouble -> IO ())
    ptr_glGetMultiTexGendvEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLdouble
    v4

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

    -- glGetMultiTexGenfvEXT -------------------------------------------------------

    glGetMultiTexGenfvEXT
      :: MonadIO m
      => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-GL-Groups.html#TextureCoordName).
      -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-GL-Groups.html#TextureGenParameter).
      -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
      -> m ()
    glGetMultiTexGenfvEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> Ptr GLfloat -> m ()
    glGetMultiTexGenfvEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLfloat
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
    -> GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ()
    dyn334 FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
    ptr_glGetMultiTexGenfvEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLfloat
    v4

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

    -- glGetMultiTexGenivEXT -------------------------------------------------------

    glGetMultiTexGenivEXT
      :: MonadIO m
      => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-GL-Groups.html#TextureCoordName).
      -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-GL-Groups.html#TextureGenParameter).
      -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
      -> m ()
    glGetMultiTexGenivEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()
    glGetMultiTexGenivEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLint
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
    -> GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ()
    dyn335 FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glGetMultiTexGenivEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLint
    v4

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

    -- glGetMultiTexImageEXT -------------------------------------------------------

    glGetMultiTexImageEXT
      :: MonadIO m
      => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
      -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
      -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(target,level,format,type)@ elements of type @a@.
      -> m ()
    glGetMultiTexImageEXT :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum -> GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()
    glGetMultiTexImageEXT GLenum
    v1 GLenum
    v2 GLint
    v3 GLenum
    v4 GLenum
    v5 Ptr a
    v6 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLenum -> GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
    -> GLenum -> GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> IO ()
    forall a.
    FunPtr
      (GLenum -> GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
    -> GLenum -> GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> IO ()
    dyn371 FunPtr
      (GLenum -> GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
    forall a.
    FunPtr
      (GLenum -> GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
    ptr_glGetMultiTexImageEXT GLenum
    v1 GLenum
    v2 GLint
    v3 GLenum
    v4 GLenum
    v5 Ptr a
    v6

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

    -- glGetMultiTexLevelParameterfvEXT --------------------------------------------

    glGetMultiTexLevelParameterfvEXT
      :: MonadIO m
      => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-GL-Groups.html#GetTextureParameter).
      -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
      -> m ()
    glGetMultiTexLevelParameterfvEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()
    glGetMultiTexLevelParameterfvEXT GLenum
    v1 GLenum
    v2 GLint
    v3 GLenum
    v4 Ptr GLfloat
    v5 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLenum -> GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ())
    -> GLenum -> GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ()
    dyn372 FunPtr
      (GLenum -> GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ())
    ptr_glGetMultiTexLevelParameterfvEXT GLenum
    v1 GLenum
    v2 GLint
    v3 GLenum
    v4 Ptr GLfloat
    v5

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

    -- glGetMultiTexLevelParameterivEXT --------------------------------------------

    glGetMultiTexLevelParameterivEXT
      :: MonadIO m
      => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-GL-Groups.html#GetTextureParameter).
      -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
      -> m ()
    glGetMultiTexLevelParameterivEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLint -> GLenum -> Ptr GLint -> m ()
    glGetMultiTexLevelParameterivEXT GLenum
    v1 GLenum
    v2 GLint
    v3 GLenum
    v4 Ptr GLint
    v5 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLint -> GLenum -> Ptr GLint -> IO ())
    -> GLenum -> GLenum -> GLint -> GLenum -> Ptr GLint -> IO ()
    dyn373 FunPtr (GLenum -> GLenum -> GLint -> GLenum -> Ptr GLint -> IO ())
    ptr_glGetMultiTexLevelParameterivEXT GLenum
    v1 GLenum
    v2 GLint
    v3 GLenum
    v4 Ptr GLint
    v5

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

    -- glGetMultiTexParameterIivEXT ------------------------------------------------

    glGetMultiTexParameterIivEXT
      :: MonadIO m
      => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-GL-Groups.html#GetTextureParameter).
      -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
      -> m ()
    glGetMultiTexParameterIivEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()
    glGetMultiTexParameterIivEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLint
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
    -> GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ()
    dyn335 FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glGetMultiTexParameterIivEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLint
    v4

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

    -- glGetMultiTexParameterIuivEXT -----------------------------------------------

    glGetMultiTexParameterIuivEXT
      :: MonadIO m
      => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-GL-Groups.html#GetTextureParameter).
      -> Ptr GLuint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
      -> m ()
    glGetMultiTexParameterIuivEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> Ptr GLenum -> m ()
    glGetMultiTexParameterIuivEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr 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 -> Ptr GLenum -> IO ())
    -> GLenum -> GLenum -> GLenum -> Ptr GLenum -> IO ()
    dyn374 FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLenum -> IO ())
    ptr_glGetMultiTexParameterIuivEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLenum
    v4

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

    -- glGetMultiTexParameterfvEXT -------------------------------------------------

    glGetMultiTexParameterfvEXT
      :: MonadIO m
      => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-GL-Groups.html#GetTextureParameter).
      -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
      -> m ()
    glGetMultiTexParameterfvEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> Ptr GLfloat -> m ()
    glGetMultiTexParameterfvEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLfloat
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
    -> GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ()
    dyn334 FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
    ptr_glGetMultiTexParameterfvEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLfloat
    v4

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

    -- glGetMultiTexParameterivEXT -------------------------------------------------

    glGetMultiTexParameterivEXT
      :: MonadIO m
      => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-GL-Groups.html#GetTextureParameter).
      -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
      -> m ()
    glGetMultiTexParameterivEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()
    glGetMultiTexParameterivEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLint
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
    -> GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ()
    dyn335 FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glGetMultiTexParameterivEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLint
    v4

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

    -- glGetMultisamplefv ----------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGetMultisample.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetMultisample.xhtml OpenGL 4.x>.
    glGetMultisamplefv
      :: MonadIO m
      => GLenum -- ^ @pname@ of type [GetMultisamplePNameNV](Graphics-GL-Groups.html#GetMultisamplePNameNV).
      -> GLuint -- ^ @index@.
      -> Ptr GLfloat -- ^ @val@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
      -> m ()
    glGetMultisamplefv :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLfloat -> m ()
    glGetMultisamplefv 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_glGetMultisamplefv GLenum
    v1 GLenum
    v2 Ptr GLfloat
    v3

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

    -- glGetMultisamplefvNV --------------------------------------------------------

    -- | This command is an alias for 'glGetMultisamplefv'.
    glGetMultisamplefvNV
      :: MonadIO m
      => GLenum -- ^ @pname@ of type [GetMultisamplePNameNV](Graphics-GL-Groups.html#GetMultisamplePNameNV).
      -> GLuint -- ^ @index@.
      -> Ptr GLfloat -- ^ @val@ pointing to @2@ elements of type @GLfloat@.
      -> m ()
    glGetMultisamplefvNV :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLfloat -> m ()
    glGetMultisamplefvNV 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_glGetMultisamplefvNV GLenum
    v1 GLenum
    v2 Ptr GLfloat
    v3

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

    -- glGetNamedBufferParameteri64v -----------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetBufferParameter.xhtml OpenGL 4.x>.
    glGetNamedBufferParameteri64v
      :: MonadIO m
      => GLuint -- ^ @buffer@.
      -> GLenum -- ^ @pname@ of type [VertexBufferObjectParameter](Graphics-GL-Groups.html#VertexBufferObjectParameter).
      -> Ptr GLint64 -- ^ @params@.
      -> m ()
    glGetNamedBufferParameteri64v :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLint64 -> m ()
    glGetNamedBufferParameteri64v GLenum
    v1 GLenum
    v2 Ptr GLint64
    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 GLint64 -> IO ())
    -> GLenum -> GLenum -> Ptr GLint64 -> IO ()
    dyn375 FunPtr (GLenum -> GLenum -> Ptr GLint64 -> IO ())
    ptr_glGetNamedBufferParameteri64v GLenum
    v1 GLenum
    v2 Ptr GLint64
    v3

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

    -- glGetNamedBufferParameteriv -------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetBufferParameter.xhtml OpenGL 4.x>.
    glGetNamedBufferParameteriv
      :: MonadIO m
      => GLuint -- ^ @buffer@.
      -> GLenum -- ^ @pname@ of type [VertexBufferObjectParameter](Graphics-GL-Groups.html#VertexBufferObjectParameter).
      -> Ptr GLint -- ^ @params@.
      -> m ()
    glGetNamedBufferParameteriv :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLint -> m ()
    glGetNamedBufferParameteriv GLenum
    v1 GLenum
    v2 Ptr GLint
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
    -> GLenum -> GLenum -> Ptr GLint -> IO ()
    dyn348 FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glGetNamedBufferParameteriv GLenum
    v1 GLenum
    v2 Ptr GLint
    v3

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

    -- glGetNamedBufferParameterivEXT ----------------------------------------------

    glGetNamedBufferParameterivEXT
      :: MonadIO m
      => GLuint -- ^ @buffer@.
      -> GLenum -- ^ @pname@ of type [VertexBufferObjectParameter](Graphics-GL-Groups.html#VertexBufferObjectParameter).
      -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
      -> m ()
    glGetNamedBufferParameterivEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLint -> m ()
    glGetNamedBufferParameterivEXT GLenum
    v1 GLenum
    v2 Ptr GLint
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
    -> GLenum -> GLenum -> Ptr GLint -> IO ()
    dyn348 FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glGetNamedBufferParameterivEXT GLenum
    v1 GLenum
    v2 Ptr GLint
    v3

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

    -- glGetNamedBufferParameterui64vNV --------------------------------------------

    glGetNamedBufferParameterui64vNV
      :: MonadIO m
      => GLuint -- ^ @buffer@.
      -> GLenum -- ^ @pname@ of type [VertexBufferObjectParameter](Graphics-GL-Groups.html#VertexBufferObjectParameter).
      -> Ptr GLuint64EXT -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint64EXT@.
      -> m ()
    glGetNamedBufferParameterui64vNV :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLuint64EXT -> m ()
    glGetNamedBufferParameterui64vNV GLenum
    v1 GLenum
    v2 Ptr GLuint64EXT
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> Ptr GLuint64EXT -> IO ())
    -> GLenum -> GLenum -> Ptr GLuint64EXT -> IO ()
    dyn376 FunPtr (GLenum -> GLenum -> Ptr GLuint64EXT -> IO ())
    ptr_glGetNamedBufferParameterui64vNV GLenum
    v1 GLenum
    v2 Ptr GLuint64EXT
    v3

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

    -- glGetNamedBufferPointerv ----------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetBufferPointerv.xhtml OpenGL 4.x>.
    glGetNamedBufferPointerv
      :: MonadIO m
      => GLuint -- ^ @buffer@.
      -> GLenum -- ^ @pname@ of type [VertexBufferObjectParameter](Graphics-GL-Groups.html#VertexBufferObjectParameter).
      -> Ptr (Ptr a) -- ^ @params@.
      -> m ()
    glGetNamedBufferPointerv :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum -> GLenum -> Ptr (Ptr a) -> m ()
    glGetNamedBufferPointerv GLenum
    v1 GLenum
    v2 Ptr (Ptr a)
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> Ptr (Ptr a) -> IO ())
    -> GLenum -> GLenum -> Ptr (Ptr a) -> IO ()
    forall a.
    FunPtr (GLenum -> GLenum -> Ptr (Ptr a) -> IO ())
    -> GLenum -> GLenum -> Ptr (Ptr a) -> IO ()
    dyn377 FunPtr (GLenum -> GLenum -> Ptr (Ptr a) -> IO ())
    forall a. FunPtr (GLenum -> GLenum -> Ptr (Ptr a) -> IO ())
    ptr_glGetNamedBufferPointerv GLenum
    v1 GLenum
    v2 Ptr (Ptr a)
    v3

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

    -- glGetNamedBufferPointervEXT -------------------------------------------------

    glGetNamedBufferPointervEXT
      :: MonadIO m
      => GLuint -- ^ @buffer@.
      -> GLenum -- ^ @pname@ of type [VertexBufferObjectParameter](Graphics-GL-Groups.html#VertexBufferObjectParameter).
      -> Ptr (Ptr a) -- ^ @params@ pointing to @1@ element of type @Ptr a@.
      -> m ()
    glGetNamedBufferPointervEXT :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum -> GLenum -> Ptr (Ptr a) -> m ()
    glGetNamedBufferPointervEXT GLenum
    v1 GLenum
    v2 Ptr (Ptr a)
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> Ptr (Ptr a) -> IO ())
    -> GLenum -> GLenum -> Ptr (Ptr a) -> IO ()
    forall a.
    FunPtr (GLenum -> GLenum -> Ptr (Ptr a) -> IO ())
    -> GLenum -> GLenum -> Ptr (Ptr a) -> IO ()
    dyn377 FunPtr (GLenum -> GLenum -> Ptr (Ptr a) -> IO ())
    forall a. FunPtr (GLenum -> GLenum -> Ptr (Ptr a) -> IO ())
    ptr_glGetNamedBufferPointervEXT GLenum
    v1 GLenum
    v2 Ptr (Ptr a)
    v3

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

    -- glGetNamedBufferSubData -----------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetBufferSubData.xhtml OpenGL 4.x>.
    glGetNamedBufferSubData
      :: MonadIO m
      => GLuint -- ^ @buffer@.
      -> GLintptr -- ^ @offset@.
      -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
      -> Ptr a -- ^ @data@.
      -> m ()
    glGetNamedBufferSubData :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum -> GLintptr -> GLintptr -> Ptr a -> m ()
    glGetNamedBufferSubData GLenum
    v1 GLintptr
    v2 GLintptr
    v3 Ptr a
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLintptr -> GLintptr -> Ptr a -> IO ())
    -> GLenum -> GLintptr -> GLintptr -> Ptr a -> IO ()
    forall a.
    FunPtr (GLenum -> GLintptr -> GLintptr -> Ptr a -> IO ())
    -> GLenum -> GLintptr -> GLintptr -> Ptr a -> IO ()
    dyn378 FunPtr (GLenum -> GLintptr -> GLintptr -> Ptr a -> IO ())
    forall a. FunPtr (GLenum -> GLintptr -> GLintptr -> Ptr a -> IO ())
    ptr_glGetNamedBufferSubData GLenum
    v1 GLintptr
    v2 GLintptr
    v3 Ptr a
    v4

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

    -- glGetNamedBufferSubDataEXT --------------------------------------------------

    glGetNamedBufferSubDataEXT
      :: MonadIO m
      => GLuint -- ^ @buffer@.
      -> GLintptr -- ^ @offset@.
      -> GLsizeiptr -- ^ @size@.
      -> Ptr a -- ^ @data@ pointing to @COMPSIZE(size)@ elements of type @a@.
      -> m ()
    glGetNamedBufferSubDataEXT :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum -> GLintptr -> GLintptr -> Ptr a -> m ()
    glGetNamedBufferSubDataEXT GLenum
    v1 GLintptr
    v2 GLintptr
    v3 Ptr a
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLintptr -> GLintptr -> Ptr a -> IO ())
    -> GLenum -> GLintptr -> GLintptr -> Ptr a -> IO ()
    forall a.
    FunPtr (GLenum -> GLintptr -> GLintptr -> Ptr a -> IO ())
    -> GLenum -> GLintptr -> GLintptr -> Ptr a -> IO ()
    dyn378 FunPtr (GLenum -> GLintptr -> GLintptr -> Ptr a -> IO ())
    forall a. FunPtr (GLenum -> GLintptr -> GLintptr -> Ptr a -> IO ())
    ptr_glGetNamedBufferSubDataEXT GLenum
    v1 GLintptr
    v2 GLintptr
    v3 Ptr a
    v4

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

    -- glGetNamedFramebufferAttachmentParameteriv ----------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetFramebufferAttachmentParameter.xhtml OpenGL 4.x>.
    glGetNamedFramebufferAttachmentParameteriv
      :: MonadIO m
      => GLuint -- ^ @framebuffer@.
      -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
      -> GLenum -- ^ @pname@ of type [FramebufferAttachmentParameterName](Graphics-GL-Groups.html#FramebufferAttachmentParameterName).
      -> Ptr GLint -- ^ @params@.
      -> m ()
    glGetNamedFramebufferAttachmentParameteriv :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()
    glGetNamedFramebufferAttachmentParameteriv GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLint
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
    -> GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ()
    dyn379 FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glGetNamedFramebufferAttachmentParameteriv GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLint
    v4

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

    -- glGetNamedFramebufferAttachmentParameterivEXT -------------------------------

    glGetNamedFramebufferAttachmentParameterivEXT
      :: MonadIO m
      => GLuint -- ^ @framebuffer@ of type @Framebuffer@.
      -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
      -> GLenum -- ^ @pname@ of type [FramebufferAttachmentParameterName](Graphics-GL-Groups.html#FramebufferAttachmentParameterName).
      -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
      -> m ()
    glGetNamedFramebufferAttachmentParameterivEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()
    glGetNamedFramebufferAttachmentParameterivEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLint
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
    -> GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ()
    dyn379 FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glGetNamedFramebufferAttachmentParameterivEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLint
    v4

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

    -- glGetNamedFramebufferParameterfvAMD -----------------------------------------

    glGetNamedFramebufferParameterfvAMD
      :: MonadIO m
      => GLuint -- ^ @framebuffer@.
      -> GLenum -- ^ @pname@.
      -> GLuint -- ^ @numsamples@.
      -> GLuint -- ^ @pixelindex@.
      -> GLsizei -- ^ @size@.
      -> Ptr GLfloat -- ^ @values@.
      -> m ()
    glGetNamedFramebufferParameterfvAMD :: forall (m :: * -> *).
    MonadIO m =>
    GLenum
    -> GLenum -> GLenum -> GLenum -> GLint -> Ptr GLfloat -> m ()
    glGetNamedFramebufferParameterfvAMD GLenum
    v1 GLenum
    v2 GLenum
    v3 GLenum
    v4 GLint
    v5 Ptr GLfloat
    v6 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLenum
       -> GLenum -> GLenum -> GLenum -> GLint -> Ptr GLfloat -> IO ())
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLint
    -> Ptr GLfloat
    -> IO ()
    dyn380 FunPtr
      (GLenum
       -> GLenum -> GLenum -> GLenum -> GLint -> Ptr GLfloat -> IO ())
    ptr_glGetNamedFramebufferParameterfvAMD GLenum
    v1 GLenum
    v2 GLenum
    v3 GLenum
    v4 GLint
    v5 Ptr GLfloat
    v6

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

    -- glGetNamedFramebufferParameteriv --------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetFramebufferParameter.xhtml OpenGL 4.x>.
    glGetNamedFramebufferParameteriv
      :: MonadIO m
      => GLuint -- ^ @framebuffer@.
      -> GLenum -- ^ @pname@ of type [GetFramebufferParameter](Graphics-GL-Groups.html#GetFramebufferParameter).
      -> Ptr GLint -- ^ @param@.
      -> m ()
    glGetNamedFramebufferParameteriv :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLint -> m ()
    glGetNamedFramebufferParameteriv GLenum
    v1 GLenum
    v2 Ptr GLint
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
    -> GLenum -> GLenum -> Ptr GLint -> IO ()
    dyn348 FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glGetNamedFramebufferParameteriv GLenum
    v1 GLenum
    v2 Ptr GLint
    v3

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

    -- glGetNamedFramebufferParameterivEXT -----------------------------------------

    glGetNamedFramebufferParameterivEXT
      :: MonadIO m
      => GLuint -- ^ @framebuffer@ of type @Framebuffer@.
      -> GLenum -- ^ @pname@ of type [GetFramebufferParameter](Graphics-GL-Groups.html#GetFramebufferParameter).
      -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
      -> m ()
    glGetNamedFramebufferParameterivEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLint -> m ()
    glGetNamedFramebufferParameterivEXT GLenum
    v1 GLenum
    v2 Ptr GLint
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
    -> GLenum -> GLenum -> Ptr GLint -> IO ()
    dyn348 FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glGetNamedFramebufferParameterivEXT GLenum
    v1 GLenum
    v2 Ptr GLint
    v3

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

    -- glGetNamedProgramLocalParameterIivEXT ---------------------------------------

    glGetNamedProgramLocalParameterIivEXT
      :: MonadIO m
      => GLuint -- ^ @program@.
      -> GLenum -- ^ @target@ of type [ProgramTarget](Graphics-GL-Groups.html#ProgramTarget).
      -> GLuint -- ^ @index@.
      -> Ptr GLint -- ^ @params@ pointing to @4@ elements of type @GLint@.
      -> m ()
    glGetNamedProgramLocalParameterIivEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()
    glGetNamedProgramLocalParameterIivEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLint
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
    -> GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ()
    dyn381 FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glGetNamedProgramLocalParameterIivEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLint
    v4

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

    -- glGetNamedProgramLocalParameterIuivEXT --------------------------------------

    glGetNamedProgramLocalParameterIuivEXT
      :: MonadIO m
      => GLuint -- ^ @program@.
      -> GLenum -- ^ @target@ of type [ProgramTarget](Graphics-GL-Groups.html#ProgramTarget).
      -> GLuint -- ^ @index@.
      -> Ptr GLuint -- ^ @params@ pointing to @4@ elements of type @GLuint@.
      -> m ()
    glGetNamedProgramLocalParameterIuivEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> Ptr GLenum -> m ()
    glGetNamedProgramLocalParameterIuivEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr 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 -> Ptr GLenum -> IO ())
    -> GLenum -> GLenum -> GLenum -> Ptr GLenum -> IO ()
    dyn382 FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLenum -> IO ())
    ptr_glGetNamedProgramLocalParameterIuivEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLenum
    v4

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

    -- glGetNamedProgramLocalParameterdvEXT ----------------------------------------

    glGetNamedProgramLocalParameterdvEXT
      :: MonadIO m
      => GLuint -- ^ @program@.
      -> GLenum -- ^ @target@ of type [ProgramTarget](Graphics-GL-Groups.html#ProgramTarget).
      -> GLuint -- ^ @index@.
      -> Ptr GLdouble -- ^ @params@ pointing to @4@ elements of type @GLdouble@.
      -> m ()
    glGetNamedProgramLocalParameterdvEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> Ptr GLdouble -> m ()
    glGetNamedProgramLocalParameterdvEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLdouble
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLdouble -> IO ())
    -> GLenum -> GLenum -> GLenum -> Ptr GLdouble -> IO ()
    dyn383 FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLdouble -> IO ())
    ptr_glGetNamedProgramLocalParameterdvEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLdouble
    v4

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

    -- glGetNamedProgramLocalParameterfvEXT ----------------------------------------

    glGetNamedProgramLocalParameterfvEXT
      :: MonadIO m
      => GLuint -- ^ @program@.
      -> GLenum -- ^ @target@ of type [ProgramTarget](Graphics-GL-Groups.html#ProgramTarget).
      -> GLuint -- ^ @index@.
      -> Ptr GLfloat -- ^ @params@ pointing to @4@ elements of type @GLfloat@.
      -> m ()
    glGetNamedProgramLocalParameterfvEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> Ptr GLfloat -> m ()
    glGetNamedProgramLocalParameterfvEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLfloat
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
    -> GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ()
    dyn384 FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
    ptr_glGetNamedProgramLocalParameterfvEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLfloat
    v4

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

    -- glGetNamedProgramStringEXT --------------------------------------------------

    glGetNamedProgramStringEXT
      :: MonadIO m
      => GLuint -- ^ @program@.
      -> GLenum -- ^ @target@ of type [ProgramTarget](Graphics-GL-Groups.html#ProgramTarget).
      -> GLenum -- ^ @pname@ of type [ProgramStringProperty](Graphics-GL-Groups.html#ProgramStringProperty).
      -> Ptr a -- ^ @string@ pointing to @COMPSIZE(program,pname)@ elements of type @a@.
      -> m ()
    glGetNamedProgramStringEXT :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> Ptr a -> m ()
    glGetNamedProgramStringEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr a
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLenum -> Ptr a -> IO ())
    -> GLenum -> GLenum -> GLenum -> Ptr a -> IO ()
    forall a.
    FunPtr (GLenum -> GLenum -> GLenum -> Ptr a -> IO ())
    -> GLenum -> GLenum -> GLenum -> Ptr a -> IO ()
    dyn385 FunPtr (GLenum -> GLenum -> GLenum -> Ptr a -> IO ())
    forall a. FunPtr (GLenum -> GLenum -> GLenum -> Ptr a -> IO ())
    ptr_glGetNamedProgramStringEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr a
    v4

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

    -- glGetNamedProgramivEXT ------------------------------------------------------

    glGetNamedProgramivEXT
      :: MonadIO m
      => GLuint -- ^ @program@.
      -> GLenum -- ^ @target@ of type [ProgramTarget](Graphics-GL-Groups.html#ProgramTarget).
      -> GLenum -- ^ @pname@ of type [ProgramPropertyARB](Graphics-GL-Groups.html#ProgramPropertyARB).
      -> Ptr GLint -- ^ @params@ pointing to @1@ element of type @GLint@.
      -> m ()
    glGetNamedProgramivEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()
    glGetNamedProgramivEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLint
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
    -> GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ()
    dyn379 FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glGetNamedProgramivEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLint
    v4

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

    -- glGetNamedRenderbufferParameteriv -------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetRenderbufferParameter.xhtml OpenGL 4.x>.
    glGetNamedRenderbufferParameteriv
      :: MonadIO m
      => GLuint -- ^ @renderbuffer@.
      -> GLenum -- ^ @pname@ of type [RenderbufferParameterName](Graphics-GL-Groups.html#RenderbufferParameterName).
      -> Ptr GLint -- ^ @params@.
      -> m ()
    glGetNamedRenderbufferParameteriv :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLint -> m ()
    glGetNamedRenderbufferParameteriv GLenum
    v1 GLenum
    v2 Ptr GLint
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
    -> GLenum -> GLenum -> Ptr GLint -> IO ()
    dyn348 FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glGetNamedRenderbufferParameteriv GLenum
    v1 GLenum
    v2 Ptr GLint
    v3

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

    -- glGetNamedRenderbufferParameterivEXT ----------------------------------------

    glGetNamedRenderbufferParameterivEXT
      :: MonadIO m
      => GLuint -- ^ @renderbuffer@ of type @Renderbuffer@.
      -> GLenum -- ^ @pname@ of type [RenderbufferParameterName](Graphics-GL-Groups.html#RenderbufferParameterName).
      -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
      -> m ()
    glGetNamedRenderbufferParameterivEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLint -> m ()
    glGetNamedRenderbufferParameterivEXT GLenum
    v1 GLenum
    v2 Ptr GLint
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
    -> GLenum -> GLenum -> Ptr GLint -> IO ()
    dyn348 FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glGetNamedRenderbufferParameterivEXT GLenum
    v1 GLenum
    v2 Ptr GLint
    v3

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

    -- glGetNamedStringARB ---------------------------------------------------------

    glGetNamedStringARB
      :: MonadIO m
      => GLint -- ^ @namelen@.
      -> Ptr GLchar -- ^ @name@ pointing to @namelen@ elements of type @GLchar@.
      -> GLsizei -- ^ @bufSize@.
      -> Ptr GLint -- ^ @stringlen@ pointing to @1@ element of type @GLint@.
      -> Ptr GLchar -- ^ @string@ pointing to @bufSize@ elements of type @GLchar@.
      -> m ()
    glGetNamedStringARB :: forall (m :: * -> *).
    MonadIO m =>
    GLint -> Ptr GLchar -> GLint -> Ptr GLint -> Ptr GLchar -> m ()
    glGetNamedStringARB GLint
    v1 Ptr GLchar
    v2 GLint
    v3 Ptr GLint
    v4 Ptr GLchar
    v5 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLint -> Ptr GLchar -> GLint -> Ptr GLint -> Ptr GLchar -> IO ())
    -> GLint -> Ptr GLchar -> GLint -> Ptr GLint -> Ptr GLchar -> IO ()
    dyn386 FunPtr
      (GLint -> Ptr GLchar -> GLint -> Ptr GLint -> Ptr GLchar -> IO ())
    ptr_glGetNamedStringARB GLint
    v1 Ptr GLchar
    v2 GLint
    v3 Ptr GLint
    v4 Ptr GLchar
    v5

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

    -- glGetNamedStringivARB -------------------------------------------------------

    glGetNamedStringivARB
      :: MonadIO m
      => GLint -- ^ @namelen@.
      -> Ptr GLchar -- ^ @name@ pointing to @namelen@ elements of type @GLchar@.
      -> GLenum -- ^ @pname@.
      -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
      -> m ()
    glGetNamedStringivARB :: forall (m :: * -> *).
    MonadIO m =>
    GLint -> Ptr GLchar -> GLenum -> Ptr GLint -> m ()
    glGetNamedStringivARB GLint
    v1 Ptr GLchar
    v2 GLenum
    v3 Ptr GLint
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLint -> Ptr GLchar -> GLenum -> Ptr GLint -> IO ())
    -> GLint -> Ptr GLchar -> GLenum -> Ptr GLint -> IO ()
    dyn387 FunPtr (GLint -> Ptr GLchar -> GLenum -> Ptr GLint -> IO ())
    ptr_glGetNamedStringivARB GLint
    v1 Ptr GLchar
    v2 GLenum
    v3 Ptr GLint
    v4

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

    -- glGetNextPerfQueryIdINTEL ---------------------------------------------------

    glGetNextPerfQueryIdINTEL
      :: MonadIO m
      => GLuint -- ^ @queryId@.
      -> Ptr GLuint -- ^ @nextQueryId@.
      -> m ()
    glGetNextPerfQueryIdINTEL :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLenum -> m ()
    glGetNextPerfQueryIdINTEL GLenum
    v1 Ptr GLenum
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> Ptr GLenum -> IO ())
    -> GLenum -> Ptr GLenum -> IO ()
    dyn201 FunPtr (GLenum -> Ptr GLenum -> IO ())
    ptr_glGetNextPerfQueryIdINTEL GLenum
    v1 Ptr GLenum
    v2

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

    -- glGetObjectBufferfvATI ------------------------------------------------------

    glGetObjectBufferfvATI
      :: MonadIO m
      => GLuint -- ^ @buffer@.
      -> GLenum -- ^ @pname@ of type [ArrayObjectPNameATI](Graphics-GL-Groups.html#ArrayObjectPNameATI).
      -> Ptr GLfloat -- ^ @params@ pointing to @1@ element of type @GLfloat@.
      -> m ()
    glGetObjectBufferfvATI :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLfloat -> m ()
    glGetObjectBufferfvATI 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 ()
    dyn364 FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
    ptr_glGetObjectBufferfvATI GLenum
    v1 GLenum
    v2 Ptr GLfloat
    v3

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

    -- glGetObjectBufferivATI ------------------------------------------------------

    glGetObjectBufferivATI
      :: MonadIO m
      => GLuint -- ^ @buffer@.
      -> GLenum -- ^ @pname@ of type [ArrayObjectPNameATI](Graphics-GL-Groups.html#ArrayObjectPNameATI).
      -> Ptr GLint -- ^ @params@ pointing to @1@ element of type @GLint@.
      -> m ()
    glGetObjectBufferivATI :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLint -> m ()
    glGetObjectBufferivATI GLenum
    v1 GLenum
    v2 Ptr GLint
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
    -> GLenum -> GLenum -> Ptr GLint -> IO ()
    dyn348 FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glGetObjectBufferivATI GLenum
    v1 GLenum
    v2 Ptr GLint
    v3

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

    -- glGetObjectLabel ------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetObjectLabel.xhtml OpenGL 4.x>.
    glGetObjectLabel
      :: MonadIO m
      => GLenum -- ^ @identifier@ of type [ObjectIdentifier](Graphics-GL-Groups.html#ObjectIdentifier).
      -> GLuint -- ^ @name@.
      -> GLsizei -- ^ @bufSize@.
      -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
      -> Ptr GLchar -- ^ @label@ pointing to @bufSize@ elements of type @GLchar@.
      -> m ()
    glGetObjectLabel :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLint -> Ptr GLint -> Ptr GLchar -> m ()
    glGetObjectLabel GLenum
    v1 GLenum
    v2 GLint
    v3 Ptr GLint
    v4 Ptr GLchar
    v5 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLenum -> GLenum -> GLint -> Ptr GLint -> Ptr GLchar -> IO ())
    -> GLenum -> GLenum -> GLint -> Ptr GLint -> Ptr GLchar -> IO ()
    dyn388 FunPtr
      (GLenum -> GLenum -> GLint -> Ptr GLint -> Ptr GLchar -> IO ())
    ptr_glGetObjectLabel GLenum
    v1 GLenum
    v2 GLint
    v3 Ptr GLint
    v4 Ptr GLchar
    v5

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

    -- glGetObjectLabelEXT ---------------------------------------------------------

    glGetObjectLabelEXT
      :: MonadIO m
      => GLenum -- ^ @type@.
      -> GLuint -- ^ @object@.
      -> GLsizei -- ^ @bufSize@.
      -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
      -> Ptr GLchar -- ^ @label@ pointing to @bufSize@ elements of type @GLchar@.
      -> m ()
    glGetObjectLabelEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLint -> Ptr GLint -> Ptr GLchar -> m ()
    glGetObjectLabelEXT GLenum
    v1 GLenum
    v2 GLint
    v3 Ptr GLint
    v4 Ptr GLchar
    v5 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLenum -> GLenum -> GLint -> Ptr GLint -> Ptr GLchar -> IO ())
    -> GLenum -> GLenum -> GLint -> Ptr GLint -> Ptr GLchar -> IO ()
    dyn388 FunPtr
      (GLenum -> GLenum -> GLint -> Ptr GLint -> Ptr GLchar -> IO ())
    ptr_glGetObjectLabelEXT GLenum
    v1 GLenum
    v2 GLint
    v3 Ptr GLint
    v4 Ptr GLchar
    v5

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

    -- glGetObjectLabelKHR ---------------------------------------------------------

    -- | This command is an alias for 'glGetObjectLabel'.
    glGetObjectLabelKHR
      :: MonadIO m
      => GLenum -- ^ @identifier@.
      -> GLuint -- ^ @name@.
      -> GLsizei -- ^ @bufSize@.
      -> Ptr GLsizei -- ^ @length@.
      -> Ptr GLchar -- ^ @label@ pointing to @bufSize@ elements of type @GLchar@.
      -> m ()
    glGetObjectLabelKHR :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLint -> Ptr GLint -> Ptr GLchar -> m ()
    glGetObjectLabelKHR GLenum
    v1 GLenum
    v2 GLint
    v3 Ptr GLint
    v4 Ptr GLchar
    v5 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLenum -> GLenum -> GLint -> Ptr GLint -> Ptr GLchar -> IO ())
    -> GLenum -> GLenum -> GLint -> Ptr GLint -> Ptr GLchar -> IO ()
    dyn388 FunPtr
      (GLenum -> GLenum -> GLint -> Ptr GLint -> Ptr GLchar -> IO ())
    ptr_glGetObjectLabelKHR GLenum
    v1 GLenum
    v2 GLint
    v3 Ptr GLint
    v4 Ptr GLchar
    v5

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

    -- glGetObjectParameterfvARB ---------------------------------------------------

    glGetObjectParameterfvARB
      :: MonadIO m
      => GLhandleARB -- ^ @obj@ of type @handleARB@.
      -> GLenum -- ^ @pname@.
      -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
      -> m ()
    glGetObjectParameterfvARB :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLfloat -> m ()
    glGetObjectParameterfvARB 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 ()
    dyn389 FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
    ptr_glGetObjectParameterfvARB GLenum
    v1 GLenum
    v2 Ptr GLfloat
    v3

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

    -- glGetObjectParameterivAPPLE -------------------------------------------------

    glGetObjectParameterivAPPLE
      :: MonadIO m
      => GLenum -- ^ @objectType@.
      -> GLuint -- ^ @name@.
      -> GLenum -- ^ @pname@.
      -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
      -> m ()
    glGetObjectParameterivAPPLE :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()
    glGetObjectParameterivAPPLE GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLint
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
    -> GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ()
    dyn366 FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glGetObjectParameterivAPPLE GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLint
    v4

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

    -- glGetObjectParameterivARB ---------------------------------------------------

    glGetObjectParameterivARB
      :: MonadIO m
      => GLhandleARB -- ^ @obj@ of type @handleARB@.
      -> GLenum -- ^ @pname@.
      -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
      -> m ()
    glGetObjectParameterivARB :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLint -> m ()
    glGetObjectParameterivARB GLenum
    v1 GLenum
    v2 Ptr GLint
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
    -> GLenum -> GLenum -> Ptr GLint -> IO ()
    dyn390 FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glGetObjectParameterivARB GLenum
    v1 GLenum
    v2 Ptr GLint
    v3

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

    -- glGetObjectPtrLabel ---------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetObjectPtrLabel.xhtml OpenGL 4.x>.
    glGetObjectPtrLabel
      :: MonadIO m
      => Ptr a -- ^ @ptr@.
      -> GLsizei -- ^ @bufSize@.
      -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
      -> Ptr GLchar -- ^ @label@ pointing to @bufSize@ elements of type @GLchar@.
      -> m ()
    glGetObjectPtrLabel :: forall (m :: * -> *) a.
    MonadIO m =>
    Ptr a -> GLint -> Ptr GLint -> Ptr GLchar -> m ()
    glGetObjectPtrLabel Ptr a
    v1 GLint
    v2 Ptr GLint
    v3 Ptr GLchar
    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 (Ptr a -> GLint -> Ptr GLint -> Ptr GLchar -> IO ())
    -> Ptr a -> GLint -> Ptr GLint -> Ptr GLchar -> IO ()
    forall a.
    FunPtr (Ptr a -> GLint -> Ptr GLint -> Ptr GLchar -> IO ())
    -> Ptr a -> GLint -> Ptr GLint -> Ptr GLchar -> IO ()
    dyn391 FunPtr (Ptr a -> GLint -> Ptr GLint -> Ptr GLchar -> IO ())
    forall a.
    FunPtr (Ptr a -> GLint -> Ptr GLint -> Ptr GLchar -> IO ())
    ptr_glGetObjectPtrLabel Ptr a
    v1 GLint
    v2 Ptr GLint
    v3 Ptr GLchar
    v4

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

    -- glGetObjectPtrLabelKHR ------------------------------------------------------

    -- | This command is an alias for 'glGetObjectPtrLabel'.
    glGetObjectPtrLabelKHR
      :: MonadIO m
      => Ptr a -- ^ @ptr@.
      -> GLsizei -- ^ @bufSize@.
      -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
      -> Ptr GLchar -- ^ @label@ pointing to @bufSize@ elements of type @GLchar@.
      -> m ()
    glGetObjectPtrLabelKHR :: forall (m :: * -> *) a.
    MonadIO m =>
    Ptr a -> GLint -> Ptr GLint -> Ptr GLchar -> m ()
    glGetObjectPtrLabelKHR Ptr a
    v1 GLint
    v2 Ptr GLint
    v3 Ptr GLchar
    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 (Ptr a -> GLint -> Ptr GLint -> Ptr GLchar -> IO ())
    -> Ptr a -> GLint -> Ptr GLint -> Ptr GLchar -> IO ()
    forall a.
    FunPtr (Ptr a -> GLint -> Ptr GLint -> Ptr GLchar -> IO ())
    -> Ptr a -> GLint -> Ptr GLint -> Ptr GLchar -> IO ()
    dyn391 FunPtr (Ptr a -> GLint -> Ptr GLint -> Ptr GLchar -> IO ())
    forall a.
    FunPtr (Ptr a -> GLint -> Ptr GLint -> Ptr GLchar -> IO ())
    ptr_glGetObjectPtrLabelKHR Ptr a
    v1 GLint
    v2 Ptr GLint
    v3 Ptr GLchar
    v4

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

    -- glGetOcclusionQueryivNV -----------------------------------------------------

    glGetOcclusionQueryivNV
      :: MonadIO m
      => GLuint -- ^ @id@.
      -> GLenum -- ^ @pname@ of type [OcclusionQueryParameterNameNV](Graphics-GL-Groups.html#OcclusionQueryParameterNameNV).
      -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
      -> m ()
    glGetOcclusionQueryivNV :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLint -> m ()
    glGetOcclusionQueryivNV GLenum
    v1 GLenum
    v2 Ptr GLint
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
    -> GLenum -> GLenum -> Ptr GLint -> IO ()
    dyn348 FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glGetOcclusionQueryivNV GLenum
    v1 GLenum
    v2 Ptr GLint
    v3

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

    -- glGetOcclusionQueryuivNV ----------------------------------------------------

    glGetOcclusionQueryuivNV
      :: MonadIO m
      => GLuint -- ^ @id@.
      -> GLenum -- ^ @pname@ of type [OcclusionQueryParameterNameNV](Graphics-GL-Groups.html#OcclusionQueryParameterNameNV).
      -> Ptr GLuint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
      -> m ()
    glGetOcclusionQueryuivNV :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLenum -> m ()
    glGetOcclusionQueryuivNV GLenum
    v1 GLenum
    v2 Ptr 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 -> Ptr GLenum -> IO ())
    -> GLenum -> GLenum -> Ptr GLenum -> IO ()
    dyn392 FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
    ptr_glGetOcclusionQueryuivNV GLenum
    v1 GLenum
    v2 Ptr GLenum
    v3

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

    -- glGetPathColorGenfvNV -------------------------------------------------------

    glGetPathColorGenfvNV
      :: MonadIO m
      => GLenum -- ^ @color@ of type [PathColor](Graphics-GL-Groups.html#PathColor).
      -> GLenum -- ^ @pname@ of type [PathGenMode](Graphics-GL-Groups.html#PathGenMode).
      -> Ptr GLfloat -- ^ @value@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
      -> m ()
    glGetPathColorGenfvNV :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLfloat -> m ()
    glGetPathColorGenfvNV GLenum
    v1 GLenum
    v2 Ptr GLfloat
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
    -> GLenum -> GLenum -> Ptr GLfloat -> IO ()
    dyn139 FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
    ptr_glGetPathColorGenfvNV GLenum
    v1 GLenum
    v2 Ptr GLfloat
    v3

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

    -- glGetPathColorGenivNV -------------------------------------------------------

    glGetPathColorGenivNV
      :: MonadIO m
      => GLenum -- ^ @color@ of type [PathColor](Graphics-GL-Groups.html#PathColor).
      -> GLenum -- ^ @pname@ of type [PathGenMode](Graphics-GL-Groups.html#PathGenMode).
      -> Ptr GLint -- ^ @value@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
      -> m ()
    glGetPathColorGenivNV :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLint -> m ()
    glGetPathColorGenivNV GLenum
    v1 GLenum
    v2 Ptr GLint
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
    -> GLenum -> GLenum -> Ptr GLint -> IO ()
    dyn140 FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glGetPathColorGenivNV GLenum
    v1 GLenum
    v2 Ptr GLint
    v3

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

    -- glGetPathCommandsNV ---------------------------------------------------------

    glGetPathCommandsNV
      :: MonadIO m
      => GLuint -- ^ @path@ of type @Path@.
      -> Ptr GLubyte -- ^ @commands@ pointing to @COMPSIZE(path)@ elements of type @PathCommand@.
      -> m ()
    glGetPathCommandsNV :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLboolean -> m ()
    glGetPathCommandsNV GLenum
    v1 Ptr GLboolean
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> Ptr GLboolean -> IO ())
    -> GLenum -> Ptr GLboolean -> IO ()
    dyn393 FunPtr (GLenum -> Ptr GLboolean -> IO ())
    ptr_glGetPathCommandsNV GLenum
    v1 Ptr GLboolean
    v2

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

    -- glGetPathCoordsNV -----------------------------------------------------------

    glGetPathCoordsNV
      :: MonadIO m
      => GLuint -- ^ @path@ of type @Path@.
      -> Ptr GLfloat -- ^ @coords@ pointing to @COMPSIZE(path)@ elements of type @GLfloat@.
      -> m ()
    glGetPathCoordsNV :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLfloat -> m ()
    glGetPathCoordsNV GLenum
    v1 Ptr GLfloat
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> Ptr GLfloat -> IO ())
    -> GLenum -> Ptr GLfloat -> IO ()
    dyn394 FunPtr (GLenum -> Ptr GLfloat -> IO ())
    ptr_glGetPathCoordsNV GLenum
    v1 Ptr GLfloat
    v2

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

    -- glGetPathDashArrayNV --------------------------------------------------------

    glGetPathDashArrayNV
      :: MonadIO m
      => GLuint -- ^ @path@ of type @Path@.
      -> Ptr GLfloat -- ^ @dashArray@ pointing to @COMPSIZE(path)@ elements of type @GLfloat@.
      -> m ()
    glGetPathDashArrayNV :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLfloat -> m ()
    glGetPathDashArrayNV GLenum
    v1 Ptr GLfloat
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> Ptr GLfloat -> IO ())
    -> GLenum -> Ptr GLfloat -> IO ()
    dyn394 FunPtr (GLenum -> Ptr GLfloat -> IO ())
    ptr_glGetPathDashArrayNV GLenum
    v1 Ptr GLfloat
    v2

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

    -- glGetPathLengthNV -----------------------------------------------------------

    glGetPathLengthNV
      :: MonadIO m
      => GLuint -- ^ @path@ of type @Path@.
      -> GLsizei -- ^ @startSegment@.
      -> GLsizei -- ^ @numSegments@.
      -> m GLfloat
    glGetPathLengthNV :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLint -> GLint -> m GLfloat
    glGetPathLengthNV GLenum
    v1 GLint
    v2 GLint
    v3 = IO GLfloat -> m GLfloat
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO GLfloat -> m GLfloat) -> IO GLfloat -> m GLfloat
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLint -> GLint -> IO GLfloat)
    -> GLenum -> GLint -> GLint -> IO GLfloat
    dyn395 FunPtr (GLenum -> GLint -> GLint -> IO GLfloat)
    ptr_glGetPathLengthNV GLenum
    v1 GLint
    v2 GLint
    v3

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

    -- glGetPathMetricRangeNV ------------------------------------------------------

    glGetPathMetricRangeNV
      :: MonadIO m
      => GLbitfield -- ^ @metricQueryMask@ of type [PathMetricMask](Graphics-GL-Groups.html#PathMetricMask).
      -> GLuint -- ^ @firstPathName@ of type @Path@.
      -> GLsizei -- ^ @numPaths@.
      -> GLsizei -- ^ @stride@.
      -> Ptr GLfloat -- ^ @metrics@ pointing to @COMPSIZE(metricQueryMask,numPaths,stride)@ elements of type @GLfloat@.
      -> m ()
    glGetPathMetricRangeNV :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLint -> GLint -> Ptr GLfloat -> m ()
    glGetPathMetricRangeNV GLenum
    v1 GLenum
    v2 GLint
    v3 GLint
    v4 Ptr GLfloat
    v5 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLint -> GLint -> Ptr GLfloat -> IO ())
    -> GLenum -> GLenum -> GLint -> GLint -> Ptr GLfloat -> IO ()
    dyn396 FunPtr (GLenum -> GLenum -> GLint -> GLint -> Ptr GLfloat -> IO ())
    ptr_glGetPathMetricRangeNV GLenum
    v1 GLenum
    v2 GLint
    v3 GLint
    v4 Ptr GLfloat
    v5

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

    -- glGetPathMetricsNV ----------------------------------------------------------

    glGetPathMetricsNV
      :: MonadIO m
      => GLbitfield -- ^ @metricQueryMask@ of type [PathMetricMask](Graphics-GL-Groups.html#PathMetricMask).
      -> GLsizei -- ^ @numPaths@.
      -> GLenum -- ^ @pathNameType@ of type [PathElementType](Graphics-GL-Groups.html#PathElementType).
      -> Ptr a -- ^ @paths@ pointing to @COMPSIZE(numPaths,pathNameType,paths)@ elements of type @PathElement@.
      -> GLuint -- ^ @pathBase@ of type @Path@.
      -> GLsizei -- ^ @stride@.
      -> Ptr GLfloat -- ^ @metrics@ pointing to @COMPSIZE(metricQueryMask,numPaths,stride)@ elements of type @GLfloat@.
      -> m ()
    glGetPathMetricsNV :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum
    -> GLint
    -> GLenum
    -> Ptr a
    -> GLenum
    -> GLint
    -> Ptr GLfloat
    -> m ()
    glGetPathMetricsNV GLenum
    v1 GLint
    v2 GLenum
    v3 Ptr a
    v4 GLenum
    v5 GLint
    v6 Ptr GLfloat
    v7 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLenum
       -> GLint
       -> GLenum
       -> Ptr a
       -> GLenum
       -> GLint
       -> Ptr GLfloat
       -> IO ())
    -> GLenum
    -> GLint
    -> GLenum
    -> Ptr a
    -> GLenum
    -> GLint
    -> Ptr GLfloat
    -> IO ()
    forall a.
    FunPtr
      (GLenum
       -> GLint
       -> GLenum
       -> Ptr a
       -> GLenum
       -> GLint
       -> Ptr GLfloat
       -> IO ())
    -> GLenum
    -> GLint
    -> GLenum
    -> Ptr a
    -> GLenum
    -> GLint
    -> Ptr GLfloat
    -> IO ()
    dyn397 FunPtr
      (GLenum
       -> GLint
       -> GLenum
       -> Ptr a
       -> GLenum
       -> GLint
       -> Ptr GLfloat
       -> IO ())
    forall a.
    FunPtr
      (GLenum
       -> GLint
       -> GLenum
       -> Ptr a
       -> GLenum
       -> GLint
       -> Ptr GLfloat
       -> IO ())
    ptr_glGetPathMetricsNV GLenum
    v1 GLint
    v2 GLenum
    v3 Ptr a
    v4 GLenum
    v5 GLint
    v6 Ptr GLfloat
    v7

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

    -- glGetPathParameterfvNV ------------------------------------------------------

    glGetPathParameterfvNV
      :: MonadIO m
      => GLuint -- ^ @path@ of type @Path@.
      -> GLenum -- ^ @pname@ of type [PathParameter](Graphics-GL-Groups.html#PathParameter).
      -> Ptr GLfloat -- ^ @value@ pointing to @4@ elements of type @GLfloat@.
      -> m ()
    glGetPathParameterfvNV :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLfloat -> m ()
    glGetPathParameterfvNV 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 ()
    dyn364 FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
    ptr_glGetPathParameterfvNV GLenum
    v1 GLenum
    v2 Ptr GLfloat
    v3

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

    -- glGetPathParameterivNV ------------------------------------------------------

    glGetPathParameterivNV
      :: MonadIO m
      => GLuint -- ^ @path@ of type @Path@.
      -> GLenum -- ^ @pname@ of type [PathParameter](Graphics-GL-Groups.html#PathParameter).
      -> Ptr GLint -- ^ @value@ pointing to @4@ elements of type @GLint@.
      -> m ()
    glGetPathParameterivNV :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLint -> m ()
    glGetPathParameterivNV GLenum
    v1 GLenum
    v2 Ptr GLint
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
    -> GLenum -> GLenum -> Ptr GLint -> IO ()
    dyn348 FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glGetPathParameterivNV GLenum
    v1 GLenum
    v2 Ptr GLint
    v3

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

    -- glGetPathSpacingNV ----------------------------------------------------------

    glGetPathSpacingNV
      :: MonadIO m
      => GLenum -- ^ @pathListMode@ of type [PathListMode](Graphics-GL-Groups.html#PathListMode).
      -> GLsizei -- ^ @numPaths@.
      -> GLenum -- ^ @pathNameType@ of type [PathElementType](Graphics-GL-Groups.html#PathElementType).
      -> Ptr a -- ^ @paths@ pointing to @COMPSIZE(numPaths,pathNameType,paths)@ elements of type @PathElement@.
      -> GLuint -- ^ @pathBase@ of type @Path@.
      -> GLfloat -- ^ @advanceScale@.
      -> GLfloat -- ^ @kerningScale@.
      -> GLenum -- ^ @transformType@ of type [PathTransformType](Graphics-GL-Groups.html#PathTransformType).
      -> Ptr GLfloat -- ^ @returnedSpacing@ pointing to @COMPSIZE(pathListMode,numPaths)@ elements of type @GLfloat@.
      -> m ()
    glGetPathSpacingNV :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum
    -> GLint
    -> GLenum
    -> Ptr a
    -> GLenum
    -> GLfloat
    -> GLfloat
    -> GLenum
    -> Ptr GLfloat
    -> m ()
    glGetPathSpacingNV GLenum
    v1 GLint
    v2 GLenum
    v3 Ptr a
    v4 GLenum
    v5 GLfloat
    v6 GLfloat
    v7 GLenum
    v8 Ptr GLfloat
    v9 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLenum
       -> GLint
       -> GLenum
       -> Ptr a
       -> GLenum
       -> GLfloat
       -> GLfloat
       -> GLenum
       -> Ptr GLfloat
       -> IO ())
    -> GLenum
    -> GLint
    -> GLenum
    -> Ptr a
    -> GLenum
    -> GLfloat
    -> GLfloat
    -> GLenum
    -> Ptr GLfloat
    -> IO ()
    forall a.
    FunPtr
      (GLenum
       -> GLint
       -> GLenum
       -> Ptr a
       -> GLenum
       -> GLfloat
       -> GLfloat
       -> GLenum
       -> Ptr GLfloat
       -> IO ())
    -> GLenum
    -> GLint
    -> GLenum
    -> Ptr a
    -> GLenum
    -> GLfloat
    -> GLfloat
    -> GLenum
    -> Ptr GLfloat
    -> IO ()
    dyn398 FunPtr
      (GLenum
       -> GLint
       -> GLenum
       -> Ptr a
       -> GLenum
       -> GLfloat
       -> GLfloat
       -> GLenum
       -> Ptr GLfloat
       -> IO ())
    forall a.
    FunPtr
      (GLenum
       -> GLint
       -> GLenum
       -> Ptr a
       -> GLenum
       -> GLfloat
       -> GLfloat
       -> GLenum
       -> Ptr GLfloat
       -> IO ())
    ptr_glGetPathSpacingNV GLenum
    v1 GLint
    v2 GLenum
    v3 Ptr a
    v4 GLenum
    v5 GLfloat
    v6 GLfloat
    v7 GLenum
    v8 Ptr GLfloat
    v9

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

    -- glGetPathTexGenfvNV ---------------------------------------------------------

    glGetPathTexGenfvNV
      :: MonadIO m
      => GLenum -- ^ @texCoordSet@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLenum -- ^ @pname@ of type [PathGenMode](Graphics-GL-Groups.html#PathGenMode).
      -> Ptr GLfloat -- ^ @value@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
      -> m ()
    glGetPathTexGenfvNV :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLfloat -> m ()
    glGetPathTexGenfvNV GLenum
    v1 GLenum
    v2 Ptr GLfloat
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
    -> GLenum -> GLenum -> Ptr GLfloat -> IO ()
    dyn139 FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
    ptr_glGetPathTexGenfvNV GLenum
    v1 GLenum
    v2 Ptr GLfloat
    v3

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

    -- glGetPathTexGenivNV ---------------------------------------------------------

    glGetPathTexGenivNV
      :: MonadIO m
      => GLenum -- ^ @texCoordSet@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
      -> GLenum -- ^ @pname@ of type [PathGenMode](Graphics-GL-Groups.html#PathGenMode).
      -> Ptr GLint -- ^ @value@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
      -> m ()
    glGetPathTexGenivNV :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLint -> m ()
    glGetPathTexGenivNV GLenum
    v1 GLenum
    v2 Ptr GLint
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
    -> GLenum -> GLenum -> Ptr GLint -> IO ()
    dyn140 FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glGetPathTexGenivNV GLenum
    v1 GLenum
    v2 Ptr GLint
    v3

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

    -- glGetPerfCounterInfoINTEL ---------------------------------------------------

    glGetPerfCounterInfoINTEL
      :: MonadIO m
      => GLuint -- ^ @queryId@.
      -> GLuint -- ^ @counterId@.
      -> GLuint -- ^ @counterNameLength@.
      -> Ptr GLchar -- ^ @counterName@.
      -> GLuint -- ^ @counterDescLength@.
      -> Ptr GLchar -- ^ @counterDesc@.
      -> Ptr GLuint -- ^ @counterOffset@.
      -> Ptr GLuint -- ^ @counterDataSize@.
      -> Ptr GLuint -- ^ @counterTypeEnum@.
      -> Ptr GLuint -- ^ @counterDataTypeEnum@.
      -> Ptr GLuint64 -- ^ @rawCounterMaxValue@.
      -> m ()
    glGetPerfCounterInfoINTEL :: forall (m :: * -> *).
    MonadIO m =>
    GLenum
    -> GLenum
    -> GLenum
    -> Ptr GLchar
    -> GLenum
    -> Ptr GLchar
    -> Ptr GLenum
    -> Ptr GLenum
    -> Ptr GLenum
    -> Ptr GLenum
    -> Ptr GLuint64EXT
    -> m ()
    glGetPerfCounterInfoINTEL GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLchar
    v4 GLenum
    v5 Ptr GLchar
    v6 Ptr GLenum
    v7 Ptr GLenum
    v8 Ptr GLenum
    v9 Ptr GLenum
    v10 Ptr GLuint64EXT
    v11 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLenum
       -> GLenum
       -> GLenum
       -> Ptr GLchar
       -> GLenum
       -> Ptr GLchar
       -> Ptr GLenum
       -> Ptr GLenum
       -> Ptr GLenum
       -> Ptr GLenum
       -> Ptr GLuint64EXT
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLenum
    -> Ptr GLchar
    -> GLenum
    -> Ptr GLchar
    -> Ptr GLenum
    -> Ptr GLenum
    -> Ptr GLenum
    -> Ptr GLenum
    -> Ptr GLuint64EXT
    -> IO ()
    dyn399 FunPtr
      (GLenum
       -> GLenum
       -> GLenum
       -> Ptr GLchar
       -> GLenum
       -> Ptr GLchar
       -> Ptr GLenum
       -> Ptr GLenum
       -> Ptr GLenum
       -> Ptr GLenum
       -> Ptr GLuint64EXT
       -> IO ())
    ptr_glGetPerfCounterInfoINTEL GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLchar
    v4 GLenum
    v5 Ptr GLchar
    v6 Ptr GLenum
    v7 Ptr GLenum
    v8 Ptr GLenum
    v9 Ptr GLenum
    v10 Ptr GLuint64EXT
    v11

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

    -- glGetPerfMonitorCounterDataAMD ----------------------------------------------

    glGetPerfMonitorCounterDataAMD
      :: MonadIO m
      => GLuint -- ^ @monitor@.
      -> GLenum -- ^ @pname@.
      -> GLsizei -- ^ @dataSize@.
      -> Ptr GLuint -- ^ @data@ pointing to @dataSize@ elements of type @GLuint@.
      -> Ptr GLint -- ^ @bytesWritten@ pointing to @1@ element of type @GLint@.
      -> m ()
    glGetPerfMonitorCounterDataAMD :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLint -> Ptr GLenum -> Ptr GLint -> m ()
    glGetPerfMonitorCounterDataAMD GLenum
    v1 GLenum
    v2 GLint
    v3 Ptr GLenum
    v4 Ptr GLint
    v5 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLenum -> GLenum -> GLint -> Ptr GLenum -> Ptr GLint -> IO ())
    -> GLenum -> GLenum -> GLint -> Ptr GLenum -> Ptr GLint -> IO ()
    dyn400 FunPtr
      (GLenum -> GLenum -> GLint -> Ptr GLenum -> Ptr GLint -> IO ())
    ptr_glGetPerfMonitorCounterDataAMD GLenum
    v1 GLenum
    v2 GLint
    v3 Ptr GLenum
    v4 Ptr GLint
    v5

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

    -- glGetPerfMonitorCounterInfoAMD ----------------------------------------------

    glGetPerfMonitorCounterInfoAMD
      :: MonadIO m
      => GLuint -- ^ @group@.
      -> GLuint -- ^ @counter@.
      -> GLenum -- ^ @pname@.
      -> Ptr a -- ^ @data@ pointing to @COMPSIZE(pname)@ elements of type @a@.
      -> m ()
    glGetPerfMonitorCounterInfoAMD :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> Ptr a -> m ()
    glGetPerfMonitorCounterInfoAMD GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr a
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLenum -> Ptr a -> IO ())
    -> GLenum -> GLenum -> GLenum -> Ptr a -> IO ()
    forall a.
    FunPtr (GLenum -> GLenum -> GLenum -> Ptr a -> IO ())
    -> GLenum -> GLenum -> GLenum -> Ptr a -> IO ()
    dyn401 FunPtr (GLenum -> GLenum -> GLenum -> Ptr a -> IO ())
    forall a. FunPtr (GLenum -> GLenum -> GLenum -> Ptr a -> IO ())
    ptr_glGetPerfMonitorCounterInfoAMD GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr a
    v4

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

    -- glGetPerfMonitorCounterStringAMD --------------------------------------------

    glGetPerfMonitorCounterStringAMD
      :: MonadIO m
      => GLuint -- ^ @group@.
      -> GLuint -- ^ @counter@.
      -> GLsizei -- ^ @bufSize@.
      -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
      -> Ptr GLchar -- ^ @counterString@ pointing to @bufSize@ elements of type @GLchar@.
      -> m ()
    glGetPerfMonitorCounterStringAMD :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLint -> Ptr GLint -> Ptr GLchar -> m ()
    glGetPerfMonitorCounterStringAMD GLenum
    v1 GLenum
    v2 GLint
    v3 Ptr GLint
    v4 Ptr GLchar
    v5 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLenum -> GLenum -> GLint -> Ptr GLint -> Ptr GLchar -> IO ())
    -> GLenum -> GLenum -> GLint -> Ptr GLint -> Ptr GLchar -> IO ()
    dyn319 FunPtr
      (GLenum -> GLenum -> GLint -> Ptr GLint -> Ptr GLchar -> IO ())
    ptr_glGetPerfMonitorCounterStringAMD GLenum
    v1 GLenum
    v2 GLint
    v3 Ptr GLint
    v4 Ptr GLchar
    v5

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

    -- glGetPerfMonitorCountersAMD -------------------------------------------------

    glGetPerfMonitorCountersAMD
      :: MonadIO m
      => GLuint -- ^ @group@.
      -> Ptr GLint -- ^ @numCounters@ pointing to @1@ element of type @GLint@.
      -> Ptr GLint -- ^ @maxActiveCounters@ pointing to @1@ element of type @GLint@.
      -> GLsizei -- ^ @counterSize@.
      -> Ptr GLuint -- ^ @counters@ pointing to @counterSize@ elements of type @GLuint@.
      -> m ()
    glGetPerfMonitorCountersAMD :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> Ptr GLint -> Ptr GLint -> GLint -> Ptr GLenum -> m ()
    glGetPerfMonitorCountersAMD GLenum
    v1 Ptr GLint
    v2 Ptr GLint
    v3 GLint
    v4 Ptr GLenum
    v5 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLenum -> Ptr GLint -> Ptr GLint -> GLint -> Ptr GLenum -> IO ())
    -> GLenum -> Ptr GLint -> Ptr GLint -> GLint -> Ptr GLenum -> IO ()
    dyn402 FunPtr
      (GLenum -> Ptr GLint -> Ptr GLint -> GLint -> Ptr GLenum -> IO ())
    ptr_glGetPerfMonitorCountersAMD GLenum
    v1 Ptr GLint
    v2 Ptr GLint
    v3 GLint
    v4 Ptr GLenum
    v5

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

    -- glGetPerfMonitorGroupStringAMD ----------------------------------------------

    glGetPerfMonitorGroupStringAMD
      :: MonadIO m
      => GLuint -- ^ @group@.
      -> GLsizei -- ^ @bufSize@.
      -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
      -> Ptr GLchar -- ^ @groupString@ pointing to @bufSize@ elements of type @GLchar@.
      -> m ()
    glGetPerfMonitorGroupStringAMD :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLint -> Ptr GLint -> Ptr GLchar -> m ()
    glGetPerfMonitorGroupStringAMD GLenum
    v1 GLint
    v2 Ptr GLint
    v3 Ptr GLchar
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLint -> Ptr GLint -> Ptr GLchar -> IO ())
    -> GLenum -> GLint -> Ptr GLint -> Ptr GLchar -> IO ()
    dyn345 FunPtr (GLenum -> GLint -> Ptr GLint -> Ptr GLchar -> IO ())
    ptr_glGetPerfMonitorGroupStringAMD GLenum
    v1 GLint
    v2 Ptr GLint
    v3 Ptr GLchar
    v4

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

    -- glGetPerfMonitorGroupsAMD ---------------------------------------------------

    glGetPerfMonitorGroupsAMD
      :: MonadIO m
      => Ptr GLint -- ^ @numGroups@ pointing to @1@ element of type @GLint@.
      -> GLsizei -- ^ @groupsSize@.
      -> Ptr GLuint -- ^ @groups@ pointing to @groupsSize@ elements of type @GLuint@.
      -> m ()
    glGetPerfMonitorGroupsAMD :: forall (m :: * -> *).
    MonadIO m =>
    Ptr GLint -> GLint -> Ptr GLenum -> m ()
    glGetPerfMonitorGroupsAMD Ptr GLint
    v1 GLint
    v2 Ptr 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 (Ptr GLint -> GLint -> Ptr GLenum -> IO ())
    -> Ptr GLint -> GLint -> Ptr GLenum -> IO ()
    dyn346 FunPtr (Ptr GLint -> GLint -> Ptr GLenum -> IO ())
    ptr_glGetPerfMonitorGroupsAMD Ptr GLint
    v1 GLint
    v2 Ptr GLenum
    v3

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

    -- glGetPerfQueryDataINTEL -----------------------------------------------------

    glGetPerfQueryDataINTEL
      :: MonadIO m
      => GLuint -- ^ @queryHandle@.
      -> GLuint -- ^ @flags@.
      -> GLsizei -- ^ @dataSize@.
      -> Ptr a -- ^ @data@.
      -> Ptr GLuint -- ^ @bytesWritten@.
      -> m ()
    glGetPerfQueryDataINTEL :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum -> GLenum -> GLint -> Ptr a -> Ptr GLenum -> m ()
    glGetPerfQueryDataINTEL GLenum
    v1 GLenum
    v2 GLint
    v3 Ptr a
    v4 Ptr GLenum
    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 -> GLint -> Ptr a -> Ptr GLenum -> IO ())
    -> GLenum -> GLenum -> GLint -> Ptr a -> Ptr GLenum -> IO ()
    forall a.
    FunPtr (GLenum -> GLenum -> GLint -> Ptr a -> Ptr GLenum -> IO ())
    -> GLenum -> GLenum -> GLint -> Ptr a -> Ptr GLenum -> IO ()
    dyn403 FunPtr (GLenum -> GLenum -> GLint -> Ptr a -> Ptr GLenum -> IO ())
    forall a.
    FunPtr (GLenum -> GLenum -> GLint -> Ptr a -> Ptr GLenum -> IO ())
    ptr_glGetPerfQueryDataINTEL GLenum
    v1 GLenum
    v2 GLint
    v3 Ptr a
    v4 Ptr GLenum
    v5

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

    -- glGetPerfQueryIdByNameINTEL -------------------------------------------------

    glGetPerfQueryIdByNameINTEL
      :: MonadIO m
      => Ptr GLchar -- ^ @queryName@.
      -> Ptr GLuint -- ^ @queryId@.
      -> m ()
    glGetPerfQueryIdByNameINTEL :: forall (m :: * -> *). MonadIO m => Ptr GLchar -> Ptr GLenum -> m ()
    glGetPerfQueryIdByNameINTEL Ptr GLchar
    v1 Ptr GLenum
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (Ptr GLchar -> Ptr GLenum -> IO ())
    -> Ptr GLchar -> Ptr GLenum -> IO ()
    dyn404 FunPtr (Ptr GLchar -> Ptr GLenum -> IO ())
    ptr_glGetPerfQueryIdByNameINTEL Ptr GLchar
    v1 Ptr GLenum
    v2

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

    -- glGetPerfQueryInfoINTEL -----------------------------------------------------

    glGetPerfQueryInfoINTEL
      :: MonadIO m
      => GLuint -- ^ @queryId@.
      -> GLuint -- ^ @queryNameLength@.
      -> Ptr GLchar -- ^ @queryName@.
      -> Ptr GLuint -- ^ @dataSize@.
      -> Ptr GLuint -- ^ @noCounters@.
      -> Ptr GLuint -- ^ @noInstances@.
      -> Ptr GLuint -- ^ @capsMask@.
      -> m ()
    glGetPerfQueryInfoINTEL :: forall (m :: * -> *).
    MonadIO m =>
    GLenum
    -> GLenum
    -> Ptr GLchar
    -> Ptr GLenum
    -> Ptr GLenum
    -> Ptr GLenum
    -> Ptr GLenum
    -> m ()
    glGetPerfQueryInfoINTEL GLenum
    v1 GLenum
    v2 Ptr GLchar
    v3 Ptr GLenum
    v4 Ptr GLenum
    v5 Ptr GLenum
    v6 Ptr GLenum
    v7 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLenum
       -> GLenum
       -> Ptr GLchar
       -> Ptr GLenum
       -> Ptr GLenum
       -> Ptr GLenum
       -> Ptr GLenum
       -> IO ())
    -> GLenum
    -> GLenum
    -> Ptr GLchar
    -> Ptr GLenum
    -> Ptr GLenum
    -> Ptr GLenum
    -> Ptr GLenum
    -> IO ()
    dyn405 FunPtr
      (GLenum
       -> GLenum
       -> Ptr GLchar
       -> Ptr GLenum
       -> Ptr GLenum
       -> Ptr GLenum
       -> Ptr GLenum
       -> IO ())
    ptr_glGetPerfQueryInfoINTEL GLenum
    v1 GLenum
    v2 Ptr GLchar
    v3 Ptr GLenum
    v4 Ptr GLenum
    v5 Ptr GLenum
    v6 Ptr GLenum
    v7

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

    -- glGetPixelMapfv -------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetPixelMap.xml OpenGL 2.x>.
    glGetPixelMapfv
      :: MonadIO m
      => GLenum -- ^ @map@ of type [PixelMap](Graphics-GL-Groups.html#PixelMap).
      -> Ptr GLfloat -- ^ @values@ pointing to @COMPSIZE(map)@ elements of type @GLfloat@.
      -> m ()
    glGetPixelMapfv :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLfloat -> m ()
    glGetPixelMapfv GLenum
    v1 Ptr GLfloat
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> Ptr GLfloat -> IO ())
    -> GLenum -> Ptr GLfloat -> IO ()
    dyn101 FunPtr (GLenum -> Ptr GLfloat -> IO ())
    ptr_glGetPixelMapfv GLenum
    v1 Ptr GLfloat
    v2

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

    -- glGetPixelMapuiv ------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetPixelMap.xml OpenGL 2.x>.
    glGetPixelMapuiv
      :: MonadIO m
      => GLenum -- ^ @map@ of type [PixelMap](Graphics-GL-Groups.html#PixelMap).
      -> Ptr GLuint -- ^ @values@ pointing to @COMPSIZE(map)@ elements of type @GLuint@.
      -> m ()
    glGetPixelMapuiv :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLenum -> m ()
    glGetPixelMapuiv GLenum
    v1 Ptr GLenum
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> Ptr GLenum -> IO ())
    -> GLenum -> Ptr GLenum -> IO ()
    dyn132 FunPtr (GLenum -> Ptr GLenum -> IO ())
    ptr_glGetPixelMapuiv GLenum
    v1 Ptr GLenum
    v2

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

    -- glGetPixelMapusv ------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetPixelMap.xml OpenGL 2.x>.
    glGetPixelMapusv
      :: MonadIO m
      => GLenum -- ^ @map@ of type [PixelMap](Graphics-GL-Groups.html#PixelMap).
      -> Ptr GLushort -- ^ @values@ pointing to @COMPSIZE(map)@ elements of type @GLushort@.
      -> m ()
    glGetPixelMapusv :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLushort -> m ()
    glGetPixelMapusv GLenum
    v1 Ptr GLushort
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> Ptr GLushort -> IO ())
    -> GLenum -> Ptr GLushort -> IO ()
    dyn406 FunPtr (GLenum -> Ptr GLushort -> IO ())
    ptr_glGetPixelMapusv GLenum
    v1 Ptr GLushort
    v2

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

    -- glGetPixelMapxv -------------------------------------------------------------

    glGetPixelMapxv
      :: MonadIO m
      => GLenum -- ^ @map@ of type [PixelMap](Graphics-GL-Groups.html#PixelMap).
      -> GLint -- ^ @size@.
      -> Ptr GLfixed -- ^ @values@ pointing to @size@ elements of type @GLfixed@.
      -> m ()
    glGetPixelMapxv :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLint -> Ptr GLfixed -> m ()
    glGetPixelMapxv GLenum
    v1 GLint
    v2 Ptr GLfixed
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLint -> Ptr GLfixed -> IO ())
    -> GLenum -> GLint -> Ptr GLfixed -> IO ()
    dyn407 FunPtr (GLenum -> GLint -> Ptr GLfixed -> IO ())
    ptr_glGetPixelMapxv GLenum
    v1 GLint
    v2 Ptr GLfixed
    v3

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

    -- glGetPixelTexGenParameterfvSGIS ---------------------------------------------

    glGetPixelTexGenParameterfvSGIS
      :: MonadIO m
      => GLenum -- ^ @pname@ of type [PixelTexGenParameterNameSGIS](Graphics-GL-Groups.html#PixelTexGenParameterNameSGIS).
      -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
      -> m ()
    glGetPixelTexGenParameterfvSGIS :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLfloat -> m ()
    glGetPixelTexGenParameterfvSGIS GLenum
    v1 Ptr GLfloat
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> Ptr GLfloat -> IO ())
    -> GLenum -> Ptr GLfloat -> IO ()
    dyn101 FunPtr (GLenum -> Ptr GLfloat -> IO ())
    ptr_glGetPixelTexGenParameterfvSGIS GLenum
    v1 Ptr GLfloat
    v2

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

    -- glGetPixelTexGenParameterivSGIS ---------------------------------------------

    glGetPixelTexGenParameterivSGIS
      :: MonadIO m
      => GLenum -- ^ @pname@ of type [PixelTexGenParameterNameSGIS](Graphics-GL-Groups.html#PixelTexGenParameterNameSGIS).
      -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
      -> m ()
    glGetPixelTexGenParameterivSGIS :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLint -> m ()
    glGetPixelTexGenParameterivSGIS GLenum
    v1 Ptr GLint
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> Ptr GLint -> IO ())
    -> GLenum -> Ptr GLint -> IO ()
    dyn143 FunPtr (GLenum -> Ptr GLint -> IO ())
    ptr_glGetPixelTexGenParameterivSGIS GLenum
    v1 Ptr GLint
    v2

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

    -- glGetPixelTransformParameterfvEXT -------------------------------------------

    glGetPixelTransformParameterfvEXT
      :: MonadIO m
      => GLenum -- ^ @target@.
      -> GLenum -- ^ @pname@.
      -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
      -> m ()
    glGetPixelTransformParameterfvEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLfloat -> m ()
    glGetPixelTransformParameterfvEXT GLenum
    v1 GLenum
    v2 Ptr GLfloat
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
    -> GLenum -> GLenum -> Ptr GLfloat -> IO ()
    dyn139 FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
    ptr_glGetPixelTransformParameterfvEXT GLenum
    v1 GLenum
    v2 Ptr GLfloat
    v3

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

    -- glGetPixelTransformParameterivEXT -------------------------------------------

    glGetPixelTransformParameterivEXT
      :: MonadIO m
      => GLenum -- ^ @target@.
      -> GLenum -- ^ @pname@.
      -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
      -> m ()
    glGetPixelTransformParameterivEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLint -> m ()
    glGetPixelTransformParameterivEXT GLenum
    v1 GLenum
    v2 Ptr GLint
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
    -> GLenum -> GLenum -> Ptr GLint -> IO ()
    dyn140 FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glGetPixelTransformParameterivEXT GLenum
    v1 GLenum
    v2 Ptr GLint
    v3

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

    -- glGetPointerIndexedvEXT -----------------------------------------------------

    glGetPointerIndexedvEXT
      :: MonadIO m
      => GLenum -- ^ @target@.
      -> GLuint -- ^ @index@.
      -> Ptr (Ptr a) -- ^ @data@ pointing to @1@ element of type @Ptr a@.
      -> m ()
    glGetPointerIndexedvEXT :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum -> GLenum -> Ptr (Ptr a) -> m ()
    glGetPointerIndexedvEXT GLenum
    v1 GLenum
    v2 Ptr (Ptr a)
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> Ptr (Ptr a) -> IO ())
    -> GLenum -> GLenum -> Ptr (Ptr a) -> IO ()
    forall a.
    FunPtr (GLenum -> GLenum -> Ptr (Ptr a) -> IO ())
    -> GLenum -> GLenum -> Ptr (Ptr a) -> IO ()
    dyn408 FunPtr (GLenum -> GLenum -> Ptr (Ptr a) -> IO ())
    forall a. FunPtr (GLenum -> GLenum -> Ptr (Ptr a) -> IO ())
    ptr_glGetPointerIndexedvEXT GLenum
    v1 GLenum
    v2 Ptr (Ptr a)
    v3

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

    -- glGetPointeri_vEXT ----------------------------------------------------------

    glGetPointeri_vEXT
      :: MonadIO m
      => GLenum -- ^ @pname@.
      -> GLuint -- ^ @index@.
      -> Ptr (Ptr a) -- ^ @params@ pointing to @1@ element of type @Ptr a@.
      -> m ()
    glGetPointeri_vEXT :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum -> GLenum -> Ptr (Ptr a) -> m ()
    glGetPointeri_vEXT GLenum
    v1 GLenum
    v2 Ptr (Ptr a)
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> Ptr (Ptr a) -> IO ())
    -> GLenum -> GLenum -> Ptr (Ptr a) -> IO ()
    forall a.
    FunPtr (GLenum -> GLenum -> Ptr (Ptr a) -> IO ())
    -> GLenum -> GLenum -> Ptr (Ptr a) -> IO ()
    dyn408 FunPtr (GLenum -> GLenum -> Ptr (Ptr a) -> IO ())
    forall a. FunPtr (GLenum -> GLenum -> Ptr (Ptr a) -> IO ())
    ptr_glGetPointeri_vEXT GLenum
    v1 GLenum
    v2 Ptr (Ptr a)
    v3

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

    -- glGetPointerv ---------------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetPointerv.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetPointerv.xhtml OpenGL 4.x>.
    glGetPointerv
      :: MonadIO m
      => GLenum -- ^ @pname@ of type [GetPointervPName](Graphics-GL-Groups.html#GetPointervPName).
      -> Ptr (Ptr a) -- ^ @params@ pointing to @1@ element of type @Ptr a@.
      -> m ()
    glGetPointerv :: forall (m :: * -> *) a. MonadIO m => GLenum -> Ptr (Ptr a) -> m ()
    glGetPointerv 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_glGetPointerv GLenum
    v1 Ptr (Ptr a)
    v2

    {-# NOINLINE ptr_glGetPointerv #-}
    ptr_glGetPointerv :: FunPtr (GLenum -> Ptr (Ptr a) -> IO ())
    ptr_glGetPointerv :: forall a. FunPtr (GLenum -> Ptr (Ptr a) -> IO ())
    ptr_glGetPointerv = 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
    "glGetPointerv"

    -- glGetPointervEXT ------------------------------------------------------------

    -- | This command is an alias for 'glGetPointerv'.
    glGetPointervEXT
      :: MonadIO m
      => GLenum -- ^ @pname@ of type [GetPointervPName](Graphics-GL-Groups.html#GetPointervPName).
      -> Ptr (Ptr a) -- ^ @params@ pointing to @1@ element of type @Ptr a@.
      -> m ()
    glGetPointervEXT :: forall (m :: * -> *) a. MonadIO m => GLenum -> Ptr (Ptr a) -> m ()
    glGetPointervEXT 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_glGetPointervEXT GLenum
    v1 Ptr (Ptr a)
    v2

    {-# NOINLINE ptr_glGetPointervEXT #-}
    ptr_glGetPointervEXT :: FunPtr (GLenum -> Ptr (Ptr a) -> IO ())
    ptr_glGetPointervEXT :: forall a. FunPtr (GLenum -> Ptr (Ptr a) -> IO ())
    ptr_glGetPointervEXT = 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
    "glGetPointervEXT"

    -- glGetPointervKHR ------------------------------------------------------------

    -- | This command is an alias for 'glGetPointerv'.
    glGetPointervKHR
      :: MonadIO m
      => GLenum -- ^ @pname@.
      -> Ptr (Ptr a) -- ^ @params@.
      -> m ()
    glGetPointervKHR :: forall (m :: * -> *) a. MonadIO m => GLenum -> Ptr (Ptr a) -> m ()
    glGetPointervKHR 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_glGetPointervKHR GLenum
    v1 Ptr (Ptr a)
    v2

    {-# NOINLINE ptr_glGetPointervKHR #-}
    ptr_glGetPointervKHR :: FunPtr (GLenum -> Ptr (Ptr a) -> IO ())
    ptr_glGetPointervKHR :: forall a. FunPtr (GLenum -> Ptr (Ptr a) -> IO ())
    ptr_glGetPointervKHR = 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
    "glGetPointervKHR"

    -- glGetPolygonStipple ---------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetPolygonStipple.xml OpenGL 2.x>.
    glGetPolygonStipple
      :: MonadIO m
      => Ptr GLubyte -- ^ @mask@ pointing to @COMPSIZE()@ elements of type @GLubyte@.
      -> m ()
    glGetPolygonStipple :: forall (m :: * -> *). MonadIO m => Ptr GLboolean -> m ()
    glGetPolygonStipple 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 ()
    dyn108 FunPtr (Ptr GLboolean -> IO ())
    ptr_glGetPolygonStipple Ptr GLboolean
    v1

    {-# NOINLINE ptr_glGetPolygonStipple #-}
    ptr_glGetPolygonStipple :: FunPtr (Ptr GLubyte -> IO ())
    ptr_glGetPolygonStipple :: FunPtr (Ptr GLboolean -> IO ())
    ptr_glGetPolygonStipple = 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
    "glGetPolygonStipple"

    -- glGetProgramBinary ----------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetProgramBinary.xhtml OpenGL 4.x>.
    glGetProgramBinary
      :: MonadIO m
      => GLuint -- ^ @program@.
      -> GLsizei -- ^ @bufSize@.
      -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
      -> Ptr GLenum -- ^ @binaryFormat@ pointing to @1@ element of type @GLenum@.
      -> Ptr a -- ^ @binary@ pointing to @bufSize@ elements of type @a@.
      -> m ()
    glGetProgramBinary :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum -> GLint -> Ptr GLint -> Ptr GLenum -> Ptr a -> m ()
    glGetProgramBinary GLenum
    v1 GLint
    v2 Ptr GLint
    v3 Ptr GLenum
    v4 Ptr a
    v5 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLenum -> GLint -> Ptr GLint -> Ptr GLenum -> Ptr a -> IO ())
    -> GLenum -> GLint -> Ptr GLint -> Ptr GLenum -> Ptr a -> IO ()
    forall a.
    FunPtr
      (GLenum -> GLint -> Ptr GLint -> Ptr GLenum -> Ptr a -> IO ())
    -> GLenum -> GLint -> Ptr GLint -> Ptr GLenum -> Ptr a -> IO ()
    dyn409 FunPtr
      (GLenum -> GLint -> Ptr GLint -> Ptr GLenum -> Ptr a -> IO ())
    forall a.
    FunPtr
      (GLenum -> GLint -> Ptr GLint -> Ptr GLenum -> Ptr a -> IO ())
    ptr_glGetProgramBinary GLenum
    v1 GLint
    v2 Ptr GLint
    v3 Ptr GLenum
    v4 Ptr a
    v5

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

    -- glGetProgramBinaryOES -------------------------------------------------------

    -- | This command is an alias for 'glGetProgramBinary'.
    glGetProgramBinaryOES
      :: MonadIO m
      => GLuint -- ^ @program@.
      -> GLsizei -- ^ @bufSize@.
      -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
      -> Ptr GLenum -- ^ @binaryFormat@ pointing to @1@ element of type @GLenum@.
      -> Ptr a -- ^ @binary@ pointing to @bufSize@ elements of type @a@.
      -> m ()
    glGetProgramBinaryOES :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum -> GLint -> Ptr GLint -> Ptr GLenum -> Ptr a -> m ()
    glGetProgramBinaryOES GLenum
    v1 GLint
    v2 Ptr GLint
    v3 Ptr GLenum
    v4 Ptr a
    v5 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLenum -> GLint -> Ptr GLint -> Ptr GLenum -> Ptr a -> IO ())
    -> GLenum -> GLint -> Ptr GLint -> Ptr GLenum -> Ptr a -> IO ()
    forall a.
    FunPtr
      (GLenum -> GLint -> Ptr GLint -> Ptr GLenum -> Ptr a -> IO ())
    -> GLenum -> GLint -> Ptr GLint -> Ptr GLenum -> Ptr a -> IO ()
    dyn409 FunPtr
      (GLenum -> GLint -> Ptr GLint -> Ptr GLenum -> Ptr a -> IO ())
    forall a.
    FunPtr
      (GLenum -> GLint -> Ptr GLint -> Ptr GLenum -> Ptr a -> IO ())
    ptr_glGetProgramBinaryOES GLenum
    v1 GLint
    v2 Ptr GLint
    v3 Ptr GLenum
    v4 Ptr a
    v5

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