{-# OPTIONS_HADDOCK hide #-}
--------------------------------------------------------------------------------
-- |
-- Module      :  Graphics.GL.Functions.F01
-- 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.F01 (
  glAccum,
  glAccumxOES,
  glAcquireKeyedMutexWin32EXT,
  glActiveProgramEXT,
  glActiveShaderProgram,
  glActiveShaderProgramEXT,
  glActiveStencilFaceEXT,
  glActiveTexture,
  glActiveTextureARB,
  glActiveVaryingNV,
  glAlphaFragmentOp1ATI,
  glAlphaFragmentOp2ATI,
  glAlphaFragmentOp3ATI,
  glAlphaFunc,
  glAlphaFuncQCOM,
  glAlphaFuncx,
  glAlphaFuncxOES,
  glAlphaToCoverageDitherControlNV,
  glApplyFramebufferAttachmentCMAAINTEL,
  glApplyTextureEXT,
  glAreProgramsResidentNV,
  glAreTexturesResident,
  glAreTexturesResidentEXT,
  glArrayElement,
  glArrayElementEXT,
  glArrayObjectATI,
  glAsyncCopyBufferSubDataNVX,
  glAsyncCopyImageSubDataNVX,
  glAsyncMarkerSGIX,
  glAttachObjectARB,
  glAttachShader,
  glBegin,
  glBeginConditionalRender,
  glBeginConditionalRenderNV,
  glBeginConditionalRenderNVX,
  glBeginFragmentShaderATI,
  glBeginOcclusionQueryNV,
  glBeginPerfMonitorAMD,
  glBeginPerfQueryINTEL,
  glBeginQuery,
  glBeginQueryARB,
  glBeginQueryEXT,
  glBeginQueryIndexed,
  glBeginTransformFeedback,
  glBeginTransformFeedbackEXT,
  glBeginTransformFeedbackNV,
  glBeginVertexShaderEXT,
  glBeginVideoCaptureNV,
  glBindAttribLocation,
  glBindAttribLocationARB,
  glBindBuffer,
  glBindBufferARB,
  glBindBufferBase,
  glBindBufferBaseEXT,
  glBindBufferBaseNV,
  glBindBufferOffsetEXT,
  glBindBufferOffsetNV,
  glBindBufferRange,
  glBindBufferRangeEXT,
  glBindBufferRangeNV,
  glBindBuffersBase,
  glBindBuffersRange,
  glBindFragDataLocation,
  glBindFragDataLocationEXT,
  glBindFragDataLocationIndexed,
  glBindFragDataLocationIndexedEXT,
  glBindFragmentShaderATI,
  glBindFramebuffer,
  glBindFramebufferEXT,
  glBindFramebufferOES,
  glBindImageTexture,
  glBindImageTextureEXT,
  glBindImageTextures,
  glBindLightParameterEXT,
  glBindMaterialParameterEXT,
  glBindMultiTextureEXT,
  glBindParameterEXT,
  glBindProgramARB,
  glBindProgramNV,
  glBindProgramPipeline,
  glBindProgramPipelineEXT,
  glBindRenderbuffer,
  glBindRenderbufferEXT,
  glBindRenderbufferOES,
  glBindSampler,
  glBindSamplers,
  glBindShadingRateImageNV,
  glBindTexGenParameterEXT,
  glBindTexture,
  glBindTextureEXT,
  glBindTextureUnit,
  glBindTextureUnitParameterEXT,
  glBindTextures,
  glBindTransformFeedback,
  glBindTransformFeedbackNV,
  glBindVertexArray,
  glBindVertexArrayAPPLE,
  glBindVertexArrayOES,
  glBindVertexBuffer,
  glBindVertexBuffers
) where

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

-- glAccum ---------------------------------------------------------------------

-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glAccum.xml OpenGL 2.x>.
glAccum
  :: MonadIO m
  => GLenum -- ^ @op@ of type [AccumOp](Graphics-GL-Groups.html#AccumOp).
  -> GLfloat -- ^ @value@ of type @CoordF@.
  -> m ()
glAccum :: GLenum -> GLfloat -> m ()
glAccum GLenum
v1 GLfloat
v2 = IO () -> m ()
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_glAccum GLenum
v1 GLfloat
v2

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

-- glAccumxOES -----------------------------------------------------------------

glAccumxOES
  :: MonadIO m
  => GLenum -- ^ @op@.
  -> GLfixed -- ^ @value@.
  -> m ()
glAccumxOES :: GLenum -> GLfixed -> m ()
glAccumxOES GLenum
v1 GLfixed
v2 = IO () -> m ()
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_glAccumxOES GLenum
v1 GLfixed
v2

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

-- glAcquireKeyedMutexWin32EXT -------------------------------------------------

glAcquireKeyedMutexWin32EXT
  :: MonadIO m
  => GLuint -- ^ @memory@.
  -> GLuint64 -- ^ @key@.
  -> GLuint -- ^ @timeout@.
  -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
glAcquireKeyedMutexWin32EXT :: GLenum -> GLuint64 -> GLenum -> m GLboolean
glAcquireKeyedMutexWin32EXT GLenum
v1 GLuint64
v2 GLenum
v3 = IO GLboolean -> m GLboolean
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO GLboolean -> m GLboolean) -> IO GLboolean -> m GLboolean
forall a b. (a -> b) -> a -> b
$ FunPtr (GLenum -> GLuint64 -> GLenum -> IO GLboolean)
-> GLenum -> GLuint64 -> GLenum -> IO GLboolean
dyn2 FunPtr (GLenum -> GLuint64 -> GLenum -> IO GLboolean)
ptr_glAcquireKeyedMutexWin32EXT GLenum
v1 GLuint64
v2 GLenum
v3

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

-- glActiveProgramEXT ----------------------------------------------------------

glActiveProgramEXT
  :: MonadIO m
  => GLuint -- ^ @program@.
  -> m ()
glActiveProgramEXT :: GLenum -> m ()
glActiveProgramEXT GLenum
v1 = IO () -> m ()
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_glActiveProgramEXT GLenum
v1

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

-- glActiveShaderProgram -------------------------------------------------------

-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glActiveShaderProgram.xhtml OpenGL 4.x>.
glActiveShaderProgram
  :: MonadIO m
  => GLuint -- ^ @pipeline@.
  -> GLuint -- ^ @program@.
  -> m ()
glActiveShaderProgram :: GLenum -> GLenum -> m ()
glActiveShaderProgram GLenum
v1 GLenum
v2 = IO () -> m ()
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 ()
dyn4 FunPtr (GLenum -> GLenum -> IO ())
ptr_glActiveShaderProgram GLenum
v1 GLenum
v2

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

-- glActiveShaderProgramEXT ----------------------------------------------------

glActiveShaderProgramEXT
  :: MonadIO m
  => GLuint -- ^ @pipeline@.
  -> GLuint -- ^ @program@.
  -> m ()
glActiveShaderProgramEXT :: GLenum -> GLenum -> m ()
glActiveShaderProgramEXT GLenum
v1 GLenum
v2 = IO () -> m ()
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 ()
dyn4 FunPtr (GLenum -> GLenum -> IO ())
ptr_glActiveShaderProgramEXT GLenum
v1 GLenum
v2

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

-- glActiveStencilFaceEXT ------------------------------------------------------

glActiveStencilFaceEXT
  :: MonadIO m
  => GLenum -- ^ @face@ of type [StencilFaceDirection](Graphics-GL-Groups.html#StencilFaceDirection).
  -> m ()
glActiveStencilFaceEXT :: GLenum -> m ()
glActiveStencilFaceEXT GLenum
v1 = IO () -> m ()
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_glActiveStencilFaceEXT GLenum
v1

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

-- glActiveTexture -------------------------------------------------------------

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

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

-- glActiveTextureARB ----------------------------------------------------------

-- | This command is an alias for 'glActiveTexture'.
glActiveTextureARB
  :: MonadIO m
  => GLenum -- ^ @texture@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
  -> m ()
glActiveTextureARB :: GLenum -> m ()
glActiveTextureARB GLenum
v1 = IO () -> m ()
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_glActiveTextureARB GLenum
v1

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

-- glActiveVaryingNV -----------------------------------------------------------

glActiveVaryingNV
  :: MonadIO m
  => GLuint -- ^ @program@.
  -> Ptr GLchar -- ^ @name@ pointing to @COMPSIZE(name)@ elements of type @GLchar@.
  -> m ()
glActiveVaryingNV :: GLenum -> Ptr GLchar -> m ()
glActiveVaryingNV GLenum
v1 Ptr GLchar
v2 = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ FunPtr (GLenum -> Ptr GLchar -> IO ())
-> GLenum -> Ptr GLchar -> IO ()
dyn6 FunPtr (GLenum -> Ptr GLchar -> IO ())
ptr_glActiveVaryingNV GLenum
v1 Ptr GLchar
v2

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

-- glAlphaFragmentOp1ATI -------------------------------------------------------

glAlphaFragmentOp1ATI
  :: MonadIO m
  => GLenum -- ^ @op@ of type [FragmentOpATI](Graphics-GL-Groups.html#FragmentOpATI).
  -> GLuint -- ^ @dst@.
  -> GLuint -- ^ @dstMod@.
  -> GLuint -- ^ @arg1@.
  -> GLuint -- ^ @arg1Rep@.
  -> GLuint -- ^ @arg1Mod@.
  -> m ()
glAlphaFragmentOp1ATI :: GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> m ()
glAlphaFragmentOp1ATI GLenum
v1 GLenum
v2 GLenum
v3 GLenum
v4 GLenum
v5 GLenum
v6 = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ FunPtr
  (GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-> GLenum
-> GLenum
-> GLenum
-> GLenum
-> GLenum
-> GLenum
-> IO ()
dyn7 FunPtr
  (GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
ptr_glAlphaFragmentOp1ATI GLenum
v1 GLenum
v2 GLenum
v3 GLenum
v4 GLenum
v5 GLenum
v6

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

-- glAlphaFragmentOp2ATI -------------------------------------------------------

glAlphaFragmentOp2ATI
  :: MonadIO m
  => GLenum -- ^ @op@ of type [FragmentOpATI](Graphics-GL-Groups.html#FragmentOpATI).
  -> GLuint -- ^ @dst@.
  -> GLuint -- ^ @dstMod@.
  -> GLuint -- ^ @arg1@.
  -> GLuint -- ^ @arg1Rep@.
  -> GLuint -- ^ @arg1Mod@.
  -> GLuint -- ^ @arg2@.
  -> GLuint -- ^ @arg2Rep@.
  -> GLuint -- ^ @arg2Mod@.
  -> m ()
glAlphaFragmentOp2ATI :: GLenum
-> GLenum
-> GLenum
-> GLenum
-> GLenum
-> GLenum
-> GLenum
-> GLenum
-> GLenum
-> m ()
glAlphaFragmentOp2ATI GLenum
v1 GLenum
v2 GLenum
v3 GLenum
v4 GLenum
v5 GLenum
v6 GLenum
v7 GLenum
v8 GLenum
v9 = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ FunPtr
  (GLenum
   -> GLenum
   -> GLenum
   -> GLenum
   -> GLenum
   -> GLenum
   -> GLenum
   -> GLenum
   -> GLenum
   -> IO ())
-> GLenum
-> GLenum
-> GLenum
-> GLenum
-> GLenum
-> GLenum
-> GLenum
-> GLenum
-> GLenum
-> IO ()
dyn8 FunPtr
  (GLenum
   -> GLenum
   -> GLenum
   -> GLenum
   -> GLenum
   -> GLenum
   -> GLenum
   -> GLenum
   -> GLenum
   -> IO ())
ptr_glAlphaFragmentOp2ATI GLenum
v1 GLenum
v2 GLenum
v3 GLenum
v4 GLenum
v5 GLenum
v6 GLenum
v7 GLenum
v8 GLenum
v9

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

-- glAlphaFragmentOp3ATI -------------------------------------------------------

glAlphaFragmentOp3ATI
  :: MonadIO m
  => GLenum -- ^ @op@ of type [FragmentOpATI](Graphics-GL-Groups.html#FragmentOpATI).
  -> GLuint -- ^ @dst@.
  -> GLuint -- ^ @dstMod@.
  -> GLuint -- ^ @arg1@.
  -> GLuint -- ^ @arg1Rep@.
  -> GLuint -- ^ @arg1Mod@.
  -> GLuint -- ^ @arg2@.
  -> GLuint -- ^ @arg2Rep@.
  -> GLuint -- ^ @arg2Mod@.
  -> GLuint -- ^ @arg3@.
  -> GLuint -- ^ @arg3Rep@.
  -> GLuint -- ^ @arg3Mod@.
  -> m ()
glAlphaFragmentOp3ATI :: GLenum
-> GLenum
-> GLenum
-> GLenum
-> GLenum
-> GLenum
-> GLenum
-> GLenum
-> GLenum
-> GLenum
-> GLenum
-> GLenum
-> m ()
glAlphaFragmentOp3ATI GLenum
v1 GLenum
v2 GLenum
v3 GLenum
v4 GLenum
v5 GLenum
v6 GLenum
v7 GLenum
v8 GLenum
v9 GLenum
v10 GLenum
v11 GLenum
v12 = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ FunPtr
  (GLenum
   -> GLenum
   -> GLenum
   -> GLenum
   -> GLenum
   -> GLenum
   -> GLenum
   -> GLenum
   -> GLenum
   -> GLenum
   -> GLenum
   -> GLenum
   -> IO ())
-> GLenum
-> GLenum
-> GLenum
-> GLenum
-> GLenum
-> GLenum
-> GLenum
-> GLenum
-> GLenum
-> GLenum
-> GLenum
-> GLenum
-> IO ()
dyn9 FunPtr
  (GLenum
   -> GLenum
   -> GLenum
   -> GLenum
   -> GLenum
   -> GLenum
   -> GLenum
   -> GLenum
   -> GLenum
   -> GLenum
   -> GLenum
   -> GLenum
   -> IO ())
ptr_glAlphaFragmentOp3ATI GLenum
v1 GLenum
v2 GLenum
v3 GLenum
v4 GLenum
v5 GLenum
v6 GLenum
v7 GLenum
v8 GLenum
v9 GLenum
v10 GLenum
v11 GLenum
v12

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

-- glAlphaFunc -----------------------------------------------------------------

-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glAlphaFunc.xml OpenGL 2.x>.
glAlphaFunc
  :: MonadIO m
  => GLenum -- ^ @func@ of type [AlphaFunction](Graphics-GL-Groups.html#AlphaFunction).
  -> GLfloat -- ^ @ref@.
  -> m ()
glAlphaFunc :: GLenum -> GLfloat -> m ()
glAlphaFunc GLenum
v1 GLfloat
v2 = IO () -> m ()
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_glAlphaFunc GLenum
v1 GLfloat
v2

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

-- glAlphaFuncQCOM -------------------------------------------------------------

glAlphaFuncQCOM
  :: MonadIO m
  => GLenum -- ^ @func@.
  -> GLclampf -- ^ @ref@.
  -> m ()
glAlphaFuncQCOM :: GLenum -> GLfloat -> m ()
glAlphaFuncQCOM GLenum
v1 GLfloat
v2 = IO () -> m ()
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 ()
dyn10 FunPtr (GLenum -> GLfloat -> IO ())
ptr_glAlphaFuncQCOM GLenum
v1 GLfloat
v2

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

-- glAlphaFuncx ----------------------------------------------------------------

glAlphaFuncx
  :: MonadIO m
  => GLenum -- ^ @func@ of type [AlphaFunction](Graphics-GL-Groups.html#AlphaFunction).
  -> GLfixed -- ^ @ref@.
  -> m ()
glAlphaFuncx :: GLenum -> GLfixed -> m ()
glAlphaFuncx GLenum
v1 GLfixed
v2 = IO () -> m ()
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_glAlphaFuncx GLenum
v1 GLfixed
v2

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

-- glAlphaFuncxOES -------------------------------------------------------------

glAlphaFuncxOES
  :: MonadIO m
  => GLenum -- ^ @func@ of type [AlphaFunction](Graphics-GL-Groups.html#AlphaFunction).
  -> GLfixed -- ^ @ref@ of type @ClampedFixed@.
  -> m ()
glAlphaFuncxOES :: GLenum -> GLfixed -> m ()
glAlphaFuncxOES GLenum
v1 GLfixed
v2 = IO () -> m ()
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_glAlphaFuncxOES GLenum
v1 GLfixed
v2

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

-- glAlphaToCoverageDitherControlNV --------------------------------------------

glAlphaToCoverageDitherControlNV
  :: MonadIO m
  => GLenum -- ^ @mode@.
  -> m ()
glAlphaToCoverageDitherControlNV :: GLenum -> m ()
glAlphaToCoverageDitherControlNV GLenum
v1 = IO () -> m ()
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_glAlphaToCoverageDitherControlNV GLenum
v1

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

-- glApplyFramebufferAttachmentCMAAINTEL ---------------------------------------

glApplyFramebufferAttachmentCMAAINTEL
  :: MonadIO m
  => m ()
glApplyFramebufferAttachmentCMAAINTEL :: m ()
glApplyFramebufferAttachmentCMAAINTEL = IO () -> m ()
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_glApplyFramebufferAttachmentCMAAINTEL

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

-- glApplyTextureEXT -----------------------------------------------------------

glApplyTextureEXT
  :: MonadIO m
  => GLenum -- ^ @mode@ of type [LightTextureModeEXT](Graphics-GL-Groups.html#LightTextureModeEXT).
  -> m ()
glApplyTextureEXT :: GLenum -> m ()
glApplyTextureEXT GLenum
v1 = IO () -> m ()
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_glApplyTextureEXT GLenum
v1

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

-- glAreProgramsResidentNV -----------------------------------------------------

glAreProgramsResidentNV
  :: MonadIO m
  => GLsizei -- ^ @n@.
  -> Ptr GLuint -- ^ @programs@ pointing to @n@ elements of type @GLuint@.
  -> Ptr GLboolean -- ^ @residences@ pointing to @n@ elements of type [Boolean](Graphics-GL-Groups.html#Boolean).
  -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
glAreProgramsResidentNV :: GLsizei -> Ptr GLenum -> Ptr GLboolean -> m GLboolean
glAreProgramsResidentNV GLsizei
v1 Ptr GLenum
v2 Ptr GLboolean
v3 = IO GLboolean -> m GLboolean
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO GLboolean -> m GLboolean) -> IO GLboolean -> m GLboolean
forall a b. (a -> b) -> a -> b
$ FunPtr (GLsizei -> Ptr GLenum -> Ptr GLboolean -> IO GLboolean)
-> GLsizei -> Ptr GLenum -> Ptr GLboolean -> IO GLboolean
dyn12 FunPtr (GLsizei -> Ptr GLenum -> Ptr GLboolean -> IO GLboolean)
ptr_glAreProgramsResidentNV GLsizei
v1 Ptr GLenum
v2 Ptr GLboolean
v3

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

-- glAreTexturesResident -------------------------------------------------------

-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glAreTexturesResident.xml OpenGL 2.x>.
glAreTexturesResident
  :: MonadIO m
  => GLsizei -- ^ @n@.
  -> Ptr GLuint -- ^ @textures@ pointing to @n@ elements of type @Texture@.
  -> Ptr GLboolean -- ^ @residences@ pointing to @n@ elements of type [Boolean](Graphics-GL-Groups.html#Boolean).
  -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
glAreTexturesResident :: GLsizei -> Ptr GLenum -> Ptr GLboolean -> m GLboolean
glAreTexturesResident GLsizei
v1 Ptr GLenum
v2 Ptr GLboolean
v3 = IO GLboolean -> m GLboolean
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO GLboolean -> m GLboolean) -> IO GLboolean -> m GLboolean
forall a b. (a -> b) -> a -> b
$ FunPtr (GLsizei -> Ptr GLenum -> Ptr GLboolean -> IO GLboolean)
-> GLsizei -> Ptr GLenum -> Ptr GLboolean -> IO GLboolean
dyn12 FunPtr (GLsizei -> Ptr GLenum -> Ptr GLboolean -> IO GLboolean)
ptr_glAreTexturesResident GLsizei
v1 Ptr GLenum
v2 Ptr GLboolean
v3

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

-- glAreTexturesResidentEXT ----------------------------------------------------

glAreTexturesResidentEXT
  :: MonadIO m
  => GLsizei -- ^ @n@.
  -> Ptr GLuint -- ^ @textures@ pointing to @n@ elements of type @Texture@.
  -> Ptr GLboolean -- ^ @residences@ pointing to @n@ elements of type [Boolean](Graphics-GL-Groups.html#Boolean).
  -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
glAreTexturesResidentEXT :: GLsizei -> Ptr GLenum -> Ptr GLboolean -> m GLboolean
glAreTexturesResidentEXT GLsizei
v1 Ptr GLenum
v2 Ptr GLboolean
v3 = IO GLboolean -> m GLboolean
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO GLboolean -> m GLboolean) -> IO GLboolean -> m GLboolean
forall a b. (a -> b) -> a -> b
$ FunPtr (GLsizei -> Ptr GLenum -> Ptr GLboolean -> IO GLboolean)
-> GLsizei -> Ptr GLenum -> Ptr GLboolean -> IO GLboolean
dyn12 FunPtr (GLsizei -> Ptr GLenum -> Ptr GLboolean -> IO GLboolean)
ptr_glAreTexturesResidentEXT GLsizei
v1 Ptr GLenum
v2 Ptr GLboolean
v3

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

-- glArrayElement --------------------------------------------------------------

-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glArrayElement.xml OpenGL 2.x>.
glArrayElement
  :: MonadIO m
  => GLint -- ^ @i@.
  -> m ()
glArrayElement :: GLsizei -> m ()
glArrayElement GLsizei
v1 = IO () -> m ()
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_glArrayElement GLsizei
v1

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

-- glArrayElementEXT -----------------------------------------------------------

-- | This command is an alias for 'glArrayElement'.
glArrayElementEXT
  :: MonadIO m
  => GLint -- ^ @i@.
  -> m ()
glArrayElementEXT :: GLsizei -> m ()
glArrayElementEXT GLsizei
v1 = IO () -> m ()
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_glArrayElementEXT GLsizei
v1

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

-- glArrayObjectATI ------------------------------------------------------------

glArrayObjectATI
  :: MonadIO m
  => GLenum -- ^ @array@ of type [EnableCap](Graphics-GL-Groups.html#EnableCap).
  -> GLint -- ^ @size@.
  -> GLenum -- ^ @type@ of type [ScalarType](Graphics-GL-Groups.html#ScalarType).
  -> GLsizei -- ^ @stride@.
  -> GLuint -- ^ @buffer@.
  -> GLuint -- ^ @offset@.
  -> m ()
glArrayObjectATI :: GLenum -> GLsizei -> GLenum -> GLsizei -> GLenum -> GLenum -> m ()
glArrayObjectATI GLenum
v1 GLsizei
v2 GLenum
v3 GLsizei
v4 GLenum
v5 GLenum
v6 = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ FunPtr
  (GLenum
   -> GLsizei -> GLenum -> GLsizei -> GLenum -> GLenum -> IO ())
-> GLenum
-> GLsizei
-> GLenum
-> GLsizei
-> GLenum
-> GLenum
-> IO ()
dyn14 FunPtr
  (GLenum
   -> GLsizei -> GLenum -> GLsizei -> GLenum -> GLenum -> IO ())
ptr_glArrayObjectATI GLenum
v1 GLsizei
v2 GLenum
v3 GLsizei
v4 GLenum
v5 GLenum
v6

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

-- glAsyncCopyBufferSubDataNVX -------------------------------------------------

glAsyncCopyBufferSubDataNVX
  :: MonadIO m
  => GLsizei -- ^ @waitSemaphoreCount@.
  -> Ptr GLuint -- ^ @waitSemaphoreArray@ pointing to @waitSemaphoreCount@ elements of type @GLuint@.
  -> Ptr GLuint64 -- ^ @fenceValueArray@ pointing to @waitSemaphoreCount@ elements of type @GLuint64@.
  -> GLuint -- ^ @readGpu@.
  -> GLbitfield -- ^ @writeGpuMask@.
  -> GLuint -- ^ @readBuffer@.
  -> GLuint -- ^ @writeBuffer@.
  -> GLintptr -- ^ @readOffset@.
  -> GLintptr -- ^ @writeOffset@.
  -> GLsizeiptr -- ^ @size@.
  -> GLsizei -- ^ @signalSemaphoreCount@.
  -> Ptr GLuint -- ^ @signalSemaphoreArray@ pointing to @signalSemaphoreCount@ elements of type @GLuint@.
  -> Ptr GLuint64 -- ^ @signalValueArray@ pointing to @signalSemaphoreCount@ elements of type @GLuint64@.
  -> m GLuint
glAsyncCopyBufferSubDataNVX :: GLsizei
-> Ptr GLenum
-> Ptr GLuint64
-> GLenum
-> GLenum
-> GLenum
-> GLenum
-> GLintptr
-> GLintptr
-> GLintptr
-> GLsizei
-> Ptr GLenum
-> Ptr GLuint64
-> m GLenum
glAsyncCopyBufferSubDataNVX GLsizei
v1 Ptr GLenum
v2 Ptr GLuint64
v3 GLenum
v4 GLenum
v5 GLenum
v6 GLenum
v7 GLintptr
v8 GLintptr
v9 GLintptr
v10 GLsizei
v11 Ptr GLenum
v12 Ptr GLuint64
v13 = IO GLenum -> m GLenum
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
   -> Ptr GLenum
   -> Ptr GLuint64
   -> GLenum
   -> GLenum
   -> GLenum
   -> GLenum
   -> GLintptr
   -> GLintptr
   -> GLintptr
   -> GLsizei
   -> Ptr GLenum
   -> Ptr GLuint64
   -> IO GLenum)
-> GLsizei
-> Ptr GLenum
-> Ptr GLuint64
-> GLenum
-> GLenum
-> GLenum
-> GLenum
-> GLintptr
-> GLintptr
-> GLintptr
-> GLsizei
-> Ptr GLenum
-> Ptr GLuint64
-> IO GLenum
dyn15 FunPtr
  (GLsizei
   -> Ptr GLenum
   -> Ptr GLuint64
   -> GLenum
   -> GLenum
   -> GLenum
   -> GLenum
   -> GLintptr
   -> GLintptr
   -> GLintptr
   -> GLsizei
   -> Ptr GLenum
   -> Ptr GLuint64
   -> IO GLenum)
ptr_glAsyncCopyBufferSubDataNVX GLsizei
v1 Ptr GLenum
v2 Ptr GLuint64
v3 GLenum
v4 GLenum
v5 GLenum
v6 GLenum
v7 GLintptr
v8 GLintptr
v9 GLintptr
v10 GLsizei
v11 Ptr GLenum
v12 Ptr GLuint64
v13

{-# NOINLINE ptr_glAsyncCopyBufferSubDataNVX #-}
ptr_glAsyncCopyBufferSubDataNVX :: FunPtr (GLsizei -> Ptr GLuint -> Ptr GLuint64 -> GLuint -> GLbitfield -> GLuint -> GLuint -> GLintptr -> GLintptr -> GLsizeiptr -> GLsizei -> Ptr GLuint -> Ptr GLuint64 -> IO GLuint)
ptr_glAsyncCopyBufferSubDataNVX :: FunPtr
  (GLsizei
   -> Ptr GLenum
   -> Ptr GLuint64
   -> GLenum
   -> GLenum
   -> GLenum
   -> GLenum
   -> GLintptr
   -> GLintptr
   -> GLintptr
   -> GLsizei
   -> Ptr GLenum
   -> Ptr GLuint64
   -> IO GLenum)
ptr_glAsyncCopyBufferSubDataNVX = IO
  (FunPtr
     (GLsizei
      -> Ptr GLenum
      -> Ptr GLuint64
      -> GLenum
      -> GLenum
      -> GLenum
      -> GLenum
      -> GLintptr
      -> GLintptr
      -> GLintptr
      -> GLsizei
      -> Ptr GLenum
      -> Ptr GLuint64
      -> IO GLenum))
-> FunPtr
     (GLsizei
      -> Ptr GLenum
      -> Ptr GLuint64
      -> GLenum
      -> GLenum
      -> GLenum
      -> GLenum
      -> GLintptr
      -> GLintptr
      -> GLintptr
      -> GLsizei
      -> Ptr GLenum
      -> Ptr GLuint64
      -> IO GLenum)
forall a. IO a -> a
unsafePerformIO (IO
   (FunPtr
      (GLsizei
       -> Ptr GLenum
       -> Ptr GLuint64
       -> GLenum
       -> GLenum
       -> GLenum
       -> GLenum
       -> GLintptr
       -> GLintptr
       -> GLintptr
       -> GLsizei
       -> Ptr GLenum
       -> Ptr GLuint64
       -> IO GLenum))
 -> FunPtr
      (GLsizei
       -> Ptr GLenum
       -> Ptr GLuint64
       -> GLenum
       -> GLenum
       -> GLenum
       -> GLenum
       -> GLintptr
       -> GLintptr
       -> GLintptr
       -> GLsizei
       -> Ptr GLenum
       -> Ptr GLuint64
       -> IO GLenum))
-> IO
     (FunPtr
        (GLsizei
         -> Ptr GLenum
         -> Ptr GLuint64
         -> GLenum
         -> GLenum
         -> GLenum
         -> GLenum
         -> GLintptr
         -> GLintptr
         -> GLintptr
         -> GLsizei
         -> Ptr GLenum
         -> Ptr GLuint64
         -> IO GLenum))
-> FunPtr
     (GLsizei
      -> Ptr GLenum
      -> Ptr GLuint64
      -> GLenum
      -> GLenum
      -> GLenum
      -> GLenum
      -> GLintptr
      -> GLintptr
      -> GLintptr
      -> GLsizei
      -> Ptr GLenum
      -> Ptr GLuint64
      -> IO GLenum)
forall a b. (a -> b) -> a -> b
$ String
-> IO
     (FunPtr
        (GLsizei
         -> Ptr GLenum
         -> Ptr GLuint64
         -> GLenum
         -> GLenum
         -> GLenum
         -> GLenum
         -> GLintptr
         -> GLintptr
         -> GLintptr
         -> GLsizei
         -> Ptr GLenum
         -> Ptr GLuint64
         -> IO GLenum))
forall a. String -> IO (FunPtr a)
getCommand String
"glAsyncCopyBufferSubDataNVX"

-- glAsyncCopyImageSubDataNVX --------------------------------------------------

glAsyncCopyImageSubDataNVX
  :: MonadIO m
  => GLsizei -- ^ @waitSemaphoreCount@.
  -> Ptr GLuint -- ^ @waitSemaphoreArray@ pointing to @waitSemaphoreCount@ elements of type @GLuint@.
  -> Ptr GLuint64 -- ^ @waitValueArray@ pointing to @waitSemaphoreCount@ elements of type @GLuint64@.
  -> GLuint -- ^ @srcGpu@.
  -> GLbitfield -- ^ @dstGpuMask@.
  -> GLuint -- ^ @srcName@.
  -> GLenum -- ^ @srcTarget@.
  -> GLint -- ^ @srcLevel@.
  -> GLint -- ^ @srcX@.
  -> GLint -- ^ @srcY@.
  -> GLint -- ^ @srcZ@.
  -> GLuint -- ^ @dstName@.
  -> GLenum -- ^ @dstTarget@.
  -> GLint -- ^ @dstLevel@.
  -> GLint -- ^ @dstX@.
  -> GLint -- ^ @dstY@.
  -> GLint -- ^ @dstZ@.
  -> GLsizei -- ^ @srcWidth@.
  -> GLsizei -- ^ @srcHeight@.
  -> GLsizei -- ^ @srcDepth@.
  -> GLsizei -- ^ @signalSemaphoreCount@.
  -> Ptr GLuint -- ^ @signalSemaphoreArray@ pointing to @signalSemaphoreCount@ elements of type @GLuint@.
  -> Ptr GLuint64 -- ^ @signalValueArray@ pointing to @signalSemaphoreCount@ elements of type @GLuint64@.
  -> m GLuint
glAsyncCopyImageSubDataNVX :: GLsizei
-> Ptr GLenum
-> Ptr GLuint64
-> GLenum
-> GLenum
-> GLenum
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> Ptr GLenum
-> Ptr GLuint64
-> m GLenum
glAsyncCopyImageSubDataNVX GLsizei
v1 Ptr GLenum
v2 Ptr GLuint64
v3 GLenum
v4 GLenum
v5 GLenum
v6 GLenum
v7 GLsizei
v8 GLsizei
v9 GLsizei
v10 GLsizei
v11 GLenum
v12 GLenum
v13 GLsizei
v14 GLsizei
v15 GLsizei
v16 GLsizei
v17 GLsizei
v18 GLsizei
v19 GLsizei
v20 GLsizei
v21 Ptr GLenum
v22 Ptr GLuint64
v23 = IO GLenum -> m GLenum
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
   -> Ptr GLenum
   -> Ptr GLuint64
   -> GLenum
   -> GLenum
   -> GLenum
   -> GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> Ptr GLenum
   -> Ptr GLuint64
   -> IO GLenum)
-> GLsizei
-> Ptr GLenum
-> Ptr GLuint64
-> GLenum
-> GLenum
-> GLenum
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> Ptr GLenum
-> Ptr GLuint64
-> IO GLenum
dyn16 FunPtr
  (GLsizei
   -> Ptr GLenum
   -> Ptr GLuint64
   -> GLenum
   -> GLenum
   -> GLenum
   -> GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> Ptr GLenum
   -> Ptr GLuint64
   -> IO GLenum)
ptr_glAsyncCopyImageSubDataNVX GLsizei
v1 Ptr GLenum
v2 Ptr GLuint64
v3 GLenum
v4 GLenum
v5 GLenum
v6 GLenum
v7 GLsizei
v8 GLsizei
v9 GLsizei
v10 GLsizei
v11 GLenum
v12 GLenum
v13 GLsizei
v14 GLsizei
v15 GLsizei
v16 GLsizei
v17 GLsizei
v18 GLsizei
v19 GLsizei
v20 GLsizei
v21 Ptr GLenum
v22 Ptr GLuint64
v23

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

-- glAsyncMarkerSGIX -----------------------------------------------------------

glAsyncMarkerSGIX
  :: MonadIO m
  => GLuint -- ^ @marker@.
  -> m ()
glAsyncMarkerSGIX :: GLenum -> m ()
glAsyncMarkerSGIX GLenum
v1 = IO () -> m ()
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_glAsyncMarkerSGIX GLenum
v1

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

-- glAttachObjectARB -----------------------------------------------------------

-- | This command is an alias for 'glAttachShader'.
glAttachObjectARB
  :: MonadIO m
  => GLhandleARB -- ^ @containerObj@ of type @handleARB@.
  -> GLhandleARB -- ^ @obj@ of type @handleARB@.
  -> m ()
glAttachObjectARB :: GLenum -> GLenum -> m ()
glAttachObjectARB GLenum
v1 GLenum
v2 = IO () -> m ()
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 ()
dyn17 FunPtr (GLenum -> GLenum -> IO ())
ptr_glAttachObjectARB GLenum
v1 GLenum
v2

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

-- glAttachShader --------------------------------------------------------------

-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glAttachShader.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glAttachShader.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glAttachShader.xhtml OpenGL 4.x>.
glAttachShader
  :: MonadIO m
  => GLuint -- ^ @program@.
  -> GLuint -- ^ @shader@.
  -> m ()
glAttachShader :: GLenum -> GLenum -> m ()
glAttachShader GLenum
v1 GLenum
v2 = IO () -> m ()
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 ()
dyn4 FunPtr (GLenum -> GLenum -> IO ())
ptr_glAttachShader GLenum
v1 GLenum
v2

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

-- glBegin ---------------------------------------------------------------------

-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glBegin.xml OpenGL 2.x>.
glBegin
  :: MonadIO m
  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
  -> m ()
glBegin :: GLenum -> m ()
glBegin GLenum
v1 = IO () -> m ()
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_glBegin GLenum
v1

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

-- glBeginConditionalRender ----------------------------------------------------

-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glBeginConditionalRender.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBeginConditionalRender.xhtml OpenGL 4.x>.
glBeginConditionalRender
  :: MonadIO m
  => GLuint -- ^ @id@.
  -> GLenum -- ^ @mode@ of type [ConditionalRenderMode](Graphics-GL-Groups.html#ConditionalRenderMode).
  -> m ()
glBeginConditionalRender :: GLenum -> GLenum -> m ()
glBeginConditionalRender GLenum
v1 GLenum
v2 = IO () -> m ()
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_glBeginConditionalRender GLenum
v1 GLenum
v2

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

-- glBeginConditionalRenderNV --------------------------------------------------

-- | This command is an alias for 'glBeginConditionalRender'.
glBeginConditionalRenderNV
  :: MonadIO m
  => GLuint -- ^ @id@.
  -> GLenum -- ^ @mode@ of type [ConditionalRenderMode](Graphics-GL-Groups.html#ConditionalRenderMode).
  -> m ()
glBeginConditionalRenderNV :: GLenum -> GLenum -> m ()
glBeginConditionalRenderNV GLenum
v1 GLenum
v2 = IO () -> m ()
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_glBeginConditionalRenderNV GLenum
v1 GLenum
v2

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

-- glBeginConditionalRenderNVX -------------------------------------------------

glBeginConditionalRenderNVX
  :: MonadIO m
  => GLuint -- ^ @id@.
  -> m ()
glBeginConditionalRenderNVX :: GLenum -> m ()
glBeginConditionalRenderNVX GLenum
v1 = IO () -> m ()
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_glBeginConditionalRenderNVX GLenum
v1

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

-- glBeginFragmentShaderATI ----------------------------------------------------

glBeginFragmentShaderATI
  :: MonadIO m
  => m ()
glBeginFragmentShaderATI :: m ()
glBeginFragmentShaderATI = IO () -> m ()
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_glBeginFragmentShaderATI

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

-- glBeginOcclusionQueryNV -----------------------------------------------------

glBeginOcclusionQueryNV
  :: MonadIO m
  => GLuint -- ^ @id@.
  -> m ()
glBeginOcclusionQueryNV :: GLenum -> m ()
glBeginOcclusionQueryNV GLenum
v1 = IO () -> m ()
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_glBeginOcclusionQueryNV GLenum
v1

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

-- glBeginPerfMonitorAMD -------------------------------------------------------

glBeginPerfMonitorAMD
  :: MonadIO m
  => GLuint -- ^ @monitor@.
  -> m ()
glBeginPerfMonitorAMD :: GLenum -> m ()
glBeginPerfMonitorAMD GLenum
v1 = IO () -> m ()
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_glBeginPerfMonitorAMD GLenum
v1

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

-- glBeginPerfQueryINTEL -------------------------------------------------------

glBeginPerfQueryINTEL
  :: MonadIO m
  => GLuint -- ^ @queryHandle@.
  -> m ()
glBeginPerfQueryINTEL :: GLenum -> m ()
glBeginPerfQueryINTEL GLenum
v1 = IO () -> m ()
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_glBeginPerfQueryINTEL GLenum
v1

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

-- glBeginQuery ----------------------------------------------------------------

-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glBeginQuery.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glBeginQuery.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBeginQuery.xhtml OpenGL 4.x>.
glBeginQuery
  :: MonadIO m
  => GLenum -- ^ @target@ of type [QueryTarget](Graphics-GL-Groups.html#QueryTarget).
  -> GLuint -- ^ @id@.
  -> m ()
glBeginQuery :: GLenum -> GLenum -> m ()
glBeginQuery GLenum
v1 GLenum
v2 = IO () -> m ()
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 ()
dyn19 FunPtr (GLenum -> GLenum -> IO ())
ptr_glBeginQuery GLenum
v1 GLenum
v2

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

-- glBeginQueryARB -------------------------------------------------------------

-- | This command is an alias for 'glBeginQuery'.
glBeginQueryARB
  :: MonadIO m
  => GLenum -- ^ @target@.
  -> GLuint -- ^ @id@.
  -> m ()
glBeginQueryARB :: GLenum -> GLenum -> m ()
glBeginQueryARB GLenum
v1 GLenum
v2 = IO () -> m ()
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 ()
dyn19 FunPtr (GLenum -> GLenum -> IO ())
ptr_glBeginQueryARB GLenum
v1 GLenum
v2

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

-- glBeginQueryEXT -------------------------------------------------------------

glBeginQueryEXT
  :: MonadIO m
  => GLenum -- ^ @target@ of type [QueryTarget](Graphics-GL-Groups.html#QueryTarget).
  -> GLuint -- ^ @id@.
  -> m ()
glBeginQueryEXT :: GLenum -> GLenum -> m ()
glBeginQueryEXT GLenum
v1 GLenum
v2 = IO () -> m ()
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 ()
dyn19 FunPtr (GLenum -> GLenum -> IO ())
ptr_glBeginQueryEXT GLenum
v1 GLenum
v2

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

-- glBeginQueryIndexed ---------------------------------------------------------

-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBeginQueryIndexed.xhtml OpenGL 4.x>.
glBeginQueryIndexed
  :: MonadIO m
  => GLenum -- ^ @target@ of type [QueryTarget](Graphics-GL-Groups.html#QueryTarget).
  -> GLuint -- ^ @index@.
  -> GLuint -- ^ @id@.
  -> m ()
glBeginQueryIndexed :: GLenum -> GLenum -> GLenum -> m ()
glBeginQueryIndexed GLenum
v1 GLenum
v2 GLenum
v3 = IO () -> m ()
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 -> IO ())
-> GLenum -> GLenum -> GLenum -> IO ()
dyn20 FunPtr (GLenum -> GLenum -> GLenum -> IO ())
ptr_glBeginQueryIndexed GLenum
v1 GLenum
v2 GLenum
v3

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

-- glBeginTransformFeedback ----------------------------------------------------

-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glBeginTransformFeedback.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBeginTransformFeedback.xhtml OpenGL 4.x>.
glBeginTransformFeedback
  :: MonadIO m
  => GLenum -- ^ @primitiveMode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
  -> m ()
glBeginTransformFeedback :: GLenum -> m ()
glBeginTransformFeedback GLenum
v1 = IO () -> m ()
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_glBeginTransformFeedback GLenum
v1

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

-- glBeginTransformFeedbackEXT -------------------------------------------------

-- | This command is an alias for 'glBeginTransformFeedback'.
glBeginTransformFeedbackEXT
  :: MonadIO m
  => GLenum -- ^ @primitiveMode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
  -> m ()
glBeginTransformFeedbackEXT :: GLenum -> m ()
glBeginTransformFeedbackEXT GLenum
v1 = IO () -> m ()
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_glBeginTransformFeedbackEXT GLenum
v1

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

-- glBeginTransformFeedbackNV --------------------------------------------------

-- | This command is an alias for 'glBeginTransformFeedback'.
glBeginTransformFeedbackNV
  :: MonadIO m
  => GLenum -- ^ @primitiveMode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
  -> m ()
glBeginTransformFeedbackNV :: GLenum -> m ()
glBeginTransformFeedbackNV GLenum
v1 = IO () -> m ()
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_glBeginTransformFeedbackNV GLenum
v1

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

-- glBeginVertexShaderEXT ------------------------------------------------------

glBeginVertexShaderEXT
  :: MonadIO m
  => m ()
glBeginVertexShaderEXT :: m ()
glBeginVertexShaderEXT = IO () -> m ()
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_glBeginVertexShaderEXT

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

-- glBeginVideoCaptureNV -------------------------------------------------------

glBeginVideoCaptureNV
  :: MonadIO m
  => GLuint -- ^ @video_capture_slot@.
  -> m ()
glBeginVideoCaptureNV :: GLenum -> m ()
glBeginVideoCaptureNV GLenum
v1 = IO () -> m ()
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_glBeginVideoCaptureNV GLenum
v1

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

-- glBindAttribLocation --------------------------------------------------------

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

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

-- glBindAttribLocationARB -----------------------------------------------------

-- | This command is an alias for 'glBindAttribLocation'.
glBindAttribLocationARB
  :: MonadIO m
  => GLhandleARB -- ^ @programObj@ of type @handleARB@.
  -> GLuint -- ^ @index@.
  -> Ptr GLcharARB -- ^ @name@.
  -> m ()
glBindAttribLocationARB :: GLenum -> GLenum -> Ptr GLchar -> m ()
glBindAttribLocationARB GLenum
v1 GLenum
v2 Ptr GLchar
v3 = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ FunPtr (GLenum -> GLenum -> Ptr GLchar -> IO ())
-> GLenum -> GLenum -> Ptr GLchar -> IO ()
dyn22 FunPtr (GLenum -> GLenum -> Ptr GLchar -> IO ())
ptr_glBindAttribLocationARB GLenum
v1 GLenum
v2 Ptr GLchar
v3

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

-- glBindBuffer ----------------------------------------------------------------

-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glBindBuffer.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glBindBuffer.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBindBuffer.xhtml OpenGL 4.x>.
glBindBuffer
  :: MonadIO m
  => GLenum -- ^ @target@ of type [BufferTargetARB](Graphics-GL-Groups.html#BufferTargetARB).
  -> GLuint -- ^ @buffer@.
  -> m ()
glBindBuffer :: GLenum -> GLenum -> m ()
glBindBuffer GLenum
v1 GLenum
v2 = IO () -> m ()
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 ()
dyn19 FunPtr (GLenum -> GLenum -> IO ())
ptr_glBindBuffer GLenum
v1 GLenum
v2

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

-- glBindBufferARB -------------------------------------------------------------

-- | This command is an alias for 'glBindBuffer'.
glBindBufferARB
  :: MonadIO m
  => GLenum -- ^ @target@ of type [BufferTargetARB](Graphics-GL-Groups.html#BufferTargetARB).
  -> GLuint -- ^ @buffer@.
  -> m ()
glBindBufferARB :: GLenum -> GLenum -> m ()
glBindBufferARB GLenum
v1 GLenum
v2 = IO () -> m ()
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 ()
dyn19 FunPtr (GLenum -> GLenum -> IO ())
ptr_glBindBufferARB GLenum
v1 GLenum
v2

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

-- glBindBufferBase ------------------------------------------------------------

-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glBindBufferBase.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBindBufferBase.xhtml OpenGL 4.x>.
glBindBufferBase
  :: MonadIO m
  => GLenum -- ^ @target@ of type [BufferTargetARB](Graphics-GL-Groups.html#BufferTargetARB).
  -> GLuint -- ^ @index@.
  -> GLuint -- ^ @buffer@.
  -> m ()
glBindBufferBase :: GLenum -> GLenum -> GLenum -> m ()
glBindBufferBase GLenum
v1 GLenum
v2 GLenum
v3 = IO () -> m ()
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 -> IO ())
-> GLenum -> GLenum -> GLenum -> IO ()
dyn20 FunPtr (GLenum -> GLenum -> GLenum -> IO ())
ptr_glBindBufferBase GLenum
v1 GLenum
v2 GLenum
v3

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

-- glBindBufferBaseEXT ---------------------------------------------------------

-- | This command is an alias for 'glBindBufferBase'.
glBindBufferBaseEXT
  :: MonadIO m
  => GLenum -- ^ @target@ of type [BufferTargetARB](Graphics-GL-Groups.html#BufferTargetARB).
  -> GLuint -- ^ @index@.
  -> GLuint -- ^ @buffer@.
  -> m ()
glBindBufferBaseEXT :: GLenum -> GLenum -> GLenum -> m ()
glBindBufferBaseEXT GLenum
v1 GLenum
v2 GLenum
v3 = IO () -> m ()
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 -> IO ())
-> GLenum -> GLenum -> GLenum -> IO ()
dyn20 FunPtr (GLenum -> GLenum -> GLenum -> IO ())
ptr_glBindBufferBaseEXT GLenum
v1 GLenum
v2 GLenum
v3

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

-- glBindBufferBaseNV ----------------------------------------------------------

-- | This command is an alias for 'glBindBufferBase'.
glBindBufferBaseNV
  :: MonadIO m
  => GLenum -- ^ @target@ of type [BufferTargetARB](Graphics-GL-Groups.html#BufferTargetARB).
  -> GLuint -- ^ @index@.
  -> GLuint -- ^ @buffer@.
  -> m ()
glBindBufferBaseNV :: GLenum -> GLenum -> GLenum -> m ()
glBindBufferBaseNV GLenum
v1 GLenum
v2 GLenum
v3 = IO () -> m ()
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 -> IO ())
-> GLenum -> GLenum -> GLenum -> IO ()
dyn20 FunPtr (GLenum -> GLenum -> GLenum -> IO ())
ptr_glBindBufferBaseNV GLenum
v1 GLenum
v2 GLenum
v3

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

-- glBindBufferOffsetEXT -------------------------------------------------------

glBindBufferOffsetEXT
  :: MonadIO m
  => GLenum -- ^ @target@ of type [BufferTargetARB](Graphics-GL-Groups.html#BufferTargetARB).
  -> GLuint -- ^ @index@.
  -> GLuint -- ^ @buffer@.
  -> GLintptr -- ^ @offset@ of type @BufferOffset@.
  -> m ()
glBindBufferOffsetEXT :: GLenum -> GLenum -> GLenum -> GLintptr -> m ()
glBindBufferOffsetEXT GLenum
v1 GLenum
v2 GLenum
v3 GLintptr
v4 = IO () -> m ()
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 -> GLintptr -> IO ())
-> GLenum -> GLenum -> GLenum -> GLintptr -> IO ()
dyn23 FunPtr (GLenum -> GLenum -> GLenum -> GLintptr -> IO ())
ptr_glBindBufferOffsetEXT GLenum
v1 GLenum
v2 GLenum
v3 GLintptr
v4

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

-- glBindBufferOffsetNV --------------------------------------------------------

-- | This command is an alias for 'glBindBufferOffsetEXT'.
glBindBufferOffsetNV
  :: MonadIO m
  => GLenum -- ^ @target@ of type [BufferTargetARB](Graphics-GL-Groups.html#BufferTargetARB).
  -> GLuint -- ^ @index@.
  -> GLuint -- ^ @buffer@.
  -> GLintptr -- ^ @offset@ of type @BufferOffset@.
  -> m ()
glBindBufferOffsetNV :: GLenum -> GLenum -> GLenum -> GLintptr -> m ()
glBindBufferOffsetNV GLenum
v1 GLenum
v2 GLenum
v3 GLintptr
v4 = IO () -> m ()
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 -> GLintptr -> IO ())
-> GLenum -> GLenum -> GLenum -> GLintptr -> IO ()
dyn23 FunPtr (GLenum -> GLenum -> GLenum -> GLintptr -> IO ())
ptr_glBindBufferOffsetNV GLenum
v1 GLenum
v2 GLenum
v3 GLintptr
v4

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

-- glBindBufferRange -----------------------------------------------------------

-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glBindBufferRange.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBindBufferRange.xhtml OpenGL 4.x>.
glBindBufferRange
  :: MonadIO m
  => GLenum -- ^ @target@ of type [BufferTargetARB](Graphics-GL-Groups.html#BufferTargetARB).
  -> GLuint -- ^ @index@.
  -> GLuint -- ^ @buffer@.
  -> GLintptr -- ^ @offset@ of type @BufferOffset@.
  -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
  -> m ()
glBindBufferRange :: GLenum -> GLenum -> GLenum -> GLintptr -> GLintptr -> m ()
glBindBufferRange GLenum
v1 GLenum
v2 GLenum
v3 GLintptr
v4 GLintptr
v5 = IO () -> m ()
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 -> GLintptr -> GLintptr -> IO ())
-> GLenum -> GLenum -> GLenum -> GLintptr -> GLintptr -> IO ()
dyn24 FunPtr
  (GLenum -> GLenum -> GLenum -> GLintptr -> GLintptr -> IO ())
ptr_glBindBufferRange GLenum
v1 GLenum
v2 GLenum
v3 GLintptr
v4 GLintptr
v5

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

-- glBindBufferRangeEXT --------------------------------------------------------

-- | This command is an alias for 'glBindBufferRange'.
glBindBufferRangeEXT
  :: MonadIO m
  => GLenum -- ^ @target@ of type [BufferTargetARB](Graphics-GL-Groups.html#BufferTargetARB).
  -> GLuint -- ^ @index@.
  -> GLuint -- ^ @buffer@.
  -> GLintptr -- ^ @offset@ of type @BufferOffset@.
  -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
  -> m ()
glBindBufferRangeEXT :: GLenum -> GLenum -> GLenum -> GLintptr -> GLintptr -> m ()
glBindBufferRangeEXT GLenum
v1 GLenum
v2 GLenum
v3 GLintptr
v4 GLintptr
v5 = IO () -> m ()
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 -> GLintptr -> GLintptr -> IO ())
-> GLenum -> GLenum -> GLenum -> GLintptr -> GLintptr -> IO ()
dyn24 FunPtr
  (GLenum -> GLenum -> GLenum -> GLintptr -> GLintptr -> IO ())
ptr_glBindBufferRangeEXT GLenum
v1 GLenum
v2 GLenum
v3 GLintptr
v4 GLintptr
v5

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

-- glBindBufferRangeNV ---------------------------------------------------------

-- | This command is an alias for 'glBindBufferRange'.
glBindBufferRangeNV
  :: MonadIO m
  => GLenum -- ^ @target@ of type [BufferTargetARB](Graphics-GL-Groups.html#BufferTargetARB).
  -> GLuint -- ^ @index@.
  -> GLuint -- ^ @buffer@.
  -> GLintptr -- ^ @offset@ of type @BufferOffset@.
  -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
  -> m ()
glBindBufferRangeNV :: GLenum -> GLenum -> GLenum -> GLintptr -> GLintptr -> m ()
glBindBufferRangeNV GLenum
v1 GLenum
v2 GLenum
v3 GLintptr
v4 GLintptr
v5 = IO () -> m ()
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 -> GLintptr -> GLintptr -> IO ())
-> GLenum -> GLenum -> GLenum -> GLintptr -> GLintptr -> IO ()
dyn24 FunPtr
  (GLenum -> GLenum -> GLenum -> GLintptr -> GLintptr -> IO ())
ptr_glBindBufferRangeNV GLenum
v1 GLenum
v2 GLenum
v3 GLintptr
v4 GLintptr
v5

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

-- glBindBuffersBase -----------------------------------------------------------

-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBindBuffersBase.xhtml OpenGL 4.x>.
glBindBuffersBase
  :: MonadIO m
  => GLenum -- ^ @target@ of type [BufferTargetARB](Graphics-GL-Groups.html#BufferTargetARB).
  -> GLuint -- ^ @first@.
  -> GLsizei -- ^ @count@.
  -> Ptr GLuint -- ^ @buffers@ pointing to @count@ elements of type @GLuint@.
  -> m ()
glBindBuffersBase :: GLenum -> GLenum -> GLsizei -> Ptr GLenum -> m ()
glBindBuffersBase GLenum
v1 GLenum
v2 GLsizei
v3 Ptr GLenum
v4 = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLenum -> IO ())
-> GLenum -> GLenum -> GLsizei -> Ptr GLenum -> IO ()
dyn25 FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLenum -> IO ())
ptr_glBindBuffersBase GLenum
v1 GLenum
v2 GLsizei
v3 Ptr GLenum
v4

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

-- glBindBuffersRange ----------------------------------------------------------

-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBindBuffersRange.xhtml OpenGL 4.x>.
glBindBuffersRange
  :: MonadIO m
  => GLenum -- ^ @target@ of type [BufferTargetARB](Graphics-GL-Groups.html#BufferTargetARB).
  -> GLuint -- ^ @first@.
  -> GLsizei -- ^ @count@.
  -> Ptr GLuint -- ^ @buffers@ pointing to @count@ elements of type @GLuint@.
  -> Ptr GLintptr -- ^ @offsets@ pointing to @count@ elements of type @GLintptr@.
  -> Ptr GLsizeiptr -- ^ @sizes@ pointing to @count@ elements of type @GLsizeiptr@.
  -> m ()
glBindBuffersRange :: GLenum
-> GLenum
-> GLsizei
-> Ptr GLenum
-> Ptr GLintptr
-> Ptr GLintptr
-> m ()
glBindBuffersRange GLenum
v1 GLenum
v2 GLsizei
v3 Ptr GLenum
v4 Ptr GLintptr
v5 Ptr GLintptr
v6 = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ FunPtr
  (GLenum
   -> GLenum
   -> GLsizei
   -> Ptr GLenum
   -> Ptr GLintptr
   -> Ptr GLintptr
   -> IO ())
-> GLenum
-> GLenum
-> GLsizei
-> Ptr GLenum
-> Ptr GLintptr
-> Ptr GLintptr
-> IO ()
dyn26 FunPtr
  (GLenum
   -> GLenum
   -> GLsizei
   -> Ptr GLenum
   -> Ptr GLintptr
   -> Ptr GLintptr
   -> IO ())
ptr_glBindBuffersRange GLenum
v1 GLenum
v2 GLsizei
v3 Ptr GLenum
v4 Ptr GLintptr
v5 Ptr GLintptr
v6

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

-- glBindFragDataLocation ------------------------------------------------------

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

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

-- glBindFragDataLocationEXT ---------------------------------------------------

-- | This command is an alias for 'glBindFragDataLocation'.
glBindFragDataLocationEXT
  :: MonadIO m
  => GLuint -- ^ @program@.
  -> GLuint -- ^ @color@.
  -> Ptr GLchar -- ^ @name@ pointing to @COMPSIZE(name)@ elements of type @GLchar@.
  -> m ()
glBindFragDataLocationEXT :: GLenum -> GLenum -> Ptr GLchar -> m ()
glBindFragDataLocationEXT GLenum
v1 GLenum
v2 Ptr GLchar
v3 = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ FunPtr (GLenum -> GLenum -> Ptr GLchar -> IO ())
-> GLenum -> GLenum -> Ptr GLchar -> IO ()
dyn21 FunPtr (GLenum -> GLenum -> Ptr GLchar -> IO ())
ptr_glBindFragDataLocationEXT GLenum
v1 GLenum
v2 Ptr GLchar
v3

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

-- glBindFragDataLocationIndexed -----------------------------------------------

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

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

-- glBindFragDataLocationIndexedEXT --------------------------------------------

-- | This command is an alias for 'glBindFragDataLocationIndexed'.
glBindFragDataLocationIndexedEXT
  :: MonadIO m
  => GLuint -- ^ @program@.
  -> GLuint -- ^ @colorNumber@.
  -> GLuint -- ^ @index@.
  -> Ptr GLchar -- ^ @name@.
  -> m ()
glBindFragDataLocationIndexedEXT :: GLenum -> GLenum -> GLenum -> Ptr GLchar -> m ()
glBindFragDataLocationIndexedEXT GLenum
v1 GLenum
v2 GLenum
v3 Ptr GLchar
v4 = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLchar -> IO ())
-> GLenum -> GLenum -> GLenum -> Ptr GLchar -> IO ()
dyn27 FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLchar -> IO ())
ptr_glBindFragDataLocationIndexedEXT GLenum
v1 GLenum
v2 GLenum
v3 Ptr GLchar
v4

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

-- glBindFragmentShaderATI -----------------------------------------------------

glBindFragmentShaderATI
  :: MonadIO m
  => GLuint -- ^ @id@.
  -> m ()
glBindFragmentShaderATI :: GLenum -> m ()
glBindFragmentShaderATI GLenum
v1 = IO () -> m ()
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_glBindFragmentShaderATI GLenum
v1

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

-- glBindFramebuffer -----------------------------------------------------------

-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glBindFramebuffer.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBindFramebuffer.xhtml OpenGL 4.x>.
glBindFramebuffer
  :: MonadIO m
  => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
  -> GLuint -- ^ @framebuffer@.
  -> m ()
glBindFramebuffer :: GLenum -> GLenum -> m ()
glBindFramebuffer GLenum
v1 GLenum
v2 = IO () -> m ()
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 ()
dyn19 FunPtr (GLenum -> GLenum -> IO ())
ptr_glBindFramebuffer GLenum
v1 GLenum
v2

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

-- glBindFramebufferEXT --------------------------------------------------------

glBindFramebufferEXT
  :: MonadIO m
  => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
  -> GLuint -- ^ @framebuffer@.
  -> m ()
glBindFramebufferEXT :: GLenum -> GLenum -> m ()
glBindFramebufferEXT GLenum
v1 GLenum
v2 = IO () -> m ()
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 ()
dyn19 FunPtr (GLenum -> GLenum -> IO ())
ptr_glBindFramebufferEXT GLenum
v1 GLenum
v2

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

-- glBindFramebufferOES --------------------------------------------------------

glBindFramebufferOES
  :: MonadIO m
  => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
  -> GLuint -- ^ @framebuffer@.
  -> m ()
glBindFramebufferOES :: GLenum -> GLenum -> m ()
glBindFramebufferOES GLenum
v1 GLenum
v2 = IO () -> m ()
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 ()
dyn19 FunPtr (GLenum -> GLenum -> IO ())
ptr_glBindFramebufferOES GLenum
v1 GLenum
v2

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

-- glBindImageTexture ----------------------------------------------------------

-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBindImageTexture.xhtml OpenGL 4.x>.
glBindImageTexture
  :: MonadIO m
  => GLuint -- ^ @unit@.
  -> GLuint -- ^ @texture@.
  -> GLint -- ^ @level@.
  -> GLboolean -- ^ @layered@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
  -> GLint -- ^ @layer@.
  -> GLenum -- ^ @access@ of type [BufferAccessARB](Graphics-GL-Groups.html#BufferAccessARB).
  -> GLenum -- ^ @format@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
  -> m ()
glBindImageTexture :: GLenum
-> GLenum
-> GLsizei
-> GLboolean
-> GLsizei
-> GLenum
-> GLenum
-> m ()
glBindImageTexture GLenum
v1 GLenum
v2 GLsizei
v3 GLboolean
v4 GLsizei
v5 GLenum
v6 GLenum
v7 = IO () -> m ()
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
   -> GLboolean
   -> GLsizei
   -> GLenum
   -> GLenum
   -> IO ())
-> GLenum
-> GLenum
-> GLsizei
-> GLboolean
-> GLsizei
-> GLenum
-> GLenum
-> IO ()
dyn28 FunPtr
  (GLenum
   -> GLenum
   -> GLsizei
   -> GLboolean
   -> GLsizei
   -> GLenum
   -> GLenum
   -> IO ())
ptr_glBindImageTexture GLenum
v1 GLenum
v2 GLsizei
v3 GLboolean
v4 GLsizei
v5 GLenum
v6 GLenum
v7

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

-- glBindImageTextureEXT -------------------------------------------------------

glBindImageTextureEXT
  :: MonadIO m
  => GLuint -- ^ @index@.
  -> GLuint -- ^ @texture@.
  -> GLint -- ^ @level@.
  -> GLboolean -- ^ @layered@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
  -> GLint -- ^ @layer@.
  -> GLenum -- ^ @access@ of type [BufferAccessARB](Graphics-GL-Groups.html#BufferAccessARB).
  -> GLint -- ^ @format@.
  -> m ()
glBindImageTextureEXT :: GLenum
-> GLenum
-> GLsizei
-> GLboolean
-> GLsizei
-> GLenum
-> GLsizei
-> m ()
glBindImageTextureEXT GLenum
v1 GLenum
v2 GLsizei
v3 GLboolean
v4 GLsizei
v5 GLenum
v6 GLsizei
v7 = IO () -> m ()
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
   -> GLboolean
   -> GLsizei
   -> GLenum
   -> GLsizei
   -> IO ())
-> GLenum
-> GLenum
-> GLsizei
-> GLboolean
-> GLsizei
-> GLenum
-> GLsizei
-> IO ()
dyn29 FunPtr
  (GLenum
   -> GLenum
   -> GLsizei
   -> GLboolean
   -> GLsizei
   -> GLenum
   -> GLsizei
   -> IO ())
ptr_glBindImageTextureEXT GLenum
v1 GLenum
v2 GLsizei
v3 GLboolean
v4 GLsizei
v5 GLenum
v6 GLsizei
v7

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

-- glBindImageTextures ---------------------------------------------------------

-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBindImageTextures.xhtml OpenGL 4.x>.
glBindImageTextures
  :: MonadIO m
  => GLuint -- ^ @first@.
  -> GLsizei -- ^ @count@.
  -> Ptr GLuint -- ^ @textures@ pointing to @count@ elements of type @GLuint@.
  -> m ()
glBindImageTextures :: GLenum -> GLsizei -> Ptr GLenum -> m ()
glBindImageTextures GLenum
v1 GLsizei
v2 Ptr GLenum
v3 = IO () -> m ()
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 ()
dyn30 FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
ptr_glBindImageTextures GLenum
v1 GLsizei
v2 Ptr GLenum
v3

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

-- glBindLightParameterEXT -----------------------------------------------------

glBindLightParameterEXT
  :: MonadIO m
  => GLenum -- ^ @light@ of type [LightName](Graphics-GL-Groups.html#LightName).
  -> GLenum -- ^ @value@ of type [LightParameter](Graphics-GL-Groups.html#LightParameter).
  -> m GLuint
glBindLightParameterEXT :: GLenum -> GLenum -> m GLenum
glBindLightParameterEXT GLenum
v1 GLenum
v2 = IO GLenum -> m GLenum
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO GLenum -> m GLenum) -> IO GLenum -> m GLenum
forall a b. (a -> b) -> a -> b
$ FunPtr (GLenum -> GLenum -> IO GLenum)
-> GLenum -> GLenum -> IO GLenum
dyn31 FunPtr (GLenum -> GLenum -> IO GLenum)
ptr_glBindLightParameterEXT GLenum
v1 GLenum
v2

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

-- glBindMaterialParameterEXT --------------------------------------------------

glBindMaterialParameterEXT
  :: MonadIO m
  => GLenum -- ^ @face@ of type [MaterialFace](Graphics-GL-Groups.html#MaterialFace).
  -> GLenum -- ^ @value@ of type [MaterialParameter](Graphics-GL-Groups.html#MaterialParameter).
  -> m GLuint
glBindMaterialParameterEXT :: GLenum -> GLenum -> m GLenum
glBindMaterialParameterEXT GLenum
v1 GLenum
v2 = IO GLenum -> m GLenum
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO GLenum -> m GLenum) -> IO GLenum -> m GLenum
forall a b. (a -> b) -> a -> b
$ FunPtr (GLenum -> GLenum -> IO GLenum)
-> GLenum -> GLenum -> IO GLenum
dyn31 FunPtr (GLenum -> GLenum -> IO GLenum)
ptr_glBindMaterialParameterEXT GLenum
v1 GLenum
v2

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

-- glBindMultiTextureEXT -------------------------------------------------------

glBindMultiTextureEXT
  :: MonadIO m
  => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
  -> GLuint -- ^ @texture@ of type @Texture@.
  -> m ()
glBindMultiTextureEXT :: GLenum -> GLenum -> GLenum -> m ()
glBindMultiTextureEXT GLenum
v1 GLenum
v2 GLenum
v3 = IO () -> m ()
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 -> IO ())
-> GLenum -> GLenum -> GLenum -> IO ()
dyn32 FunPtr (GLenum -> GLenum -> GLenum -> IO ())
ptr_glBindMultiTextureEXT GLenum
v1 GLenum
v2 GLenum
v3

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

-- glBindParameterEXT ----------------------------------------------------------

glBindParameterEXT
  :: MonadIO m
  => GLenum -- ^ @value@ of type [VertexShaderParameterEXT](Graphics-GL-Groups.html#VertexShaderParameterEXT).
  -> m GLuint
glBindParameterEXT :: GLenum -> m GLenum
glBindParameterEXT GLenum
v1 = IO GLenum -> m GLenum
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO GLenum -> m GLenum) -> IO GLenum -> m GLenum
forall a b. (a -> b) -> a -> b
$ FunPtr (GLenum -> IO GLenum) -> GLenum -> IO GLenum
dyn33 FunPtr (GLenum -> IO GLenum)
ptr_glBindParameterEXT GLenum
v1

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

-- glBindProgramARB ------------------------------------------------------------

glBindProgramARB
  :: MonadIO m
  => GLenum -- ^ @target@ of type [ProgramTarget](Graphics-GL-Groups.html#ProgramTarget).
  -> GLuint -- ^ @program@.
  -> m ()
glBindProgramARB :: GLenum -> GLenum -> m ()
glBindProgramARB GLenum
v1 GLenum
v2 = IO () -> m ()
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 ()
dyn19 FunPtr (GLenum -> GLenum -> IO ())
ptr_glBindProgramARB GLenum
v1 GLenum
v2

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

-- glBindProgramNV -------------------------------------------------------------

-- | This command is an alias for 'glBindProgramARB'.
glBindProgramNV
  :: MonadIO m
  => GLenum -- ^ @target@ of type [VertexAttribEnumNV](Graphics-GL-Groups.html#VertexAttribEnumNV).
  -> GLuint -- ^ @id@.
  -> m ()
glBindProgramNV :: GLenum -> GLenum -> m ()
glBindProgramNV GLenum
v1 GLenum
v2 = IO () -> m ()
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 ()
dyn19 FunPtr (GLenum -> GLenum -> IO ())
ptr_glBindProgramNV GLenum
v1 GLenum
v2

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

-- glBindProgramPipeline -------------------------------------------------------

-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBindProgramPipeline.xhtml OpenGL 4.x>.
glBindProgramPipeline
  :: MonadIO m
  => GLuint -- ^ @pipeline@.
  -> m ()
glBindProgramPipeline :: GLenum -> m ()
glBindProgramPipeline GLenum
v1 = IO () -> m ()
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_glBindProgramPipeline GLenum
v1

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

-- glBindProgramPipelineEXT ----------------------------------------------------

glBindProgramPipelineEXT
  :: MonadIO m
  => GLuint -- ^ @pipeline@.
  -> m ()
glBindProgramPipelineEXT :: GLenum -> m ()
glBindProgramPipelineEXT GLenum
v1 = IO () -> m ()
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_glBindProgramPipelineEXT GLenum
v1

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

-- glBindRenderbuffer ----------------------------------------------------------

-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glBindRenderbuffer.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBindRenderbuffer.xhtml OpenGL 4.x>.
glBindRenderbuffer
  :: MonadIO m
  => GLenum -- ^ @target@ of type [RenderbufferTarget](Graphics-GL-Groups.html#RenderbufferTarget).
  -> GLuint -- ^ @renderbuffer@.
  -> m ()
glBindRenderbuffer :: GLenum -> GLenum -> m ()
glBindRenderbuffer GLenum
v1 GLenum
v2 = IO () -> m ()
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 ()
dyn19 FunPtr (GLenum -> GLenum -> IO ())
ptr_glBindRenderbuffer GLenum
v1 GLenum
v2

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

-- glBindRenderbufferEXT -------------------------------------------------------

glBindRenderbufferEXT
  :: MonadIO m
  => GLenum -- ^ @target@ of type [RenderbufferTarget](Graphics-GL-Groups.html#RenderbufferTarget).
  -> GLuint -- ^ @renderbuffer@.
  -> m ()
glBindRenderbufferEXT :: GLenum -> GLenum -> m ()
glBindRenderbufferEXT GLenum
v1 GLenum
v2 = IO () -> m ()
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 ()
dyn19 FunPtr (GLenum -> GLenum -> IO ())
ptr_glBindRenderbufferEXT GLenum
v1 GLenum
v2

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

-- glBindRenderbufferOES -------------------------------------------------------

glBindRenderbufferOES
  :: MonadIO m
  => GLenum -- ^ @target@ of type [RenderbufferTarget](Graphics-GL-Groups.html#RenderbufferTarget).
  -> GLuint -- ^ @renderbuffer@.
  -> m ()
glBindRenderbufferOES :: GLenum -> GLenum -> m ()
glBindRenderbufferOES GLenum
v1 GLenum
v2 = IO () -> m ()
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 ()
dyn19 FunPtr (GLenum -> GLenum -> IO ())
ptr_glBindRenderbufferOES GLenum
v1 GLenum
v2

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

-- glBindSampler ---------------------------------------------------------------

-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glBindSampler.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBindSampler.xhtml OpenGL 4.x>.
glBindSampler
  :: MonadIO m
  => GLuint -- ^ @unit@.
  -> GLuint -- ^ @sampler@.
  -> m ()
glBindSampler :: GLenum -> GLenum -> m ()
glBindSampler GLenum
v1 GLenum
v2 = IO () -> m ()
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 ()
dyn4 FunPtr (GLenum -> GLenum -> IO ())
ptr_glBindSampler GLenum
v1 GLenum
v2

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

-- glBindSamplers --------------------------------------------------------------

-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBindSamplers.xhtml OpenGL 4.x>.
glBindSamplers
  :: MonadIO m
  => GLuint -- ^ @first@.
  -> GLsizei -- ^ @count@.
  -> Ptr GLuint -- ^ @samplers@ pointing to @count@ elements of type @GLuint@.
  -> m ()
glBindSamplers :: GLenum -> GLsizei -> Ptr GLenum -> m ()
glBindSamplers GLenum
v1 GLsizei
v2 Ptr GLenum
v3 = IO () -> m ()
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 ()
dyn30 FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
ptr_glBindSamplers GLenum
v1 GLsizei
v2 Ptr GLenum
v3

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

-- glBindShadingRateImageNV ----------------------------------------------------

glBindShadingRateImageNV
  :: MonadIO m
  => GLuint -- ^ @texture@.
  -> m ()
glBindShadingRateImageNV :: GLenum -> m ()
glBindShadingRateImageNV GLenum
v1 = IO () -> m ()
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_glBindShadingRateImageNV GLenum
v1

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

-- glBindTexGenParameterEXT ----------------------------------------------------

glBindTexGenParameterEXT
  :: MonadIO m
  => GLenum -- ^ @unit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
  -> GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-GL-Groups.html#TextureCoordName).
  -> GLenum -- ^ @value@ of type [TextureGenParameter](Graphics-GL-Groups.html#TextureGenParameter).
  -> m GLuint
glBindTexGenParameterEXT :: GLenum -> GLenum -> GLenum -> m GLenum
glBindTexGenParameterEXT GLenum
v1 GLenum
v2 GLenum
v3 = IO GLenum -> m GLenum
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO GLenum -> m GLenum) -> IO GLenum -> m GLenum
forall a b. (a -> b) -> a -> b
$ FunPtr (GLenum -> GLenum -> GLenum -> IO GLenum)
-> GLenum -> GLenum -> GLenum -> IO GLenum
dyn34 FunPtr (GLenum -> GLenum -> GLenum -> IO GLenum)
ptr_glBindTexGenParameterEXT GLenum
v1 GLenum
v2 GLenum
v3

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

-- glBindTexture ---------------------------------------------------------------

-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glBindTexture.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glBindTexture.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBindTexture.xhtml OpenGL 4.x>.
glBindTexture
  :: MonadIO m
  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
  -> GLuint -- ^ @texture@ of type @Texture@.
  -> m ()
glBindTexture :: GLenum -> GLenum -> m ()
glBindTexture GLenum
v1 GLenum
v2 = IO () -> m ()
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 ()
dyn19 FunPtr (GLenum -> GLenum -> IO ())
ptr_glBindTexture GLenum
v1 GLenum
v2

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

-- glBindTextureEXT ------------------------------------------------------------

-- | This command is an alias for 'glBindTexture'.
glBindTextureEXT
  :: MonadIO m
  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
  -> GLuint -- ^ @texture@ of type @Texture@.
  -> m ()
glBindTextureEXT :: GLenum -> GLenum -> m ()
glBindTextureEXT GLenum
v1 GLenum
v2 = IO () -> m ()
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 ()
dyn19 FunPtr (GLenum -> GLenum -> IO ())
ptr_glBindTextureEXT GLenum
v1 GLenum
v2

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

-- glBindTextureUnit -----------------------------------------------------------

-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBindTextureUnit.xhtml OpenGL 4.x>.
glBindTextureUnit
  :: MonadIO m
  => GLuint -- ^ @unit@.
  -> GLuint -- ^ @texture@.
  -> m ()
glBindTextureUnit :: GLenum -> GLenum -> m ()
glBindTextureUnit GLenum
v1 GLenum
v2 = IO () -> m ()
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 ()
dyn4 FunPtr (GLenum -> GLenum -> IO ())
ptr_glBindTextureUnit GLenum
v1 GLenum
v2

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

-- glBindTextureUnitParameterEXT -----------------------------------------------

glBindTextureUnitParameterEXT
  :: MonadIO m
  => GLenum -- ^ @unit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
  -> GLenum -- ^ @value@ of type [VertexShaderTextureUnitParameter](Graphics-GL-Groups.html#VertexShaderTextureUnitParameter).
  -> m GLuint
glBindTextureUnitParameterEXT :: GLenum -> GLenum -> m GLenum
glBindTextureUnitParameterEXT GLenum
v1 GLenum
v2 = IO GLenum -> m GLenum
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO GLenum -> m GLenum) -> IO GLenum -> m GLenum
forall a b. (a -> b) -> a -> b
$ FunPtr (GLenum -> GLenum -> IO GLenum)
-> GLenum -> GLenum -> IO GLenum
dyn31 FunPtr (GLenum -> GLenum -> IO GLenum)
ptr_glBindTextureUnitParameterEXT GLenum
v1 GLenum
v2

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

-- glBindTextures --------------------------------------------------------------

-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBindTextures.xhtml OpenGL 4.x>.
glBindTextures
  :: MonadIO m
  => GLuint -- ^ @first@.
  -> GLsizei -- ^ @count@.
  -> Ptr GLuint -- ^ @textures@ pointing to @count@ elements of type @GLuint@.
  -> m ()
glBindTextures :: GLenum -> GLsizei -> Ptr GLenum -> m ()
glBindTextures GLenum
v1 GLsizei
v2 Ptr GLenum
v3 = IO () -> m ()
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 ()
dyn30 FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
ptr_glBindTextures GLenum
v1 GLsizei
v2 Ptr GLenum
v3

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

-- glBindTransformFeedback -----------------------------------------------------

-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBindTransformFeedback.xhtml OpenGL 4.x>.
glBindTransformFeedback
  :: MonadIO m
  => GLenum -- ^ @target@ of type [BindTransformFeedbackTarget](Graphics-GL-Groups.html#BindTransformFeedbackTarget).
  -> GLuint -- ^ @id@.
  -> m ()
glBindTransformFeedback :: GLenum -> GLenum -> m ()
glBindTransformFeedback GLenum
v1 GLenum
v2 = IO () -> m ()
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 ()
dyn19 FunPtr (GLenum -> GLenum -> IO ())
ptr_glBindTransformFeedback GLenum
v1 GLenum
v2

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

-- glBindTransformFeedbackNV ---------------------------------------------------

glBindTransformFeedbackNV
  :: MonadIO m
  => GLenum -- ^ @target@ of type [BufferTargetARB](Graphics-GL-Groups.html#BufferTargetARB).
  -> GLuint -- ^ @id@.
  -> m ()
glBindTransformFeedbackNV :: GLenum -> GLenum -> m ()
glBindTransformFeedbackNV GLenum
v1 GLenum
v2 = IO () -> m ()
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 ()
dyn19 FunPtr (GLenum -> GLenum -> IO ())
ptr_glBindTransformFeedbackNV GLenum
v1 GLenum
v2

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

-- glBindVertexArray -----------------------------------------------------------

-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glBindVertexArray.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBindVertexArray.xhtml OpenGL 4.x>.
glBindVertexArray
  :: MonadIO m
  => GLuint -- ^ @array@.
  -> m ()
glBindVertexArray :: GLenum -> m ()
glBindVertexArray GLenum
v1 = IO () -> m ()
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_glBindVertexArray GLenum
v1

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

-- glBindVertexArrayAPPLE ------------------------------------------------------

glBindVertexArrayAPPLE
  :: MonadIO m
  => GLuint -- ^ @array@.
  -> m ()
glBindVertexArrayAPPLE :: GLenum -> m ()
glBindVertexArrayAPPLE GLenum
v1 = IO () -> m ()
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_glBindVertexArrayAPPLE GLenum
v1

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

-- glBindVertexArrayOES --------------------------------------------------------

-- | This command is an alias for 'glBindVertexArray'.
glBindVertexArrayOES
  :: MonadIO m
  => GLuint -- ^ @array@.
  -> m ()
glBindVertexArrayOES :: GLenum -> m ()
glBindVertexArrayOES GLenum
v1 = IO () -> m ()
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_glBindVertexArrayOES GLenum
v1

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

-- glBindVertexBuffer ----------------------------------------------------------

-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBindVertexBuffer.xhtml OpenGL 4.x>.
glBindVertexBuffer
  :: MonadIO m
  => GLuint -- ^ @bindingindex@.
  -> GLuint -- ^ @buffer@.
  -> GLintptr -- ^ @offset@ of type @BufferOffset@.
  -> GLsizei -- ^ @stride@.
  -> m ()
glBindVertexBuffer :: GLenum -> GLenum -> GLintptr -> GLsizei -> m ()
glBindVertexBuffer GLenum
v1 GLenum
v2 GLintptr
v3 GLsizei
v4 = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ FunPtr (GLenum -> GLenum -> GLintptr -> GLsizei -> IO ())
-> GLenum -> GLenum -> GLintptr -> GLsizei -> IO ()
dyn35 FunPtr (GLenum -> GLenum -> GLintptr -> GLsizei -> IO ())
ptr_glBindVertexBuffer GLenum
v1 GLenum
v2 GLintptr
v3 GLsizei
v4

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

-- glBindVertexBuffers ---------------------------------------------------------

-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBindVertexBuffers.xhtml OpenGL 4.x>.
glBindVertexBuffers
  :: MonadIO m
  => GLuint -- ^ @first@.
  -> GLsizei -- ^ @count@.
  -> Ptr GLuint -- ^ @buffers@ pointing to @count@ elements of type @GLuint@.
  -> Ptr GLintptr -- ^ @offsets@ pointing to @count@ elements of type @GLintptr@.
  -> Ptr GLsizei -- ^ @strides@ pointing to @count@ elements of type @GLsizei@.
  -> m ()
glBindVertexBuffers :: GLenum
-> GLsizei -> Ptr GLenum -> Ptr GLintptr -> Ptr GLsizei -> m ()
glBindVertexBuffers GLenum
v1 GLsizei
v2 Ptr GLenum
v3 Ptr GLintptr
v4 Ptr GLsizei
v5 = IO () -> m ()
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 -> Ptr GLintptr -> Ptr GLsizei -> IO ())
-> GLenum
-> GLsizei
-> Ptr GLenum
-> Ptr GLintptr
-> Ptr GLsizei
-> IO ()
dyn36 FunPtr
  (GLenum
   -> GLsizei -> Ptr GLenum -> Ptr GLintptr -> Ptr GLsizei -> IO ())
ptr_glBindVertexBuffers GLenum
v1 GLsizei
v2 Ptr GLenum
v3 Ptr GLintptr
v4 Ptr GLsizei
v5

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