    {-# OPTIONS_HADDOCK hide #-}
    --------------------------------------------------------------------------------
    -- |
    -- Module      :  Graphics.GL.Functions.F10
    -- 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.F10 (
      glGetConvolutionParameteriv,
      glGetConvolutionParameterivEXT,
      glGetConvolutionParameterxvOES,
      glGetCoverageModulationTableNV,
      glGetDebugMessageLog,
      glGetDebugMessageLogAMD,
      glGetDebugMessageLogARB,
      glGetDebugMessageLogKHR,
      glGetDetailTexFuncSGIS,
      glGetDoubleIndexedvEXT,
      glGetDoublei_v,
      glGetDoublei_vEXT,
      glGetDoublev,
      glGetDriverControlStringQCOM,
      glGetDriverControlsQCOM,
      glGetError,
      glGetFenceivNV,
      glGetFinalCombinerInputParameterfvNV,
      glGetFinalCombinerInputParameterivNV,
      glGetFirstPerfQueryIdINTEL,
      glGetFixedv,
      glGetFixedvOES,
      glGetFloatIndexedvEXT,
      glGetFloati_v,
      glGetFloati_vEXT,
      glGetFloati_vNV,
      glGetFloati_vOES,
      glGetFloatv,
      glGetFogFuncSGIS,
      glGetFragDataIndex,
      glGetFragDataIndexEXT,
      glGetFragDataLocation,
      glGetFragDataLocationEXT,
      glGetFragmentLightfvSGIX,
      glGetFragmentLightivSGIX,
      glGetFragmentMaterialfvSGIX,
      glGetFragmentMaterialivSGIX,
      glGetFramebufferAttachmentParameteriv,
      glGetFramebufferAttachmentParameterivEXT,
      glGetFramebufferAttachmentParameterivOES,
      glGetFramebufferParameterfvAMD,
      glGetFramebufferParameteriv,
      glGetFramebufferParameterivEXT,
      glGetFramebufferParameterivMESA,
      glGetFramebufferPixelLocalStorageSizeEXT,
      glGetGraphicsResetStatus,
      glGetGraphicsResetStatusARB,
      glGetGraphicsResetStatusEXT,
      glGetGraphicsResetStatusKHR,
      glGetHandleARB,
      glGetHistogram,
      glGetHistogramEXT,
      glGetHistogramParameterfv,
      glGetHistogramParameterfvEXT,
      glGetHistogramParameteriv,
      glGetHistogramParameterivEXT,
      glGetHistogramParameterxvOES,
      glGetImageHandleARB,
      glGetImageHandleNV,
      glGetImageTransformParameterfvHP,
      glGetImageTransformParameterivHP,
      glGetInfoLogARB,
      glGetInstrumentsSGIX,
      glGetInteger64i_v,
      glGetInteger64v,
      glGetInteger64vAPPLE,
      glGetInteger64vEXT,
      glGetIntegerIndexedvEXT,
      glGetIntegeri_v,
      glGetIntegeri_vEXT,
      glGetIntegerui64i_vNV,
      glGetIntegerui64vNV,
      glGetIntegerv,
      glGetInternalformatSampleivNV,
      glGetInternalformati64v,
      glGetInternalformativ,
      glGetInvariantBooleanvEXT,
      glGetInvariantFloatvEXT,
      glGetInvariantIntegervEXT,
      glGetLightfv,
      glGetLightiv,
      glGetLightxOES,
      glGetLightxv,
      glGetLightxvOES,
      glGetListParameterfvSGIX,
      glGetListParameterivSGIX,
      glGetLocalConstantBooleanvEXT,
      glGetLocalConstantFloatvEXT,
      glGetLocalConstantIntegervEXT,
      glGetMapAttribParameterfvNV,
      glGetMapAttribParameterivNV,
      glGetMapControlPointsNV,
      glGetMapParameterfvNV,
      glGetMapParameterivNV,
      glGetMapdv,
      glGetMapfv,
      glGetMapiv,
      glGetMapxvOES,
      glGetMaterialfv,
      glGetMaterialiv
    ) where

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

    -- glGetConvolutionParameteriv -------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetConvolutionParameter.xml OpenGL 2.x>.
    glGetConvolutionParameteriv
      :: MonadIO m
      => GLenum -- ^ @target@ of type [ConvolutionTarget](Graphics-GL-Groups.html#ConvolutionTarget).
      -> GLenum -- ^ @pname@ of type [ConvolutionParameterEXT](Graphics-GL-Groups.html#ConvolutionParameterEXT).
      -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
      -> m ()
    glGetConvolutionParameteriv :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLint -> m ()
    glGetConvolutionParameteriv 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_glGetConvolutionParameteriv GLenum
    v1 GLenum
    v2 Ptr GLint
    v3

    {-# NOINLINE ptr_glGetConvolutionParameteriv #-}
    ptr_glGetConvolutionParameteriv :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glGetConvolutionParameteriv :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glGetConvolutionParameteriv = 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
    "glGetConvolutionParameteriv"

    -- glGetConvolutionParameterivEXT ----------------------------------------------

    glGetConvolutionParameterivEXT
      :: MonadIO m
      => GLenum -- ^ @target@ of type [ConvolutionTargetEXT](Graphics-GL-Groups.html#ConvolutionTargetEXT).
      -> GLenum -- ^ @pname@ of type [ConvolutionParameterEXT](Graphics-GL-Groups.html#ConvolutionParameterEXT).
      -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
      -> m ()
    glGetConvolutionParameterivEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLint -> m ()
    glGetConvolutionParameterivEXT 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_glGetConvolutionParameterivEXT GLenum
    v1 GLenum
    v2 Ptr GLint
    v3

    {-# NOINLINE ptr_glGetConvolutionParameterivEXT #-}
    ptr_glGetConvolutionParameterivEXT :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glGetConvolutionParameterivEXT :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glGetConvolutionParameterivEXT = 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
    "glGetConvolutionParameterivEXT"

    -- glGetConvolutionParameterxvOES ----------------------------------------------

    glGetConvolutionParameterxvOES
      :: MonadIO m
      => GLenum -- ^ @target@.
      -> GLenum -- ^ @pname@.
      -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
      -> m ()
    glGetConvolutionParameterxvOES :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLfixed -> m ()
    glGetConvolutionParameterxvOES 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_glGetConvolutionParameterxvOES GLenum
    v1 GLenum
    v2 Ptr GLfixed
    v3

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

    -- glGetCoverageModulationTableNV ----------------------------------------------

    glGetCoverageModulationTableNV
      :: MonadIO m
      => GLsizei -- ^ @bufSize@.
      -> Ptr GLfloat -- ^ @v@.
      -> m ()
    glGetCoverageModulationTableNV :: forall (m :: * -> *). MonadIO m => GLint -> Ptr GLfloat -> m ()
    glGetCoverageModulationTableNV GLint
    v1 Ptr GLfloat
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLint -> Ptr GLfloat -> IO ())
    -> GLint -> Ptr GLfloat -> IO ()
    dyn199 FunPtr (GLint -> Ptr GLfloat -> IO ())
    ptr_glGetCoverageModulationTableNV GLint
    v1 Ptr GLfloat
    v2

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

    -- glGetDebugMessageLog --------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetDebugMessageLog.xhtml OpenGL 4.x>.
    glGetDebugMessageLog
      :: MonadIO m
      => GLuint -- ^ @count@.
      -> GLsizei -- ^ @bufSize@.
      -> Ptr GLenum -- ^ @sources@ pointing to @count@ elements of type [DebugSource](Graphics-GL-Groups.html#DebugSource).
      -> Ptr GLenum -- ^ @types@ pointing to @count@ elements of type [DebugType](Graphics-GL-Groups.html#DebugType).
      -> Ptr GLuint -- ^ @ids@ pointing to @count@ elements of type @GLuint@.
      -> Ptr GLenum -- ^ @severities@ pointing to @count@ elements of type [DebugSeverity](Graphics-GL-Groups.html#DebugSeverity).
      -> Ptr GLsizei -- ^ @lengths@ pointing to @count@ elements of type @GLsizei@.
      -> Ptr GLchar -- ^ @messageLog@ pointing to @bufSize@ elements of type @GLchar@.
      -> m GLuint
    glGetDebugMessageLog :: forall (m :: * -> *).
    MonadIO m =>
    GLenum
    -> GLint
    -> Ptr GLenum
    -> Ptr GLenum
    -> Ptr GLenum
    -> Ptr GLenum
    -> Ptr GLint
    -> Ptr GLchar
    -> m GLenum
    glGetDebugMessageLog GLenum
    v1 GLint
    v2 Ptr GLenum
    v3 Ptr GLenum
    v4 Ptr GLenum
    v5 Ptr GLenum
    v6 Ptr GLint
    v7 Ptr GLchar
    v8 = IO GLenum -> m GLenum
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO GLenum -> m GLenum) -> IO GLenum -> m GLenum
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLenum
       -> GLint
       -> Ptr GLenum
       -> Ptr GLenum
       -> Ptr GLenum
       -> Ptr GLenum
       -> Ptr GLint
       -> Ptr GLchar
       -> IO GLenum)
    -> GLenum
    -> GLint
    -> Ptr GLenum
    -> Ptr GLenum
    -> Ptr GLenum
    -> Ptr GLenum
    -> Ptr GLint
    -> Ptr GLchar
    -> IO GLenum
    dyn342 FunPtr
      (GLenum
       -> GLint
       -> Ptr GLenum
       -> Ptr GLenum
       -> Ptr GLenum
       -> Ptr GLenum
       -> Ptr GLint
       -> Ptr GLchar
       -> IO GLenum)
    ptr_glGetDebugMessageLog GLenum
    v1 GLint
    v2 Ptr GLenum
    v3 Ptr GLenum
    v4 Ptr GLenum
    v5 Ptr GLenum
    v6 Ptr GLint
    v7 Ptr GLchar
    v8

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

    -- glGetDebugMessageLogAMD -----------------------------------------------------

    glGetDebugMessageLogAMD
      :: MonadIO m
      => GLuint -- ^ @count@.
      -> GLsizei -- ^ @bufSize@.
      -> Ptr GLenum -- ^ @categories@ pointing to @count@ elements of type @GLenum@.
      -> Ptr GLuint -- ^ @severities@ pointing to @count@ elements of type [DebugSeverity](Graphics-GL-Groups.html#DebugSeverity).
      -> Ptr GLuint -- ^ @ids@ pointing to @count@ elements of type @GLuint@.
      -> Ptr GLsizei -- ^ @lengths@ pointing to @count@ elements of type @GLsizei@.
      -> Ptr GLchar -- ^ @message@ pointing to @bufSize@ elements of type @GLchar@.
      -> m GLuint
    glGetDebugMessageLogAMD :: forall (m :: * -> *).
    MonadIO m =>
    GLenum
    -> GLint
    -> Ptr GLenum
    -> Ptr GLenum
    -> Ptr GLenum
    -> Ptr GLint
    -> Ptr GLchar
    -> m GLenum
    glGetDebugMessageLogAMD GLenum
    v1 GLint
    v2 Ptr GLenum
    v3 Ptr GLenum
    v4 Ptr GLenum
    v5 Ptr GLint
    v6 Ptr GLchar
    v7 = IO GLenum -> m GLenum
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO GLenum -> m GLenum) -> IO GLenum -> m GLenum
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLenum
       -> GLint
       -> Ptr GLenum
       -> Ptr GLenum
       -> Ptr GLenum
       -> Ptr GLint
       -> Ptr GLchar
       -> IO GLenum)
    -> GLenum
    -> GLint
    -> Ptr GLenum
    -> Ptr GLenum
    -> Ptr GLenum
    -> Ptr GLint
    -> Ptr GLchar
    -> IO GLenum
    dyn343 FunPtr
      (GLenum
       -> GLint
       -> Ptr GLenum
       -> Ptr GLenum
       -> Ptr GLenum
       -> Ptr GLint
       -> Ptr GLchar
       -> IO GLenum)
    ptr_glGetDebugMessageLogAMD GLenum
    v1 GLint
    v2 Ptr GLenum
    v3 Ptr GLenum
    v4 Ptr GLenum
    v5 Ptr GLint
    v6 Ptr GLchar
    v7

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

    -- glGetDebugMessageLogARB -----------------------------------------------------

    -- | This command is an alias for 'glGetDebugMessageLog'.
    glGetDebugMessageLogARB
      :: MonadIO m
      => GLuint -- ^ @count@.
      -> GLsizei -- ^ @bufSize@.
      -> Ptr GLenum -- ^ @sources@ pointing to @count@ elements of type [DebugSource](Graphics-GL-Groups.html#DebugSource).
      -> Ptr GLenum -- ^ @types@ pointing to @count@ elements of type [DebugType](Graphics-GL-Groups.html#DebugType).
      -> Ptr GLuint -- ^ @ids@ pointing to @count@ elements of type @GLuint@.
      -> Ptr GLenum -- ^ @severities@ pointing to @count@ elements of type [DebugSeverity](Graphics-GL-Groups.html#DebugSeverity).
      -> Ptr GLsizei -- ^ @lengths@ pointing to @count@ elements of type @GLsizei@.
      -> Ptr GLchar -- ^ @messageLog@ pointing to @bufSize@ elements of type @GLchar@.
      -> m GLuint
    glGetDebugMessageLogARB :: forall (m :: * -> *).
    MonadIO m =>
    GLenum
    -> GLint
    -> Ptr GLenum
    -> Ptr GLenum
    -> Ptr GLenum
    -> Ptr GLenum
    -> Ptr GLint
    -> Ptr GLchar
    -> m GLenum
    glGetDebugMessageLogARB GLenum
    v1 GLint
    v2 Ptr GLenum
    v3 Ptr GLenum
    v4 Ptr GLenum
    v5 Ptr GLenum
    v6 Ptr GLint
    v7 Ptr GLchar
    v8 = IO GLenum -> m GLenum
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO GLenum -> m GLenum) -> IO GLenum -> m GLenum
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLenum
       -> GLint
       -> Ptr GLenum
       -> Ptr GLenum
       -> Ptr GLenum
       -> Ptr GLenum
       -> Ptr GLint
       -> Ptr GLchar
       -> IO GLenum)
    -> GLenum
    -> GLint
    -> Ptr GLenum
    -> Ptr GLenum
    -> Ptr GLenum
    -> Ptr GLenum
    -> Ptr GLint
    -> Ptr GLchar
    -> IO GLenum
    dyn342 FunPtr
      (GLenum
       -> GLint
       -> Ptr GLenum
       -> Ptr GLenum
       -> Ptr GLenum
       -> Ptr GLenum
       -> Ptr GLint
       -> Ptr GLchar
       -> IO GLenum)
    ptr_glGetDebugMessageLogARB GLenum
    v1 GLint
    v2 Ptr GLenum
    v3 Ptr GLenum
    v4 Ptr GLenum
    v5 Ptr GLenum
    v6 Ptr GLint
    v7 Ptr GLchar
    v8

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

    -- glGetDebugMessageLogKHR -----------------------------------------------------

    -- | This command is an alias for 'glGetDebugMessageLog'.
    glGetDebugMessageLogKHR
      :: MonadIO m
      => GLuint -- ^ @count@.
      -> GLsizei -- ^ @bufSize@.
      -> Ptr GLenum -- ^ @sources@ pointing to @count@ elements of type [DebugSource](Graphics-GL-Groups.html#DebugSource).
      -> Ptr GLenum -- ^ @types@ pointing to @count@ elements of type [DebugType](Graphics-GL-Groups.html#DebugType).
      -> Ptr GLuint -- ^ @ids@ pointing to @count@ elements of type @GLuint@.
      -> Ptr GLenum -- ^ @severities@ pointing to @count@ elements of type [DebugSeverity](Graphics-GL-Groups.html#DebugSeverity).
      -> Ptr GLsizei -- ^ @lengths@ pointing to @count@ elements of type @GLsizei@.
      -> Ptr GLchar -- ^ @messageLog@ pointing to @bufSize@ elements of type @GLchar@.
      -> m GLuint
    glGetDebugMessageLogKHR :: forall (m :: * -> *).
    MonadIO m =>
    GLenum
    -> GLint
    -> Ptr GLenum
    -> Ptr GLenum
    -> Ptr GLenum
    -> Ptr GLenum
    -> Ptr GLint
    -> Ptr GLchar
    -> m GLenum
    glGetDebugMessageLogKHR GLenum
    v1 GLint
    v2 Ptr GLenum
    v3 Ptr GLenum
    v4 Ptr GLenum
    v5 Ptr GLenum
    v6 Ptr GLint
    v7 Ptr GLchar
    v8 = IO GLenum -> m GLenum
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO GLenum -> m GLenum) -> IO GLenum -> m GLenum
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLenum
       -> GLint
       -> Ptr GLenum
       -> Ptr GLenum
       -> Ptr GLenum
       -> Ptr GLenum
       -> Ptr GLint
       -> Ptr GLchar
       -> IO GLenum)
    -> GLenum
    -> GLint
    -> Ptr GLenum
    -> Ptr GLenum
    -> Ptr GLenum
    -> Ptr GLenum
    -> Ptr GLint
    -> Ptr GLchar
    -> IO GLenum
    dyn342 FunPtr
      (GLenum
       -> GLint
       -> Ptr GLenum
       -> Ptr GLenum
       -> Ptr GLenum
       -> Ptr GLenum
       -> Ptr GLint
       -> Ptr GLchar
       -> IO GLenum)
    ptr_glGetDebugMessageLogKHR GLenum
    v1 GLint
    v2 Ptr GLenum
    v3 Ptr GLenum
    v4 Ptr GLenum
    v5 Ptr GLenum
    v6 Ptr GLint
    v7 Ptr GLchar
    v8

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

    -- glGetDetailTexFuncSGIS ------------------------------------------------------

    glGetDetailTexFuncSGIS
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> Ptr GLfloat -- ^ @points@ pointing to @COMPSIZE(target)@ elements of type @GLfloat@.
      -> m ()
    glGetDetailTexFuncSGIS :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLfloat -> m ()
    glGetDetailTexFuncSGIS 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_glGetDetailTexFuncSGIS GLenum
    v1 Ptr GLfloat
    v2

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

    -- glGetDoubleIndexedvEXT ------------------------------------------------------

    -- | This command is an alias for 'glGetDoublei_v'.
    glGetDoubleIndexedvEXT
      :: MonadIO m
      => GLenum -- ^ @target@.
      -> GLuint -- ^ @index@.
      -> Ptr GLdouble -- ^ @data@ pointing to @COMPSIZE(target)@ elements of type @GLdouble@.
      -> m ()
    glGetDoubleIndexedvEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLdouble -> m ()
    glGetDoubleIndexedvEXT GLenum
    v1 GLenum
    v2 Ptr GLdouble
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
    -> GLenum -> GLenum -> Ptr GLdouble -> IO ()
    dyn344 FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
    ptr_glGetDoubleIndexedvEXT GLenum
    v1 GLenum
    v2 Ptr GLdouble
    v3

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

    -- glGetDoublei_v --------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGet.xhtml OpenGL 4.x>.
    glGetDoublei_v
      :: MonadIO m
      => GLenum -- ^ @target@.
      -> GLuint -- ^ @index@.
      -> Ptr GLdouble -- ^ @data@ pointing to @COMPSIZE(target)@ elements of type @GLdouble@.
      -> m ()
    glGetDoublei_v :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLdouble -> m ()
    glGetDoublei_v GLenum
    v1 GLenum
    v2 Ptr GLdouble
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
    -> GLenum -> GLenum -> Ptr GLdouble -> IO ()
    dyn344 FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
    ptr_glGetDoublei_v GLenum
    v1 GLenum
    v2 Ptr GLdouble
    v3

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

    -- glGetDoublei_vEXT -----------------------------------------------------------

    -- | This command is an alias for 'glGetDoublei_v'.
    glGetDoublei_vEXT
      :: MonadIO m
      => GLenum -- ^ @pname@.
      -> GLuint -- ^ @index@.
      -> Ptr GLdouble -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLdouble@.
      -> m ()
    glGetDoublei_vEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLdouble -> m ()
    glGetDoublei_vEXT GLenum
    v1 GLenum
    v2 Ptr GLdouble
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
    -> GLenum -> GLenum -> Ptr GLdouble -> IO ()
    dyn344 FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
    ptr_glGetDoublei_vEXT GLenum
    v1 GLenum
    v2 Ptr GLdouble
    v3

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

    -- glGetDoublev ----------------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGet.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGet.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGet.xhtml OpenGL 4.x>.
    glGetDoublev
      :: MonadIO m
      => GLenum -- ^ @pname@ of type [GetPName](Graphics-GL-Groups.html#GetPName).
      -> Ptr GLdouble -- ^ @data@ pointing to @COMPSIZE(pname)@ elements of type @GLdouble@.
      -> m ()
    glGetDoublev :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLdouble -> m ()
    glGetDoublev GLenum
    v1 Ptr GLdouble
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> Ptr GLdouble -> IO ())
    -> GLenum -> Ptr GLdouble -> IO ()
    dyn100 FunPtr (GLenum -> Ptr GLdouble -> IO ())
    ptr_glGetDoublev GLenum
    v1 Ptr GLdouble
    v2

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

    -- glGetDriverControlStringQCOM ------------------------------------------------

    glGetDriverControlStringQCOM
      :: MonadIO m
      => GLuint -- ^ @driverControl@.
      -> GLsizei -- ^ @bufSize@.
      -> Ptr GLsizei -- ^ @length@.
      -> Ptr GLchar -- ^ @driverControlString@ pointing to @bufSize@ elements of type @GLchar@.
      -> m ()
    glGetDriverControlStringQCOM :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLint -> Ptr GLint -> Ptr GLchar -> m ()
    glGetDriverControlStringQCOM 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_glGetDriverControlStringQCOM GLenum
    v1 GLint
    v2 Ptr GLint
    v3 Ptr GLchar
    v4

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

    -- glGetDriverControlsQCOM -----------------------------------------------------

    glGetDriverControlsQCOM
      :: MonadIO m
      => Ptr GLint -- ^ @num@.
      -> GLsizei -- ^ @size@.
      -> Ptr GLuint -- ^ @driverControls@ pointing to @size@ elements of type @GLuint@.
      -> m ()
    glGetDriverControlsQCOM :: forall (m :: * -> *).
    MonadIO m =>
    Ptr GLint -> GLint -> Ptr GLenum -> m ()
    glGetDriverControlsQCOM 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_glGetDriverControlsQCOM Ptr GLint
    v1 GLint
    v2 Ptr GLenum
    v3

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

    -- glGetError ------------------------------------------------------------------

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

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

    -- glGetFenceivNV --------------------------------------------------------------

    glGetFenceivNV
      :: MonadIO m
      => GLuint -- ^ @fence@ of type @FenceNV@.
      -> GLenum -- ^ @pname@ of type [FenceParameterNameNV](Graphics-GL-Groups.html#FenceParameterNameNV).
      -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
      -> m ()
    glGetFenceivNV :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLint -> m ()
    glGetFenceivNV 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_glGetFenceivNV GLenum
    v1 GLenum
    v2 Ptr GLint
    v3

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

    -- glGetFinalCombinerInputParameterfvNV ----------------------------------------

    glGetFinalCombinerInputParameterfvNV
      :: MonadIO m
      => GLenum -- ^ @variable@ of type [CombinerVariableNV](Graphics-GL-Groups.html#CombinerVariableNV).
      -> GLenum -- ^ @pname@ of type [CombinerParameterNV](Graphics-GL-Groups.html#CombinerParameterNV).
      -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
      -> m ()
    glGetFinalCombinerInputParameterfvNV :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLfloat -> m ()
    glGetFinalCombinerInputParameterfvNV 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_glGetFinalCombinerInputParameterfvNV GLenum
    v1 GLenum
    v2 Ptr GLfloat
    v3

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

    -- glGetFinalCombinerInputParameterivNV ----------------------------------------

    glGetFinalCombinerInputParameterivNV
      :: MonadIO m
      => GLenum -- ^ @variable@ of type [CombinerVariableNV](Graphics-GL-Groups.html#CombinerVariableNV).
      -> GLenum -- ^ @pname@ of type [CombinerParameterNV](Graphics-GL-Groups.html#CombinerParameterNV).
      -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
      -> m ()
    glGetFinalCombinerInputParameterivNV :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLint -> m ()
    glGetFinalCombinerInputParameterivNV 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_glGetFinalCombinerInputParameterivNV GLenum
    v1 GLenum
    v2 Ptr GLint
    v3

    {-# NOINLINE ptr_glGetFinalCombinerInputParameterivNV #-}
    ptr_glGetFinalCombinerInputParameterivNV :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glGetFinalCombinerInputParameterivNV :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glGetFinalCombinerInputParameterivNV = 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
    "glGetFinalCombinerInputParameterivNV"

    -- glGetFirstPerfQueryIdINTEL --------------------------------------------------

    glGetFirstPerfQueryIdINTEL
      :: MonadIO m
      => Ptr GLuint -- ^ @queryId@.
      -> m ()
    glGetFirstPerfQueryIdINTEL :: forall (m :: * -> *). MonadIO m => Ptr GLenum -> m ()
    glGetFirstPerfQueryIdINTEL Ptr GLenum
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (Ptr GLenum -> IO ()) -> Ptr GLenum -> IO ()
    dyn110 FunPtr (Ptr GLenum -> IO ())
    ptr_glGetFirstPerfQueryIdINTEL Ptr GLenum
    v1

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

    -- glGetFixedv -----------------------------------------------------------------

    glGetFixedv
      :: MonadIO m
      => GLenum -- ^ @pname@ of type [GetPName](Graphics-GL-Groups.html#GetPName).
      -> Ptr GLfixed -- ^ @params@.
      -> m ()
    glGetFixedv :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLfixed -> m ()
    glGetFixedv GLenum
    v1 Ptr GLfixed
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> Ptr GLfixed -> IO ())
    -> GLenum -> Ptr GLfixed -> IO ()
    dyn102 FunPtr (GLenum -> Ptr GLfixed -> IO ())
    ptr_glGetFixedv GLenum
    v1 Ptr GLfixed
    v2

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

    -- glGetFixedvOES --------------------------------------------------------------

    glGetFixedvOES
      :: MonadIO m
      => GLenum -- ^ @pname@ of type [GetPName](Graphics-GL-Groups.html#GetPName).
      -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
      -> m ()
    glGetFixedvOES :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLfixed -> m ()
    glGetFixedvOES GLenum
    v1 Ptr GLfixed
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> Ptr GLfixed -> IO ())
    -> GLenum -> Ptr GLfixed -> IO ()
    dyn102 FunPtr (GLenum -> Ptr GLfixed -> IO ())
    ptr_glGetFixedvOES GLenum
    v1 Ptr GLfixed
    v2

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

    -- glGetFloatIndexedvEXT -------------------------------------------------------

    -- | This command is an alias for 'glGetFloati_v'.
    glGetFloatIndexedvEXT
      :: MonadIO m
      => GLenum -- ^ @target@.
      -> GLuint -- ^ @index@.
      -> Ptr GLfloat -- ^ @data@ pointing to @COMPSIZE(target)@ elements of type @GLfloat@.
      -> m ()
    glGetFloatIndexedvEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLfloat -> m ()
    glGetFloatIndexedvEXT 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_glGetFloatIndexedvEXT GLenum
    v1 GLenum
    v2 Ptr GLfloat
    v3

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

    -- glGetFloati_v ---------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGet.xhtml OpenGL 4.x>.
    glGetFloati_v
      :: MonadIO m
      => GLenum -- ^ @target@.
      -> GLuint -- ^ @index@.
      -> Ptr GLfloat -- ^ @data@ pointing to @COMPSIZE(target)@ elements of type @GLfloat@.
      -> m ()
    glGetFloati_v :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLfloat -> m ()
    glGetFloati_v 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_glGetFloati_v GLenum
    v1 GLenum
    v2 Ptr GLfloat
    v3

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

    -- glGetFloati_vEXT ------------------------------------------------------------

    -- | This command is an alias for 'glGetFloati_v'.
    glGetFloati_vEXT
      :: MonadIO m
      => GLenum -- ^ @pname@.
      -> GLuint -- ^ @index@.
      -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
      -> m ()
    glGetFloati_vEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLfloat -> m ()
    glGetFloati_vEXT 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_glGetFloati_vEXT GLenum
    v1 GLenum
    v2 Ptr GLfloat
    v3

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

    -- glGetFloati_vNV -------------------------------------------------------------

    -- | This command is an alias for 'glGetFloati_v'.
    glGetFloati_vNV
      :: MonadIO m
      => GLenum -- ^ @target@.
      -> GLuint -- ^ @index@.
      -> Ptr GLfloat -- ^ @data@ pointing to @COMPSIZE(target)@ elements of type @GLfloat@.
      -> m ()
    glGetFloati_vNV :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLfloat -> m ()
    glGetFloati_vNV 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_glGetFloati_vNV GLenum
    v1 GLenum
    v2 Ptr GLfloat
    v3

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

    -- glGetFloati_vOES ------------------------------------------------------------

    -- | This command is an alias for 'glGetFloati_v'.
    glGetFloati_vOES
      :: MonadIO m
      => GLenum -- ^ @target@.
      -> GLuint -- ^ @index@.
      -> Ptr GLfloat -- ^ @data@ pointing to @COMPSIZE(target)@ elements of type @GLfloat@.
      -> m ()
    glGetFloati_vOES :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLfloat -> m ()
    glGetFloati_vOES 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_glGetFloati_vOES GLenum
    v1 GLenum
    v2 Ptr GLfloat
    v3

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

    -- glGetFloatv -----------------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGet.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGet.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGet.xhtml OpenGL 4.x>.
    glGetFloatv
      :: MonadIO m
      => GLenum -- ^ @pname@ of type [GetPName](Graphics-GL-Groups.html#GetPName).
      -> Ptr GLfloat -- ^ @data@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
      -> m ()
    glGetFloatv :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLfloat -> m ()
    glGetFloatv 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_glGetFloatv GLenum
    v1 Ptr GLfloat
    v2

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

    -- glGetFogFuncSGIS ------------------------------------------------------------

    glGetFogFuncSGIS
      :: MonadIO m
      => Ptr GLfloat -- ^ @points@ pointing to @COMPSIZE()@ elements of type @GLfloat@.
      -> m ()
    glGetFogFuncSGIS :: forall (m :: * -> *). MonadIO m => Ptr GLfloat -> m ()
    glGetFogFuncSGIS Ptr GLfloat
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> IO ()
    dyn44 FunPtr (Ptr GLfloat -> IO ())
    ptr_glGetFogFuncSGIS Ptr GLfloat
    v1

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

    -- glGetFragDataIndex ----------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGetFragDataIndex.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetFragDataIndex.xhtml OpenGL 4.x>.
    glGetFragDataIndex
      :: MonadIO m
      => GLuint -- ^ @program@.
      -> Ptr GLchar -- ^ @name@.
      -> m GLint
    glGetFragDataIndex :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLchar -> m GLint
    glGetFragDataIndex GLenum
    v1 Ptr GLchar
    v2 = IO GLint -> m GLint
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO GLint -> m GLint) -> IO GLint -> m GLint
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> Ptr GLchar -> IO GLint)
    -> GLenum -> Ptr GLchar -> IO GLint
    dyn324 FunPtr (GLenum -> Ptr GLchar -> IO GLint)
    ptr_glGetFragDataIndex GLenum
    v1 Ptr GLchar
    v2

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

    -- glGetFragDataIndexEXT -------------------------------------------------------

    -- | This command is an alias for 'glGetFragDataIndex'.
    glGetFragDataIndexEXT
      :: MonadIO m
      => GLuint -- ^ @program@.
      -> Ptr GLchar -- ^ @name@.
      -> m GLint
    glGetFragDataIndexEXT :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLchar -> m GLint
    glGetFragDataIndexEXT GLenum
    v1 Ptr GLchar
    v2 = IO GLint -> m GLint
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO GLint -> m GLint) -> IO GLint -> m GLint
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> Ptr GLchar -> IO GLint)
    -> GLenum -> Ptr GLchar -> IO GLint
    dyn324 FunPtr (GLenum -> Ptr GLchar -> IO GLint)
    ptr_glGetFragDataIndexEXT GLenum
    v1 Ptr GLchar
    v2

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

    -- glGetFragDataLocation -------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGetFragDataLocation.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetFragDataLocation.xhtml OpenGL 4.x>.
    glGetFragDataLocation
      :: MonadIO m
      => GLuint -- ^ @program@.
      -> Ptr GLchar -- ^ @name@ pointing to @COMPSIZE(name)@ elements of type @GLchar@.
      -> m GLint
    glGetFragDataLocation :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLchar -> m GLint
    glGetFragDataLocation GLenum
    v1 Ptr GLchar
    v2 = IO GLint -> m GLint
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO GLint -> m GLint) -> IO GLint -> m GLint
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> Ptr GLchar -> IO GLint)
    -> GLenum -> Ptr GLchar -> IO GLint
    dyn324 FunPtr (GLenum -> Ptr GLchar -> IO GLint)
    ptr_glGetFragDataLocation GLenum
    v1 Ptr GLchar
    v2

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

    -- glGetFragDataLocationEXT ----------------------------------------------------

    -- | This command is an alias for 'glGetFragDataLocation'.
    glGetFragDataLocationEXT
      :: MonadIO m
      => GLuint -- ^ @program@.
      -> Ptr GLchar -- ^ @name@ pointing to @COMPSIZE(name)@ elements of type @GLchar@.
      -> m GLint
    glGetFragDataLocationEXT :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLchar -> m GLint
    glGetFragDataLocationEXT GLenum
    v1 Ptr GLchar
    v2 = IO GLint -> m GLint
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO GLint -> m GLint) -> IO GLint -> m GLint
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> Ptr GLchar -> IO GLint)
    -> GLenum -> Ptr GLchar -> IO GLint
    dyn324 FunPtr (GLenum -> Ptr GLchar -> IO GLint)
    ptr_glGetFragDataLocationEXT GLenum
    v1 Ptr GLchar
    v2

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

    -- glGetFragmentLightfvSGIX ----------------------------------------------------

    glGetFragmentLightfvSGIX
      :: MonadIO m
      => GLenum -- ^ @light@ of type [FragmentLightNameSGIX](Graphics-GL-Groups.html#FragmentLightNameSGIX).
      -> GLenum -- ^ @pname@ of type [FragmentLightParameterSGIX](Graphics-GL-Groups.html#FragmentLightParameterSGIX).
      -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
      -> m ()
    glGetFragmentLightfvSGIX :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLfloat -> m ()
    glGetFragmentLightfvSGIX 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_glGetFragmentLightfvSGIX GLenum
    v1 GLenum
    v2 Ptr GLfloat
    v3

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

    -- glGetFragmentLightivSGIX ----------------------------------------------------

    glGetFragmentLightivSGIX
      :: MonadIO m
      => GLenum -- ^ @light@ of type [FragmentLightNameSGIX](Graphics-GL-Groups.html#FragmentLightNameSGIX).
      -> GLenum -- ^ @pname@ of type [FragmentLightParameterSGIX](Graphics-GL-Groups.html#FragmentLightParameterSGIX).
      -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
      -> m ()
    glGetFragmentLightivSGIX :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLint -> m ()
    glGetFragmentLightivSGIX 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_glGetFragmentLightivSGIX GLenum
    v1 GLenum
    v2 Ptr GLint
    v3

    {-# NOINLINE ptr_glGetFragmentLightivSGIX #-}
    ptr_glGetFragmentLightivSGIX :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glGetFragmentLightivSGIX :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glGetFragmentLightivSGIX = 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
    "glGetFragmentLightivSGIX"

    -- glGetFragmentMaterialfvSGIX -------------------------------------------------

    glGetFragmentMaterialfvSGIX
      :: MonadIO m
      => GLenum -- ^ @face@ of type [MaterialFace](Graphics-GL-Groups.html#MaterialFace).
      -> GLenum -- ^ @pname@ of type [MaterialParameter](Graphics-GL-Groups.html#MaterialParameter).
      -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
      -> m ()
    glGetFragmentMaterialfvSGIX :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLfloat -> m ()
    glGetFragmentMaterialfvSGIX 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_glGetFragmentMaterialfvSGIX GLenum
    v1 GLenum
    v2 Ptr GLfloat
    v3

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

    -- glGetFragmentMaterialivSGIX -------------------------------------------------

    glGetFragmentMaterialivSGIX
      :: MonadIO m
      => GLenum -- ^ @face@ of type [MaterialFace](Graphics-GL-Groups.html#MaterialFace).
      -> GLenum -- ^ @pname@ of type [MaterialParameter](Graphics-GL-Groups.html#MaterialParameter).
      -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
      -> m ()
    glGetFragmentMaterialivSGIX :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLint -> m ()
    glGetFragmentMaterialivSGIX 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_glGetFragmentMaterialivSGIX GLenum
    v1 GLenum
    v2 Ptr GLint
    v3

    {-# NOINLINE ptr_glGetFragmentMaterialivSGIX #-}
    ptr_glGetFragmentMaterialivSGIX :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glGetFragmentMaterialivSGIX :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glGetFragmentMaterialivSGIX = 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
    "glGetFragmentMaterialivSGIX"

    -- glGetFramebufferAttachmentParameteriv ---------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGetFramebufferAttachmentParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetFramebufferAttachmentParameter.xhtml OpenGL 4.x>.
    glGetFramebufferAttachmentParameteriv
      :: MonadIO m
      => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
      -> 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 ()
    glGetFramebufferAttachmentParameteriv :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()
    glGetFramebufferAttachmentParameteriv 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_glGetFramebufferAttachmentParameteriv GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLint
    v4

    {-# NOINLINE ptr_glGetFramebufferAttachmentParameteriv #-}
    ptr_glGetFramebufferAttachmentParameteriv :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glGetFramebufferAttachmentParameteriv :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glGetFramebufferAttachmentParameteriv = 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
    "glGetFramebufferAttachmentParameteriv"

    -- glGetFramebufferAttachmentParameterivEXT ------------------------------------

    -- | This command is an alias for 'glGetFramebufferAttachmentParameteriv'.
    glGetFramebufferAttachmentParameterivEXT
      :: MonadIO m
      => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
      -> 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 ()
    glGetFramebufferAttachmentParameterivEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()
    glGetFramebufferAttachmentParameterivEXT 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_glGetFramebufferAttachmentParameterivEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLint
    v4

    {-# NOINLINE ptr_glGetFramebufferAttachmentParameterivEXT #-}
    ptr_glGetFramebufferAttachmentParameterivEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glGetFramebufferAttachmentParameterivEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glGetFramebufferAttachmentParameterivEXT = 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
    "glGetFramebufferAttachmentParameterivEXT"

    -- glGetFramebufferAttachmentParameterivOES ------------------------------------

    glGetFramebufferAttachmentParameterivOES
      :: MonadIO m
      => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
      -> 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 ()
    glGetFramebufferAttachmentParameterivOES :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()
    glGetFramebufferAttachmentParameterivOES 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_glGetFramebufferAttachmentParameterivOES GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLint
    v4

    {-# NOINLINE ptr_glGetFramebufferAttachmentParameterivOES #-}
    ptr_glGetFramebufferAttachmentParameterivOES :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glGetFramebufferAttachmentParameterivOES :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glGetFramebufferAttachmentParameterivOES = 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
    "glGetFramebufferAttachmentParameterivOES"

    -- glGetFramebufferParameterfvAMD ----------------------------------------------

    glGetFramebufferParameterfvAMD
      :: MonadIO m
      => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
      -> GLenum -- ^ @pname@ of type [FramebufferAttachmentParameterName](Graphics-GL-Groups.html#FramebufferAttachmentParameterName).
      -> GLuint -- ^ @numsamples@.
      -> GLuint -- ^ @pixelindex@.
      -> GLsizei -- ^ @size@.
      -> Ptr GLfloat -- ^ @values@.
      -> m ()
    glGetFramebufferParameterfvAMD :: forall (m :: * -> *).
    MonadIO m =>
    GLenum
    -> GLenum -> GLenum -> GLenum -> GLint -> Ptr GLfloat -> m ()
    glGetFramebufferParameterfvAMD 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 ()
    dyn349 FunPtr
      (GLenum
       -> GLenum -> GLenum -> GLenum -> GLint -> Ptr GLfloat -> IO ())
    ptr_glGetFramebufferParameterfvAMD GLenum
    v1 GLenum
    v2 GLenum
    v3 GLenum
    v4 GLint
    v5 Ptr GLfloat
    v6

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

    -- glGetFramebufferParameteriv -------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetFramebufferParameter.xhtml OpenGL 4.x>.
    glGetFramebufferParameteriv
      :: MonadIO m
      => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
      -> GLenum -- ^ @pname@ of type [FramebufferAttachmentParameterName](Graphics-GL-Groups.html#FramebufferAttachmentParameterName).
      -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
      -> m ()
    glGetFramebufferParameteriv :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLint -> m ()
    glGetFramebufferParameteriv 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_glGetFramebufferParameteriv GLenum
    v1 GLenum
    v2 Ptr GLint
    v3

    {-# NOINLINE ptr_glGetFramebufferParameteriv #-}
    ptr_glGetFramebufferParameteriv :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glGetFramebufferParameteriv :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glGetFramebufferParameteriv = 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
    "glGetFramebufferParameteriv"

    -- glGetFramebufferParameterivEXT ----------------------------------------------

    glGetFramebufferParameterivEXT
      :: 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 ()
    glGetFramebufferParameterivEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLint -> m ()
    glGetFramebufferParameterivEXT 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_glGetFramebufferParameterivEXT GLenum
    v1 GLenum
    v2 Ptr GLint
    v3

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

    -- glGetFramebufferParameterivMESA ---------------------------------------------

    glGetFramebufferParameterivMESA
      :: MonadIO m
      => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
      -> GLenum -- ^ @pname@ of type [FramebufferAttachmentParameterName](Graphics-GL-Groups.html#FramebufferAttachmentParameterName).
      -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
      -> m ()
    glGetFramebufferParameterivMESA :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLint -> m ()
    glGetFramebufferParameterivMESA 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_glGetFramebufferParameterivMESA GLenum
    v1 GLenum
    v2 Ptr GLint
    v3

    {-# NOINLINE ptr_glGetFramebufferParameterivMESA #-}
    ptr_glGetFramebufferParameterivMESA :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glGetFramebufferParameterivMESA :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glGetFramebufferParameterivMESA = 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
    "glGetFramebufferParameterivMESA"

    -- glGetFramebufferPixelLocalStorageSizeEXT ------------------------------------

    glGetFramebufferPixelLocalStorageSizeEXT
      :: MonadIO m
      => GLuint -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
      -> m GLsizei
    glGetFramebufferPixelLocalStorageSizeEXT :: forall (m :: * -> *). MonadIO m => GLenum -> m GLint
    glGetFramebufferPixelLocalStorageSizeEXT GLenum
    v1 = IO GLint -> m GLint
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO GLint -> m GLint) -> IO GLint -> m GLint
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> IO GLint) -> GLenum -> IO GLint
    dyn350 FunPtr (GLenum -> IO GLint)
    ptr_glGetFramebufferPixelLocalStorageSizeEXT GLenum
    v1

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

    -- glGetGraphicsResetStatus ----------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetGraphicsResetStatus.xhtml OpenGL 4.x>.
    glGetGraphicsResetStatus
      :: MonadIO m
      => m GLenum -- ^ of type [GraphicsResetStatus](Graphics-GL-Groups.html#GraphicsResetStatus).
    glGetGraphicsResetStatus :: forall (m :: * -> *). MonadIO m => m GLenum
    glGetGraphicsResetStatus = IO GLenum -> m GLenum
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO GLenum -> m GLenum) -> IO GLenum -> m GLenum
    forall a b. (a -> b) -> a -> b
    $ FunPtr (IO GLenum) -> IO GLenum
    dyn347 FunPtr (IO GLenum)
    ptr_glGetGraphicsResetStatus

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

    -- glGetGraphicsResetStatusARB -------------------------------------------------

    glGetGraphicsResetStatusARB
      :: MonadIO m
      => m GLenum -- ^ of type [GraphicsResetStatus](Graphics-GL-Groups.html#GraphicsResetStatus).
    glGetGraphicsResetStatusARB :: forall (m :: * -> *). MonadIO m => m GLenum
    glGetGraphicsResetStatusARB = IO GLenum -> m GLenum
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO GLenum -> m GLenum) -> IO GLenum -> m GLenum
    forall a b. (a -> b) -> a -> b
    $ FunPtr (IO GLenum) -> IO GLenum
    dyn347 FunPtr (IO GLenum)
    ptr_glGetGraphicsResetStatusARB

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

    -- glGetGraphicsResetStatusEXT -------------------------------------------------

    -- | This command is an alias for 'glGetGraphicsResetStatus'.
    glGetGraphicsResetStatusEXT
      :: MonadIO m
      => m GLenum -- ^ of type [GraphicsResetStatus](Graphics-GL-Groups.html#GraphicsResetStatus).
    glGetGraphicsResetStatusEXT :: forall (m :: * -> *). MonadIO m => m GLenum
    glGetGraphicsResetStatusEXT = IO GLenum -> m GLenum
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO GLenum -> m GLenum) -> IO GLenum -> m GLenum
    forall a b. (a -> b) -> a -> b
    $ FunPtr (IO GLenum) -> IO GLenum
    dyn347 FunPtr (IO GLenum)
    ptr_glGetGraphicsResetStatusEXT

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

    -- glGetGraphicsResetStatusKHR -------------------------------------------------

    -- | This command is an alias for 'glGetGraphicsResetStatus'.
    glGetGraphicsResetStatusKHR
      :: MonadIO m
      => m GLenum -- ^ of type [GraphicsResetStatus](Graphics-GL-Groups.html#GraphicsResetStatus).
    glGetGraphicsResetStatusKHR :: forall (m :: * -> *). MonadIO m => m GLenum
    glGetGraphicsResetStatusKHR = IO GLenum -> m GLenum
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO GLenum -> m GLenum) -> IO GLenum -> m GLenum
    forall a b. (a -> b) -> a -> b
    $ FunPtr (IO GLenum) -> IO GLenum
    dyn347 FunPtr (IO GLenum)
    ptr_glGetGraphicsResetStatusKHR

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

    -- glGetHandleARB --------------------------------------------------------------

    glGetHandleARB
      :: MonadIO m
      => GLenum -- ^ @pname@.
      -> m GLhandleARB -- ^ of type @handleARB@.
    glGetHandleARB :: forall (m :: * -> *). MonadIO m => GLenum -> m GLenum
    glGetHandleARB GLenum
    v1 = IO GLenum -> m GLenum
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO GLenum -> m GLenum) -> IO GLenum -> m GLenum
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> IO GLenum) -> GLenum -> IO GLenum
    dyn205 FunPtr (GLenum -> IO GLenum)
    ptr_glGetHandleARB GLenum
    v1

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

    -- glGetHistogram --------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetHistogram.xml OpenGL 2.x>.
    glGetHistogram
      :: MonadIO m
      => GLenum -- ^ @target@ of type [HistogramTargetEXT](Graphics-GL-Groups.html#HistogramTargetEXT).
      -> 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 ()
    glGetHistogram :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum -> GLboolean -> GLenum -> GLenum -> Ptr a -> m ()
    glGetHistogram 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_glGetHistogram GLenum
    v1 GLboolean
    v2 GLenum
    v3 GLenum
    v4 Ptr a
    v5

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

    -- glGetHistogramEXT -----------------------------------------------------------

    glGetHistogramEXT
      :: MonadIO m
      => GLenum -- ^ @target@ of type [HistogramTargetEXT](Graphics-GL-Groups.html#HistogramTargetEXT).
      -> 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 ()
    glGetHistogramEXT :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum -> GLboolean -> GLenum -> GLenum -> Ptr a -> m ()
    glGetHistogramEXT 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_glGetHistogramEXT GLenum
    v1 GLboolean
    v2 GLenum
    v3 GLenum
    v4 Ptr a
    v5

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

    -- glGetHistogramParameterfv ---------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetHistogramParameter.xml OpenGL 2.x>.
    glGetHistogramParameterfv
      :: MonadIO m
      => GLenum -- ^ @target@ of type [HistogramTargetEXT](Graphics-GL-Groups.html#HistogramTargetEXT).
      -> GLenum -- ^ @pname@ of type [GetHistogramParameterPNameEXT](Graphics-GL-Groups.html#GetHistogramParameterPNameEXT).
      -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
      -> m ()
    glGetHistogramParameterfv :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLfloat -> m ()
    glGetHistogramParameterfv 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_glGetHistogramParameterfv GLenum
    v1 GLenum
    v2 Ptr GLfloat
    v3

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

    -- glGetHistogramParameterfvEXT ------------------------------------------------

    glGetHistogramParameterfvEXT
      :: MonadIO m
      => GLenum -- ^ @target@ of type [HistogramTargetEXT](Graphics-GL-Groups.html#HistogramTargetEXT).
      -> GLenum -- ^ @pname@ of type [GetHistogramParameterPNameEXT](Graphics-GL-Groups.html#GetHistogramParameterPNameEXT).
      -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
      -> m ()
    glGetHistogramParameterfvEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLfloat -> m ()
    glGetHistogramParameterfvEXT 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_glGetHistogramParameterfvEXT GLenum
    v1 GLenum
    v2 Ptr GLfloat
    v3

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

    -- glGetHistogramParameteriv ---------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetHistogramParameter.xml OpenGL 2.x>.
    glGetHistogramParameteriv
      :: MonadIO m
      => GLenum -- ^ @target@ of type [HistogramTargetEXT](Graphics-GL-Groups.html#HistogramTargetEXT).
      -> GLenum -- ^ @pname@ of type [GetHistogramParameterPNameEXT](Graphics-GL-Groups.html#GetHistogramParameterPNameEXT).
      -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
      -> m ()
    glGetHistogramParameteriv :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLint -> m ()
    glGetHistogramParameteriv 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_glGetHistogramParameteriv GLenum
    v1 GLenum
    v2 Ptr GLint
    v3

    {-# NOINLINE ptr_glGetHistogramParameteriv #-}
    ptr_glGetHistogramParameteriv :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glGetHistogramParameteriv :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glGetHistogramParameteriv = 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
    "glGetHistogramParameteriv"

    -- glGetHistogramParameterivEXT ------------------------------------------------

    glGetHistogramParameterivEXT
      :: MonadIO m
      => GLenum -- ^ @target@ of type [HistogramTargetEXT](Graphics-GL-Groups.html#HistogramTargetEXT).
      -> GLenum -- ^ @pname@ of type [GetHistogramParameterPNameEXT](Graphics-GL-Groups.html#GetHistogramParameterPNameEXT).
      -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
      -> m ()
    glGetHistogramParameterivEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLint -> m ()
    glGetHistogramParameterivEXT 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_glGetHistogramParameterivEXT GLenum
    v1 GLenum
    v2 Ptr GLint
    v3

    {-# NOINLINE ptr_glGetHistogramParameterivEXT #-}
    ptr_glGetHistogramParameterivEXT :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glGetHistogramParameterivEXT :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glGetHistogramParameterivEXT = 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
    "glGetHistogramParameterivEXT"

    -- glGetHistogramParameterxvOES ------------------------------------------------

    glGetHistogramParameterxvOES
      :: MonadIO m
      => GLenum -- ^ @target@ of type [HistogramTargetEXT](Graphics-GL-Groups.html#HistogramTargetEXT).
      -> GLenum -- ^ @pname@ of type [GetHistogramParameterPNameEXT](Graphics-GL-Groups.html#GetHistogramParameterPNameEXT).
      -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
      -> m ()
    glGetHistogramParameterxvOES :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLfixed -> m ()
    glGetHistogramParameterxvOES 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_glGetHistogramParameterxvOES GLenum
    v1 GLenum
    v2 Ptr GLfixed
    v3

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

    -- glGetImageHandleARB ---------------------------------------------------------

    glGetImageHandleARB
      :: MonadIO m
      => GLuint -- ^ @texture@.
      -> GLint -- ^ @level@.
      -> GLboolean -- ^ @layered@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
      -> GLint -- ^ @layer@.
      -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
      -> m GLuint64
    glGetImageHandleARB :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLint -> GLboolean -> GLint -> GLenum -> m GLuint64
    glGetImageHandleARB GLenum
    v1 GLint
    v2 GLboolean
    v3 GLint
    v4 GLenum
    v5 = IO GLuint64 -> m GLuint64
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO GLuint64 -> m GLuint64) -> IO GLuint64 -> m GLuint64
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLenum -> GLint -> GLboolean -> GLint -> GLenum -> IO GLuint64)
    -> GLenum -> GLint -> GLboolean -> GLint -> GLenum -> IO GLuint64
    dyn352 FunPtr
      (GLenum -> GLint -> GLboolean -> GLint -> GLenum -> IO GLuint64)
    ptr_glGetImageHandleARB GLenum
    v1 GLint
    v2 GLboolean
    v3 GLint
    v4 GLenum
    v5

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

    -- glGetImageHandleNV ----------------------------------------------------------

    glGetImageHandleNV
      :: MonadIO m
      => GLuint -- ^ @texture@.
      -> GLint -- ^ @level@.
      -> GLboolean -- ^ @layered@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
      -> GLint -- ^ @layer@.
      -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
      -> m GLuint64
    glGetImageHandleNV :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLint -> GLboolean -> GLint -> GLenum -> m GLuint64
    glGetImageHandleNV GLenum
    v1 GLint
    v2 GLboolean
    v3 GLint
    v4 GLenum
    v5 = IO GLuint64 -> m GLuint64
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO GLuint64 -> m GLuint64) -> IO GLuint64 -> m GLuint64
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLenum -> GLint -> GLboolean -> GLint -> GLenum -> IO GLuint64)
    -> GLenum -> GLint -> GLboolean -> GLint -> GLenum -> IO GLuint64
    dyn352 FunPtr
      (GLenum -> GLint -> GLboolean -> GLint -> GLenum -> IO GLuint64)
    ptr_glGetImageHandleNV GLenum
    v1 GLint
    v2 GLboolean
    v3 GLint
    v4 GLenum
    v5

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

    -- glGetImageTransformParameterfvHP --------------------------------------------

    glGetImageTransformParameterfvHP
      :: MonadIO m
      => GLenum -- ^ @target@ of type [ImageTransformTargetHP](Graphics-GL-Groups.html#ImageTransformTargetHP).
      -> GLenum -- ^ @pname@ of type [ImageTransformPNameHP](Graphics-GL-Groups.html#ImageTransformPNameHP).
      -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
      -> m ()
    glGetImageTransformParameterfvHP :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLfloat -> m ()
    glGetImageTransformParameterfvHP 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_glGetImageTransformParameterfvHP GLenum
    v1 GLenum
    v2 Ptr GLfloat
    v3

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

    -- glGetImageTransformParameterivHP --------------------------------------------

    glGetImageTransformParameterivHP
      :: MonadIO m
      => GLenum -- ^ @target@ of type [ImageTransformTargetHP](Graphics-GL-Groups.html#ImageTransformTargetHP).
      -> GLenum -- ^ @pname@ of type [ImageTransformPNameHP](Graphics-GL-Groups.html#ImageTransformPNameHP).
      -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
      -> m ()
    glGetImageTransformParameterivHP :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLint -> m ()
    glGetImageTransformParameterivHP 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_glGetImageTransformParameterivHP GLenum
    v1 GLenum
    v2 Ptr GLint
    v3

    {-# NOINLINE ptr_glGetImageTransformParameterivHP #-}
    ptr_glGetImageTransformParameterivHP :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glGetImageTransformParameterivHP :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glGetImageTransformParameterivHP = 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
    "glGetImageTransformParameterivHP"

    -- glGetInfoLogARB -------------------------------------------------------------

    glGetInfoLogARB
      :: MonadIO m
      => GLhandleARB -- ^ @obj@ of type @handleARB@.
      -> GLsizei -- ^ @maxLength@.
      -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
      -> Ptr GLcharARB -- ^ @infoLog@ pointing to @maxLength@ elements of type @GLcharARB@.
      -> m ()
    glGetInfoLogARB :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLint -> Ptr GLint -> Ptr GLchar -> m ()
    glGetInfoLogARB 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 ()
    dyn353 FunPtr (GLenum -> GLint -> Ptr GLint -> Ptr GLchar -> IO ())
    ptr_glGetInfoLogARB GLenum
    v1 GLint
    v2 Ptr GLint
    v3 Ptr GLchar
    v4

    {-# NOINLINE ptr_glGetInfoLogARB #-}
    ptr_glGetInfoLogARB :: FunPtr (GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLcharARB -> IO ())
    ptr_glGetInfoLogARB :: FunPtr (GLenum -> GLint -> Ptr GLint -> Ptr GLchar -> IO ())
    ptr_glGetInfoLogARB = 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
    "glGetInfoLogARB"

    -- glGetInstrumentsSGIX --------------------------------------------------------

    glGetInstrumentsSGIX
      :: MonadIO m
      => m GLint
    glGetInstrumentsSGIX :: forall (m :: * -> *). MonadIO m => m GLint
    glGetInstrumentsSGIX = IO GLint -> m GLint
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO GLint -> m GLint) -> IO GLint -> m GLint
    forall a b. (a -> b) -> a -> b
    $ FunPtr (IO GLint) -> IO GLint
    dyn354 FunPtr (IO GLint)
    ptr_glGetInstrumentsSGIX

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

    -- glGetInteger64i_v -----------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGet.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGet.xhtml OpenGL 4.x>.
    glGetInteger64i_v
      :: MonadIO m
      => GLenum -- ^ @target@.
      -> GLuint -- ^ @index@.
      -> Ptr GLint64 -- ^ @data@ pointing to @COMPSIZE(target)@ elements of type @GLint64@.
      -> m ()
    glGetInteger64i_v :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLint64 -> m ()
    glGetInteger64i_v 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 ()
    dyn355 FunPtr (GLenum -> GLenum -> Ptr GLint64 -> IO ())
    ptr_glGetInteger64i_v GLenum
    v1 GLenum
    v2 Ptr GLint64
    v3

    {-# NOINLINE ptr_glGetInteger64i_v #-}
    ptr_glGetInteger64i_v :: FunPtr (GLenum -> GLuint -> Ptr GLint64 -> IO ())
    ptr_glGetInteger64i_v :: FunPtr (GLenum -> GLenum -> Ptr GLint64 -> IO ())
    ptr_glGetInteger64i_v = 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
    "glGetInteger64i_v"

    -- glGetInteger64v -------------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGet.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGet.xhtml OpenGL 4.x>.
    glGetInteger64v
      :: MonadIO m
      => GLenum -- ^ @pname@ of type [GetPName](Graphics-GL-Groups.html#GetPName).
      -> Ptr GLint64 -- ^ @data@ pointing to @COMPSIZE(pname)@ elements of type @GLint64@.
      -> m ()
    glGetInteger64v :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLint64 -> m ()
    glGetInteger64v GLenum
    v1 Ptr GLint64
    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 GLint64 -> IO ())
    -> GLenum -> Ptr GLint64 -> IO ()
    dyn356 FunPtr (GLenum -> Ptr GLint64 -> IO ())
    ptr_glGetInteger64v GLenum
    v1 Ptr GLint64
    v2

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

    -- glGetInteger64vAPPLE --------------------------------------------------------

    -- | This command is an alias for 'glGetInteger64v'.
    glGetInteger64vAPPLE
      :: MonadIO m
      => GLenum -- ^ @pname@ of type [GetPName](Graphics-GL-Groups.html#GetPName).
      -> Ptr GLint64 -- ^ @params@.
      -> m ()
    glGetInteger64vAPPLE :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLint64 -> m ()
    glGetInteger64vAPPLE GLenum
    v1 Ptr GLint64
    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 GLint64 -> IO ())
    -> GLenum -> Ptr GLint64 -> IO ()
    dyn356 FunPtr (GLenum -> Ptr GLint64 -> IO ())
    ptr_glGetInteger64vAPPLE GLenum
    v1 Ptr GLint64
    v2

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

    -- glGetInteger64vEXT ----------------------------------------------------------

    -- | This command is an alias for 'glGetInteger64v'.
    glGetInteger64vEXT
      :: MonadIO m
      => GLenum -- ^ @pname@ of type [GetPName](Graphics-GL-Groups.html#GetPName).
      -> Ptr GLint64 -- ^ @data@ pointing to @COMPSIZE(pname)@ elements of type @GLint64@.
      -> m ()
    glGetInteger64vEXT :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLint64 -> m ()
    glGetInteger64vEXT GLenum
    v1 Ptr GLint64
    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 GLint64 -> IO ())
    -> GLenum -> Ptr GLint64 -> IO ()
    dyn356 FunPtr (GLenum -> Ptr GLint64 -> IO ())
    ptr_glGetInteger64vEXT GLenum
    v1 Ptr GLint64
    v2

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

    -- glGetIntegerIndexedvEXT -----------------------------------------------------

    -- | This command is an alias for 'glGetIntegeri_v'.
    glGetIntegerIndexedvEXT
      :: MonadIO m
      => GLenum -- ^ @target@.
      -> GLuint -- ^ @index@.
      -> Ptr GLint -- ^ @data@ pointing to @COMPSIZE(target)@ elements of type @GLint@.
      -> m ()
    glGetIntegerIndexedvEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLint -> m ()
    glGetIntegerIndexedvEXT 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 ()
    dyn357 FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glGetIntegerIndexedvEXT GLenum
    v1 GLenum
    v2 Ptr GLint
    v3

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

    -- glGetIntegeri_v -------------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGet.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGet.xhtml OpenGL 4.x>.
    glGetIntegeri_v
      :: MonadIO m
      => GLenum -- ^ @target@.
      -> GLuint -- ^ @index@.
      -> Ptr GLint -- ^ @data@ pointing to @COMPSIZE(target)@ elements of type @GLint@.
      -> m ()
    glGetIntegeri_v :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLint -> m ()
    glGetIntegeri_v 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 ()
    dyn357 FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glGetIntegeri_v GLenum
    v1 GLenum
    v2 Ptr GLint
    v3

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

    -- glGetIntegeri_vEXT ----------------------------------------------------------

    glGetIntegeri_vEXT
      :: MonadIO m
      => GLenum -- ^ @target@.
      -> GLuint -- ^ @index@.
      -> Ptr GLint -- ^ @data@.
      -> m ()
    glGetIntegeri_vEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLint -> m ()
    glGetIntegeri_vEXT 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 ()
    dyn357 FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glGetIntegeri_vEXT GLenum
    v1 GLenum
    v2 Ptr GLint
    v3

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

    -- glGetIntegerui64i_vNV -------------------------------------------------------

    glGetIntegerui64i_vNV
      :: MonadIO m
      => GLenum -- ^ @value@.
      -> GLuint -- ^ @index@.
      -> Ptr GLuint64EXT -- ^ @result@ pointing to @COMPSIZE(value)@ elements of type @GLuint64EXT@.
      -> m ()
    glGetIntegerui64i_vNV :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLuint64 -> m ()
    glGetIntegerui64i_vNV GLenum
    v1 GLenum
    v2 Ptr GLuint64
    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 GLuint64 -> IO ())
    -> GLenum -> GLenum -> Ptr GLuint64 -> IO ()
    dyn358 FunPtr (GLenum -> GLenum -> Ptr GLuint64 -> IO ())
    ptr_glGetIntegerui64i_vNV GLenum
    v1 GLenum
    v2 Ptr GLuint64
    v3

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

    -- glGetIntegerui64vNV ---------------------------------------------------------

    glGetIntegerui64vNV
      :: MonadIO m
      => GLenum -- ^ @value@.
      -> Ptr GLuint64EXT -- ^ @result@ pointing to @COMPSIZE(value)@ elements of type @GLuint64EXT@.
      -> m ()
    glGetIntegerui64vNV :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLuint64 -> m ()
    glGetIntegerui64vNV GLenum
    v1 Ptr GLuint64
    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 GLuint64 -> IO ())
    -> GLenum -> Ptr GLuint64 -> IO ()
    dyn359 FunPtr (GLenum -> Ptr GLuint64 -> IO ())
    ptr_glGetIntegerui64vNV GLenum
    v1 Ptr GLuint64
    v2

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

    -- glGetIntegerv ---------------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGet.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGet.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGet.xhtml OpenGL 4.x>.
    glGetIntegerv
      :: MonadIO m
      => GLenum -- ^ @pname@ of type [GetPName](Graphics-GL-Groups.html#GetPName).
      -> Ptr GLint -- ^ @data@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
      -> m ()
    glGetIntegerv :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLint -> m ()
    glGetIntegerv 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_glGetIntegerv GLenum
    v1 Ptr GLint
    v2

    {-# NOINLINE ptr_glGetIntegerv #-}
    ptr_glGetIntegerv :: FunPtr (GLenum -> Ptr GLint -> IO ())
    ptr_glGetIntegerv :: FunPtr (GLenum -> Ptr GLint -> IO ())
    ptr_glGetIntegerv = 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
    "glGetIntegerv"

    -- glGetInternalformatSampleivNV -----------------------------------------------

    glGetInternalformatSampleivNV
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
      -> GLsizei -- ^ @samples@.
      -> GLenum -- ^ @pname@ of type [InternalFormatPName](Graphics-GL-Groups.html#InternalFormatPName).
      -> GLsizei -- ^ @count@.
      -> Ptr GLint -- ^ @params@ pointing to @count@ elements of type @GLint@.
      -> m ()
    glGetInternalformatSampleivNV :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLint -> GLenum -> GLint -> Ptr GLint -> m ()
    glGetInternalformatSampleivNV GLenum
    v1 GLenum
    v2 GLint
    v3 GLenum
    v4 GLint
    v5 Ptr GLint
    v6 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLenum
       -> GLenum -> GLint -> GLenum -> GLint -> Ptr GLint -> IO ())
    -> GLenum
    -> GLenum
    -> GLint
    -> GLenum
    -> GLint
    -> Ptr GLint
    -> IO ()
    dyn360 FunPtr
      (GLenum
       -> GLenum -> GLint -> GLenum -> GLint -> Ptr GLint -> IO ())
    ptr_glGetInternalformatSampleivNV GLenum
    v1 GLenum
    v2 GLint
    v3 GLenum
    v4 GLint
    v5 Ptr GLint
    v6

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

    -- glGetInternalformati64v -----------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetInternalformat.xhtml OpenGL 4.x>.
    glGetInternalformati64v
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
      -> GLenum -- ^ @pname@ of type [InternalFormatPName](Graphics-GL-Groups.html#InternalFormatPName).
      -> GLsizei -- ^ @count@.
      -> Ptr GLint64 -- ^ @params@ pointing to @count@ elements of type @GLint64@.
      -> m ()
    glGetInternalformati64v :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> GLint -> Ptr GLint64 -> m ()
    glGetInternalformati64v GLenum
    v1 GLenum
    v2 GLenum
    v3 GLint
    v4 Ptr GLint64
    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 -> GLenum -> GLint -> Ptr GLint64 -> IO ())
    -> GLenum -> GLenum -> GLenum -> GLint -> Ptr GLint64 -> IO ()
    dyn361 FunPtr
      (GLenum -> GLenum -> GLenum -> GLint -> Ptr GLint64 -> IO ())
    ptr_glGetInternalformati64v GLenum
    v1 GLenum
    v2 GLenum
    v3 GLint
    v4 Ptr GLint64
    v5

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

    -- glGetInternalformativ -------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetInternalformat.xhtml OpenGL 4.x>.
    glGetInternalformativ
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
      -> GLenum -- ^ @pname@ of type [InternalFormatPName](Graphics-GL-Groups.html#InternalFormatPName).
      -> GLsizei -- ^ @count@.
      -> Ptr GLint -- ^ @params@ pointing to @count@ elements of type @GLint@.
      -> m ()
    glGetInternalformativ :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> GLint -> Ptr GLint -> m ()
    glGetInternalformativ GLenum
    v1 GLenum
    v2 GLenum
    v3 GLint
    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 -> GLenum -> GLint -> Ptr GLint -> IO ())
    -> GLenum -> GLenum -> GLenum -> GLint -> Ptr GLint -> IO ()
    dyn362 FunPtr (GLenum -> GLenum -> GLenum -> GLint -> Ptr GLint -> IO ())
    ptr_glGetInternalformativ GLenum
    v1 GLenum
    v2 GLenum
    v3 GLint
    v4 Ptr GLint
    v5

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

    -- glGetInvariantBooleanvEXT ---------------------------------------------------

    glGetInvariantBooleanvEXT
      :: MonadIO m
      => GLuint -- ^ @id@.
      -> GLenum -- ^ @value@ of type [GetVariantValueEXT](Graphics-GL-Groups.html#GetVariantValueEXT).
      -> Ptr GLboolean -- ^ @data@ pointing to @COMPSIZE(id)@ elements of type [Boolean](Graphics-GL-Groups.html#Boolean).
      -> m ()
    glGetInvariantBooleanvEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLboolean -> m ()
    glGetInvariantBooleanvEXT GLenum
    v1 GLenum
    v2 Ptr GLboolean
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> Ptr GLboolean -> IO ())
    -> GLenum -> GLenum -> Ptr GLboolean -> IO ()
    dyn363 FunPtr (GLenum -> GLenum -> Ptr GLboolean -> IO ())
    ptr_glGetInvariantBooleanvEXT GLenum
    v1 GLenum
    v2 Ptr GLboolean
    v3

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

    -- glGetInvariantFloatvEXT -----------------------------------------------------

    glGetInvariantFloatvEXT
      :: MonadIO m
      => GLuint -- ^ @id@.
      -> GLenum -- ^ @value@ of type [GetVariantValueEXT](Graphics-GL-Groups.html#GetVariantValueEXT).
      -> Ptr GLfloat -- ^ @data@ pointing to @COMPSIZE(id)@ elements of type @GLfloat@.
      -> m ()
    glGetInvariantFloatvEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLfloat -> m ()
    glGetInvariantFloatvEXT 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_glGetInvariantFloatvEXT GLenum
    v1 GLenum
    v2 Ptr GLfloat
    v3

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

    -- glGetInvariantIntegervEXT ---------------------------------------------------

    glGetInvariantIntegervEXT
      :: MonadIO m
      => GLuint -- ^ @id@.
      -> GLenum -- ^ @value@ of type [GetVariantValueEXT](Graphics-GL-Groups.html#GetVariantValueEXT).
      -> Ptr GLint -- ^ @data@ pointing to @COMPSIZE(id)@ elements of type @GLint@.
      -> m ()
    glGetInvariantIntegervEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLint -> m ()
    glGetInvariantIntegervEXT 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_glGetInvariantIntegervEXT GLenum
    v1 GLenum
    v2 Ptr GLint
    v3

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

    -- glGetLightfv ----------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetLight.xml OpenGL 2.x>.
    glGetLightfv
      :: MonadIO m
      => GLenum -- ^ @light@ of type [LightName](Graphics-GL-Groups.html#LightName).
      -> GLenum -- ^ @pname@ of type [LightParameter](Graphics-GL-Groups.html#LightParameter).
      -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
      -> m ()
    glGetLightfv :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLfloat -> m ()
    glGetLightfv 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_glGetLightfv GLenum
    v1 GLenum
    v2 Ptr GLfloat
    v3

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

    -- glGetLightiv ----------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetLight.xml OpenGL 2.x>.
    glGetLightiv
      :: MonadIO m
      => GLenum -- ^ @light@ of type [LightName](Graphics-GL-Groups.html#LightName).
      -> GLenum -- ^ @pname@ of type [LightParameter](Graphics-GL-Groups.html#LightParameter).
      -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
      -> m ()
    glGetLightiv :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLint -> m ()
    glGetLightiv 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_glGetLightiv GLenum
    v1 GLenum
    v2 Ptr GLint
    v3

    {-# NOINLINE ptr_glGetLightiv #-}
    ptr_glGetLightiv :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glGetLightiv :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glGetLightiv = 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
    "glGetLightiv"

    -- glGetLightxOES --------------------------------------------------------------

    glGetLightxOES
      :: MonadIO m
      => GLenum -- ^ @light@ of type [LightName](Graphics-GL-Groups.html#LightName).
      -> GLenum -- ^ @pname@ of type [LightParameter](Graphics-GL-Groups.html#LightParameter).
      -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
      -> m ()
    glGetLightxOES :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLfixed -> m ()
    glGetLightxOES 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_glGetLightxOES GLenum
    v1 GLenum
    v2 Ptr GLfixed
    v3

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

    -- glGetLightxv ----------------------------------------------------------------

    glGetLightxv
      :: MonadIO m
      => GLenum -- ^ @light@ of type [LightName](Graphics-GL-Groups.html#LightName).
      -> GLenum -- ^ @pname@ of type [LightParameter](Graphics-GL-Groups.html#LightParameter).
      -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
      -> m ()
    glGetLightxv :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLfixed -> m ()
    glGetLightxv 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_glGetLightxv GLenum
    v1 GLenum
    v2 Ptr GLfixed
    v3

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

    -- glGetLightxvOES -------------------------------------------------------------

    glGetLightxvOES
      :: MonadIO m
      => GLenum -- ^ @light@ of type [LightName](Graphics-GL-Groups.html#LightName).
      -> GLenum -- ^ @pname@ of type [LightParameter](Graphics-GL-Groups.html#LightParameter).
      -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
      -> m ()
    glGetLightxvOES :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLfixed -> m ()
    glGetLightxvOES 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_glGetLightxvOES GLenum
    v1 GLenum
    v2 Ptr GLfixed
    v3

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

    -- glGetListParameterfvSGIX ----------------------------------------------------

    glGetListParameterfvSGIX
      :: MonadIO m
      => GLuint -- ^ @list@ of type @List@.
      -> GLenum -- ^ @pname@ of type [ListParameterName](Graphics-GL-Groups.html#ListParameterName).
      -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
      -> m ()
    glGetListParameterfvSGIX :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLfloat -> m ()
    glGetListParameterfvSGIX 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_glGetListParameterfvSGIX GLenum
    v1 GLenum
    v2 Ptr GLfloat
    v3

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

    -- glGetListParameterivSGIX ----------------------------------------------------

    glGetListParameterivSGIX
      :: MonadIO m
      => GLuint -- ^ @list@ of type @List@.
      -> GLenum -- ^ @pname@ of type [ListParameterName](Graphics-GL-Groups.html#ListParameterName).
      -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
      -> m ()
    glGetListParameterivSGIX :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLint -> m ()
    glGetListParameterivSGIX 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_glGetListParameterivSGIX GLenum
    v1 GLenum
    v2 Ptr GLint
    v3

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

    -- glGetLocalConstantBooleanvEXT -----------------------------------------------

    glGetLocalConstantBooleanvEXT
      :: MonadIO m
      => GLuint -- ^ @id@.
      -> GLenum -- ^ @value@ of type [GetVariantValueEXT](Graphics-GL-Groups.html#GetVariantValueEXT).
      -> Ptr GLboolean -- ^ @data@ pointing to @COMPSIZE(id)@ elements of type [Boolean](Graphics-GL-Groups.html#Boolean).
      -> m ()
    glGetLocalConstantBooleanvEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLboolean -> m ()
    glGetLocalConstantBooleanvEXT GLenum
    v1 GLenum
    v2 Ptr GLboolean
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> Ptr GLboolean -> IO ())
    -> GLenum -> GLenum -> Ptr GLboolean -> IO ()
    dyn363 FunPtr (GLenum -> GLenum -> Ptr GLboolean -> IO ())
    ptr_glGetLocalConstantBooleanvEXT GLenum
    v1 GLenum
    v2 Ptr GLboolean
    v3

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

    -- glGetLocalConstantFloatvEXT -------------------------------------------------

    glGetLocalConstantFloatvEXT
      :: MonadIO m
      => GLuint -- ^ @id@.
      -> GLenum -- ^ @value@ of type [GetVariantValueEXT](Graphics-GL-Groups.html#GetVariantValueEXT).
      -> Ptr GLfloat -- ^ @data@ pointing to @COMPSIZE(id)@ elements of type @GLfloat@.
      -> m ()
    glGetLocalConstantFloatvEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLfloat -> m ()
    glGetLocalConstantFloatvEXT 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_glGetLocalConstantFloatvEXT GLenum
    v1 GLenum
    v2 Ptr GLfloat
    v3

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

    -- glGetLocalConstantIntegervEXT -----------------------------------------------

    glGetLocalConstantIntegervEXT
      :: MonadIO m
      => GLuint -- ^ @id@.
      -> GLenum -- ^ @value@ of type [GetVariantValueEXT](Graphics-GL-Groups.html#GetVariantValueEXT).
      -> Ptr GLint -- ^ @data@ pointing to @COMPSIZE(id)@ elements of type @GLint@.
      -> m ()
    glGetLocalConstantIntegervEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLint -> m ()
    glGetLocalConstantIntegervEXT 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_glGetLocalConstantIntegervEXT GLenum
    v1 GLenum
    v2 Ptr GLint
    v3

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

    -- glGetMapAttribParameterfvNV -------------------------------------------------

    glGetMapAttribParameterfvNV
      :: MonadIO m
      => GLenum -- ^ @target@ of type [EvalTargetNV](Graphics-GL-Groups.html#EvalTargetNV).
      -> GLuint -- ^ @index@.
      -> GLenum -- ^ @pname@ of type [MapAttribParameterNV](Graphics-GL-Groups.html#MapAttribParameterNV).
      -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
      -> m ()
    glGetMapAttribParameterfvNV :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> Ptr GLfloat -> m ()
    glGetMapAttribParameterfvNV 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 ()
    dyn365 FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
    ptr_glGetMapAttribParameterfvNV GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLfloat
    v4

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

    -- glGetMapAttribParameterivNV -------------------------------------------------

    glGetMapAttribParameterivNV
      :: MonadIO m
      => GLenum -- ^ @target@ of type [EvalTargetNV](Graphics-GL-Groups.html#EvalTargetNV).
      -> GLuint -- ^ @index@.
      -> GLenum -- ^ @pname@ of type [MapAttribParameterNV](Graphics-GL-Groups.html#MapAttribParameterNV).
      -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
      -> m ()
    glGetMapAttribParameterivNV :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()
    glGetMapAttribParameterivNV 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_glGetMapAttribParameterivNV GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLint
    v4

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

    -- glGetMapControlPointsNV -----------------------------------------------------

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

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

    -- glGetMapParameterfvNV -------------------------------------------------------

    glGetMapParameterfvNV
      :: MonadIO m
      => GLenum -- ^ @target@ of type [EvalTargetNV](Graphics-GL-Groups.html#EvalTargetNV).
      -> GLenum -- ^ @pname@ of type [MapParameterNV](Graphics-GL-Groups.html#MapParameterNV).
      -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(target,pname)@ elements of type @GLfloat@.
      -> m ()
    glGetMapParameterfvNV :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLfloat -> m ()
    glGetMapParameterfvNV 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_glGetMapParameterfvNV GLenum
    v1 GLenum
    v2 Ptr GLfloat
    v3

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

    -- glGetMapParameterivNV -------------------------------------------------------

    glGetMapParameterivNV
      :: MonadIO m
      => GLenum -- ^ @target@ of type [EvalTargetNV](Graphics-GL-Groups.html#EvalTargetNV).
      -> GLenum -- ^ @pname@ of type [MapParameterNV](Graphics-GL-Groups.html#MapParameterNV).
      -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(target,pname)@ elements of type @GLint@.
      -> m ()
    glGetMapParameterivNV :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLint -> m ()
    glGetMapParameterivNV 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_glGetMapParameterivNV GLenum
    v1 GLenum
    v2 Ptr GLint
    v3

    {-# NOINLINE ptr_glGetMapParameterivNV #-}
    ptr_glGetMapParameterivNV :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glGetMapParameterivNV :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glGetMapParameterivNV = 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
    "glGetMapParameterivNV"

    -- glGetMapdv ------------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetMap.xml OpenGL 2.x>.
    glGetMapdv
      :: MonadIO m
      => GLenum -- ^ @target@ of type [MapTarget](Graphics-GL-Groups.html#MapTarget).
      -> GLenum -- ^ @query@ of type [GetMapQuery](Graphics-GL-Groups.html#GetMapQuery).
      -> Ptr GLdouble -- ^ @v@ pointing to @COMPSIZE(target,query)@ elements of type @GLdouble@.
      -> m ()
    glGetMapdv :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLdouble -> m ()
    glGetMapdv GLenum
    v1 GLenum
    v2 Ptr GLdouble
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
    -> GLenum -> GLenum -> Ptr GLdouble -> IO ()
    dyn368 FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
    ptr_glGetMapdv GLenum
    v1 GLenum
    v2 Ptr GLdouble
    v3

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

    -- glGetMapfv ------------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetMap.xml OpenGL 2.x>.
    glGetMapfv
      :: MonadIO m
      => GLenum -- ^ @target@ of type [MapTarget](Graphics-GL-Groups.html#MapTarget).
      -> GLenum -- ^ @query@ of type [GetMapQuery](Graphics-GL-Groups.html#GetMapQuery).
      -> Ptr GLfloat -- ^ @v@ pointing to @COMPSIZE(target,query)@ elements of type @GLfloat@.
      -> m ()
    glGetMapfv :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLfloat -> m ()
    glGetMapfv 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_glGetMapfv GLenum
    v1 GLenum
    v2 Ptr GLfloat
    v3

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

    -- glGetMapiv ------------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetMap.xml OpenGL 2.x>.
    glGetMapiv
      :: MonadIO m
      => GLenum -- ^ @target@ of type [MapTarget](Graphics-GL-Groups.html#MapTarget).
      -> GLenum -- ^ @query@ of type [GetMapQuery](Graphics-GL-Groups.html#GetMapQuery).
      -> Ptr GLint -- ^ @v@ pointing to @COMPSIZE(target,query)@ elements of type @GLint@.
      -> m ()
    glGetMapiv :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLint -> m ()
    glGetMapiv 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_glGetMapiv GLenum
    v1 GLenum
    v2 Ptr GLint
    v3

    {-# NOINLINE ptr_glGetMapiv #-}
    ptr_glGetMapiv :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glGetMapiv :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glGetMapiv = 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
    "glGetMapiv"

    -- glGetMapxvOES ---------------------------------------------------------------

    glGetMapxvOES
      :: MonadIO m
      => GLenum -- ^ @target@ of type [MapTarget](Graphics-GL-Groups.html#MapTarget).
      -> GLenum -- ^ @query@ of type [GetMapQuery](Graphics-GL-Groups.html#GetMapQuery).
      -> Ptr GLfixed -- ^ @v@ pointing to @COMPSIZE(query)@ elements of type @GLfixed@.
      -> m ()
    glGetMapxvOES :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLfixed -> m ()
    glGetMapxvOES 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_glGetMapxvOES GLenum
    v1 GLenum
    v2 Ptr GLfixed
    v3

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

    -- glGetMaterialfv -------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetMaterial.xml OpenGL 2.x>.
    glGetMaterialfv
      :: MonadIO m
      => GLenum -- ^ @face@ of type [MaterialFace](Graphics-GL-Groups.html#MaterialFace).
      -> GLenum -- ^ @pname@ of type [MaterialParameter](Graphics-GL-Groups.html#MaterialParameter).
      -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
      -> m ()
    glGetMaterialfv :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLfloat -> m ()
    glGetMaterialfv 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_glGetMaterialfv GLenum
    v1 GLenum
    v2 Ptr GLfloat
    v3

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

    -- glGetMaterialiv -------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetMaterial.xml OpenGL 2.x>.
    glGetMaterialiv
      :: MonadIO m
      => GLenum -- ^ @face@ of type [MaterialFace](Graphics-GL-Groups.html#MaterialFace).
      -> GLenum -- ^ @pname@ of type [MaterialParameter](Graphics-GL-Groups.html#MaterialParameter).
      -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
      -> m ()
    glGetMaterialiv :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLint -> m ()
    glGetMaterialiv 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_glGetMaterialiv GLenum
    v1 GLenum
    v2 Ptr GLint
    v3

    {-# NOINLINE ptr_glGetMaterialiv #-}
    ptr_glGetMaterialiv :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glGetMaterialiv :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
    ptr_glGetMaterialiv = 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
    "glGetMaterialiv"