    {-# OPTIONS_HADDOCK hide #-}
    --------------------------------------------------------------------------------
    -- |
    -- Module      :  Graphics.GL.Functions.F20
    -- 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.F20 (
      glPixelMapuiv,
      glPixelMapusv,
      glPixelMapx,
      glPixelStoref,
      glPixelStorei,
      glPixelStorex,
      glPixelTexGenParameterfSGIS,
      glPixelTexGenParameterfvSGIS,
      glPixelTexGenParameteriSGIS,
      glPixelTexGenParameterivSGIS,
      glPixelTexGenSGIX,
      glPixelTransferf,
      glPixelTransferi,
      glPixelTransferxOES,
      glPixelTransformParameterfEXT,
      glPixelTransformParameterfvEXT,
      glPixelTransformParameteriEXT,
      glPixelTransformParameterivEXT,
      glPixelZoom,
      glPixelZoomxOES,
      glPointAlongPathNV,
      glPointParameterf,
      glPointParameterfARB,
      glPointParameterfEXT,
      glPointParameterfSGIS,
      glPointParameterfv,
      glPointParameterfvARB,
      glPointParameterfvEXT,
      glPointParameterfvSGIS,
      glPointParameteri,
      glPointParameteriNV,
      glPointParameteriv,
      glPointParameterivNV,
      glPointParameterx,
      glPointParameterxOES,
      glPointParameterxv,
      glPointParameterxvOES,
      glPointSize,
      glPointSizePointerOES,
      glPointSizex,
      glPointSizexOES,
      glPollAsyncSGIX,
      glPollInstrumentsSGIX,
      glPolygonMode,
      glPolygonModeNV,
      glPolygonOffset,
      glPolygonOffsetClamp,
      glPolygonOffsetClampEXT,
      glPolygonOffsetEXT,
      glPolygonOffsetx,
      glPolygonOffsetxOES,
      glPolygonStipple,
      glPopAttrib,
      glPopClientAttrib,
      glPopDebugGroup,
      glPopDebugGroupKHR,
      glPopGroupMarkerEXT,
      glPopMatrix,
      glPopName,
      glPresentFrameDualFillNV,
      glPresentFrameKeyedNV,
      glPrimitiveBoundingBox,
      glPrimitiveBoundingBoxARB,
      glPrimitiveBoundingBoxEXT,
      glPrimitiveBoundingBoxOES,
      glPrimitiveRestartIndex,
      glPrimitiveRestartIndexNV,
      glPrimitiveRestartNV,
      glPrioritizeTextures,
      glPrioritizeTexturesEXT,
      glPrioritizeTexturesxOES,
      glProgramBinary,
      glProgramBinaryOES,
      glProgramBufferParametersIivNV,
      glProgramBufferParametersIuivNV,
      glProgramBufferParametersfvNV,
      glProgramEnvParameter4dARB,
      glProgramEnvParameter4dvARB,
      glProgramEnvParameter4fARB,
      glProgramEnvParameter4fvARB,
      glProgramEnvParameterI4iNV,
      glProgramEnvParameterI4ivNV,
      glProgramEnvParameterI4uiNV,
      glProgramEnvParameterI4uivNV,
      glProgramEnvParameters4fvEXT,
      glProgramEnvParametersI4ivNV,
      glProgramEnvParametersI4uivNV,
      glProgramLocalParameter4dARB,
      glProgramLocalParameter4dvARB,
      glProgramLocalParameter4fARB,
      glProgramLocalParameter4fvARB,
      glProgramLocalParameterI4iNV,
      glProgramLocalParameterI4ivNV,
      glProgramLocalParameterI4uiNV,
      glProgramLocalParameterI4uivNV,
      glProgramLocalParameters4fvEXT,
      glProgramLocalParametersI4ivNV,
      glProgramLocalParametersI4uivNV,
      glProgramNamedParameter4dNV,
      glProgramNamedParameter4dvNV
    ) where

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

    -- glPixelMapuiv ---------------------------------------------------------------

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

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

    -- glPixelMapusv ---------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glPixelMap.xml OpenGL 2.x>.
    glPixelMapusv
      :: MonadIO m
      => GLenum -- ^ @map@ of type [PixelMap](Graphics-GL-Groups.html#PixelMap).
      -> GLsizei -- ^ @mapsize@ of type @CheckedInt32@.
      -> Ptr GLushort -- ^ @values@ pointing to @mapsize@ elements of type @GLushort@.
      -> m ()
    glPixelMapusv :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLsizei -> Ptr GLushort -> m ()
    glPixelMapusv GLenum
    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 (GLenum -> GLsizei -> Ptr GLushort -> IO ())
    -> GLenum -> GLsizei -> Ptr GLushort -> IO ()
    dyn474 FunPtr (GLenum -> GLsizei -> Ptr GLushort -> IO ())
    ptr_glPixelMapusv GLenum
    v1 GLsizei
    v2 Ptr GLushort
    v3

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

    -- glPixelMapx -----------------------------------------------------------------

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

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

    -- glPixelStoref ---------------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glPixelStore.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glPixelStore.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glPixelStore.xhtml OpenGL 4.x>.
    glPixelStoref
      :: MonadIO m
      => GLenum -- ^ @pname@ of type [PixelStoreParameter](Graphics-GL-Groups.html#PixelStoreParameter).
      -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
      -> m ()
    glPixelStoref :: forall (m :: * -> *). MonadIO m => GLenum -> GLfloat -> m ()
    glPixelStoref GLenum
    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 (GLenum -> GLfloat -> IO ()) -> GLenum -> GLfloat -> IO ()
    dyn0 FunPtr (GLenum -> GLfloat -> IO ())
    ptr_glPixelStoref GLenum
    v1 GLfloat
    v2

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

    -- glPixelStorei ---------------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glPixelStore.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glPixelStore.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glPixelStore.xhtml OpenGL 4.x>.
    glPixelStorei
      :: MonadIO m
      => GLenum -- ^ @pname@ of type [PixelStoreParameter](Graphics-GL-Groups.html#PixelStoreParameter).
      -> GLint -- ^ @param@ of type @CheckedInt32@.
      -> m ()
    glPixelStorei :: forall (m :: * -> *). MonadIO m => GLenum -> GLsizei -> m ()
    glPixelStorei GLenum
    v1 GLsizei
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLsizei -> IO ()) -> GLenum -> GLsizei -> IO ()
    dyn58 FunPtr (GLenum -> GLsizei -> IO ())
    ptr_glPixelStorei GLenum
    v1 GLsizei
    v2

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

    -- glPixelStorex ---------------------------------------------------------------

    glPixelStorex
      :: MonadIO m
      => GLenum -- ^ @pname@ of type [PixelStoreParameter](Graphics-GL-Groups.html#PixelStoreParameter).
      -> GLfixed -- ^ @param@.
      -> m ()
    glPixelStorex :: forall (m :: * -> *). MonadIO m => GLenum -> GLfixed -> m ()
    glPixelStorex GLenum
    v1 GLfixed
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLfixed -> IO ()) -> GLenum -> GLfixed -> IO ()
    dyn1 FunPtr (GLenum -> GLfixed -> IO ())
    ptr_glPixelStorex GLenum
    v1 GLfixed
    v2

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

    -- glPixelTexGenParameterfSGIS -------------------------------------------------

    glPixelTexGenParameterfSGIS
      :: MonadIO m
      => GLenum -- ^ @pname@ of type [PixelTexGenParameterNameSGIS](Graphics-GL-Groups.html#PixelTexGenParameterNameSGIS).
      -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
      -> m ()
    glPixelTexGenParameterfSGIS :: forall (m :: * -> *). MonadIO m => GLenum -> GLfloat -> m ()
    glPixelTexGenParameterfSGIS GLenum
    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 (GLenum -> GLfloat -> IO ()) -> GLenum -> GLfloat -> IO ()
    dyn0 FunPtr (GLenum -> GLfloat -> IO ())
    ptr_glPixelTexGenParameterfSGIS GLenum
    v1 GLfloat
    v2

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

    -- glPixelTexGenParameterfvSGIS ------------------------------------------------

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

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

    -- glPixelTexGenParameteriSGIS -------------------------------------------------

    glPixelTexGenParameteriSGIS
      :: MonadIO m
      => GLenum -- ^ @pname@ of type [PixelTexGenParameterNameSGIS](Graphics-GL-Groups.html#PixelTexGenParameterNameSGIS).
      -> GLint -- ^ @param@ of type @CheckedInt32@.
      -> m ()
    glPixelTexGenParameteriSGIS :: forall (m :: * -> *). MonadIO m => GLenum -> GLsizei -> m ()
    glPixelTexGenParameteriSGIS GLenum
    v1 GLsizei
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLsizei -> IO ()) -> GLenum -> GLsizei -> IO ()
    dyn58 FunPtr (GLenum -> GLsizei -> IO ())
    ptr_glPixelTexGenParameteriSGIS GLenum
    v1 GLsizei
    v2

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

    -- glPixelTexGenParameterivSGIS ------------------------------------------------

    glPixelTexGenParameterivSGIS
      :: MonadIO m
      => GLenum -- ^ @pname@ of type [PixelTexGenParameterNameSGIS](Graphics-GL-Groups.html#PixelTexGenParameterNameSGIS).
      -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
      -> m ()
    glPixelTexGenParameterivSGIS :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLsizei -> m ()
    glPixelTexGenParameterivSGIS GLenum
    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 (GLenum -> Ptr GLsizei -> IO ())
    -> GLenum -> Ptr GLsizei -> IO ()
    dyn143 FunPtr (GLenum -> Ptr GLsizei -> IO ())
    ptr_glPixelTexGenParameterivSGIS GLenum
    v1 Ptr GLsizei
    v2

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

    -- glPixelTexGenSGIX -----------------------------------------------------------

    glPixelTexGenSGIX
      :: MonadIO m
      => GLenum -- ^ @mode@ of type [PixelTexGenModeSGIX](Graphics-GL-Groups.html#PixelTexGenModeSGIX).
      -> m ()
    glPixelTexGenSGIX :: forall (m :: * -> *). MonadIO m => GLenum -> m ()
    glPixelTexGenSGIX GLenum
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> IO ()) -> GLenum -> IO ()
    dyn5 FunPtr (GLenum -> IO ())
    ptr_glPixelTexGenSGIX GLenum
    v1

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

    -- glPixelTransferf ------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glPixelTransfer.xml OpenGL 2.x>.
    glPixelTransferf
      :: MonadIO m
      => GLenum -- ^ @pname@ of type [PixelTransferParameter](Graphics-GL-Groups.html#PixelTransferParameter).
      -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
      -> m ()
    glPixelTransferf :: forall (m :: * -> *). MonadIO m => GLenum -> GLfloat -> m ()
    glPixelTransferf GLenum
    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 (GLenum -> GLfloat -> IO ()) -> GLenum -> GLfloat -> IO ()
    dyn0 FunPtr (GLenum -> GLfloat -> IO ())
    ptr_glPixelTransferf GLenum
    v1 GLfloat
    v2

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

    -- glPixelTransferi ------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glPixelTransfer.xml OpenGL 2.x>.
    glPixelTransferi
      :: MonadIO m
      => GLenum -- ^ @pname@ of type [PixelTransferParameter](Graphics-GL-Groups.html#PixelTransferParameter).
      -> GLint -- ^ @param@ of type @CheckedInt32@.
      -> m ()
    glPixelTransferi :: forall (m :: * -> *). MonadIO m => GLenum -> GLsizei -> m ()
    glPixelTransferi GLenum
    v1 GLsizei
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLsizei -> IO ()) -> GLenum -> GLsizei -> IO ()
    dyn58 FunPtr (GLenum -> GLsizei -> IO ())
    ptr_glPixelTransferi GLenum
    v1 GLsizei
    v2

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

    -- glPixelTransferxOES ---------------------------------------------------------

    glPixelTransferxOES
      :: MonadIO m
      => GLenum -- ^ @pname@ of type [PixelTransferParameter](Graphics-GL-Groups.html#PixelTransferParameter).
      -> GLfixed -- ^ @param@.
      -> m ()
    glPixelTransferxOES :: forall (m :: * -> *). MonadIO m => GLenum -> GLfixed -> m ()
    glPixelTransferxOES GLenum
    v1 GLfixed
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLfixed -> IO ()) -> GLenum -> GLfixed -> IO ()
    dyn1 FunPtr (GLenum -> GLfixed -> IO ())
    ptr_glPixelTransferxOES GLenum
    v1 GLfixed
    v2

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

    -- glPixelTransformParameterfEXT -----------------------------------------------

    glPixelTransformParameterfEXT
      :: MonadIO m
      => GLenum -- ^ @target@ of type [PixelTransformTargetEXT](Graphics-GL-Groups.html#PixelTransformTargetEXT).
      -> GLenum -- ^ @pname@ of type [PixelTransformPNameEXT](Graphics-GL-Groups.html#PixelTransformPNameEXT).
      -> GLfloat -- ^ @param@.
      -> m ()
    glPixelTransformParameterfEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLfloat -> m ()
    glPixelTransformParameterfEXT GLenum
    v1 GLenum
    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 (GLenum -> GLenum -> GLfloat -> IO ())
    -> GLenum -> GLenum -> GLfloat -> IO ()
    dyn168 FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
    ptr_glPixelTransformParameterfEXT GLenum
    v1 GLenum
    v2 GLfloat
    v3

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

    -- glPixelTransformParameterfvEXT ----------------------------------------------

    glPixelTransformParameterfvEXT
      :: MonadIO m
      => GLenum -- ^ @target@ of type [PixelTransformTargetEXT](Graphics-GL-Groups.html#PixelTransformTargetEXT).
      -> GLenum -- ^ @pname@ of type [PixelTransformPNameEXT](Graphics-GL-Groups.html#PixelTransformPNameEXT).
      -> Ptr GLfloat -- ^ @params@ pointing to @1@ element of type @GLfloat@.
      -> m ()
    glPixelTransformParameterfvEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLfloat -> m ()
    glPixelTransformParameterfvEXT GLenum
    v1 GLenum
    v2 Ptr GLfloat
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
    -> GLenum -> GLenum -> Ptr GLfloat -> IO ()
    dyn139 FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
    ptr_glPixelTransformParameterfvEXT GLenum
    v1 GLenum
    v2 Ptr GLfloat
    v3

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

    -- glPixelTransformParameteriEXT -----------------------------------------------

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

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

    -- glPixelTransformParameterivEXT ----------------------------------------------

    glPixelTransformParameterivEXT
      :: MonadIO m
      => GLenum -- ^ @target@ of type [PixelTransformTargetEXT](Graphics-GL-Groups.html#PixelTransformTargetEXT).
      -> GLenum -- ^ @pname@ of type [PixelTransformPNameEXT](Graphics-GL-Groups.html#PixelTransformPNameEXT).
      -> Ptr GLint -- ^ @params@ pointing to @1@ element of type @GLint@.
      -> m ()
    glPixelTransformParameterivEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> Ptr GLsizei -> m ()
    glPixelTransformParameterivEXT GLenum
    v1 GLenum
    v2 Ptr GLsizei
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
    -> GLenum -> GLenum -> Ptr GLsizei -> IO ()
    dyn140 FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
    ptr_glPixelTransformParameterivEXT GLenum
    v1 GLenum
    v2 Ptr GLsizei
    v3

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

    -- glPixelZoom -----------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glPixelZoom.xml OpenGL 2.x>.
    glPixelZoom
      :: MonadIO m
      => GLfloat -- ^ @xfactor@.
      -> GLfloat -- ^ @yfactor@.
      -> m ()
    glPixelZoom :: forall (m :: * -> *). MonadIO m => GLfloat -> GLfloat -> m ()
    glPixelZoom GLfloat
    v1 GLfloat
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLfloat -> GLfloat -> IO ()) -> GLfloat -> GLfloat -> IO ()
    dyn230 FunPtr (GLfloat -> GLfloat -> IO ())
    ptr_glPixelZoom GLfloat
    v1 GLfloat
    v2

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

    -- glPixelZoomxOES -------------------------------------------------------------

    glPixelZoomxOES
      :: MonadIO m
      => GLfixed -- ^ @xfactor@.
      -> GLfixed -- ^ @yfactor@.
      -> m ()
    glPixelZoomxOES :: forall (m :: * -> *). MonadIO m => GLfixed -> GLfixed -> m ()
    glPixelZoomxOES GLfixed
    v1 GLfixed
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLfixed -> GLfixed -> IO ()) -> GLfixed -> GLfixed -> IO ()
    dyn232 FunPtr (GLfixed -> GLfixed -> IO ())
    ptr_glPixelZoomxOES GLfixed
    v1 GLfixed
    v2

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

    -- glPointAlongPathNV ----------------------------------------------------------

    glPointAlongPathNV
      :: MonadIO m
      => GLuint -- ^ @path@ of type @Path@.
      -> GLsizei -- ^ @startSegment@.
      -> GLsizei -- ^ @numSegments@.
      -> GLfloat -- ^ @distance@.
      -> Ptr GLfloat -- ^ @x@ pointing to @1@ element of type @GLfloat@.
      -> Ptr GLfloat -- ^ @y@ pointing to @1@ element of type @GLfloat@.
      -> Ptr GLfloat -- ^ @tangentX@ pointing to @1@ element of type @GLfloat@.
      -> Ptr GLfloat -- ^ @tangentY@ pointing to @1@ element of type @GLfloat@.
      -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
    glPointAlongPathNV :: forall (m :: * -> *).
    MonadIO m =>
    GLenum
    -> GLsizei
    -> GLsizei
    -> GLfloat
    -> Ptr GLfloat
    -> Ptr GLfloat
    -> Ptr GLfloat
    -> Ptr GLfloat
    -> m GLboolean
    glPointAlongPathNV GLenum
    v1 GLsizei
    v2 GLsizei
    v3 GLfloat
    v4 Ptr GLfloat
    v5 Ptr GLfloat
    v6 Ptr GLfloat
    v7 Ptr GLfloat
    v8 = IO GLboolean -> m GLboolean
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO GLboolean -> m GLboolean) -> IO GLboolean -> m GLboolean
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLenum
       -> GLsizei
       -> GLsizei
       -> GLfloat
       -> Ptr GLfloat
       -> Ptr GLfloat
       -> Ptr GLfloat
       -> Ptr GLfloat
       -> IO GLboolean)
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLfloat
    -> Ptr GLfloat
    -> Ptr GLfloat
    -> Ptr GLfloat
    -> Ptr GLfloat
    -> IO GLboolean
    dyn648 FunPtr
      (GLenum
       -> GLsizei
       -> GLsizei
       -> GLfloat
       -> Ptr GLfloat
       -> Ptr GLfloat
       -> Ptr GLfloat
       -> Ptr GLfloat
       -> IO GLboolean)
    ptr_glPointAlongPathNV GLenum
    v1 GLsizei
    v2 GLsizei
    v3 GLfloat
    v4 Ptr GLfloat
    v5 Ptr GLfloat
    v6 Ptr GLfloat
    v7 Ptr GLfloat
    v8

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

    -- glPointParameterf -----------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glPointParameter.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glPointParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glPointParameter.xhtml OpenGL 4.x>.
    glPointParameterf
      :: MonadIO m
      => GLenum -- ^ @pname@ of type [PointParameterNameARB](Graphics-GL-Groups.html#PointParameterNameARB).
      -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
      -> m ()
    glPointParameterf :: forall (m :: * -> *). MonadIO m => GLenum -> GLfloat -> m ()
    glPointParameterf GLenum
    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 (GLenum -> GLfloat -> IO ()) -> GLenum -> GLfloat -> IO ()
    dyn0 FunPtr (GLenum -> GLfloat -> IO ())
    ptr_glPointParameterf GLenum
    v1 GLfloat
    v2

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

    -- glPointParameterfARB --------------------------------------------------------

    -- | This command is an alias for 'glPointParameterf'.
    glPointParameterfARB
      :: MonadIO m
      => GLenum -- ^ @pname@ of type [PointParameterNameARB](Graphics-GL-Groups.html#PointParameterNameARB).
      -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
      -> m ()
    glPointParameterfARB :: forall (m :: * -> *). MonadIO m => GLenum -> GLfloat -> m ()
    glPointParameterfARB GLenum
    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 (GLenum -> GLfloat -> IO ()) -> GLenum -> GLfloat -> IO ()
    dyn0 FunPtr (GLenum -> GLfloat -> IO ())
    ptr_glPointParameterfARB GLenum
    v1 GLfloat
    v2

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

    -- glPointParameterfEXT --------------------------------------------------------

    -- | This command is an alias for 'glPointParameterf'.
    glPointParameterfEXT
      :: MonadIO m
      => GLenum -- ^ @pname@ of type [PointParameterNameARB](Graphics-GL-Groups.html#PointParameterNameARB).
      -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
      -> m ()
    glPointParameterfEXT :: forall (m :: * -> *). MonadIO m => GLenum -> GLfloat -> m ()
    glPointParameterfEXT GLenum
    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 (GLenum -> GLfloat -> IO ()) -> GLenum -> GLfloat -> IO ()
    dyn0 FunPtr (GLenum -> GLfloat -> IO ())
    ptr_glPointParameterfEXT GLenum
    v1 GLfloat
    v2

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

    -- glPointParameterfSGIS -------------------------------------------------------

    -- | This command is an alias for 'glPointParameterf'.
    glPointParameterfSGIS
      :: MonadIO m
      => GLenum -- ^ @pname@ of type [PointParameterNameARB](Graphics-GL-Groups.html#PointParameterNameARB).
      -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
      -> m ()
    glPointParameterfSGIS :: forall (m :: * -> *). MonadIO m => GLenum -> GLfloat -> m ()
    glPointParameterfSGIS GLenum
    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 (GLenum -> GLfloat -> IO ()) -> GLenum -> GLfloat -> IO ()
    dyn0 FunPtr (GLenum -> GLfloat -> IO ())
    ptr_glPointParameterfSGIS GLenum
    v1 GLfloat
    v2

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

    -- glPointParameterfv ----------------------------------------------------------

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

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

    -- glPointParameterfvARB -------------------------------------------------------

    -- | This command is an alias for 'glPointParameterfv'.
    glPointParameterfvARB
      :: MonadIO m
      => GLenum -- ^ @pname@ of type [PointParameterNameARB](Graphics-GL-Groups.html#PointParameterNameARB).
      -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
      -> m ()
    glPointParameterfvARB :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLfloat -> m ()
    glPointParameterfvARB GLenum
    v1 Ptr GLfloat
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> Ptr GLfloat -> IO ())
    -> GLenum -> Ptr GLfloat -> IO ()
    dyn101 FunPtr (GLenum -> Ptr GLfloat -> IO ())
    ptr_glPointParameterfvARB GLenum
    v1 Ptr GLfloat
    v2

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

    -- glPointParameterfvEXT -------------------------------------------------------

    -- | This command is an alias for 'glPointParameterfv'.
    glPointParameterfvEXT
      :: MonadIO m
      => GLenum -- ^ @pname@ of type [PointParameterNameARB](Graphics-GL-Groups.html#PointParameterNameARB).
      -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
      -> m ()
    glPointParameterfvEXT :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLfloat -> m ()
    glPointParameterfvEXT GLenum
    v1 Ptr GLfloat
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> Ptr GLfloat -> IO ())
    -> GLenum -> Ptr GLfloat -> IO ()
    dyn101 FunPtr (GLenum -> Ptr GLfloat -> IO ())
    ptr_glPointParameterfvEXT GLenum
    v1 Ptr GLfloat
    v2

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

    -- glPointParameterfvSGIS ------------------------------------------------------

    -- | This command is an alias for 'glPointParameterfv'.
    glPointParameterfvSGIS
      :: MonadIO m
      => GLenum -- ^ @pname@ of type [PointParameterNameARB](Graphics-GL-Groups.html#PointParameterNameARB).
      -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
      -> m ()
    glPointParameterfvSGIS :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLfloat -> m ()
    glPointParameterfvSGIS GLenum
    v1 Ptr GLfloat
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> Ptr GLfloat -> IO ())
    -> GLenum -> Ptr GLfloat -> IO ()
    dyn101 FunPtr (GLenum -> Ptr GLfloat -> IO ())
    ptr_glPointParameterfvSGIS GLenum
    v1 Ptr GLfloat
    v2

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

    -- glPointParameteri -----------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glPointParameter.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glPointParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glPointParameter.xhtml OpenGL 4.x>.
    glPointParameteri
      :: MonadIO m
      => GLenum -- ^ @pname@ of type [PointParameterNameARB](Graphics-GL-Groups.html#PointParameterNameARB).
      -> GLint -- ^ @param@.
      -> m ()
    glPointParameteri :: forall (m :: * -> *). MonadIO m => GLenum -> GLsizei -> m ()
    glPointParameteri GLenum
    v1 GLsizei
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLsizei -> IO ()) -> GLenum -> GLsizei -> IO ()
    dyn58 FunPtr (GLenum -> GLsizei -> IO ())
    ptr_glPointParameteri GLenum
    v1 GLsizei
    v2

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

    -- glPointParameteriNV ---------------------------------------------------------

    -- | This command is an alias for 'glPointParameteri'.
    glPointParameteriNV
      :: MonadIO m
      => GLenum -- ^ @pname@ of type [PointParameterNameARB](Graphics-GL-Groups.html#PointParameterNameARB).
      -> GLint -- ^ @param@.
      -> m ()
    glPointParameteriNV :: forall (m :: * -> *). MonadIO m => GLenum -> GLsizei -> m ()
    glPointParameteriNV GLenum
    v1 GLsizei
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLsizei -> IO ()) -> GLenum -> GLsizei -> IO ()
    dyn58 FunPtr (GLenum -> GLsizei -> IO ())
    ptr_glPointParameteriNV GLenum
    v1 GLsizei
    v2

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

    -- glPointParameteriv ----------------------------------------------------------

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

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

    -- glPointParameterivNV --------------------------------------------------------

    -- | This command is an alias for 'glPointParameteriv'.
    glPointParameterivNV
      :: MonadIO m
      => GLenum -- ^ @pname@ of type [PointParameterNameARB](Graphics-GL-Groups.html#PointParameterNameARB).
      -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
      -> m ()
    glPointParameterivNV :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLsizei -> m ()
    glPointParameterivNV GLenum
    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 (GLenum -> Ptr GLsizei -> IO ())
    -> GLenum -> Ptr GLsizei -> IO ()
    dyn143 FunPtr (GLenum -> Ptr GLsizei -> IO ())
    ptr_glPointParameterivNV GLenum
    v1 Ptr GLsizei
    v2

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

    -- glPointParameterx -----------------------------------------------------------

    glPointParameterx
      :: MonadIO m
      => GLenum -- ^ @pname@ of type [PointParameterNameARB](Graphics-GL-Groups.html#PointParameterNameARB).
      -> GLfixed -- ^ @param@.
      -> m ()
    glPointParameterx :: forall (m :: * -> *). MonadIO m => GLenum -> GLfixed -> m ()
    glPointParameterx GLenum
    v1 GLfixed
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLfixed -> IO ()) -> GLenum -> GLfixed -> IO ()
    dyn1 FunPtr (GLenum -> GLfixed -> IO ())
    ptr_glPointParameterx GLenum
    v1 GLfixed
    v2

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

    -- glPointParameterxOES --------------------------------------------------------

    glPointParameterxOES
      :: MonadIO m
      => GLenum -- ^ @pname@ of type [PointParameterNameARB](Graphics-GL-Groups.html#PointParameterNameARB).
      -> GLfixed -- ^ @param@.
      -> m ()
    glPointParameterxOES :: forall (m :: * -> *). MonadIO m => GLenum -> GLfixed -> m ()
    glPointParameterxOES GLenum
    v1 GLfixed
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLfixed -> IO ()) -> GLenum -> GLfixed -> IO ()
    dyn1 FunPtr (GLenum -> GLfixed -> IO ())
    ptr_glPointParameterxOES GLenum
    v1 GLfixed
    v2

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

    -- glPointParameterxv ----------------------------------------------------------

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

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

    -- glPointParameterxvOES -------------------------------------------------------

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

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

    -- glPointSize -----------------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glPointSize.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glPointSize.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glPointSize.xhtml OpenGL 4.x>.
    glPointSize
      :: MonadIO m
      => GLfloat -- ^ @size@ of type @CheckedFloat32@.
      -> m ()
    glPointSize :: forall (m :: * -> *). MonadIO m => GLfloat -> m ()
    glPointSize 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_glPointSize GLfloat
    v1

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

    -- glPointSizePointerOES -------------------------------------------------------

    glPointSizePointerOES
      :: MonadIO m
      => GLenum -- ^ @type@.
      -> GLsizei -- ^ @stride@.
      -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(type,stride)@ elements of type @a@.
      -> m ()
    glPointSizePointerOES :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum -> GLsizei -> Ptr a -> m ()
    glPointSizePointerOES GLenum
    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 (GLenum -> GLsizei -> Ptr a -> IO ())
    -> GLenum -> GLsizei -> Ptr a -> IO ()
    forall a.
    FunPtr (GLenum -> GLsizei -> Ptr a -> IO ())
    -> GLenum -> GLsizei -> Ptr a -> IO ()
    dyn49 FunPtr (GLenum -> GLsizei -> Ptr a -> IO ())
    forall a. FunPtr (GLenum -> GLsizei -> Ptr a -> IO ())
    ptr_glPointSizePointerOES GLenum
    v1 GLsizei
    v2 Ptr a
    v3

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

    -- glPointSizex ----------------------------------------------------------------

    glPointSizex
      :: MonadIO m
      => GLfixed -- ^ @size@.
      -> m ()
    glPointSizex :: forall (m :: * -> *). MonadIO m => GLfixed -> m ()
    glPointSizex 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_glPointSizex GLfixed
    v1

    {-# NOINLINE ptr_glPointSizex #-}
    ptr_glPointSizex :: FunPtr (GLfixed -> IO ())
    ptr_glPointSizex :: FunPtr (GLfixed -> IO ())
    ptr_glPointSizex = 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
    "glPointSizex"

    -- glPointSizexOES -------------------------------------------------------------

    glPointSizexOES
      :: MonadIO m
      => GLfixed -- ^ @size@.
      -> m ()
    glPointSizexOES :: forall (m :: * -> *). MonadIO m => GLfixed -> m ()
    glPointSizexOES 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_glPointSizexOES GLfixed
    v1

    {-# NOINLINE ptr_glPointSizexOES #-}
    ptr_glPointSizexOES :: FunPtr (GLfixed -> IO ())
    ptr_glPointSizexOES :: FunPtr (GLfixed -> IO ())
    ptr_glPointSizexOES = 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
    "glPointSizexOES"

    -- glPollAsyncSGIX -------------------------------------------------------------

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

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

    -- glPollInstrumentsSGIX -------------------------------------------------------

    glPollInstrumentsSGIX
      :: MonadIO m
      => Ptr GLint -- ^ @marker_p@ pointing to @1@ element of type @GLint@.
      -> m GLint
    glPollInstrumentsSGIX :: forall (m :: * -> *). MonadIO m => Ptr GLsizei -> m GLsizei
    glPollInstrumentsSGIX Ptr GLsizei
    v1 = IO GLsizei -> m GLsizei
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO GLsizei -> m GLsizei) -> IO GLsizei -> m GLsizei
    forall a b. (a -> b) -> a -> b
    $ FunPtr (Ptr GLsizei -> IO GLsizei) -> Ptr GLsizei -> IO GLsizei
    dyn649 FunPtr (Ptr GLsizei -> IO GLsizei)
    ptr_glPollInstrumentsSGIX Ptr GLsizei
    v1

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

    -- glPolygonMode ---------------------------------------------------------------

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

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

    -- glPolygonModeNV -------------------------------------------------------------

    -- | This command is an alias for 'glPolygonMode'.
    glPolygonModeNV
      :: MonadIO m
      => GLenum -- ^ @face@ of type [MaterialFace](Graphics-GL-Groups.html#MaterialFace).
      -> GLenum -- ^ @mode@ of type [PolygonMode](Graphics-GL-Groups.html#PolygonMode).
      -> m ()
    glPolygonModeNV :: forall (m :: * -> *). MonadIO m => GLenum -> GLenum -> m ()
    glPolygonModeNV GLenum
    v1 GLenum
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> IO ()
    dyn54 FunPtr (GLenum -> GLenum -> IO ())
    ptr_glPolygonModeNV GLenum
    v1 GLenum
    v2

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

    -- glPolygonOffset -------------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glPolygonOffset.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glPolygonOffset.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glPolygonOffset.xhtml OpenGL 4.x>.
    glPolygonOffset
      :: MonadIO m
      => GLfloat -- ^ @factor@.
      -> GLfloat -- ^ @units@.
      -> m ()
    glPolygonOffset :: forall (m :: * -> *). MonadIO m => GLfloat -> GLfloat -> m ()
    glPolygonOffset GLfloat
    v1 GLfloat
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLfloat -> GLfloat -> IO ()) -> GLfloat -> GLfloat -> IO ()
    dyn230 FunPtr (GLfloat -> GLfloat -> IO ())
    ptr_glPolygonOffset GLfloat
    v1 GLfloat
    v2

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

    -- glPolygonOffsetClamp --------------------------------------------------------

    glPolygonOffsetClamp
      :: MonadIO m
      => GLfloat -- ^ @factor@.
      -> GLfloat -- ^ @units@.
      -> GLfloat -- ^ @clamp@.
      -> m ()
    glPolygonOffsetClamp :: forall (m :: * -> *).
    MonadIO m =>
    GLfloat -> GLfloat -> GLfloat -> m ()
    glPolygonOffsetClamp GLfloat
    v1 GLfloat
    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 (GLfloat -> GLfloat -> GLfloat -> IO ())
    -> GLfloat -> GLfloat -> GLfloat -> IO ()
    dyn43 FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
    ptr_glPolygonOffsetClamp GLfloat
    v1 GLfloat
    v2 GLfloat
    v3

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

    -- glPolygonOffsetClampEXT -----------------------------------------------------

    -- | This command is an alias for 'glPolygonOffsetClamp'.
    glPolygonOffsetClampEXT
      :: MonadIO m
      => GLfloat -- ^ @factor@.
      -> GLfloat -- ^ @units@.
      -> GLfloat -- ^ @clamp@.
      -> m ()
    glPolygonOffsetClampEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLfloat -> GLfloat -> GLfloat -> m ()
    glPolygonOffsetClampEXT GLfloat
    v1 GLfloat
    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 (GLfloat -> GLfloat -> GLfloat -> IO ())
    -> GLfloat -> GLfloat -> GLfloat -> IO ()
    dyn43 FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
    ptr_glPolygonOffsetClampEXT GLfloat
    v1 GLfloat
    v2 GLfloat
    v3

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

    -- glPolygonOffsetEXT ----------------------------------------------------------

    glPolygonOffsetEXT
      :: MonadIO m
      => GLfloat -- ^ @factor@.
      -> GLfloat -- ^ @bias@.
      -> m ()
    glPolygonOffsetEXT :: forall (m :: * -> *). MonadIO m => GLfloat -> GLfloat -> m ()
    glPolygonOffsetEXT GLfloat
    v1 GLfloat
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLfloat -> GLfloat -> IO ()) -> GLfloat -> GLfloat -> IO ()
    dyn230 FunPtr (GLfloat -> GLfloat -> IO ())
    ptr_glPolygonOffsetEXT GLfloat
    v1 GLfloat
    v2

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

    -- glPolygonOffsetx ------------------------------------------------------------

    glPolygonOffsetx
      :: MonadIO m
      => GLfixed -- ^ @factor@.
      -> GLfixed -- ^ @units@.
      -> m ()
    glPolygonOffsetx :: forall (m :: * -> *). MonadIO m => GLfixed -> GLfixed -> m ()
    glPolygonOffsetx GLfixed
    v1 GLfixed
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLfixed -> GLfixed -> IO ()) -> GLfixed -> GLfixed -> IO ()
    dyn232 FunPtr (GLfixed -> GLfixed -> IO ())
    ptr_glPolygonOffsetx GLfixed
    v1 GLfixed
    v2

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

    -- glPolygonOffsetxOES ---------------------------------------------------------

    glPolygonOffsetxOES
      :: MonadIO m
      => GLfixed -- ^ @factor@.
      -> GLfixed -- ^ @units@.
      -> m ()
    glPolygonOffsetxOES :: forall (m :: * -> *). MonadIO m => GLfixed -> GLfixed -> m ()
    glPolygonOffsetxOES GLfixed
    v1 GLfixed
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLfixed -> GLfixed -> IO ()) -> GLfixed -> GLfixed -> IO ()
    dyn232 FunPtr (GLfixed -> GLfixed -> IO ())
    ptr_glPolygonOffsetxOES GLfixed
    v1 GLfixed
    v2

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

    -- glPolygonStipple ------------------------------------------------------------

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

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

    -- glPopAttrib -----------------------------------------------------------------

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

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

    -- glPopClientAttrib -----------------------------------------------------------

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

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

    -- glPopDebugGroup -------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glPopDebugGroup.xhtml OpenGL 4.x>.
    glPopDebugGroup
      :: MonadIO m
      => m ()
    glPopDebugGroup :: forall (m :: * -> *). MonadIO m => m ()
    glPopDebugGroup = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (IO ()) -> IO ()
    dyn11 FunPtr (IO ())
    ptr_glPopDebugGroup

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

    -- glPopDebugGroupKHR ----------------------------------------------------------

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

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

    -- glPopGroupMarkerEXT ---------------------------------------------------------

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

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

    -- glPopMatrix -----------------------------------------------------------------

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

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

    -- glPopName -------------------------------------------------------------------

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

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

    -- glPresentFrameDualFillNV ----------------------------------------------------

    glPresentFrameDualFillNV
      :: MonadIO m
      => GLuint -- ^ @video_slot@.
      -> GLuint64EXT -- ^ @minPresentTime@.
      -> GLuint -- ^ @beginPresentTimeId@.
      -> GLuint -- ^ @presentDurationId@.
      -> GLenum -- ^ @type@.
      -> GLenum -- ^ @target0@.
      -> GLuint -- ^ @fill0@.
      -> GLenum -- ^ @target1@.
      -> GLuint -- ^ @fill1@.
      -> GLenum -- ^ @target2@.
      -> GLuint -- ^ @fill2@.
      -> GLenum -- ^ @target3@.
      -> GLuint -- ^ @fill3@.
      -> m ()
    glPresentFrameDualFillNV :: forall (m :: * -> *).
    MonadIO m =>
    GLenum
    -> GLuint64EXT
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLenum
    -> m ()
    glPresentFrameDualFillNV GLenum
    v1 GLuint64EXT
    v2 GLenum
    v3 GLenum
    v4 GLenum
    v5 GLenum
    v6 GLenum
    v7 GLenum
    v8 GLenum
    v9 GLenum
    v10 GLenum
    v11 GLenum
    v12 GLenum
    v13 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLenum
       -> GLuint64EXT
       -> GLenum
       -> GLenum
       -> GLenum
       -> GLenum
       -> GLenum
       -> GLenum
       -> GLenum
       -> GLenum
       -> GLenum
       -> GLenum
       -> GLenum
       -> IO ())
    -> GLenum
    -> GLuint64EXT
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLenum
    -> IO ()
    dyn650 FunPtr
      (GLenum
       -> GLuint64EXT
       -> GLenum
       -> GLenum
       -> GLenum
       -> GLenum
       -> GLenum
       -> GLenum
       -> GLenum
       -> GLenum
       -> GLenum
       -> GLenum
       -> GLenum
       -> IO ())
    ptr_glPresentFrameDualFillNV GLenum
    v1 GLuint64EXT
    v2 GLenum
    v3 GLenum
    v4 GLenum
    v5 GLenum
    v6 GLenum
    v7 GLenum
    v8 GLenum
    v9 GLenum
    v10 GLenum
    v11 GLenum
    v12 GLenum
    v13

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

    -- glPresentFrameKeyedNV -------------------------------------------------------

    glPresentFrameKeyedNV
      :: MonadIO m
      => GLuint -- ^ @video_slot@.
      -> GLuint64EXT -- ^ @minPresentTime@.
      -> GLuint -- ^ @beginPresentTimeId@.
      -> GLuint -- ^ @presentDurationId@.
      -> GLenum -- ^ @type@.
      -> GLenum -- ^ @target0@.
      -> GLuint -- ^ @fill0@.
      -> GLuint -- ^ @key0@.
      -> GLenum -- ^ @target1@.
      -> GLuint -- ^ @fill1@.
      -> GLuint -- ^ @key1@.
      -> m ()
    glPresentFrameKeyedNV :: forall (m :: * -> *).
    MonadIO m =>
    GLenum
    -> GLuint64EXT
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLenum
    -> m ()
    glPresentFrameKeyedNV GLenum
    v1 GLuint64EXT
    v2 GLenum
    v3 GLenum
    v4 GLenum
    v5 GLenum
    v6 GLenum
    v7 GLenum
    v8 GLenum
    v9 GLenum
    v10 GLenum
    v11 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLenum
       -> GLuint64EXT
       -> GLenum
       -> GLenum
       -> GLenum
       -> GLenum
       -> GLenum
       -> GLenum
       -> GLenum
       -> GLenum
       -> GLenum
       -> IO ())
    -> GLenum
    -> GLuint64EXT
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLenum
    -> IO ()
    dyn651 FunPtr
      (GLenum
       -> GLuint64EXT
       -> GLenum
       -> GLenum
       -> GLenum
       -> GLenum
       -> GLenum
       -> GLenum
       -> GLenum
       -> GLenum
       -> GLenum
       -> IO ())
    ptr_glPresentFrameKeyedNV GLenum
    v1 GLuint64EXT
    v2 GLenum
    v3 GLenum
    v4 GLenum
    v5 GLenum
    v6 GLenum
    v7 GLenum
    v8 GLenum
    v9 GLenum
    v10 GLenum
    v11

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

    -- glPrimitiveBoundingBox ------------------------------------------------------

    glPrimitiveBoundingBox
      :: MonadIO m
      => GLfloat -- ^ @minX@.
      -> GLfloat -- ^ @minY@.
      -> GLfloat -- ^ @minZ@.
      -> GLfloat -- ^ @minW@.
      -> GLfloat -- ^ @maxX@.
      -> GLfloat -- ^ @maxY@.
      -> GLfloat -- ^ @maxZ@.
      -> GLfloat -- ^ @maxW@.
      -> m ()
    glPrimitiveBoundingBox :: forall (m :: * -> *).
    MonadIO m =>
    GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> m ()
    glPrimitiveBoundingBox GLfloat
    v1 GLfloat
    v2 GLfloat
    v3 GLfloat
    v4 GLfloat
    v5 GLfloat
    v6 GLfloat
    v7 GLfloat
    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
      (GLfloat
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> IO ())
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> IO ()
    dyn652 FunPtr
      (GLfloat
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> IO ())
    ptr_glPrimitiveBoundingBox GLfloat
    v1 GLfloat
    v2 GLfloat
    v3 GLfloat
    v4 GLfloat
    v5 GLfloat
    v6 GLfloat
    v7 GLfloat
    v8

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

    -- glPrimitiveBoundingBoxARB ---------------------------------------------------

    -- | This command is an alias for 'glPrimitiveBoundingBox'.
    glPrimitiveBoundingBoxARB
      :: MonadIO m
      => GLfloat -- ^ @minX@.
      -> GLfloat -- ^ @minY@.
      -> GLfloat -- ^ @minZ@.
      -> GLfloat -- ^ @minW@.
      -> GLfloat -- ^ @maxX@.
      -> GLfloat -- ^ @maxY@.
      -> GLfloat -- ^ @maxZ@.
      -> GLfloat -- ^ @maxW@.
      -> m ()
    glPrimitiveBoundingBoxARB :: forall (m :: * -> *).
    MonadIO m =>
    GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> m ()
    glPrimitiveBoundingBoxARB GLfloat
    v1 GLfloat
    v2 GLfloat
    v3 GLfloat
    v4 GLfloat
    v5 GLfloat
    v6 GLfloat
    v7 GLfloat
    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
      (GLfloat
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> IO ())
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> IO ()
    dyn652 FunPtr
      (GLfloat
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> IO ())
    ptr_glPrimitiveBoundingBoxARB GLfloat
    v1 GLfloat
    v2 GLfloat
    v3 GLfloat
    v4 GLfloat
    v5 GLfloat
    v6 GLfloat
    v7 GLfloat
    v8

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

    -- glPrimitiveBoundingBoxEXT ---------------------------------------------------

    -- | This command is an alias for 'glPrimitiveBoundingBox'.
    glPrimitiveBoundingBoxEXT
      :: MonadIO m
      => GLfloat -- ^ @minX@.
      -> GLfloat -- ^ @minY@.
      -> GLfloat -- ^ @minZ@.
      -> GLfloat -- ^ @minW@.
      -> GLfloat -- ^ @maxX@.
      -> GLfloat -- ^ @maxY@.
      -> GLfloat -- ^ @maxZ@.
      -> GLfloat -- ^ @maxW@.
      -> m ()
    glPrimitiveBoundingBoxEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> m ()
    glPrimitiveBoundingBoxEXT GLfloat
    v1 GLfloat
    v2 GLfloat
    v3 GLfloat
    v4 GLfloat
    v5 GLfloat
    v6 GLfloat
    v7 GLfloat
    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
      (GLfloat
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> IO ())
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> IO ()
    dyn652 FunPtr
      (GLfloat
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> IO ())
    ptr_glPrimitiveBoundingBoxEXT GLfloat
    v1 GLfloat
    v2 GLfloat
    v3 GLfloat
    v4 GLfloat
    v5 GLfloat
    v6 GLfloat
    v7 GLfloat
    v8

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

    -- glPrimitiveBoundingBoxOES ---------------------------------------------------

    -- | This command is an alias for 'glPrimitiveBoundingBox'.
    glPrimitiveBoundingBoxOES
      :: MonadIO m
      => GLfloat -- ^ @minX@.
      -> GLfloat -- ^ @minY@.
      -> GLfloat -- ^ @minZ@.
      -> GLfloat -- ^ @minW@.
      -> GLfloat -- ^ @maxX@.
      -> GLfloat -- ^ @maxY@.
      -> GLfloat -- ^ @maxZ@.
      -> GLfloat -- ^ @maxW@.
      -> m ()
    glPrimitiveBoundingBoxOES :: forall (m :: * -> *).
    MonadIO m =>
    GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> m ()
    glPrimitiveBoundingBoxOES GLfloat
    v1 GLfloat
    v2 GLfloat
    v3 GLfloat
    v4 GLfloat
    v5 GLfloat
    v6 GLfloat
    v7 GLfloat
    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
      (GLfloat
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> IO ())
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> IO ()
    dyn652 FunPtr
      (GLfloat
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> IO ())
    ptr_glPrimitiveBoundingBoxOES GLfloat
    v1 GLfloat
    v2 GLfloat
    v3 GLfloat
    v4 GLfloat
    v5 GLfloat
    v6 GLfloat
    v7 GLfloat
    v8

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

    -- glPrimitiveRestartIndex -----------------------------------------------------

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

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

    -- glPrimitiveRestartIndexNV ---------------------------------------------------

    glPrimitiveRestartIndexNV
      :: MonadIO m
      => GLuint -- ^ @index@.
      -> m ()
    glPrimitiveRestartIndexNV :: forall (m :: * -> *). MonadIO m => GLenum -> m ()
    glPrimitiveRestartIndexNV GLenum
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> IO ()) -> GLenum -> IO ()
    dyn3 FunPtr (GLenum -> IO ())
    ptr_glPrimitiveRestartIndexNV GLenum
    v1

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

    -- glPrimitiveRestartNV --------------------------------------------------------

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

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

    -- glPrioritizeTextures --------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glPrioritizeTextures.xml OpenGL 2.x>.
    glPrioritizeTextures
      :: MonadIO m
      => GLsizei -- ^ @n@.
      -> Ptr GLuint -- ^ @textures@ pointing to @n@ elements of type @Texture@.
      -> Ptr GLfloat -- ^ @priorities@ pointing to @n@ elements of type @GLfloat@.
      -> m ()
    glPrioritizeTextures :: forall (m :: * -> *).
    MonadIO m =>
    GLsizei -> Ptr GLenum -> Ptr GLfloat -> m ()
    glPrioritizeTextures GLsizei
    v1 Ptr GLenum
    v2 Ptr GLfloat
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLsizei -> Ptr GLenum -> Ptr GLfloat -> IO ())
    -> GLsizei -> Ptr GLenum -> Ptr GLfloat -> IO ()
    dyn653 FunPtr (GLsizei -> Ptr GLenum -> Ptr GLfloat -> IO ())
    ptr_glPrioritizeTextures GLsizei
    v1 Ptr GLenum
    v2 Ptr GLfloat
    v3

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

    -- glPrioritizeTexturesEXT -----------------------------------------------------

    -- | This command is an alias for 'glPrioritizeTextures'.
    glPrioritizeTexturesEXT
      :: MonadIO m
      => GLsizei -- ^ @n@.
      -> Ptr GLuint -- ^ @textures@ pointing to @n@ elements of type @Texture@.
      -> Ptr GLclampf -- ^ @priorities@ pointing to @n@ elements of type @ClampedFloat32@.
      -> m ()
    glPrioritizeTexturesEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLsizei -> Ptr GLenum -> Ptr GLfloat -> m ()
    glPrioritizeTexturesEXT GLsizei
    v1 Ptr GLenum
    v2 Ptr GLfloat
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLsizei -> Ptr GLenum -> Ptr GLfloat -> IO ())
    -> GLsizei -> Ptr GLenum -> Ptr GLfloat -> IO ()
    dyn654 FunPtr (GLsizei -> Ptr GLenum -> Ptr GLfloat -> IO ())
    ptr_glPrioritizeTexturesEXT GLsizei
    v1 Ptr GLenum
    v2 Ptr GLfloat
    v3

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

    -- glPrioritizeTexturesxOES ----------------------------------------------------

    glPrioritizeTexturesxOES
      :: MonadIO m
      => GLsizei -- ^ @n@.
      -> Ptr GLuint -- ^ @textures@ pointing to @n@ elements of type @GLuint@.
      -> Ptr GLfixed -- ^ @priorities@ pointing to @n@ elements of type @ClampedFixed@.
      -> m ()
    glPrioritizeTexturesxOES :: forall (m :: * -> *).
    MonadIO m =>
    GLsizei -> Ptr GLenum -> Ptr GLfixed -> m ()
    glPrioritizeTexturesxOES GLsizei
    v1 Ptr GLenum
    v2 Ptr GLfixed
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLsizei -> Ptr GLenum -> Ptr GLfixed -> IO ())
    -> GLsizei -> Ptr GLenum -> Ptr GLfixed -> IO ()
    dyn655 FunPtr (GLsizei -> Ptr GLenum -> Ptr GLfixed -> IO ())
    ptr_glPrioritizeTexturesxOES GLsizei
    v1 Ptr GLenum
    v2 Ptr GLfixed
    v3

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

    -- glProgramBinary -------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramBinary.xhtml OpenGL 4.x>.
    glProgramBinary
      :: MonadIO m
      => GLuint -- ^ @program@.
      -> GLenum -- ^ @binaryFormat@.
      -> Ptr a -- ^ @binary@ pointing to @length@ elements of type @a@.
      -> GLsizei -- ^ @length@.
      -> m ()
    glProgramBinary :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum -> GLenum -> Ptr a -> GLsizei -> m ()
    glProgramBinary GLenum
    v1 GLenum
    v2 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 (GLenum -> GLenum -> Ptr a -> GLsizei -> IO ())
    -> GLenum -> GLenum -> Ptr a -> GLsizei -> IO ()
    forall a.
    FunPtr (GLenum -> GLenum -> Ptr a -> GLsizei -> IO ())
    -> GLenum -> GLenum -> Ptr a -> GLsizei -> IO ()
    dyn656 FunPtr (GLenum -> GLenum -> Ptr a -> GLsizei -> IO ())
    forall a. FunPtr (GLenum -> GLenum -> Ptr a -> GLsizei -> IO ())
    ptr_glProgramBinary GLenum
    v1 GLenum
    v2 Ptr a
    v3 GLsizei
    v4

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

    -- glProgramBinaryOES ----------------------------------------------------------

    -- | This command is an alias for 'glProgramBinary'.
    glProgramBinaryOES
      :: MonadIO m
      => GLuint -- ^ @program@.
      -> GLenum -- ^ @binaryFormat@.
      -> Ptr a -- ^ @binary@ pointing to @length@ elements of type @a@.
      -> GLint -- ^ @length@.
      -> m ()
    glProgramBinaryOES :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum -> GLenum -> Ptr a -> GLsizei -> m ()
    glProgramBinaryOES GLenum
    v1 GLenum
    v2 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 (GLenum -> GLenum -> Ptr a -> GLsizei -> IO ())
    -> GLenum -> GLenum -> Ptr a -> GLsizei -> IO ()
    forall a.
    FunPtr (GLenum -> GLenum -> Ptr a -> GLsizei -> IO ())
    -> GLenum -> GLenum -> Ptr a -> GLsizei -> IO ()
    dyn657 FunPtr (GLenum -> GLenum -> Ptr a -> GLsizei -> IO ())
    forall a. FunPtr (GLenum -> GLenum -> Ptr a -> GLsizei -> IO ())
    ptr_glProgramBinaryOES GLenum
    v1 GLenum
    v2 Ptr a
    v3 GLsizei
    v4

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

    -- glProgramBufferParametersIivNV ----------------------------------------------

    glProgramBufferParametersIivNV
      :: MonadIO m
      => GLenum -- ^ @target@ of type [ProgramTarget](Graphics-GL-Groups.html#ProgramTarget).
      -> GLuint -- ^ @bindingIndex@.
      -> GLuint -- ^ @wordIndex@.
      -> GLsizei -- ^ @count@.
      -> Ptr GLint -- ^ @params@ pointing to @count@ elements of type @GLint@.
      -> m ()
    glProgramBufferParametersIivNV :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLsizei -> m ()
    glProgramBufferParametersIivNV GLenum
    v1 GLenum
    v2 GLenum
    v3 GLsizei
    v4 Ptr GLsizei
    v5 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLsizei -> IO ())
    -> GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLsizei -> IO ()
    dyn658 FunPtr
      (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLsizei -> IO ())
    ptr_glProgramBufferParametersIivNV GLenum
    v1 GLenum
    v2 GLenum
    v3 GLsizei
    v4 Ptr GLsizei
    v5

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

    -- glProgramBufferParametersIuivNV ---------------------------------------------

    glProgramBufferParametersIuivNV
      :: MonadIO m
      => GLenum -- ^ @target@ of type [ProgramTarget](Graphics-GL-Groups.html#ProgramTarget).
      -> GLuint -- ^ @bindingIndex@.
      -> GLuint -- ^ @wordIndex@.
      -> GLsizei -- ^ @count@.
      -> Ptr GLuint -- ^ @params@ pointing to @count@ elements of type @GLuint@.
      -> m ()
    glProgramBufferParametersIuivNV :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLenum -> m ()
    glProgramBufferParametersIuivNV GLenum
    v1 GLenum
    v2 GLenum
    v3 GLsizei
    v4 Ptr GLenum
    v5 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLenum -> IO ())
    -> GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLenum -> IO ()
    dyn659 FunPtr
      (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLenum -> IO ())
    ptr_glProgramBufferParametersIuivNV GLenum
    v1 GLenum
    v2 GLenum
    v3 GLsizei
    v4 Ptr GLenum
    v5

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

    -- glProgramBufferParametersfvNV -----------------------------------------------

    glProgramBufferParametersfvNV
      :: MonadIO m
      => GLenum -- ^ @target@ of type [ProgramTarget](Graphics-GL-Groups.html#ProgramTarget).
      -> GLuint -- ^ @bindingIndex@.
      -> GLuint -- ^ @wordIndex@.
      -> GLsizei -- ^ @count@.
      -> Ptr GLfloat -- ^ @params@ pointing to @count@ elements of type @GLfloat@.
      -> m ()
    glProgramBufferParametersfvNV :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLfloat -> m ()
    glProgramBufferParametersfvNV GLenum
    v1 GLenum
    v2 GLenum
    v3 GLsizei
    v4 Ptr GLfloat
    v5 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLfloat -> IO ())
    -> GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLfloat -> IO ()
    dyn660 FunPtr
      (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLfloat -> IO ())
    ptr_glProgramBufferParametersfvNV GLenum
    v1 GLenum
    v2 GLenum
    v3 GLsizei
    v4 Ptr GLfloat
    v5

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

    -- glProgramEnvParameter4dARB --------------------------------------------------

    -- | The vector equivalent of this command is 'glProgramEnvParameter4dvARB'.
    glProgramEnvParameter4dARB
      :: MonadIO m
      => GLenum -- ^ @target@ of type [ProgramTarget](Graphics-GL-Groups.html#ProgramTarget).
      -> GLuint -- ^ @index@.
      -> GLdouble -- ^ @x@.
      -> GLdouble -- ^ @y@.
      -> GLdouble -- ^ @z@.
      -> GLdouble -- ^ @w@.
      -> m ()
    glProgramEnvParameter4dARB :: forall (m :: * -> *).
    MonadIO m =>
    GLenum
    -> GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
    glProgramEnvParameter4dARB GLenum
    v1 GLenum
    v2 GLdouble
    v3 GLdouble
    v4 GLdouble
    v5 GLdouble
    v6 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLenum
       -> GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
    -> GLenum
    -> GLenum
    -> GLdouble
    -> GLdouble
    -> GLdouble
    -> GLdouble
    -> IO ()
    dyn661 FunPtr
      (GLenum
       -> GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
    ptr_glProgramEnvParameter4dARB GLenum
    v1 GLenum
    v2 GLdouble
    v3 GLdouble
    v4 GLdouble
    v5 GLdouble
    v6

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

    -- glProgramEnvParameter4dvARB -------------------------------------------------

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

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

    -- glProgramEnvParameter4fARB --------------------------------------------------

    -- | The vector equivalent of this command is 'glProgramEnvParameter4fvARB'.
    glProgramEnvParameter4fARB
      :: MonadIO m
      => GLenum -- ^ @target@ of type [ProgramTarget](Graphics-GL-Groups.html#ProgramTarget).
      -> GLuint -- ^ @index@.
      -> GLfloat -- ^ @x@.
      -> GLfloat -- ^ @y@.
      -> GLfloat -- ^ @z@.
      -> GLfloat -- ^ @w@.
      -> m ()
    glProgramEnvParameter4fARB :: forall (m :: * -> *).
    MonadIO m =>
    GLenum
    -> GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
    glProgramEnvParameter4fARB GLenum
    v1 GLenum
    v2 GLfloat
    v3 GLfloat
    v4 GLfloat
    v5 GLfloat
    v6 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLenum
       -> GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
    -> GLenum
    -> GLenum
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> IO ()
    dyn662 FunPtr
      (GLenum
       -> GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
    ptr_glProgramEnvParameter4fARB GLenum
    v1 GLenum
    v2 GLfloat
    v3 GLfloat
    v4 GLfloat
    v5 GLfloat
    v6

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

    -- glProgramEnvParameter4fvARB -------------------------------------------------

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

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

    -- glProgramEnvParameterI4iNV --------------------------------------------------

    -- | The vector equivalent of this command is 'glProgramEnvParameterI4ivNV'.
    glProgramEnvParameterI4iNV
      :: MonadIO m
      => GLenum -- ^ @target@ of type [ProgramTarget](Graphics-GL-Groups.html#ProgramTarget).
      -> GLuint -- ^ @index@.
      -> GLint -- ^ @x@.
      -> GLint -- ^ @y@.
      -> GLint -- ^ @z@.
      -> GLint -- ^ @w@.
      -> m ()
    glProgramEnvParameterI4iNV :: forall (m :: * -> *).
    MonadIO m =>
    GLenum
    -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> m ()
    glProgramEnvParameterI4iNV GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLenum
       -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> IO ()
    dyn663 FunPtr
      (GLenum
       -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
    ptr_glProgramEnvParameterI4iNV GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6

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

    -- glProgramEnvParameterI4ivNV -------------------------------------------------

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

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

    -- glProgramEnvParameterI4uiNV -------------------------------------------------

    -- | The vector equivalent of this command is 'glProgramEnvParameterI4uivNV'.
    glProgramEnvParameterI4uiNV
      :: MonadIO m
      => GLenum -- ^ @target@ of type [ProgramTarget](Graphics-GL-Groups.html#ProgramTarget).
      -> GLuint -- ^ @index@.
      -> GLuint -- ^ @x@.
      -> GLuint -- ^ @y@.
      -> GLuint -- ^ @z@.
      -> GLuint -- ^ @w@.
      -> m ()
    glProgramEnvParameterI4uiNV :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> m ()
    glProgramEnvParameterI4uiNV GLenum
    v1 GLenum
    v2 GLenum
    v3 GLenum
    v4 GLenum
    v5 GLenum
    v6 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLenum
    -> IO ()
    dyn7 FunPtr
      (GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
    ptr_glProgramEnvParameterI4uiNV GLenum
    v1 GLenum
    v2 GLenum
    v3 GLenum
    v4 GLenum
    v5 GLenum
    v6

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

    -- glProgramEnvParameterI4uivNV ------------------------------------------------

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

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

    -- glProgramEnvParameters4fvEXT ------------------------------------------------

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

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

    -- glProgramEnvParametersI4ivNV ------------------------------------------------

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

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

    -- glProgramEnvParametersI4uivNV -----------------------------------------------

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

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

    -- glProgramLocalParameter4dARB ------------------------------------------------

    -- | The vector equivalent of this command is 'glProgramLocalParameter4dvARB'.
    glProgramLocalParameter4dARB
      :: MonadIO m
      => GLenum -- ^ @target@ of type [ProgramTarget](Graphics-GL-Groups.html#ProgramTarget).
      -> GLuint -- ^ @index@.
      -> GLdouble -- ^ @x@.
      -> GLdouble -- ^ @y@.
      -> GLdouble -- ^ @z@.
      -> GLdouble -- ^ @w@.
      -> m ()
    glProgramLocalParameter4dARB :: forall (m :: * -> *).
    MonadIO m =>
    GLenum
    -> GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
    glProgramLocalParameter4dARB GLenum
    v1 GLenum
    v2 GLdouble
    v3 GLdouble
    v4 GLdouble
    v5 GLdouble
    v6 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLenum
       -> GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
    -> GLenum
    -> GLenum
    -> GLdouble
    -> GLdouble
    -> GLdouble
    -> GLdouble
    -> IO ()
    dyn661 FunPtr
      (GLenum
       -> GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
    ptr_glProgramLocalParameter4dARB GLenum
    v1 GLenum
    v2 GLdouble
    v3 GLdouble
    v4 GLdouble
    v5 GLdouble
    v6

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

    -- glProgramLocalParameter4dvARB -----------------------------------------------

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

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

    -- glProgramLocalParameter4fARB ------------------------------------------------

    -- | The vector equivalent of this command is 'glProgramLocalParameter4fvARB'.
    glProgramLocalParameter4fARB
      :: MonadIO m
      => GLenum -- ^ @target@ of type [ProgramTarget](Graphics-GL-Groups.html#ProgramTarget).
      -> GLuint -- ^ @index@.
      -> GLfloat -- ^ @x@.
      -> GLfloat -- ^ @y@.
      -> GLfloat -- ^ @z@.
      -> GLfloat -- ^ @w@.
      -> m ()
    glProgramLocalParameter4fARB :: forall (m :: * -> *).
    MonadIO m =>
    GLenum
    -> GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
    glProgramLocalParameter4fARB GLenum
    v1 GLenum
    v2 GLfloat
    v3 GLfloat
    v4 GLfloat
    v5 GLfloat
    v6 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLenum
       -> GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
    -> GLenum
    -> GLenum
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> IO ()
    dyn662 FunPtr
      (GLenum
       -> GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
    ptr_glProgramLocalParameter4fARB GLenum
    v1 GLenum
    v2 GLfloat
    v3 GLfloat
    v4 GLfloat
    v5 GLfloat
    v6

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

    -- glProgramLocalParameter4fvARB -----------------------------------------------

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

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

    -- glProgramLocalParameterI4iNV ------------------------------------------------

    -- | The vector equivalent of this command is 'glProgramLocalParameterI4ivNV'.
    glProgramLocalParameterI4iNV
      :: MonadIO m
      => GLenum -- ^ @target@ of type [ProgramTarget](Graphics-GL-Groups.html#ProgramTarget).
      -> GLuint -- ^ @index@.
      -> GLint -- ^ @x@.
      -> GLint -- ^ @y@.
      -> GLint -- ^ @z@.
      -> GLint -- ^ @w@.
      -> m ()
    glProgramLocalParameterI4iNV :: forall (m :: * -> *).
    MonadIO m =>
    GLenum
    -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> m ()
    glProgramLocalParameterI4iNV GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLenum
       -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> IO ()
    dyn663 FunPtr
      (GLenum
       -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
    ptr_glProgramLocalParameterI4iNV GLenum
    v1 GLenum
    v2 GLsizei
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6

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

    -- glProgramLocalParameterI4ivNV -----------------------------------------------

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

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

    -- glProgramLocalParameterI4uiNV -----------------------------------------------

    -- | The vector equivalent of this command is 'glProgramLocalParameterI4uivNV'.
    glProgramLocalParameterI4uiNV
      :: MonadIO m
      => GLenum -- ^ @target@ of type [ProgramTarget](Graphics-GL-Groups.html#ProgramTarget).
      -> GLuint -- ^ @index@.
      -> GLuint -- ^ @x@.
      -> GLuint -- ^ @y@.
      -> GLuint -- ^ @z@.
      -> GLuint -- ^ @w@.
      -> m ()
    glProgramLocalParameterI4uiNV :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> m ()
    glProgramLocalParameterI4uiNV GLenum
    v1 GLenum
    v2 GLenum
    v3 GLenum
    v4 GLenum
    v5 GLenum
    v6 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLenum
    -> IO ()
    dyn7 FunPtr
      (GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
    ptr_glProgramLocalParameterI4uiNV GLenum
    v1 GLenum
    v2 GLenum
    v3 GLenum
    v4 GLenum
    v5 GLenum
    v6

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

    -- glProgramLocalParameterI4uivNV ----------------------------------------------

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

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

    -- glProgramLocalParameters4fvEXT ----------------------------------------------

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

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

    -- glProgramLocalParametersI4ivNV ----------------------------------------------

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

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

    -- glProgramLocalParametersI4uivNV ---------------------------------------------

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

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

    -- glProgramNamedParameter4dNV -------------------------------------------------

    -- | The vector equivalent of this command is 'glProgramNamedParameter4dvNV'.
    glProgramNamedParameter4dNV
      :: MonadIO m
      => GLuint -- ^ @id@.
      -> GLsizei -- ^ @len@.
      -> Ptr GLubyte -- ^ @name@ pointing to @1@ element of type @GLubyte@.
      -> GLdouble -- ^ @x@.
      -> GLdouble -- ^ @y@.
      -> GLdouble -- ^ @z@.
      -> GLdouble -- ^ @w@.
      -> m ()
    glProgramNamedParameter4dNV :: forall (m :: * -> *).
    MonadIO m =>
    GLenum
    -> GLsizei
    -> Ptr GLboolean
    -> GLdouble
    -> GLdouble
    -> GLdouble
    -> GLdouble
    -> m ()
    glProgramNamedParameter4dNV GLenum
    v1 GLsizei
    v2 Ptr GLboolean
    v3 GLdouble
    v4 GLdouble
    v5 GLdouble
    v6 GLdouble
    v7 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLenum
       -> GLsizei
       -> Ptr GLboolean
       -> GLdouble
       -> GLdouble
       -> GLdouble
       -> GLdouble
       -> IO ())
    -> GLenum
    -> GLsizei
    -> Ptr GLboolean
    -> GLdouble
    -> GLdouble
    -> GLdouble
    -> GLdouble
    -> IO ()
    dyn665 FunPtr
      (GLenum
       -> GLsizei
       -> Ptr GLboolean
       -> GLdouble
       -> GLdouble
       -> GLdouble
       -> GLdouble
       -> IO ())
    ptr_glProgramNamedParameter4dNV GLenum
    v1 GLsizei
    v2 Ptr GLboolean
    v3 GLdouble
    v4 GLdouble
    v5 GLdouble
    v6 GLdouble
    v7

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

    -- glProgramNamedParameter4dvNV ------------------------------------------------

    glProgramNamedParameter4dvNV
      :: MonadIO m
      => GLuint -- ^ @id@.
      -> GLsizei -- ^ @len@.
      -> Ptr GLubyte -- ^ @name@ pointing to @1@ element of type @GLubyte@.
      -> Ptr GLdouble -- ^ @v@ pointing to @4@ elements of type @GLdouble@.
      -> m ()
    glProgramNamedParameter4dvNV :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLsizei -> Ptr GLboolean -> Ptr GLdouble -> m ()
    glProgramNamedParameter4dvNV GLenum
    v1 GLsizei
    v2 Ptr GLboolean
    v3 Ptr GLdouble
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLenum -> GLsizei -> Ptr GLboolean -> Ptr GLdouble -> IO ())
    -> GLenum -> GLsizei -> Ptr GLboolean -> Ptr GLdouble -> IO ()
    dyn410 FunPtr
      (GLenum -> GLsizei -> Ptr GLboolean -> Ptr GLdouble -> IO ())
    ptr_glProgramNamedParameter4dvNV GLenum
    v1 GLsizei
    v2 Ptr GLboolean
    v3 Ptr GLdouble
    v4

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