    {-# OPTIONS_HADDOCK hide #-}
    --------------------------------------------------------------------------------
    -- |
    -- Module      :  Graphics.GL.Functions.F08
    -- 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.F08 (
      glFinishTextureSUNX,
      glFlush,
      glFlushMappedBufferRange,
      glFlushMappedBufferRangeAPPLE,
      glFlushMappedBufferRangeEXT,
      glFlushMappedNamedBufferRange,
      glFlushMappedNamedBufferRangeEXT,
      glFlushPixelDataRangeNV,
      glFlushRasterSGIX,
      glFlushStaticDataIBM,
      glFlushVertexArrayRangeAPPLE,
      glFlushVertexArrayRangeNV,
      glFogCoordFormatNV,
      glFogCoordPointer,
      glFogCoordPointerEXT,
      glFogCoordPointerListIBM,
      glFogCoordd,
      glFogCoorddEXT,
      glFogCoorddv,
      glFogCoorddvEXT,
      glFogCoordf,
      glFogCoordfEXT,
      glFogCoordfv,
      glFogCoordfvEXT,
      glFogCoordhNV,
      glFogCoordhvNV,
      glFogFuncSGIS,
      glFogf,
      glFogfv,
      glFogi,
      glFogiv,
      glFogx,
      glFogxOES,
      glFogxv,
      glFogxvOES,
      glFragmentColorMaterialSGIX,
      glFragmentCoverageColorNV,
      glFragmentLightModelfSGIX,
      glFragmentLightModelfvSGIX,
      glFragmentLightModeliSGIX,
      glFragmentLightModelivSGIX,
      glFragmentLightfSGIX,
      glFragmentLightfvSGIX,
      glFragmentLightiSGIX,
      glFragmentLightivSGIX,
      glFragmentMaterialfSGIX,
      glFragmentMaterialfvSGIX,
      glFragmentMaterialiSGIX,
      glFragmentMaterialivSGIX,
      glFrameTerminatorGREMEDY,
      glFrameZoomSGIX,
      glFramebufferDrawBufferEXT,
      glFramebufferDrawBuffersEXT,
      glFramebufferFetchBarrierEXT,
      glFramebufferFetchBarrierQCOM,
      glFramebufferFoveationConfigQCOM,
      glFramebufferFoveationParametersQCOM,
      glFramebufferParameteri,
      glFramebufferParameteriMESA,
      glFramebufferPixelLocalStorageSizeEXT,
      glFramebufferReadBufferEXT,
      glFramebufferRenderbuffer,
      glFramebufferRenderbufferEXT,
      glFramebufferRenderbufferOES,
      glFramebufferSampleLocationsfvARB,
      glFramebufferSampleLocationsfvNV,
      glFramebufferSamplePositionsfvAMD,
      glFramebufferTexture,
      glFramebufferTexture1D,
      glFramebufferTexture1DEXT,
      glFramebufferTexture2D,
      glFramebufferTexture2DDownsampleIMG,
      glFramebufferTexture2DEXT,
      glFramebufferTexture2DMultisampleEXT,
      glFramebufferTexture2DMultisampleIMG,
      glFramebufferTexture2DOES,
      glFramebufferTexture3D,
      glFramebufferTexture3DEXT,
      glFramebufferTexture3DOES,
      glFramebufferTextureARB,
      glFramebufferTextureEXT,
      glFramebufferTextureFaceARB,
      glFramebufferTextureFaceEXT,
      glFramebufferTextureLayer,
      glFramebufferTextureLayerARB,
      glFramebufferTextureLayerDownsampleIMG,
      glFramebufferTextureLayerEXT,
      glFramebufferTextureMultisampleMultiviewOVR,
      glFramebufferTextureMultiviewOVR,
      glFramebufferTextureOES,
      glFreeObjectBufferATI,
      glFrontFace,
      glFrustum,
      glFrustumf,
      glFrustumfOES,
      glFrustumx,
      glFrustumxOES,
      glGenAsyncMarkersSGIX,
      glGenBuffers,
      glGenBuffersARB
    ) where

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

    -- glFinishTextureSUNX ---------------------------------------------------------

    glFinishTextureSUNX
      :: MonadIO m
      => m ()
    glFinishTextureSUNX :: forall (m :: * -> *). MonadIO m => m ()
    glFinishTextureSUNX = IO () -> m ()
    forall a. IO a -> 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_glFinishTextureSUNX

    {-# NOINLINE ptr_glFinishTextureSUNX #-}
    ptr_glFinishTextureSUNX :: FunPtr (IO ())
    ptr_glFinishTextureSUNX :: FunPtr (IO ())
    ptr_glFinishTextureSUNX = 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
    "glFinishTextureSUNX"

    -- glFlush ---------------------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glFlush.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glFlush.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glFlush.xhtml OpenGL 4.x>.
    glFlush
      :: MonadIO m
      => m ()
    glFlush :: forall (m :: * -> *). MonadIO m => m ()
    glFlush = IO () -> m ()
    forall a. IO a -> 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_glFlush

    {-# NOINLINE ptr_glFlush #-}
    ptr_glFlush :: FunPtr (IO ())
    ptr_glFlush :: FunPtr (IO ())
    ptr_glFlush = 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
    "glFlush"

    -- glFlushMappedBufferRange ----------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glFlushMappedBufferRange.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glFlushMappedBufferRange.xhtml OpenGL 4.x>.
    glFlushMappedBufferRange
      :: MonadIO m
      => GLenum -- ^ @target@ of type [BufferTargetARB](Graphics-GL-Groups.html#BufferTargetARB).
      -> GLintptr -- ^ @offset@ of type @BufferOffset@.
      -> GLsizeiptr -- ^ @length@ of type @BufferSize@.
      -> m ()
    glFlushMappedBufferRange :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLintptr -> GLintptr -> m ()
    glFlushMappedBufferRange GLenum
    v1 GLintptr
    v2 GLintptr
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLintptr -> GLintptr -> IO ())
    -> GLenum -> GLintptr -> GLintptr -> IO ()
    dyn289 FunPtr (GLenum -> GLintptr -> GLintptr -> IO ())
    ptr_glFlushMappedBufferRange GLenum
    v1 GLintptr
    v2 GLintptr
    v3

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

    -- glFlushMappedBufferRangeAPPLE -----------------------------------------------

    -- | This command is an alias for 'glFlushMappedBufferRange'.
    glFlushMappedBufferRangeAPPLE
      :: MonadIO m
      => GLenum -- ^ @target@ of type [BufferTargetARB](Graphics-GL-Groups.html#BufferTargetARB).
      -> GLintptr -- ^ @offset@ of type @BufferOffset@.
      -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
      -> m ()
    glFlushMappedBufferRangeAPPLE :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLintptr -> GLintptr -> m ()
    glFlushMappedBufferRangeAPPLE GLenum
    v1 GLintptr
    v2 GLintptr
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLintptr -> GLintptr -> IO ())
    -> GLenum -> GLintptr -> GLintptr -> IO ()
    dyn289 FunPtr (GLenum -> GLintptr -> GLintptr -> IO ())
    ptr_glFlushMappedBufferRangeAPPLE GLenum
    v1 GLintptr
    v2 GLintptr
    v3

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

    -- glFlushMappedBufferRangeEXT -------------------------------------------------

    -- | This command is an alias for 'glFlushMappedBufferRange'.
    glFlushMappedBufferRangeEXT
      :: MonadIO m
      => GLenum -- ^ @target@ of type [BufferTargetARB](Graphics-GL-Groups.html#BufferTargetARB).
      -> GLintptr -- ^ @offset@.
      -> GLsizeiptr -- ^ @length@.
      -> m ()
    glFlushMappedBufferRangeEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLintptr -> GLintptr -> m ()
    glFlushMappedBufferRangeEXT GLenum
    v1 GLintptr
    v2 GLintptr
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLintptr -> GLintptr -> IO ())
    -> GLenum -> GLintptr -> GLintptr -> IO ()
    dyn289 FunPtr (GLenum -> GLintptr -> GLintptr -> IO ())
    ptr_glFlushMappedBufferRangeEXT GLenum
    v1 GLintptr
    v2 GLintptr
    v3

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

    -- glFlushMappedNamedBufferRange -----------------------------------------------

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

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

    -- glFlushMappedNamedBufferRangeEXT --------------------------------------------

    glFlushMappedNamedBufferRangeEXT
      :: MonadIO m
      => GLuint -- ^ @buffer@.
      -> GLintptr -- ^ @offset@.
      -> GLsizeiptr -- ^ @length@.
      -> m ()
    glFlushMappedNamedBufferRangeEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLintptr -> GLintptr -> m ()
    glFlushMappedNamedBufferRangeEXT GLenum
    v1 GLintptr
    v2 GLintptr
    v3 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLintptr -> GLintptr -> IO ())
    -> GLenum -> GLintptr -> GLintptr -> IO ()
    dyn290 FunPtr (GLenum -> GLintptr -> GLintptr -> IO ())
    ptr_glFlushMappedNamedBufferRangeEXT GLenum
    v1 GLintptr
    v2 GLintptr
    v3

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

    -- glFlushPixelDataRangeNV -----------------------------------------------------

    glFlushPixelDataRangeNV
      :: MonadIO m
      => GLenum -- ^ @target@ of type [PixelDataRangeTargetNV](Graphics-GL-Groups.html#PixelDataRangeTargetNV).
      -> m ()
    glFlushPixelDataRangeNV :: forall (m :: * -> *). MonadIO m => GLenum -> m ()
    glFlushPixelDataRangeNV 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_glFlushPixelDataRangeNV GLenum
    v1

    {-# NOINLINE ptr_glFlushPixelDataRangeNV #-}
    ptr_glFlushPixelDataRangeNV :: FunPtr (GLenum -> IO ())
    ptr_glFlushPixelDataRangeNV :: FunPtr (GLenum -> IO ())
    ptr_glFlushPixelDataRangeNV = 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
    "glFlushPixelDataRangeNV"

    -- glFlushRasterSGIX -----------------------------------------------------------

    glFlushRasterSGIX
      :: MonadIO m
      => m ()
    glFlushRasterSGIX :: forall (m :: * -> *). MonadIO m => m ()
    glFlushRasterSGIX = IO () -> m ()
    forall a. IO a -> 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_glFlushRasterSGIX

    {-# NOINLINE ptr_glFlushRasterSGIX #-}
    ptr_glFlushRasterSGIX :: FunPtr (IO ())
    ptr_glFlushRasterSGIX :: FunPtr (IO ())
    ptr_glFlushRasterSGIX = 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
    "glFlushRasterSGIX"

    -- glFlushStaticDataIBM --------------------------------------------------------

    glFlushStaticDataIBM
      :: MonadIO m
      => GLenum -- ^ @target@.
      -> m ()
    glFlushStaticDataIBM :: forall (m :: * -> *). MonadIO m => GLenum -> m ()
    glFlushStaticDataIBM 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_glFlushStaticDataIBM GLenum
    v1

    {-# NOINLINE ptr_glFlushStaticDataIBM #-}
    ptr_glFlushStaticDataIBM :: FunPtr (GLenum -> IO ())
    ptr_glFlushStaticDataIBM :: FunPtr (GLenum -> IO ())
    ptr_glFlushStaticDataIBM = 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
    "glFlushStaticDataIBM"

    -- glFlushVertexArrayRangeAPPLE ------------------------------------------------

    glFlushVertexArrayRangeAPPLE
      :: MonadIO m
      => GLsizei -- ^ @length@.
      -> Ptr a -- ^ @pointer@ pointing to @length@ elements of type @a@.
      -> m ()
    glFlushVertexArrayRangeAPPLE :: forall (m :: * -> *) a. MonadIO m => GLsizei -> Ptr a -> m ()
    glFlushVertexArrayRangeAPPLE GLsizei
    v1 Ptr a
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLsizei -> Ptr a -> IO ()) -> GLsizei -> Ptr a -> IO ()
    forall a.
    FunPtr (GLsizei -> Ptr a -> IO ()) -> GLsizei -> Ptr a -> IO ()
    dyn271 FunPtr (GLsizei -> Ptr a -> IO ())
    forall a. FunPtr (GLsizei -> Ptr a -> IO ())
    ptr_glFlushVertexArrayRangeAPPLE GLsizei
    v1 Ptr a
    v2

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

    -- glFlushVertexArrayRangeNV ---------------------------------------------------

    glFlushVertexArrayRangeNV
      :: MonadIO m
      => m ()
    glFlushVertexArrayRangeNV :: forall (m :: * -> *). MonadIO m => m ()
    glFlushVertexArrayRangeNV = IO () -> m ()
    forall a. IO a -> 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_glFlushVertexArrayRangeNV

    {-# NOINLINE ptr_glFlushVertexArrayRangeNV #-}
    ptr_glFlushVertexArrayRangeNV :: FunPtr (IO ())
    ptr_glFlushVertexArrayRangeNV :: FunPtr (IO ())
    ptr_glFlushVertexArrayRangeNV = 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
    "glFlushVertexArrayRangeNV"

    -- glFogCoordFormatNV ----------------------------------------------------------

    glFogCoordFormatNV
      :: MonadIO m
      => GLenum -- ^ @type@.
      -> GLsizei -- ^ @stride@.
      -> m ()
    glFogCoordFormatNV :: forall (m :: * -> *). MonadIO m => GLenum -> GLsizei -> m ()
    glFogCoordFormatNV 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 ()
    dyn247 FunPtr (GLenum -> GLsizei -> IO ())
    ptr_glFogCoordFormatNV GLenum
    v1 GLsizei
    v2

    {-# NOINLINE ptr_glFogCoordFormatNV #-}
    ptr_glFogCoordFormatNV :: FunPtr (GLenum -> GLsizei -> IO ())
    ptr_glFogCoordFormatNV :: FunPtr (GLenum -> GLsizei -> IO ())
    ptr_glFogCoordFormatNV = 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
    "glFogCoordFormatNV"

    -- glFogCoordPointer -----------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glFogCoordPointer.xml OpenGL 2.x>.
    glFogCoordPointer
      :: MonadIO m
      => GLenum -- ^ @type@ of type [FogPointerTypeEXT](Graphics-GL-Groups.html#FogPointerTypeEXT).
      -> GLsizei -- ^ @stride@.
      -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(type,stride)@ elements of type @a@.
      -> m ()
    glFogCoordPointer :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum -> GLsizei -> Ptr a -> m ()
    glFogCoordPointer 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_glFogCoordPointer GLenum
    v1 GLsizei
    v2 Ptr a
    v3

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

    -- glFogCoordPointerEXT --------------------------------------------------------

    -- | This command is an alias for 'glFogCoordPointer'.
    glFogCoordPointerEXT
      :: MonadIO m
      => GLenum -- ^ @type@ of type [FogPointerTypeEXT](Graphics-GL-Groups.html#FogPointerTypeEXT).
      -> GLsizei -- ^ @stride@.
      -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(type,stride)@ elements of type @a@.
      -> m ()
    glFogCoordPointerEXT :: forall (m :: * -> *) a.
    MonadIO m =>
    GLenum -> GLsizei -> Ptr a -> m ()
    glFogCoordPointerEXT 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_glFogCoordPointerEXT GLenum
    v1 GLsizei
    v2 Ptr a
    v3

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

    -- glFogCoordPointerListIBM ----------------------------------------------------

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

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

    -- glFogCoordd -----------------------------------------------------------------

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

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

    -- glFogCoorddEXT --------------------------------------------------------------

    -- | The vector equivalent of this command is 'glFogCoorddvEXT'. This command is an alias for 'glFogCoordd'.
    glFogCoorddEXT
      :: MonadIO m
      => GLdouble -- ^ @coord@ of type @CoordD@.
      -> m ()
    glFogCoorddEXT :: forall (m :: * -> *). MonadIO m => GLdouble -> m ()
    glFogCoorddEXT GLdouble
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLdouble -> IO ()) -> GLdouble -> IO ()
    dyn84 FunPtr (GLdouble -> IO ())
    ptr_glFogCoorddEXT GLdouble
    v1

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

    -- glFogCoorddv ----------------------------------------------------------------

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

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

    -- glFogCoorddvEXT -------------------------------------------------------------

    -- | This command is an alias for 'glFogCoorddv'.
    glFogCoorddvEXT
      :: MonadIO m
      => Ptr GLdouble -- ^ @coord@ pointing to @1@ element of type @CoordD@.
      -> m ()
    glFogCoorddvEXT :: forall (m :: * -> *). MonadIO m => Ptr GLdouble -> m ()
    glFogCoorddvEXT Ptr GLdouble
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (Ptr GLdouble -> IO ()) -> Ptr GLdouble -> IO ()
    dyn42 FunPtr (Ptr GLdouble -> IO ())
    ptr_glFogCoorddvEXT Ptr GLdouble
    v1

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

    -- glFogCoordf -----------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glFogCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glFogCoordfv'.
    glFogCoordf
      :: MonadIO m
      => GLfloat -- ^ @coord@ of type @CoordF@.
      -> m ()
    glFogCoordf :: forall (m :: * -> *). MonadIO m => GLfloat -> m ()
    glFogCoordf 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_glFogCoordf GLfloat
    v1

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

    -- glFogCoordfEXT --------------------------------------------------------------

    -- | The vector equivalent of this command is 'glFogCoordfvEXT'. This command is an alias for 'glFogCoordf'.
    glFogCoordfEXT
      :: MonadIO m
      => GLfloat -- ^ @coord@ of type @CoordF@.
      -> m ()
    glFogCoordfEXT :: forall (m :: * -> *). MonadIO m => GLfloat -> m ()
    glFogCoordfEXT 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_glFogCoordfEXT GLfloat
    v1

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

    -- glFogCoordfv ----------------------------------------------------------------

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

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

    -- glFogCoordfvEXT -------------------------------------------------------------

    -- | This command is an alias for 'glFogCoordfv'.
    glFogCoordfvEXT
      :: MonadIO m
      => Ptr GLfloat -- ^ @coord@ pointing to @1@ element of type @CoordF@.
      -> m ()
    glFogCoordfvEXT :: forall (m :: * -> *). MonadIO m => Ptr GLfloat -> m ()
    glFogCoordfvEXT Ptr GLfloat
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> IO ()
    dyn44 FunPtr (Ptr GLfloat -> IO ())
    ptr_glFogCoordfvEXT Ptr GLfloat
    v1

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

    -- glFogCoordhNV ---------------------------------------------------------------

    -- | The vector equivalent of this command is 'glFogCoordhvNV'.
    glFogCoordhNV
      :: MonadIO m
      => GLhalfNV -- ^ @fog@ of type @Half16NV@.
      -> m ()
    glFogCoordhNV :: forall (m :: * -> *). MonadIO m => GLhalfNV -> m ()
    glFogCoordhNV GLhalfNV
    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 (GLhalfNV -> IO ()) -> GLhalfNV -> IO ()
    dyn292 FunPtr (GLhalfNV -> IO ())
    ptr_glFogCoordhNV GLhalfNV
    v1

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

    -- glFogCoordhvNV --------------------------------------------------------------

    glFogCoordhvNV
      :: MonadIO m
      => Ptr GLhalfNV -- ^ @fog@ pointing to @1@ element of type @Half16NV@.
      -> m ()
    glFogCoordhvNV :: forall (m :: * -> *). MonadIO m => Ptr GLhalfNV -> m ()
    glFogCoordhvNV Ptr GLhalfNV
    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 GLhalfNV -> IO ()) -> Ptr GLhalfNV -> IO ()
    dyn106 FunPtr (Ptr GLhalfNV -> IO ())
    ptr_glFogCoordhvNV Ptr GLhalfNV
    v1

    {-# NOINLINE ptr_glFogCoordhvNV #-}
    ptr_glFogCoordhvNV :: FunPtr (Ptr GLhalfNV -> IO ())
    ptr_glFogCoordhvNV :: FunPtr (Ptr GLhalfNV -> IO ())
    ptr_glFogCoordhvNV = IO (FunPtr (Ptr GLhalfNV -> IO ()))
    -> FunPtr (Ptr GLhalfNV -> IO ())
    forall a. IO a -> a
    unsafePerformIO (IO (FunPtr (Ptr GLhalfNV -> IO ()))
     -> FunPtr (Ptr GLhalfNV -> IO ()))
    -> IO (FunPtr (Ptr GLhalfNV -> IO ()))
    -> FunPtr (Ptr GLhalfNV -> IO ())
    forall a b. (a -> b) -> a -> b
    $ String -> IO (FunPtr (Ptr GLhalfNV -> IO ()))
    forall a. String -> IO (FunPtr a)
    getCommand String
    "glFogCoordhvNV"

    -- glFogFuncSGIS ---------------------------------------------------------------

    glFogFuncSGIS
      :: MonadIO m
      => GLsizei -- ^ @n@.
      -> Ptr GLfloat -- ^ @points@ pointing to @n*2@ elements of type @GLfloat@.
      -> m ()
    glFogFuncSGIS :: forall (m :: * -> *). MonadIO m => GLsizei -> Ptr GLfloat -> m ()
    glFogFuncSGIS GLsizei
    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 (GLsizei -> Ptr GLfloat -> IO ())
    -> GLsizei -> Ptr GLfloat -> IO ()
    dyn199 FunPtr (GLsizei -> Ptr GLfloat -> IO ())
    ptr_glFogFuncSGIS GLsizei
    v1 Ptr GLfloat
    v2

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

    -- glFogf ----------------------------------------------------------------------

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

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

    -- glFogfv ---------------------------------------------------------------------

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

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

    -- glFogi ----------------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glFog.xml OpenGL 2.x>.
    glFogi
      :: MonadIO m
      => GLenum -- ^ @pname@ of type [FogParameter](Graphics-GL-Groups.html#FogParameter).
      -> GLint -- ^ @param@ of type @CheckedInt32@.
      -> m ()
    glFogi :: forall (m :: * -> *). MonadIO m => GLenum -> GLsizei -> m ()
    glFogi 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_glFogi GLenum
    v1 GLsizei
    v2

    {-# NOINLINE ptr_glFogi #-}
    ptr_glFogi :: FunPtr (GLenum -> GLint -> IO ())
    ptr_glFogi :: FunPtr (GLenum -> GLsizei -> IO ())
    ptr_glFogi = 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
    "glFogi"

    -- glFogiv ---------------------------------------------------------------------

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

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

    -- glFogx ----------------------------------------------------------------------

    glFogx
      :: MonadIO m
      => GLenum -- ^ @pname@ of type [FogPName](Graphics-GL-Groups.html#FogPName).
      -> GLfixed -- ^ @param@.
      -> m ()
    glFogx :: forall (m :: * -> *). MonadIO m => GLenum -> GLfixed -> m ()
    glFogx 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_glFogx GLenum
    v1 GLfixed
    v2

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

    -- glFogxOES -------------------------------------------------------------------

    glFogxOES
      :: MonadIO m
      => GLenum -- ^ @pname@ of type [FogPName](Graphics-GL-Groups.html#FogPName).
      -> GLfixed -- ^ @param@.
      -> m ()
    glFogxOES :: forall (m :: * -> *). MonadIO m => GLenum -> GLfixed -> m ()
    glFogxOES 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_glFogxOES GLenum
    v1 GLfixed
    v2

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

    -- glFogxv ---------------------------------------------------------------------

    glFogxv
      :: MonadIO m
      => GLenum -- ^ @pname@ of type [FogPName](Graphics-GL-Groups.html#FogPName).
      -> Ptr GLfixed -- ^ @param@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
      -> m ()
    glFogxv :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLfixed -> m ()
    glFogxv 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_glFogxv GLenum
    v1 Ptr GLfixed
    v2

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

    -- glFogxvOES ------------------------------------------------------------------

    glFogxvOES
      :: MonadIO m
      => GLenum -- ^ @pname@ of type [FogPName](Graphics-GL-Groups.html#FogPName).
      -> Ptr GLfixed -- ^ @param@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
      -> m ()
    glFogxvOES :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLfixed -> m ()
    glFogxvOES 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_glFogxvOES GLenum
    v1 Ptr GLfixed
    v2

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

    -- glFragmentColorMaterialSGIX -------------------------------------------------

    glFragmentColorMaterialSGIX
      :: MonadIO m
      => GLenum -- ^ @face@ of type [MaterialFace](Graphics-GL-Groups.html#MaterialFace).
      -> GLenum -- ^ @mode@ of type [MaterialParameter](Graphics-GL-Groups.html#MaterialParameter).
      -> m ()
    glFragmentColorMaterialSGIX :: forall (m :: * -> *). MonadIO m => GLenum -> GLenum -> m ()
    glFragmentColorMaterialSGIX 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_glFragmentColorMaterialSGIX GLenum
    v1 GLenum
    v2

    {-# NOINLINE ptr_glFragmentColorMaterialSGIX #-}
    ptr_glFragmentColorMaterialSGIX :: FunPtr (GLenum -> GLenum -> IO ())
    ptr_glFragmentColorMaterialSGIX :: FunPtr (GLenum -> GLenum -> IO ())
    ptr_glFragmentColorMaterialSGIX = 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
    "glFragmentColorMaterialSGIX"

    -- glFragmentCoverageColorNV ---------------------------------------------------

    glFragmentCoverageColorNV
      :: MonadIO m
      => GLuint -- ^ @color@.
      -> m ()
    glFragmentCoverageColorNV :: forall (m :: * -> *). MonadIO m => GLenum -> m ()
    glFragmentCoverageColorNV 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_glFragmentCoverageColorNV GLenum
    v1

    {-# NOINLINE ptr_glFragmentCoverageColorNV #-}
    ptr_glFragmentCoverageColorNV :: FunPtr (GLuint -> IO ())
    ptr_glFragmentCoverageColorNV :: FunPtr (GLenum -> IO ())
    ptr_glFragmentCoverageColorNV = 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
    "glFragmentCoverageColorNV"

    -- glFragmentLightModelfSGIX ---------------------------------------------------

    glFragmentLightModelfSGIX
      :: MonadIO m
      => GLenum -- ^ @pname@ of type [FragmentLightModelParameterSGIX](Graphics-GL-Groups.html#FragmentLightModelParameterSGIX).
      -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
      -> m ()
    glFragmentLightModelfSGIX :: forall (m :: * -> *). MonadIO m => GLenum -> GLfloat -> m ()
    glFragmentLightModelfSGIX 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_glFragmentLightModelfSGIX GLenum
    v1 GLfloat
    v2

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

    -- glFragmentLightModelfvSGIX --------------------------------------------------

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

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

    -- glFragmentLightModeliSGIX ---------------------------------------------------

    glFragmentLightModeliSGIX
      :: MonadIO m
      => GLenum -- ^ @pname@ of type [FragmentLightModelParameterSGIX](Graphics-GL-Groups.html#FragmentLightModelParameterSGIX).
      -> GLint -- ^ @param@ of type @CheckedInt32@.
      -> m ()
    glFragmentLightModeliSGIX :: forall (m :: * -> *). MonadIO m => GLenum -> GLsizei -> m ()
    glFragmentLightModeliSGIX 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_glFragmentLightModeliSGIX GLenum
    v1 GLsizei
    v2

    {-# NOINLINE ptr_glFragmentLightModeliSGIX #-}
    ptr_glFragmentLightModeliSGIX :: FunPtr (GLenum -> GLint -> IO ())
    ptr_glFragmentLightModeliSGIX :: FunPtr (GLenum -> GLsizei -> IO ())
    ptr_glFragmentLightModeliSGIX = 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
    "glFragmentLightModeliSGIX"

    -- glFragmentLightModelivSGIX --------------------------------------------------

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

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

    -- glFragmentLightfSGIX --------------------------------------------------------

    glFragmentLightfSGIX
      :: MonadIO m
      => GLenum -- ^ @light@ of type [FragmentLightNameSGIX](Graphics-GL-Groups.html#FragmentLightNameSGIX).
      -> GLenum -- ^ @pname@ of type [FragmentLightParameterSGIX](Graphics-GL-Groups.html#FragmentLightParameterSGIX).
      -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
      -> m ()
    glFragmentLightfSGIX :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLfloat -> m ()
    glFragmentLightfSGIX 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_glFragmentLightfSGIX GLenum
    v1 GLenum
    v2 GLfloat
    v3

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

    -- glFragmentLightfvSGIX -------------------------------------------------------

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

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

    -- glFragmentLightiSGIX --------------------------------------------------------

    glFragmentLightiSGIX
      :: MonadIO m
      => GLenum -- ^ @light@ of type [FragmentLightNameSGIX](Graphics-GL-Groups.html#FragmentLightNameSGIX).
      -> GLenum -- ^ @pname@ of type [FragmentLightParameterSGIX](Graphics-GL-Groups.html#FragmentLightParameterSGIX).
      -> GLint -- ^ @param@ of type @CheckedInt32@.
      -> m ()
    glFragmentLightiSGIX :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLsizei -> m ()
    glFragmentLightiSGIX 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_glFragmentLightiSGIX GLenum
    v1 GLenum
    v2 GLsizei
    v3

    {-# NOINLINE ptr_glFragmentLightiSGIX #-}
    ptr_glFragmentLightiSGIX :: FunPtr (GLenum -> GLenum -> GLint -> IO ())
    ptr_glFragmentLightiSGIX :: FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
    ptr_glFragmentLightiSGIX = 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
    "glFragmentLightiSGIX"

    -- glFragmentLightivSGIX -------------------------------------------------------

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

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

    -- glFragmentMaterialfSGIX -----------------------------------------------------

    glFragmentMaterialfSGIX
      :: MonadIO m
      => GLenum -- ^ @face@ of type [MaterialFace](Graphics-GL-Groups.html#MaterialFace).
      -> GLenum -- ^ @pname@ of type [MaterialParameter](Graphics-GL-Groups.html#MaterialParameter).
      -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
      -> m ()
    glFragmentMaterialfSGIX :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLfloat -> m ()
    glFragmentMaterialfSGIX 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_glFragmentMaterialfSGIX GLenum
    v1 GLenum
    v2 GLfloat
    v3

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

    -- glFragmentMaterialfvSGIX ----------------------------------------------------

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

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

    -- glFragmentMaterialiSGIX -----------------------------------------------------

    glFragmentMaterialiSGIX
      :: MonadIO m
      => GLenum -- ^ @face@ of type [MaterialFace](Graphics-GL-Groups.html#MaterialFace).
      -> GLenum -- ^ @pname@ of type [MaterialParameter](Graphics-GL-Groups.html#MaterialParameter).
      -> GLint -- ^ @param@ of type @CheckedInt32@.
      -> m ()
    glFragmentMaterialiSGIX :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLsizei -> m ()
    glFragmentMaterialiSGIX 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_glFragmentMaterialiSGIX GLenum
    v1 GLenum
    v2 GLsizei
    v3

    {-# NOINLINE ptr_glFragmentMaterialiSGIX #-}
    ptr_glFragmentMaterialiSGIX :: FunPtr (GLenum -> GLenum -> GLint -> IO ())
    ptr_glFragmentMaterialiSGIX :: FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
    ptr_glFragmentMaterialiSGIX = 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
    "glFragmentMaterialiSGIX"

    -- glFragmentMaterialivSGIX ----------------------------------------------------

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

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

    -- glFrameTerminatorGREMEDY ----------------------------------------------------

    glFrameTerminatorGREMEDY
      :: MonadIO m
      => m ()
    glFrameTerminatorGREMEDY :: forall (m :: * -> *). MonadIO m => m ()
    glFrameTerminatorGREMEDY = IO () -> m ()
    forall a. IO a -> 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_glFrameTerminatorGREMEDY

    {-# NOINLINE ptr_glFrameTerminatorGREMEDY #-}
    ptr_glFrameTerminatorGREMEDY :: FunPtr (IO ())
    ptr_glFrameTerminatorGREMEDY :: FunPtr (IO ())
    ptr_glFrameTerminatorGREMEDY = 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
    "glFrameTerminatorGREMEDY"

    -- glFrameZoomSGIX -------------------------------------------------------------

    glFrameZoomSGIX
      :: MonadIO m
      => GLint -- ^ @factor@ of type @CheckedInt32@.
      -> m ()
    glFrameZoomSGIX :: forall (m :: * -> *). MonadIO m => GLsizei -> m ()
    glFrameZoomSGIX GLsizei
    v1 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLsizei -> IO ()) -> GLsizei -> IO ()
    dyn13 FunPtr (GLsizei -> IO ())
    ptr_glFrameZoomSGIX GLsizei
    v1

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

    -- glFramebufferDrawBufferEXT --------------------------------------------------

    glFramebufferDrawBufferEXT
      :: MonadIO m
      => GLuint -- ^ @framebuffer@ of type @Framebuffer@.
      -> GLenum -- ^ @mode@ of type [DrawBufferMode](Graphics-GL-Groups.html#DrawBufferMode).
      -> m ()
    glFramebufferDrawBufferEXT :: forall (m :: * -> *). MonadIO m => GLenum -> GLenum -> m ()
    glFramebufferDrawBufferEXT GLenum
    v1 GLenum
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> IO ()
    dyn18 FunPtr (GLenum -> GLenum -> IO ())
    ptr_glFramebufferDrawBufferEXT GLenum
    v1 GLenum
    v2

    {-# NOINLINE ptr_glFramebufferDrawBufferEXT #-}
    ptr_glFramebufferDrawBufferEXT :: FunPtr (GLuint -> GLenum -> IO ())
    ptr_glFramebufferDrawBufferEXT :: FunPtr (GLenum -> GLenum -> IO ())
    ptr_glFramebufferDrawBufferEXT = 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
    "glFramebufferDrawBufferEXT"

    -- glFramebufferDrawBuffersEXT -------------------------------------------------

    glFramebufferDrawBuffersEXT
      :: MonadIO m
      => GLuint -- ^ @framebuffer@ of type @Framebuffer@.
      -> GLsizei -- ^ @n@.
      -> Ptr GLenum -- ^ @bufs@ pointing to @n@ elements of type [DrawBufferMode](Graphics-GL-Groups.html#DrawBufferMode).
      -> m ()
    glFramebufferDrawBuffersEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLsizei -> Ptr GLenum -> m ()
    glFramebufferDrawBuffersEXT 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 ()
    dyn293 FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
    ptr_glFramebufferDrawBuffersEXT GLenum
    v1 GLsizei
    v2 Ptr GLenum
    v3

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

    -- glFramebufferFetchBarrierEXT ------------------------------------------------

    glFramebufferFetchBarrierEXT
      :: MonadIO m
      => m ()
    glFramebufferFetchBarrierEXT :: forall (m :: * -> *). MonadIO m => m ()
    glFramebufferFetchBarrierEXT = IO () -> m ()
    forall a. IO a -> 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_glFramebufferFetchBarrierEXT

    {-# NOINLINE ptr_glFramebufferFetchBarrierEXT #-}
    ptr_glFramebufferFetchBarrierEXT :: FunPtr (IO ())
    ptr_glFramebufferFetchBarrierEXT :: FunPtr (IO ())
    ptr_glFramebufferFetchBarrierEXT = 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
    "glFramebufferFetchBarrierEXT"

    -- glFramebufferFetchBarrierQCOM -----------------------------------------------

    glFramebufferFetchBarrierQCOM
      :: MonadIO m
      => m ()
    glFramebufferFetchBarrierQCOM :: forall (m :: * -> *). MonadIO m => m ()
    glFramebufferFetchBarrierQCOM = IO () -> m ()
    forall a. IO a -> 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_glFramebufferFetchBarrierQCOM

    {-# NOINLINE ptr_glFramebufferFetchBarrierQCOM #-}
    ptr_glFramebufferFetchBarrierQCOM :: FunPtr (IO ())
    ptr_glFramebufferFetchBarrierQCOM :: FunPtr (IO ())
    ptr_glFramebufferFetchBarrierQCOM = 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
    "glFramebufferFetchBarrierQCOM"

    -- glFramebufferFoveationConfigQCOM --------------------------------------------

    glFramebufferFoveationConfigQCOM
      :: MonadIO m
      => GLuint -- ^ @framebuffer@ of type @Framebuffer@.
      -> GLuint -- ^ @numLayers@.
      -> GLuint -- ^ @focalPointsPerLayer@.
      -> GLuint -- ^ @requestedFeatures@.
      -> Ptr GLuint -- ^ @providedFeatures@ pointing to @1@ element of type @GLuint@.
      -> m ()
    glFramebufferFoveationConfigQCOM :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> GLenum -> Ptr GLenum -> m ()
    glFramebufferFoveationConfigQCOM GLenum
    v1 GLenum
    v2 GLenum
    v3 GLenum
    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 -> GLenum -> Ptr GLenum -> IO ())
    -> GLenum -> GLenum -> GLenum -> GLenum -> Ptr GLenum -> IO ()
    dyn294 FunPtr
      (GLenum -> GLenum -> GLenum -> GLenum -> Ptr GLenum -> IO ())
    ptr_glFramebufferFoveationConfigQCOM GLenum
    v1 GLenum
    v2 GLenum
    v3 GLenum
    v4 Ptr GLenum
    v5

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

    -- glFramebufferFoveationParametersQCOM ----------------------------------------

    glFramebufferFoveationParametersQCOM
      :: MonadIO m
      => GLuint -- ^ @framebuffer@ of type @Framebuffer@.
      -> GLuint -- ^ @layer@.
      -> GLuint -- ^ @focalPoint@.
      -> GLfloat -- ^ @focalX@ of type @CheckedFloat32@.
      -> GLfloat -- ^ @focalY@ of type @CheckedFloat32@.
      -> GLfloat -- ^ @gainX@ of type @CheckedFloat32@.
      -> GLfloat -- ^ @gainY@ of type @CheckedFloat32@.
      -> GLfloat -- ^ @foveaArea@ of type @CheckedFloat32@.
      -> m ()
    glFramebufferFoveationParametersQCOM :: forall (m :: * -> *).
    MonadIO m =>
    GLenum
    -> GLenum
    -> GLenum
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> m ()
    glFramebufferFoveationParametersQCOM GLenum
    v1 GLenum
    v2 GLenum
    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
      (GLenum
       -> GLenum
       -> GLenum
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> IO ()
    dyn295 FunPtr
      (GLenum
       -> GLenum
       -> GLenum
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> GLfloat
       -> IO ())
    ptr_glFramebufferFoveationParametersQCOM GLenum
    v1 GLenum
    v2 GLenum
    v3 GLfloat
    v4 GLfloat
    v5 GLfloat
    v6 GLfloat
    v7 GLfloat
    v8

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

    -- glFramebufferParameteri -----------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glFramebufferParameteri.xhtml OpenGL 4.x>.
    glFramebufferParameteri
      :: MonadIO m
      => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
      -> GLenum -- ^ @pname@ of type [FramebufferParameterName](Graphics-GL-Groups.html#FramebufferParameterName).
      -> GLint -- ^ @param@.
      -> m ()
    glFramebufferParameteri :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLsizei -> m ()
    glFramebufferParameteri 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_glFramebufferParameteri GLenum
    v1 GLenum
    v2 GLsizei
    v3

    {-# NOINLINE ptr_glFramebufferParameteri #-}
    ptr_glFramebufferParameteri :: FunPtr (GLenum -> GLenum -> GLint -> IO ())
    ptr_glFramebufferParameteri :: FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
    ptr_glFramebufferParameteri = 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
    "glFramebufferParameteri"

    -- glFramebufferParameteriMESA -------------------------------------------------

    glFramebufferParameteriMESA
      :: MonadIO m
      => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
      -> GLenum -- ^ @pname@ of type [FramebufferParameterName](Graphics-GL-Groups.html#FramebufferParameterName).
      -> GLint -- ^ @param@.
      -> m ()
    glFramebufferParameteriMESA :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLsizei -> m ()
    glFramebufferParameteriMESA 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_glFramebufferParameteriMESA GLenum
    v1 GLenum
    v2 GLsizei
    v3

    {-# NOINLINE ptr_glFramebufferParameteriMESA #-}
    ptr_glFramebufferParameteriMESA :: FunPtr (GLenum -> GLenum -> GLint -> IO ())
    ptr_glFramebufferParameteriMESA :: FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
    ptr_glFramebufferParameteriMESA = 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
    "glFramebufferParameteriMESA"

    -- glFramebufferPixelLocalStorageSizeEXT ---------------------------------------

    glFramebufferPixelLocalStorageSizeEXT
      :: MonadIO m
      => GLuint -- ^ @target@.
      -> GLsizei -- ^ @size@.
      -> m ()
    glFramebufferPixelLocalStorageSizeEXT :: forall (m :: * -> *). MonadIO m => GLenum -> GLsizei -> m ()
    glFramebufferPixelLocalStorageSizeEXT 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 ()
    dyn219 FunPtr (GLenum -> GLsizei -> IO ())
    ptr_glFramebufferPixelLocalStorageSizeEXT GLenum
    v1 GLsizei
    v2

    {-# NOINLINE ptr_glFramebufferPixelLocalStorageSizeEXT #-}
    ptr_glFramebufferPixelLocalStorageSizeEXT :: FunPtr (GLuint -> GLsizei -> IO ())
    ptr_glFramebufferPixelLocalStorageSizeEXT :: FunPtr (GLenum -> GLsizei -> IO ())
    ptr_glFramebufferPixelLocalStorageSizeEXT = 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
    "glFramebufferPixelLocalStorageSizeEXT"

    -- glFramebufferReadBufferEXT --------------------------------------------------

    glFramebufferReadBufferEXT
      :: MonadIO m
      => GLuint -- ^ @framebuffer@ of type @Framebuffer@.
      -> GLenum -- ^ @mode@ of type [ReadBufferMode](Graphics-GL-Groups.html#ReadBufferMode).
      -> m ()
    glFramebufferReadBufferEXT :: forall (m :: * -> *). MonadIO m => GLenum -> GLenum -> m ()
    glFramebufferReadBufferEXT GLenum
    v1 GLenum
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> IO ()
    dyn18 FunPtr (GLenum -> GLenum -> IO ())
    ptr_glFramebufferReadBufferEXT GLenum
    v1 GLenum
    v2

    {-# NOINLINE ptr_glFramebufferReadBufferEXT #-}
    ptr_glFramebufferReadBufferEXT :: FunPtr (GLuint -> GLenum -> IO ())
    ptr_glFramebufferReadBufferEXT :: FunPtr (GLenum -> GLenum -> IO ())
    ptr_glFramebufferReadBufferEXT = 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
    "glFramebufferReadBufferEXT"

    -- glFramebufferRenderbuffer ---------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glFramebufferRenderbuffer.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glFramebufferRenderbuffer.xhtml OpenGL 4.x>.
    glFramebufferRenderbuffer
      :: MonadIO m
      => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
      -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
      -> GLenum -- ^ @renderbuffertarget@ of type [RenderbufferTarget](Graphics-GL-Groups.html#RenderbufferTarget).
      -> GLuint -- ^ @renderbuffer@.
      -> m ()
    glFramebufferRenderbuffer :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> GLenum -> m ()
    glFramebufferRenderbuffer GLenum
    v1 GLenum
    v2 GLenum
    v3 GLenum
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
    -> GLenum -> GLenum -> GLenum -> GLenum -> IO ()
    dyn296 FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
    ptr_glFramebufferRenderbuffer GLenum
    v1 GLenum
    v2 GLenum
    v3 GLenum
    v4

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

    -- glFramebufferRenderbufferEXT ------------------------------------------------

    -- | This command is an alias for 'glFramebufferRenderbuffer'.
    glFramebufferRenderbufferEXT
      :: MonadIO m
      => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
      -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
      -> GLenum -- ^ @renderbuffertarget@ of type [RenderbufferTarget](Graphics-GL-Groups.html#RenderbufferTarget).
      -> GLuint -- ^ @renderbuffer@.
      -> m ()
    glFramebufferRenderbufferEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> GLenum -> m ()
    glFramebufferRenderbufferEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 GLenum
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
    -> GLenum -> GLenum -> GLenum -> GLenum -> IO ()
    dyn296 FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
    ptr_glFramebufferRenderbufferEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 GLenum
    v4

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

    -- glFramebufferRenderbufferOES ------------------------------------------------

    glFramebufferRenderbufferOES
      :: MonadIO m
      => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
      -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
      -> GLenum -- ^ @renderbuffertarget@ of type [RenderbufferTarget](Graphics-GL-Groups.html#RenderbufferTarget).
      -> GLuint -- ^ @renderbuffer@.
      -> m ()
    glFramebufferRenderbufferOES :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> GLenum -> m ()
    glFramebufferRenderbufferOES GLenum
    v1 GLenum
    v2 GLenum
    v3 GLenum
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
    -> GLenum -> GLenum -> GLenum -> GLenum -> IO ()
    dyn296 FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
    ptr_glFramebufferRenderbufferOES GLenum
    v1 GLenum
    v2 GLenum
    v3 GLenum
    v4

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

    -- glFramebufferSampleLocationsfvARB -------------------------------------------

    glFramebufferSampleLocationsfvARB
      :: MonadIO m
      => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
      -> GLuint -- ^ @start@.
      -> GLsizei -- ^ @count@.
      -> Ptr GLfloat -- ^ @v@.
      -> m ()
    glFramebufferSampleLocationsfvARB :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLsizei -> Ptr GLfloat -> m ()
    glFramebufferSampleLocationsfvARB 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_glFramebufferSampleLocationsfvARB GLenum
    v1 GLenum
    v2 GLsizei
    v3 Ptr GLfloat
    v4

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

    -- glFramebufferSampleLocationsfvNV --------------------------------------------

    glFramebufferSampleLocationsfvNV
      :: MonadIO m
      => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
      -> GLuint -- ^ @start@.
      -> GLsizei -- ^ @count@.
      -> Ptr GLfloat -- ^ @v@.
      -> m ()
    glFramebufferSampleLocationsfvNV :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLsizei -> Ptr GLfloat -> m ()
    glFramebufferSampleLocationsfvNV 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_glFramebufferSampleLocationsfvNV GLenum
    v1 GLenum
    v2 GLsizei
    v3 Ptr GLfloat
    v4

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

    -- glFramebufferSamplePositionsfvAMD -------------------------------------------

    glFramebufferSamplePositionsfvAMD
      :: MonadIO m
      => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
      -> GLuint -- ^ @numsamples@.
      -> GLuint -- ^ @pixelindex@.
      -> Ptr GLfloat -- ^ @values@.
      -> m ()
    glFramebufferSamplePositionsfvAMD :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> Ptr GLfloat -> m ()
    glFramebufferSamplePositionsfvAMD GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLfloat
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
    -> GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ()
    dyn298 FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
    ptr_glFramebufferSamplePositionsfvAMD GLenum
    v1 GLenum
    v2 GLenum
    v3 Ptr GLfloat
    v4

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

    -- glFramebufferTexture --------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glFramebufferTexture.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glFramebufferTexture.xhtml OpenGL 4.x>.
    glFramebufferTexture
      :: MonadIO m
      => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
      -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
      -> GLuint -- ^ @texture@.
      -> GLint -- ^ @level@.
      -> m ()
    glFramebufferTexture :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> GLsizei -> m ()
    glFramebufferTexture GLenum
    v1 GLenum
    v2 GLenum
    v3 GLsizei
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> IO ())
    -> GLenum -> GLenum -> GLenum -> GLsizei -> IO ()
    dyn299 FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> IO ())
    ptr_glFramebufferTexture GLenum
    v1 GLenum
    v2 GLenum
    v3 GLsizei
    v4

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

    -- glFramebufferTexture1D ------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glFramebufferTexture.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glFramebufferTexture.xhtml OpenGL 4.x>.
    glFramebufferTexture1D
      :: MonadIO m
      => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
      -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
      -> GLenum -- ^ @textarget@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLuint -- ^ @texture@.
      -> GLint -- ^ @level@.
      -> m ()
    glFramebufferTexture1D :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> m ()
    glFramebufferTexture1D GLenum
    v1 GLenum
    v2 GLenum
    v3 GLenum
    v4 GLsizei
    v5 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> IO ())
    -> GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> IO ()
    dyn300 FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> IO ())
    ptr_glFramebufferTexture1D GLenum
    v1 GLenum
    v2 GLenum
    v3 GLenum
    v4 GLsizei
    v5

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

    -- glFramebufferTexture1DEXT ---------------------------------------------------

    -- | This command is an alias for 'glFramebufferTexture1D'.
    glFramebufferTexture1DEXT
      :: MonadIO m
      => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
      -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
      -> GLenum -- ^ @textarget@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLuint -- ^ @texture@.
      -> GLint -- ^ @level@.
      -> m ()
    glFramebufferTexture1DEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> m ()
    glFramebufferTexture1DEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 GLenum
    v4 GLsizei
    v5 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> IO ())
    -> GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> IO ()
    dyn300 FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> IO ())
    ptr_glFramebufferTexture1DEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 GLenum
    v4 GLsizei
    v5

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

    -- glFramebufferTexture2D ------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glFramebufferTexture.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glFramebufferTexture.xhtml OpenGL 4.x>.
    glFramebufferTexture2D
      :: MonadIO m
      => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
      -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
      -> GLenum -- ^ @textarget@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLuint -- ^ @texture@.
      -> GLint -- ^ @level@.
      -> m ()
    glFramebufferTexture2D :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> m ()
    glFramebufferTexture2D GLenum
    v1 GLenum
    v2 GLenum
    v3 GLenum
    v4 GLsizei
    v5 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> IO ())
    -> GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> IO ()
    dyn300 FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> IO ())
    ptr_glFramebufferTexture2D GLenum
    v1 GLenum
    v2 GLenum
    v3 GLenum
    v4 GLsizei
    v5

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

    -- glFramebufferTexture2DDownsampleIMG -----------------------------------------

    glFramebufferTexture2DDownsampleIMG
      :: MonadIO m
      => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
      -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
      -> GLenum -- ^ @textarget@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLuint -- ^ @texture@.
      -> GLint -- ^ @level@.
      -> GLint -- ^ @xscale@.
      -> GLint -- ^ @yscale@.
      -> m ()
    glFramebufferTexture2DDownsampleIMG :: forall (m :: * -> *).
    MonadIO m =>
    GLenum
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> m ()
    glFramebufferTexture2DDownsampleIMG GLenum
    v1 GLenum
    v2 GLenum
    v3 GLenum
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLenum
       -> GLenum
       -> GLenum
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> IO ()
    dyn301 FunPtr
      (GLenum
       -> GLenum
       -> GLenum
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> IO ())
    ptr_glFramebufferTexture2DDownsampleIMG GLenum
    v1 GLenum
    v2 GLenum
    v3 GLenum
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7

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

    -- glFramebufferTexture2DEXT ---------------------------------------------------

    -- | This command is an alias for 'glFramebufferTexture2D'.
    glFramebufferTexture2DEXT
      :: MonadIO m
      => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
      -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
      -> GLenum -- ^ @textarget@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLuint -- ^ @texture@.
      -> GLint -- ^ @level@.
      -> m ()
    glFramebufferTexture2DEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> m ()
    glFramebufferTexture2DEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 GLenum
    v4 GLsizei
    v5 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> IO ())
    -> GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> IO ()
    dyn300 FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> IO ())
    ptr_glFramebufferTexture2DEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 GLenum
    v4 GLsizei
    v5

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

    -- glFramebufferTexture2DMultisampleEXT ----------------------------------------

    glFramebufferTexture2DMultisampleEXT
      :: MonadIO m
      => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
      -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
      -> GLenum -- ^ @textarget@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLuint -- ^ @texture@.
      -> GLint -- ^ @level@.
      -> GLsizei -- ^ @samples@.
      -> m ()
    glFramebufferTexture2DMultisampleEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> m ()
    glFramebufferTexture2DMultisampleEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 GLenum
    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 -> GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> IO ()
    dyn302 FunPtr
      (GLenum
       -> GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
    ptr_glFramebufferTexture2DMultisampleEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 GLenum
    v4 GLsizei
    v5 GLsizei
    v6

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

    -- glFramebufferTexture2DMultisampleIMG ----------------------------------------

    glFramebufferTexture2DMultisampleIMG
      :: MonadIO m
      => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
      -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
      -> GLenum -- ^ @textarget@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLuint -- ^ @texture@.
      -> GLint -- ^ @level@.
      -> GLsizei -- ^ @samples@.
      -> m ()
    glFramebufferTexture2DMultisampleIMG :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> m ()
    glFramebufferTexture2DMultisampleIMG GLenum
    v1 GLenum
    v2 GLenum
    v3 GLenum
    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 -> GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> IO ()
    dyn302 FunPtr
      (GLenum
       -> GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
    ptr_glFramebufferTexture2DMultisampleIMG GLenum
    v1 GLenum
    v2 GLenum
    v3 GLenum
    v4 GLsizei
    v5 GLsizei
    v6

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

    -- glFramebufferTexture2DOES ---------------------------------------------------

    glFramebufferTexture2DOES
      :: MonadIO m
      => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
      -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
      -> GLenum -- ^ @textarget@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLuint -- ^ @texture@.
      -> GLint -- ^ @level@.
      -> m ()
    glFramebufferTexture2DOES :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> m ()
    glFramebufferTexture2DOES GLenum
    v1 GLenum
    v2 GLenum
    v3 GLenum
    v4 GLsizei
    v5 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> IO ())
    -> GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> IO ()
    dyn300 FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> IO ())
    ptr_glFramebufferTexture2DOES GLenum
    v1 GLenum
    v2 GLenum
    v3 GLenum
    v4 GLsizei
    v5

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

    -- glFramebufferTexture3D ------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glFramebufferTexture.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glFramebufferTexture.xhtml OpenGL 4.x>.
    glFramebufferTexture3D
      :: MonadIO m
      => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
      -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
      -> GLenum -- ^ @textarget@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLuint -- ^ @texture@.
      -> GLint -- ^ @level@.
      -> GLint -- ^ @zoffset@.
      -> m ()
    glFramebufferTexture3D :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> m ()
    glFramebufferTexture3D GLenum
    v1 GLenum
    v2 GLenum
    v3 GLenum
    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 -> GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> IO ()
    dyn303 FunPtr
      (GLenum
       -> GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
    ptr_glFramebufferTexture3D GLenum
    v1 GLenum
    v2 GLenum
    v3 GLenum
    v4 GLsizei
    v5 GLsizei
    v6

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

    -- glFramebufferTexture3DEXT ---------------------------------------------------

    -- | This command is an alias for 'glFramebufferTexture3D'.
    glFramebufferTexture3DEXT
      :: MonadIO m
      => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
      -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
      -> GLenum -- ^ @textarget@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLuint -- ^ @texture@.
      -> GLint -- ^ @level@.
      -> GLint -- ^ @zoffset@.
      -> m ()
    glFramebufferTexture3DEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> m ()
    glFramebufferTexture3DEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 GLenum
    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 -> GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> IO ()
    dyn303 FunPtr
      (GLenum
       -> GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
    ptr_glFramebufferTexture3DEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 GLenum
    v4 GLsizei
    v5 GLsizei
    v6

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

    -- glFramebufferTexture3DOES ---------------------------------------------------

    glFramebufferTexture3DOES
      :: MonadIO m
      => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
      -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
      -> GLenum -- ^ @textarget@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> GLuint -- ^ @texture@.
      -> GLint -- ^ @level@.
      -> GLint -- ^ @zoffset@.
      -> m ()
    glFramebufferTexture3DOES :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> m ()
    glFramebufferTexture3DOES GLenum
    v1 GLenum
    v2 GLenum
    v3 GLenum
    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 -> GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> IO ()
    dyn303 FunPtr
      (GLenum
       -> GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
    ptr_glFramebufferTexture3DOES GLenum
    v1 GLenum
    v2 GLenum
    v3 GLenum
    v4 GLsizei
    v5 GLsizei
    v6

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

    -- glFramebufferTextureARB -----------------------------------------------------

    -- | This command is an alias for 'glFramebufferTexture'.
    glFramebufferTextureARB
      :: MonadIO m
      => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
      -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
      -> GLuint -- ^ @texture@ of type @Texture@.
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> m ()
    glFramebufferTextureARB :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> GLsizei -> m ()
    glFramebufferTextureARB GLenum
    v1 GLenum
    v2 GLenum
    v3 GLsizei
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> IO ())
    -> GLenum -> GLenum -> GLenum -> GLsizei -> IO ()
    dyn299 FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> IO ())
    ptr_glFramebufferTextureARB GLenum
    v1 GLenum
    v2 GLenum
    v3 GLsizei
    v4

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

    -- glFramebufferTextureEXT -----------------------------------------------------

    -- | This command is an alias for 'glFramebufferTexture'.
    glFramebufferTextureEXT
      :: MonadIO m
      => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
      -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
      -> GLuint -- ^ @texture@ of type @Texture@.
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> m ()
    glFramebufferTextureEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> GLsizei -> m ()
    glFramebufferTextureEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 GLsizei
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> IO ())
    -> GLenum -> GLenum -> GLenum -> GLsizei -> IO ()
    dyn299 FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> IO ())
    ptr_glFramebufferTextureEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 GLsizei
    v4

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

    -- glFramebufferTextureFaceARB -------------------------------------------------

    glFramebufferTextureFaceARB
      :: MonadIO m
      => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
      -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
      -> GLuint -- ^ @texture@ of type @Texture@.
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> GLenum -- ^ @face@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> m ()
    glFramebufferTextureFaceARB :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> GLsizei -> GLenum -> m ()
    glFramebufferTextureFaceARB GLenum
    v1 GLenum
    v2 GLenum
    v3 GLsizei
    v4 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 -> GLenum -> IO ())
    -> GLenum -> GLenum -> GLenum -> GLsizei -> GLenum -> IO ()
    dyn304 FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> GLenum -> IO ())
    ptr_glFramebufferTextureFaceARB GLenum
    v1 GLenum
    v2 GLenum
    v3 GLsizei
    v4 GLenum
    v5

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

    -- glFramebufferTextureFaceEXT -------------------------------------------------

    -- | This command is an alias for 'glFramebufferTextureFaceARB'.
    glFramebufferTextureFaceEXT
      :: MonadIO m
      => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
      -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
      -> GLuint -- ^ @texture@ of type @Texture@.
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> GLenum -- ^ @face@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
      -> m ()
    glFramebufferTextureFaceEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> GLsizei -> GLenum -> m ()
    glFramebufferTextureFaceEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 GLsizei
    v4 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 -> GLenum -> IO ())
    -> GLenum -> GLenum -> GLenum -> GLsizei -> GLenum -> IO ()
    dyn304 FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> GLenum -> IO ())
    ptr_glFramebufferTextureFaceEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 GLsizei
    v4 GLenum
    v5

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

    -- glFramebufferTextureLayer ---------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glFramebufferTextureLayer.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glFramebufferTextureLayer.xhtml OpenGL 4.x>.
    glFramebufferTextureLayer
      :: MonadIO m
      => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
      -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
      -> GLuint -- ^ @texture@ of type @Texture@.
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> GLint -- ^ @layer@ of type @CheckedInt32@.
      -> m ()
    glFramebufferTextureLayer :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> m ()
    glFramebufferTextureLayer GLenum
    v1 GLenum
    v2 GLenum
    v3 GLsizei
    v4 GLsizei
    v5 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
    -> GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> IO ()
    dyn305 FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
    ptr_glFramebufferTextureLayer GLenum
    v1 GLenum
    v2 GLenum
    v3 GLsizei
    v4 GLsizei
    v5

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

    -- glFramebufferTextureLayerARB ------------------------------------------------

    -- | This command is an alias for 'glFramebufferTextureLayer'.
    glFramebufferTextureLayerARB
      :: MonadIO m
      => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
      -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
      -> GLuint -- ^ @texture@ of type @Texture@.
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> GLint -- ^ @layer@ of type @CheckedInt32@.
      -> m ()
    glFramebufferTextureLayerARB :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> m ()
    glFramebufferTextureLayerARB GLenum
    v1 GLenum
    v2 GLenum
    v3 GLsizei
    v4 GLsizei
    v5 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
    -> GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> IO ()
    dyn305 FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
    ptr_glFramebufferTextureLayerARB GLenum
    v1 GLenum
    v2 GLenum
    v3 GLsizei
    v4 GLsizei
    v5

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

    -- glFramebufferTextureLayerDownsampleIMG --------------------------------------

    glFramebufferTextureLayerDownsampleIMG
      :: MonadIO m
      => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
      -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
      -> GLuint -- ^ @texture@ of type @Texture@.
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> GLint -- ^ @layer@ of type @CheckedInt32@.
      -> GLint -- ^ @xscale@.
      -> GLint -- ^ @yscale@.
      -> m ()
    glFramebufferTextureLayerDownsampleIMG :: forall (m :: * -> *).
    MonadIO m =>
    GLenum
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> m ()
    glFramebufferTextureLayerDownsampleIMG GLenum
    v1 GLenum
    v2 GLenum
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLenum
       -> GLenum
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> IO ()
    dyn306 FunPtr
      (GLenum
       -> GLenum
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> IO ())
    ptr_glFramebufferTextureLayerDownsampleIMG GLenum
    v1 GLenum
    v2 GLenum
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7

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

    -- glFramebufferTextureLayerEXT ------------------------------------------------

    -- | This command is an alias for 'glFramebufferTextureLayer'.
    glFramebufferTextureLayerEXT
      :: MonadIO m
      => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
      -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
      -> GLuint -- ^ @texture@ of type @Texture@.
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> GLint -- ^ @layer@ of type @CheckedInt32@.
      -> m ()
    glFramebufferTextureLayerEXT :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> m ()
    glFramebufferTextureLayerEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 GLsizei
    v4 GLsizei
    v5 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
    -> GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> IO ()
    dyn305 FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
    ptr_glFramebufferTextureLayerEXT GLenum
    v1 GLenum
    v2 GLenum
    v3 GLsizei
    v4 GLsizei
    v5

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

    -- glFramebufferTextureMultisampleMultiviewOVR ---------------------------------

    glFramebufferTextureMultisampleMultiviewOVR
      :: MonadIO m
      => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
      -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
      -> GLuint -- ^ @texture@ of type @Texture@.
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> GLsizei -- ^ @samples@.
      -> GLint -- ^ @baseViewIndex@.
      -> GLsizei -- ^ @numViews@.
      -> m ()
    glFramebufferTextureMultisampleMultiviewOVR :: forall (m :: * -> *).
    MonadIO m =>
    GLenum
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> m ()
    glFramebufferTextureMultisampleMultiviewOVR GLenum
    v1 GLenum
    v2 GLenum
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr
      (GLenum
       -> GLenum
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> IO ())
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> IO ()
    dyn307 FunPtr
      (GLenum
       -> GLenum
       -> GLenum
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> GLsizei
       -> IO ())
    ptr_glFramebufferTextureMultisampleMultiviewOVR GLenum
    v1 GLenum
    v2 GLenum
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6 GLsizei
    v7

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

    -- glFramebufferTextureMultiviewOVR --------------------------------------------

    glFramebufferTextureMultiviewOVR
      :: MonadIO m
      => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
      -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
      -> GLuint -- ^ @texture@ of type @Texture@.
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> GLint -- ^ @baseViewIndex@.
      -> GLsizei -- ^ @numViews@.
      -> m ()
    glFramebufferTextureMultiviewOVR :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()
    glFramebufferTextureMultiviewOVR GLenum
    v1 GLenum
    v2 GLenum
    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 -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
    -> GLenum
    -> GLenum
    -> GLenum
    -> GLsizei
    -> GLsizei
    -> GLsizei
    -> IO ()
    dyn308 FunPtr
      (GLenum
       -> GLenum -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
    ptr_glFramebufferTextureMultiviewOVR GLenum
    v1 GLenum
    v2 GLenum
    v3 GLsizei
    v4 GLsizei
    v5 GLsizei
    v6

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

    -- glFramebufferTextureOES -----------------------------------------------------

    -- | This command is an alias for 'glFramebufferTexture'.
    glFramebufferTextureOES
      :: MonadIO m
      => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
      -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
      -> GLuint -- ^ @texture@ of type @Texture@.
      -> GLint -- ^ @level@ of type @CheckedInt32@.
      -> m ()
    glFramebufferTextureOES :: forall (m :: * -> *).
    MonadIO m =>
    GLenum -> GLenum -> GLenum -> GLsizei -> m ()
    glFramebufferTextureOES GLenum
    v1 GLenum
    v2 GLenum
    v3 GLsizei
    v4 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> IO ())
    -> GLenum -> GLenum -> GLenum -> GLsizei -> IO ()
    dyn299 FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> IO ())
    ptr_glFramebufferTextureOES GLenum
    v1 GLenum
    v2 GLenum
    v3 GLsizei
    v4

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

    -- glFreeObjectBufferATI -------------------------------------------------------

    glFreeObjectBufferATI
      :: MonadIO m
      => GLuint -- ^ @buffer@.
      -> m ()
    glFreeObjectBufferATI :: forall (m :: * -> *). MonadIO m => GLenum -> m ()
    glFreeObjectBufferATI 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_glFreeObjectBufferATI GLenum
    v1

    {-# NOINLINE ptr_glFreeObjectBufferATI #-}
    ptr_glFreeObjectBufferATI :: FunPtr (GLuint -> IO ())
    ptr_glFreeObjectBufferATI :: FunPtr (GLenum -> IO ())
    ptr_glFreeObjectBufferATI = 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
    "glFreeObjectBufferATI"

    -- glFrontFace -----------------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glFrontFace.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glFrontFace.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glFrontFace.xhtml OpenGL 4.x>.
    glFrontFace
      :: MonadIO m
      => GLenum -- ^ @mode@ of type [FrontFaceDirection](Graphics-GL-Groups.html#FrontFaceDirection).
      -> m ()
    glFrontFace :: forall (m :: * -> *). MonadIO m => GLenum -> m ()
    glFrontFace 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_glFrontFace GLenum
    v1

    {-# NOINLINE ptr_glFrontFace #-}
    ptr_glFrontFace :: FunPtr (GLenum -> IO ())
    ptr_glFrontFace :: FunPtr (GLenum -> IO ())
    ptr_glFrontFace = 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
    "glFrontFace"

    -- glFrustum -------------------------------------------------------------------

    -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glFrustum.xml OpenGL 2.x>.
    glFrustum
      :: MonadIO m
      => GLdouble -- ^ @left@.
      -> GLdouble -- ^ @right@.
      -> GLdouble -- ^ @bottom@.
      -> GLdouble -- ^ @top@.
      -> GLdouble -- ^ @zNear@.
      -> GLdouble -- ^ @zFar@.
      -> m ()
    glFrustum :: forall (m :: * -> *).
    MonadIO m =>
    GLdouble
    -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
    glFrustum GLdouble
    v1 GLdouble
    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
      (GLdouble
       -> GLdouble
       -> GLdouble
       -> GLdouble
       -> GLdouble
       -> GLdouble
       -> IO ())
    -> GLdouble
    -> GLdouble
    -> GLdouble
    -> GLdouble
    -> GLdouble
    -> GLdouble
    -> IO ()
    dyn309 FunPtr
      (GLdouble
       -> GLdouble
       -> GLdouble
       -> GLdouble
       -> GLdouble
       -> GLdouble
       -> IO ())
    ptr_glFrustum GLdouble
    v1 GLdouble
    v2 GLdouble
    v3 GLdouble
    v4 GLdouble
    v5 GLdouble
    v6

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

    -- glFrustumf ------------------------------------------------------------------

    glFrustumf
      :: MonadIO m
      => GLfloat -- ^ @l@.
      -> GLfloat -- ^ @r@.
      -> GLfloat -- ^ @b@.
      -> GLfloat -- ^ @t@.
      -> GLfloat -- ^ @n@.
      -> GLfloat -- ^ @f@.
      -> m ()
    glFrustumf :: forall (m :: * -> *).
    MonadIO m =>
    GLfloat
    -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
    glFrustumf GLfloat
    v1 GLfloat
    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
      (GLfloat
       -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> IO ()
    dyn103 FunPtr
      (GLfloat
       -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
    ptr_glFrustumf GLfloat
    v1 GLfloat
    v2 GLfloat
    v3 GLfloat
    v4 GLfloat
    v5 GLfloat
    v6

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

    -- glFrustumfOES ---------------------------------------------------------------

    glFrustumfOES
      :: MonadIO m
      => GLfloat -- ^ @l@.
      -> GLfloat -- ^ @r@.
      -> GLfloat -- ^ @b@.
      -> GLfloat -- ^ @t@.
      -> GLfloat -- ^ @n@.
      -> GLfloat -- ^ @f@.
      -> m ()
    glFrustumfOES :: forall (m :: * -> *).
    MonadIO m =>
    GLfloat
    -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
    glFrustumfOES GLfloat
    v1 GLfloat
    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
      (GLfloat
       -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> GLfloat
    -> IO ()
    dyn103 FunPtr
      (GLfloat
       -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
    ptr_glFrustumfOES GLfloat
    v1 GLfloat
    v2 GLfloat
    v3 GLfloat
    v4 GLfloat
    v5 GLfloat
    v6

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

    -- glFrustumx ------------------------------------------------------------------

    glFrustumx
      :: MonadIO m
      => GLfixed -- ^ @l@.
      -> GLfixed -- ^ @r@.
      -> GLfixed -- ^ @b@.
      -> GLfixed -- ^ @t@.
      -> GLfixed -- ^ @n@.
      -> GLfixed -- ^ @f@.
      -> m ()
    glFrustumx :: forall (m :: * -> *).
    MonadIO m =>
    GLfixed
    -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()
    glFrustumx GLfixed
    v1 GLfixed
    v2 GLfixed
    v3 GLfixed
    v4 GLfixed
    v5 GLfixed
    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
      (GLfixed
       -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
    -> GLfixed
    -> GLfixed
    -> GLfixed
    -> GLfixed
    -> GLfixed
    -> GLfixed
    -> IO ()
    dyn310 FunPtr
      (GLfixed
       -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
    ptr_glFrustumx GLfixed
    v1 GLfixed
    v2 GLfixed
    v3 GLfixed
    v4 GLfixed
    v5 GLfixed
    v6

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

    -- glFrustumxOES ---------------------------------------------------------------

    glFrustumxOES
      :: MonadIO m
      => GLfixed -- ^ @l@.
      -> GLfixed -- ^ @r@.
      -> GLfixed -- ^ @b@.
      -> GLfixed -- ^ @t@.
      -> GLfixed -- ^ @n@.
      -> GLfixed -- ^ @f@.
      -> m ()
    glFrustumxOES :: forall (m :: * -> *).
    MonadIO m =>
    GLfixed
    -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()
    glFrustumxOES GLfixed
    v1 GLfixed
    v2 GLfixed
    v3 GLfixed
    v4 GLfixed
    v5 GLfixed
    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
      (GLfixed
       -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
    -> GLfixed
    -> GLfixed
    -> GLfixed
    -> GLfixed
    -> GLfixed
    -> GLfixed
    -> IO ()
    dyn310 FunPtr
      (GLfixed
       -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
    ptr_glFrustumxOES GLfixed
    v1 GLfixed
    v2 GLfixed
    v3 GLfixed
    v4 GLfixed
    v5 GLfixed
    v6

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

    -- glGenAsyncMarkersSGIX -------------------------------------------------------

    glGenAsyncMarkersSGIX
      :: MonadIO m
      => GLsizei -- ^ @range@.
      -> m GLuint
    glGenAsyncMarkersSGIX :: forall (m :: * -> *). MonadIO m => GLsizei -> m GLenum
    glGenAsyncMarkersSGIX GLsizei
    v1 = IO GLenum -> m GLenum
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO GLenum -> m GLenum) -> IO GLenum -> m GLenum
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLsizei -> IO GLenum) -> GLsizei -> IO GLenum
    dyn311 FunPtr (GLsizei -> IO GLenum)
    ptr_glGenAsyncMarkersSGIX GLsizei
    v1

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

    -- glGenBuffers ----------------------------------------------------------------

    -- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGenBuffers.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGenBuffers.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGenBuffers.xhtml OpenGL 4.x>.
    glGenBuffers
      :: MonadIO m
      => GLsizei -- ^ @n@.
      -> Ptr GLuint -- ^ @buffers@ pointing to @n@ elements of type @GLuint@.
      -> m ()
    glGenBuffers :: forall (m :: * -> *). MonadIO m => GLsizei -> Ptr GLenum -> m ()
    glGenBuffers GLsizei
    v1 Ptr GLenum
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLsizei -> Ptr GLenum -> IO ())
    -> GLsizei -> Ptr GLenum -> IO ()
    dyn200 FunPtr (GLsizei -> Ptr GLenum -> IO ())
    ptr_glGenBuffers GLsizei
    v1 Ptr GLenum
    v2

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

    -- glGenBuffersARB -------------------------------------------------------------

    -- | This command is an alias for 'glGenBuffers'.
    glGenBuffersARB
      :: MonadIO m
      => GLsizei -- ^ @n@.
      -> Ptr GLuint -- ^ @buffers@ pointing to @n@ elements of type @GLuint@.
      -> m ()
    glGenBuffersARB :: forall (m :: * -> *). MonadIO m => GLsizei -> Ptr GLenum -> m ()
    glGenBuffersARB GLsizei
    v1 Ptr GLenum
    v2 = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ FunPtr (GLsizei -> Ptr GLenum -> IO ())
    -> GLsizei -> Ptr GLenum -> IO ()
    dyn200 FunPtr (GLsizei -> Ptr GLenum -> IO ())
    ptr_glGenBuffersARB GLsizei
    v1 Ptr GLenum
    v2

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