    {-# OPTIONS_HADDOCK hide #-}
    --------------------------------------------------------------------------------
    -- |
    -- Module      :  Graphics.GL.Functions.F14
    -- 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.F14 (
      glGetVideouivNV,
      glGetVkProcAddrNV,
      glGetnColorTable,
      glGetnColorTableARB,
      glGetnCompressedTexImage,
      glGetnCompressedTexImageARB,
      glGetnConvolutionFilter,
      glGetnConvolutionFilterARB,
      glGetnHistogram,
      glGetnHistogramARB,
      glGetnMapdv,
      glGetnMapdvARB,
      glGetnMapfv,
      glGetnMapfvARB,
      glGetnMapiv,
      glGetnMapivARB,
      glGetnMinmax,
      glGetnMinmaxARB,
      glGetnPixelMapfv,
      glGetnPixelMapfvARB,
      glGetnPixelMapuiv,
      glGetnPixelMapuivARB,
      glGetnPixelMapusv,
      glGetnPixelMapusvARB,
      glGetnPolygonStipple,
      glGetnPolygonStippleARB,
      glGetnSeparableFilter,
      glGetnSeparableFilterARB,
      glGetnTexImage,
      glGetnTexImageARB,
      glGetnUniformdv,
      glGetnUniformdvARB,
      glGetnUniformfv,
      glGetnUniformfvARB,
      glGetnUniformfvEXT,
      glGetnUniformfvKHR,
      glGetnUniformi64vARB,
      glGetnUniformiv,
      glGetnUniformivARB,
      glGetnUniformivEXT,
      glGetnUniformivKHR,
      glGetnUniformui64vARB,
      glGetnUniformuiv,
      glGetnUniformuivARB,
      glGetnUniformuivKHR,
      glGlobalAlphaFactorbSUN,
      glGlobalAlphaFactordSUN,
      glGlobalAlphaFactorfSUN,
      glGlobalAlphaFactoriSUN,
      glGlobalAlphaFactorsSUN,
      glGlobalAlphaFactorubSUN,
      glGlobalAlphaFactoruiSUN,
      glGlobalAlphaFactorusSUN,
      glHint,
      glHintPGI,
      glHistogram,
      glHistogramEXT,
      glIglooInterfaceSGIX,
      glImageTransformParameterfHP,
      glImageTransformParameterfvHP,
      glImageTransformParameteriHP,
      glImageTransformParameterivHP,
      glImportMemoryFdEXT,
      glImportMemoryWin32HandleEXT,
      glImportMemoryWin32NameEXT,
      glImportSemaphoreFdEXT,
      glImportSemaphoreWin32HandleEXT,
      glImportSemaphoreWin32NameEXT,
      glImportSyncEXT,
      glIndexFormatNV,
      glIndexFuncEXT,
      glIndexMask,
      glIndexMaterialEXT,
      glIndexPointer,
      glIndexPointerEXT,
      glIndexPointerListIBM,
      glIndexd,
      glIndexdv,
      glIndexf,
      glIndexfv,
      glIndexi,
      glIndexiv,
      glIndexs,
      glIndexsv,
      glIndexub,
      glIndexubv,
      glIndexxOES,
      glIndexxvOES,
      glInitNames,
      glInsertComponentEXT,
      glInsertEventMarkerEXT,
      glInstrumentsBufferSGIX,
      glInterleavedArrays,
      glInterpolatePathsNV,
      glInvalidateBufferData,
      glInvalidateBufferSubData,
      glInvalidateFramebuffer,
      glInvalidateNamedFramebufferData,
      glInvalidateNamedFramebufferSubData,
      glInvalidateSubFramebuffer
    ) where

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

    -- glGetVideouivNV -------------------------------------------------------------

    glGetVideouivNV
      :: MonadIO m
      => GLuint -- ^ @video_slot@.
      -> GLenum -- ^ @pname@.
      -> Ptr GLuint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
      -> m ()
    glGetVideouivNV :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint -> Ptr GLuint -> m ()
    glGetVideouivNV GLuint
    v1 GLuint
    v2 Ptr GLuint
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> Ptr GLuint -> IO ())
    -> GLuint -> GLuint -> Ptr GLuint -> IO ()
    dyn392 FunPtr (GLuint -> GLuint -> Ptr GLuint -> IO ())
    ptr_glGetVideouivNV GLuint
    v1 GLuint
    v2 Ptr GLuint
    v3

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

    -- glGetVkProcAddrNV -----------------------------------------------------------

    glGetVkProcAddrNV
      :: MonadIO m
      => Ptr GLchar -- ^ @name@ pointing to @COMPSIZE(name)@ elements of type @GLchar@.
      -> m GLVULKANPROCNV
    glGetVkProcAddrNV :: forall (m :: * -> *). MonadIO m => Ptr GLchar -> m GLVULKANPROCNV
    glGetVkProcAddrNV Ptr GLchar
    v1 = IO GLVULKANPROCNV -> m GLVULKANPROCNV
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO GLVULKANPROCNV -> m GLVULKANPROCNV)
    -> IO GLVULKANPROCNV -> m GLVULKANPROCNV
    forall a b. (a -> b) -> a -> b
    $ FunPtr (Ptr GLchar -> IO GLVULKANPROCNV)
    -> Ptr GLchar -> IO GLVULKANPROCNV
    dyn467 FunPtr (Ptr GLchar -> IO GLVULKANPROCNV)
    ptr_glGetVkProcAddrNV Ptr GLchar
    v1

    {-# NOINLINE ptr_glGetVkProcAddrNV #-}
    ptr_glGetVkProcAddrNV :: FunPtr (Ptr GLchar -> IO GLVULKANPROCNV)
    ptr_glGetVkProcAddrNV :: FunPtr (Ptr GLchar -> IO GLVULKANPROCNV)
    ptr_glGetVkProcAddrNV = IO (FunPtr (Ptr GLchar -> IO GLVULKANPROCNV))
    -> FunPtr (Ptr GLchar -> IO GLVULKANPROCNV)
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (Ptr GLchar -> IO GLVULKANPROCNV))
     -> FunPtr (Ptr GLchar -> IO GLVULKANPROCNV))
    -> IO (FunPtr (Ptr GLchar -> IO GLVULKANPROCNV))
    -> FunPtr (Ptr GLchar -> IO GLVULKANPROCNV)
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (Ptr GLchar -> IO GLVULKANPROCNV))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glGetVkProcAddrNV"

    -- glGetnColorTable ------------------------------------------------------------

    glGetnColorTable
      :: MonadIO m
      => GLenum -- ^ @target@ of type [ColorTableTarget](Graphics-GL-Groups.html#ColorTableTarget).
      -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
      -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
      -> GLsizei -- ^ @bufSize@.
      -> Ptr a -- ^ @table@.
      -> m ()
    glGetnColorTable :: forall (m :: * -> *) a.
    MonadIO m =>
    GLuint -> GLuint -> GLuint -> GLsizei -> Ptr a -> m ()
    glGetnColorTable GLuint
    v1 GLuint
    v2 GLuint
    v3 GLsizei
    v4 Ptr a
    v5 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> GLuint -> GLsizei -> Ptr a -> IO ())
    -> GLuint -> GLuint -> GLuint -> GLsizei -> Ptr a -> IO ()
    forall a.
    FunPtr (GLuint -> GLuint -> GLuint -> GLsizei -> Ptr a -> IO ())
    -> GLuint -> GLuint -> GLuint -> GLsizei -> Ptr a -> IO ()
    dyn468 FunPtr (GLuint -> GLuint -> GLuint -> GLsizei -> Ptr a -> IO ())
    forall a.
    FunPtr (GLuint -> GLuint -> GLuint -> GLsizei -> Ptr a -> IO ())
    ptr_glGetnColorTable GLuint
    v1 GLuint
    v2 GLuint
    v3 GLsizei
    v4 Ptr a
    v5

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

    -- glGetnColorTableARB ---------------------------------------------------------

    glGetnColorTableARB
      :: MonadIO m
      => GLenum -- ^ @target@ of type [ColorTableTarget](Graphics-GL-Groups.html#ColorTableTarget).
      -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
      -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
      -> GLsizei -- ^ @bufSize@.
      -> Ptr a -- ^ @table@ pointing to @bufSize@ elements of type @a@.
      -> m ()
    glGetnColorTableARB :: forall (m :: * -> *) a.
    MonadIO m =>
    GLuint -> GLuint -> GLuint -> GLsizei -> Ptr a -> m ()
    glGetnColorTableARB GLuint
    v1 GLuint
    v2 GLuint
    v3 GLsizei
    v4 Ptr a
    v5 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> GLuint -> GLsizei -> Ptr a -> IO ())
    -> GLuint -> GLuint -> GLuint -> GLsizei -> Ptr a -> IO ()
    forall a.
    FunPtr (GLuint -> GLuint -> GLuint -> GLsizei -> Ptr a -> IO ())
    -> GLuint -> GLuint -> GLuint -> GLsizei -> Ptr a -> IO ()
    dyn468 FunPtr (GLuint -> GLuint -> GLuint -> GLsizei -> Ptr a -> IO ())
    forall a.
    FunPtr (GLuint -> GLuint -> GLuint -> GLsizei -> Ptr a -> IO ())
    ptr_glGetnColorTableARB GLuint
    v1 GLuint
    v2 GLuint
    v3 GLsizei
    v4 Ptr a
    v5

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

    -- glGetnCompressedTexImage ----------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetCompressedTexImage.xhtml OpenGL 4.x>.
    glGetnCompressedTexImage
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLint -- ^ @lod@.
      -> GLsizei -- ^ @bufSize@.
      -> Ptr a -- ^ @pixels@.
      -> m ()
    glGetnCompressedTexImage :: forall (m :: * -> *) a.
    MonadIO m =>
    GLuint -> GLsizei -> GLsizei -> Ptr a -> m ()
    glGetnCompressedTexImage GLuint
    v1 GLsizei
    v2 GLsizei
    v3 Ptr a
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLsizei -> GLsizei -> Ptr a -> IO ())
    -> GLuint -> GLsizei -> GLsizei -> Ptr a -> IO ()
    forall a.
    FunPtr (GLuint -> GLsizei -> GLsizei -> Ptr a -> IO ())
    -> GLuint -> GLsizei -> GLsizei -> Ptr a -> IO ()
    dyn469 FunPtr (GLuint -> GLsizei -> GLsizei -> Ptr a -> IO ())
    forall a. FunPtr (GLuint -> GLsizei -> GLsizei -> Ptr a -> IO ())
    ptr_glGetnCompressedTexImage GLuint
    v1 GLsizei
    v2 GLsizei
    v3 Ptr a
    v4

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

    -- glGetnCompressedTexImageARB -------------------------------------------------

    glGetnCompressedTexImageARB
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLint -- ^ @lod@.
      -> GLsizei -- ^ @bufSize@.
      -> Ptr a -- ^ @img@ pointing to @bufSize@ elements of type @a@.
      -> m ()
    glGetnCompressedTexImageARB :: forall (m :: * -> *) a.
    MonadIO m =>
    GLuint -> GLsizei -> GLsizei -> Ptr a -> m ()
    glGetnCompressedTexImageARB GLuint
    v1 GLsizei
    v2 GLsizei
    v3 Ptr a
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLsizei -> GLsizei -> Ptr a -> IO ())
    -> GLuint -> GLsizei -> GLsizei -> Ptr a -> IO ()
    forall a.
    FunPtr (GLuint -> GLsizei -> GLsizei -> Ptr a -> IO ())
    -> GLuint -> GLsizei -> GLsizei -> Ptr a -> IO ()
    dyn469 FunPtr (GLuint -> GLsizei -> GLsizei -> Ptr a -> IO ())
    forall a. FunPtr (GLuint -> GLsizei -> GLsizei -> Ptr a -> IO ())
    ptr_glGetnCompressedTexImageARB GLuint
    v1 GLsizei
    v2 GLsizei
    v3 Ptr a
    v4

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

    -- glGetnConvolutionFilter -----------------------------------------------------

    glGetnConvolutionFilter
      :: MonadIO m
      => GLenum -- ^ @target@ of type [ConvolutionTarget](Graphics-GL-Groups.html#ConvolutionTarget).
      -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
      -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
      -> GLsizei -- ^ @bufSize@.
      -> Ptr a -- ^ @image@.
      -> m ()
    glGetnConvolutionFilter :: forall (m :: * -> *) a.
    MonadIO m =>
    GLuint -> GLuint -> GLuint -> GLsizei -> Ptr a -> m ()
    glGetnConvolutionFilter GLuint
    v1 GLuint
    v2 GLuint
    v3 GLsizei
    v4 Ptr a
    v5 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> GLuint -> GLsizei -> Ptr a -> IO ())
    -> GLuint -> GLuint -> GLuint -> GLsizei -> Ptr a -> IO ()
    forall a.
    FunPtr (GLuint -> GLuint -> GLuint -> GLsizei -> Ptr a -> IO ())
    -> GLuint -> GLuint -> GLuint -> GLsizei -> Ptr a -> IO ()
    dyn468 FunPtr (GLuint -> GLuint -> GLuint -> GLsizei -> Ptr a -> IO ())
    forall a.
    FunPtr (GLuint -> GLuint -> GLuint -> GLsizei -> Ptr a -> IO ())
    ptr_glGetnConvolutionFilter GLuint
    v1 GLuint
    v2 GLuint
    v3 GLsizei
    v4 Ptr a
    v5

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

    -- glGetnConvolutionFilterARB --------------------------------------------------

    glGetnConvolutionFilterARB
      :: MonadIO m
      => GLenum -- ^ @target@ of type [ConvolutionTarget](Graphics-GL-Groups.html#ConvolutionTarget).
      -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
      -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
      -> GLsizei -- ^ @bufSize@.
      -> Ptr a -- ^ @image@ pointing to @bufSize@ elements of type @a@.
      -> m ()
    glGetnConvolutionFilterARB :: forall (m :: * -> *) a.
    MonadIO m =>
    GLuint -> GLuint -> GLuint -> GLsizei -> Ptr a -> m ()
    glGetnConvolutionFilterARB GLuint
    v1 GLuint
    v2 GLuint
    v3 GLsizei
    v4 Ptr a
    v5 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> GLuint -> GLsizei -> Ptr a -> IO ())
    -> GLuint -> GLuint -> GLuint -> GLsizei -> Ptr a -> IO ()
    forall a.
    FunPtr (GLuint -> GLuint -> GLuint -> GLsizei -> Ptr a -> IO ())
    -> GLuint -> GLuint -> GLuint -> GLsizei -> Ptr a -> IO ()
    dyn468 FunPtr (GLuint -> GLuint -> GLuint -> GLsizei -> Ptr a -> IO ())
    forall a.
    FunPtr (GLuint -> GLuint -> GLuint -> GLsizei -> Ptr a -> IO ())
    ptr_glGetnConvolutionFilterARB GLuint
    v1 GLuint
    v2 GLuint
    v3 GLsizei
    v4 Ptr a
    v5

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

    -- glGetnHistogram -------------------------------------------------------------

    glGetnHistogram
      :: 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).
      -> GLsizei -- ^ @bufSize@.
      -> Ptr a -- ^ @values@.
      -> m ()
    glGetnHistogram :: forall (m :: * -> *) a.
    MonadIO m =>
    GLuint -> GLboolean -> GLuint -> GLuint -> GLsizei -> Ptr a -> m ()
    glGetnHistogram GLuint
    v1 GLboolean
    v2 GLuint
    v3 GLuint
    v4 GLsizei
    v5 Ptr a
    v6 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLuint
       -> GLboolean -> GLuint -> GLuint -> GLsizei -> Ptr a -> IO ())
    -> GLuint
    -> GLboolean
    -> GLuint
    -> GLuint
    -> GLsizei
    -> Ptr a
    -> IO ()
    forall a.
    FunPtr
      (GLuint
       -> GLboolean -> GLuint -> GLuint -> GLsizei -> Ptr a -> IO ())
    -> GLuint
    -> GLboolean
    -> GLuint
    -> GLuint
    -> GLsizei
    -> Ptr a
    -> IO ()
    dyn470 FunPtr
      (GLuint
       -> GLboolean -> GLuint -> GLuint -> GLsizei -> Ptr a -> IO ())
    forall a.
    FunPtr
      (GLuint
       -> GLboolean -> GLuint -> GLuint -> GLsizei -> Ptr a -> IO ())
    ptr_glGetnHistogram GLuint
    v1 GLboolean
    v2 GLuint
    v3 GLuint
    v4 GLsizei
    v5 Ptr a
    v6

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

    -- glGetnHistogramARB ----------------------------------------------------------

    glGetnHistogramARB
      :: 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).
      -> GLsizei -- ^ @bufSize@.
      -> Ptr a -- ^ @values@ pointing to @bufSize@ elements of type @a@.
      -> m ()
    glGetnHistogramARB :: forall (m :: * -> *) a.
    MonadIO m =>
    GLuint -> GLboolean -> GLuint -> GLuint -> GLsizei -> Ptr a -> m ()
    glGetnHistogramARB GLuint
    v1 GLboolean
    v2 GLuint
    v3 GLuint
    v4 GLsizei
    v5 Ptr a
    v6 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLuint
       -> GLboolean -> GLuint -> GLuint -> GLsizei -> Ptr a -> IO ())
    -> GLuint
    -> GLboolean
    -> GLuint
    -> GLuint
    -> GLsizei
    -> Ptr a
    -> IO ()
    forall a.
    FunPtr
      (GLuint
       -> GLboolean -> GLuint -> GLuint -> GLsizei -> Ptr a -> IO ())
    -> GLuint
    -> GLboolean
    -> GLuint
    -> GLuint
    -> GLsizei
    -> Ptr a
    -> IO ()
    dyn470 FunPtr
      (GLuint
       -> GLboolean -> GLuint -> GLuint -> GLsizei -> Ptr a -> IO ())
    forall a.
    FunPtr
      (GLuint
       -> GLboolean -> GLuint -> GLuint -> GLsizei -> Ptr a -> IO ())
    ptr_glGetnHistogramARB GLuint
    v1 GLboolean
    v2 GLuint
    v3 GLuint
    v4 GLsizei
    v5 Ptr a
    v6

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

    -- glGetnMapdv -----------------------------------------------------------------

    glGetnMapdv
      :: MonadIO m
      => GLenum -- ^ @target@ of type [MapTarget](Graphics-GL-Groups.html#MapTarget).
      -> GLenum -- ^ @query@ of type [MapQuery](Graphics-GL-Groups.html#MapQuery).
      -> GLsizei -- ^ @bufSize@.
      -> Ptr GLdouble -- ^ @v@.
      -> m ()
    glGetnMapdv :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint -> GLsizei -> Ptr GLdouble -> m ()
    glGetnMapdv GLuint
    v1 GLuint
    v2 GLsizei
    v3 Ptr GLdouble
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLdouble -> IO ())
    -> GLuint -> GLuint -> GLsizei -> Ptr GLdouble -> IO ()
    dyn471 FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLdouble -> IO ())
    ptr_glGetnMapdv GLuint
    v1 GLuint
    v2 GLsizei
    v3 Ptr GLdouble
    v4

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

    -- glGetnMapdvARB --------------------------------------------------------------

    glGetnMapdvARB
      :: MonadIO m
      => GLenum -- ^ @target@ of type [MapTarget](Graphics-GL-Groups.html#MapTarget).
      -> GLenum -- ^ @query@ of type [MapQuery](Graphics-GL-Groups.html#MapQuery).
      -> GLsizei -- ^ @bufSize@.
      -> Ptr GLdouble -- ^ @v@ pointing to @bufSize@ elements of type @GLdouble@.
      -> m ()
    glGetnMapdvARB :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint -> GLsizei -> Ptr GLdouble -> m ()
    glGetnMapdvARB GLuint
    v1 GLuint
    v2 GLsizei
    v3 Ptr GLdouble
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLdouble -> IO ())
    -> GLuint -> GLuint -> GLsizei -> Ptr GLdouble -> IO ()
    dyn471 FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLdouble -> IO ())
    ptr_glGetnMapdvARB GLuint
    v1 GLuint
    v2 GLsizei
    v3 Ptr GLdouble
    v4

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

    -- glGetnMapfv -----------------------------------------------------------------

    glGetnMapfv
      :: MonadIO m
      => GLenum -- ^ @target@ of type [MapTarget](Graphics-GL-Groups.html#MapTarget).
      -> GLenum -- ^ @query@ of type [MapQuery](Graphics-GL-Groups.html#MapQuery).
      -> GLsizei -- ^ @bufSize@.
      -> Ptr GLfloat -- ^ @v@.
      -> m ()
    glGetnMapfv :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> m ()
    glGetnMapfv GLuint
    v1 GLuint
    v2 GLsizei
    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 (GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
    -> GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ()
    dyn472 FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
    ptr_glGetnMapfv GLuint
    v1 GLuint
    v2 GLsizei
    v3 Ptr GLfloat
    v4

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

    -- glGetnMapfvARB --------------------------------------------------------------

    glGetnMapfvARB
      :: MonadIO m
      => GLenum -- ^ @target@ of type [MapTarget](Graphics-GL-Groups.html#MapTarget).
      -> GLenum -- ^ @query@ of type [MapQuery](Graphics-GL-Groups.html#MapQuery).
      -> GLsizei -- ^ @bufSize@.
      -> Ptr GLfloat -- ^ @v@ pointing to @bufSize@ elements of type @GLfloat@.
      -> m ()
    glGetnMapfvARB :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> m ()
    glGetnMapfvARB GLuint
    v1 GLuint
    v2 GLsizei
    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 (GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
    -> GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ()
    dyn472 FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
    ptr_glGetnMapfvARB GLuint
    v1 GLuint
    v2 GLsizei
    v3 Ptr GLfloat
    v4

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

    -- glGetnMapiv -----------------------------------------------------------------

    glGetnMapiv
      :: MonadIO m
      => GLenum -- ^ @target@ of type [MapTarget](Graphics-GL-Groups.html#MapTarget).
      -> GLenum -- ^ @query@ of type [MapQuery](Graphics-GL-Groups.html#MapQuery).
      -> GLsizei -- ^ @bufSize@.
      -> Ptr GLint -- ^ @v@.
      -> m ()
    glGetnMapiv :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> m ()
    glGetnMapiv GLuint
    v1 GLuint
    v2 GLsizei
    v3 Ptr GLsizei
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> IO ())
    -> GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> IO ()
    dyn473 FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> IO ())
    ptr_glGetnMapiv GLuint
    v1 GLuint
    v2 GLsizei
    v3 Ptr GLsizei
    v4

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

    -- glGetnMapivARB --------------------------------------------------------------

    glGetnMapivARB
      :: MonadIO m
      => GLenum -- ^ @target@ of type [MapTarget](Graphics-GL-Groups.html#MapTarget).
      -> GLenum -- ^ @query@ of type [MapQuery](Graphics-GL-Groups.html#MapQuery).
      -> GLsizei -- ^ @bufSize@.
      -> Ptr GLint -- ^ @v@ pointing to @bufSize@ elements of type @GLint@.
      -> m ()
    glGetnMapivARB :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> m ()
    glGetnMapivARB GLuint
    v1 GLuint
    v2 GLsizei
    v3 Ptr GLsizei
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> IO ())
    -> GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> IO ()
    dyn473 FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> IO ())
    ptr_glGetnMapivARB GLuint
    v1 GLuint
    v2 GLsizei
    v3 Ptr GLsizei
    v4

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

    -- glGetnMinmax ----------------------------------------------------------------

    glGetnMinmax
      :: MonadIO m
      => GLenum -- ^ @target@ of type [MinmaxTargetEXT](Graphics-GL-Groups.html#MinmaxTargetEXT).
      -> GLboolean -- ^ @reset@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
      -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
      -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
      -> GLsizei -- ^ @bufSize@.
      -> Ptr a -- ^ @values@.
      -> m ()
    glGetnMinmax :: forall (m :: * -> *) a.
    MonadIO m =>
    GLuint -> GLboolean -> GLuint -> GLuint -> GLsizei -> Ptr a -> m ()
    glGetnMinmax GLuint
    v1 GLboolean
    v2 GLuint
    v3 GLuint
    v4 GLsizei
    v5 Ptr a
    v6 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLuint
       -> GLboolean -> GLuint -> GLuint -> GLsizei -> Ptr a -> IO ())
    -> GLuint
    -> GLboolean
    -> GLuint
    -> GLuint
    -> GLsizei
    -> Ptr a
    -> IO ()
    forall a.
    FunPtr
      (GLuint
       -> GLboolean -> GLuint -> GLuint -> GLsizei -> Ptr a -> IO ())
    -> GLuint
    -> GLboolean
    -> GLuint
    -> GLuint
    -> GLsizei
    -> Ptr a
    -> IO ()
    dyn470 FunPtr
      (GLuint
       -> GLboolean -> GLuint -> GLuint -> GLsizei -> Ptr a -> IO ())
    forall a.
    FunPtr
      (GLuint
       -> GLboolean -> GLuint -> GLuint -> GLsizei -> Ptr a -> IO ())
    ptr_glGetnMinmax GLuint
    v1 GLboolean
    v2 GLuint
    v3 GLuint
    v4 GLsizei
    v5 Ptr a
    v6

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

    -- glGetnMinmaxARB -------------------------------------------------------------

    glGetnMinmaxARB
      :: MonadIO m
      => GLenum -- ^ @target@ of type [MinmaxTargetEXT](Graphics-GL-Groups.html#MinmaxTargetEXT).
      -> GLboolean -- ^ @reset@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
      -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
      -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
      -> GLsizei -- ^ @bufSize@.
      -> Ptr a -- ^ @values@ pointing to @bufSize@ elements of type @a@.
      -> m ()
    glGetnMinmaxARB :: forall (m :: * -> *) a.
    MonadIO m =>
    GLuint -> GLboolean -> GLuint -> GLuint -> GLsizei -> Ptr a -> m ()
    glGetnMinmaxARB GLuint
    v1 GLboolean
    v2 GLuint
    v3 GLuint
    v4 GLsizei
    v5 Ptr a
    v6 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLuint
       -> GLboolean -> GLuint -> GLuint -> GLsizei -> Ptr a -> IO ())
    -> GLuint
    -> GLboolean
    -> GLuint
    -> GLuint
    -> GLsizei
    -> Ptr a
    -> IO ()
    forall a.
    FunPtr
      (GLuint
       -> GLboolean -> GLuint -> GLuint -> GLsizei -> Ptr a -> IO ())
    -> GLuint
    -> GLboolean
    -> GLuint
    -> GLuint
    -> GLsizei
    -> Ptr a
    -> IO ()
    dyn470 FunPtr
      (GLuint
       -> GLboolean -> GLuint -> GLuint -> GLsizei -> Ptr a -> IO ())
    forall a.
    FunPtr
      (GLuint
       -> GLboolean -> GLuint -> GLuint -> GLsizei -> Ptr a -> IO ())
    ptr_glGetnMinmaxARB GLuint
    v1 GLboolean
    v2 GLuint
    v3 GLuint
    v4 GLsizei
    v5 Ptr a
    v6

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

    -- glGetnPixelMapfv ------------------------------------------------------------

    glGetnPixelMapfv
      :: MonadIO m
      => GLenum -- ^ @map@ of type [PixelMap](Graphics-GL-Groups.html#PixelMap).
      -> GLsizei -- ^ @bufSize@.
      -> Ptr GLfloat -- ^ @values@.
      -> m ()
    glGetnPixelMapfv :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLsizei -> Ptr GLfloat -> m ()
    glGetnPixelMapfv GLuint
    v1 GLsizei
    v2 Ptr GLfloat
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ())
    -> GLuint -> GLsizei -> Ptr GLfloat -> IO ()
    dyn233 FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ())
    ptr_glGetnPixelMapfv GLuint
    v1 GLsizei
    v2 Ptr GLfloat
    v3

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

    -- glGetnPixelMapfvARB ---------------------------------------------------------

    glGetnPixelMapfvARB
      :: MonadIO m
      => GLenum -- ^ @map@ of type [PixelMap](Graphics-GL-Groups.html#PixelMap).
      -> GLsizei -- ^ @bufSize@.
      -> Ptr GLfloat -- ^ @values@ pointing to @bufSize@ elements of type @GLfloat@.
      -> m ()
    glGetnPixelMapfvARB :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLsizei -> Ptr GLfloat -> m ()
    glGetnPixelMapfvARB GLuint
    v1 GLsizei
    v2 Ptr GLfloat
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ())
    -> GLuint -> GLsizei -> Ptr GLfloat -> IO ()
    dyn233 FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ())
    ptr_glGetnPixelMapfvARB GLuint
    v1 GLsizei
    v2 Ptr GLfloat
    v3

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

    -- glGetnPixelMapuiv -----------------------------------------------------------

    glGetnPixelMapuiv
      :: MonadIO m
      => GLenum -- ^ @map@ of type [PixelMap](Graphics-GL-Groups.html#PixelMap).
      -> GLsizei -- ^ @bufSize@.
      -> Ptr GLuint -- ^ @values@.
      -> m ()
    glGetnPixelMapuiv :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLsizei -> Ptr GLuint -> m ()
    glGetnPixelMapuiv GLuint
    v1 GLsizei
    v2 Ptr GLuint
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLsizei -> Ptr GLuint -> IO ())
    -> GLuint -> GLsizei -> Ptr GLuint -> IO ()
    dyn204 FunPtr (GLuint -> GLsizei -> Ptr GLuint -> IO ())
    ptr_glGetnPixelMapuiv GLuint
    v1 GLsizei
    v2 Ptr GLuint
    v3

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

    -- glGetnPixelMapuivARB --------------------------------------------------------

    glGetnPixelMapuivARB
      :: MonadIO m
      => GLenum -- ^ @map@ of type [PixelMap](Graphics-GL-Groups.html#PixelMap).
      -> GLsizei -- ^ @bufSize@.
      -> Ptr GLuint -- ^ @values@ pointing to @bufSize@ elements of type @GLuint@.
      -> m ()
    glGetnPixelMapuivARB :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLsizei -> Ptr GLuint -> m ()
    glGetnPixelMapuivARB GLuint
    v1 GLsizei
    v2 Ptr GLuint
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLsizei -> Ptr GLuint -> IO ())
    -> GLuint -> GLsizei -> Ptr GLuint -> IO ()
    dyn204 FunPtr (GLuint -> GLsizei -> Ptr GLuint -> IO ())
    ptr_glGetnPixelMapuivARB GLuint
    v1 GLsizei
    v2 Ptr GLuint
    v3

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

    -- glGetnPixelMapusv -----------------------------------------------------------

    glGetnPixelMapusv
      :: MonadIO m
      => GLenum -- ^ @map@ of type [PixelMap](Graphics-GL-Groups.html#PixelMap).
      -> GLsizei -- ^ @bufSize@.
      -> Ptr GLushort -- ^ @values@.
      -> m ()
    glGetnPixelMapusv :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLsizei -> Ptr GLushort -> m ()
    glGetnPixelMapusv GLuint
    v1 GLsizei
    v2 Ptr GLushort
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLsizei -> Ptr GLushort -> IO ())
    -> GLuint -> GLsizei -> Ptr GLushort -> IO ()
    dyn474 FunPtr (GLuint -> GLsizei -> Ptr GLushort -> IO ())
    ptr_glGetnPixelMapusv GLuint
    v1 GLsizei
    v2 Ptr GLushort
    v3

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

    -- glGetnPixelMapusvARB --------------------------------------------------------

    glGetnPixelMapusvARB
      :: MonadIO m
      => GLenum -- ^ @map@ of type [PixelMap](Graphics-GL-Groups.html#PixelMap).
      -> GLsizei -- ^ @bufSize@.
      -> Ptr GLushort -- ^ @values@ pointing to @bufSize@ elements of type @GLushort@.
      -> m ()
    glGetnPixelMapusvARB :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLsizei -> Ptr GLushort -> m ()
    glGetnPixelMapusvARB GLuint
    v1 GLsizei
    v2 Ptr GLushort
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLsizei -> Ptr GLushort -> IO ())
    -> GLuint -> GLsizei -> Ptr GLushort -> IO ()
    dyn474 FunPtr (GLuint -> GLsizei -> Ptr GLushort -> IO ())
    ptr_glGetnPixelMapusvARB GLuint
    v1 GLsizei
    v2 Ptr GLushort
    v3

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

    -- glGetnPolygonStipple --------------------------------------------------------

    glGetnPolygonStipple
      :: MonadIO m
      => GLsizei -- ^ @bufSize@.
      -> Ptr GLubyte -- ^ @pattern@.
      -> m ()
    glGetnPolygonStipple :: forall (m :: * -> *). MonadIO m => GLsizei -> Ptr GLboolean -> m ()
    glGetnPolygonStipple GLsizei
    v1 Ptr GLboolean
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLsizei -> Ptr GLboolean -> IO ())
    -> GLsizei -> Ptr GLboolean -> IO ()
    dyn475 FunPtr (GLsizei -> Ptr GLboolean -> IO ())
    ptr_glGetnPolygonStipple GLsizei
    v1 Ptr GLboolean
    v2

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

    -- glGetnPolygonStippleARB -----------------------------------------------------

    glGetnPolygonStippleARB
      :: MonadIO m
      => GLsizei -- ^ @bufSize@.
      -> Ptr GLubyte -- ^ @pattern@ pointing to @bufSize@ elements of type @GLubyte@.
      -> m ()
    glGetnPolygonStippleARB :: forall (m :: * -> *). MonadIO m => GLsizei -> Ptr GLboolean -> m ()
    glGetnPolygonStippleARB GLsizei
    v1 Ptr GLboolean
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLsizei -> Ptr GLboolean -> IO ())
    -> GLsizei -> Ptr GLboolean -> IO ()
    dyn475 FunPtr (GLsizei -> Ptr GLboolean -> IO ())
    ptr_glGetnPolygonStippleARB GLsizei
    v1 Ptr GLboolean
    v2

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

    -- glGetnSeparableFilter -------------------------------------------------------

    glGetnSeparableFilter
      :: MonadIO m
      => GLenum -- ^ @target@ of type [SeparableTargetEXT](Graphics-GL-Groups.html#SeparableTargetEXT).
      -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
      -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
      -> GLsizei -- ^ @rowBufSize@.
      -> Ptr a -- ^ @row@.
      -> GLsizei -- ^ @columnBufSize@.
      -> Ptr b -- ^ @column@.
      -> Ptr c -- ^ @span@.
      -> m ()
    glGetnSeparableFilter :: forall (m :: * -> *) a b c.
    MonadIO m =>
    GLuint
    -> GLuint
    -> GLuint
    -> GLsizei
    -> Ptr a
    -> GLsizei
    -> Ptr b
    -> Ptr c
    -> m ()
    glGetnSeparableFilter GLuint
    v1 GLuint
    v2 GLuint
    v3 GLsizei
    v4 Ptr a
    v5 GLsizei
    v6 Ptr b
    v7 Ptr c
    v8 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLuint
       -> GLuint
       -> GLuint
       -> GLsizei
       -> Ptr a
       -> GLsizei
       -> Ptr b
       -> Ptr c
       -> IO ())
    -> GLuint
    -> GLuint
    -> GLuint
    -> GLsizei
    -> Ptr a
    -> GLsizei
    -> Ptr b
    -> Ptr c
    -> IO ()
    forall a b c.
    FunPtr
      (GLuint
       -> GLuint
       -> GLuint
       -> GLsizei
       -> Ptr a
       -> GLsizei
       -> Ptr b
       -> Ptr c
       -> IO ())
    -> GLuint
    -> GLuint
    -> GLuint
    -> GLsizei
    -> Ptr a
    -> GLsizei
    -> Ptr b
    -> Ptr c
    -> IO ()
    dyn476 FunPtr
      (GLuint
       -> GLuint
       -> GLuint
       -> GLsizei
       -> Ptr a
       -> GLsizei
       -> Ptr b
       -> Ptr c
       -> IO ())
    forall a b c.
    FunPtr
      (GLuint
       -> GLuint
       -> GLuint
       -> GLsizei
       -> Ptr a
       -> GLsizei
       -> Ptr b
       -> Ptr c
       -> IO ())
    ptr_glGetnSeparableFilter GLuint
    v1 GLuint
    v2 GLuint
    v3 GLsizei
    v4 Ptr a
    v5 GLsizei
    v6 Ptr b
    v7 Ptr c
    v8

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

    -- glGetnSeparableFilterARB ----------------------------------------------------

    glGetnSeparableFilterARB
      :: MonadIO m
      => GLenum -- ^ @target@ of type [SeparableTargetEXT](Graphics-GL-Groups.html#SeparableTargetEXT).
      -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
      -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
      -> GLsizei -- ^ @rowBufSize@.
      -> Ptr a -- ^ @row@ pointing to @rowBufSize@ elements of type @a@.
      -> GLsizei -- ^ @columnBufSize@.
      -> Ptr b -- ^ @column@ pointing to @columnBufSize@ elements of type @b@.
      -> Ptr c -- ^ @span@ pointing to @0@ elements of type @c@.
      -> m ()
    glGetnSeparableFilterARB :: forall (m :: * -> *) a b c.
    MonadIO m =>
    GLuint
    -> GLuint
    -> GLuint
    -> GLsizei
    -> Ptr a
    -> GLsizei
    -> Ptr b
    -> Ptr c
    -> m ()
    glGetnSeparableFilterARB GLuint
    v1 GLuint
    v2 GLuint
    v3 GLsizei
    v4 Ptr a
    v5 GLsizei
    v6 Ptr b
    v7 Ptr c
    v8 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLuint
       -> GLuint
       -> GLuint
       -> GLsizei
       -> Ptr a
       -> GLsizei
       -> Ptr b
       -> Ptr c
       -> IO ())
    -> GLuint
    -> GLuint
    -> GLuint
    -> GLsizei
    -> Ptr a
    -> GLsizei
    -> Ptr b
    -> Ptr c
    -> IO ()
    forall a b c.
    FunPtr
      (GLuint
       -> GLuint
       -> GLuint
       -> GLsizei
       -> Ptr a
       -> GLsizei
       -> Ptr b
       -> Ptr c
       -> IO ())
    -> GLuint
    -> GLuint
    -> GLuint
    -> GLsizei
    -> Ptr a
    -> GLsizei
    -> Ptr b
    -> Ptr c
    -> IO ()
    dyn476 FunPtr
      (GLuint
       -> GLuint
       -> GLuint
       -> GLsizei
       -> Ptr a
       -> GLsizei
       -> Ptr b
       -> Ptr c
       -> IO ())
    forall a b c.
    FunPtr
      (GLuint
       -> GLuint
       -> GLuint
       -> GLsizei
       -> Ptr a
       -> GLsizei
       -> Ptr b
       -> Ptr c
       -> IO ())
    ptr_glGetnSeparableFilterARB GLuint
    v1 GLuint
    v2 GLuint
    v3 GLsizei
    v4 Ptr a
    v5 GLsizei
    v6 Ptr b
    v7 Ptr c
    v8

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

    -- glGetnTexImage --------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetTexImage.xhtml OpenGL 4.x>.
    glGetnTexImage
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLint -- ^ @level@.
      -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
      -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
      -> GLsizei -- ^ @bufSize@.
      -> Ptr a -- ^ @pixels@ pointing to @bufSize@ elements of type @a@.
      -> m ()
    glGetnTexImage :: forall (m :: * -> *) a.
    MonadIO m =>
    GLuint -> GLsizei -> GLuint -> GLuint -> GLsizei -> Ptr a -> m ()
    glGetnTexImage GLuint
    v1 GLsizei
    v2 GLuint
    v3 GLuint
    v4 GLsizei
    v5 Ptr a
    v6 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLuint
       -> GLsizei -> GLuint -> GLuint -> GLsizei -> Ptr a -> IO ())
    -> GLuint
    -> GLsizei
    -> GLuint
    -> GLuint
    -> GLsizei
    -> Ptr a
    -> IO ()
    forall a.
    FunPtr
      (GLuint
       -> GLsizei -> GLuint -> GLuint -> GLsizei -> Ptr a -> IO ())
    -> GLuint
    -> GLsizei
    -> GLuint
    -> GLuint
    -> GLsizei
    -> Ptr a
    -> IO ()
    dyn477 FunPtr
      (GLuint
       -> GLsizei -> GLuint -> GLuint -> GLsizei -> Ptr a -> IO ())
    forall a.
    FunPtr
      (GLuint
       -> GLsizei -> GLuint -> GLuint -> GLsizei -> Ptr a -> IO ())
    ptr_glGetnTexImage GLuint
    v1 GLsizei
    v2 GLuint
    v3 GLuint
    v4 GLsizei
    v5 Ptr a
    v6

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

    -- glGetnTexImageARB -----------------------------------------------------------

    glGetnTexImageARB
      :: MonadIO m
      => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLint -- ^ @level@.
      -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
      -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
      -> GLsizei -- ^ @bufSize@.
      -> Ptr a -- ^ @img@ pointing to @bufSize@ elements of type @a@.
      -> m ()
    glGetnTexImageARB :: forall (m :: * -> *) a.
    MonadIO m =>
    GLuint -> GLsizei -> GLuint -> GLuint -> GLsizei -> Ptr a -> m ()
    glGetnTexImageARB GLuint
    v1 GLsizei
    v2 GLuint
    v3 GLuint
    v4 GLsizei
    v5 Ptr a
    v6 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLuint
       -> GLsizei -> GLuint -> GLuint -> GLsizei -> Ptr a -> IO ())
    -> GLuint
    -> GLsizei
    -> GLuint
    -> GLuint
    -> GLsizei
    -> Ptr a
    -> IO ()
    forall a.
    FunPtr
      (GLuint
       -> GLsizei -> GLuint -> GLuint -> GLsizei -> Ptr a -> IO ())
    -> GLuint
    -> GLsizei
    -> GLuint
    -> GLuint
    -> GLsizei
    -> Ptr a
    -> IO ()
    dyn477 FunPtr
      (GLuint
       -> GLsizei -> GLuint -> GLuint -> GLsizei -> Ptr a -> IO ())
    forall a.
    FunPtr
      (GLuint
       -> GLsizei -> GLuint -> GLuint -> GLsizei -> Ptr a -> IO ())
    ptr_glGetnTexImageARB GLuint
    v1 GLsizei
    v2 GLuint
    v3 GLuint
    v4 GLsizei
    v5 Ptr a
    v6

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

    -- glGetnUniformdv -------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetUniform.xhtml OpenGL 4.x>.
    glGetnUniformdv
      :: MonadIO m
      => GLuint -- ^ @program@.
      -> GLint -- ^ @location@.
      -> GLsizei -- ^ @bufSize@.
      -> Ptr GLdouble -- ^ @params@ pointing to @bufSize@ elements of type @GLdouble@.
      -> m ()
    glGetnUniformdv :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLsizei -> GLsizei -> Ptr GLdouble -> m ()
    glGetnUniformdv GLuint
    v1 GLsizei
    v2 GLsizei
    v3 Ptr GLdouble
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLsizei -> GLsizei -> Ptr GLdouble -> IO ())
    -> GLuint -> GLsizei -> GLsizei -> Ptr GLdouble -> IO ()
    dyn478 FunPtr (GLuint -> GLsizei -> GLsizei -> Ptr GLdouble -> IO ())
    ptr_glGetnUniformdv GLuint
    v1 GLsizei
    v2 GLsizei
    v3 Ptr GLdouble
    v4

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

    -- glGetnUniformdvARB ----------------------------------------------------------

    glGetnUniformdvARB
      :: MonadIO m
      => GLuint -- ^ @program@.
      -> GLint -- ^ @location@.
      -> GLsizei -- ^ @bufSize@.
      -> Ptr GLdouble -- ^ @params@ pointing to @bufSize@ elements of type @GLdouble@.
      -> m ()
    glGetnUniformdvARB :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLsizei -> GLsizei -> Ptr GLdouble -> m ()
    glGetnUniformdvARB GLuint
    v1 GLsizei
    v2 GLsizei
    v3 Ptr GLdouble
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLsizei -> GLsizei -> Ptr GLdouble -> IO ())
    -> GLuint -> GLsizei -> GLsizei -> Ptr GLdouble -> IO ()
    dyn478 FunPtr (GLuint -> GLsizei -> GLsizei -> Ptr GLdouble -> IO ())
    ptr_glGetnUniformdvARB GLuint
    v1 GLsizei
    v2 GLsizei
    v3 Ptr GLdouble
    v4

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

    -- glGetnUniformfv -------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetUniform.xhtml OpenGL 4.x>.
    glGetnUniformfv
      :: MonadIO m
      => GLuint -- ^ @program@.
      -> GLint -- ^ @location@.
      -> GLsizei -- ^ @bufSize@.
      -> Ptr GLfloat -- ^ @params@ pointing to @bufSize@ elements of type @GLfloat@.
      -> m ()
    glGetnUniformfv :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLsizei -> GLsizei -> Ptr GLfloat -> m ()
    glGetnUniformfv GLuint
    v1 GLsizei
    v2 GLsizei
    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 (GLuint -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
    -> GLuint -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ()
    dyn479 FunPtr (GLuint -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
    ptr_glGetnUniformfv GLuint
    v1 GLsizei
    v2 GLsizei
    v3 Ptr GLfloat
    v4

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

    -- glGetnUniformfvARB ----------------------------------------------------------

    glGetnUniformfvARB
      :: MonadIO m
      => GLuint -- ^ @program@.
      -> GLint -- ^ @location@.
      -> GLsizei -- ^ @bufSize@.
      -> Ptr GLfloat -- ^ @params@ pointing to @bufSize@ elements of type @GLfloat@.
      -> m ()
    glGetnUniformfvARB :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLsizei -> GLsizei -> Ptr GLfloat -> m ()
    glGetnUniformfvARB GLuint
    v1 GLsizei
    v2 GLsizei
    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 (GLuint -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
    -> GLuint -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ()
    dyn479 FunPtr (GLuint -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
    ptr_glGetnUniformfvARB GLuint
    v1 GLsizei
    v2 GLsizei
    v3 Ptr GLfloat
    v4

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

    -- glGetnUniformfvEXT ----------------------------------------------------------

    -- | This command is an alias for 'glGetnUniformfv'.
    glGetnUniformfvEXT
      :: MonadIO m
      => GLuint -- ^ @program@.
      -> GLint -- ^ @location@.
      -> GLsizei -- ^ @bufSize@.
      -> Ptr GLfloat -- ^ @params@ pointing to @bufSize@ elements of type @GLfloat@.
      -> m ()
    glGetnUniformfvEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLsizei -> GLsizei -> Ptr GLfloat -> m ()
    glGetnUniformfvEXT GLuint
    v1 GLsizei
    v2 GLsizei
    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 (GLuint -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
    -> GLuint -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ()
    dyn479 FunPtr (GLuint -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
    ptr_glGetnUniformfvEXT GLuint
    v1 GLsizei
    v2 GLsizei
    v3 Ptr GLfloat
    v4

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

    -- glGetnUniformfvKHR ----------------------------------------------------------

    -- | This command is an alias for 'glGetnUniformfv'.
    glGetnUniformfvKHR
      :: MonadIO m
      => GLuint -- ^ @program@.
      -> GLint -- ^ @location@.
      -> GLsizei -- ^ @bufSize@.
      -> Ptr GLfloat -- ^ @params@ pointing to @bufSize@ elements of type @GLfloat@.
      -> m ()
    glGetnUniformfvKHR :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLsizei -> GLsizei -> Ptr GLfloat -> m ()
    glGetnUniformfvKHR GLuint
    v1 GLsizei
    v2 GLsizei
    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 (GLuint -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
    -> GLuint -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ()
    dyn479 FunPtr (GLuint -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
    ptr_glGetnUniformfvKHR GLuint
    v1 GLsizei
    v2 GLsizei
    v3 Ptr GLfloat
    v4

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

    -- glGetnUniformi64vARB --------------------------------------------------------

    glGetnUniformi64vARB
      :: MonadIO m
      => GLuint -- ^ @program@.
      -> GLint -- ^ @location@.
      -> GLsizei -- ^ @bufSize@.
      -> Ptr GLint64 -- ^ @params@ pointing to @bufSize@ elements of type @GLint64@.
      -> m ()
    glGetnUniformi64vARB :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLsizei -> GLsizei -> Ptr GLint64 -> m ()
    glGetnUniformi64vARB GLuint
    v1 GLsizei
    v2 GLsizei
    v3 Ptr GLint64
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLsizei -> GLsizei -> Ptr GLint64 -> IO ())
    -> GLuint -> GLsizei -> GLsizei -> Ptr GLint64 -> IO ()
    dyn480 FunPtr (GLuint -> GLsizei -> GLsizei -> Ptr GLint64 -> IO ())
    ptr_glGetnUniformi64vARB GLuint
    v1 GLsizei
    v2 GLsizei
    v3 Ptr GLint64
    v4

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

    -- glGetnUniformiv -------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetUniform.xhtml OpenGL 4.x>.
    glGetnUniformiv
      :: MonadIO m
      => GLuint -- ^ @program@.
      -> GLint -- ^ @location@.
      -> GLsizei -- ^ @bufSize@.
      -> Ptr GLint -- ^ @params@ pointing to @bufSize@ elements of type @GLint@.
      -> m ()
    glGetnUniformiv :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLsizei -> GLsizei -> Ptr GLsizei -> m ()
    glGetnUniformiv GLuint
    v1 GLsizei
    v2 GLsizei
    v3 Ptr GLsizei
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
    -> GLuint -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ()
    dyn481 FunPtr (GLuint -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
    ptr_glGetnUniformiv GLuint
    v1 GLsizei
    v2 GLsizei
    v3 Ptr GLsizei
    v4

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

    -- glGetnUniformivARB ----------------------------------------------------------

    glGetnUniformivARB
      :: MonadIO m
      => GLuint -- ^ @program@.
      -> GLint -- ^ @location@.
      -> GLsizei -- ^ @bufSize@.
      -> Ptr GLint -- ^ @params@ pointing to @bufSize@ elements of type @GLint@.
      -> m ()
    glGetnUniformivARB :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLsizei -> GLsizei -> Ptr GLsizei -> m ()
    glGetnUniformivARB GLuint
    v1 GLsizei
    v2 GLsizei
    v3 Ptr GLsizei
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
    -> GLuint -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ()
    dyn481 FunPtr (GLuint -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
    ptr_glGetnUniformivARB GLuint
    v1 GLsizei
    v2 GLsizei
    v3 Ptr GLsizei
    v4

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

    -- glGetnUniformivEXT ----------------------------------------------------------

    -- | This command is an alias for 'glGetnUniformiv'.
    glGetnUniformivEXT
      :: MonadIO m
      => GLuint -- ^ @program@.
      -> GLint -- ^ @location@.
      -> GLsizei -- ^ @bufSize@.
      -> Ptr GLint -- ^ @params@ pointing to @bufSize@ elements of type @GLint@.
      -> m ()
    glGetnUniformivEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLsizei -> GLsizei -> Ptr GLsizei -> m ()
    glGetnUniformivEXT GLuint
    v1 GLsizei
    v2 GLsizei
    v3 Ptr GLsizei
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
    -> GLuint -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ()
    dyn481 FunPtr (GLuint -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
    ptr_glGetnUniformivEXT GLuint
    v1 GLsizei
    v2 GLsizei
    v3 Ptr GLsizei
    v4

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

    -- glGetnUniformivKHR ----------------------------------------------------------

    -- | This command is an alias for 'glGetnUniformiv'.
    glGetnUniformivKHR
      :: MonadIO m
      => GLuint -- ^ @program@.
      -> GLint -- ^ @location@.
      -> GLsizei -- ^ @bufSize@.
      -> Ptr GLint -- ^ @params@ pointing to @bufSize@ elements of type @GLint@.
      -> m ()
    glGetnUniformivKHR :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLsizei -> GLsizei -> Ptr GLsizei -> m ()
    glGetnUniformivKHR GLuint
    v1 GLsizei
    v2 GLsizei
    v3 Ptr GLsizei
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
    -> GLuint -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ()
    dyn481 FunPtr (GLuint -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
    ptr_glGetnUniformivKHR GLuint
    v1 GLsizei
    v2 GLsizei
    v3 Ptr GLsizei
    v4

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

    -- glGetnUniformui64vARB -------------------------------------------------------

    glGetnUniformui64vARB
      :: MonadIO m
      => GLuint -- ^ @program@.
      -> GLint -- ^ @location@.
      -> GLsizei -- ^ @bufSize@.
      -> Ptr GLuint64 -- ^ @params@ pointing to @bufSize@ elements of type @GLuint64@.
      -> m ()
    glGetnUniformui64vARB :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLsizei -> GLsizei -> Ptr GLuint64 -> m ()
    glGetnUniformui64vARB GLuint
    v1 GLsizei
    v2 GLsizei
    v3 Ptr GLuint64
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLsizei -> GLsizei -> Ptr GLuint64 -> IO ())
    -> GLuint -> GLsizei -> GLsizei -> Ptr GLuint64 -> IO ()
    dyn482 FunPtr (GLuint -> GLsizei -> GLsizei -> Ptr GLuint64 -> IO ())
    ptr_glGetnUniformui64vARB GLuint
    v1 GLsizei
    v2 GLsizei
    v3 Ptr GLuint64
    v4

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

    -- glGetnUniformuiv ------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetUniform.xhtml OpenGL 4.x>.
    glGetnUniformuiv
      :: MonadIO m
      => GLuint -- ^ @program@.
      -> GLint -- ^ @location@.
      -> GLsizei -- ^ @bufSize@.
      -> Ptr GLuint -- ^ @params@ pointing to @bufSize@ elements of type @GLuint@.
      -> m ()
    glGetnUniformuiv :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLsizei -> GLsizei -> Ptr GLuint -> m ()
    glGetnUniformuiv GLuint
    v1 GLsizei
    v2 GLsizei
    v3 Ptr GLuint
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLsizei -> GLsizei -> Ptr GLuint -> IO ())
    -> GLuint -> GLsizei -> GLsizei -> Ptr GLuint -> IO ()
    dyn483 FunPtr (GLuint -> GLsizei -> GLsizei -> Ptr GLuint -> IO ())
    ptr_glGetnUniformuiv GLuint
    v1 GLsizei
    v2 GLsizei
    v3 Ptr GLuint
    v4

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

    -- glGetnUniformuivARB ---------------------------------------------------------

    glGetnUniformuivARB
      :: MonadIO m
      => GLuint -- ^ @program@.
      -> GLint -- ^ @location@.
      -> GLsizei -- ^ @bufSize@.
      -> Ptr GLuint -- ^ @params@ pointing to @bufSize@ elements of type @GLuint@.
      -> m ()
    glGetnUniformuivARB :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLsizei -> GLsizei -> Ptr GLuint -> m ()
    glGetnUniformuivARB GLuint
    v1 GLsizei
    v2 GLsizei
    v3 Ptr GLuint
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLsizei -> GLsizei -> Ptr GLuint -> IO ())
    -> GLuint -> GLsizei -> GLsizei -> Ptr GLuint -> IO ()
    dyn483 FunPtr (GLuint -> GLsizei -> GLsizei -> Ptr GLuint -> IO ())
    ptr_glGetnUniformuivARB GLuint
    v1 GLsizei
    v2 GLsizei
    v3 Ptr GLuint
    v4

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

    -- glGetnUniformuivKHR ---------------------------------------------------------

    -- | This command is an alias for 'glGetnUniformuiv'.
    glGetnUniformuivKHR
      :: MonadIO m
      => GLuint -- ^ @program@.
      -> GLint -- ^ @location@.
      -> GLsizei -- ^ @bufSize@.
      -> Ptr GLuint -- ^ @params@ pointing to @bufSize@ elements of type @GLuint@.
      -> m ()
    glGetnUniformuivKHR :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLsizei -> GLsizei -> Ptr GLuint -> m ()
    glGetnUniformuivKHR GLuint
    v1 GLsizei
    v2 GLsizei
    v3 Ptr GLuint
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLsizei -> GLsizei -> Ptr GLuint -> IO ())
    -> GLuint -> GLsizei -> GLsizei -> Ptr GLuint -> IO ()
    dyn483 FunPtr (GLuint -> GLsizei -> GLsizei -> Ptr GLuint -> IO ())
    ptr_glGetnUniformuivKHR GLuint
    v1 GLsizei
    v2 GLsizei
    v3 Ptr GLuint
    v4

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

    -- glGlobalAlphaFactorbSUN -----------------------------------------------------

    glGlobalAlphaFactorbSUN
      :: MonadIO m
      => GLbyte -- ^ @factor@.
      -> m ()
    glGlobalAlphaFactorbSUN :: forall (m :: * -> *). MonadIO m => GLbyte -> m ()
    glGlobalAlphaFactorbSUN GLbyte
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLbyte -> IO ()) -> GLbyte -> IO ()
    dyn484 FunPtr (GLbyte -> IO ())
    ptr_glGlobalAlphaFactorbSUN GLbyte
    v1

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

    -- glGlobalAlphaFactordSUN -----------------------------------------------------

    glGlobalAlphaFactordSUN
      :: MonadIO m
      => GLdouble -- ^ @factor@.
      -> m ()
    glGlobalAlphaFactordSUN :: forall (m :: * -> *). MonadIO m => GLdouble -> m ()
    glGlobalAlphaFactordSUN GLdouble
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLdouble -> IO ()) -> GLdouble -> IO ()
    dyn84 FunPtr (GLdouble -> IO ())
    ptr_glGlobalAlphaFactordSUN GLdouble
    v1

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

    -- glGlobalAlphaFactorfSUN -----------------------------------------------------

    glGlobalAlphaFactorfSUN
      :: MonadIO m
      => GLfloat -- ^ @factor@.
      -> m ()
    glGlobalAlphaFactorfSUN :: forall (m :: * -> *). MonadIO m => GLfloat -> m ()
    glGlobalAlphaFactorfSUN GLfloat
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLfloat -> IO ()) -> GLfloat -> IO ()
    dyn85 FunPtr (GLfloat -> IO ())
    ptr_glGlobalAlphaFactorfSUN GLfloat
    v1

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

    -- glGlobalAlphaFactoriSUN -----------------------------------------------------

    glGlobalAlphaFactoriSUN
      :: MonadIO m
      => GLint -- ^ @factor@.
      -> m ()
    glGlobalAlphaFactoriSUN :: forall (m :: * -> *). MonadIO m => GLsizei -> m ()
    glGlobalAlphaFactoriSUN GLsizei
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLsizei -> IO ()) -> GLsizei -> IO ()
    dyn13 FunPtr (GLsizei -> IO ())
    ptr_glGlobalAlphaFactoriSUN GLsizei
    v1

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

    -- glGlobalAlphaFactorsSUN -----------------------------------------------------

    glGlobalAlphaFactorsSUN
      :: MonadIO m
      => GLshort -- ^ @factor@.
      -> m ()
    glGlobalAlphaFactorsSUN :: forall (m :: * -> *). MonadIO m => GLshort -> m ()
    glGlobalAlphaFactorsSUN GLshort
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLshort -> IO ()) -> GLshort -> IO ()
    dyn485 FunPtr (GLshort -> IO ())
    ptr_glGlobalAlphaFactorsSUN GLshort
    v1

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

    -- glGlobalAlphaFactorubSUN ----------------------------------------------------

    glGlobalAlphaFactorubSUN
      :: MonadIO m
      => GLubyte -- ^ @factor@.
      -> m ()
    glGlobalAlphaFactorubSUN :: forall (m :: * -> *). MonadIO m => GLboolean -> m ()
    glGlobalAlphaFactorubSUN GLboolean
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLboolean -> IO ()) -> GLboolean -> IO ()
    dyn486 FunPtr (GLboolean -> IO ())
    ptr_glGlobalAlphaFactorubSUN GLboolean
    v1

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

    -- glGlobalAlphaFactoruiSUN ----------------------------------------------------

    glGlobalAlphaFactoruiSUN
      :: MonadIO m
      => GLuint -- ^ @factor@.
      -> m ()
    glGlobalAlphaFactoruiSUN :: forall (m :: * -> *). MonadIO m => GLuint -> m ()
    glGlobalAlphaFactoruiSUN GLuint
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> IO ()) -> GLuint -> IO ()
    dyn3 FunPtr (GLuint -> IO ())
    ptr_glGlobalAlphaFactoruiSUN GLuint
    v1

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

    -- glGlobalAlphaFactorusSUN ----------------------------------------------------

    glGlobalAlphaFactorusSUN
      :: MonadIO m
      => GLushort -- ^ @factor@.
      -> m ()
    glGlobalAlphaFactorusSUN :: forall (m :: * -> *). MonadIO m => GLushort -> m ()
    glGlobalAlphaFactorusSUN GLushort
    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 (GLushort -> IO ()) -> GLushort -> IO ()
    dyn487 FunPtr (GLushort -> IO ())
    ptr_glGlobalAlphaFactorusSUN GLushort
    v1

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

    -- glHint ----------------------------------------------------------------------

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

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

    -- glHintPGI -------------------------------------------------------------------

    glHintPGI
      :: MonadIO m
      => GLenum -- ^ @target@ of type [HintTargetPGI](Graphics-GL-Groups.html#HintTargetPGI).
      -> GLint -- ^ @mode@.
      -> m ()
    glHintPGI :: forall (m :: * -> *). MonadIO m => GLuint -> GLsizei -> m ()
    glHintPGI GLuint
    v1 GLsizei
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLsizei -> IO ()) -> GLuint -> GLsizei -> IO ()
    dyn58 FunPtr (GLuint -> GLsizei -> IO ())
    ptr_glHintPGI GLuint
    v1 GLsizei
    v2

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

    -- glHistogram -----------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glHistogram.xml OpenGL 2.x>.
    glHistogram
      :: MonadIO m
      => GLenum -- ^ @target@ of type [HistogramTargetEXT](Graphics-GL-Groups.html#HistogramTargetEXT).
      -> GLsizei -- ^ @width@.
      -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
      -> GLboolean -- ^ @sink@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
      -> m ()
    glHistogram :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLsizei -> GLuint -> GLboolean -> m ()
    glHistogram GLuint
    v1 GLsizei
    v2 GLuint
    v3 GLboolean
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLsizei -> GLuint -> GLboolean -> IO ())
    -> GLuint -> GLsizei -> GLuint -> GLboolean -> IO ()
    dyn488 FunPtr (GLuint -> GLsizei -> GLuint -> GLboolean -> IO ())
    ptr_glHistogram GLuint
    v1 GLsizei
    v2 GLuint
    v3 GLboolean
    v4

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

    -- glHistogramEXT --------------------------------------------------------------

    -- | This command is an alias for 'glHistogram'.
    glHistogramEXT
      :: MonadIO m
      => GLenum -- ^ @target@ of type [HistogramTargetEXT](Graphics-GL-Groups.html#HistogramTargetEXT).
      -> GLsizei -- ^ @width@.
      -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
      -> GLboolean -- ^ @sink@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
      -> m ()
    glHistogramEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLsizei -> GLuint -> GLboolean -> m ()
    glHistogramEXT GLuint
    v1 GLsizei
    v2 GLuint
    v3 GLboolean
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLsizei -> GLuint -> GLboolean -> IO ())
    -> GLuint -> GLsizei -> GLuint -> GLboolean -> IO ()
    dyn488 FunPtr (GLuint -> GLsizei -> GLuint -> GLboolean -> IO ())
    ptr_glHistogramEXT GLuint
    v1 GLsizei
    v2 GLuint
    v3 GLboolean
    v4

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

    -- glIglooInterfaceSGIX --------------------------------------------------------

    glIglooInterfaceSGIX
      :: MonadIO m
      => GLenum -- ^ @pname@ of type [IglooFunctionSelectSGIX](Graphics-GL-Groups.html#IglooFunctionSelectSGIX).
      -> Ptr a -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @IglooParameterSGIX@.
      -> m ()
    glIglooInterfaceSGIX :: forall (m :: * -> *) a. MonadIO m => GLuint -> Ptr a -> m ()
    glIglooInterfaceSGIX GLuint
    v1 Ptr a
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> Ptr a -> IO ()) -> GLuint -> Ptr a -> IO ()
    forall a.
    FunPtr (GLuint -> Ptr a -> IO ()) -> GLuint -> Ptr a -> IO ()
    dyn238 FunPtr (GLuint -> Ptr a -> IO ())
    forall a. FunPtr (GLuint -> Ptr a -> IO ())
    ptr_glIglooInterfaceSGIX GLuint
    v1 Ptr a
    v2

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

    -- glImageTransformParameterfHP ------------------------------------------------

    glImageTransformParameterfHP
      :: MonadIO m
      => GLenum -- ^ @target@ of type [ImageTransformTargetHP](Graphics-GL-Groups.html#ImageTransformTargetHP).
      -> GLenum -- ^ @pname@ of type [ImageTransformPNameHP](Graphics-GL-Groups.html#ImageTransformPNameHP).
      -> GLfloat -- ^ @param@.
      -> m ()
    glImageTransformParameterfHP :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint -> GLfloat -> m ()
    glImageTransformParameterfHP GLuint
    v1 GLuint
    v2 GLfloat
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> GLfloat -> IO ())
    -> GLuint -> GLuint -> GLfloat -> IO ()
    dyn168 FunPtr (GLuint -> GLuint -> GLfloat -> IO ())
    ptr_glImageTransformParameterfHP GLuint
    v1 GLuint
    v2 GLfloat
    v3

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

    -- glImageTransformParameterfvHP -----------------------------------------------

    glImageTransformParameterfvHP
      :: 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 ()
    glImageTransformParameterfvHP :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint -> Ptr GLfloat -> m ()
    glImageTransformParameterfvHP GLuint
    v1 GLuint
    v2 Ptr GLfloat
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> Ptr GLfloat -> IO ())
    -> GLuint -> GLuint -> Ptr GLfloat -> IO ()
    dyn139 FunPtr (GLuint -> GLuint -> Ptr GLfloat -> IO ())
    ptr_glImageTransformParameterfvHP GLuint
    v1 GLuint
    v2 Ptr GLfloat
    v3

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

    -- glImageTransformParameteriHP ------------------------------------------------

    glImageTransformParameteriHP
      :: MonadIO m
      => GLenum -- ^ @target@ of type [ImageTransformTargetHP](Graphics-GL-Groups.html#ImageTransformTargetHP).
      -> GLenum -- ^ @pname@ of type [ImageTransformPNameHP](Graphics-GL-Groups.html#ImageTransformPNameHP).
      -> GLint -- ^ @param@.
      -> m ()
    glImageTransformParameteriHP :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint -> GLsizei -> m ()
    glImageTransformParameteriHP GLuint
    v1 GLuint
    v2 GLsizei
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> GLsizei -> IO ())
    -> GLuint -> GLuint -> GLsizei -> IO ()
    dyn66 FunPtr (GLuint -> GLuint -> GLsizei -> IO ())
    ptr_glImageTransformParameteriHP GLuint
    v1 GLuint
    v2 GLsizei
    v3

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

    -- glImageTransformParameterivHP -----------------------------------------------

    glImageTransformParameterivHP
      :: 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 ()
    glImageTransformParameterivHP :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint -> Ptr GLsizei -> m ()
    glImageTransformParameterivHP GLuint
    v1 GLuint
    v2 Ptr GLsizei
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> Ptr GLsizei -> IO ())
    -> GLuint -> GLuint -> Ptr GLsizei -> IO ()
    dyn140 FunPtr (GLuint -> GLuint -> Ptr GLsizei -> IO ())
    ptr_glImageTransformParameterivHP GLuint
    v1 GLuint
    v2 Ptr GLsizei
    v3

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

    -- glImportMemoryFdEXT ---------------------------------------------------------

    glImportMemoryFdEXT
      :: MonadIO m
      => GLuint -- ^ @memory@.
      -> GLuint64 -- ^ @size@.
      -> GLenum -- ^ @handleType@ of type [ExternalHandleType](Graphics-GL-Groups.html#ExternalHandleType).
      -> GLint -- ^ @fd@.
      -> m ()
    glImportMemoryFdEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint64 -> GLuint -> GLsizei -> m ()
    glImportMemoryFdEXT GLuint
    v1 GLuint64
    v2 GLuint
    v3 GLsizei
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint64 -> GLuint -> GLsizei -> IO ())
    -> GLuint -> GLuint64 -> GLuint -> GLsizei -> IO ()
    dyn489 FunPtr (GLuint -> GLuint64 -> GLuint -> GLsizei -> IO ())
    ptr_glImportMemoryFdEXT GLuint
    v1 GLuint64
    v2 GLuint
    v3 GLsizei
    v4

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

    -- glImportMemoryWin32HandleEXT ------------------------------------------------

    glImportMemoryWin32HandleEXT
      :: MonadIO m
      => GLuint -- ^ @memory@.
      -> GLuint64 -- ^ @size@.
      -> GLenum -- ^ @handleType@ of type [ExternalHandleType](Graphics-GL-Groups.html#ExternalHandleType).
      -> Ptr a -- ^ @handle@.
      -> m ()
    glImportMemoryWin32HandleEXT :: forall (m :: * -> *) a.
    MonadIO m =>
    GLuint -> GLuint64 -> GLuint -> Ptr a -> m ()
    glImportMemoryWin32HandleEXT GLuint
    v1 GLuint64
    v2 GLuint
    v3 Ptr a
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint64 -> GLuint -> Ptr a -> IO ())
    -> GLuint -> GLuint64 -> GLuint -> Ptr a -> IO ()
    forall a.
    FunPtr (GLuint -> GLuint64 -> GLuint -> Ptr a -> IO ())
    -> GLuint -> GLuint64 -> GLuint -> Ptr a -> IO ()
    dyn490 FunPtr (GLuint -> GLuint64 -> GLuint -> Ptr a -> IO ())
    forall a. FunPtr (GLuint -> GLuint64 -> GLuint -> Ptr a -> IO ())
    ptr_glImportMemoryWin32HandleEXT GLuint
    v1 GLuint64
    v2 GLuint
    v3 Ptr a
    v4

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

    -- glImportMemoryWin32NameEXT --------------------------------------------------

    glImportMemoryWin32NameEXT
      :: MonadIO m
      => GLuint -- ^ @memory@.
      -> GLuint64 -- ^ @size@.
      -> GLenum -- ^ @handleType@ of type [ExternalHandleType](Graphics-GL-Groups.html#ExternalHandleType).
      -> Ptr a -- ^ @name@.
      -> m ()
    glImportMemoryWin32NameEXT :: forall (m :: * -> *) a.
    MonadIO m =>
    GLuint -> GLuint64 -> GLuint -> Ptr a -> m ()
    glImportMemoryWin32NameEXT GLuint
    v1 GLuint64
    v2 GLuint
    v3 Ptr a
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint64 -> GLuint -> Ptr a -> IO ())
    -> GLuint -> GLuint64 -> GLuint -> Ptr a -> IO ()
    forall a.
    FunPtr (GLuint -> GLuint64 -> GLuint -> Ptr a -> IO ())
    -> GLuint -> GLuint64 -> GLuint -> Ptr a -> IO ()
    dyn490 FunPtr (GLuint -> GLuint64 -> GLuint -> Ptr a -> IO ())
    forall a. FunPtr (GLuint -> GLuint64 -> GLuint -> Ptr a -> IO ())
    ptr_glImportMemoryWin32NameEXT GLuint
    v1 GLuint64
    v2 GLuint
    v3 Ptr a
    v4

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

    -- glImportSemaphoreFdEXT ------------------------------------------------------

    glImportSemaphoreFdEXT
      :: MonadIO m
      => GLuint -- ^ @semaphore@.
      -> GLenum -- ^ @handleType@ of type [ExternalHandleType](Graphics-GL-Groups.html#ExternalHandleType).
      -> GLint -- ^ @fd@.
      -> m ()
    glImportSemaphoreFdEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint -> GLsizei -> m ()
    glImportSemaphoreFdEXT GLuint
    v1 GLuint
    v2 GLsizei
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> GLsizei -> IO ())
    -> GLuint -> GLuint -> GLsizei -> IO ()
    dyn491 FunPtr (GLuint -> GLuint -> GLsizei -> IO ())
    ptr_glImportSemaphoreFdEXT GLuint
    v1 GLuint
    v2 GLsizei
    v3

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

    -- glImportSemaphoreWin32HandleEXT ---------------------------------------------

    glImportSemaphoreWin32HandleEXT
      :: MonadIO m
      => GLuint -- ^ @semaphore@.
      -> GLenum -- ^ @handleType@ of type [ExternalHandleType](Graphics-GL-Groups.html#ExternalHandleType).
      -> Ptr a -- ^ @handle@.
      -> m ()
    glImportSemaphoreWin32HandleEXT :: forall (m :: * -> *) a.
    MonadIO m =>
    GLuint -> GLuint -> Ptr a -> m ()
    glImportSemaphoreWin32HandleEXT GLuint
    v1 GLuint
    v2 Ptr a
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> Ptr a -> IO ())
    -> GLuint -> GLuint -> Ptr a -> IO ()
    forall a.
    FunPtr (GLuint -> GLuint -> Ptr a -> IO ())
    -> GLuint -> GLuint -> Ptr a -> IO ()
    dyn492 FunPtr (GLuint -> GLuint -> Ptr a -> IO ())
    forall a. FunPtr (GLuint -> GLuint -> Ptr a -> IO ())
    ptr_glImportSemaphoreWin32HandleEXT GLuint
    v1 GLuint
    v2 Ptr a
    v3

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

    -- glImportSemaphoreWin32NameEXT -----------------------------------------------

    glImportSemaphoreWin32NameEXT
      :: MonadIO m
      => GLuint -- ^ @semaphore@.
      -> GLenum -- ^ @handleType@ of type [ExternalHandleType](Graphics-GL-Groups.html#ExternalHandleType).
      -> Ptr a -- ^ @name@.
      -> m ()
    glImportSemaphoreWin32NameEXT :: forall (m :: * -> *) a.
    MonadIO m =>
    GLuint -> GLuint -> Ptr a -> m ()
    glImportSemaphoreWin32NameEXT GLuint
    v1 GLuint
    v2 Ptr a
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> Ptr a -> IO ())
    -> GLuint -> GLuint -> Ptr a -> IO ()
    forall a.
    FunPtr (GLuint -> GLuint -> Ptr a -> IO ())
    -> GLuint -> GLuint -> Ptr a -> IO ()
    dyn492 FunPtr (GLuint -> GLuint -> Ptr a -> IO ())
    forall a. FunPtr (GLuint -> GLuint -> Ptr a -> IO ())
    ptr_glImportSemaphoreWin32NameEXT GLuint
    v1 GLuint
    v2 Ptr a
    v3

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

    -- glImportSyncEXT -------------------------------------------------------------

    glImportSyncEXT
      :: MonadIO m
      => GLenum -- ^ @external_sync_type@.
      -> GLintptr -- ^ @external_sync@.
      -> GLbitfield -- ^ @flags@.
      -> m GLsync -- ^ of type @sync@.
    glImportSyncEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLintptr -> GLuint -> m GLsync
    glImportSyncEXT GLuint
    v1 GLintptr
    v2 GLuint
    v3 = IO GLsync -> m GLsync
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO GLsync -> m GLsync) -> IO GLsync -> m GLsync
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLintptr -> GLuint -> IO GLsync)
    -> GLuint -> GLintptr -> GLuint -> IO GLsync
    dyn493 FunPtr (GLuint -> GLintptr -> GLuint -> IO GLsync)
    ptr_glImportSyncEXT GLuint
    v1 GLintptr
    v2 GLuint
    v3

    {-# NOINLINE ptr_glImportSyncEXT #-}
    ptr_glImportSyncEXT :: FunPtr (GLenum -> GLintptr -> GLbitfield -> IO GLsync)
    ptr_glImportSyncEXT :: FunPtr (GLuint -> GLintptr -> GLuint -> IO GLsync)
    ptr_glImportSyncEXT = IO (FunPtr (GLuint -> GLintptr -> GLuint -> IO GLsync))
    -> FunPtr (GLuint -> GLintptr -> GLuint -> IO GLsync)
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (GLuint -> GLintptr -> GLuint -> IO GLsync))
     -> FunPtr (GLuint -> GLintptr -> GLuint -> IO GLsync))
    -> IO (FunPtr (GLuint -> GLintptr -> GLuint -> IO GLsync))
    -> FunPtr (GLuint -> GLintptr -> GLuint -> IO GLsync)
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (GLuint -> GLintptr -> GLuint -> IO GLsync))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glImportSyncEXT"

    -- glIndexFormatNV -------------------------------------------------------------

    glIndexFormatNV
      :: MonadIO m
      => GLenum -- ^ @type@.
      -> GLsizei -- ^ @stride@.
      -> m ()
    glIndexFormatNV :: forall (m :: * -> *). MonadIO m => GLuint -> GLsizei -> m ()
    glIndexFormatNV GLuint
    v1 GLsizei
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLsizei -> IO ()) -> GLuint -> GLsizei -> IO ()
    dyn247 FunPtr (GLuint -> GLsizei -> IO ())
    ptr_glIndexFormatNV GLuint
    v1 GLsizei
    v2

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

    -- glIndexFuncEXT --------------------------------------------------------------

    glIndexFuncEXT
      :: MonadIO m
      => GLenum -- ^ @func@ of type [IndexFunctionEXT](Graphics-GL-Groups.html#IndexFunctionEXT).
      -> GLclampf -- ^ @ref@ of type @ClampedFloat32@.
      -> m ()
    glIndexFuncEXT :: forall (m :: * -> *). MonadIO m => GLuint -> GLfloat -> m ()
    glIndexFuncEXT GLuint
    v1 GLfloat
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLfloat -> IO ()) -> GLuint -> GLfloat -> IO ()
    dyn10 FunPtr (GLuint -> GLfloat -> IO ())
    ptr_glIndexFuncEXT GLuint
    v1 GLfloat
    v2

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

    -- glIndexMask -----------------------------------------------------------------

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

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

    -- glIndexMaterialEXT ----------------------------------------------------------

    glIndexMaterialEXT
      :: MonadIO m
      => GLenum -- ^ @face@ of type [MaterialFace](Graphics-GL-Groups.html#MaterialFace).
      -> GLenum -- ^ @mode@ of type [IndexMaterialParameterEXT](Graphics-GL-Groups.html#IndexMaterialParameterEXT).
      -> m ()
    glIndexMaterialEXT :: forall (m :: * -> *). MonadIO m => GLuint -> GLuint -> m ()
    glIndexMaterialEXT GLuint
    v1 GLuint
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> IO ()) -> GLuint -> GLuint -> IO ()
    dyn54 FunPtr (GLuint -> GLuint -> IO ())
    ptr_glIndexMaterialEXT GLuint
    v1 GLuint
    v2

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

    -- glIndexPointer --------------------------------------------------------------

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

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

    -- glIndexPointerEXT -----------------------------------------------------------

    glIndexPointerEXT
      :: MonadIO m
      => GLenum -- ^ @type@ of type [IndexPointerType](Graphics-GL-Groups.html#IndexPointerType).
      -> GLsizei -- ^ @stride@.
      -> GLsizei -- ^ @count@.
      -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(type,stride,count)@ elements of type @a@.
      -> m ()
    glIndexPointerEXT :: forall (m :: * -> *) a.
    MonadIO m =>
    GLuint -> GLsizei -> GLsizei -> Ptr a -> m ()
    glIndexPointerEXT GLuint
    v1 GLsizei
    v2 GLsizei
    v3 Ptr a
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLsizei -> GLsizei -> Ptr a -> IO ())
    -> GLuint -> GLsizei -> GLsizei -> Ptr a -> IO ()
    forall a.
    FunPtr (GLuint -> GLsizei -> GLsizei -> Ptr a -> IO ())
    -> GLuint -> GLsizei -> GLsizei -> Ptr a -> IO ()
    dyn494 FunPtr (GLuint -> GLsizei -> GLsizei -> Ptr a -> IO ())
    forall a. FunPtr (GLuint -> GLsizei -> GLsizei -> Ptr a -> IO ())
    ptr_glIndexPointerEXT GLuint
    v1 GLsizei
    v2 GLsizei
    v3 Ptr a
    v4

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

    -- glIndexPointerListIBM -------------------------------------------------------

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

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

    -- glIndexd --------------------------------------------------------------------

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

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

    -- glIndexdv -------------------------------------------------------------------

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

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

    -- glIndexf --------------------------------------------------------------------

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

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

    -- glIndexfv -------------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glIndex.xml OpenGL 2.x>.
    glIndexfv
      :: MonadIO m
      => Ptr GLfloat -- ^ @c@ pointing to @1@ element of type @ColorIndexValueF@.
      -> m ()
    glIndexfv :: forall (m :: * -> *). MonadIO m => Ptr GLfloat -> m ()
    glIndexfv 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_glIndexfv Ptr GLfloat
    v1

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

    -- glIndexi --------------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glIndex.xml OpenGL 2.x>. The vector equivalent of this command is 'glIndexiv'.
    glIndexi
      :: MonadIO m
      => GLint -- ^ @c@ of type @ColorIndexValueI@.
      -> m ()
    glIndexi :: forall (m :: * -> *). MonadIO m => GLsizei -> m ()
    glIndexi GLsizei
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLsizei -> IO ()) -> GLsizei -> IO ()
    dyn13 FunPtr (GLsizei -> IO ())
    ptr_glIndexi GLsizei
    v1

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

    -- glIndexiv -------------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glIndex.xml OpenGL 2.x>.
    glIndexiv
      :: MonadIO m
      => Ptr GLint -- ^ @c@ pointing to @1@ element of type @ColorIndexValueI@.
      -> m ()
    glIndexiv :: forall (m :: * -> *). MonadIO m => Ptr GLsizei -> m ()
    glIndexiv Ptr GLsizei
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (Ptr GLsizei -> IO ()) -> Ptr GLsizei -> IO ()
    dyn46 FunPtr (Ptr GLsizei -> IO ())
    ptr_glIndexiv Ptr GLsizei
    v1

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

    -- glIndexs --------------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glIndex.xml OpenGL 2.x>. The vector equivalent of this command is 'glIndexsv'.
    glIndexs
      :: MonadIO m
      => GLshort -- ^ @c@ of type @ColorIndexValueS@.
      -> m ()
    glIndexs :: forall (m :: * -> *). MonadIO m => GLshort -> m ()
    glIndexs GLshort
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLshort -> IO ()) -> GLshort -> IO ()
    dyn485 FunPtr (GLshort -> IO ())
    ptr_glIndexs GLshort
    v1

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

    -- glIndexsv -------------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glIndex.xml OpenGL 2.x>.
    glIndexsv
      :: MonadIO m
      => Ptr GLshort -- ^ @c@ pointing to @1@ element of type @ColorIndexValueS@.
      -> m ()
    glIndexsv :: forall (m :: * -> *). MonadIO m => Ptr GLshort -> m ()
    glIndexsv Ptr GLshort
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (Ptr GLshort -> IO ()) -> Ptr GLshort -> IO ()
    dyn48 FunPtr (Ptr GLshort -> IO ())
    ptr_glIndexsv Ptr GLshort
    v1

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

    -- glIndexub -------------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glIndex.xml OpenGL 2.x>. The vector equivalent of this command is 'glIndexubv'.
    glIndexub
      :: MonadIO m
      => GLubyte -- ^ @c@ of type @ColorIndexValueUB@.
      -> m ()
    glIndexub :: forall (m :: * -> *). MonadIO m => GLboolean -> m ()
    glIndexub GLboolean
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLboolean -> IO ()) -> GLboolean -> IO ()
    dyn486 FunPtr (GLboolean -> IO ())
    ptr_glIndexub GLboolean
    v1

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

    -- glIndexubv ------------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glIndex.xml OpenGL 2.x>.
    glIndexubv
      :: MonadIO m
      => Ptr GLubyte -- ^ @c@ pointing to @1@ element of type @ColorIndexValueUB@.
      -> m ()
    glIndexubv :: forall (m :: * -> *). MonadIO m => Ptr GLboolean -> m ()
    glIndexubv Ptr GLboolean
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (Ptr GLboolean -> IO ()) -> Ptr GLboolean -> IO ()
    dyn108 FunPtr (Ptr GLboolean -> IO ())
    ptr_glIndexubv Ptr GLboolean
    v1

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

    -- glIndexxOES -----------------------------------------------------------------

    glIndexxOES
      :: MonadIO m
      => GLfixed -- ^ @component@.
      -> m ()
    glIndexxOES :: forall (m :: * -> *). MonadIO m => GLfixed -> m ()
    glIndexxOES GLfixed
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLfixed -> IO ()) -> GLfixed -> IO ()
    dyn87 FunPtr (GLfixed -> IO ())
    ptr_glIndexxOES GLfixed
    v1

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

    -- glIndexxvOES ----------------------------------------------------------------

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

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

    -- glInitNames -----------------------------------------------------------------

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

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

    -- glInsertComponentEXT --------------------------------------------------------

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

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

    -- glInsertEventMarkerEXT ------------------------------------------------------

    glInsertEventMarkerEXT
      :: MonadIO m
      => GLsizei -- ^ @length@.
      -> Ptr GLchar -- ^ @marker@.
      -> m ()
    glInsertEventMarkerEXT :: forall (m :: * -> *). MonadIO m => GLsizei -> Ptr GLchar -> m ()
    glInsertEventMarkerEXT GLsizei
    v1 Ptr GLchar
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLsizei -> Ptr GLchar -> IO ())
    -> GLsizei -> Ptr GLchar -> IO ()
    dyn495 FunPtr (GLsizei -> Ptr GLchar -> IO ())
    ptr_glInsertEventMarkerEXT GLsizei
    v1 Ptr GLchar
    v2

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

    -- glInstrumentsBufferSGIX -----------------------------------------------------

    glInstrumentsBufferSGIX
      :: MonadIO m
      => GLsizei -- ^ @size@.
      -> Ptr GLint -- ^ @buffer@ pointing to @size@ elements of type @GLint@.
      -> m ()
    glInstrumentsBufferSGIX :: forall (m :: * -> *). MonadIO m => GLsizei -> Ptr GLsizei -> m ()
    glInstrumentsBufferSGIX GLsizei
    v1 Ptr GLsizei
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLsizei -> Ptr GLsizei -> IO ())
    -> GLsizei -> Ptr GLsizei -> IO ()
    dyn222 FunPtr (GLsizei -> Ptr GLsizei -> IO ())
    ptr_glInstrumentsBufferSGIX GLsizei
    v1 Ptr GLsizei
    v2

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

    -- glInterleavedArrays ---------------------------------------------------------

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

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

    -- glInterpolatePathsNV --------------------------------------------------------

    glInterpolatePathsNV
      :: MonadIO m
      => GLuint -- ^ @resultPath@ of type @Path@.
      -> GLuint -- ^ @pathA@ of type @Path@.
      -> GLuint -- ^ @pathB@ of type @Path@.
      -> GLfloat -- ^ @weight@.
      -> m ()
    glInterpolatePathsNV :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLuint -> GLuint -> GLfloat -> m ()
    glInterpolatePathsNV GLuint
    v1 GLuint
    v2 GLuint
    v3 GLfloat
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLuint -> GLuint -> GLfloat -> IO ())
    -> GLuint -> GLuint -> GLuint -> GLfloat -> IO ()
    dyn496 FunPtr (GLuint -> GLuint -> GLuint -> GLfloat -> IO ())
    ptr_glInterpolatePathsNV GLuint
    v1 GLuint
    v2 GLuint
    v3 GLfloat
    v4

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

    -- glInvalidateBufferData ------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glInvalidateBufferData.xhtml OpenGL 4.x>.
    glInvalidateBufferData
      :: MonadIO m
      => GLuint -- ^ @buffer@.
      -> m ()
    glInvalidateBufferData :: forall (m :: * -> *). MonadIO m => GLuint -> m ()
    glInvalidateBufferData GLuint
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> IO ()) -> GLuint -> IO ()
    dyn3 FunPtr (GLuint -> IO ())
    ptr_glInvalidateBufferData GLuint
    v1

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

    -- glInvalidateBufferSubData ---------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glInvalidateBufferSubData.xhtml OpenGL 4.x>.
    glInvalidateBufferSubData
      :: MonadIO m
      => GLuint -- ^ @buffer@.
      -> GLintptr -- ^ @offset@ of type @BufferOffset@.
      -> GLsizeiptr -- ^ @length@ of type @BufferSize@.
      -> m ()
    glInvalidateBufferSubData :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLintptr -> GLintptr -> m ()
    glInvalidateBufferSubData GLuint
    v1 GLintptr
    v2 GLintptr
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLintptr -> GLintptr -> IO ())
    -> GLuint -> GLintptr -> GLintptr -> IO ()
    dyn290 FunPtr (GLuint -> GLintptr -> GLintptr -> IO ())
    ptr_glInvalidateBufferSubData GLuint
    v1 GLintptr
    v2 GLintptr
    v3

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

    -- glInvalidateFramebuffer -----------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glInvalidateFramebuffer.xhtml OpenGL 4.x>.
    glInvalidateFramebuffer
      :: MonadIO m
      => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
      -> GLsizei -- ^ @numAttachments@.
      -> Ptr GLenum -- ^ @attachments@ pointing to @numAttachments@ elements of type [InvalidateFramebufferAttachment](Graphics-GL-Groups.html#InvalidateFramebufferAttachment).
      -> m ()
    glInvalidateFramebuffer :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLsizei -> Ptr GLuint -> m ()
    glInvalidateFramebuffer GLuint
    v1 GLsizei
    v2 Ptr GLuint
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLsizei -> Ptr GLuint -> IO ())
    -> GLuint -> GLsizei -> Ptr GLuint -> IO ()
    dyn234 FunPtr (GLuint -> GLsizei -> Ptr GLuint -> IO ())
    ptr_glInvalidateFramebuffer GLuint
    v1 GLsizei
    v2 Ptr GLuint
    v3

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

    -- glInvalidateNamedFramebufferData --------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glInvalidateFramebuffer.xhtml OpenGL 4.x>.
    glInvalidateNamedFramebufferData
      :: MonadIO m
      => GLuint -- ^ @framebuffer@.
      -> GLsizei -- ^ @numAttachments@.
      -> Ptr GLenum -- ^ @attachments@ pointing to elements of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
      -> m ()
    glInvalidateNamedFramebufferData :: forall (m :: * -> *).
    MonadIO m =>
    GLuint -> GLsizei -> Ptr GLuint -> m ()
    glInvalidateNamedFramebufferData GLuint
    v1 GLsizei
    v2 Ptr GLuint
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLuint -> GLsizei -> Ptr GLuint -> IO ())
    -> GLuint -> GLsizei -> Ptr GLuint -> IO ()
    dyn293 FunPtr (GLuint -> GLsizei -> Ptr GLuint -> IO ())
    ptr_glInvalidateNamedFramebufferData GLuint
    v1 GLsizei
    v2 Ptr GLuint
    v3

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

    -- glInvalidateNamedFramebufferSubData -----------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glInvalidateSubFramebuffer.xhtml OpenGL 4.x>.
    glInvalidateNamedFramebufferSubData
      :: MonadIO m
      => GLuint -- ^ @framebuffer@.
      -> GLsizei -- ^ @numAttachments@.
      -> Ptr GLenum -- ^ @attachments@ pointing to elements of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
      -> GLint -- ^ @x@.
      -> GLint -- ^ @y@.
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> m ()
    glInvalidateNamedFramebufferSubData :: forall (m :: * -> *).
    MonadIO m =>
    GLuint
    -> GLsizei
    -> Ptr GLuint
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> m ()
    glInvalidateNamedFramebufferSubData GLuint
    v1 GLsizei
    v2 Ptr GLuint
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLuint
       -> GLsizei
       -> Ptr GLuint
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> IO ())
    -> GLuint
    -> GLsizei
    -> Ptr GLuint
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> IO ()
    dyn497 FunPtr
      (GLuint
       -> GLsizei
       -> Ptr GLuint
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> IO ())
    ptr_glInvalidateNamedFramebufferSubData GLuint
    v1 GLsizei
    v2 Ptr GLuint
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7

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

    -- glInvalidateSubFramebuffer --------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glInvalidateSubFramebuffer.xhtml OpenGL 4.x>.
    glInvalidateSubFramebuffer
      :: MonadIO m
      => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
      -> GLsizei -- ^ @numAttachments@.
      -> Ptr GLenum -- ^ @attachments@ pointing to @numAttachments@ elements of type [InvalidateFramebufferAttachment](Graphics-GL-Groups.html#InvalidateFramebufferAttachment).
      -> GLint -- ^ @x@.
      -> GLint -- ^ @y@.
      -> GLsizei -- ^ @width@.
      -> GLsizei -- ^ @height@.
      -> m ()
    glInvalidateSubFramebuffer :: forall (m :: * -> *).
    MonadIO m =>
    GLuint
    -> GLsizei
    -> Ptr GLuint
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> m ()
    glInvalidateSubFramebuffer GLuint
    v1 GLsizei
    v2 Ptr GLuint
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLuint
       -> GLsizei
       -> Ptr GLuint
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> IO ())
    -> GLuint
    -> GLsizei
    -> Ptr GLuint
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> IO ()
    dyn498 FunPtr
      (GLuint
       -> GLsizei
       -> Ptr GLuint
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> IO ())
    ptr_glInvalidateSubFramebuffer GLuint
    v1 GLsizei
    v2 Ptr GLuint
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7

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