-- This file was automatically generated.
{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
module Graphics.GL.Internal.Shared where

import Control.Monad.IO.Class
import Foreign.Ptr
import Graphics.GL.Types
import Graphics.GL.Internal.FFI
import Graphics.GL.Internal.Proc
import System.IO.Unsafe

-- | Usage: @'glAccum' op value@
--
-- The parameter @op@ is a @AccumOp@, one of: 'Graphics.GL.Internal.Shared.GL_ACCUM', 'Graphics.GL.Internal.Shared.GL_LOAD', 'Graphics.GL.Internal.Shared.GL_RETURN', 'Graphics.GL.Internal.Shared.GL_MULT', 'Graphics.GL.Internal.Shared.GL_ADD'.
--
-- The parameter @value@ is a @CoordF@.


glAccum :: MonadIO m => GLenum -> GLfloat -> m ()
glAccum :: GLenum -> GLfloat -> m ()
glAccum = FunPtr (GLenum -> GLfloat -> IO ()) -> GLenum -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLfloat -> IO ()) -> GLenum -> GLfloat -> m ()
ffienumfloatIOV FunPtr (GLenum -> GLfloat -> IO ())
glAccumFunPtr

glAccumFunPtr :: FunPtr (GLenum -> GLfloat -> IO ())
glAccumFunPtr :: FunPtr (GLenum -> GLfloat -> IO ())
glAccumFunPtr = IO (FunPtr (GLenum -> GLfloat -> IO ()))
-> FunPtr (GLenum -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glAccum")

{-# NOINLINE glAccumFunPtr #-}

-- | Usage: @'glAlphaFunc' func ref@
--
-- The parameter @func@ is a @AlphaFunction@, one of: 'Graphics.GL.Internal.Shared.GL_ALWAYS', 'Graphics.GL.Internal.Shared.GL_EQUAL', 'Graphics.GL.Internal.Shared.GL_GEQUAL', 'Graphics.GL.Internal.Shared.GL_GREATER', 'Graphics.GL.Internal.Shared.GL_LEQUAL', 'Graphics.GL.Internal.Shared.GL_LESS', 'Graphics.GL.Internal.Shared.GL_NEVER', 'Graphics.GL.Internal.Shared.GL_NOTEQUAL'.


glAlphaFunc :: MonadIO m => GLenum -> GLfloat -> m ()
glAlphaFunc :: GLenum -> GLfloat -> m ()
glAlphaFunc = FunPtr (GLenum -> GLfloat -> IO ()) -> GLenum -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLfloat -> IO ()) -> GLenum -> GLfloat -> m ()
ffienumfloatIOV FunPtr (GLenum -> GLfloat -> IO ())
glAlphaFuncFunPtr

glAlphaFuncFunPtr :: FunPtr (GLenum -> GLfloat -> IO ())
glAlphaFuncFunPtr :: FunPtr (GLenum -> GLfloat -> IO ())
glAlphaFuncFunPtr = IO (FunPtr (GLenum -> GLfloat -> IO ()))
-> FunPtr (GLenum -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glAlphaFunc")

{-# NOINLINE glAlphaFuncFunPtr #-}

-- | Usage: @'glAreTexturesResident' n textures residences@
--
-- The parameter @textures@ is a @Texture@.
--
-- The parameter @residences@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @textures@ should be @n@.
--
-- The length of @residences@ should be @n@.


glAreTexturesResident :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLboolean -> m GLboolean
glAreTexturesResident :: GLsizei -> Ptr GLenum -> Ptr GLboolean -> m GLboolean
glAreTexturesResident = FunPtr (GLsizei -> Ptr GLenum -> Ptr GLboolean -> IO GLboolean)
-> GLsizei -> Ptr GLenum -> Ptr GLboolean -> m GLboolean
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> Ptr GLenum -> Ptr GLboolean -> IO GLboolean)
-> GLsizei -> Ptr GLenum -> Ptr GLboolean -> m GLboolean
ffisizeiPtruintPtrbooleanIOboolean FunPtr (GLsizei -> Ptr GLenum -> Ptr GLboolean -> IO GLboolean)
glAreTexturesResidentFunPtr

glAreTexturesResidentFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> Ptr GLboolean -> IO GLboolean)
glAreTexturesResidentFunPtr :: FunPtr (GLsizei -> Ptr GLenum -> Ptr GLboolean -> IO GLboolean)
glAreTexturesResidentFunPtr = IO
  (FunPtr (GLsizei -> Ptr GLenum -> Ptr GLboolean -> IO GLboolean))
-> FunPtr (GLsizei -> Ptr GLenum -> Ptr GLboolean -> IO GLboolean)
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLsizei -> Ptr GLenum -> Ptr GLboolean -> IO GLboolean))
forall a. String -> IO (FunPtr a)
getProcAddress "glAreTexturesResident")

{-# NOINLINE glAreTexturesResidentFunPtr #-}

-- | Usage: @'glArrayElement' i@


glArrayElement :: MonadIO m => GLint -> m ()
glArrayElement :: GLsizei -> m ()
glArrayElement = FunPtr (GLsizei -> IO ()) -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> IO ()) -> GLsizei -> m ()
ffiintIOV FunPtr (GLsizei -> IO ())
glArrayElementFunPtr

glArrayElementFunPtr :: FunPtr (GLint -> IO ())
glArrayElementFunPtr :: FunPtr (GLsizei -> IO ())
glArrayElementFunPtr = IO (FunPtr (GLsizei -> IO ())) -> FunPtr (GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glArrayElement")

{-# NOINLINE glArrayElementFunPtr #-}

-- | Usage: @'glBegin' mode@
--
-- The parameter @mode@ is a @PrimitiveType@, one of: 'Graphics.GL.Internal.Shared.GL_LINES', 'Graphics.GL.Internal.Shared.GL_LINES_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_LINES_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_LINES_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_LINE_LOOP', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_LINE_STRIP_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_PATCHES', 'Graphics.GL.Ext.EXT.TessellationShader.GL_PATCHES_EXT', 'Graphics.GL.Internal.Shared.GL_POINTS', 'Graphics.GL.Internal.Shared.GL_POLYGON', 'Graphics.GL.Internal.Shared.GL_QUADS', 'Graphics.GL.Ext.EXT.TessellationShader.GL_QUADS_EXT', 'Graphics.GL.Internal.Shared.GL_QUAD_STRIP', 'Graphics.GL.Internal.Shared.GL_TRIANGLES', 'Graphics.GL.Internal.Shared.GL_TRIANGLES_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_TRIANGLES_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_TRIANGLES_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_FAN', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_TRIANGLE_STRIP_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP_ADJACENCY_EXT'.


glBegin :: MonadIO m => GLenum -> m ()
glBegin :: GLenum -> m ()
glBegin = FunPtr (GLenum -> IO ()) -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO ()) -> GLenum -> m ()
ffienumIOV FunPtr (GLenum -> IO ())
glBeginFunPtr

glBeginFunPtr :: FunPtr (GLenum -> IO ())
glBeginFunPtr :: FunPtr (GLenum -> IO ())
glBeginFunPtr = IO (FunPtr (GLenum -> IO ())) -> FunPtr (GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glBegin")

{-# NOINLINE glBeginFunPtr #-}

-- | Usage: @'glBitmap' width height xorig yorig xmove ymove bitmap@
--
-- The parameter @xorig@ is a @CoordF@.
--
-- The parameter @yorig@ is a @CoordF@.
--
-- The parameter @xmove@ is a @CoordF@.
--
-- The parameter @ymove@ is a @CoordF@.
--
-- The length of @bitmap@ should be @COMPSIZE(width,height)@.


glBitmap :: MonadIO m => GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> m ()
glBitmap :: GLsizei
-> GLsizei
-> GLfloat
-> GLfloat
-> GLfloat
-> GLfloat
-> Ptr GLboolean
-> m ()
glBitmap = FunPtr
  (GLsizei
   -> GLsizei
   -> GLfloat
   -> GLfloat
   -> GLfloat
   -> GLfloat
   -> Ptr GLboolean
   -> IO ())
-> GLsizei
-> GLsizei
-> GLfloat
-> GLfloat
-> GLfloat
-> GLfloat
-> Ptr GLboolean
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLsizei
   -> GLsizei
   -> GLfloat
   -> GLfloat
   -> GLfloat
   -> GLfloat
   -> Ptr GLboolean
   -> IO ())
-> GLsizei
-> GLsizei
-> GLfloat
-> GLfloat
-> GLfloat
-> GLfloat
-> Ptr GLboolean
-> m ()
ffisizeisizeifloatfloatfloatfloatPtrubyteIOV FunPtr
  (GLsizei
   -> GLsizei
   -> GLfloat
   -> GLfloat
   -> GLfloat
   -> GLfloat
   -> Ptr GLboolean
   -> IO ())
glBitmapFunPtr

glBitmapFunPtr :: FunPtr (GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> IO ())
glBitmapFunPtr :: FunPtr
  (GLsizei
   -> GLsizei
   -> GLfloat
   -> GLfloat
   -> GLfloat
   -> GLfloat
   -> Ptr GLboolean
   -> IO ())
glBitmapFunPtr = IO
  (FunPtr
     (GLsizei
      -> GLsizei
      -> GLfloat
      -> GLfloat
      -> GLfloat
      -> GLfloat
      -> Ptr GLboolean
      -> IO ()))
-> FunPtr
     (GLsizei
      -> GLsizei
      -> GLfloat
      -> GLfloat
      -> GLfloat
      -> GLfloat
      -> Ptr GLboolean
      -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLsizei
         -> GLsizei
         -> GLfloat
         -> GLfloat
         -> GLfloat
         -> GLfloat
         -> Ptr GLboolean
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glBitmap")

{-# NOINLINE glBitmapFunPtr #-}

-- | Usage: @'glCallList' list@
--
-- The parameter @list@ is a @List@.


glCallList :: MonadIO m => GLuint -> m ()
glCallList :: GLenum -> m ()
glCallList = FunPtr (GLenum -> IO ()) -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO ()) -> GLenum -> m ()
ffiuintIOV FunPtr (GLenum -> IO ())
glCallListFunPtr

glCallListFunPtr :: FunPtr (GLuint -> IO ())
glCallListFunPtr :: FunPtr (GLenum -> IO ())
glCallListFunPtr = IO (FunPtr (GLenum -> IO ())) -> FunPtr (GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glCallList")

{-# NOINLINE glCallListFunPtr #-}

-- | Usage: @'glCallLists' n type lists@
--
-- The parameter @type@ is a @ListNameType@, one of: 'Graphics.GL.Internal.Shared.GL_2_BYTES', 'Graphics.GL.Internal.Shared.GL_3_BYTES', 'Graphics.GL.Internal.Shared.GL_4_BYTES', 'Graphics.GL.Internal.Shared.GL_BYTE', 'Graphics.GL.Internal.Shared.GL_FLOAT', 'Graphics.GL.Internal.Shared.GL_INT', 'Graphics.GL.Internal.Shared.GL_SHORT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_BYTE', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_INT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_SHORT'.
--
-- The length of @lists@ should be @COMPSIZE(n,type)@.


glCallLists :: MonadIO m => GLsizei -> GLenum -> Ptr () -> m ()
glCallLists :: GLsizei -> GLenum -> Ptr () -> m ()
glCallLists = FunPtr (GLsizei -> GLenum -> Ptr () -> IO ())
-> GLsizei -> GLenum -> Ptr () -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLenum -> Ptr () -> IO ())
-> GLsizei -> GLenum -> Ptr () -> m ()
ffisizeienumPtrVIOV FunPtr (GLsizei -> GLenum -> Ptr () -> IO ())
glCallListsFunPtr

glCallListsFunPtr :: FunPtr (GLsizei -> GLenum -> Ptr () -> IO ())
glCallListsFunPtr :: FunPtr (GLsizei -> GLenum -> Ptr () -> IO ())
glCallListsFunPtr = IO (FunPtr (GLsizei -> GLenum -> Ptr () -> IO ()))
-> FunPtr (GLsizei -> GLenum -> Ptr () -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> GLenum -> Ptr () -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glCallLists")

{-# NOINLINE glCallListsFunPtr #-}

-- | Usage: @'glClearAccum' red green blue alpha@


glClearAccum :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glClearAccum :: GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glClearAccum = FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
ffifloatfloatfloatfloatIOV FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glClearAccumFunPtr

glClearAccumFunPtr :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glClearAccumFunPtr :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glClearAccumFunPtr = IO (FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()))
-> FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glClearAccum")

{-# NOINLINE glClearAccumFunPtr #-}

-- | Usage: @'glClearIndex' c@
--
-- The parameter @c@ is a @MaskedColorIndexValueF@.


glClearIndex :: MonadIO m => GLfloat -> m ()
glClearIndex :: GLfloat -> m ()
glClearIndex = FunPtr (GLfloat -> IO ()) -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLfloat -> IO ()) -> GLfloat -> m ()
ffifloatIOV FunPtr (GLfloat -> IO ())
glClearIndexFunPtr

glClearIndexFunPtr :: FunPtr (GLfloat -> IO ())
glClearIndexFunPtr :: FunPtr (GLfloat -> IO ())
glClearIndexFunPtr = IO (FunPtr (GLfloat -> IO ())) -> FunPtr (GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glClearIndex")

{-# NOINLINE glClearIndexFunPtr #-}

-- | Usage: @'glClientActiveTexture' texture@
--
-- The parameter @texture@ is a @TextureUnit@.


glClientActiveTexture :: MonadIO m => GLenum -> m ()
glClientActiveTexture :: GLenum -> m ()
glClientActiveTexture = FunPtr (GLenum -> IO ()) -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO ()) -> GLenum -> m ()
ffienumIOV FunPtr (GLenum -> IO ())
glClientActiveTextureFunPtr

glClientActiveTextureFunPtr :: FunPtr (GLenum -> IO ())
glClientActiveTextureFunPtr :: FunPtr (GLenum -> IO ())
glClientActiveTextureFunPtr = IO (FunPtr (GLenum -> IO ())) -> FunPtr (GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glClientActiveTexture")

{-# NOINLINE glClientActiveTextureFunPtr #-}

-- | Usage: @'glClipPlane' plane equation@
--
-- The parameter @plane@ is a @ClipPlaneName@, one of: 'Graphics.GL.Internal.Shared.GL_CLIP_DISTANCE0', 'Graphics.GL.Internal.Shared.GL_CLIP_DISTANCE1', 'Graphics.GL.Internal.Shared.GL_CLIP_DISTANCE2', 'Graphics.GL.Internal.Shared.GL_CLIP_DISTANCE3', 'Graphics.GL.Internal.Shared.GL_CLIP_DISTANCE4', 'Graphics.GL.Internal.Shared.GL_CLIP_DISTANCE5', 'Graphics.GL.Internal.Shared.GL_CLIP_DISTANCE6', 'Graphics.GL.Internal.Shared.GL_CLIP_DISTANCE7', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE0', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE1', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE2', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE3', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE4', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE5'.
--
-- The length of @equation@ should be @4@.


glClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()
glClipPlane :: GLenum -> Ptr GLdouble -> m ()
glClipPlane = FunPtr (GLenum -> Ptr GLdouble -> IO ())
-> GLenum -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLdouble -> IO ())
-> GLenum -> Ptr GLdouble -> m ()
ffienumPtrdoubleIOV FunPtr (GLenum -> Ptr GLdouble -> IO ())
glClipPlaneFunPtr

glClipPlaneFunPtr :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
glClipPlaneFunPtr :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
glClipPlaneFunPtr = IO (FunPtr (GLenum -> Ptr GLdouble -> IO ()))
-> FunPtr (GLenum -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glClipPlane")

{-# NOINLINE glClipPlaneFunPtr #-}

-- | Usage: @'glColor3b' red green blue@
--
-- The parameter @red@ is a @ColorB@.
--
-- The parameter @green@ is a @ColorB@.
--
-- The parameter @blue@ is a @ColorB@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glColor3bv'.


glColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()
glColor3b :: GLbyte -> GLbyte -> GLbyte -> m ()
glColor3b = FunPtr (GLbyte -> GLbyte -> GLbyte -> IO ())
-> GLbyte -> GLbyte -> GLbyte -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLbyte -> GLbyte -> GLbyte -> IO ())
-> GLbyte -> GLbyte -> GLbyte -> m ()
ffibytebytebyteIOV FunPtr (GLbyte -> GLbyte -> GLbyte -> IO ())
glColor3bFunPtr

glColor3bFunPtr :: FunPtr (GLbyte -> GLbyte -> GLbyte -> IO ())
glColor3bFunPtr :: FunPtr (GLbyte -> GLbyte -> GLbyte -> IO ())
glColor3bFunPtr = IO (FunPtr (GLbyte -> GLbyte -> GLbyte -> IO ()))
-> FunPtr (GLbyte -> GLbyte -> GLbyte -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLbyte -> GLbyte -> GLbyte -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glColor3b")

{-# NOINLINE glColor3bFunPtr #-}

-- | Usage: @'glColor3bv' v@
--
-- The parameter @v@ is a @ColorB@.
--
-- The length of @v@ should be @3@.


glColor3bv :: MonadIO m => Ptr GLbyte -> m ()
glColor3bv :: Ptr GLbyte -> m ()
glColor3bv = FunPtr (Ptr GLbyte -> IO ()) -> Ptr GLbyte -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLbyte -> IO ()) -> Ptr GLbyte -> m ()
ffiPtrbyteIOV FunPtr (Ptr GLbyte -> IO ())
glColor3bvFunPtr

glColor3bvFunPtr :: FunPtr (Ptr GLbyte -> IO ())
glColor3bvFunPtr :: FunPtr (Ptr GLbyte -> IO ())
glColor3bvFunPtr = IO (FunPtr (Ptr GLbyte -> IO ())) -> FunPtr (Ptr GLbyte -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLbyte -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glColor3bv")

{-# NOINLINE glColor3bvFunPtr #-}

-- | Usage: @'glColor3d' red green blue@
--
-- The parameter @red@ is a @ColorD@.
--
-- The parameter @green@ is a @ColorD@.
--
-- The parameter @blue@ is a @ColorD@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glColor3dv'.


glColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()
glColor3d :: GLdouble -> GLdouble -> GLdouble -> m ()
glColor3d = FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLdouble -> GLdouble -> GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLdouble -> GLdouble -> GLdouble -> m ()
ffidoubledoubledoubleIOV FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
glColor3dFunPtr

glColor3dFunPtr :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
glColor3dFunPtr :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
glColor3dFunPtr = IO (FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ()))
-> FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glColor3d")

{-# NOINLINE glColor3dFunPtr #-}

-- | Usage: @'glColor3dv' v@
--
-- The parameter @v@ is a @ColorD@.
--
-- The length of @v@ should be @3@.


glColor3dv :: MonadIO m => Ptr GLdouble -> m ()
glColor3dv :: Ptr GLdouble -> m ()
glColor3dv = FunPtr (Ptr GLdouble -> IO ()) -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLdouble -> IO ()) -> Ptr GLdouble -> m ()
ffiPtrdoubleIOV FunPtr (Ptr GLdouble -> IO ())
glColor3dvFunPtr

glColor3dvFunPtr :: FunPtr (Ptr GLdouble -> IO ())
glColor3dvFunPtr :: FunPtr (Ptr GLdouble -> IO ())
glColor3dvFunPtr = IO (FunPtr (Ptr GLdouble -> IO ()))
-> FunPtr (Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glColor3dv")

{-# NOINLINE glColor3dvFunPtr #-}

-- | Usage: @'glColor3f' red green blue@
--
-- The parameter @red@ is a @ColorF@.
--
-- The parameter @green@ is a @ColorF@.
--
-- The parameter @blue@ is a @ColorF@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glColor3fv'.


glColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()
glColor3f :: GLfloat -> GLfloat -> GLfloat -> m ()
glColor3f = FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLfloat -> GLfloat -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLfloat -> GLfloat -> GLfloat -> m ()
ffifloatfloatfloatIOV FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
glColor3fFunPtr

glColor3fFunPtr :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
glColor3fFunPtr :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
glColor3fFunPtr = IO (FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ()))
-> FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glColor3f")

{-# NOINLINE glColor3fFunPtr #-}

-- | Usage: @'glColor3fv' v@
--
-- The parameter @v@ is a @ColorF@.
--
-- The length of @v@ should be @3@.


glColor3fv :: MonadIO m => Ptr GLfloat -> m ()
glColor3fv :: Ptr GLfloat -> m ()
glColor3fv = FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> m ()
ffiPtrfloatIOV FunPtr (Ptr GLfloat -> IO ())
glColor3fvFunPtr

glColor3fvFunPtr :: FunPtr (Ptr GLfloat -> IO ())
glColor3fvFunPtr :: FunPtr (Ptr GLfloat -> IO ())
glColor3fvFunPtr = IO (FunPtr (Ptr GLfloat -> IO ())) -> FunPtr (Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glColor3fv")

{-# NOINLINE glColor3fvFunPtr #-}

-- | Usage: @'glColor3i' red green blue@
--
-- The parameter @red@ is a @ColorI@.
--
-- The parameter @green@ is a @ColorI@.
--
-- The parameter @blue@ is a @ColorI@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glColor3iv'.


glColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()
glColor3i :: GLsizei -> GLsizei -> GLsizei -> m ()
glColor3i = FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLsizei -> GLsizei -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLsizei -> GLsizei -> GLsizei -> m ()
ffiintintintIOV FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ())
glColor3iFunPtr

glColor3iFunPtr :: FunPtr (GLint -> GLint -> GLint -> IO ())
glColor3iFunPtr :: FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ())
glColor3iFunPtr = IO (FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ()))
-> FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glColor3i")

{-# NOINLINE glColor3iFunPtr #-}

-- | Usage: @'glColor3iv' v@
--
-- The parameter @v@ is a @ColorI@.
--
-- The length of @v@ should be @3@.


glColor3iv :: MonadIO m => Ptr GLint -> m ()
glColor3iv :: Ptr GLsizei -> m ()
glColor3iv = FunPtr (Ptr GLsizei -> IO ()) -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLsizei -> IO ()) -> Ptr GLsizei -> m ()
ffiPtrintIOV FunPtr (Ptr GLsizei -> IO ())
glColor3ivFunPtr

glColor3ivFunPtr :: FunPtr (Ptr GLint -> IO ())
glColor3ivFunPtr :: FunPtr (Ptr GLsizei -> IO ())
glColor3ivFunPtr = IO (FunPtr (Ptr GLsizei -> IO ())) -> FunPtr (Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glColor3iv")

{-# NOINLINE glColor3ivFunPtr #-}

-- | Usage: @'glColor3s' red green blue@
--
-- The parameter @red@ is a @ColorS@.
--
-- The parameter @green@ is a @ColorS@.
--
-- The parameter @blue@ is a @ColorS@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glColor3sv'.


glColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()
glColor3s :: GLshort -> GLshort -> GLshort -> m ()
glColor3s = FunPtr (GLshort -> GLshort -> GLshort -> IO ())
-> GLshort -> GLshort -> GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLshort -> GLshort -> GLshort -> IO ())
-> GLshort -> GLshort -> GLshort -> m ()
ffishortshortshortIOV FunPtr (GLshort -> GLshort -> GLshort -> IO ())
glColor3sFunPtr

glColor3sFunPtr :: FunPtr (GLshort -> GLshort -> GLshort -> IO ())
glColor3sFunPtr :: FunPtr (GLshort -> GLshort -> GLshort -> IO ())
glColor3sFunPtr = IO (FunPtr (GLshort -> GLshort -> GLshort -> IO ()))
-> FunPtr (GLshort -> GLshort -> GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLshort -> GLshort -> GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glColor3s")

{-# NOINLINE glColor3sFunPtr #-}

-- | Usage: @'glColor3sv' v@
--
-- The parameter @v@ is a @ColorS@.
--
-- The length of @v@ should be @3@.


glColor3sv :: MonadIO m => Ptr GLshort -> m ()
glColor3sv :: Ptr GLshort -> m ()
glColor3sv = FunPtr (Ptr GLshort -> IO ()) -> Ptr GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLshort -> IO ()) -> Ptr GLshort -> m ()
ffiPtrshortIOV FunPtr (Ptr GLshort -> IO ())
glColor3svFunPtr

glColor3svFunPtr :: FunPtr (Ptr GLshort -> IO ())
glColor3svFunPtr :: FunPtr (Ptr GLshort -> IO ())
glColor3svFunPtr = IO (FunPtr (Ptr GLshort -> IO ())) -> FunPtr (Ptr GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glColor3sv")

{-# NOINLINE glColor3svFunPtr #-}

-- | Usage: @'glColor3ub' red green blue@
--
-- The parameter @red@ is a @ColorUB@.
--
-- The parameter @green@ is a @ColorUB@.
--
-- The parameter @blue@ is a @ColorUB@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glColor3ubv'.


glColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()
glColor3ub :: GLboolean -> GLboolean -> GLboolean -> m ()
glColor3ub = FunPtr (GLboolean -> GLboolean -> GLboolean -> IO ())
-> GLboolean -> GLboolean -> GLboolean -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLboolean -> GLboolean -> GLboolean -> IO ())
-> GLboolean -> GLboolean -> GLboolean -> m ()
ffiubyteubyteubyteIOV FunPtr (GLboolean -> GLboolean -> GLboolean -> IO ())
glColor3ubFunPtr

glColor3ubFunPtr :: FunPtr (GLubyte -> GLubyte -> GLubyte -> IO ())
glColor3ubFunPtr :: FunPtr (GLboolean -> GLboolean -> GLboolean -> IO ())
glColor3ubFunPtr = IO (FunPtr (GLboolean -> GLboolean -> GLboolean -> IO ()))
-> FunPtr (GLboolean -> GLboolean -> GLboolean -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLboolean -> GLboolean -> GLboolean -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glColor3ub")

{-# NOINLINE glColor3ubFunPtr #-}

-- | Usage: @'glColor3ubv' v@
--
-- The parameter @v@ is a @ColorUB@.
--
-- The length of @v@ should be @3@.


glColor3ubv :: MonadIO m => Ptr GLubyte -> m ()
glColor3ubv :: Ptr GLboolean -> m ()
glColor3ubv = FunPtr (Ptr GLboolean -> IO ()) -> Ptr GLboolean -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLboolean -> IO ()) -> Ptr GLboolean -> m ()
ffiPtrubyteIOV FunPtr (Ptr GLboolean -> IO ())
glColor3ubvFunPtr

glColor3ubvFunPtr :: FunPtr (Ptr GLubyte -> IO ())
glColor3ubvFunPtr :: FunPtr (Ptr GLboolean -> IO ())
glColor3ubvFunPtr = IO (FunPtr (Ptr GLboolean -> IO ()))
-> FunPtr (Ptr GLboolean -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLboolean -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glColor3ubv")

{-# NOINLINE glColor3ubvFunPtr #-}

-- | Usage: @'glColor3ui' red green blue@
--
-- The parameter @red@ is a @ColorUI@.
--
-- The parameter @green@ is a @ColorUI@.
--
-- The parameter @blue@ is a @ColorUI@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glColor3uiv'.


glColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()
glColor3ui :: GLenum -> GLenum -> GLenum -> m ()
glColor3ui = FunPtr (GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> m ()
ffiuintuintuintIOV FunPtr (GLenum -> GLenum -> GLenum -> IO ())
glColor3uiFunPtr

glColor3uiFunPtr :: FunPtr (GLuint -> GLuint -> GLuint -> IO ())
glColor3uiFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> IO ())
glColor3uiFunPtr = IO (FunPtr (GLenum -> GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glColor3ui")

{-# NOINLINE glColor3uiFunPtr #-}

-- | Usage: @'glColor3uiv' v@
--
-- The parameter @v@ is a @ColorUI@.
--
-- The length of @v@ should be @3@.


glColor3uiv :: MonadIO m => Ptr GLuint -> m ()
glColor3uiv :: Ptr GLenum -> m ()
glColor3uiv = FunPtr (Ptr GLenum -> IO ()) -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLenum -> IO ()) -> Ptr GLenum -> m ()
ffiPtruintIOV FunPtr (Ptr GLenum -> IO ())
glColor3uivFunPtr

glColor3uivFunPtr :: FunPtr (Ptr GLuint -> IO ())
glColor3uivFunPtr :: FunPtr (Ptr GLenum -> IO ())
glColor3uivFunPtr = IO (FunPtr (Ptr GLenum -> IO ())) -> FunPtr (Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glColor3uiv")

{-# NOINLINE glColor3uivFunPtr #-}

-- | Usage: @'glColor3us' red green blue@
--
-- The parameter @red@ is a @ColorUS@.
--
-- The parameter @green@ is a @ColorUS@.
--
-- The parameter @blue@ is a @ColorUS@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glColor3usv'.


glColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()
glColor3us :: GLushort -> GLushort -> GLushort -> m ()
glColor3us = FunPtr (GLushort -> GLushort -> GLushort -> IO ())
-> GLushort -> GLushort -> GLushort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLushort -> GLushort -> GLushort -> IO ())
-> GLushort -> GLushort -> GLushort -> m ()
ffiushortushortushortIOV FunPtr (GLushort -> GLushort -> GLushort -> IO ())
glColor3usFunPtr

glColor3usFunPtr :: FunPtr (GLushort -> GLushort -> GLushort -> IO ())
glColor3usFunPtr :: FunPtr (GLushort -> GLushort -> GLushort -> IO ())
glColor3usFunPtr = IO (FunPtr (GLushort -> GLushort -> GLushort -> IO ()))
-> FunPtr (GLushort -> GLushort -> GLushort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLushort -> GLushort -> GLushort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glColor3us")

{-# NOINLINE glColor3usFunPtr #-}

-- | Usage: @'glColor3usv' v@
--
-- The parameter @v@ is a @ColorUS@.
--
-- The length of @v@ should be @3@.


glColor3usv :: MonadIO m => Ptr GLushort -> m ()
glColor3usv :: Ptr GLushort -> m ()
glColor3usv = FunPtr (Ptr GLushort -> IO ()) -> Ptr GLushort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLushort -> IO ()) -> Ptr GLushort -> m ()
ffiPtrushortIOV FunPtr (Ptr GLushort -> IO ())
glColor3usvFunPtr

glColor3usvFunPtr :: FunPtr (Ptr GLushort -> IO ())
glColor3usvFunPtr :: FunPtr (Ptr GLushort -> IO ())
glColor3usvFunPtr = IO (FunPtr (Ptr GLushort -> IO ()))
-> FunPtr (Ptr GLushort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLushort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glColor3usv")

{-# NOINLINE glColor3usvFunPtr #-}

-- | Usage: @'glColor4b' red green blue alpha@
--
-- The parameter @red@ is a @ColorB@.
--
-- The parameter @green@ is a @ColorB@.
--
-- The parameter @blue@ is a @ColorB@.
--
-- The parameter @alpha@ is a @ColorB@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glColor4bv'.


glColor4b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> GLbyte -> m ()
glColor4b :: GLbyte -> GLbyte -> GLbyte -> GLbyte -> m ()
glColor4b = FunPtr (GLbyte -> GLbyte -> GLbyte -> GLbyte -> IO ())
-> GLbyte -> GLbyte -> GLbyte -> GLbyte -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLbyte -> GLbyte -> GLbyte -> GLbyte -> IO ())
-> GLbyte -> GLbyte -> GLbyte -> GLbyte -> m ()
ffibytebytebytebyteIOV FunPtr (GLbyte -> GLbyte -> GLbyte -> GLbyte -> IO ())
glColor4bFunPtr

glColor4bFunPtr :: FunPtr (GLbyte -> GLbyte -> GLbyte -> GLbyte -> IO ())
glColor4bFunPtr :: FunPtr (GLbyte -> GLbyte -> GLbyte -> GLbyte -> IO ())
glColor4bFunPtr = IO (FunPtr (GLbyte -> GLbyte -> GLbyte -> GLbyte -> IO ()))
-> FunPtr (GLbyte -> GLbyte -> GLbyte -> GLbyte -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLbyte -> GLbyte -> GLbyte -> GLbyte -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glColor4b")

{-# NOINLINE glColor4bFunPtr #-}

-- | Usage: @'glColor4bv' v@
--
-- The parameter @v@ is a @ColorB@.
--
-- The length of @v@ should be @4@.


glColor4bv :: MonadIO m => Ptr GLbyte -> m ()
glColor4bv :: Ptr GLbyte -> m ()
glColor4bv = FunPtr (Ptr GLbyte -> IO ()) -> Ptr GLbyte -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLbyte -> IO ()) -> Ptr GLbyte -> m ()
ffiPtrbyteIOV FunPtr (Ptr GLbyte -> IO ())
glColor4bvFunPtr

glColor4bvFunPtr :: FunPtr (Ptr GLbyte -> IO ())
glColor4bvFunPtr :: FunPtr (Ptr GLbyte -> IO ())
glColor4bvFunPtr = IO (FunPtr (Ptr GLbyte -> IO ())) -> FunPtr (Ptr GLbyte -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLbyte -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glColor4bv")

{-# NOINLINE glColor4bvFunPtr #-}

-- | Usage: @'glColor4d' red green blue alpha@
--
-- The parameter @red@ is a @ColorD@.
--
-- The parameter @green@ is a @ColorD@.
--
-- The parameter @blue@ is a @ColorD@.
--
-- The parameter @alpha@ is a @ColorD@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glColor4dv'.


glColor4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glColor4d :: GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glColor4d = FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
ffidoubledoubledoubledoubleIOV FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
glColor4dFunPtr

glColor4dFunPtr :: FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
glColor4dFunPtr :: FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
glColor4dFunPtr = IO (FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()))
-> FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glColor4d")

{-# NOINLINE glColor4dFunPtr #-}

-- | Usage: @'glColor4dv' v@
--
-- The parameter @v@ is a @ColorD@.
--
-- The length of @v@ should be @4@.


glColor4dv :: MonadIO m => Ptr GLdouble -> m ()
glColor4dv :: Ptr GLdouble -> m ()
glColor4dv = FunPtr (Ptr GLdouble -> IO ()) -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLdouble -> IO ()) -> Ptr GLdouble -> m ()
ffiPtrdoubleIOV FunPtr (Ptr GLdouble -> IO ())
glColor4dvFunPtr

glColor4dvFunPtr :: FunPtr (Ptr GLdouble -> IO ())
glColor4dvFunPtr :: FunPtr (Ptr GLdouble -> IO ())
glColor4dvFunPtr = IO (FunPtr (Ptr GLdouble -> IO ()))
-> FunPtr (Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glColor4dv")

{-# NOINLINE glColor4dvFunPtr #-}

-- | Usage: @'glColor4f' red green blue alpha@
--
-- The parameter @red@ is a @ColorF@.
--
-- The parameter @green@ is a @ColorF@.
--
-- The parameter @blue@ is a @ColorF@.
--
-- The parameter @alpha@ is a @ColorF@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glColor4fv'.


glColor4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glColor4f :: GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glColor4f = FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
ffifloatfloatfloatfloatIOV FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glColor4fFunPtr

glColor4fFunPtr :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glColor4fFunPtr :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glColor4fFunPtr = IO (FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()))
-> FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glColor4f")

{-# NOINLINE glColor4fFunPtr #-}

-- | Usage: @'glColor4fv' v@
--
-- The parameter @v@ is a @ColorF@.
--
-- The length of @v@ should be @4@.


glColor4fv :: MonadIO m => Ptr GLfloat -> m ()
glColor4fv :: Ptr GLfloat -> m ()
glColor4fv = FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> m ()
ffiPtrfloatIOV FunPtr (Ptr GLfloat -> IO ())
glColor4fvFunPtr

glColor4fvFunPtr :: FunPtr (Ptr GLfloat -> IO ())
glColor4fvFunPtr :: FunPtr (Ptr GLfloat -> IO ())
glColor4fvFunPtr = IO (FunPtr (Ptr GLfloat -> IO ())) -> FunPtr (Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glColor4fv")

{-# NOINLINE glColor4fvFunPtr #-}

-- | Usage: @'glColor4i' red green blue alpha@
--
-- The parameter @red@ is a @ColorI@.
--
-- The parameter @green@ is a @ColorI@.
--
-- The parameter @blue@ is a @ColorI@.
--
-- The parameter @alpha@ is a @ColorI@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glColor4iv'.


glColor4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()
glColor4i :: GLsizei -> GLsizei -> GLsizei -> GLsizei -> m ()
glColor4i = FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLsizei -> GLsizei -> GLsizei -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLsizei -> GLsizei -> GLsizei -> GLsizei -> m ()
ffiintintintintIOV FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
glColor4iFunPtr

glColor4iFunPtr :: FunPtr (GLint -> GLint -> GLint -> GLint -> IO ())
glColor4iFunPtr :: FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
glColor4iFunPtr = IO (FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ()))
-> FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glColor4i")

{-# NOINLINE glColor4iFunPtr #-}

-- | Usage: @'glColor4iv' v@
--
-- The parameter @v@ is a @ColorI@.
--
-- The length of @v@ should be @4@.


glColor4iv :: MonadIO m => Ptr GLint -> m ()
glColor4iv :: Ptr GLsizei -> m ()
glColor4iv = FunPtr (Ptr GLsizei -> IO ()) -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLsizei -> IO ()) -> Ptr GLsizei -> m ()
ffiPtrintIOV FunPtr (Ptr GLsizei -> IO ())
glColor4ivFunPtr

glColor4ivFunPtr :: FunPtr (Ptr GLint -> IO ())
glColor4ivFunPtr :: FunPtr (Ptr GLsizei -> IO ())
glColor4ivFunPtr = IO (FunPtr (Ptr GLsizei -> IO ())) -> FunPtr (Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glColor4iv")

{-# NOINLINE glColor4ivFunPtr #-}

-- | Usage: @'glColor4s' red green blue alpha@
--
-- The parameter @red@ is a @ColorS@.
--
-- The parameter @green@ is a @ColorS@.
--
-- The parameter @blue@ is a @ColorS@.
--
-- The parameter @alpha@ is a @ColorS@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glColor4sv'.


glColor4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()
glColor4s :: GLshort -> GLshort -> GLshort -> GLshort -> m ()
glColor4s = FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ())
-> GLshort -> GLshort -> GLshort -> GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ())
-> GLshort -> GLshort -> GLshort -> GLshort -> m ()
ffishortshortshortshortIOV FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ())
glColor4sFunPtr

glColor4sFunPtr :: FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ())
glColor4sFunPtr :: FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ())
glColor4sFunPtr = IO (FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ()))
-> FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glColor4s")

{-# NOINLINE glColor4sFunPtr #-}

-- | Usage: @'glColor4sv' v@
--
-- The parameter @v@ is a @ColorS@.
--
-- The length of @v@ should be @4@.


glColor4sv :: MonadIO m => Ptr GLshort -> m ()
glColor4sv :: Ptr GLshort -> m ()
glColor4sv = FunPtr (Ptr GLshort -> IO ()) -> Ptr GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLshort -> IO ()) -> Ptr GLshort -> m ()
ffiPtrshortIOV FunPtr (Ptr GLshort -> IO ())
glColor4svFunPtr

glColor4svFunPtr :: FunPtr (Ptr GLshort -> IO ())
glColor4svFunPtr :: FunPtr (Ptr GLshort -> IO ())
glColor4svFunPtr = IO (FunPtr (Ptr GLshort -> IO ())) -> FunPtr (Ptr GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glColor4sv")

{-# NOINLINE glColor4svFunPtr #-}

-- | Usage: @'glColor4ub' red green blue alpha@
--
-- The parameter @red@ is a @ColorUB@.
--
-- The parameter @green@ is a @ColorUB@.
--
-- The parameter @blue@ is a @ColorUB@.
--
-- The parameter @alpha@ is a @ColorUB@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glColor4ubv'.


glColor4ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()
glColor4ub :: GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()
glColor4ub = FunPtr (GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
-> GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
-> GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()
ffiubyteubyteubyteubyteIOV FunPtr (GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
glColor4ubFunPtr

glColor4ubFunPtr :: FunPtr (GLubyte -> GLubyte -> GLubyte -> GLubyte -> IO ())
glColor4ubFunPtr :: FunPtr (GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
glColor4ubFunPtr = IO
  (FunPtr
     (GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ()))
-> FunPtr
     (GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glColor4ub")

{-# NOINLINE glColor4ubFunPtr #-}

-- | Usage: @'glColor4ubv' v@
--
-- The parameter @v@ is a @ColorUB@.
--
-- The length of @v@ should be @4@.


glColor4ubv :: MonadIO m => Ptr GLubyte -> m ()
glColor4ubv :: Ptr GLboolean -> m ()
glColor4ubv = FunPtr (Ptr GLboolean -> IO ()) -> Ptr GLboolean -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLboolean -> IO ()) -> Ptr GLboolean -> m ()
ffiPtrubyteIOV FunPtr (Ptr GLboolean -> IO ())
glColor4ubvFunPtr

glColor4ubvFunPtr :: FunPtr (Ptr GLubyte -> IO ())
glColor4ubvFunPtr :: FunPtr (Ptr GLboolean -> IO ())
glColor4ubvFunPtr = IO (FunPtr (Ptr GLboolean -> IO ()))
-> FunPtr (Ptr GLboolean -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLboolean -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glColor4ubv")

{-# NOINLINE glColor4ubvFunPtr #-}

-- | Usage: @'glColor4ui' red green blue alpha@
--
-- The parameter @red@ is a @ColorUI@.
--
-- The parameter @green@ is a @ColorUI@.
--
-- The parameter @blue@ is a @ColorUI@.
--
-- The parameter @alpha@ is a @ColorUI@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glColor4uiv'.


glColor4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()
glColor4ui :: GLenum -> GLenum -> GLenum -> GLenum -> m ()
glColor4ui = FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> GLenum -> m ()
ffiuintuintuintuintIOV FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
glColor4uiFunPtr

glColor4uiFunPtr :: FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> IO ())
glColor4uiFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
glColor4uiFunPtr = IO (FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glColor4ui")

{-# NOINLINE glColor4uiFunPtr #-}

-- | Usage: @'glColor4uiv' v@
--
-- The parameter @v@ is a @ColorUI@.
--
-- The length of @v@ should be @4@.


glColor4uiv :: MonadIO m => Ptr GLuint -> m ()
glColor4uiv :: Ptr GLenum -> m ()
glColor4uiv = FunPtr (Ptr GLenum -> IO ()) -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLenum -> IO ()) -> Ptr GLenum -> m ()
ffiPtruintIOV FunPtr (Ptr GLenum -> IO ())
glColor4uivFunPtr

glColor4uivFunPtr :: FunPtr (Ptr GLuint -> IO ())
glColor4uivFunPtr :: FunPtr (Ptr GLenum -> IO ())
glColor4uivFunPtr = IO (FunPtr (Ptr GLenum -> IO ())) -> FunPtr (Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glColor4uiv")

{-# NOINLINE glColor4uivFunPtr #-}

-- | Usage: @'glColor4us' red green blue alpha@
--
-- The parameter @red@ is a @ColorUS@.
--
-- The parameter @green@ is a @ColorUS@.
--
-- The parameter @blue@ is a @ColorUS@.
--
-- The parameter @alpha@ is a @ColorUS@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glColor4usv'.


glColor4us :: MonadIO m => GLushort -> GLushort -> GLushort -> GLushort -> m ()
glColor4us :: GLushort -> GLushort -> GLushort -> GLushort -> m ()
glColor4us = FunPtr (GLushort -> GLushort -> GLushort -> GLushort -> IO ())
-> GLushort -> GLushort -> GLushort -> GLushort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLushort -> GLushort -> GLushort -> GLushort -> IO ())
-> GLushort -> GLushort -> GLushort -> GLushort -> m ()
ffiushortushortushortushortIOV FunPtr (GLushort -> GLushort -> GLushort -> GLushort -> IO ())
glColor4usFunPtr

glColor4usFunPtr :: FunPtr (GLushort -> GLushort -> GLushort -> GLushort -> IO ())
glColor4usFunPtr :: FunPtr (GLushort -> GLushort -> GLushort -> GLushort -> IO ())
glColor4usFunPtr = IO (FunPtr (GLushort -> GLushort -> GLushort -> GLushort -> IO ()))
-> FunPtr (GLushort -> GLushort -> GLushort -> GLushort -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLushort -> GLushort -> GLushort -> GLushort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glColor4us")

{-# NOINLINE glColor4usFunPtr #-}

-- | Usage: @'glColor4usv' v@
--
-- The parameter @v@ is a @ColorUS@.
--
-- The length of @v@ should be @4@.


glColor4usv :: MonadIO m => Ptr GLushort -> m ()
glColor4usv :: Ptr GLushort -> m ()
glColor4usv = FunPtr (Ptr GLushort -> IO ()) -> Ptr GLushort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLushort -> IO ()) -> Ptr GLushort -> m ()
ffiPtrushortIOV FunPtr (Ptr GLushort -> IO ())
glColor4usvFunPtr

glColor4usvFunPtr :: FunPtr (Ptr GLushort -> IO ())
glColor4usvFunPtr :: FunPtr (Ptr GLushort -> IO ())
glColor4usvFunPtr = IO (FunPtr (Ptr GLushort -> IO ()))
-> FunPtr (Ptr GLushort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLushort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glColor4usv")

{-# NOINLINE glColor4usvFunPtr #-}

-- | Usage: @'glColorMaterial' face mode@
--
-- The parameter @face@ is a @MaterialFace@, one of: 'Graphics.GL.Internal.Shared.GL_BACK', 'Graphics.GL.Internal.Shared.GL_FRONT', 'Graphics.GL.Internal.Shared.GL_FRONT_AND_BACK'.
--
-- The parameter @mode@ is a @ColorMaterialParameter@, one of: 'Graphics.GL.Internal.Shared.GL_AMBIENT', 'Graphics.GL.Internal.Shared.GL_AMBIENT_AND_DIFFUSE', 'Graphics.GL.Internal.Shared.GL_DIFFUSE', 'Graphics.GL.Internal.Shared.GL_EMISSION', 'Graphics.GL.Internal.Shared.GL_SPECULAR'.


glColorMaterial :: MonadIO m => GLenum -> GLenum -> m ()
glColorMaterial :: GLenum -> GLenum -> m ()
glColorMaterial = FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
ffienumenumIOV FunPtr (GLenum -> GLenum -> IO ())
glColorMaterialFunPtr

glColorMaterialFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glColorMaterialFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glColorMaterialFunPtr = IO (FunPtr (GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glColorMaterial")

{-# NOINLINE glColorMaterialFunPtr #-}

-- | Usage: @'glColorPointer' size type stride pointer@
--
-- The parameter @type@ is a @ColorPointerType@, one of: 'Graphics.GL.Internal.Shared.GL_BYTE', 'Graphics.GL.Internal.Shared.GL_DOUBLE', 'Graphics.GL.Internal.Shared.GL_FLOAT', 'Graphics.GL.Internal.Shared.GL_INT', 'Graphics.GL.Internal.Shared.GL_SHORT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_BYTE', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_INT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_SHORT'.
--
-- The length of @pointer@ should be @COMPSIZE(size,type,stride)@.


glColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr () -> m ()
glColorPointer :: GLsizei -> GLenum -> GLsizei -> Ptr () -> m ()
glColorPointer = FunPtr (GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ())
-> GLsizei -> GLenum -> GLsizei -> Ptr () -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ())
-> GLsizei -> GLenum -> GLsizei -> Ptr () -> m ()
ffiintenumsizeiPtrVIOV FunPtr (GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ())
glColorPointerFunPtr

glColorPointerFunPtr :: FunPtr (GLint -> GLenum -> GLsizei -> Ptr () -> IO ())
glColorPointerFunPtr :: FunPtr (GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ())
glColorPointerFunPtr = IO (FunPtr (GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()))
-> FunPtr (GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glColorPointer")

{-# NOINLINE glColorPointerFunPtr #-}

-- | Usage: @'glCopyPixels' x y width height type@
--
-- The parameter @x@ is a @WinCoord@.
--
-- The parameter @y@ is a @WinCoord@.
--
-- The parameter @type@ is a @PixelCopyType@, one of: 'Graphics.GL.Internal.Shared.GL_COLOR', 'Graphics.GL.Ext.EXT.DiscardFramebuffer.GL_COLOR_EXT', 'Graphics.GL.Internal.Shared.GL_DEPTH', 'Graphics.GL.Ext.EXT.DiscardFramebuffer.GL_DEPTH_EXT', 'Graphics.GL.Internal.Shared.GL_STENCIL', 'Graphics.GL.Ext.EXT.DiscardFramebuffer.GL_STENCIL_EXT'.


glCopyPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> m ()
glCopyPixels :: GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLenum -> m ()
glCopyPixels = FunPtr
  (GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLenum -> IO ())
-> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLenum -> IO ())
-> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLenum -> m ()
ffiintintsizeisizeienumIOV FunPtr
  (GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLenum -> IO ())
glCopyPixelsFunPtr

glCopyPixelsFunPtr :: FunPtr (GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> IO ())
glCopyPixelsFunPtr :: FunPtr
  (GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLenum -> IO ())
glCopyPixelsFunPtr = IO
  (FunPtr
     (GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLenum -> IO ()))
-> FunPtr
     (GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glCopyPixels")

{-# NOINLINE glCopyPixelsFunPtr #-}

-- | Usage: @'glDeleteLists' list range@
--
-- The parameter @list@ is a @List@.


glDeleteLists :: MonadIO m => GLuint -> GLsizei -> m ()
glDeleteLists :: GLenum -> GLsizei -> m ()
glDeleteLists = FunPtr (GLenum -> GLsizei -> IO ()) -> GLenum -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> IO ()) -> GLenum -> GLsizei -> m ()
ffiuintsizeiIOV FunPtr (GLenum -> GLsizei -> IO ())
glDeleteListsFunPtr

glDeleteListsFunPtr :: FunPtr (GLuint -> GLsizei -> IO ())
glDeleteListsFunPtr :: FunPtr (GLenum -> GLsizei -> IO ())
glDeleteListsFunPtr = IO (FunPtr (GLenum -> GLsizei -> IO ()))
-> FunPtr (GLenum -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glDeleteLists")

{-# NOINLINE glDeleteListsFunPtr #-}

-- | Usage: @'glDisableClientState' array@
--
-- The parameter @array@ is a @EnableCap@, one of: 'Graphics.GL.Internal.Shared.GL_ALPHA_TEST', 'Graphics.GL.Ext.SGIX.AsyncPixel.GL_ASYNC_DRAW_PIXELS_SGIX', 'Graphics.GL.Ext.SGIX.AsyncHistogram.GL_ASYNC_HISTOGRAM_SGIX', 'Graphics.GL.Ext.SGIX.AsyncPixel.GL_ASYNC_READ_PIXELS_SGIX', 'Graphics.GL.Ext.SGIX.AsyncPixel.GL_ASYNC_TEX_IMAGE_SGIX', 'Graphics.GL.Internal.Shared.GL_AUTO_NORMAL', 'Graphics.GL.Internal.Shared.GL_BLEND', 'Graphics.GL.Ext.SGIX.CalligraphicFragment.GL_CALLIGRAPHIC_FRAGMENT_SGIX', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE0', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE1', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE2', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE3', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE4', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE5', 'Graphics.GL.Internal.Shared.GL_COLOR_ARRAY', 'Graphics.GL.Internal.Shared.GL_COLOR_LOGIC_OP', 'Graphics.GL.Internal.Shared.GL_COLOR_MATERIAL', 'Graphics.GL.Ext.SGI.ColorTable.GL_COLOR_TABLE_SGI', 'Graphics.GL.Ext.EXT.Convolution.GL_CONVOLUTION_1D_EXT', 'Graphics.GL.Ext.EXT.Convolution.GL_CONVOLUTION_2D_EXT', 'Graphics.GL.Internal.Shared.GL_CULL_FACE', 'Graphics.GL.Internal.Shared.GL_DEPTH_TEST', 'Graphics.GL.Internal.Shared.GL_DITHER', 'Graphics.GL.Internal.Shared.GL_EDGE_FLAG_ARRAY', 'Graphics.GL.Internal.Shared.GL_FOG', 'Graphics.GL.Ext.SGIX.FogOffset.GL_FOG_OFFSET_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_COLOR_MATERIAL_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT0_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT1_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT2_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT3_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT4_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT5_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT6_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT7_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHTING_SGIX', 'Graphics.GL.Ext.SGIX.Framezoom.GL_FRAMEZOOM_SGIX', 'Graphics.GL.Ext.EXT.Histogram.GL_HISTOGRAM_EXT', 'Graphics.GL.Internal.Shared.GL_INDEX_ARRAY', 'Graphics.GL.Internal.Shared.GL_INDEX_LOGIC_OP', 'Graphics.GL.Ext.SGIX.Interlace.GL_INTERLACE_SGIX', 'Graphics.GL.Ext.SGIX.IrInstrument1.GL_IR_INSTRUMENT1_SGIX', 'Graphics.GL.Internal.Shared.GL_LIGHT0', 'Graphics.GL.Internal.Shared.GL_LIGHT1', 'Graphics.GL.Internal.Shared.GL_LIGHT2', 'Graphics.GL.Internal.Shared.GL_LIGHT3', 'Graphics.GL.Internal.Shared.GL_LIGHT4', 'Graphics.GL.Internal.Shared.GL_LIGHT5', 'Graphics.GL.Internal.Shared.GL_LIGHT6', 'Graphics.GL.Internal.Shared.GL_LIGHT7', 'Graphics.GL.Internal.Shared.GL_LIGHTING', 'Graphics.GL.Internal.Shared.GL_LINE_SMOOTH', 'Graphics.GL.Internal.Shared.GL_LINE_STIPPLE', 'Graphics.GL.Internal.Shared.GL_MAP1_COLOR_4', 'Graphics.GL.Internal.Shared.GL_MAP1_INDEX', 'Graphics.GL.Internal.Shared.GL_MAP1_NORMAL', 'Graphics.GL.Internal.Shared.GL_MAP1_TEXTURE_COORD_1', 'Graphics.GL.Internal.Shared.GL_MAP1_TEXTURE_COORD_2', 'Graphics.GL.Internal.Shared.GL_MAP1_TEXTURE_COORD_3', 'Graphics.GL.Internal.Shared.GL_MAP1_TEXTURE_COORD_4', 'Graphics.GL.Internal.Shared.GL_MAP1_VERTEX_3', 'Graphics.GL.Internal.Shared.GL_MAP1_VERTEX_4', 'Graphics.GL.Internal.Shared.GL_MAP2_COLOR_4', 'Graphics.GL.Internal.Shared.GL_MAP2_INDEX', 'Graphics.GL.Internal.Shared.GL_MAP2_NORMAL', 'Graphics.GL.Internal.Shared.GL_MAP2_TEXTURE_COORD_1', 'Graphics.GL.Internal.Shared.GL_MAP2_TEXTURE_COORD_2', 'Graphics.GL.Internal.Shared.GL_MAP2_TEXTURE_COORD_3', 'Graphics.GL.Internal.Shared.GL_MAP2_TEXTURE_COORD_4', 'Graphics.GL.Internal.Shared.GL_MAP2_VERTEX_3', 'Graphics.GL.Internal.Shared.GL_MAP2_VERTEX_4', 'Graphics.GL.Ext.EXT.Histogram.GL_MINMAX_EXT', 'Graphics.GL.Ext.SGIS.Multisample.GL_MULTISAMPLE_SGIS', 'Graphics.GL.Internal.Shared.GL_NORMALIZE', 'Graphics.GL.Internal.Shared.GL_NORMAL_ARRAY', 'Graphics.GL.Ext.SGIS.PixelTexture.GL_PIXEL_TEXTURE_SGIS', 'Graphics.GL.Ext.SGIX.PixelTexture.GL_PIXEL_TEX_GEN_SGIX', 'Graphics.GL.Internal.Shared.GL_POINT_SMOOTH', 'Graphics.GL.Internal.Shared.GL_POLYGON_OFFSET_FILL', 'Graphics.GL.Internal.Shared.GL_POLYGON_OFFSET_LINE', 'Graphics.GL.Internal.Shared.GL_POLYGON_OFFSET_POINT', 'Graphics.GL.Internal.Shared.GL_POLYGON_SMOOTH', 'Graphics.GL.Internal.Shared.GL_POLYGON_STIPPLE', 'Graphics.GL.Ext.SGI.ColorTable.GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI', 'Graphics.GL.Ext.SGI.ColorTable.GL_POST_CONVOLUTION_COLOR_TABLE_SGI', 'Graphics.GL.Ext.SGIX.ReferencePlane.GL_REFERENCE_PLANE_SGIX', 'Graphics.GL.Ext.EXT.RescaleNormal.GL_RESCALE_NORMAL_EXT', 'Graphics.GL.Ext.SGIS.Multisample.GL_SAMPLE_ALPHA_TO_MASK_SGIS', 'Graphics.GL.Ext.SGIS.Multisample.GL_SAMPLE_ALPHA_TO_ONE_SGIS', 'Graphics.GL.Ext.SGIS.Multisample.GL_SAMPLE_MASK_SGIS', 'Graphics.GL.Internal.Shared.GL_SCISSOR_TEST', 'Graphics.GL.Ext.EXT.Convolution.GL_SEPARABLE_2D_EXT', 'Graphics.GL.Ext.EXT.SharedTexturePalette.GL_SHARED_TEXTURE_PALETTE_EXT', 'Graphics.GL.Ext.SGIX.Sprite.GL_SPRITE_SGIX', 'Graphics.GL.Internal.Shared.GL_STENCIL_TEST', 'Graphics.GL.Internal.Shared.GL_TEXTURE_1D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_2D', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_3D_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_4D_SGIS', 'Graphics.GL.Ext.SGI.TextureColorTable.GL_TEXTURE_COLOR_TABLE_SGI', 'Graphics.GL.Internal.Shared.GL_TEXTURE_COORD_ARRAY', 'Graphics.GL.Internal.Shared.GL_TEXTURE_GEN_Q', 'Graphics.GL.Internal.Shared.GL_TEXTURE_GEN_R', 'Graphics.GL.Internal.Shared.GL_TEXTURE_GEN_S', 'Graphics.GL.Internal.Shared.GL_TEXTURE_GEN_T', 'Graphics.GL.Internal.Shared.GL_VERTEX_ARRAY'.


glDisableClientState :: MonadIO m => GLenum -> m ()
glDisableClientState :: GLenum -> m ()
glDisableClientState = FunPtr (GLenum -> IO ()) -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO ()) -> GLenum -> m ()
ffienumIOV FunPtr (GLenum -> IO ())
glDisableClientStateFunPtr

glDisableClientStateFunPtr :: FunPtr (GLenum -> IO ())
glDisableClientStateFunPtr :: FunPtr (GLenum -> IO ())
glDisableClientStateFunPtr = IO (FunPtr (GLenum -> IO ())) -> FunPtr (GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glDisableClientState")

{-# NOINLINE glDisableClientStateFunPtr #-}

-- | Usage: @'glDrawPixels' width height format type pixels@
--
-- The parameter @format@ is a @PixelFormat@, one of: 'Graphics.GL.Ext.EXT.Abgr.GL_ABGR_EXT', 'Graphics.GL.Internal.Shared.GL_ALPHA', 'Graphics.GL.Internal.Shared.GL_BLUE', 'Graphics.GL.Ext.EXT.Cmyka.GL_CMYKA_EXT', 'Graphics.GL.Ext.EXT.Cmyka.GL_CMYK_EXT', 'Graphics.GL.Internal.Shared.GL_COLOR_INDEX', 'Graphics.GL.Internal.Shared.GL_DEPTH_COMPONENT', 'Graphics.GL.Internal.Shared.GL_GREEN', 'Graphics.GL.Internal.Shared.GL_LUMINANCE', 'Graphics.GL.Internal.Shared.GL_LUMINANCE_ALPHA', 'Graphics.GL.Internal.Shared.GL_RED', 'Graphics.GL.Ext.EXT.TextureRg.GL_RED_EXT', 'Graphics.GL.Internal.Shared.GL_RGB', 'Graphics.GL.Internal.Shared.GL_RGBA', 'Graphics.GL.Internal.Shared.GL_STENCIL_INDEX', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_INT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_SHORT', 'Graphics.GL.Ext.SGIX.Ycrcb.GL_YCRCB_422_SGIX', 'Graphics.GL.Ext.SGIX.Ycrcb.GL_YCRCB_444_SGIX'.
--
-- The parameter @type@ is a @PixelType@, one of: 'Graphics.GL.Internal.Shared.GL_BITMAP', 'Graphics.GL.Internal.Shared.GL_BYTE', 'Graphics.GL.Internal.Shared.GL_FLOAT', 'Graphics.GL.Internal.Shared.GL_INT', 'Graphics.GL.Internal.Shared.GL_SHORT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_BYTE', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_BYTE_3_3_2', 'Graphics.GL.Ext.EXT.PackedPixels.GL_UNSIGNED_BYTE_3_3_2_EXT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_INT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_INT_10_10_10_2', 'Graphics.GL.Ext.EXT.PackedPixels.GL_UNSIGNED_INT_10_10_10_2_EXT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_INT_8_8_8_8', 'Graphics.GL.Ext.EXT.PackedPixels.GL_UNSIGNED_INT_8_8_8_8_EXT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_SHORT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_SHORT_4_4_4_4', 'Graphics.GL.Ext.EXT.PackedPixels.GL_UNSIGNED_SHORT_4_4_4_4_EXT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_SHORT_5_5_5_1', 'Graphics.GL.Ext.EXT.PackedPixels.GL_UNSIGNED_SHORT_5_5_5_1_EXT'.
--
-- The length of @pixels@ should be @COMPSIZE(format,type,width,height)@.


glDrawPixels :: MonadIO m => GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> m ()
glDrawPixels :: GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> m ()
glDrawPixels = FunPtr (GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ())
-> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ())
-> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> m ()
ffisizeisizeienumenumPtrVIOV FunPtr (GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ())
glDrawPixelsFunPtr

glDrawPixelsFunPtr :: FunPtr (GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ())
glDrawPixelsFunPtr :: FunPtr (GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ())
glDrawPixelsFunPtr = IO
  (FunPtr
     (GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()))
-> FunPtr
     (GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glDrawPixels")

{-# NOINLINE glDrawPixelsFunPtr #-}

-- | Usage: @'glEdgeFlag' flag@
--
-- The parameter @flag@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glEdgeFlagv'.


glEdgeFlag :: MonadIO m => GLboolean -> m ()
glEdgeFlag :: GLboolean -> m ()
glEdgeFlag = FunPtr (GLboolean -> IO ()) -> GLboolean -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLboolean -> IO ()) -> GLboolean -> m ()
ffibooleanIOV FunPtr (GLboolean -> IO ())
glEdgeFlagFunPtr

glEdgeFlagFunPtr :: FunPtr (GLboolean -> IO ())
glEdgeFlagFunPtr :: FunPtr (GLboolean -> IO ())
glEdgeFlagFunPtr = IO (FunPtr (GLboolean -> IO ())) -> FunPtr (GLboolean -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLboolean -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glEdgeFlag")

{-# NOINLINE glEdgeFlagFunPtr #-}

-- | Usage: @'glEdgeFlagPointer' stride pointer@
--
-- The length of @pointer@ should be @COMPSIZE(stride)@.


glEdgeFlagPointer :: MonadIO m => GLsizei -> Ptr () -> m ()
glEdgeFlagPointer :: GLsizei -> Ptr () -> m ()
glEdgeFlagPointer = FunPtr (GLsizei -> Ptr () -> IO ()) -> GLsizei -> Ptr () -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> Ptr () -> IO ()) -> GLsizei -> Ptr () -> m ()
ffisizeiPtrVIOV FunPtr (GLsizei -> Ptr () -> IO ())
glEdgeFlagPointerFunPtr

glEdgeFlagPointerFunPtr :: FunPtr (GLsizei -> Ptr () -> IO ())
glEdgeFlagPointerFunPtr :: FunPtr (GLsizei -> Ptr () -> IO ())
glEdgeFlagPointerFunPtr = IO (FunPtr (GLsizei -> Ptr () -> IO ()))
-> FunPtr (GLsizei -> Ptr () -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> Ptr () -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glEdgeFlagPointer")

{-# NOINLINE glEdgeFlagPointerFunPtr #-}

-- | Usage: @'glEdgeFlagv' flag@
--
-- The parameter @flag@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @flag@ should be @1@.


glEdgeFlagv :: MonadIO m => Ptr GLboolean -> m ()
glEdgeFlagv :: Ptr GLboolean -> m ()
glEdgeFlagv = FunPtr (Ptr GLboolean -> IO ()) -> Ptr GLboolean -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLboolean -> IO ()) -> Ptr GLboolean -> m ()
ffiPtrbooleanIOV FunPtr (Ptr GLboolean -> IO ())
glEdgeFlagvFunPtr

glEdgeFlagvFunPtr :: FunPtr (Ptr GLboolean -> IO ())
glEdgeFlagvFunPtr :: FunPtr (Ptr GLboolean -> IO ())
glEdgeFlagvFunPtr = IO (FunPtr (Ptr GLboolean -> IO ()))
-> FunPtr (Ptr GLboolean -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLboolean -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glEdgeFlagv")

{-# NOINLINE glEdgeFlagvFunPtr #-}

-- | Usage: @'glEnableClientState' array@
--
-- The parameter @array@ is a @EnableCap@, one of: 'Graphics.GL.Internal.Shared.GL_ALPHA_TEST', 'Graphics.GL.Ext.SGIX.AsyncPixel.GL_ASYNC_DRAW_PIXELS_SGIX', 'Graphics.GL.Ext.SGIX.AsyncHistogram.GL_ASYNC_HISTOGRAM_SGIX', 'Graphics.GL.Ext.SGIX.AsyncPixel.GL_ASYNC_READ_PIXELS_SGIX', 'Graphics.GL.Ext.SGIX.AsyncPixel.GL_ASYNC_TEX_IMAGE_SGIX', 'Graphics.GL.Internal.Shared.GL_AUTO_NORMAL', 'Graphics.GL.Internal.Shared.GL_BLEND', 'Graphics.GL.Ext.SGIX.CalligraphicFragment.GL_CALLIGRAPHIC_FRAGMENT_SGIX', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE0', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE1', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE2', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE3', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE4', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE5', 'Graphics.GL.Internal.Shared.GL_COLOR_ARRAY', 'Graphics.GL.Internal.Shared.GL_COLOR_LOGIC_OP', 'Graphics.GL.Internal.Shared.GL_COLOR_MATERIAL', 'Graphics.GL.Ext.SGI.ColorTable.GL_COLOR_TABLE_SGI', 'Graphics.GL.Ext.EXT.Convolution.GL_CONVOLUTION_1D_EXT', 'Graphics.GL.Ext.EXT.Convolution.GL_CONVOLUTION_2D_EXT', 'Graphics.GL.Internal.Shared.GL_CULL_FACE', 'Graphics.GL.Internal.Shared.GL_DEPTH_TEST', 'Graphics.GL.Internal.Shared.GL_DITHER', 'Graphics.GL.Internal.Shared.GL_EDGE_FLAG_ARRAY', 'Graphics.GL.Internal.Shared.GL_FOG', 'Graphics.GL.Ext.SGIX.FogOffset.GL_FOG_OFFSET_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_COLOR_MATERIAL_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT0_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT1_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT2_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT3_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT4_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT5_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT6_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT7_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHTING_SGIX', 'Graphics.GL.Ext.SGIX.Framezoom.GL_FRAMEZOOM_SGIX', 'Graphics.GL.Ext.EXT.Histogram.GL_HISTOGRAM_EXT', 'Graphics.GL.Internal.Shared.GL_INDEX_ARRAY', 'Graphics.GL.Internal.Shared.GL_INDEX_LOGIC_OP', 'Graphics.GL.Ext.SGIX.Interlace.GL_INTERLACE_SGIX', 'Graphics.GL.Ext.SGIX.IrInstrument1.GL_IR_INSTRUMENT1_SGIX', 'Graphics.GL.Internal.Shared.GL_LIGHT0', 'Graphics.GL.Internal.Shared.GL_LIGHT1', 'Graphics.GL.Internal.Shared.GL_LIGHT2', 'Graphics.GL.Internal.Shared.GL_LIGHT3', 'Graphics.GL.Internal.Shared.GL_LIGHT4', 'Graphics.GL.Internal.Shared.GL_LIGHT5', 'Graphics.GL.Internal.Shared.GL_LIGHT6', 'Graphics.GL.Internal.Shared.GL_LIGHT7', 'Graphics.GL.Internal.Shared.GL_LIGHTING', 'Graphics.GL.Internal.Shared.GL_LINE_SMOOTH', 'Graphics.GL.Internal.Shared.GL_LINE_STIPPLE', 'Graphics.GL.Internal.Shared.GL_MAP1_COLOR_4', 'Graphics.GL.Internal.Shared.GL_MAP1_INDEX', 'Graphics.GL.Internal.Shared.GL_MAP1_NORMAL', 'Graphics.GL.Internal.Shared.GL_MAP1_TEXTURE_COORD_1', 'Graphics.GL.Internal.Shared.GL_MAP1_TEXTURE_COORD_2', 'Graphics.GL.Internal.Shared.GL_MAP1_TEXTURE_COORD_3', 'Graphics.GL.Internal.Shared.GL_MAP1_TEXTURE_COORD_4', 'Graphics.GL.Internal.Shared.GL_MAP1_VERTEX_3', 'Graphics.GL.Internal.Shared.GL_MAP1_VERTEX_4', 'Graphics.GL.Internal.Shared.GL_MAP2_COLOR_4', 'Graphics.GL.Internal.Shared.GL_MAP2_INDEX', 'Graphics.GL.Internal.Shared.GL_MAP2_NORMAL', 'Graphics.GL.Internal.Shared.GL_MAP2_TEXTURE_COORD_1', 'Graphics.GL.Internal.Shared.GL_MAP2_TEXTURE_COORD_2', 'Graphics.GL.Internal.Shared.GL_MAP2_TEXTURE_COORD_3', 'Graphics.GL.Internal.Shared.GL_MAP2_TEXTURE_COORD_4', 'Graphics.GL.Internal.Shared.GL_MAP2_VERTEX_3', 'Graphics.GL.Internal.Shared.GL_MAP2_VERTEX_4', 'Graphics.GL.Ext.EXT.Histogram.GL_MINMAX_EXT', 'Graphics.GL.Ext.SGIS.Multisample.GL_MULTISAMPLE_SGIS', 'Graphics.GL.Internal.Shared.GL_NORMALIZE', 'Graphics.GL.Internal.Shared.GL_NORMAL_ARRAY', 'Graphics.GL.Ext.SGIS.PixelTexture.GL_PIXEL_TEXTURE_SGIS', 'Graphics.GL.Ext.SGIX.PixelTexture.GL_PIXEL_TEX_GEN_SGIX', 'Graphics.GL.Internal.Shared.GL_POINT_SMOOTH', 'Graphics.GL.Internal.Shared.GL_POLYGON_OFFSET_FILL', 'Graphics.GL.Internal.Shared.GL_POLYGON_OFFSET_LINE', 'Graphics.GL.Internal.Shared.GL_POLYGON_OFFSET_POINT', 'Graphics.GL.Internal.Shared.GL_POLYGON_SMOOTH', 'Graphics.GL.Internal.Shared.GL_POLYGON_STIPPLE', 'Graphics.GL.Ext.SGI.ColorTable.GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI', 'Graphics.GL.Ext.SGI.ColorTable.GL_POST_CONVOLUTION_COLOR_TABLE_SGI', 'Graphics.GL.Ext.SGIX.ReferencePlane.GL_REFERENCE_PLANE_SGIX', 'Graphics.GL.Ext.EXT.RescaleNormal.GL_RESCALE_NORMAL_EXT', 'Graphics.GL.Ext.SGIS.Multisample.GL_SAMPLE_ALPHA_TO_MASK_SGIS', 'Graphics.GL.Ext.SGIS.Multisample.GL_SAMPLE_ALPHA_TO_ONE_SGIS', 'Graphics.GL.Ext.SGIS.Multisample.GL_SAMPLE_MASK_SGIS', 'Graphics.GL.Internal.Shared.GL_SCISSOR_TEST', 'Graphics.GL.Ext.EXT.Convolution.GL_SEPARABLE_2D_EXT', 'Graphics.GL.Ext.EXT.SharedTexturePalette.GL_SHARED_TEXTURE_PALETTE_EXT', 'Graphics.GL.Ext.SGIX.Sprite.GL_SPRITE_SGIX', 'Graphics.GL.Internal.Shared.GL_STENCIL_TEST', 'Graphics.GL.Internal.Shared.GL_TEXTURE_1D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_2D', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_3D_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_4D_SGIS', 'Graphics.GL.Ext.SGI.TextureColorTable.GL_TEXTURE_COLOR_TABLE_SGI', 'Graphics.GL.Internal.Shared.GL_TEXTURE_COORD_ARRAY', 'Graphics.GL.Internal.Shared.GL_TEXTURE_GEN_Q', 'Graphics.GL.Internal.Shared.GL_TEXTURE_GEN_R', 'Graphics.GL.Internal.Shared.GL_TEXTURE_GEN_S', 'Graphics.GL.Internal.Shared.GL_TEXTURE_GEN_T', 'Graphics.GL.Internal.Shared.GL_VERTEX_ARRAY'.


glEnableClientState :: MonadIO m => GLenum -> m ()
glEnableClientState :: GLenum -> m ()
glEnableClientState = FunPtr (GLenum -> IO ()) -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO ()) -> GLenum -> m ()
ffienumIOV FunPtr (GLenum -> IO ())
glEnableClientStateFunPtr

glEnableClientStateFunPtr :: FunPtr (GLenum -> IO ())
glEnableClientStateFunPtr :: FunPtr (GLenum -> IO ())
glEnableClientStateFunPtr = IO (FunPtr (GLenum -> IO ())) -> FunPtr (GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glEnableClientState")

{-# NOINLINE glEnableClientStateFunPtr #-}

-- | Usage: @'glEnd'@


glEnd :: MonadIO m => m ()
glEnd :: m ()
glEnd = FunPtr (IO ()) -> m ()
forall (m :: * -> *). MonadIO m => FunPtr (IO ()) -> m ()
ffiIOV FunPtr (IO ())
glEndFunPtr

glEndFunPtr :: FunPtr (IO ())
glEndFunPtr :: FunPtr (IO ())
glEndFunPtr = IO (FunPtr (IO ())) -> FunPtr (IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glEnd")

{-# NOINLINE glEndFunPtr #-}

-- | Usage: @'glEndList'@


glEndList :: MonadIO m => m ()
glEndList :: m ()
glEndList = FunPtr (IO ()) -> m ()
forall (m :: * -> *). MonadIO m => FunPtr (IO ()) -> m ()
ffiIOV FunPtr (IO ())
glEndListFunPtr

glEndListFunPtr :: FunPtr (IO ())
glEndListFunPtr :: FunPtr (IO ())
glEndListFunPtr = IO (FunPtr (IO ())) -> FunPtr (IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glEndList")

{-# NOINLINE glEndListFunPtr #-}

-- | Usage: @'glEvalCoord1d' u@
--
-- The parameter @u@ is a @CoordD@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glEvalCoord1dv'.


glEvalCoord1d :: MonadIO m => GLdouble -> m ()
glEvalCoord1d :: GLdouble -> m ()
glEvalCoord1d = FunPtr (GLdouble -> IO ()) -> GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLdouble -> IO ()) -> GLdouble -> m ()
ffidoubleIOV FunPtr (GLdouble -> IO ())
glEvalCoord1dFunPtr

glEvalCoord1dFunPtr :: FunPtr (GLdouble -> IO ())
glEvalCoord1dFunPtr :: FunPtr (GLdouble -> IO ())
glEvalCoord1dFunPtr = IO (FunPtr (GLdouble -> IO ())) -> FunPtr (GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glEvalCoord1d")

{-# NOINLINE glEvalCoord1dFunPtr #-}

-- | Usage: @'glEvalCoord1dv' u@
--
-- The parameter @u@ is a @CoordD@.
--
-- The length of @u@ should be @1@.


glEvalCoord1dv :: MonadIO m => Ptr GLdouble -> m ()
glEvalCoord1dv :: Ptr GLdouble -> m ()
glEvalCoord1dv = FunPtr (Ptr GLdouble -> IO ()) -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLdouble -> IO ()) -> Ptr GLdouble -> m ()
ffiPtrdoubleIOV FunPtr (Ptr GLdouble -> IO ())
glEvalCoord1dvFunPtr

glEvalCoord1dvFunPtr :: FunPtr (Ptr GLdouble -> IO ())
glEvalCoord1dvFunPtr :: FunPtr (Ptr GLdouble -> IO ())
glEvalCoord1dvFunPtr = IO (FunPtr (Ptr GLdouble -> IO ()))
-> FunPtr (Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glEvalCoord1dv")

{-# NOINLINE glEvalCoord1dvFunPtr #-}

-- | Usage: @'glEvalCoord1f' u@
--
-- The parameter @u@ is a @CoordF@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glEvalCoord1fv'.


glEvalCoord1f :: MonadIO m => GLfloat -> m ()
glEvalCoord1f :: GLfloat -> m ()
glEvalCoord1f = FunPtr (GLfloat -> IO ()) -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLfloat -> IO ()) -> GLfloat -> m ()
ffifloatIOV FunPtr (GLfloat -> IO ())
glEvalCoord1fFunPtr

glEvalCoord1fFunPtr :: FunPtr (GLfloat -> IO ())
glEvalCoord1fFunPtr :: FunPtr (GLfloat -> IO ())
glEvalCoord1fFunPtr = IO (FunPtr (GLfloat -> IO ())) -> FunPtr (GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glEvalCoord1f")

{-# NOINLINE glEvalCoord1fFunPtr #-}

-- | Usage: @'glEvalCoord1fv' u@
--
-- The parameter @u@ is a @CoordF@.
--
-- The length of @u@ should be @1@.


glEvalCoord1fv :: MonadIO m => Ptr GLfloat -> m ()
glEvalCoord1fv :: Ptr GLfloat -> m ()
glEvalCoord1fv = FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> m ()
ffiPtrfloatIOV FunPtr (Ptr GLfloat -> IO ())
glEvalCoord1fvFunPtr

glEvalCoord1fvFunPtr :: FunPtr (Ptr GLfloat -> IO ())
glEvalCoord1fvFunPtr :: FunPtr (Ptr GLfloat -> IO ())
glEvalCoord1fvFunPtr = IO (FunPtr (Ptr GLfloat -> IO ())) -> FunPtr (Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glEvalCoord1fv")

{-# NOINLINE glEvalCoord1fvFunPtr #-}

-- | Usage: @'glEvalCoord2d' u v@
--
-- The parameter @u@ is a @CoordD@.
--
-- The parameter @v@ is a @CoordD@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glEvalCoord2dv'.


glEvalCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()
glEvalCoord2d :: GLdouble -> GLdouble -> m ()
glEvalCoord2d = FunPtr (GLdouble -> GLdouble -> IO ())
-> GLdouble -> GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLdouble -> GLdouble -> IO ())
-> GLdouble -> GLdouble -> m ()
ffidoubledoubleIOV FunPtr (GLdouble -> GLdouble -> IO ())
glEvalCoord2dFunPtr

glEvalCoord2dFunPtr :: FunPtr (GLdouble -> GLdouble -> IO ())
glEvalCoord2dFunPtr :: FunPtr (GLdouble -> GLdouble -> IO ())
glEvalCoord2dFunPtr = IO (FunPtr (GLdouble -> GLdouble -> IO ()))
-> FunPtr (GLdouble -> GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLdouble -> GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glEvalCoord2d")

{-# NOINLINE glEvalCoord2dFunPtr #-}

-- | Usage: @'glEvalCoord2dv' u@
--
-- The parameter @u@ is a @CoordD@.
--
-- The length of @u@ should be @2@.


glEvalCoord2dv :: MonadIO m => Ptr GLdouble -> m ()
glEvalCoord2dv :: Ptr GLdouble -> m ()
glEvalCoord2dv = FunPtr (Ptr GLdouble -> IO ()) -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLdouble -> IO ()) -> Ptr GLdouble -> m ()
ffiPtrdoubleIOV FunPtr (Ptr GLdouble -> IO ())
glEvalCoord2dvFunPtr

glEvalCoord2dvFunPtr :: FunPtr (Ptr GLdouble -> IO ())
glEvalCoord2dvFunPtr :: FunPtr (Ptr GLdouble -> IO ())
glEvalCoord2dvFunPtr = IO (FunPtr (Ptr GLdouble -> IO ()))
-> FunPtr (Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glEvalCoord2dv")

{-# NOINLINE glEvalCoord2dvFunPtr #-}

-- | Usage: @'glEvalCoord2f' u v@
--
-- The parameter @u@ is a @CoordF@.
--
-- The parameter @v@ is a @CoordF@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glEvalCoord2fv'.


glEvalCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()
glEvalCoord2f :: GLfloat -> GLfloat -> m ()
glEvalCoord2f = FunPtr (GLfloat -> GLfloat -> IO ()) -> GLfloat -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLfloat -> GLfloat -> IO ()) -> GLfloat -> GLfloat -> m ()
ffifloatfloatIOV FunPtr (GLfloat -> GLfloat -> IO ())
glEvalCoord2fFunPtr

glEvalCoord2fFunPtr :: FunPtr (GLfloat -> GLfloat -> IO ())
glEvalCoord2fFunPtr :: FunPtr (GLfloat -> GLfloat -> IO ())
glEvalCoord2fFunPtr = IO (FunPtr (GLfloat -> GLfloat -> IO ()))
-> FunPtr (GLfloat -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLfloat -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glEvalCoord2f")

{-# NOINLINE glEvalCoord2fFunPtr #-}

-- | Usage: @'glEvalCoord2fv' u@
--
-- The parameter @u@ is a @CoordF@.
--
-- The length of @u@ should be @2@.


glEvalCoord2fv :: MonadIO m => Ptr GLfloat -> m ()
glEvalCoord2fv :: Ptr GLfloat -> m ()
glEvalCoord2fv = FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> m ()
ffiPtrfloatIOV FunPtr (Ptr GLfloat -> IO ())
glEvalCoord2fvFunPtr

glEvalCoord2fvFunPtr :: FunPtr (Ptr GLfloat -> IO ())
glEvalCoord2fvFunPtr :: FunPtr (Ptr GLfloat -> IO ())
glEvalCoord2fvFunPtr = IO (FunPtr (Ptr GLfloat -> IO ())) -> FunPtr (Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glEvalCoord2fv")

{-# NOINLINE glEvalCoord2fvFunPtr #-}

-- | Usage: @'glEvalMesh1' mode i1 i2@
--
-- The parameter @mode@ is a @MeshMode1@, one of: 'Graphics.GL.Internal.Shared.GL_LINE', 'Graphics.GL.Internal.Shared.GL_POINT'.
--
-- The parameter @i1@ is a @CheckedInt32@.
--
-- The parameter @i2@ is a @CheckedInt32@.


glEvalMesh1 :: MonadIO m => GLenum -> GLint -> GLint -> m ()
glEvalMesh1 :: GLenum -> GLsizei -> GLsizei -> m ()
glEvalMesh1 = FunPtr (GLenum -> GLsizei -> GLsizei -> IO ())
-> GLenum -> GLsizei -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLsizei -> IO ())
-> GLenum -> GLsizei -> GLsizei -> m ()
ffienumintintIOV FunPtr (GLenum -> GLsizei -> GLsizei -> IO ())
glEvalMesh1FunPtr

glEvalMesh1FunPtr :: FunPtr (GLenum -> GLint -> GLint -> IO ())
glEvalMesh1FunPtr :: FunPtr (GLenum -> GLsizei -> GLsizei -> IO ())
glEvalMesh1FunPtr = IO (FunPtr (GLenum -> GLsizei -> GLsizei -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glEvalMesh1")

{-# NOINLINE glEvalMesh1FunPtr #-}

-- | Usage: @'glEvalMesh2' mode i1 i2 j1 j2@
--
-- The parameter @mode@ is a @MeshMode2@, one of: 'Graphics.GL.Internal.Shared.GL_FILL', 'Graphics.GL.Internal.Shared.GL_LINE', 'Graphics.GL.Internal.Shared.GL_POINT'.
--
-- The parameter @i1@ is a @CheckedInt32@.
--
-- The parameter @i2@ is a @CheckedInt32@.
--
-- The parameter @j1@ is a @CheckedInt32@.
--
-- The parameter @j2@ is a @CheckedInt32@.


glEvalMesh2 :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()
glEvalMesh2 :: GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> m ()
glEvalMesh2 = FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> m ()
ffienumintintintintIOV FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
glEvalMesh2FunPtr

glEvalMesh2FunPtr :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> IO ())
glEvalMesh2FunPtr :: FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
glEvalMesh2FunPtr = IO
  (FunPtr
     (GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ()))
-> FunPtr
     (GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glEvalMesh2")

{-# NOINLINE glEvalMesh2FunPtr #-}

-- | Usage: @'glEvalPoint1' i@


glEvalPoint1 :: MonadIO m => GLint -> m ()
glEvalPoint1 :: GLsizei -> m ()
glEvalPoint1 = FunPtr (GLsizei -> IO ()) -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> IO ()) -> GLsizei -> m ()
ffiintIOV FunPtr (GLsizei -> IO ())
glEvalPoint1FunPtr

glEvalPoint1FunPtr :: FunPtr (GLint -> IO ())
glEvalPoint1FunPtr :: FunPtr (GLsizei -> IO ())
glEvalPoint1FunPtr = IO (FunPtr (GLsizei -> IO ())) -> FunPtr (GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glEvalPoint1")

{-# NOINLINE glEvalPoint1FunPtr #-}

-- | Usage: @'glEvalPoint2' i j@
--
-- The parameter @i@ is a @CheckedInt32@.
--
-- The parameter @j@ is a @CheckedInt32@.


glEvalPoint2 :: MonadIO m => GLint -> GLint -> m ()
glEvalPoint2 :: GLsizei -> GLsizei -> m ()
glEvalPoint2 = FunPtr (GLsizei -> GLsizei -> IO ()) -> GLsizei -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> IO ()) -> GLsizei -> GLsizei -> m ()
ffiintintIOV FunPtr (GLsizei -> GLsizei -> IO ())
glEvalPoint2FunPtr

glEvalPoint2FunPtr :: FunPtr (GLint -> GLint -> IO ())
glEvalPoint2FunPtr :: FunPtr (GLsizei -> GLsizei -> IO ())
glEvalPoint2FunPtr = IO (FunPtr (GLsizei -> GLsizei -> IO ()))
-> FunPtr (GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glEvalPoint2")

{-# NOINLINE glEvalPoint2FunPtr #-}

-- | Usage: @'glFeedbackBuffer' size type buffer@
--
-- The parameter @type@ is a @FeedbackType@, one of: 'Graphics.GL.Internal.Shared.GL_2D', 'Graphics.GL.Internal.Shared.GL_3D', 'Graphics.GL.Internal.Shared.GL_3D_COLOR', 'Graphics.GL.Internal.Shared.GL_3D_COLOR_TEXTURE', 'Graphics.GL.Internal.Shared.GL_4D_COLOR_TEXTURE'.
--
-- The parameter @buffer@ is a @FeedbackElement@.
--
-- The length of @buffer@ should be @size@.


glFeedbackBuffer :: MonadIO m => GLsizei -> GLenum -> Ptr GLfloat -> m ()
glFeedbackBuffer :: GLsizei -> GLenum -> Ptr GLfloat -> m ()
glFeedbackBuffer = FunPtr (GLsizei -> GLenum -> Ptr GLfloat -> IO ())
-> GLsizei -> GLenum -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLenum -> Ptr GLfloat -> IO ())
-> GLsizei -> GLenum -> Ptr GLfloat -> m ()
ffisizeienumPtrfloatIOV FunPtr (GLsizei -> GLenum -> Ptr GLfloat -> IO ())
glFeedbackBufferFunPtr

glFeedbackBufferFunPtr :: FunPtr (GLsizei -> GLenum -> Ptr GLfloat -> IO ())
glFeedbackBufferFunPtr :: FunPtr (GLsizei -> GLenum -> Ptr GLfloat -> IO ())
glFeedbackBufferFunPtr = IO (FunPtr (GLsizei -> GLenum -> Ptr GLfloat -> IO ()))
-> FunPtr (GLsizei -> GLenum -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> GLenum -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glFeedbackBuffer")

{-# NOINLINE glFeedbackBufferFunPtr #-}

-- | Usage: @'glFogCoordPointer' type stride pointer@
--
-- The parameter @type@ is a @FogPointerTypeEXT@, one of: 'Graphics.GL.Internal.Shared.GL_FLOAT', 'Graphics.GL.Internal.Shared.GL_DOUBLE'.
--
-- The length of @pointer@ should be @COMPSIZE(type,stride)@.


glFogCoordPointer :: MonadIO m => GLenum -> GLsizei -> Ptr () -> m ()
glFogCoordPointer :: GLenum -> GLsizei -> Ptr () -> m ()
glFogCoordPointer = FunPtr (GLenum -> GLsizei -> Ptr () -> IO ())
-> GLenum -> GLsizei -> Ptr () -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> Ptr () -> IO ())
-> GLenum -> GLsizei -> Ptr () -> m ()
ffienumsizeiPtrVIOV FunPtr (GLenum -> GLsizei -> Ptr () -> IO ())
glFogCoordPointerFunPtr

glFogCoordPointerFunPtr :: FunPtr (GLenum -> GLsizei -> Ptr () -> IO ())
glFogCoordPointerFunPtr :: FunPtr (GLenum -> GLsizei -> Ptr () -> IO ())
glFogCoordPointerFunPtr = IO (FunPtr (GLenum -> GLsizei -> Ptr () -> IO ()))
-> FunPtr (GLenum -> GLsizei -> Ptr () -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLsizei -> Ptr () -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glFogCoordPointer")

{-# NOINLINE glFogCoordPointerFunPtr #-}

-- | Usage: @'glFogCoordd' coord@
--
-- The parameter @coord@ is a @CoordD@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glFogCoorddv'.


glFogCoordd :: MonadIO m => GLdouble -> m ()
glFogCoordd :: GLdouble -> m ()
glFogCoordd = FunPtr (GLdouble -> IO ()) -> GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLdouble -> IO ()) -> GLdouble -> m ()
ffidoubleIOV FunPtr (GLdouble -> IO ())
glFogCoorddFunPtr

glFogCoorddFunPtr :: FunPtr (GLdouble -> IO ())
glFogCoorddFunPtr :: FunPtr (GLdouble -> IO ())
glFogCoorddFunPtr = IO (FunPtr (GLdouble -> IO ())) -> FunPtr (GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glFogCoordd")

{-# NOINLINE glFogCoorddFunPtr #-}

-- | Usage: @'glFogCoorddv' coord@
--
-- The parameter @coord@ is a @CoordD@.
--
-- The length of @coord@ should be @1@.


glFogCoorddv :: MonadIO m => Ptr GLdouble -> m ()
glFogCoorddv :: Ptr GLdouble -> m ()
glFogCoorddv = FunPtr (Ptr GLdouble -> IO ()) -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLdouble -> IO ()) -> Ptr GLdouble -> m ()
ffiPtrdoubleIOV FunPtr (Ptr GLdouble -> IO ())
glFogCoorddvFunPtr

glFogCoorddvFunPtr :: FunPtr (Ptr GLdouble -> IO ())
glFogCoorddvFunPtr :: FunPtr (Ptr GLdouble -> IO ())
glFogCoorddvFunPtr = IO (FunPtr (Ptr GLdouble -> IO ()))
-> FunPtr (Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glFogCoorddv")

{-# NOINLINE glFogCoorddvFunPtr #-}

-- | Usage: @'glFogCoordf' coord@
--
-- The parameter @coord@ is a @CoordF@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glFogCoordfv'.


glFogCoordf :: MonadIO m => GLfloat -> m ()
glFogCoordf :: GLfloat -> m ()
glFogCoordf = FunPtr (GLfloat -> IO ()) -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLfloat -> IO ()) -> GLfloat -> m ()
ffifloatIOV FunPtr (GLfloat -> IO ())
glFogCoordfFunPtr

glFogCoordfFunPtr :: FunPtr (GLfloat -> IO ())
glFogCoordfFunPtr :: FunPtr (GLfloat -> IO ())
glFogCoordfFunPtr = IO (FunPtr (GLfloat -> IO ())) -> FunPtr (GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glFogCoordf")

{-# NOINLINE glFogCoordfFunPtr #-}

-- | Usage: @'glFogCoordfv' coord@
--
-- The parameter @coord@ is a @CoordF@.
--
-- The length of @coord@ should be @1@.


glFogCoordfv :: MonadIO m => Ptr GLfloat -> m ()
glFogCoordfv :: Ptr GLfloat -> m ()
glFogCoordfv = FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> m ()
ffiPtrfloatIOV FunPtr (Ptr GLfloat -> IO ())
glFogCoordfvFunPtr

glFogCoordfvFunPtr :: FunPtr (Ptr GLfloat -> IO ())
glFogCoordfvFunPtr :: FunPtr (Ptr GLfloat -> IO ())
glFogCoordfvFunPtr = IO (FunPtr (Ptr GLfloat -> IO ())) -> FunPtr (Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glFogCoordfv")

{-# NOINLINE glFogCoordfvFunPtr #-}

-- | Usage: @'glFogf' pname param@
--
-- The parameter @pname@ is a @FogParameter@, one of: 'Graphics.GL.Internal.Shared.GL_FOG_COLOR', 'Graphics.GL.Internal.Shared.GL_FOG_DENSITY', 'Graphics.GL.Internal.Shared.GL_FOG_END', 'Graphics.GL.Internal.Shared.GL_FOG_INDEX', 'Graphics.GL.Internal.Shared.GL_FOG_MODE', 'Graphics.GL.Ext.SGIX.FogOffset.GL_FOG_OFFSET_VALUE_SGIX', 'Graphics.GL.Internal.Shared.GL_FOG_START'.
--
-- The parameter @param@ is a @CheckedFloat32@.


glFogf :: MonadIO m => GLenum -> GLfloat -> m ()
glFogf :: GLenum -> GLfloat -> m ()
glFogf = FunPtr (GLenum -> GLfloat -> IO ()) -> GLenum -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLfloat -> IO ()) -> GLenum -> GLfloat -> m ()
ffienumfloatIOV FunPtr (GLenum -> GLfloat -> IO ())
glFogfFunPtr

glFogfFunPtr :: FunPtr (GLenum -> GLfloat -> IO ())
glFogfFunPtr :: FunPtr (GLenum -> GLfloat -> IO ())
glFogfFunPtr = IO (FunPtr (GLenum -> GLfloat -> IO ()))
-> FunPtr (GLenum -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glFogf")

{-# NOINLINE glFogfFunPtr #-}

-- | Usage: @'glFogfv' pname params@
--
-- The parameter @pname@ is a @FogParameter@, one of: 'Graphics.GL.Internal.Shared.GL_FOG_COLOR', 'Graphics.GL.Internal.Shared.GL_FOG_DENSITY', 'Graphics.GL.Internal.Shared.GL_FOG_END', 'Graphics.GL.Internal.Shared.GL_FOG_INDEX', 'Graphics.GL.Internal.Shared.GL_FOG_MODE', 'Graphics.GL.Ext.SGIX.FogOffset.GL_FOG_OFFSET_VALUE_SGIX', 'Graphics.GL.Internal.Shared.GL_FOG_START'.
--
-- The parameter @params@ is a @CheckedFloat32@.
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glFogfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glFogfv :: GLenum -> Ptr GLfloat -> m ()
glFogfv = FunPtr (GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> Ptr GLfloat -> m ()
ffienumPtrfloatIOV FunPtr (GLenum -> Ptr GLfloat -> IO ())
glFogfvFunPtr

glFogfvFunPtr :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
glFogfvFunPtr :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
glFogfvFunPtr = IO (FunPtr (GLenum -> Ptr GLfloat -> IO ()))
-> FunPtr (GLenum -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glFogfv")

{-# NOINLINE glFogfvFunPtr #-}

-- | Usage: @'glFogi' pname param@
--
-- The parameter @pname@ is a @FogParameter@, one of: 'Graphics.GL.Internal.Shared.GL_FOG_COLOR', 'Graphics.GL.Internal.Shared.GL_FOG_DENSITY', 'Graphics.GL.Internal.Shared.GL_FOG_END', 'Graphics.GL.Internal.Shared.GL_FOG_INDEX', 'Graphics.GL.Internal.Shared.GL_FOG_MODE', 'Graphics.GL.Ext.SGIX.FogOffset.GL_FOG_OFFSET_VALUE_SGIX', 'Graphics.GL.Internal.Shared.GL_FOG_START'.
--
-- The parameter @param@ is a @CheckedInt32@.


glFogi :: MonadIO m => GLenum -> GLint -> m ()
glFogi :: GLenum -> GLsizei -> m ()
glFogi = FunPtr (GLenum -> GLsizei -> IO ()) -> GLenum -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> IO ()) -> GLenum -> GLsizei -> m ()
ffienumintIOV FunPtr (GLenum -> GLsizei -> IO ())
glFogiFunPtr

glFogiFunPtr :: FunPtr (GLenum -> GLint -> IO ())
glFogiFunPtr :: FunPtr (GLenum -> GLsizei -> IO ())
glFogiFunPtr = IO (FunPtr (GLenum -> GLsizei -> IO ()))
-> FunPtr (GLenum -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glFogi")

{-# NOINLINE glFogiFunPtr #-}

-- | Usage: @'glFogiv' pname params@
--
-- The parameter @pname@ is a @FogParameter@, one of: 'Graphics.GL.Internal.Shared.GL_FOG_COLOR', 'Graphics.GL.Internal.Shared.GL_FOG_DENSITY', 'Graphics.GL.Internal.Shared.GL_FOG_END', 'Graphics.GL.Internal.Shared.GL_FOG_INDEX', 'Graphics.GL.Internal.Shared.GL_FOG_MODE', 'Graphics.GL.Ext.SGIX.FogOffset.GL_FOG_OFFSET_VALUE_SGIX', 'Graphics.GL.Internal.Shared.GL_FOG_START'.
--
-- The parameter @params@ is a @CheckedInt32@.
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glFogiv :: MonadIO m => GLenum -> Ptr GLint -> m ()
glFogiv :: GLenum -> Ptr GLsizei -> m ()
glFogiv = FunPtr (GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> Ptr GLsizei -> m ()
ffienumPtrintIOV FunPtr (GLenum -> Ptr GLsizei -> IO ())
glFogivFunPtr

glFogivFunPtr :: FunPtr (GLenum -> Ptr GLint -> IO ())
glFogivFunPtr :: FunPtr (GLenum -> Ptr GLsizei -> IO ())
glFogivFunPtr = IO (FunPtr (GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glFogiv")

{-# NOINLINE glFogivFunPtr #-}

-- | Usage: @'glFrustum' left right bottom top zNear zFar@


glFrustum :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glFrustum :: GLdouble
-> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glFrustum = FunPtr
  (GLdouble
   -> GLdouble
   -> GLdouble
   -> GLdouble
   -> GLdouble
   -> GLdouble
   -> IO ())
-> GLdouble
-> GLdouble
-> GLdouble
-> GLdouble
-> GLdouble
-> GLdouble
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLdouble
   -> GLdouble
   -> GLdouble
   -> GLdouble
   -> GLdouble
   -> GLdouble
   -> IO ())
-> GLdouble
-> GLdouble
-> GLdouble
-> GLdouble
-> GLdouble
-> GLdouble
-> m ()
ffidoubledoubledoubledoubledoubledoubleIOV FunPtr
  (GLdouble
   -> GLdouble
   -> GLdouble
   -> GLdouble
   -> GLdouble
   -> GLdouble
   -> IO ())
glFrustumFunPtr

glFrustumFunPtr :: FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
glFrustumFunPtr :: FunPtr
  (GLdouble
   -> GLdouble
   -> GLdouble
   -> GLdouble
   -> GLdouble
   -> GLdouble
   -> IO ())
glFrustumFunPtr = IO
  (FunPtr
     (GLdouble
      -> GLdouble
      -> GLdouble
      -> GLdouble
      -> GLdouble
      -> GLdouble
      -> IO ()))
-> FunPtr
     (GLdouble
      -> GLdouble
      -> GLdouble
      -> GLdouble
      -> GLdouble
      -> GLdouble
      -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLdouble
         -> GLdouble
         -> GLdouble
         -> GLdouble
         -> GLdouble
         -> GLdouble
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glFrustum")

{-# NOINLINE glFrustumFunPtr #-}

-- | Usage: @'glGenLists' range@


glGenLists :: MonadIO m => GLsizei -> m GLuint
glGenLists :: GLsizei -> m GLenum
glGenLists = FunPtr (GLsizei -> IO GLenum) -> GLsizei -> m GLenum
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> IO GLenum) -> GLsizei -> m GLenum
ffisizeiIOuint FunPtr (GLsizei -> IO GLenum)
glGenListsFunPtr

glGenListsFunPtr :: FunPtr (GLsizei -> IO GLuint)
glGenListsFunPtr :: FunPtr (GLsizei -> IO GLenum)
glGenListsFunPtr = IO (FunPtr (GLsizei -> IO GLenum)) -> FunPtr (GLsizei -> IO GLenum)
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> IO GLenum))
forall a. String -> IO (FunPtr a)
getProcAddress "glGenLists")

{-# NOINLINE glGenListsFunPtr #-}

-- | Usage: @'glGetClipPlane' plane equation@
--
-- The parameter @plane@ is a @ClipPlaneName@, one of: 'Graphics.GL.Internal.Shared.GL_CLIP_DISTANCE0', 'Graphics.GL.Internal.Shared.GL_CLIP_DISTANCE1', 'Graphics.GL.Internal.Shared.GL_CLIP_DISTANCE2', 'Graphics.GL.Internal.Shared.GL_CLIP_DISTANCE3', 'Graphics.GL.Internal.Shared.GL_CLIP_DISTANCE4', 'Graphics.GL.Internal.Shared.GL_CLIP_DISTANCE5', 'Graphics.GL.Internal.Shared.GL_CLIP_DISTANCE6', 'Graphics.GL.Internal.Shared.GL_CLIP_DISTANCE7', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE0', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE1', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE2', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE3', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE4', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE5'.
--
-- The length of @equation@ should be @4@.


glGetClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()
glGetClipPlane :: GLenum -> Ptr GLdouble -> m ()
glGetClipPlane = FunPtr (GLenum -> Ptr GLdouble -> IO ())
-> GLenum -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLdouble -> IO ())
-> GLenum -> Ptr GLdouble -> m ()
ffienumPtrdoubleIOV FunPtr (GLenum -> Ptr GLdouble -> IO ())
glGetClipPlaneFunPtr

glGetClipPlaneFunPtr :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
glGetClipPlaneFunPtr :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
glGetClipPlaneFunPtr = IO (FunPtr (GLenum -> Ptr GLdouble -> IO ()))
-> FunPtr (GLenum -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetClipPlane")

{-# NOINLINE glGetClipPlaneFunPtr #-}

-- | Usage: @'glGetLightfv' light pname params@
--
-- The parameter @light@ is a @LightName@, one of: 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT0_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT1_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT2_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT3_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT4_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT5_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT6_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT7_SGIX', 'Graphics.GL.Internal.Shared.GL_LIGHT0', 'Graphics.GL.Internal.Shared.GL_LIGHT1', 'Graphics.GL.Internal.Shared.GL_LIGHT2', 'Graphics.GL.Internal.Shared.GL_LIGHT3', 'Graphics.GL.Internal.Shared.GL_LIGHT4', 'Graphics.GL.Internal.Shared.GL_LIGHT5', 'Graphics.GL.Internal.Shared.GL_LIGHT6', 'Graphics.GL.Internal.Shared.GL_LIGHT7'.
--
-- The parameter @pname@ is a @LightParameter@, one of: 'Graphics.GL.Internal.Shared.GL_AMBIENT', 'Graphics.GL.Internal.Shared.GL_CONSTANT_ATTENUATION', 'Graphics.GL.Internal.Shared.GL_DIFFUSE', 'Graphics.GL.Internal.Shared.GL_LINEAR_ATTENUATION', 'Graphics.GL.Internal.Shared.GL_POSITION', 'Graphics.GL.Internal.Shared.GL_QUADRATIC_ATTENUATION', 'Graphics.GL.Internal.Shared.GL_SPECULAR', 'Graphics.GL.Internal.Shared.GL_SPOT_CUTOFF', 'Graphics.GL.Internal.Shared.GL_SPOT_DIRECTION', 'Graphics.GL.Internal.Shared.GL_SPOT_EXPONENT'.
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glGetLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetLightfv :: GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetLightfv = FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> GLenum -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> GLenum -> Ptr GLfloat -> m ()
ffienumenumPtrfloatIOV FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glGetLightfvFunPtr

glGetLightfvFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glGetLightfvFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glGetLightfvFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetLightfv")

{-# NOINLINE glGetLightfvFunPtr #-}

-- | Usage: @'glGetLightiv' light pname params@
--
-- The parameter @light@ is a @LightName@, one of: 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT0_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT1_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT2_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT3_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT4_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT5_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT6_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT7_SGIX', 'Graphics.GL.Internal.Shared.GL_LIGHT0', 'Graphics.GL.Internal.Shared.GL_LIGHT1', 'Graphics.GL.Internal.Shared.GL_LIGHT2', 'Graphics.GL.Internal.Shared.GL_LIGHT3', 'Graphics.GL.Internal.Shared.GL_LIGHT4', 'Graphics.GL.Internal.Shared.GL_LIGHT5', 'Graphics.GL.Internal.Shared.GL_LIGHT6', 'Graphics.GL.Internal.Shared.GL_LIGHT7'.
--
-- The parameter @pname@ is a @LightParameter@, one of: 'Graphics.GL.Internal.Shared.GL_AMBIENT', 'Graphics.GL.Internal.Shared.GL_CONSTANT_ATTENUATION', 'Graphics.GL.Internal.Shared.GL_DIFFUSE', 'Graphics.GL.Internal.Shared.GL_LINEAR_ATTENUATION', 'Graphics.GL.Internal.Shared.GL_POSITION', 'Graphics.GL.Internal.Shared.GL_QUADRATIC_ATTENUATION', 'Graphics.GL.Internal.Shared.GL_SPECULAR', 'Graphics.GL.Internal.Shared.GL_SPOT_CUTOFF', 'Graphics.GL.Internal.Shared.GL_SPOT_DIRECTION', 'Graphics.GL.Internal.Shared.GL_SPOT_EXPONENT'.
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glGetLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetLightiv :: GLenum -> GLenum -> Ptr GLsizei -> m ()
glGetLightiv = FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
ffienumenumPtrintIOV FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetLightivFunPtr

glGetLightivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
glGetLightivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetLightivFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetLightiv")

{-# NOINLINE glGetLightivFunPtr #-}

-- | Usage: @'glGetMapdv' target query v@
--
-- The parameter @target@ is a @MapTarget@, one of: 'Graphics.GL.Ext.SGIX.PolynomialFfd.GL_GEOMETRY_DEFORMATION_SGIX', 'Graphics.GL.Internal.Shared.GL_MAP1_COLOR_4', 'Graphics.GL.Internal.Shared.GL_MAP1_INDEX', 'Graphics.GL.Internal.Shared.GL_MAP1_NORMAL', 'Graphics.GL.Internal.Shared.GL_MAP1_TEXTURE_COORD_1', 'Graphics.GL.Internal.Shared.GL_MAP1_TEXTURE_COORD_2', 'Graphics.GL.Internal.Shared.GL_MAP1_TEXTURE_COORD_3', 'Graphics.GL.Internal.Shared.GL_MAP1_TEXTURE_COORD_4', 'Graphics.GL.Internal.Shared.GL_MAP1_VERTEX_3', 'Graphics.GL.Internal.Shared.GL_MAP1_VERTEX_4', 'Graphics.GL.Internal.Shared.GL_MAP2_COLOR_4', 'Graphics.GL.Internal.Shared.GL_MAP2_INDEX', 'Graphics.GL.Internal.Shared.GL_MAP2_NORMAL', 'Graphics.GL.Internal.Shared.GL_MAP2_TEXTURE_COORD_1', 'Graphics.GL.Internal.Shared.GL_MAP2_TEXTURE_COORD_2', 'Graphics.GL.Internal.Shared.GL_MAP2_TEXTURE_COORD_3', 'Graphics.GL.Internal.Shared.GL_MAP2_TEXTURE_COORD_4', 'Graphics.GL.Internal.Shared.GL_MAP2_VERTEX_3', 'Graphics.GL.Internal.Shared.GL_MAP2_VERTEX_4', 'Graphics.GL.Ext.SGIX.PolynomialFfd.GL_TEXTURE_DEFORMATION_SGIX'.
--
-- The parameter @query@ is a @GetMapQuery@, one of: 'Graphics.GL.Internal.Shared.GL_COEFF', 'Graphics.GL.Internal.Shared.GL_DOMAIN', 'Graphics.GL.Internal.Shared.GL_ORDER'.
--
-- The length of @v@ should be @COMPSIZE(target,query)@.


glGetMapdv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()
glGetMapdv :: GLenum -> GLenum -> Ptr GLdouble -> m ()
glGetMapdv = FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
-> GLenum -> GLenum -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
-> GLenum -> GLenum -> Ptr GLdouble -> m ()
ffienumenumPtrdoubleIOV FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
glGetMapdvFunPtr

glGetMapdvFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
glGetMapdvFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
glGetMapdvFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetMapdv")

{-# NOINLINE glGetMapdvFunPtr #-}

-- | Usage: @'glGetMapfv' target query v@
--
-- The parameter @target@ is a @MapTarget@, one of: 'Graphics.GL.Ext.SGIX.PolynomialFfd.GL_GEOMETRY_DEFORMATION_SGIX', 'Graphics.GL.Internal.Shared.GL_MAP1_COLOR_4', 'Graphics.GL.Internal.Shared.GL_MAP1_INDEX', 'Graphics.GL.Internal.Shared.GL_MAP1_NORMAL', 'Graphics.GL.Internal.Shared.GL_MAP1_TEXTURE_COORD_1', 'Graphics.GL.Internal.Shared.GL_MAP1_TEXTURE_COORD_2', 'Graphics.GL.Internal.Shared.GL_MAP1_TEXTURE_COORD_3', 'Graphics.GL.Internal.Shared.GL_MAP1_TEXTURE_COORD_4', 'Graphics.GL.Internal.Shared.GL_MAP1_VERTEX_3', 'Graphics.GL.Internal.Shared.GL_MAP1_VERTEX_4', 'Graphics.GL.Internal.Shared.GL_MAP2_COLOR_4', 'Graphics.GL.Internal.Shared.GL_MAP2_INDEX', 'Graphics.GL.Internal.Shared.GL_MAP2_NORMAL', 'Graphics.GL.Internal.Shared.GL_MAP2_TEXTURE_COORD_1', 'Graphics.GL.Internal.Shared.GL_MAP2_TEXTURE_COORD_2', 'Graphics.GL.Internal.Shared.GL_MAP2_TEXTURE_COORD_3', 'Graphics.GL.Internal.Shared.GL_MAP2_TEXTURE_COORD_4', 'Graphics.GL.Internal.Shared.GL_MAP2_VERTEX_3', 'Graphics.GL.Internal.Shared.GL_MAP2_VERTEX_4', 'Graphics.GL.Ext.SGIX.PolynomialFfd.GL_TEXTURE_DEFORMATION_SGIX'.
--
-- The parameter @query@ is a @GetMapQuery@, one of: 'Graphics.GL.Internal.Shared.GL_COEFF', 'Graphics.GL.Internal.Shared.GL_DOMAIN', 'Graphics.GL.Internal.Shared.GL_ORDER'.
--
-- The length of @v@ should be @COMPSIZE(target,query)@.


glGetMapfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetMapfv :: GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetMapfv = FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> GLenum -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> GLenum -> Ptr GLfloat -> m ()
ffienumenumPtrfloatIOV FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glGetMapfvFunPtr

glGetMapfvFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glGetMapfvFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glGetMapfvFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetMapfv")

{-# NOINLINE glGetMapfvFunPtr #-}

-- | Usage: @'glGetMapiv' target query v@
--
-- The parameter @target@ is a @MapTarget@, one of: 'Graphics.GL.Ext.SGIX.PolynomialFfd.GL_GEOMETRY_DEFORMATION_SGIX', 'Graphics.GL.Internal.Shared.GL_MAP1_COLOR_4', 'Graphics.GL.Internal.Shared.GL_MAP1_INDEX', 'Graphics.GL.Internal.Shared.GL_MAP1_NORMAL', 'Graphics.GL.Internal.Shared.GL_MAP1_TEXTURE_COORD_1', 'Graphics.GL.Internal.Shared.GL_MAP1_TEXTURE_COORD_2', 'Graphics.GL.Internal.Shared.GL_MAP1_TEXTURE_COORD_3', 'Graphics.GL.Internal.Shared.GL_MAP1_TEXTURE_COORD_4', 'Graphics.GL.Internal.Shared.GL_MAP1_VERTEX_3', 'Graphics.GL.Internal.Shared.GL_MAP1_VERTEX_4', 'Graphics.GL.Internal.Shared.GL_MAP2_COLOR_4', 'Graphics.GL.Internal.Shared.GL_MAP2_INDEX', 'Graphics.GL.Internal.Shared.GL_MAP2_NORMAL', 'Graphics.GL.Internal.Shared.GL_MAP2_TEXTURE_COORD_1', 'Graphics.GL.Internal.Shared.GL_MAP2_TEXTURE_COORD_2', 'Graphics.GL.Internal.Shared.GL_MAP2_TEXTURE_COORD_3', 'Graphics.GL.Internal.Shared.GL_MAP2_TEXTURE_COORD_4', 'Graphics.GL.Internal.Shared.GL_MAP2_VERTEX_3', 'Graphics.GL.Internal.Shared.GL_MAP2_VERTEX_4', 'Graphics.GL.Ext.SGIX.PolynomialFfd.GL_TEXTURE_DEFORMATION_SGIX'.
--
-- The parameter @query@ is a @GetMapQuery@, one of: 'Graphics.GL.Internal.Shared.GL_COEFF', 'Graphics.GL.Internal.Shared.GL_DOMAIN', 'Graphics.GL.Internal.Shared.GL_ORDER'.
--
-- The length of @v@ should be @COMPSIZE(target,query)@.


glGetMapiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetMapiv :: GLenum -> GLenum -> Ptr GLsizei -> m ()
glGetMapiv = FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
ffienumenumPtrintIOV FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetMapivFunPtr

glGetMapivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
glGetMapivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetMapivFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetMapiv")

{-# NOINLINE glGetMapivFunPtr #-}

-- | Usage: @'glGetMaterialfv' face pname params@
--
-- The parameter @face@ is a @MaterialFace@, one of: 'Graphics.GL.Internal.Shared.GL_BACK', 'Graphics.GL.Internal.Shared.GL_FRONT', 'Graphics.GL.Internal.Shared.GL_FRONT_AND_BACK'.
--
-- The parameter @pname@ is a @MaterialParameter@, one of: 'Graphics.GL.Internal.Shared.GL_AMBIENT', 'Graphics.GL.Internal.Shared.GL_AMBIENT_AND_DIFFUSE', 'Graphics.GL.Internal.Shared.GL_COLOR_INDEXES', 'Graphics.GL.Internal.Shared.GL_DIFFUSE', 'Graphics.GL.Internal.Shared.GL_EMISSION', 'Graphics.GL.Internal.Shared.GL_SHININESS', 'Graphics.GL.Internal.Shared.GL_SPECULAR'.
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glGetMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetMaterialfv :: GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetMaterialfv = FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> GLenum -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> GLenum -> Ptr GLfloat -> m ()
ffienumenumPtrfloatIOV FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glGetMaterialfvFunPtr

glGetMaterialfvFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glGetMaterialfvFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glGetMaterialfvFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetMaterialfv")

{-# NOINLINE glGetMaterialfvFunPtr #-}

-- | Usage: @'glGetMaterialiv' face pname params@
--
-- The parameter @face@ is a @MaterialFace@, one of: 'Graphics.GL.Internal.Shared.GL_BACK', 'Graphics.GL.Internal.Shared.GL_FRONT', 'Graphics.GL.Internal.Shared.GL_FRONT_AND_BACK'.
--
-- The parameter @pname@ is a @MaterialParameter@, one of: 'Graphics.GL.Internal.Shared.GL_AMBIENT', 'Graphics.GL.Internal.Shared.GL_AMBIENT_AND_DIFFUSE', 'Graphics.GL.Internal.Shared.GL_COLOR_INDEXES', 'Graphics.GL.Internal.Shared.GL_DIFFUSE', 'Graphics.GL.Internal.Shared.GL_EMISSION', 'Graphics.GL.Internal.Shared.GL_SHININESS', 'Graphics.GL.Internal.Shared.GL_SPECULAR'.
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glGetMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetMaterialiv :: GLenum -> GLenum -> Ptr GLsizei -> m ()
glGetMaterialiv = FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
ffienumenumPtrintIOV FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetMaterialivFunPtr

glGetMaterialivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
glGetMaterialivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetMaterialivFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetMaterialiv")

{-# NOINLINE glGetMaterialivFunPtr #-}

-- | Usage: @'glGetPixelMapfv' map values@
--
-- The parameter @map@ is a @PixelMap@, one of: 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_A_TO_A', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_B_TO_B', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_G_TO_G', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_I_TO_A', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_I_TO_B', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_I_TO_G', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_I_TO_I', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_I_TO_R', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_R_TO_R', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_S_TO_S'.
--
-- The length of @values@ should be @COMPSIZE(map)@.


glGetPixelMapfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glGetPixelMapfv :: GLenum -> Ptr GLfloat -> m ()
glGetPixelMapfv = FunPtr (GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> Ptr GLfloat -> m ()
ffienumPtrfloatIOV FunPtr (GLenum -> Ptr GLfloat -> IO ())
glGetPixelMapfvFunPtr

glGetPixelMapfvFunPtr :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
glGetPixelMapfvFunPtr :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
glGetPixelMapfvFunPtr = IO (FunPtr (GLenum -> Ptr GLfloat -> IO ()))
-> FunPtr (GLenum -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetPixelMapfv")

{-# NOINLINE glGetPixelMapfvFunPtr #-}

-- | Usage: @'glGetPixelMapuiv' map values@
--
-- The parameter @map@ is a @PixelMap@, one of: 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_A_TO_A', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_B_TO_B', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_G_TO_G', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_I_TO_A', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_I_TO_B', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_I_TO_G', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_I_TO_I', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_I_TO_R', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_R_TO_R', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_S_TO_S'.
--
-- The length of @values@ should be @COMPSIZE(map)@.


glGetPixelMapuiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glGetPixelMapuiv :: GLenum -> Ptr GLenum -> m ()
glGetPixelMapuiv = FunPtr (GLenum -> Ptr GLenum -> IO ())
-> GLenum -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLenum -> IO ())
-> GLenum -> Ptr GLenum -> m ()
ffienumPtruintIOV FunPtr (GLenum -> Ptr GLenum -> IO ())
glGetPixelMapuivFunPtr

glGetPixelMapuivFunPtr :: FunPtr (GLenum -> Ptr GLuint -> IO ())
glGetPixelMapuivFunPtr :: FunPtr (GLenum -> Ptr GLenum -> IO ())
glGetPixelMapuivFunPtr = IO (FunPtr (GLenum -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetPixelMapuiv")

{-# NOINLINE glGetPixelMapuivFunPtr #-}

-- | Usage: @'glGetPixelMapusv' map values@
--
-- The parameter @map@ is a @PixelMap@, one of: 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_A_TO_A', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_B_TO_B', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_G_TO_G', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_I_TO_A', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_I_TO_B', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_I_TO_G', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_I_TO_I', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_I_TO_R', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_R_TO_R', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_S_TO_S'.
--
-- The length of @values@ should be @COMPSIZE(map)@.


glGetPixelMapusv :: MonadIO m => GLenum -> Ptr GLushort -> m ()
glGetPixelMapusv :: GLenum -> Ptr GLushort -> m ()
glGetPixelMapusv = FunPtr (GLenum -> Ptr GLushort -> IO ())
-> GLenum -> Ptr GLushort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLushort -> IO ())
-> GLenum -> Ptr GLushort -> m ()
ffienumPtrushortIOV FunPtr (GLenum -> Ptr GLushort -> IO ())
glGetPixelMapusvFunPtr

glGetPixelMapusvFunPtr :: FunPtr (GLenum -> Ptr GLushort -> IO ())
glGetPixelMapusvFunPtr :: FunPtr (GLenum -> Ptr GLushort -> IO ())
glGetPixelMapusvFunPtr = IO (FunPtr (GLenum -> Ptr GLushort -> IO ()))
-> FunPtr (GLenum -> Ptr GLushort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLushort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetPixelMapusv")

{-# NOINLINE glGetPixelMapusvFunPtr #-}

-- | Usage: @'glGetPointerv' pname params@
--
-- The parameter @pname@ is a @GetPointervPName@, one of: 'Graphics.GL.Internal.Shared.GL_COLOR_ARRAY_POINTER', 'Graphics.GL.Ext.EXT.VertexArray.GL_COLOR_ARRAY_POINTER_EXT', 'Graphics.GL.Internal.Shared.GL_EDGE_FLAG_ARRAY_POINTER', 'Graphics.GL.Ext.EXT.VertexArray.GL_EDGE_FLAG_ARRAY_POINTER_EXT', 'Graphics.GL.Internal.Shared.GL_FEEDBACK_BUFFER_POINTER', 'Graphics.GL.Internal.Shared.GL_INDEX_ARRAY_POINTER', 'Graphics.GL.Ext.EXT.VertexArray.GL_INDEX_ARRAY_POINTER_EXT', 'Graphics.GL.Ext.SGIX.Instruments.GL_INSTRUMENT_BUFFER_POINTER_SGIX', 'Graphics.GL.Internal.Shared.GL_NORMAL_ARRAY_POINTER', 'Graphics.GL.Ext.EXT.VertexArray.GL_NORMAL_ARRAY_POINTER_EXT', 'Graphics.GL.Internal.Shared.GL_SELECTION_BUFFER_POINTER', 'Graphics.GL.Internal.Shared.GL_TEXTURE_COORD_ARRAY_POINTER', 'Graphics.GL.Ext.EXT.VertexArray.GL_TEXTURE_COORD_ARRAY_POINTER_EXT', 'Graphics.GL.Internal.Shared.GL_VERTEX_ARRAY_POINTER', 'Graphics.GL.Ext.EXT.VertexArray.GL_VERTEX_ARRAY_POINTER_EXT'.
--
-- The length of @params@ should be @1@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glGetPointerv.xhtml>


glGetPointerv :: MonadIO m => GLenum -> Ptr (Ptr ()) -> m ()
glGetPointerv :: GLenum -> Ptr (Ptr ()) -> m ()
glGetPointerv = FunPtr (GLenum -> Ptr (Ptr ()) -> IO ())
-> GLenum -> Ptr (Ptr ()) -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr (Ptr ()) -> IO ())
-> GLenum -> Ptr (Ptr ()) -> m ()
ffienumPtrPtrVIOV FunPtr (GLenum -> Ptr (Ptr ()) -> IO ())
glGetPointervFunPtr

glGetPointervFunPtr :: FunPtr (GLenum -> Ptr (Ptr ()) -> IO ())
glGetPointervFunPtr :: FunPtr (GLenum -> Ptr (Ptr ()) -> IO ())
glGetPointervFunPtr = IO (FunPtr (GLenum -> Ptr (Ptr ()) -> IO ()))
-> FunPtr (GLenum -> Ptr (Ptr ()) -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr (Ptr ()) -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetPointerv")

{-# NOINLINE glGetPointervFunPtr #-}

-- | Usage: @'glGetPolygonStipple' mask@
--
-- The length of @mask@ should be @COMPSIZE()@.


glGetPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()
glGetPolygonStipple :: Ptr GLboolean -> m ()
glGetPolygonStipple = FunPtr (Ptr GLboolean -> IO ()) -> Ptr GLboolean -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLboolean -> IO ()) -> Ptr GLboolean -> m ()
ffiPtrubyteIOV FunPtr (Ptr GLboolean -> IO ())
glGetPolygonStippleFunPtr

glGetPolygonStippleFunPtr :: FunPtr (Ptr GLubyte -> IO ())
glGetPolygonStippleFunPtr :: FunPtr (Ptr GLboolean -> IO ())
glGetPolygonStippleFunPtr = IO (FunPtr (Ptr GLboolean -> IO ()))
-> FunPtr (Ptr GLboolean -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLboolean -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetPolygonStipple")

{-# NOINLINE glGetPolygonStippleFunPtr #-}

-- | Usage: @'glGetTexEnvfv' target pname params@
--
-- The parameter @target@ is a @TextureEnvTarget@, one of: 'Graphics.GL.Internal.Shared.GL_TEXTURE_ENV'.
--
-- The parameter @pname@ is a @TextureEnvParameter@, one of: 'Graphics.GL.Internal.Shared.GL_TEXTURE_ENV_COLOR', 'Graphics.GL.Internal.Shared.GL_TEXTURE_ENV_MODE'.
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glGetTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetTexEnvfv :: GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetTexEnvfv = FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> GLenum -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> GLenum -> Ptr GLfloat -> m ()
ffienumenumPtrfloatIOV FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glGetTexEnvfvFunPtr

glGetTexEnvfvFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glGetTexEnvfvFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glGetTexEnvfvFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetTexEnvfv")

{-# NOINLINE glGetTexEnvfvFunPtr #-}

-- | Usage: @'glGetTexEnviv' target pname params@
--
-- The parameter @target@ is a @TextureEnvTarget@, one of: 'Graphics.GL.Internal.Shared.GL_TEXTURE_ENV'.
--
-- The parameter @pname@ is a @TextureEnvParameter@, one of: 'Graphics.GL.Internal.Shared.GL_TEXTURE_ENV_COLOR', 'Graphics.GL.Internal.Shared.GL_TEXTURE_ENV_MODE'.
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glGetTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetTexEnviv :: GLenum -> GLenum -> Ptr GLsizei -> m ()
glGetTexEnviv = FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
ffienumenumPtrintIOV FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetTexEnvivFunPtr

glGetTexEnvivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
glGetTexEnvivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetTexEnvivFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetTexEnviv")

{-# NOINLINE glGetTexEnvivFunPtr #-}

-- | Usage: @'glGetTexGendv' coord pname params@
--
-- The parameter @coord@ is a @TextureCoordName@, one of: 'Graphics.GL.Internal.Shared.GL_S', 'Graphics.GL.Internal.Shared.GL_T', 'Graphics.GL.Internal.Shared.GL_R', 'Graphics.GL.Internal.Shared.GL_Q'.
--
-- The parameter @pname@ is a @TextureGenParameter@, one of: 'Graphics.GL.Ext.SGIS.PointLineTexgen.GL_EYE_LINE_SGIS', 'Graphics.GL.Internal.Shared.GL_EYE_PLANE', 'Graphics.GL.Ext.SGIS.PointLineTexgen.GL_EYE_POINT_SGIS', 'Graphics.GL.Ext.SGIS.PointLineTexgen.GL_OBJECT_LINE_SGIS', 'Graphics.GL.Internal.Shared.GL_OBJECT_PLANE', 'Graphics.GL.Ext.SGIS.PointLineTexgen.GL_OBJECT_POINT_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_GEN_MODE'.
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glGetTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()
glGetTexGendv :: GLenum -> GLenum -> Ptr GLdouble -> m ()
glGetTexGendv = FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
-> GLenum -> GLenum -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
-> GLenum -> GLenum -> Ptr GLdouble -> m ()
ffienumenumPtrdoubleIOV FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
glGetTexGendvFunPtr

glGetTexGendvFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
glGetTexGendvFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
glGetTexGendvFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetTexGendv")

{-# NOINLINE glGetTexGendvFunPtr #-}

-- | Usage: @'glGetTexGenfv' coord pname params@
--
-- The parameter @coord@ is a @TextureCoordName@, one of: 'Graphics.GL.Internal.Shared.GL_S', 'Graphics.GL.Internal.Shared.GL_T', 'Graphics.GL.Internal.Shared.GL_R', 'Graphics.GL.Internal.Shared.GL_Q'.
--
-- The parameter @pname@ is a @TextureGenParameter@, one of: 'Graphics.GL.Ext.SGIS.PointLineTexgen.GL_EYE_LINE_SGIS', 'Graphics.GL.Internal.Shared.GL_EYE_PLANE', 'Graphics.GL.Ext.SGIS.PointLineTexgen.GL_EYE_POINT_SGIS', 'Graphics.GL.Ext.SGIS.PointLineTexgen.GL_OBJECT_LINE_SGIS', 'Graphics.GL.Internal.Shared.GL_OBJECT_PLANE', 'Graphics.GL.Ext.SGIS.PointLineTexgen.GL_OBJECT_POINT_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_GEN_MODE'.
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glGetTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetTexGenfv :: GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetTexGenfv = FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> GLenum -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> GLenum -> Ptr GLfloat -> m ()
ffienumenumPtrfloatIOV FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glGetTexGenfvFunPtr

glGetTexGenfvFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glGetTexGenfvFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glGetTexGenfvFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetTexGenfv")

{-# NOINLINE glGetTexGenfvFunPtr #-}

-- | Usage: @'glGetTexGeniv' coord pname params@
--
-- The parameter @coord@ is a @TextureCoordName@, one of: 'Graphics.GL.Internal.Shared.GL_S', 'Graphics.GL.Internal.Shared.GL_T', 'Graphics.GL.Internal.Shared.GL_R', 'Graphics.GL.Internal.Shared.GL_Q'.
--
-- The parameter @pname@ is a @TextureGenParameter@, one of: 'Graphics.GL.Ext.SGIS.PointLineTexgen.GL_EYE_LINE_SGIS', 'Graphics.GL.Internal.Shared.GL_EYE_PLANE', 'Graphics.GL.Ext.SGIS.PointLineTexgen.GL_EYE_POINT_SGIS', 'Graphics.GL.Ext.SGIS.PointLineTexgen.GL_OBJECT_LINE_SGIS', 'Graphics.GL.Internal.Shared.GL_OBJECT_PLANE', 'Graphics.GL.Ext.SGIS.PointLineTexgen.GL_OBJECT_POINT_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_GEN_MODE'.
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glGetTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetTexGeniv :: GLenum -> GLenum -> Ptr GLsizei -> m ()
glGetTexGeniv = FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
ffienumenumPtrintIOV FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetTexGenivFunPtr

glGetTexGenivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
glGetTexGenivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetTexGenivFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetTexGeniv")

{-# NOINLINE glGetTexGenivFunPtr #-}

-- | Usage: @'glIndexMask' mask@
--
-- The parameter @mask@ is a @MaskedColorIndexValueI@.


glIndexMask :: MonadIO m => GLuint -> m ()
glIndexMask :: GLenum -> m ()
glIndexMask = FunPtr (GLenum -> IO ()) -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO ()) -> GLenum -> m ()
ffiuintIOV FunPtr (GLenum -> IO ())
glIndexMaskFunPtr

glIndexMaskFunPtr :: FunPtr (GLuint -> IO ())
glIndexMaskFunPtr :: FunPtr (GLenum -> IO ())
glIndexMaskFunPtr = IO (FunPtr (GLenum -> IO ())) -> FunPtr (GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glIndexMask")

{-# NOINLINE glIndexMaskFunPtr #-}

-- | Usage: @'glIndexPointer' type stride pointer@
--
-- The parameter @type@ is a @IndexPointerType@, one of: 'Graphics.GL.Internal.Shared.GL_DOUBLE', 'Graphics.GL.Internal.Shared.GL_FLOAT', 'Graphics.GL.Internal.Shared.GL_INT', 'Graphics.GL.Internal.Shared.GL_SHORT'.
--
-- The length of @pointer@ should be @COMPSIZE(type,stride)@.


glIndexPointer :: MonadIO m => GLenum -> GLsizei -> Ptr () -> m ()
glIndexPointer :: GLenum -> GLsizei -> Ptr () -> m ()
glIndexPointer = FunPtr (GLenum -> GLsizei -> Ptr () -> IO ())
-> GLenum -> GLsizei -> Ptr () -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> Ptr () -> IO ())
-> GLenum -> GLsizei -> Ptr () -> m ()
ffienumsizeiPtrVIOV FunPtr (GLenum -> GLsizei -> Ptr () -> IO ())
glIndexPointerFunPtr

glIndexPointerFunPtr :: FunPtr (GLenum -> GLsizei -> Ptr () -> IO ())
glIndexPointerFunPtr :: FunPtr (GLenum -> GLsizei -> Ptr () -> IO ())
glIndexPointerFunPtr = IO (FunPtr (GLenum -> GLsizei -> Ptr () -> IO ()))
-> FunPtr (GLenum -> GLsizei -> Ptr () -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLsizei -> Ptr () -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glIndexPointer")

{-# NOINLINE glIndexPointerFunPtr #-}

-- | Usage: @'glIndexd' c@
--
-- The parameter @c@ is a @ColorIndexValueD@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glIndexdv'.


glIndexd :: MonadIO m => GLdouble -> m ()
glIndexd :: GLdouble -> m ()
glIndexd = FunPtr (GLdouble -> IO ()) -> GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLdouble -> IO ()) -> GLdouble -> m ()
ffidoubleIOV FunPtr (GLdouble -> IO ())
glIndexdFunPtr

glIndexdFunPtr :: FunPtr (GLdouble -> IO ())
glIndexdFunPtr :: FunPtr (GLdouble -> IO ())
glIndexdFunPtr = IO (FunPtr (GLdouble -> IO ())) -> FunPtr (GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glIndexd")

{-# NOINLINE glIndexdFunPtr #-}

-- | Usage: @'glIndexdv' c@
--
-- The parameter @c@ is a @ColorIndexValueD@.
--
-- The length of @c@ should be @1@.


glIndexdv :: MonadIO m => Ptr GLdouble -> m ()
glIndexdv :: Ptr GLdouble -> m ()
glIndexdv = FunPtr (Ptr GLdouble -> IO ()) -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLdouble -> IO ()) -> Ptr GLdouble -> m ()
ffiPtrdoubleIOV FunPtr (Ptr GLdouble -> IO ())
glIndexdvFunPtr

glIndexdvFunPtr :: FunPtr (Ptr GLdouble -> IO ())
glIndexdvFunPtr :: FunPtr (Ptr GLdouble -> IO ())
glIndexdvFunPtr = IO (FunPtr (Ptr GLdouble -> IO ()))
-> FunPtr (Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glIndexdv")

{-# NOINLINE glIndexdvFunPtr #-}

-- | Usage: @'glIndexf' c@
--
-- The parameter @c@ is a @ColorIndexValueF@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glIndexfv'.


glIndexf :: MonadIO m => GLfloat -> m ()
glIndexf :: GLfloat -> m ()
glIndexf = FunPtr (GLfloat -> IO ()) -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLfloat -> IO ()) -> GLfloat -> m ()
ffifloatIOV FunPtr (GLfloat -> IO ())
glIndexfFunPtr

glIndexfFunPtr :: FunPtr (GLfloat -> IO ())
glIndexfFunPtr :: FunPtr (GLfloat -> IO ())
glIndexfFunPtr = IO (FunPtr (GLfloat -> IO ())) -> FunPtr (GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glIndexf")

{-# NOINLINE glIndexfFunPtr #-}

-- | Usage: @'glIndexfv' c@
--
-- The parameter @c@ is a @ColorIndexValueF@.
--
-- The length of @c@ should be @1@.


glIndexfv :: MonadIO m => Ptr GLfloat -> m ()
glIndexfv :: Ptr GLfloat -> m ()
glIndexfv = FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> m ()
ffiPtrfloatIOV FunPtr (Ptr GLfloat -> IO ())
glIndexfvFunPtr

glIndexfvFunPtr :: FunPtr (Ptr GLfloat -> IO ())
glIndexfvFunPtr :: FunPtr (Ptr GLfloat -> IO ())
glIndexfvFunPtr = IO (FunPtr (Ptr GLfloat -> IO ())) -> FunPtr (Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glIndexfv")

{-# NOINLINE glIndexfvFunPtr #-}

-- | Usage: @'glIndexi' c@
--
-- The parameter @c@ is a @ColorIndexValueI@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glIndexiv'.


glIndexi :: MonadIO m => GLint -> m ()
glIndexi :: GLsizei -> m ()
glIndexi = FunPtr (GLsizei -> IO ()) -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> IO ()) -> GLsizei -> m ()
ffiintIOV FunPtr (GLsizei -> IO ())
glIndexiFunPtr

glIndexiFunPtr :: FunPtr (GLint -> IO ())
glIndexiFunPtr :: FunPtr (GLsizei -> IO ())
glIndexiFunPtr = IO (FunPtr (GLsizei -> IO ())) -> FunPtr (GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glIndexi")

{-# NOINLINE glIndexiFunPtr #-}

-- | Usage: @'glIndexiv' c@
--
-- The parameter @c@ is a @ColorIndexValueI@.
--
-- The length of @c@ should be @1@.


glIndexiv :: MonadIO m => Ptr GLint -> m ()
glIndexiv :: Ptr GLsizei -> m ()
glIndexiv = FunPtr (Ptr GLsizei -> IO ()) -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLsizei -> IO ()) -> Ptr GLsizei -> m ()
ffiPtrintIOV FunPtr (Ptr GLsizei -> IO ())
glIndexivFunPtr

glIndexivFunPtr :: FunPtr (Ptr GLint -> IO ())
glIndexivFunPtr :: FunPtr (Ptr GLsizei -> IO ())
glIndexivFunPtr = IO (FunPtr (Ptr GLsizei -> IO ())) -> FunPtr (Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glIndexiv")

{-# NOINLINE glIndexivFunPtr #-}

-- | Usage: @'glIndexs' c@
--
-- The parameter @c@ is a @ColorIndexValueS@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glIndexsv'.


glIndexs :: MonadIO m => GLshort -> m ()
glIndexs :: GLshort -> m ()
glIndexs = FunPtr (GLshort -> IO ()) -> GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLshort -> IO ()) -> GLshort -> m ()
ffishortIOV FunPtr (GLshort -> IO ())
glIndexsFunPtr

glIndexsFunPtr :: FunPtr (GLshort -> IO ())
glIndexsFunPtr :: FunPtr (GLshort -> IO ())
glIndexsFunPtr = IO (FunPtr (GLshort -> IO ())) -> FunPtr (GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glIndexs")

{-# NOINLINE glIndexsFunPtr #-}

-- | Usage: @'glIndexsv' c@
--
-- The parameter @c@ is a @ColorIndexValueS@.
--
-- The length of @c@ should be @1@.


glIndexsv :: MonadIO m => Ptr GLshort -> m ()
glIndexsv :: Ptr GLshort -> m ()
glIndexsv = FunPtr (Ptr GLshort -> IO ()) -> Ptr GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLshort -> IO ()) -> Ptr GLshort -> m ()
ffiPtrshortIOV FunPtr (Ptr GLshort -> IO ())
glIndexsvFunPtr

glIndexsvFunPtr :: FunPtr (Ptr GLshort -> IO ())
glIndexsvFunPtr :: FunPtr (Ptr GLshort -> IO ())
glIndexsvFunPtr = IO (FunPtr (Ptr GLshort -> IO ())) -> FunPtr (Ptr GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glIndexsv")

{-# NOINLINE glIndexsvFunPtr #-}

-- | Usage: @'glIndexub' c@
--
-- The parameter @c@ is a @ColorIndexValueUB@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glIndexubv'.


glIndexub :: MonadIO m => GLubyte -> m ()
glIndexub :: GLboolean -> m ()
glIndexub = FunPtr (GLboolean -> IO ()) -> GLboolean -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLboolean -> IO ()) -> GLboolean -> m ()
ffiubyteIOV FunPtr (GLboolean -> IO ())
glIndexubFunPtr

glIndexubFunPtr :: FunPtr (GLubyte -> IO ())
glIndexubFunPtr :: FunPtr (GLboolean -> IO ())
glIndexubFunPtr = IO (FunPtr (GLboolean -> IO ())) -> FunPtr (GLboolean -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLboolean -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glIndexub")

{-# NOINLINE glIndexubFunPtr #-}

-- | Usage: @'glIndexubv' c@
--
-- The parameter @c@ is a @ColorIndexValueUB@.
--
-- The length of @c@ should be @1@.


glIndexubv :: MonadIO m => Ptr GLubyte -> m ()
glIndexubv :: Ptr GLboolean -> m ()
glIndexubv = FunPtr (Ptr GLboolean -> IO ()) -> Ptr GLboolean -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLboolean -> IO ()) -> Ptr GLboolean -> m ()
ffiPtrubyteIOV FunPtr (Ptr GLboolean -> IO ())
glIndexubvFunPtr

glIndexubvFunPtr :: FunPtr (Ptr GLubyte -> IO ())
glIndexubvFunPtr :: FunPtr (Ptr GLboolean -> IO ())
glIndexubvFunPtr = IO (FunPtr (Ptr GLboolean -> IO ()))
-> FunPtr (Ptr GLboolean -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLboolean -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glIndexubv")

{-# NOINLINE glIndexubvFunPtr #-}

-- | Usage: @'glInitNames'@


glInitNames :: MonadIO m => m ()
glInitNames :: m ()
glInitNames = FunPtr (IO ()) -> m ()
forall (m :: * -> *). MonadIO m => FunPtr (IO ()) -> m ()
ffiIOV FunPtr (IO ())
glInitNamesFunPtr

glInitNamesFunPtr :: FunPtr (IO ())
glInitNamesFunPtr :: FunPtr (IO ())
glInitNamesFunPtr = IO (FunPtr (IO ())) -> FunPtr (IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glInitNames")

{-# NOINLINE glInitNamesFunPtr #-}

-- | Usage: @'glInterleavedArrays' format stride pointer@
--
-- The parameter @format@ is a @InterleavedArrayFormat@, one of: 'Graphics.GL.Internal.Shared.GL_C3F_V3F', 'Graphics.GL.Internal.Shared.GL_C4F_N3F_V3F', 'Graphics.GL.Internal.Shared.GL_C4UB_V2F', 'Graphics.GL.Internal.Shared.GL_C4UB_V3F', 'Graphics.GL.Internal.Shared.GL_N3F_V3F', 'Graphics.GL.Internal.Shared.GL_T2F_C3F_V3F', 'Graphics.GL.Internal.Shared.GL_T2F_C4F_N3F_V3F', 'Graphics.GL.Internal.Shared.GL_T2F_C4UB_V3F', 'Graphics.GL.Internal.Shared.GL_T2F_N3F_V3F', 'Graphics.GL.Internal.Shared.GL_T2F_V3F', 'Graphics.GL.Internal.Shared.GL_T4F_C4F_N3F_V4F', 'Graphics.GL.Internal.Shared.GL_T4F_V4F', 'Graphics.GL.Internal.Shared.GL_V2F', 'Graphics.GL.Internal.Shared.GL_V3F'.
--
-- The length of @pointer@ should be @COMPSIZE(format,stride)@.


glInterleavedArrays :: MonadIO m => GLenum -> GLsizei -> Ptr () -> m ()
glInterleavedArrays :: GLenum -> GLsizei -> Ptr () -> m ()
glInterleavedArrays = FunPtr (GLenum -> GLsizei -> Ptr () -> IO ())
-> GLenum -> GLsizei -> Ptr () -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> Ptr () -> IO ())
-> GLenum -> GLsizei -> Ptr () -> m ()
ffienumsizeiPtrVIOV FunPtr (GLenum -> GLsizei -> Ptr () -> IO ())
glInterleavedArraysFunPtr

glInterleavedArraysFunPtr :: FunPtr (GLenum -> GLsizei -> Ptr () -> IO ())
glInterleavedArraysFunPtr :: FunPtr (GLenum -> GLsizei -> Ptr () -> IO ())
glInterleavedArraysFunPtr = IO (FunPtr (GLenum -> GLsizei -> Ptr () -> IO ()))
-> FunPtr (GLenum -> GLsizei -> Ptr () -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLsizei -> Ptr () -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glInterleavedArrays")

{-# NOINLINE glInterleavedArraysFunPtr #-}

-- | Usage: @'glIsList' list@
--
-- The parameter @list@ is a @List@.


glIsList :: MonadIO m => GLuint -> m GLboolean
glIsList :: GLenum -> m GLboolean
glIsList = FunPtr (GLenum -> IO GLboolean) -> GLenum -> m GLboolean
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO GLboolean) -> GLenum -> m GLboolean
ffiuintIOboolean FunPtr (GLenum -> IO GLboolean)
glIsListFunPtr

glIsListFunPtr :: FunPtr (GLuint -> IO GLboolean)
glIsListFunPtr :: FunPtr (GLenum -> IO GLboolean)
glIsListFunPtr = IO (FunPtr (GLenum -> IO GLboolean))
-> FunPtr (GLenum -> IO GLboolean)
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO GLboolean))
forall a. String -> IO (FunPtr a)
getProcAddress "glIsList")

{-# NOINLINE glIsListFunPtr #-}

-- | Usage: @'glLightModelf' pname param@
--
-- The parameter @pname@ is a @LightModelParameter@, one of: 'Graphics.GL.Internal.Shared.GL_LIGHT_MODEL_AMBIENT', 'Graphics.GL.Internal.Shared.GL_LIGHT_MODEL_COLOR_CONTROL', 'Graphics.GL.Ext.EXT.SeparateSpecularColor.GL_LIGHT_MODEL_COLOR_CONTROL_EXT', 'Graphics.GL.Internal.Shared.GL_LIGHT_MODEL_LOCAL_VIEWER', 'Graphics.GL.Internal.Shared.GL_LIGHT_MODEL_TWO_SIDE'.


glLightModelf :: MonadIO m => GLenum -> GLfloat -> m ()
glLightModelf :: GLenum -> GLfloat -> m ()
glLightModelf = FunPtr (GLenum -> GLfloat -> IO ()) -> GLenum -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLfloat -> IO ()) -> GLenum -> GLfloat -> m ()
ffienumfloatIOV FunPtr (GLenum -> GLfloat -> IO ())
glLightModelfFunPtr

glLightModelfFunPtr :: FunPtr (GLenum -> GLfloat -> IO ())
glLightModelfFunPtr :: FunPtr (GLenum -> GLfloat -> IO ())
glLightModelfFunPtr = IO (FunPtr (GLenum -> GLfloat -> IO ()))
-> FunPtr (GLenum -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glLightModelf")

{-# NOINLINE glLightModelfFunPtr #-}

-- | Usage: @'glLightModelfv' pname params@
--
-- The parameter @pname@ is a @LightModelParameter@, one of: 'Graphics.GL.Internal.Shared.GL_LIGHT_MODEL_AMBIENT', 'Graphics.GL.Internal.Shared.GL_LIGHT_MODEL_COLOR_CONTROL', 'Graphics.GL.Ext.EXT.SeparateSpecularColor.GL_LIGHT_MODEL_COLOR_CONTROL_EXT', 'Graphics.GL.Internal.Shared.GL_LIGHT_MODEL_LOCAL_VIEWER', 'Graphics.GL.Internal.Shared.GL_LIGHT_MODEL_TWO_SIDE'.
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glLightModelfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glLightModelfv :: GLenum -> Ptr GLfloat -> m ()
glLightModelfv = FunPtr (GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> Ptr GLfloat -> m ()
ffienumPtrfloatIOV FunPtr (GLenum -> Ptr GLfloat -> IO ())
glLightModelfvFunPtr

glLightModelfvFunPtr :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
glLightModelfvFunPtr :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
glLightModelfvFunPtr = IO (FunPtr (GLenum -> Ptr GLfloat -> IO ()))
-> FunPtr (GLenum -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glLightModelfv")

{-# NOINLINE glLightModelfvFunPtr #-}

-- | Usage: @'glLightModeli' pname param@
--
-- The parameter @pname@ is a @LightModelParameter@, one of: 'Graphics.GL.Internal.Shared.GL_LIGHT_MODEL_AMBIENT', 'Graphics.GL.Internal.Shared.GL_LIGHT_MODEL_COLOR_CONTROL', 'Graphics.GL.Ext.EXT.SeparateSpecularColor.GL_LIGHT_MODEL_COLOR_CONTROL_EXT', 'Graphics.GL.Internal.Shared.GL_LIGHT_MODEL_LOCAL_VIEWER', 'Graphics.GL.Internal.Shared.GL_LIGHT_MODEL_TWO_SIDE'.


glLightModeli :: MonadIO m => GLenum -> GLint -> m ()
glLightModeli :: GLenum -> GLsizei -> m ()
glLightModeli = FunPtr (GLenum -> GLsizei -> IO ()) -> GLenum -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> IO ()) -> GLenum -> GLsizei -> m ()
ffienumintIOV FunPtr (GLenum -> GLsizei -> IO ())
glLightModeliFunPtr

glLightModeliFunPtr :: FunPtr (GLenum -> GLint -> IO ())
glLightModeliFunPtr :: FunPtr (GLenum -> GLsizei -> IO ())
glLightModeliFunPtr = IO (FunPtr (GLenum -> GLsizei -> IO ()))
-> FunPtr (GLenum -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glLightModeli")

{-# NOINLINE glLightModeliFunPtr #-}

-- | Usage: @'glLightModeliv' pname params@
--
-- The parameter @pname@ is a @LightModelParameter@, one of: 'Graphics.GL.Internal.Shared.GL_LIGHT_MODEL_AMBIENT', 'Graphics.GL.Internal.Shared.GL_LIGHT_MODEL_COLOR_CONTROL', 'Graphics.GL.Ext.EXT.SeparateSpecularColor.GL_LIGHT_MODEL_COLOR_CONTROL_EXT', 'Graphics.GL.Internal.Shared.GL_LIGHT_MODEL_LOCAL_VIEWER', 'Graphics.GL.Internal.Shared.GL_LIGHT_MODEL_TWO_SIDE'.
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glLightModeliv :: MonadIO m => GLenum -> Ptr GLint -> m ()
glLightModeliv :: GLenum -> Ptr GLsizei -> m ()
glLightModeliv = FunPtr (GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> Ptr GLsizei -> m ()
ffienumPtrintIOV FunPtr (GLenum -> Ptr GLsizei -> IO ())
glLightModelivFunPtr

glLightModelivFunPtr :: FunPtr (GLenum -> Ptr GLint -> IO ())
glLightModelivFunPtr :: FunPtr (GLenum -> Ptr GLsizei -> IO ())
glLightModelivFunPtr = IO (FunPtr (GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glLightModeliv")

{-# NOINLINE glLightModelivFunPtr #-}

-- | Usage: @'glLightf' light pname param@
--
-- The parameter @light@ is a @LightName@, one of: 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT0_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT1_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT2_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT3_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT4_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT5_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT6_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT7_SGIX', 'Graphics.GL.Internal.Shared.GL_LIGHT0', 'Graphics.GL.Internal.Shared.GL_LIGHT1', 'Graphics.GL.Internal.Shared.GL_LIGHT2', 'Graphics.GL.Internal.Shared.GL_LIGHT3', 'Graphics.GL.Internal.Shared.GL_LIGHT4', 'Graphics.GL.Internal.Shared.GL_LIGHT5', 'Graphics.GL.Internal.Shared.GL_LIGHT6', 'Graphics.GL.Internal.Shared.GL_LIGHT7'.
--
-- The parameter @pname@ is a @LightParameter@, one of: 'Graphics.GL.Internal.Shared.GL_AMBIENT', 'Graphics.GL.Internal.Shared.GL_CONSTANT_ATTENUATION', 'Graphics.GL.Internal.Shared.GL_DIFFUSE', 'Graphics.GL.Internal.Shared.GL_LINEAR_ATTENUATION', 'Graphics.GL.Internal.Shared.GL_POSITION', 'Graphics.GL.Internal.Shared.GL_QUADRATIC_ATTENUATION', 'Graphics.GL.Internal.Shared.GL_SPECULAR', 'Graphics.GL.Internal.Shared.GL_SPOT_CUTOFF', 'Graphics.GL.Internal.Shared.GL_SPOT_DIRECTION', 'Graphics.GL.Internal.Shared.GL_SPOT_EXPONENT'.
--
-- The parameter @param@ is a @CheckedFloat32@.


glLightf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()
glLightf :: GLenum -> GLenum -> GLfloat -> m ()
glLightf = FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
-> GLenum -> GLenum -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
-> GLenum -> GLenum -> GLfloat -> m ()
ffienumenumfloatIOV FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
glLightfFunPtr

glLightfFunPtr :: FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
glLightfFunPtr :: FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
glLightfFunPtr = IO (FunPtr (GLenum -> GLenum -> GLfloat -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glLightf")

{-# NOINLINE glLightfFunPtr #-}

-- | Usage: @'glLightfv' light pname params@
--
-- The parameter @light@ is a @LightName@, one of: 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT0_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT1_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT2_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT3_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT4_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT5_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT6_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT7_SGIX', 'Graphics.GL.Internal.Shared.GL_LIGHT0', 'Graphics.GL.Internal.Shared.GL_LIGHT1', 'Graphics.GL.Internal.Shared.GL_LIGHT2', 'Graphics.GL.Internal.Shared.GL_LIGHT3', 'Graphics.GL.Internal.Shared.GL_LIGHT4', 'Graphics.GL.Internal.Shared.GL_LIGHT5', 'Graphics.GL.Internal.Shared.GL_LIGHT6', 'Graphics.GL.Internal.Shared.GL_LIGHT7'.
--
-- The parameter @pname@ is a @LightParameter@, one of: 'Graphics.GL.Internal.Shared.GL_AMBIENT', 'Graphics.GL.Internal.Shared.GL_CONSTANT_ATTENUATION', 'Graphics.GL.Internal.Shared.GL_DIFFUSE', 'Graphics.GL.Internal.Shared.GL_LINEAR_ATTENUATION', 'Graphics.GL.Internal.Shared.GL_POSITION', 'Graphics.GL.Internal.Shared.GL_QUADRATIC_ATTENUATION', 'Graphics.GL.Internal.Shared.GL_SPECULAR', 'Graphics.GL.Internal.Shared.GL_SPOT_CUTOFF', 'Graphics.GL.Internal.Shared.GL_SPOT_DIRECTION', 'Graphics.GL.Internal.Shared.GL_SPOT_EXPONENT'.
--
-- The parameter @params@ is a @CheckedFloat32@.
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glLightfv :: GLenum -> GLenum -> Ptr GLfloat -> m ()
glLightfv = FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> GLenum -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> GLenum -> Ptr GLfloat -> m ()
ffienumenumPtrfloatIOV FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glLightfvFunPtr

glLightfvFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glLightfvFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glLightfvFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glLightfv")

{-# NOINLINE glLightfvFunPtr #-}

-- | Usage: @'glLighti' light pname param@
--
-- The parameter @light@ is a @LightName@, one of: 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT0_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT1_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT2_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT3_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT4_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT5_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT6_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT7_SGIX', 'Graphics.GL.Internal.Shared.GL_LIGHT0', 'Graphics.GL.Internal.Shared.GL_LIGHT1', 'Graphics.GL.Internal.Shared.GL_LIGHT2', 'Graphics.GL.Internal.Shared.GL_LIGHT3', 'Graphics.GL.Internal.Shared.GL_LIGHT4', 'Graphics.GL.Internal.Shared.GL_LIGHT5', 'Graphics.GL.Internal.Shared.GL_LIGHT6', 'Graphics.GL.Internal.Shared.GL_LIGHT7'.
--
-- The parameter @pname@ is a @LightParameter@, one of: 'Graphics.GL.Internal.Shared.GL_AMBIENT', 'Graphics.GL.Internal.Shared.GL_CONSTANT_ATTENUATION', 'Graphics.GL.Internal.Shared.GL_DIFFUSE', 'Graphics.GL.Internal.Shared.GL_LINEAR_ATTENUATION', 'Graphics.GL.Internal.Shared.GL_POSITION', 'Graphics.GL.Internal.Shared.GL_QUADRATIC_ATTENUATION', 'Graphics.GL.Internal.Shared.GL_SPECULAR', 'Graphics.GL.Internal.Shared.GL_SPOT_CUTOFF', 'Graphics.GL.Internal.Shared.GL_SPOT_DIRECTION', 'Graphics.GL.Internal.Shared.GL_SPOT_EXPONENT'.
--
-- The parameter @param@ is a @CheckedInt32@.


glLighti :: MonadIO m => GLenum -> GLenum -> GLint -> m ()
glLighti :: GLenum -> GLenum -> GLsizei -> m ()
glLighti = FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
-> GLenum -> GLenum -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
-> GLenum -> GLenum -> GLsizei -> m ()
ffienumenumintIOV FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
glLightiFunPtr

glLightiFunPtr :: FunPtr (GLenum -> GLenum -> GLint -> IO ())
glLightiFunPtr :: FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
glLightiFunPtr = IO (FunPtr (GLenum -> GLenum -> GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glLighti")

{-# NOINLINE glLightiFunPtr #-}

-- | Usage: @'glLightiv' light pname params@
--
-- The parameter @light@ is a @LightName@, one of: 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT0_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT1_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT2_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT3_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT4_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT5_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT6_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT7_SGIX', 'Graphics.GL.Internal.Shared.GL_LIGHT0', 'Graphics.GL.Internal.Shared.GL_LIGHT1', 'Graphics.GL.Internal.Shared.GL_LIGHT2', 'Graphics.GL.Internal.Shared.GL_LIGHT3', 'Graphics.GL.Internal.Shared.GL_LIGHT4', 'Graphics.GL.Internal.Shared.GL_LIGHT5', 'Graphics.GL.Internal.Shared.GL_LIGHT6', 'Graphics.GL.Internal.Shared.GL_LIGHT7'.
--
-- The parameter @pname@ is a @LightParameter@, one of: 'Graphics.GL.Internal.Shared.GL_AMBIENT', 'Graphics.GL.Internal.Shared.GL_CONSTANT_ATTENUATION', 'Graphics.GL.Internal.Shared.GL_DIFFUSE', 'Graphics.GL.Internal.Shared.GL_LINEAR_ATTENUATION', 'Graphics.GL.Internal.Shared.GL_POSITION', 'Graphics.GL.Internal.Shared.GL_QUADRATIC_ATTENUATION', 'Graphics.GL.Internal.Shared.GL_SPECULAR', 'Graphics.GL.Internal.Shared.GL_SPOT_CUTOFF', 'Graphics.GL.Internal.Shared.GL_SPOT_DIRECTION', 'Graphics.GL.Internal.Shared.GL_SPOT_EXPONENT'.
--
-- The parameter @params@ is a @CheckedInt32@.
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glLightiv :: GLenum -> GLenum -> Ptr GLsizei -> m ()
glLightiv = FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
ffienumenumPtrintIOV FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glLightivFunPtr

glLightivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
glLightivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glLightivFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glLightiv")

{-# NOINLINE glLightivFunPtr #-}

-- | Usage: @'glLineStipple' factor pattern@
--
-- The parameter @factor@ is a @CheckedInt32@.
--
-- The parameter @pattern@ is a @LineStipple@.


glLineStipple :: MonadIO m => GLint -> GLushort -> m ()
glLineStipple :: GLsizei -> GLushort -> m ()
glLineStipple = FunPtr (GLsizei -> GLushort -> IO ())
-> GLsizei -> GLushort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLushort -> IO ())
-> GLsizei -> GLushort -> m ()
ffiintushortIOV FunPtr (GLsizei -> GLushort -> IO ())
glLineStippleFunPtr

glLineStippleFunPtr :: FunPtr (GLint -> GLushort -> IO ())
glLineStippleFunPtr :: FunPtr (GLsizei -> GLushort -> IO ())
glLineStippleFunPtr = IO (FunPtr (GLsizei -> GLushort -> IO ()))
-> FunPtr (GLsizei -> GLushort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> GLushort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glLineStipple")

{-# NOINLINE glLineStippleFunPtr #-}

-- | Usage: @'glListBase' base@
--
-- The parameter @base@ is a @List@.


glListBase :: MonadIO m => GLuint -> m ()
glListBase :: GLenum -> m ()
glListBase = FunPtr (GLenum -> IO ()) -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO ()) -> GLenum -> m ()
ffiuintIOV FunPtr (GLenum -> IO ())
glListBaseFunPtr

glListBaseFunPtr :: FunPtr (GLuint -> IO ())
glListBaseFunPtr :: FunPtr (GLenum -> IO ())
glListBaseFunPtr = IO (FunPtr (GLenum -> IO ())) -> FunPtr (GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glListBase")

{-# NOINLINE glListBaseFunPtr #-}

-- | Usage: @'glLoadIdentity'@


glLoadIdentity :: MonadIO m => m ()
glLoadIdentity :: m ()
glLoadIdentity = FunPtr (IO ()) -> m ()
forall (m :: * -> *). MonadIO m => FunPtr (IO ()) -> m ()
ffiIOV FunPtr (IO ())
glLoadIdentityFunPtr

glLoadIdentityFunPtr :: FunPtr (IO ())
glLoadIdentityFunPtr :: FunPtr (IO ())
glLoadIdentityFunPtr = IO (FunPtr (IO ())) -> FunPtr (IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glLoadIdentity")

{-# NOINLINE glLoadIdentityFunPtr #-}

-- | Usage: @'glLoadMatrixd' m@
--
-- The length of @m@ should be @16@.


glLoadMatrixd :: MonadIO m => Ptr GLdouble -> m ()
glLoadMatrixd :: Ptr GLdouble -> m ()
glLoadMatrixd = FunPtr (Ptr GLdouble -> IO ()) -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLdouble -> IO ()) -> Ptr GLdouble -> m ()
ffiPtrdoubleIOV FunPtr (Ptr GLdouble -> IO ())
glLoadMatrixdFunPtr

glLoadMatrixdFunPtr :: FunPtr (Ptr GLdouble -> IO ())
glLoadMatrixdFunPtr :: FunPtr (Ptr GLdouble -> IO ())
glLoadMatrixdFunPtr = IO (FunPtr (Ptr GLdouble -> IO ()))
-> FunPtr (Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glLoadMatrixd")

{-# NOINLINE glLoadMatrixdFunPtr #-}

-- | Usage: @'glLoadMatrixf' m@
--
-- The length of @m@ should be @16@.


glLoadMatrixf :: MonadIO m => Ptr GLfloat -> m ()
glLoadMatrixf :: Ptr GLfloat -> m ()
glLoadMatrixf = FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> m ()
ffiPtrfloatIOV FunPtr (Ptr GLfloat -> IO ())
glLoadMatrixfFunPtr

glLoadMatrixfFunPtr :: FunPtr (Ptr GLfloat -> IO ())
glLoadMatrixfFunPtr :: FunPtr (Ptr GLfloat -> IO ())
glLoadMatrixfFunPtr = IO (FunPtr (Ptr GLfloat -> IO ())) -> FunPtr (Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glLoadMatrixf")

{-# NOINLINE glLoadMatrixfFunPtr #-}

-- | Usage: @'glLoadName' name@
--
-- The parameter @name@ is a @SelectName@.


glLoadName :: MonadIO m => GLuint -> m ()
glLoadName :: GLenum -> m ()
glLoadName = FunPtr (GLenum -> IO ()) -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO ()) -> GLenum -> m ()
ffiuintIOV FunPtr (GLenum -> IO ())
glLoadNameFunPtr

glLoadNameFunPtr :: FunPtr (GLuint -> IO ())
glLoadNameFunPtr :: FunPtr (GLenum -> IO ())
glLoadNameFunPtr = IO (FunPtr (GLenum -> IO ())) -> FunPtr (GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glLoadName")

{-# NOINLINE glLoadNameFunPtr #-}

-- | Usage: @'glLoadTransposeMatrixd' m@
--
-- The length of @m@ should be @16@.


glLoadTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()
glLoadTransposeMatrixd :: Ptr GLdouble -> m ()
glLoadTransposeMatrixd = FunPtr (Ptr GLdouble -> IO ()) -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLdouble -> IO ()) -> Ptr GLdouble -> m ()
ffiPtrdoubleIOV FunPtr (Ptr GLdouble -> IO ())
glLoadTransposeMatrixdFunPtr

glLoadTransposeMatrixdFunPtr :: FunPtr (Ptr GLdouble -> IO ())
glLoadTransposeMatrixdFunPtr :: FunPtr (Ptr GLdouble -> IO ())
glLoadTransposeMatrixdFunPtr = IO (FunPtr (Ptr GLdouble -> IO ()))
-> FunPtr (Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glLoadTransposeMatrixd")

{-# NOINLINE glLoadTransposeMatrixdFunPtr #-}

-- | Usage: @'glLoadTransposeMatrixf' m@
--
-- The length of @m@ should be @16@.


glLoadTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()
glLoadTransposeMatrixf :: Ptr GLfloat -> m ()
glLoadTransposeMatrixf = FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> m ()
ffiPtrfloatIOV FunPtr (Ptr GLfloat -> IO ())
glLoadTransposeMatrixfFunPtr

glLoadTransposeMatrixfFunPtr :: FunPtr (Ptr GLfloat -> IO ())
glLoadTransposeMatrixfFunPtr :: FunPtr (Ptr GLfloat -> IO ())
glLoadTransposeMatrixfFunPtr = IO (FunPtr (Ptr GLfloat -> IO ())) -> FunPtr (Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glLoadTransposeMatrixf")

{-# NOINLINE glLoadTransposeMatrixfFunPtr #-}

-- | Usage: @'glMap1d' target u1 u2 stride order points@
--
-- The parameter @target@ is a @MapTarget@, one of: 'Graphics.GL.Ext.SGIX.PolynomialFfd.GL_GEOMETRY_DEFORMATION_SGIX', 'Graphics.GL.Internal.Shared.GL_MAP1_COLOR_4', 'Graphics.GL.Internal.Shared.GL_MAP1_INDEX', 'Graphics.GL.Internal.Shared.GL_MAP1_NORMAL', 'Graphics.GL.Internal.Shared.GL_MAP1_TEXTURE_COORD_1', 'Graphics.GL.Internal.Shared.GL_MAP1_TEXTURE_COORD_2', 'Graphics.GL.Internal.Shared.GL_MAP1_TEXTURE_COORD_3', 'Graphics.GL.Internal.Shared.GL_MAP1_TEXTURE_COORD_4', 'Graphics.GL.Internal.Shared.GL_MAP1_VERTEX_3', 'Graphics.GL.Internal.Shared.GL_MAP1_VERTEX_4', 'Graphics.GL.Internal.Shared.GL_MAP2_COLOR_4', 'Graphics.GL.Internal.Shared.GL_MAP2_INDEX', 'Graphics.GL.Internal.Shared.GL_MAP2_NORMAL', 'Graphics.GL.Internal.Shared.GL_MAP2_TEXTURE_COORD_1', 'Graphics.GL.Internal.Shared.GL_MAP2_TEXTURE_COORD_2', 'Graphics.GL.Internal.Shared.GL_MAP2_TEXTURE_COORD_3', 'Graphics.GL.Internal.Shared.GL_MAP2_TEXTURE_COORD_4', 'Graphics.GL.Internal.Shared.GL_MAP2_VERTEX_3', 'Graphics.GL.Internal.Shared.GL_MAP2_VERTEX_4', 'Graphics.GL.Ext.SGIX.PolynomialFfd.GL_TEXTURE_DEFORMATION_SGIX'.
--
-- The parameter @u1@ is a @CoordD@.
--
-- The parameter @u2@ is a @CoordD@.
--
-- The parameter @order@ is a @CheckedInt32@.
--
-- The parameter @points@ is a @CoordD@.
--
-- The length of @points@ should be @COMPSIZE(target,stride,order)@.


glMap1d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()
glMap1d :: GLenum
-> GLdouble
-> GLdouble
-> GLsizei
-> GLsizei
-> Ptr GLdouble
-> m ()
glMap1d = FunPtr
  (GLenum
   -> GLdouble
   -> GLdouble
   -> GLsizei
   -> GLsizei
   -> Ptr GLdouble
   -> IO ())
-> GLenum
-> GLdouble
-> GLdouble
-> GLsizei
-> GLsizei
-> Ptr GLdouble
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLdouble
   -> GLdouble
   -> GLsizei
   -> GLsizei
   -> Ptr GLdouble
   -> IO ())
-> GLenum
-> GLdouble
-> GLdouble
-> GLsizei
-> GLsizei
-> Ptr GLdouble
-> m ()
ffienumdoubledoubleintintPtrdoubleIOV FunPtr
  (GLenum
   -> GLdouble
   -> GLdouble
   -> GLsizei
   -> GLsizei
   -> Ptr GLdouble
   -> IO ())
glMap1dFunPtr

glMap1dFunPtr :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ())
glMap1dFunPtr :: FunPtr
  (GLenum
   -> GLdouble
   -> GLdouble
   -> GLsizei
   -> GLsizei
   -> Ptr GLdouble
   -> IO ())
glMap1dFunPtr = IO
  (FunPtr
     (GLenum
      -> GLdouble
      -> GLdouble
      -> GLsizei
      -> GLsizei
      -> Ptr GLdouble
      -> IO ()))
-> FunPtr
     (GLenum
      -> GLdouble
      -> GLdouble
      -> GLsizei
      -> GLsizei
      -> Ptr GLdouble
      -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLdouble
         -> GLdouble
         -> GLsizei
         -> GLsizei
         -> Ptr GLdouble
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMap1d")

{-# NOINLINE glMap1dFunPtr #-}

-- | Usage: @'glMap1f' target u1 u2 stride order points@
--
-- The parameter @target@ is a @MapTarget@, one of: 'Graphics.GL.Ext.SGIX.PolynomialFfd.GL_GEOMETRY_DEFORMATION_SGIX', 'Graphics.GL.Internal.Shared.GL_MAP1_COLOR_4', 'Graphics.GL.Internal.Shared.GL_MAP1_INDEX', 'Graphics.GL.Internal.Shared.GL_MAP1_NORMAL', 'Graphics.GL.Internal.Shared.GL_MAP1_TEXTURE_COORD_1', 'Graphics.GL.Internal.Shared.GL_MAP1_TEXTURE_COORD_2', 'Graphics.GL.Internal.Shared.GL_MAP1_TEXTURE_COORD_3', 'Graphics.GL.Internal.Shared.GL_MAP1_TEXTURE_COORD_4', 'Graphics.GL.Internal.Shared.GL_MAP1_VERTEX_3', 'Graphics.GL.Internal.Shared.GL_MAP1_VERTEX_4', 'Graphics.GL.Internal.Shared.GL_MAP2_COLOR_4', 'Graphics.GL.Internal.Shared.GL_MAP2_INDEX', 'Graphics.GL.Internal.Shared.GL_MAP2_NORMAL', 'Graphics.GL.Internal.Shared.GL_MAP2_TEXTURE_COORD_1', 'Graphics.GL.Internal.Shared.GL_MAP2_TEXTURE_COORD_2', 'Graphics.GL.Internal.Shared.GL_MAP2_TEXTURE_COORD_3', 'Graphics.GL.Internal.Shared.GL_MAP2_TEXTURE_COORD_4', 'Graphics.GL.Internal.Shared.GL_MAP2_VERTEX_3', 'Graphics.GL.Internal.Shared.GL_MAP2_VERTEX_4', 'Graphics.GL.Ext.SGIX.PolynomialFfd.GL_TEXTURE_DEFORMATION_SGIX'.
--
-- The parameter @u1@ is a @CoordF@.
--
-- The parameter @u2@ is a @CoordF@.
--
-- The parameter @order@ is a @CheckedInt32@.
--
-- The parameter @points@ is a @CoordF@.
--
-- The length of @points@ should be @COMPSIZE(target,stride,order)@.


glMap1f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()
glMap1f :: GLenum
-> GLfloat -> GLfloat -> GLsizei -> GLsizei -> Ptr GLfloat -> m ()
glMap1f = FunPtr
  (GLenum
   -> GLfloat
   -> GLfloat
   -> GLsizei
   -> GLsizei
   -> Ptr GLfloat
   -> IO ())
-> GLenum
-> GLfloat
-> GLfloat
-> GLsizei
-> GLsizei
-> Ptr GLfloat
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLfloat
   -> GLfloat
   -> GLsizei
   -> GLsizei
   -> Ptr GLfloat
   -> IO ())
-> GLenum
-> GLfloat
-> GLfloat
-> GLsizei
-> GLsizei
-> Ptr GLfloat
-> m ()
ffienumfloatfloatintintPtrfloatIOV FunPtr
  (GLenum
   -> GLfloat
   -> GLfloat
   -> GLsizei
   -> GLsizei
   -> Ptr GLfloat
   -> IO ())
glMap1fFunPtr

glMap1fFunPtr :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ())
glMap1fFunPtr :: FunPtr
  (GLenum
   -> GLfloat
   -> GLfloat
   -> GLsizei
   -> GLsizei
   -> Ptr GLfloat
   -> IO ())
glMap1fFunPtr = IO
  (FunPtr
     (GLenum
      -> GLfloat
      -> GLfloat
      -> GLsizei
      -> GLsizei
      -> Ptr GLfloat
      -> IO ()))
-> FunPtr
     (GLenum
      -> GLfloat
      -> GLfloat
      -> GLsizei
      -> GLsizei
      -> Ptr GLfloat
      -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLfloat
         -> GLfloat
         -> GLsizei
         -> GLsizei
         -> Ptr GLfloat
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMap1f")

{-# NOINLINE glMap1fFunPtr #-}

-- | Usage: @'glMap2d' target u1 u2 ustride uorder v1 v2 vstride vorder points@
--
-- The parameter @target@ is a @MapTarget@, one of: 'Graphics.GL.Ext.SGIX.PolynomialFfd.GL_GEOMETRY_DEFORMATION_SGIX', 'Graphics.GL.Internal.Shared.GL_MAP1_COLOR_4', 'Graphics.GL.Internal.Shared.GL_MAP1_INDEX', 'Graphics.GL.Internal.Shared.GL_MAP1_NORMAL', 'Graphics.GL.Internal.Shared.GL_MAP1_TEXTURE_COORD_1', 'Graphics.GL.Internal.Shared.GL_MAP1_TEXTURE_COORD_2', 'Graphics.GL.Internal.Shared.GL_MAP1_TEXTURE_COORD_3', 'Graphics.GL.Internal.Shared.GL_MAP1_TEXTURE_COORD_4', 'Graphics.GL.Internal.Shared.GL_MAP1_VERTEX_3', 'Graphics.GL.Internal.Shared.GL_MAP1_VERTEX_4', 'Graphics.GL.Internal.Shared.GL_MAP2_COLOR_4', 'Graphics.GL.Internal.Shared.GL_MAP2_INDEX', 'Graphics.GL.Internal.Shared.GL_MAP2_NORMAL', 'Graphics.GL.Internal.Shared.GL_MAP2_TEXTURE_COORD_1', 'Graphics.GL.Internal.Shared.GL_MAP2_TEXTURE_COORD_2', 'Graphics.GL.Internal.Shared.GL_MAP2_TEXTURE_COORD_3', 'Graphics.GL.Internal.Shared.GL_MAP2_TEXTURE_COORD_4', 'Graphics.GL.Internal.Shared.GL_MAP2_VERTEX_3', 'Graphics.GL.Internal.Shared.GL_MAP2_VERTEX_4', 'Graphics.GL.Ext.SGIX.PolynomialFfd.GL_TEXTURE_DEFORMATION_SGIX'.
--
-- The parameter @u1@ is a @CoordD@.
--
-- The parameter @u2@ is a @CoordD@.
--
-- The parameter @uorder@ is a @CheckedInt32@.
--
-- The parameter @v1@ is a @CoordD@.
--
-- The parameter @v2@ is a @CoordD@.
--
-- The parameter @vorder@ is a @CheckedInt32@.
--
-- The parameter @points@ is a @CoordD@.
--
-- The length of @points@ should be @COMPSIZE(target,ustride,uorder,vstride,vorder)@.


glMap2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()
glMap2d :: GLenum
-> GLdouble
-> GLdouble
-> GLsizei
-> GLsizei
-> GLdouble
-> GLdouble
-> GLsizei
-> GLsizei
-> Ptr GLdouble
-> m ()
glMap2d = FunPtr
  (GLenum
   -> GLdouble
   -> GLdouble
   -> GLsizei
   -> GLsizei
   -> GLdouble
   -> GLdouble
   -> GLsizei
   -> GLsizei
   -> Ptr GLdouble
   -> IO ())
-> GLenum
-> GLdouble
-> GLdouble
-> GLsizei
-> GLsizei
-> GLdouble
-> GLdouble
-> GLsizei
-> GLsizei
-> Ptr GLdouble
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLdouble
   -> GLdouble
   -> GLsizei
   -> GLsizei
   -> GLdouble
   -> GLdouble
   -> GLsizei
   -> GLsizei
   -> Ptr GLdouble
   -> IO ())
-> GLenum
-> GLdouble
-> GLdouble
-> GLsizei
-> GLsizei
-> GLdouble
-> GLdouble
-> GLsizei
-> GLsizei
-> Ptr GLdouble
-> m ()
ffienumdoubledoubleintintdoubledoubleintintPtrdoubleIOV FunPtr
  (GLenum
   -> GLdouble
   -> GLdouble
   -> GLsizei
   -> GLsizei
   -> GLdouble
   -> GLdouble
   -> GLsizei
   -> GLsizei
   -> Ptr GLdouble
   -> IO ())
glMap2dFunPtr

glMap2dFunPtr :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ())
glMap2dFunPtr :: FunPtr
  (GLenum
   -> GLdouble
   -> GLdouble
   -> GLsizei
   -> GLsizei
   -> GLdouble
   -> GLdouble
   -> GLsizei
   -> GLsizei
   -> Ptr GLdouble
   -> IO ())
glMap2dFunPtr = IO
  (FunPtr
     (GLenum
      -> GLdouble
      -> GLdouble
      -> GLsizei
      -> GLsizei
      -> GLdouble
      -> GLdouble
      -> GLsizei
      -> GLsizei
      -> Ptr GLdouble
      -> IO ()))
-> FunPtr
     (GLenum
      -> GLdouble
      -> GLdouble
      -> GLsizei
      -> GLsizei
      -> GLdouble
      -> GLdouble
      -> GLsizei
      -> GLsizei
      -> Ptr GLdouble
      -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLdouble
         -> GLdouble
         -> GLsizei
         -> GLsizei
         -> GLdouble
         -> GLdouble
         -> GLsizei
         -> GLsizei
         -> Ptr GLdouble
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMap2d")

{-# NOINLINE glMap2dFunPtr #-}

-- | Usage: @'glMap2f' target u1 u2 ustride uorder v1 v2 vstride vorder points@
--
-- The parameter @target@ is a @MapTarget@, one of: 'Graphics.GL.Ext.SGIX.PolynomialFfd.GL_GEOMETRY_DEFORMATION_SGIX', 'Graphics.GL.Internal.Shared.GL_MAP1_COLOR_4', 'Graphics.GL.Internal.Shared.GL_MAP1_INDEX', 'Graphics.GL.Internal.Shared.GL_MAP1_NORMAL', 'Graphics.GL.Internal.Shared.GL_MAP1_TEXTURE_COORD_1', 'Graphics.GL.Internal.Shared.GL_MAP1_TEXTURE_COORD_2', 'Graphics.GL.Internal.Shared.GL_MAP1_TEXTURE_COORD_3', 'Graphics.GL.Internal.Shared.GL_MAP1_TEXTURE_COORD_4', 'Graphics.GL.Internal.Shared.GL_MAP1_VERTEX_3', 'Graphics.GL.Internal.Shared.GL_MAP1_VERTEX_4', 'Graphics.GL.Internal.Shared.GL_MAP2_COLOR_4', 'Graphics.GL.Internal.Shared.GL_MAP2_INDEX', 'Graphics.GL.Internal.Shared.GL_MAP2_NORMAL', 'Graphics.GL.Internal.Shared.GL_MAP2_TEXTURE_COORD_1', 'Graphics.GL.Internal.Shared.GL_MAP2_TEXTURE_COORD_2', 'Graphics.GL.Internal.Shared.GL_MAP2_TEXTURE_COORD_3', 'Graphics.GL.Internal.Shared.GL_MAP2_TEXTURE_COORD_4', 'Graphics.GL.Internal.Shared.GL_MAP2_VERTEX_3', 'Graphics.GL.Internal.Shared.GL_MAP2_VERTEX_4', 'Graphics.GL.Ext.SGIX.PolynomialFfd.GL_TEXTURE_DEFORMATION_SGIX'.
--
-- The parameter @u1@ is a @CoordF@.
--
-- The parameter @u2@ is a @CoordF@.
--
-- The parameter @uorder@ is a @CheckedInt32@.
--
-- The parameter @v1@ is a @CoordF@.
--
-- The parameter @v2@ is a @CoordF@.
--
-- The parameter @vorder@ is a @CheckedInt32@.
--
-- The parameter @points@ is a @CoordF@.
--
-- The length of @points@ should be @COMPSIZE(target,ustride,uorder,vstride,vorder)@.


glMap2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()
glMap2f :: GLenum
-> GLfloat
-> GLfloat
-> GLsizei
-> GLsizei
-> GLfloat
-> GLfloat
-> GLsizei
-> GLsizei
-> Ptr GLfloat
-> m ()
glMap2f = FunPtr
  (GLenum
   -> GLfloat
   -> GLfloat
   -> GLsizei
   -> GLsizei
   -> GLfloat
   -> GLfloat
   -> GLsizei
   -> GLsizei
   -> Ptr GLfloat
   -> IO ())
-> GLenum
-> GLfloat
-> GLfloat
-> GLsizei
-> GLsizei
-> GLfloat
-> GLfloat
-> GLsizei
-> GLsizei
-> Ptr GLfloat
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLfloat
   -> GLfloat
   -> GLsizei
   -> GLsizei
   -> GLfloat
   -> GLfloat
   -> GLsizei
   -> GLsizei
   -> Ptr GLfloat
   -> IO ())
-> GLenum
-> GLfloat
-> GLfloat
-> GLsizei
-> GLsizei
-> GLfloat
-> GLfloat
-> GLsizei
-> GLsizei
-> Ptr GLfloat
-> m ()
ffienumfloatfloatintintfloatfloatintintPtrfloatIOV FunPtr
  (GLenum
   -> GLfloat
   -> GLfloat
   -> GLsizei
   -> GLsizei
   -> GLfloat
   -> GLfloat
   -> GLsizei
   -> GLsizei
   -> Ptr GLfloat
   -> IO ())
glMap2fFunPtr

glMap2fFunPtr :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ())
glMap2fFunPtr :: FunPtr
  (GLenum
   -> GLfloat
   -> GLfloat
   -> GLsizei
   -> GLsizei
   -> GLfloat
   -> GLfloat
   -> GLsizei
   -> GLsizei
   -> Ptr GLfloat
   -> IO ())
glMap2fFunPtr = IO
  (FunPtr
     (GLenum
      -> GLfloat
      -> GLfloat
      -> GLsizei
      -> GLsizei
      -> GLfloat
      -> GLfloat
      -> GLsizei
      -> GLsizei
      -> Ptr GLfloat
      -> IO ()))
-> FunPtr
     (GLenum
      -> GLfloat
      -> GLfloat
      -> GLsizei
      -> GLsizei
      -> GLfloat
      -> GLfloat
      -> GLsizei
      -> GLsizei
      -> Ptr GLfloat
      -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLfloat
         -> GLfloat
         -> GLsizei
         -> GLsizei
         -> GLfloat
         -> GLfloat
         -> GLsizei
         -> GLsizei
         -> Ptr GLfloat
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMap2f")

{-# NOINLINE glMap2fFunPtr #-}

-- | Usage: @'glMapGrid1d' un u1 u2@
--
-- The parameter @u1@ is a @CoordD@.
--
-- The parameter @u2@ is a @CoordD@.


glMapGrid1d :: MonadIO m => GLint -> GLdouble -> GLdouble -> m ()
glMapGrid1d :: GLsizei -> GLdouble -> GLdouble -> m ()
glMapGrid1d = FunPtr (GLsizei -> GLdouble -> GLdouble -> IO ())
-> GLsizei -> GLdouble -> GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLdouble -> GLdouble -> IO ())
-> GLsizei -> GLdouble -> GLdouble -> m ()
ffiintdoubledoubleIOV FunPtr (GLsizei -> GLdouble -> GLdouble -> IO ())
glMapGrid1dFunPtr

glMapGrid1dFunPtr :: FunPtr (GLint -> GLdouble -> GLdouble -> IO ())
glMapGrid1dFunPtr :: FunPtr (GLsizei -> GLdouble -> GLdouble -> IO ())
glMapGrid1dFunPtr = IO (FunPtr (GLsizei -> GLdouble -> GLdouble -> IO ()))
-> FunPtr (GLsizei -> GLdouble -> GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> GLdouble -> GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMapGrid1d")

{-# NOINLINE glMapGrid1dFunPtr #-}

-- | Usage: @'glMapGrid1f' un u1 u2@
--
-- The parameter @u1@ is a @CoordF@.
--
-- The parameter @u2@ is a @CoordF@.


glMapGrid1f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()
glMapGrid1f :: GLsizei -> GLfloat -> GLfloat -> m ()
glMapGrid1f = FunPtr (GLsizei -> GLfloat -> GLfloat -> IO ())
-> GLsizei -> GLfloat -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLfloat -> GLfloat -> IO ())
-> GLsizei -> GLfloat -> GLfloat -> m ()
ffiintfloatfloatIOV FunPtr (GLsizei -> GLfloat -> GLfloat -> IO ())
glMapGrid1fFunPtr

glMapGrid1fFunPtr :: FunPtr (GLint -> GLfloat -> GLfloat -> IO ())
glMapGrid1fFunPtr :: FunPtr (GLsizei -> GLfloat -> GLfloat -> IO ())
glMapGrid1fFunPtr = IO (FunPtr (GLsizei -> GLfloat -> GLfloat -> IO ()))
-> FunPtr (GLsizei -> GLfloat -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> GLfloat -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMapGrid1f")

{-# NOINLINE glMapGrid1fFunPtr #-}

-- | Usage: @'glMapGrid2d' un u1 u2 vn v1 v2@
--
-- The parameter @u1@ is a @CoordD@.
--
-- The parameter @u2@ is a @CoordD@.
--
-- The parameter @v1@ is a @CoordD@.
--
-- The parameter @v2@ is a @CoordD@.


glMapGrid2d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> m ()
glMapGrid2d :: GLsizei
-> GLdouble -> GLdouble -> GLsizei -> GLdouble -> GLdouble -> m ()
glMapGrid2d = FunPtr
  (GLsizei
   -> GLdouble
   -> GLdouble
   -> GLsizei
   -> GLdouble
   -> GLdouble
   -> IO ())
-> GLsizei
-> GLdouble
-> GLdouble
-> GLsizei
-> GLdouble
-> GLdouble
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLsizei
   -> GLdouble
   -> GLdouble
   -> GLsizei
   -> GLdouble
   -> GLdouble
   -> IO ())
-> GLsizei
-> GLdouble
-> GLdouble
-> GLsizei
-> GLdouble
-> GLdouble
-> m ()
ffiintdoubledoubleintdoubledoubleIOV FunPtr
  (GLsizei
   -> GLdouble
   -> GLdouble
   -> GLsizei
   -> GLdouble
   -> GLdouble
   -> IO ())
glMapGrid2dFunPtr

glMapGrid2dFunPtr :: FunPtr (GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> IO ())
glMapGrid2dFunPtr :: FunPtr
  (GLsizei
   -> GLdouble
   -> GLdouble
   -> GLsizei
   -> GLdouble
   -> GLdouble
   -> IO ())
glMapGrid2dFunPtr = IO
  (FunPtr
     (GLsizei
      -> GLdouble
      -> GLdouble
      -> GLsizei
      -> GLdouble
      -> GLdouble
      -> IO ()))
-> FunPtr
     (GLsizei
      -> GLdouble
      -> GLdouble
      -> GLsizei
      -> GLdouble
      -> GLdouble
      -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLsizei
         -> GLdouble
         -> GLdouble
         -> GLsizei
         -> GLdouble
         -> GLdouble
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMapGrid2d")

{-# NOINLINE glMapGrid2dFunPtr #-}

-- | Usage: @'glMapGrid2f' un u1 u2 vn v1 v2@
--
-- The parameter @u1@ is a @CoordF@.
--
-- The parameter @u2@ is a @CoordF@.
--
-- The parameter @v1@ is a @CoordF@.
--
-- The parameter @v2@ is a @CoordF@.


glMapGrid2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> m ()
glMapGrid2f :: GLsizei
-> GLfloat -> GLfloat -> GLsizei -> GLfloat -> GLfloat -> m ()
glMapGrid2f = FunPtr
  (GLsizei
   -> GLfloat -> GLfloat -> GLsizei -> GLfloat -> GLfloat -> IO ())
-> GLsizei
-> GLfloat
-> GLfloat
-> GLsizei
-> GLfloat
-> GLfloat
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLsizei
   -> GLfloat -> GLfloat -> GLsizei -> GLfloat -> GLfloat -> IO ())
-> GLsizei
-> GLfloat
-> GLfloat
-> GLsizei
-> GLfloat
-> GLfloat
-> m ()
ffiintfloatfloatintfloatfloatIOV FunPtr
  (GLsizei
   -> GLfloat -> GLfloat -> GLsizei -> GLfloat -> GLfloat -> IO ())
glMapGrid2fFunPtr

glMapGrid2fFunPtr :: FunPtr (GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> IO ())
glMapGrid2fFunPtr :: FunPtr
  (GLsizei
   -> GLfloat -> GLfloat -> GLsizei -> GLfloat -> GLfloat -> IO ())
glMapGrid2fFunPtr = IO
  (FunPtr
     (GLsizei
      -> GLfloat -> GLfloat -> GLsizei -> GLfloat -> GLfloat -> IO ()))
-> FunPtr
     (GLsizei
      -> GLfloat -> GLfloat -> GLsizei -> GLfloat -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLsizei
         -> GLfloat -> GLfloat -> GLsizei -> GLfloat -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMapGrid2f")

{-# NOINLINE glMapGrid2fFunPtr #-}

-- | Usage: @'glMaterialf' face pname param@
--
-- The parameter @face@ is a @MaterialFace@, one of: 'Graphics.GL.Internal.Shared.GL_BACK', 'Graphics.GL.Internal.Shared.GL_FRONT', 'Graphics.GL.Internal.Shared.GL_FRONT_AND_BACK'.
--
-- The parameter @pname@ is a @MaterialParameter@, one of: 'Graphics.GL.Internal.Shared.GL_AMBIENT', 'Graphics.GL.Internal.Shared.GL_AMBIENT_AND_DIFFUSE', 'Graphics.GL.Internal.Shared.GL_COLOR_INDEXES', 'Graphics.GL.Internal.Shared.GL_DIFFUSE', 'Graphics.GL.Internal.Shared.GL_EMISSION', 'Graphics.GL.Internal.Shared.GL_SHININESS', 'Graphics.GL.Internal.Shared.GL_SPECULAR'.
--
-- The parameter @param@ is a @CheckedFloat32@.


glMaterialf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()
glMaterialf :: GLenum -> GLenum -> GLfloat -> m ()
glMaterialf = FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
-> GLenum -> GLenum -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
-> GLenum -> GLenum -> GLfloat -> m ()
ffienumenumfloatIOV FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
glMaterialfFunPtr

glMaterialfFunPtr :: FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
glMaterialfFunPtr :: FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
glMaterialfFunPtr = IO (FunPtr (GLenum -> GLenum -> GLfloat -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMaterialf")

{-# NOINLINE glMaterialfFunPtr #-}

-- | Usage: @'glMaterialfv' face pname params@
--
-- The parameter @face@ is a @MaterialFace@, one of: 'Graphics.GL.Internal.Shared.GL_BACK', 'Graphics.GL.Internal.Shared.GL_FRONT', 'Graphics.GL.Internal.Shared.GL_FRONT_AND_BACK'.
--
-- The parameter @pname@ is a @MaterialParameter@, one of: 'Graphics.GL.Internal.Shared.GL_AMBIENT', 'Graphics.GL.Internal.Shared.GL_AMBIENT_AND_DIFFUSE', 'Graphics.GL.Internal.Shared.GL_COLOR_INDEXES', 'Graphics.GL.Internal.Shared.GL_DIFFUSE', 'Graphics.GL.Internal.Shared.GL_EMISSION', 'Graphics.GL.Internal.Shared.GL_SHININESS', 'Graphics.GL.Internal.Shared.GL_SPECULAR'.
--
-- The parameter @params@ is a @CheckedFloat32@.
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glMaterialfv :: GLenum -> GLenum -> Ptr GLfloat -> m ()
glMaterialfv = FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> GLenum -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> GLenum -> Ptr GLfloat -> m ()
ffienumenumPtrfloatIOV FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glMaterialfvFunPtr

glMaterialfvFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glMaterialfvFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glMaterialfvFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMaterialfv")

{-# NOINLINE glMaterialfvFunPtr #-}

-- | Usage: @'glMateriali' face pname param@
--
-- The parameter @face@ is a @MaterialFace@, one of: 'Graphics.GL.Internal.Shared.GL_BACK', 'Graphics.GL.Internal.Shared.GL_FRONT', 'Graphics.GL.Internal.Shared.GL_FRONT_AND_BACK'.
--
-- The parameter @pname@ is a @MaterialParameter@, one of: 'Graphics.GL.Internal.Shared.GL_AMBIENT', 'Graphics.GL.Internal.Shared.GL_AMBIENT_AND_DIFFUSE', 'Graphics.GL.Internal.Shared.GL_COLOR_INDEXES', 'Graphics.GL.Internal.Shared.GL_DIFFUSE', 'Graphics.GL.Internal.Shared.GL_EMISSION', 'Graphics.GL.Internal.Shared.GL_SHININESS', 'Graphics.GL.Internal.Shared.GL_SPECULAR'.
--
-- The parameter @param@ is a @CheckedInt32@.


glMateriali :: MonadIO m => GLenum -> GLenum -> GLint -> m ()
glMateriali :: GLenum -> GLenum -> GLsizei -> m ()
glMateriali = FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
-> GLenum -> GLenum -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
-> GLenum -> GLenum -> GLsizei -> m ()
ffienumenumintIOV FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
glMaterialiFunPtr

glMaterialiFunPtr :: FunPtr (GLenum -> GLenum -> GLint -> IO ())
glMaterialiFunPtr :: FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
glMaterialiFunPtr = IO (FunPtr (GLenum -> GLenum -> GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMateriali")

{-# NOINLINE glMaterialiFunPtr #-}

-- | Usage: @'glMaterialiv' face pname params@
--
-- The parameter @face@ is a @MaterialFace@, one of: 'Graphics.GL.Internal.Shared.GL_BACK', 'Graphics.GL.Internal.Shared.GL_FRONT', 'Graphics.GL.Internal.Shared.GL_FRONT_AND_BACK'.
--
-- The parameter @pname@ is a @MaterialParameter@, one of: 'Graphics.GL.Internal.Shared.GL_AMBIENT', 'Graphics.GL.Internal.Shared.GL_AMBIENT_AND_DIFFUSE', 'Graphics.GL.Internal.Shared.GL_COLOR_INDEXES', 'Graphics.GL.Internal.Shared.GL_DIFFUSE', 'Graphics.GL.Internal.Shared.GL_EMISSION', 'Graphics.GL.Internal.Shared.GL_SHININESS', 'Graphics.GL.Internal.Shared.GL_SPECULAR'.
--
-- The parameter @params@ is a @CheckedInt32@.
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glMaterialiv :: GLenum -> GLenum -> Ptr GLsizei -> m ()
glMaterialiv = FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
ffienumenumPtrintIOV FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glMaterialivFunPtr

glMaterialivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
glMaterialivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glMaterialivFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMaterialiv")

{-# NOINLINE glMaterialivFunPtr #-}

-- | Usage: @'glMatrixMode' mode@
--
-- The parameter @mode@ is a @MatrixMode@, one of: 'Graphics.GL.Internal.Shared.GL_MODELVIEW', 'Graphics.GL.Ext.EXT.VertexWeighting.GL_MODELVIEW0_EXT', 'Graphics.GL.Internal.Shared.GL_PROJECTION', 'Graphics.GL.Internal.Shared.GL_TEXTURE'.


glMatrixMode :: MonadIO m => GLenum -> m ()
glMatrixMode :: GLenum -> m ()
glMatrixMode = FunPtr (GLenum -> IO ()) -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO ()) -> GLenum -> m ()
ffienumIOV FunPtr (GLenum -> IO ())
glMatrixModeFunPtr

glMatrixModeFunPtr :: FunPtr (GLenum -> IO ())
glMatrixModeFunPtr :: FunPtr (GLenum -> IO ())
glMatrixModeFunPtr = IO (FunPtr (GLenum -> IO ())) -> FunPtr (GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMatrixMode")

{-# NOINLINE glMatrixModeFunPtr #-}

-- | Usage: @'glMultMatrixd' m@
--
-- The length of @m@ should be @16@.


glMultMatrixd :: MonadIO m => Ptr GLdouble -> m ()
glMultMatrixd :: Ptr GLdouble -> m ()
glMultMatrixd = FunPtr (Ptr GLdouble -> IO ()) -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLdouble -> IO ()) -> Ptr GLdouble -> m ()
ffiPtrdoubleIOV FunPtr (Ptr GLdouble -> IO ())
glMultMatrixdFunPtr

glMultMatrixdFunPtr :: FunPtr (Ptr GLdouble -> IO ())
glMultMatrixdFunPtr :: FunPtr (Ptr GLdouble -> IO ())
glMultMatrixdFunPtr = IO (FunPtr (Ptr GLdouble -> IO ()))
-> FunPtr (Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMultMatrixd")

{-# NOINLINE glMultMatrixdFunPtr #-}

-- | Usage: @'glMultMatrixf' m@
--
-- The length of @m@ should be @16@.


glMultMatrixf :: MonadIO m => Ptr GLfloat -> m ()
glMultMatrixf :: Ptr GLfloat -> m ()
glMultMatrixf = FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> m ()
ffiPtrfloatIOV FunPtr (Ptr GLfloat -> IO ())
glMultMatrixfFunPtr

glMultMatrixfFunPtr :: FunPtr (Ptr GLfloat -> IO ())
glMultMatrixfFunPtr :: FunPtr (Ptr GLfloat -> IO ())
glMultMatrixfFunPtr = IO (FunPtr (Ptr GLfloat -> IO ())) -> FunPtr (Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMultMatrixf")

{-# NOINLINE glMultMatrixfFunPtr #-}

-- | Usage: @'glMultTransposeMatrixd' m@
--
-- The length of @m@ should be @16@.


glMultTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()
glMultTransposeMatrixd :: Ptr GLdouble -> m ()
glMultTransposeMatrixd = FunPtr (Ptr GLdouble -> IO ()) -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLdouble -> IO ()) -> Ptr GLdouble -> m ()
ffiPtrdoubleIOV FunPtr (Ptr GLdouble -> IO ())
glMultTransposeMatrixdFunPtr

glMultTransposeMatrixdFunPtr :: FunPtr (Ptr GLdouble -> IO ())
glMultTransposeMatrixdFunPtr :: FunPtr (Ptr GLdouble -> IO ())
glMultTransposeMatrixdFunPtr = IO (FunPtr (Ptr GLdouble -> IO ()))
-> FunPtr (Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMultTransposeMatrixd")

{-# NOINLINE glMultTransposeMatrixdFunPtr #-}

-- | Usage: @'glMultTransposeMatrixf' m@
--
-- The length of @m@ should be @16@.


glMultTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()
glMultTransposeMatrixf :: Ptr GLfloat -> m ()
glMultTransposeMatrixf = FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> m ()
ffiPtrfloatIOV FunPtr (Ptr GLfloat -> IO ())
glMultTransposeMatrixfFunPtr

glMultTransposeMatrixfFunPtr :: FunPtr (Ptr GLfloat -> IO ())
glMultTransposeMatrixfFunPtr :: FunPtr (Ptr GLfloat -> IO ())
glMultTransposeMatrixfFunPtr = IO (FunPtr (Ptr GLfloat -> IO ())) -> FunPtr (Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMultTransposeMatrixf")

{-# NOINLINE glMultTransposeMatrixfFunPtr #-}

-- | Usage: @'glMultiTexCoord1d' target s@
--
-- The parameter @target@ is a @TextureUnit@.
--
-- The parameter @s@ is a @CoordD@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glMultiTexCoord1dv'.


glMultiTexCoord1d :: MonadIO m => GLenum -> GLdouble -> m ()
glMultiTexCoord1d :: GLenum -> GLdouble -> m ()
glMultiTexCoord1d = FunPtr (GLenum -> GLdouble -> IO ()) -> GLenum -> GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLdouble -> IO ()) -> GLenum -> GLdouble -> m ()
ffienumdoubleIOV FunPtr (GLenum -> GLdouble -> IO ())
glMultiTexCoord1dFunPtr

glMultiTexCoord1dFunPtr :: FunPtr (GLenum -> GLdouble -> IO ())
glMultiTexCoord1dFunPtr :: FunPtr (GLenum -> GLdouble -> IO ())
glMultiTexCoord1dFunPtr = IO (FunPtr (GLenum -> GLdouble -> IO ()))
-> FunPtr (GLenum -> GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMultiTexCoord1d")

{-# NOINLINE glMultiTexCoord1dFunPtr #-}

-- | Usage: @'glMultiTexCoord1dv' target v@
--
-- The parameter @target@ is a @TextureUnit@.
--
-- The parameter @v@ is a @CoordD@.
--
-- The length of @v@ should be @1@.


glMultiTexCoord1dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()
glMultiTexCoord1dv :: GLenum -> Ptr GLdouble -> m ()
glMultiTexCoord1dv = FunPtr (GLenum -> Ptr GLdouble -> IO ())
-> GLenum -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLdouble -> IO ())
-> GLenum -> Ptr GLdouble -> m ()
ffienumPtrdoubleIOV FunPtr (GLenum -> Ptr GLdouble -> IO ())
glMultiTexCoord1dvFunPtr

glMultiTexCoord1dvFunPtr :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
glMultiTexCoord1dvFunPtr :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
glMultiTexCoord1dvFunPtr = IO (FunPtr (GLenum -> Ptr GLdouble -> IO ()))
-> FunPtr (GLenum -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMultiTexCoord1dv")

{-# NOINLINE glMultiTexCoord1dvFunPtr #-}

-- | Usage: @'glMultiTexCoord1f' target s@
--
-- The parameter @target@ is a @TextureUnit@.
--
-- The parameter @s@ is a @CoordF@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glMultiTexCoord1fv'.


glMultiTexCoord1f :: MonadIO m => GLenum -> GLfloat -> m ()
glMultiTexCoord1f :: GLenum -> GLfloat -> m ()
glMultiTexCoord1f = FunPtr (GLenum -> GLfloat -> IO ()) -> GLenum -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLfloat -> IO ()) -> GLenum -> GLfloat -> m ()
ffienumfloatIOV FunPtr (GLenum -> GLfloat -> IO ())
glMultiTexCoord1fFunPtr

glMultiTexCoord1fFunPtr :: FunPtr (GLenum -> GLfloat -> IO ())
glMultiTexCoord1fFunPtr :: FunPtr (GLenum -> GLfloat -> IO ())
glMultiTexCoord1fFunPtr = IO (FunPtr (GLenum -> GLfloat -> IO ()))
-> FunPtr (GLenum -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMultiTexCoord1f")

{-# NOINLINE glMultiTexCoord1fFunPtr #-}

-- | Usage: @'glMultiTexCoord1fv' target v@
--
-- The parameter @target@ is a @TextureUnit@.
--
-- The parameter @v@ is a @CoordF@.
--
-- The length of @v@ should be @1@.


glMultiTexCoord1fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glMultiTexCoord1fv :: GLenum -> Ptr GLfloat -> m ()
glMultiTexCoord1fv = FunPtr (GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> Ptr GLfloat -> m ()
ffienumPtrfloatIOV FunPtr (GLenum -> Ptr GLfloat -> IO ())
glMultiTexCoord1fvFunPtr

glMultiTexCoord1fvFunPtr :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
glMultiTexCoord1fvFunPtr :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
glMultiTexCoord1fvFunPtr = IO (FunPtr (GLenum -> Ptr GLfloat -> IO ()))
-> FunPtr (GLenum -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMultiTexCoord1fv")

{-# NOINLINE glMultiTexCoord1fvFunPtr #-}

-- | Usage: @'glMultiTexCoord1i' target s@
--
-- The parameter @target@ is a @TextureUnit@.
--
-- The parameter @s@ is a @CoordI@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glMultiTexCoord1iv'.


glMultiTexCoord1i :: MonadIO m => GLenum -> GLint -> m ()
glMultiTexCoord1i :: GLenum -> GLsizei -> m ()
glMultiTexCoord1i = FunPtr (GLenum -> GLsizei -> IO ()) -> GLenum -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> IO ()) -> GLenum -> GLsizei -> m ()
ffienumintIOV FunPtr (GLenum -> GLsizei -> IO ())
glMultiTexCoord1iFunPtr

glMultiTexCoord1iFunPtr :: FunPtr (GLenum -> GLint -> IO ())
glMultiTexCoord1iFunPtr :: FunPtr (GLenum -> GLsizei -> IO ())
glMultiTexCoord1iFunPtr = IO (FunPtr (GLenum -> GLsizei -> IO ()))
-> FunPtr (GLenum -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMultiTexCoord1i")

{-# NOINLINE glMultiTexCoord1iFunPtr #-}

-- | Usage: @'glMultiTexCoord1iv' target v@
--
-- The parameter @target@ is a @TextureUnit@.
--
-- The parameter @v@ is a @CoordI@.
--
-- The length of @v@ should be @1@.


glMultiTexCoord1iv :: MonadIO m => GLenum -> Ptr GLint -> m ()
glMultiTexCoord1iv :: GLenum -> Ptr GLsizei -> m ()
glMultiTexCoord1iv = FunPtr (GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> Ptr GLsizei -> m ()
ffienumPtrintIOV FunPtr (GLenum -> Ptr GLsizei -> IO ())
glMultiTexCoord1ivFunPtr

glMultiTexCoord1ivFunPtr :: FunPtr (GLenum -> Ptr GLint -> IO ())
glMultiTexCoord1ivFunPtr :: FunPtr (GLenum -> Ptr GLsizei -> IO ())
glMultiTexCoord1ivFunPtr = IO (FunPtr (GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMultiTexCoord1iv")

{-# NOINLINE glMultiTexCoord1ivFunPtr #-}

-- | Usage: @'glMultiTexCoord1s' target s@
--
-- The parameter @target@ is a @TextureUnit@.
--
-- The parameter @s@ is a @CoordS@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glMultiTexCoord1sv'.


glMultiTexCoord1s :: MonadIO m => GLenum -> GLshort -> m ()
glMultiTexCoord1s :: GLenum -> GLshort -> m ()
glMultiTexCoord1s = FunPtr (GLenum -> GLshort -> IO ()) -> GLenum -> GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLshort -> IO ()) -> GLenum -> GLshort -> m ()
ffienumshortIOV FunPtr (GLenum -> GLshort -> IO ())
glMultiTexCoord1sFunPtr

glMultiTexCoord1sFunPtr :: FunPtr (GLenum -> GLshort -> IO ())
glMultiTexCoord1sFunPtr :: FunPtr (GLenum -> GLshort -> IO ())
glMultiTexCoord1sFunPtr = IO (FunPtr (GLenum -> GLshort -> IO ()))
-> FunPtr (GLenum -> GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMultiTexCoord1s")

{-# NOINLINE glMultiTexCoord1sFunPtr #-}

-- | Usage: @'glMultiTexCoord1sv' target v@
--
-- The parameter @target@ is a @TextureUnit@.
--
-- The parameter @v@ is a @CoordS@.
--
-- The length of @v@ should be @1@.


glMultiTexCoord1sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()
glMultiTexCoord1sv :: GLenum -> Ptr GLshort -> m ()
glMultiTexCoord1sv = FunPtr (GLenum -> Ptr GLshort -> IO ())
-> GLenum -> Ptr GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLshort -> IO ())
-> GLenum -> Ptr GLshort -> m ()
ffienumPtrshortIOV FunPtr (GLenum -> Ptr GLshort -> IO ())
glMultiTexCoord1svFunPtr

glMultiTexCoord1svFunPtr :: FunPtr (GLenum -> Ptr GLshort -> IO ())
glMultiTexCoord1svFunPtr :: FunPtr (GLenum -> Ptr GLshort -> IO ())
glMultiTexCoord1svFunPtr = IO (FunPtr (GLenum -> Ptr GLshort -> IO ()))
-> FunPtr (GLenum -> Ptr GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMultiTexCoord1sv")

{-# NOINLINE glMultiTexCoord1svFunPtr #-}

-- | Usage: @'glMultiTexCoord2d' target s t@
--
-- The parameter @target@ is a @TextureUnit@.
--
-- The parameter @s@ is a @CoordD@.
--
-- The parameter @t@ is a @CoordD@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glMultiTexCoord2dv'.


glMultiTexCoord2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> m ()
glMultiTexCoord2d :: GLenum -> GLdouble -> GLdouble -> m ()
glMultiTexCoord2d = FunPtr (GLenum -> GLdouble -> GLdouble -> IO ())
-> GLenum -> GLdouble -> GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLdouble -> GLdouble -> IO ())
-> GLenum -> GLdouble -> GLdouble -> m ()
ffienumdoubledoubleIOV FunPtr (GLenum -> GLdouble -> GLdouble -> IO ())
glMultiTexCoord2dFunPtr

glMultiTexCoord2dFunPtr :: FunPtr (GLenum -> GLdouble -> GLdouble -> IO ())
glMultiTexCoord2dFunPtr :: FunPtr (GLenum -> GLdouble -> GLdouble -> IO ())
glMultiTexCoord2dFunPtr = IO (FunPtr (GLenum -> GLdouble -> GLdouble -> IO ()))
-> FunPtr (GLenum -> GLdouble -> GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLdouble -> GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMultiTexCoord2d")

{-# NOINLINE glMultiTexCoord2dFunPtr #-}

-- | Usage: @'glMultiTexCoord2dv' target v@
--
-- The parameter @target@ is a @TextureUnit@.
--
-- The parameter @v@ is a @CoordD@.
--
-- The length of @v@ should be @2@.


glMultiTexCoord2dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()
glMultiTexCoord2dv :: GLenum -> Ptr GLdouble -> m ()
glMultiTexCoord2dv = FunPtr (GLenum -> Ptr GLdouble -> IO ())
-> GLenum -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLdouble -> IO ())
-> GLenum -> Ptr GLdouble -> m ()
ffienumPtrdoubleIOV FunPtr (GLenum -> Ptr GLdouble -> IO ())
glMultiTexCoord2dvFunPtr

glMultiTexCoord2dvFunPtr :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
glMultiTexCoord2dvFunPtr :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
glMultiTexCoord2dvFunPtr = IO (FunPtr (GLenum -> Ptr GLdouble -> IO ()))
-> FunPtr (GLenum -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMultiTexCoord2dv")

{-# NOINLINE glMultiTexCoord2dvFunPtr #-}

-- | Usage: @'glMultiTexCoord2f' target s t@
--
-- The parameter @target@ is a @TextureUnit@.
--
-- The parameter @s@ is a @CoordF@.
--
-- The parameter @t@ is a @CoordF@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glMultiTexCoord2fv'.


glMultiTexCoord2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> m ()
glMultiTexCoord2f :: GLenum -> GLfloat -> GLfloat -> m ()
glMultiTexCoord2f = FunPtr (GLenum -> GLfloat -> GLfloat -> IO ())
-> GLenum -> GLfloat -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLfloat -> GLfloat -> IO ())
-> GLenum -> GLfloat -> GLfloat -> m ()
ffienumfloatfloatIOV FunPtr (GLenum -> GLfloat -> GLfloat -> IO ())
glMultiTexCoord2fFunPtr

glMultiTexCoord2fFunPtr :: FunPtr (GLenum -> GLfloat -> GLfloat -> IO ())
glMultiTexCoord2fFunPtr :: FunPtr (GLenum -> GLfloat -> GLfloat -> IO ())
glMultiTexCoord2fFunPtr = IO (FunPtr (GLenum -> GLfloat -> GLfloat -> IO ()))
-> FunPtr (GLenum -> GLfloat -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLfloat -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMultiTexCoord2f")

{-# NOINLINE glMultiTexCoord2fFunPtr #-}

-- | Usage: @'glMultiTexCoord2fv' target v@
--
-- The parameter @target@ is a @TextureUnit@.
--
-- The parameter @v@ is a @CoordF@.
--
-- The length of @v@ should be @2@.


glMultiTexCoord2fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glMultiTexCoord2fv :: GLenum -> Ptr GLfloat -> m ()
glMultiTexCoord2fv = FunPtr (GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> Ptr GLfloat -> m ()
ffienumPtrfloatIOV FunPtr (GLenum -> Ptr GLfloat -> IO ())
glMultiTexCoord2fvFunPtr

glMultiTexCoord2fvFunPtr :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
glMultiTexCoord2fvFunPtr :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
glMultiTexCoord2fvFunPtr = IO (FunPtr (GLenum -> Ptr GLfloat -> IO ()))
-> FunPtr (GLenum -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMultiTexCoord2fv")

{-# NOINLINE glMultiTexCoord2fvFunPtr #-}

-- | Usage: @'glMultiTexCoord2i' target s t@
--
-- The parameter @target@ is a @TextureUnit@.
--
-- The parameter @s@ is a @CoordI@.
--
-- The parameter @t@ is a @CoordI@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glMultiTexCoord2iv'.


glMultiTexCoord2i :: MonadIO m => GLenum -> GLint -> GLint -> m ()
glMultiTexCoord2i :: GLenum -> GLsizei -> GLsizei -> m ()
glMultiTexCoord2i = FunPtr (GLenum -> GLsizei -> GLsizei -> IO ())
-> GLenum -> GLsizei -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLsizei -> IO ())
-> GLenum -> GLsizei -> GLsizei -> m ()
ffienumintintIOV FunPtr (GLenum -> GLsizei -> GLsizei -> IO ())
glMultiTexCoord2iFunPtr

glMultiTexCoord2iFunPtr :: FunPtr (GLenum -> GLint -> GLint -> IO ())
glMultiTexCoord2iFunPtr :: FunPtr (GLenum -> GLsizei -> GLsizei -> IO ())
glMultiTexCoord2iFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLsizei -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMultiTexCoord2i")

{-# NOINLINE glMultiTexCoord2iFunPtr #-}

-- | Usage: @'glMultiTexCoord2iv' target v@
--
-- The parameter @target@ is a @TextureUnit@.
--
-- The parameter @v@ is a @CoordI@.
--
-- The length of @v@ should be @2@.


glMultiTexCoord2iv :: MonadIO m => GLenum -> Ptr GLint -> m ()
glMultiTexCoord2iv :: GLenum -> Ptr GLsizei -> m ()
glMultiTexCoord2iv = FunPtr (GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> Ptr GLsizei -> m ()
ffienumPtrintIOV FunPtr (GLenum -> Ptr GLsizei -> IO ())
glMultiTexCoord2ivFunPtr

glMultiTexCoord2ivFunPtr :: FunPtr (GLenum -> Ptr GLint -> IO ())
glMultiTexCoord2ivFunPtr :: FunPtr (GLenum -> Ptr GLsizei -> IO ())
glMultiTexCoord2ivFunPtr = IO (FunPtr (GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMultiTexCoord2iv")

{-# NOINLINE glMultiTexCoord2ivFunPtr #-}

-- | Usage: @'glMultiTexCoord2s' target s t@
--
-- The parameter @target@ is a @TextureUnit@.
--
-- The parameter @s@ is a @CoordS@.
--
-- The parameter @t@ is a @CoordS@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glMultiTexCoord2sv'.


glMultiTexCoord2s :: MonadIO m => GLenum -> GLshort -> GLshort -> m ()
glMultiTexCoord2s :: GLenum -> GLshort -> GLshort -> m ()
glMultiTexCoord2s = FunPtr (GLenum -> GLshort -> GLshort -> IO ())
-> GLenum -> GLshort -> GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLshort -> GLshort -> IO ())
-> GLenum -> GLshort -> GLshort -> m ()
ffienumshortshortIOV FunPtr (GLenum -> GLshort -> GLshort -> IO ())
glMultiTexCoord2sFunPtr

glMultiTexCoord2sFunPtr :: FunPtr (GLenum -> GLshort -> GLshort -> IO ())
glMultiTexCoord2sFunPtr :: FunPtr (GLenum -> GLshort -> GLshort -> IO ())
glMultiTexCoord2sFunPtr = IO (FunPtr (GLenum -> GLshort -> GLshort -> IO ()))
-> FunPtr (GLenum -> GLshort -> GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLshort -> GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMultiTexCoord2s")

{-# NOINLINE glMultiTexCoord2sFunPtr #-}

-- | Usage: @'glMultiTexCoord2sv' target v@
--
-- The parameter @target@ is a @TextureUnit@.
--
-- The parameter @v@ is a @CoordS@.
--
-- The length of @v@ should be @2@.


glMultiTexCoord2sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()
glMultiTexCoord2sv :: GLenum -> Ptr GLshort -> m ()
glMultiTexCoord2sv = FunPtr (GLenum -> Ptr GLshort -> IO ())
-> GLenum -> Ptr GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLshort -> IO ())
-> GLenum -> Ptr GLshort -> m ()
ffienumPtrshortIOV FunPtr (GLenum -> Ptr GLshort -> IO ())
glMultiTexCoord2svFunPtr

glMultiTexCoord2svFunPtr :: FunPtr (GLenum -> Ptr GLshort -> IO ())
glMultiTexCoord2svFunPtr :: FunPtr (GLenum -> Ptr GLshort -> IO ())
glMultiTexCoord2svFunPtr = IO (FunPtr (GLenum -> Ptr GLshort -> IO ()))
-> FunPtr (GLenum -> Ptr GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMultiTexCoord2sv")

{-# NOINLINE glMultiTexCoord2svFunPtr #-}

-- | Usage: @'glMultiTexCoord3d' target s t r@
--
-- The parameter @target@ is a @TextureUnit@.
--
-- The parameter @s@ is a @CoordD@.
--
-- The parameter @t@ is a @CoordD@.
--
-- The parameter @r@ is a @CoordD@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glMultiTexCoord3dv'.


glMultiTexCoord3d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()
glMultiTexCoord3d :: GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()
glMultiTexCoord3d = FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()
ffienumdoubledoubledoubleIOV FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ())
glMultiTexCoord3dFunPtr

glMultiTexCoord3dFunPtr :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ())
glMultiTexCoord3dFunPtr :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ())
glMultiTexCoord3dFunPtr = IO (FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ()))
-> FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMultiTexCoord3d")

{-# NOINLINE glMultiTexCoord3dFunPtr #-}

-- | Usage: @'glMultiTexCoord3dv' target v@
--
-- The parameter @target@ is a @TextureUnit@.
--
-- The parameter @v@ is a @CoordD@.
--
-- The length of @v@ should be @3@.


glMultiTexCoord3dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()
glMultiTexCoord3dv :: GLenum -> Ptr GLdouble -> m ()
glMultiTexCoord3dv = FunPtr (GLenum -> Ptr GLdouble -> IO ())
-> GLenum -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLdouble -> IO ())
-> GLenum -> Ptr GLdouble -> m ()
ffienumPtrdoubleIOV FunPtr (GLenum -> Ptr GLdouble -> IO ())
glMultiTexCoord3dvFunPtr

glMultiTexCoord3dvFunPtr :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
glMultiTexCoord3dvFunPtr :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
glMultiTexCoord3dvFunPtr = IO (FunPtr (GLenum -> Ptr GLdouble -> IO ()))
-> FunPtr (GLenum -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMultiTexCoord3dv")

{-# NOINLINE glMultiTexCoord3dvFunPtr #-}

-- | Usage: @'glMultiTexCoord3f' target s t r@
--
-- The parameter @target@ is a @TextureUnit@.
--
-- The parameter @s@ is a @CoordF@.
--
-- The parameter @t@ is a @CoordF@.
--
-- The parameter @r@ is a @CoordF@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glMultiTexCoord3fv'.


glMultiTexCoord3f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()
glMultiTexCoord3f :: GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()
glMultiTexCoord3f = FunPtr (GLenum -> GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()
ffienumfloatfloatfloatIOV FunPtr (GLenum -> GLfloat -> GLfloat -> GLfloat -> IO ())
glMultiTexCoord3fFunPtr

glMultiTexCoord3fFunPtr :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLfloat -> IO ())
glMultiTexCoord3fFunPtr :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLfloat -> IO ())
glMultiTexCoord3fFunPtr = IO (FunPtr (GLenum -> GLfloat -> GLfloat -> GLfloat -> IO ()))
-> FunPtr (GLenum -> GLfloat -> GLfloat -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLfloat -> GLfloat -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMultiTexCoord3f")

{-# NOINLINE glMultiTexCoord3fFunPtr #-}

-- | Usage: @'glMultiTexCoord3fv' target v@
--
-- The parameter @target@ is a @TextureUnit@.
--
-- The parameter @v@ is a @CoordF@.
--
-- The length of @v@ should be @3@.


glMultiTexCoord3fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glMultiTexCoord3fv :: GLenum -> Ptr GLfloat -> m ()
glMultiTexCoord3fv = FunPtr (GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> Ptr GLfloat -> m ()
ffienumPtrfloatIOV FunPtr (GLenum -> Ptr GLfloat -> IO ())
glMultiTexCoord3fvFunPtr

glMultiTexCoord3fvFunPtr :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
glMultiTexCoord3fvFunPtr :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
glMultiTexCoord3fvFunPtr = IO (FunPtr (GLenum -> Ptr GLfloat -> IO ()))
-> FunPtr (GLenum -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMultiTexCoord3fv")

{-# NOINLINE glMultiTexCoord3fvFunPtr #-}

-- | Usage: @'glMultiTexCoord3i' target s t r@
--
-- The parameter @target@ is a @TextureUnit@.
--
-- The parameter @s@ is a @CoordI@.
--
-- The parameter @t@ is a @CoordI@.
--
-- The parameter @r@ is a @CoordI@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glMultiTexCoord3iv'.


glMultiTexCoord3i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> m ()
glMultiTexCoord3i :: GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()
glMultiTexCoord3i = FunPtr (GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()
ffienumintintintIOV FunPtr (GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
glMultiTexCoord3iFunPtr

glMultiTexCoord3iFunPtr :: FunPtr (GLenum -> GLint -> GLint -> GLint -> IO ())
glMultiTexCoord3iFunPtr :: FunPtr (GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
glMultiTexCoord3iFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMultiTexCoord3i")

{-# NOINLINE glMultiTexCoord3iFunPtr #-}

-- | Usage: @'glMultiTexCoord3iv' target v@
--
-- The parameter @target@ is a @TextureUnit@.
--
-- The parameter @v@ is a @CoordI@.
--
-- The length of @v@ should be @3@.


glMultiTexCoord3iv :: MonadIO m => GLenum -> Ptr GLint -> m ()
glMultiTexCoord3iv :: GLenum -> Ptr GLsizei -> m ()
glMultiTexCoord3iv = FunPtr (GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> Ptr GLsizei -> m ()
ffienumPtrintIOV FunPtr (GLenum -> Ptr GLsizei -> IO ())
glMultiTexCoord3ivFunPtr

glMultiTexCoord3ivFunPtr :: FunPtr (GLenum -> Ptr GLint -> IO ())
glMultiTexCoord3ivFunPtr :: FunPtr (GLenum -> Ptr GLsizei -> IO ())
glMultiTexCoord3ivFunPtr = IO (FunPtr (GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMultiTexCoord3iv")

{-# NOINLINE glMultiTexCoord3ivFunPtr #-}

-- | Usage: @'glMultiTexCoord3s' target s t r@
--
-- The parameter @target@ is a @TextureUnit@.
--
-- The parameter @s@ is a @CoordS@.
--
-- The parameter @t@ is a @CoordS@.
--
-- The parameter @r@ is a @CoordS@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glMultiTexCoord3sv'.


glMultiTexCoord3s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> m ()
glMultiTexCoord3s :: GLenum -> GLshort -> GLshort -> GLshort -> m ()
glMultiTexCoord3s = FunPtr (GLenum -> GLshort -> GLshort -> GLshort -> IO ())
-> GLenum -> GLshort -> GLshort -> GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLshort -> GLshort -> GLshort -> IO ())
-> GLenum -> GLshort -> GLshort -> GLshort -> m ()
ffienumshortshortshortIOV FunPtr (GLenum -> GLshort -> GLshort -> GLshort -> IO ())
glMultiTexCoord3sFunPtr

glMultiTexCoord3sFunPtr :: FunPtr (GLenum -> GLshort -> GLshort -> GLshort -> IO ())
glMultiTexCoord3sFunPtr :: FunPtr (GLenum -> GLshort -> GLshort -> GLshort -> IO ())
glMultiTexCoord3sFunPtr = IO (FunPtr (GLenum -> GLshort -> GLshort -> GLshort -> IO ()))
-> FunPtr (GLenum -> GLshort -> GLshort -> GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLshort -> GLshort -> GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMultiTexCoord3s")

{-# NOINLINE glMultiTexCoord3sFunPtr #-}

-- | Usage: @'glMultiTexCoord3sv' target v@
--
-- The parameter @target@ is a @TextureUnit@.
--
-- The parameter @v@ is a @CoordS@.
--
-- The length of @v@ should be @3@.


glMultiTexCoord3sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()
glMultiTexCoord3sv :: GLenum -> Ptr GLshort -> m ()
glMultiTexCoord3sv = FunPtr (GLenum -> Ptr GLshort -> IO ())
-> GLenum -> Ptr GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLshort -> IO ())
-> GLenum -> Ptr GLshort -> m ()
ffienumPtrshortIOV FunPtr (GLenum -> Ptr GLshort -> IO ())
glMultiTexCoord3svFunPtr

glMultiTexCoord3svFunPtr :: FunPtr (GLenum -> Ptr GLshort -> IO ())
glMultiTexCoord3svFunPtr :: FunPtr (GLenum -> Ptr GLshort -> IO ())
glMultiTexCoord3svFunPtr = IO (FunPtr (GLenum -> Ptr GLshort -> IO ()))
-> FunPtr (GLenum -> Ptr GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMultiTexCoord3sv")

{-# NOINLINE glMultiTexCoord3svFunPtr #-}

-- | Usage: @'glMultiTexCoord4d' target s t r q@
--
-- The parameter @target@ is a @TextureUnit@.
--
-- The parameter @s@ is a @CoordD@.
--
-- The parameter @t@ is a @CoordD@.
--
-- The parameter @r@ is a @CoordD@.
--
-- The parameter @q@ is a @CoordD@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glMultiTexCoord4dv'.


glMultiTexCoord4d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glMultiTexCoord4d :: GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glMultiTexCoord4d = FunPtr
  (GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
ffienumdoubledoubledoubledoubleIOV FunPtr
  (GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
glMultiTexCoord4dFunPtr

glMultiTexCoord4dFunPtr :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
glMultiTexCoord4dFunPtr :: FunPtr
  (GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
glMultiTexCoord4dFunPtr = IO
  (FunPtr
     (GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()))
-> FunPtr
     (GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMultiTexCoord4d")

{-# NOINLINE glMultiTexCoord4dFunPtr #-}

-- | Usage: @'glMultiTexCoord4dv' target v@
--
-- The parameter @target@ is a @TextureUnit@.
--
-- The parameter @v@ is a @CoordD@.
--
-- The length of @v@ should be @4@.


glMultiTexCoord4dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()
glMultiTexCoord4dv :: GLenum -> Ptr GLdouble -> m ()
glMultiTexCoord4dv = FunPtr (GLenum -> Ptr GLdouble -> IO ())
-> GLenum -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLdouble -> IO ())
-> GLenum -> Ptr GLdouble -> m ()
ffienumPtrdoubleIOV FunPtr (GLenum -> Ptr GLdouble -> IO ())
glMultiTexCoord4dvFunPtr

glMultiTexCoord4dvFunPtr :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
glMultiTexCoord4dvFunPtr :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
glMultiTexCoord4dvFunPtr = IO (FunPtr (GLenum -> Ptr GLdouble -> IO ()))
-> FunPtr (GLenum -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMultiTexCoord4dv")

{-# NOINLINE glMultiTexCoord4dvFunPtr #-}

-- | Usage: @'glMultiTexCoord4f' target s t r q@
--
-- The parameter @target@ is a @TextureUnit@.
--
-- The parameter @s@ is a @CoordF@.
--
-- The parameter @t@ is a @CoordF@.
--
-- The parameter @r@ is a @CoordF@.
--
-- The parameter @q@ is a @CoordF@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glMultiTexCoord4fv'.


glMultiTexCoord4f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glMultiTexCoord4f :: GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glMultiTexCoord4f = FunPtr
  (GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
ffienumfloatfloatfloatfloatIOV FunPtr
  (GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glMultiTexCoord4fFunPtr

glMultiTexCoord4fFunPtr :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glMultiTexCoord4fFunPtr :: FunPtr
  (GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glMultiTexCoord4fFunPtr = IO
  (FunPtr
     (GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()))
-> FunPtr
     (GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMultiTexCoord4f")

{-# NOINLINE glMultiTexCoord4fFunPtr #-}

-- | Usage: @'glMultiTexCoord4fv' target v@
--
-- The parameter @target@ is a @TextureUnit@.
--
-- The parameter @v@ is a @CoordF@.
--
-- The length of @v@ should be @4@.


glMultiTexCoord4fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glMultiTexCoord4fv :: GLenum -> Ptr GLfloat -> m ()
glMultiTexCoord4fv = FunPtr (GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> Ptr GLfloat -> m ()
ffienumPtrfloatIOV FunPtr (GLenum -> Ptr GLfloat -> IO ())
glMultiTexCoord4fvFunPtr

glMultiTexCoord4fvFunPtr :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
glMultiTexCoord4fvFunPtr :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
glMultiTexCoord4fvFunPtr = IO (FunPtr (GLenum -> Ptr GLfloat -> IO ()))
-> FunPtr (GLenum -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMultiTexCoord4fv")

{-# NOINLINE glMultiTexCoord4fvFunPtr #-}

-- | Usage: @'glMultiTexCoord4i' target s t r q@
--
-- The parameter @target@ is a @TextureUnit@.
--
-- The parameter @s@ is a @CoordI@.
--
-- The parameter @t@ is a @CoordI@.
--
-- The parameter @r@ is a @CoordI@.
--
-- The parameter @q@ is a @CoordI@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glMultiTexCoord4iv'.


glMultiTexCoord4i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()
glMultiTexCoord4i :: GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> m ()
glMultiTexCoord4i = FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> m ()
ffienumintintintintIOV FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
glMultiTexCoord4iFunPtr

glMultiTexCoord4iFunPtr :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> IO ())
glMultiTexCoord4iFunPtr :: FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
glMultiTexCoord4iFunPtr = IO
  (FunPtr
     (GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ()))
-> FunPtr
     (GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMultiTexCoord4i")

{-# NOINLINE glMultiTexCoord4iFunPtr #-}

-- | Usage: @'glMultiTexCoord4iv' target v@
--
-- The parameter @target@ is a @TextureUnit@.
--
-- The parameter @v@ is a @CoordI@.
--
-- The length of @v@ should be @4@.


glMultiTexCoord4iv :: MonadIO m => GLenum -> Ptr GLint -> m ()
glMultiTexCoord4iv :: GLenum -> Ptr GLsizei -> m ()
glMultiTexCoord4iv = FunPtr (GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> Ptr GLsizei -> m ()
ffienumPtrintIOV FunPtr (GLenum -> Ptr GLsizei -> IO ())
glMultiTexCoord4ivFunPtr

glMultiTexCoord4ivFunPtr :: FunPtr (GLenum -> Ptr GLint -> IO ())
glMultiTexCoord4ivFunPtr :: FunPtr (GLenum -> Ptr GLsizei -> IO ())
glMultiTexCoord4ivFunPtr = IO (FunPtr (GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMultiTexCoord4iv")

{-# NOINLINE glMultiTexCoord4ivFunPtr #-}

-- | Usage: @'glMultiTexCoord4s' target s t r q@
--
-- The parameter @target@ is a @TextureUnit@.
--
-- The parameter @s@ is a @CoordS@.
--
-- The parameter @t@ is a @CoordS@.
--
-- The parameter @r@ is a @CoordS@.
--
-- The parameter @q@ is a @CoordS@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glMultiTexCoord4sv'.


glMultiTexCoord4s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> m ()
glMultiTexCoord4s :: GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> m ()
glMultiTexCoord4s = FunPtr
  (GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
-> GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
-> GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> m ()
ffienumshortshortshortshortIOV FunPtr
  (GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
glMultiTexCoord4sFunPtr

glMultiTexCoord4sFunPtr :: FunPtr (GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
glMultiTexCoord4sFunPtr :: FunPtr
  (GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
glMultiTexCoord4sFunPtr = IO
  (FunPtr
     (GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> IO ()))
-> FunPtr
     (GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMultiTexCoord4s")

{-# NOINLINE glMultiTexCoord4sFunPtr #-}

-- | Usage: @'glMultiTexCoord4sv' target v@
--
-- The parameter @target@ is a @TextureUnit@.
--
-- The parameter @v@ is a @CoordS@.
--
-- The length of @v@ should be @4@.


glMultiTexCoord4sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()
glMultiTexCoord4sv :: GLenum -> Ptr GLshort -> m ()
glMultiTexCoord4sv = FunPtr (GLenum -> Ptr GLshort -> IO ())
-> GLenum -> Ptr GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLshort -> IO ())
-> GLenum -> Ptr GLshort -> m ()
ffienumPtrshortIOV FunPtr (GLenum -> Ptr GLshort -> IO ())
glMultiTexCoord4svFunPtr

glMultiTexCoord4svFunPtr :: FunPtr (GLenum -> Ptr GLshort -> IO ())
glMultiTexCoord4svFunPtr :: FunPtr (GLenum -> Ptr GLshort -> IO ())
glMultiTexCoord4svFunPtr = IO (FunPtr (GLenum -> Ptr GLshort -> IO ()))
-> FunPtr (GLenum -> Ptr GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMultiTexCoord4sv")

{-# NOINLINE glMultiTexCoord4svFunPtr #-}

-- | Usage: @'glNewList' list mode@
--
-- The parameter @list@ is a @List@.
--
-- The parameter @mode@ is a @ListMode@, one of: 'Graphics.GL.Internal.Shared.GL_COMPILE', 'Graphics.GL.Internal.Shared.GL_COMPILE_AND_EXECUTE'.


glNewList :: MonadIO m => GLuint -> GLenum -> m ()
glNewList :: GLenum -> GLenum -> m ()
glNewList = FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
ffiuintenumIOV FunPtr (GLenum -> GLenum -> IO ())
glNewListFunPtr

glNewListFunPtr :: FunPtr (GLuint -> GLenum -> IO ())
glNewListFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glNewListFunPtr = IO (FunPtr (GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glNewList")

{-# NOINLINE glNewListFunPtr #-}

-- | Usage: @'glNormal3b' nx ny nz@
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glNormal3bv'.


glNormal3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()
glNormal3b :: GLbyte -> GLbyte -> GLbyte -> m ()
glNormal3b = FunPtr (GLbyte -> GLbyte -> GLbyte -> IO ())
-> GLbyte -> GLbyte -> GLbyte -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLbyte -> GLbyte -> GLbyte -> IO ())
-> GLbyte -> GLbyte -> GLbyte -> m ()
ffibytebytebyteIOV FunPtr (GLbyte -> GLbyte -> GLbyte -> IO ())
glNormal3bFunPtr

glNormal3bFunPtr :: FunPtr (GLbyte -> GLbyte -> GLbyte -> IO ())
glNormal3bFunPtr :: FunPtr (GLbyte -> GLbyte -> GLbyte -> IO ())
glNormal3bFunPtr = IO (FunPtr (GLbyte -> GLbyte -> GLbyte -> IO ()))
-> FunPtr (GLbyte -> GLbyte -> GLbyte -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLbyte -> GLbyte -> GLbyte -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glNormal3b")

{-# NOINLINE glNormal3bFunPtr #-}

-- | Usage: @'glNormal3bv' v@
--
-- The length of @v@ should be @3@.


glNormal3bv :: MonadIO m => Ptr GLbyte -> m ()
glNormal3bv :: Ptr GLbyte -> m ()
glNormal3bv = FunPtr (Ptr GLbyte -> IO ()) -> Ptr GLbyte -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLbyte -> IO ()) -> Ptr GLbyte -> m ()
ffiPtrbyteIOV FunPtr (Ptr GLbyte -> IO ())
glNormal3bvFunPtr

glNormal3bvFunPtr :: FunPtr (Ptr GLbyte -> IO ())
glNormal3bvFunPtr :: FunPtr (Ptr GLbyte -> IO ())
glNormal3bvFunPtr = IO (FunPtr (Ptr GLbyte -> IO ())) -> FunPtr (Ptr GLbyte -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLbyte -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glNormal3bv")

{-# NOINLINE glNormal3bvFunPtr #-}

-- | Usage: @'glNormal3d' nx ny nz@
--
-- The parameter @nx@ is a @CoordD@.
--
-- The parameter @ny@ is a @CoordD@.
--
-- The parameter @nz@ is a @CoordD@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glNormal3dv'.


glNormal3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()
glNormal3d :: GLdouble -> GLdouble -> GLdouble -> m ()
glNormal3d = FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLdouble -> GLdouble -> GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLdouble -> GLdouble -> GLdouble -> m ()
ffidoubledoubledoubleIOV FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
glNormal3dFunPtr

glNormal3dFunPtr :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
glNormal3dFunPtr :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
glNormal3dFunPtr = IO (FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ()))
-> FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glNormal3d")

{-# NOINLINE glNormal3dFunPtr #-}

-- | Usage: @'glNormal3dv' v@
--
-- The parameter @v@ is a @CoordD@.
--
-- The length of @v@ should be @3@.


glNormal3dv :: MonadIO m => Ptr GLdouble -> m ()
glNormal3dv :: Ptr GLdouble -> m ()
glNormal3dv = FunPtr (Ptr GLdouble -> IO ()) -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLdouble -> IO ()) -> Ptr GLdouble -> m ()
ffiPtrdoubleIOV FunPtr (Ptr GLdouble -> IO ())
glNormal3dvFunPtr

glNormal3dvFunPtr :: FunPtr (Ptr GLdouble -> IO ())
glNormal3dvFunPtr :: FunPtr (Ptr GLdouble -> IO ())
glNormal3dvFunPtr = IO (FunPtr (Ptr GLdouble -> IO ()))
-> FunPtr (Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glNormal3dv")

{-# NOINLINE glNormal3dvFunPtr #-}

-- | Usage: @'glNormal3f' nx ny nz@
--
-- The parameter @nx@ is a @CoordF@.
--
-- The parameter @ny@ is a @CoordF@.
--
-- The parameter @nz@ is a @CoordF@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glNormal3fv'.


glNormal3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()
glNormal3f :: GLfloat -> GLfloat -> GLfloat -> m ()
glNormal3f = FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLfloat -> GLfloat -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLfloat -> GLfloat -> GLfloat -> m ()
ffifloatfloatfloatIOV FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
glNormal3fFunPtr

glNormal3fFunPtr :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
glNormal3fFunPtr :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
glNormal3fFunPtr = IO (FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ()))
-> FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glNormal3f")

{-# NOINLINE glNormal3fFunPtr #-}

-- | Usage: @'glNormal3fv' v@
--
-- The parameter @v@ is a @CoordF@.
--
-- The length of @v@ should be @3@.


glNormal3fv :: MonadIO m => Ptr GLfloat -> m ()
glNormal3fv :: Ptr GLfloat -> m ()
glNormal3fv = FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> m ()
ffiPtrfloatIOV FunPtr (Ptr GLfloat -> IO ())
glNormal3fvFunPtr

glNormal3fvFunPtr :: FunPtr (Ptr GLfloat -> IO ())
glNormal3fvFunPtr :: FunPtr (Ptr GLfloat -> IO ())
glNormal3fvFunPtr = IO (FunPtr (Ptr GLfloat -> IO ())) -> FunPtr (Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glNormal3fv")

{-# NOINLINE glNormal3fvFunPtr #-}

-- | Usage: @'glNormal3i' nx ny nz@
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glNormal3iv'.


glNormal3i :: MonadIO m => GLint -> GLint -> GLint -> m ()
glNormal3i :: GLsizei -> GLsizei -> GLsizei -> m ()
glNormal3i = FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLsizei -> GLsizei -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLsizei -> GLsizei -> GLsizei -> m ()
ffiintintintIOV FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ())
glNormal3iFunPtr

glNormal3iFunPtr :: FunPtr (GLint -> GLint -> GLint -> IO ())
glNormal3iFunPtr :: FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ())
glNormal3iFunPtr = IO (FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ()))
-> FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glNormal3i")

{-# NOINLINE glNormal3iFunPtr #-}

-- | Usage: @'glNormal3iv' v@
--
-- The length of @v@ should be @3@.


glNormal3iv :: MonadIO m => Ptr GLint -> m ()
glNormal3iv :: Ptr GLsizei -> m ()
glNormal3iv = FunPtr (Ptr GLsizei -> IO ()) -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLsizei -> IO ()) -> Ptr GLsizei -> m ()
ffiPtrintIOV FunPtr (Ptr GLsizei -> IO ())
glNormal3ivFunPtr

glNormal3ivFunPtr :: FunPtr (Ptr GLint -> IO ())
glNormal3ivFunPtr :: FunPtr (Ptr GLsizei -> IO ())
glNormal3ivFunPtr = IO (FunPtr (Ptr GLsizei -> IO ())) -> FunPtr (Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glNormal3iv")

{-# NOINLINE glNormal3ivFunPtr #-}

-- | Usage: @'glNormal3s' nx ny nz@
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glNormal3sv'.


glNormal3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()
glNormal3s :: GLshort -> GLshort -> GLshort -> m ()
glNormal3s = FunPtr (GLshort -> GLshort -> GLshort -> IO ())
-> GLshort -> GLshort -> GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLshort -> GLshort -> GLshort -> IO ())
-> GLshort -> GLshort -> GLshort -> m ()
ffishortshortshortIOV FunPtr (GLshort -> GLshort -> GLshort -> IO ())
glNormal3sFunPtr

glNormal3sFunPtr :: FunPtr (GLshort -> GLshort -> GLshort -> IO ())
glNormal3sFunPtr :: FunPtr (GLshort -> GLshort -> GLshort -> IO ())
glNormal3sFunPtr = IO (FunPtr (GLshort -> GLshort -> GLshort -> IO ()))
-> FunPtr (GLshort -> GLshort -> GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLshort -> GLshort -> GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glNormal3s")

{-# NOINLINE glNormal3sFunPtr #-}

-- | Usage: @'glNormal3sv' v@
--
-- The length of @v@ should be @3@.


glNormal3sv :: MonadIO m => Ptr GLshort -> m ()
glNormal3sv :: Ptr GLshort -> m ()
glNormal3sv = FunPtr (Ptr GLshort -> IO ()) -> Ptr GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLshort -> IO ()) -> Ptr GLshort -> m ()
ffiPtrshortIOV FunPtr (Ptr GLshort -> IO ())
glNormal3svFunPtr

glNormal3svFunPtr :: FunPtr (Ptr GLshort -> IO ())
glNormal3svFunPtr :: FunPtr (Ptr GLshort -> IO ())
glNormal3svFunPtr = IO (FunPtr (Ptr GLshort -> IO ())) -> FunPtr (Ptr GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glNormal3sv")

{-# NOINLINE glNormal3svFunPtr #-}

-- | Usage: @'glNormalPointer' type stride pointer@
--
-- The parameter @type@ is a @NormalPointerType@, one of: 'Graphics.GL.Internal.Shared.GL_BYTE', 'Graphics.GL.Internal.Shared.GL_DOUBLE', 'Graphics.GL.Internal.Shared.GL_FLOAT', 'Graphics.GL.Internal.Shared.GL_INT', 'Graphics.GL.Internal.Shared.GL_SHORT'.
--
-- The length of @pointer@ should be @COMPSIZE(type,stride)@.


glNormalPointer :: MonadIO m => GLenum -> GLsizei -> Ptr () -> m ()
glNormalPointer :: GLenum -> GLsizei -> Ptr () -> m ()
glNormalPointer = FunPtr (GLenum -> GLsizei -> Ptr () -> IO ())
-> GLenum -> GLsizei -> Ptr () -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> Ptr () -> IO ())
-> GLenum -> GLsizei -> Ptr () -> m ()
ffienumsizeiPtrVIOV FunPtr (GLenum -> GLsizei -> Ptr () -> IO ())
glNormalPointerFunPtr

glNormalPointerFunPtr :: FunPtr (GLenum -> GLsizei -> Ptr () -> IO ())
glNormalPointerFunPtr :: FunPtr (GLenum -> GLsizei -> Ptr () -> IO ())
glNormalPointerFunPtr = IO (FunPtr (GLenum -> GLsizei -> Ptr () -> IO ()))
-> FunPtr (GLenum -> GLsizei -> Ptr () -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLsizei -> Ptr () -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glNormalPointer")

{-# NOINLINE glNormalPointerFunPtr #-}

-- | Usage: @'glOrtho' left right bottom top zNear zFar@


glOrtho :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glOrtho :: GLdouble
-> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glOrtho = FunPtr
  (GLdouble
   -> GLdouble
   -> GLdouble
   -> GLdouble
   -> GLdouble
   -> GLdouble
   -> IO ())
-> GLdouble
-> GLdouble
-> GLdouble
-> GLdouble
-> GLdouble
-> GLdouble
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLdouble
   -> GLdouble
   -> GLdouble
   -> GLdouble
   -> GLdouble
   -> GLdouble
   -> IO ())
-> GLdouble
-> GLdouble
-> GLdouble
-> GLdouble
-> GLdouble
-> GLdouble
-> m ()
ffidoubledoubledoubledoubledoubledoubleIOV FunPtr
  (GLdouble
   -> GLdouble
   -> GLdouble
   -> GLdouble
   -> GLdouble
   -> GLdouble
   -> IO ())
glOrthoFunPtr

glOrthoFunPtr :: FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
glOrthoFunPtr :: FunPtr
  (GLdouble
   -> GLdouble
   -> GLdouble
   -> GLdouble
   -> GLdouble
   -> GLdouble
   -> IO ())
glOrthoFunPtr = IO
  (FunPtr
     (GLdouble
      -> GLdouble
      -> GLdouble
      -> GLdouble
      -> GLdouble
      -> GLdouble
      -> IO ()))
-> FunPtr
     (GLdouble
      -> GLdouble
      -> GLdouble
      -> GLdouble
      -> GLdouble
      -> GLdouble
      -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLdouble
         -> GLdouble
         -> GLdouble
         -> GLdouble
         -> GLdouble
         -> GLdouble
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glOrtho")

{-# NOINLINE glOrthoFunPtr #-}

-- | Usage: @'glPassThrough' token@
--
-- The parameter @token@ is a @FeedbackElement@.


glPassThrough :: MonadIO m => GLfloat -> m ()
glPassThrough :: GLfloat -> m ()
glPassThrough = FunPtr (GLfloat -> IO ()) -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLfloat -> IO ()) -> GLfloat -> m ()
ffifloatIOV FunPtr (GLfloat -> IO ())
glPassThroughFunPtr

glPassThroughFunPtr :: FunPtr (GLfloat -> IO ())
glPassThroughFunPtr :: FunPtr (GLfloat -> IO ())
glPassThroughFunPtr = IO (FunPtr (GLfloat -> IO ())) -> FunPtr (GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glPassThrough")

{-# NOINLINE glPassThroughFunPtr #-}

-- | Usage: @'glPixelMapfv' map mapsize values@
--
-- The parameter @map@ is a @PixelMap@, one of: 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_A_TO_A', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_B_TO_B', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_G_TO_G', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_I_TO_A', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_I_TO_B', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_I_TO_G', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_I_TO_I', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_I_TO_R', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_R_TO_R', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_S_TO_S'.
--
-- The parameter @mapsize@ is a @CheckedInt32@.
--
-- The length of @values@ should be @mapsize@.


glPixelMapfv :: MonadIO m => GLenum -> GLsizei -> Ptr GLfloat -> m ()
glPixelMapfv :: GLenum -> GLsizei -> Ptr GLfloat -> m ()
glPixelMapfv = FunPtr (GLenum -> GLsizei -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> Ptr GLfloat -> m ()
ffienumsizeiPtrfloatIOV FunPtr (GLenum -> GLsizei -> Ptr GLfloat -> IO ())
glPixelMapfvFunPtr

glPixelMapfvFunPtr :: FunPtr (GLenum -> GLsizei -> Ptr GLfloat -> IO ())
glPixelMapfvFunPtr :: FunPtr (GLenum -> GLsizei -> Ptr GLfloat -> IO ())
glPixelMapfvFunPtr = IO (FunPtr (GLenum -> GLsizei -> Ptr GLfloat -> IO ()))
-> FunPtr (GLenum -> GLsizei -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLsizei -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glPixelMapfv")

{-# NOINLINE glPixelMapfvFunPtr #-}

-- | Usage: @'glPixelMapuiv' map mapsize values@
--
-- The parameter @map@ is a @PixelMap@, one of: 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_A_TO_A', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_B_TO_B', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_G_TO_G', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_I_TO_A', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_I_TO_B', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_I_TO_G', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_I_TO_I', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_I_TO_R', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_R_TO_R', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_S_TO_S'.
--
-- The parameter @mapsize@ is a @CheckedInt32@.
--
-- The length of @values@ should be @mapsize@.


glPixelMapuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()
glPixelMapuiv :: GLenum -> GLsizei -> Ptr GLenum -> m ()
glPixelMapuiv = FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
-> GLenum -> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
-> GLenum -> GLsizei -> Ptr GLenum -> m ()
ffienumsizeiPtruintIOV FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
glPixelMapuivFunPtr

glPixelMapuivFunPtr :: FunPtr (GLenum -> GLsizei -> Ptr GLuint -> IO ())
glPixelMapuivFunPtr :: FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
glPixelMapuivFunPtr = IO (FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glPixelMapuiv")

{-# NOINLINE glPixelMapuivFunPtr #-}

-- | Usage: @'glPixelMapusv' map mapsize values@
--
-- The parameter @map@ is a @PixelMap@, one of: 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_A_TO_A', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_B_TO_B', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_G_TO_G', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_I_TO_A', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_I_TO_B', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_I_TO_G', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_I_TO_I', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_I_TO_R', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_R_TO_R', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_S_TO_S'.
--
-- The parameter @mapsize@ is a @CheckedInt32@.
--
-- The length of @values@ should be @mapsize@.


glPixelMapusv :: MonadIO m => GLenum -> GLsizei -> Ptr GLushort -> m ()
glPixelMapusv :: GLenum -> GLsizei -> Ptr GLushort -> m ()
glPixelMapusv = FunPtr (GLenum -> GLsizei -> Ptr GLushort -> IO ())
-> GLenum -> GLsizei -> Ptr GLushort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> Ptr GLushort -> IO ())
-> GLenum -> GLsizei -> Ptr GLushort -> m ()
ffienumsizeiPtrushortIOV FunPtr (GLenum -> GLsizei -> Ptr GLushort -> IO ())
glPixelMapusvFunPtr

glPixelMapusvFunPtr :: FunPtr (GLenum -> GLsizei -> Ptr GLushort -> IO ())
glPixelMapusvFunPtr :: FunPtr (GLenum -> GLsizei -> Ptr GLushort -> IO ())
glPixelMapusvFunPtr = IO (FunPtr (GLenum -> GLsizei -> Ptr GLushort -> IO ()))
-> FunPtr (GLenum -> GLsizei -> Ptr GLushort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLsizei -> Ptr GLushort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glPixelMapusv")

{-# NOINLINE glPixelMapusvFunPtr #-}

-- | Usage: @'glPixelTransferf' pname param@
--
-- The parameter @pname@ is a @PixelTransferParameter@, one of: 'Graphics.GL.Internal.Shared.GL_ALPHA_BIAS', 'Graphics.GL.Internal.Shared.GL_ALPHA_SCALE', 'Graphics.GL.Internal.Shared.GL_BLUE_BIAS', 'Graphics.GL.Internal.Shared.GL_BLUE_SCALE', 'Graphics.GL.Internal.Shared.GL_DEPTH_BIAS', 'Graphics.GL.Internal.Shared.GL_DEPTH_SCALE', 'Graphics.GL.Internal.Shared.GL_GREEN_BIAS', 'Graphics.GL.Internal.Shared.GL_GREEN_SCALE', 'Graphics.GL.Internal.Shared.GL_INDEX_OFFSET', 'Graphics.GL.Internal.Shared.GL_INDEX_SHIFT', 'Graphics.GL.Internal.Shared.GL_MAP_COLOR', 'Graphics.GL.Internal.Shared.GL_MAP_STENCIL', 'Graphics.GL.Ext.ARB.Imaging.GL_POST_COLOR_MATRIX_ALPHA_BIAS', 'Graphics.GL.Ext.SGI.ColorMatrix.GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI', 'Graphics.GL.Ext.ARB.Imaging.GL_POST_COLOR_MATRIX_ALPHA_SCALE', 'Graphics.GL.Ext.SGI.ColorMatrix.GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI', 'Graphics.GL.Ext.ARB.Imaging.GL_POST_COLOR_MATRIX_BLUE_BIAS', 'Graphics.GL.Ext.SGI.ColorMatrix.GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI', 'Graphics.GL.Ext.ARB.Imaging.GL_POST_COLOR_MATRIX_BLUE_SCALE', 'Graphics.GL.Ext.SGI.ColorMatrix.GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI', 'Graphics.GL.Ext.ARB.Imaging.GL_POST_COLOR_MATRIX_GREEN_BIAS', 'Graphics.GL.Ext.SGI.ColorMatrix.GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI', 'Graphics.GL.Ext.ARB.Imaging.GL_POST_COLOR_MATRIX_GREEN_SCALE', 'Graphics.GL.Ext.SGI.ColorMatrix.GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI', 'Graphics.GL.Ext.ARB.Imaging.GL_POST_COLOR_MATRIX_RED_BIAS', 'Graphics.GL.Ext.SGI.ColorMatrix.GL_POST_COLOR_MATRIX_RED_BIAS_SGI', 'Graphics.GL.Ext.ARB.Imaging.GL_POST_COLOR_MATRIX_RED_SCALE', 'Graphics.GL.Ext.SGI.ColorMatrix.GL_POST_COLOR_MATRIX_RED_SCALE_SGI', 'Graphics.GL.Ext.ARB.Imaging.GL_POST_CONVOLUTION_ALPHA_BIAS', 'Graphics.GL.Ext.EXT.Convolution.GL_POST_CONVOLUTION_ALPHA_BIAS_EXT', 'Graphics.GL.Ext.ARB.Imaging.GL_POST_CONVOLUTION_ALPHA_SCALE', 'Graphics.GL.Ext.EXT.Convolution.GL_POST_CONVOLUTION_ALPHA_SCALE_EXT', 'Graphics.GL.Ext.ARB.Imaging.GL_POST_CONVOLUTION_BLUE_BIAS', 'Graphics.GL.Ext.EXT.Convolution.GL_POST_CONVOLUTION_BLUE_BIAS_EXT', 'Graphics.GL.Ext.ARB.Imaging.GL_POST_CONVOLUTION_BLUE_SCALE', 'Graphics.GL.Ext.EXT.Convolution.GL_POST_CONVOLUTION_BLUE_SCALE_EXT', 'Graphics.GL.Ext.ARB.Imaging.GL_POST_CONVOLUTION_GREEN_BIAS', 'Graphics.GL.Ext.EXT.Convolution.GL_POST_CONVOLUTION_GREEN_BIAS_EXT', 'Graphics.GL.Ext.ARB.Imaging.GL_POST_CONVOLUTION_GREEN_SCALE', 'Graphics.GL.Ext.EXT.Convolution.GL_POST_CONVOLUTION_GREEN_SCALE_EXT', 'Graphics.GL.Ext.ARB.Imaging.GL_POST_CONVOLUTION_RED_BIAS', 'Graphics.GL.Ext.EXT.Convolution.GL_POST_CONVOLUTION_RED_BIAS_EXT', 'Graphics.GL.Ext.ARB.Imaging.GL_POST_CONVOLUTION_RED_SCALE', 'Graphics.GL.Ext.EXT.Convolution.GL_POST_CONVOLUTION_RED_SCALE_EXT', 'Graphics.GL.Internal.Shared.GL_RED_BIAS', 'Graphics.GL.Internal.Shared.GL_RED_SCALE'.
--
-- The parameter @param@ is a @CheckedFloat32@.


glPixelTransferf :: MonadIO m => GLenum -> GLfloat -> m ()
glPixelTransferf :: GLenum -> GLfloat -> m ()
glPixelTransferf = FunPtr (GLenum -> GLfloat -> IO ()) -> GLenum -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLfloat -> IO ()) -> GLenum -> GLfloat -> m ()
ffienumfloatIOV FunPtr (GLenum -> GLfloat -> IO ())
glPixelTransferfFunPtr

glPixelTransferfFunPtr :: FunPtr (GLenum -> GLfloat -> IO ())
glPixelTransferfFunPtr :: FunPtr (GLenum -> GLfloat -> IO ())
glPixelTransferfFunPtr = IO (FunPtr (GLenum -> GLfloat -> IO ()))
-> FunPtr (GLenum -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glPixelTransferf")

{-# NOINLINE glPixelTransferfFunPtr #-}

-- | Usage: @'glPixelTransferi' pname param@
--
-- The parameter @pname@ is a @PixelTransferParameter@, one of: 'Graphics.GL.Internal.Shared.GL_ALPHA_BIAS', 'Graphics.GL.Internal.Shared.GL_ALPHA_SCALE', 'Graphics.GL.Internal.Shared.GL_BLUE_BIAS', 'Graphics.GL.Internal.Shared.GL_BLUE_SCALE', 'Graphics.GL.Internal.Shared.GL_DEPTH_BIAS', 'Graphics.GL.Internal.Shared.GL_DEPTH_SCALE', 'Graphics.GL.Internal.Shared.GL_GREEN_BIAS', 'Graphics.GL.Internal.Shared.GL_GREEN_SCALE', 'Graphics.GL.Internal.Shared.GL_INDEX_OFFSET', 'Graphics.GL.Internal.Shared.GL_INDEX_SHIFT', 'Graphics.GL.Internal.Shared.GL_MAP_COLOR', 'Graphics.GL.Internal.Shared.GL_MAP_STENCIL', 'Graphics.GL.Ext.ARB.Imaging.GL_POST_COLOR_MATRIX_ALPHA_BIAS', 'Graphics.GL.Ext.SGI.ColorMatrix.GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI', 'Graphics.GL.Ext.ARB.Imaging.GL_POST_COLOR_MATRIX_ALPHA_SCALE', 'Graphics.GL.Ext.SGI.ColorMatrix.GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI', 'Graphics.GL.Ext.ARB.Imaging.GL_POST_COLOR_MATRIX_BLUE_BIAS', 'Graphics.GL.Ext.SGI.ColorMatrix.GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI', 'Graphics.GL.Ext.ARB.Imaging.GL_POST_COLOR_MATRIX_BLUE_SCALE', 'Graphics.GL.Ext.SGI.ColorMatrix.GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI', 'Graphics.GL.Ext.ARB.Imaging.GL_POST_COLOR_MATRIX_GREEN_BIAS', 'Graphics.GL.Ext.SGI.ColorMatrix.GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI', 'Graphics.GL.Ext.ARB.Imaging.GL_POST_COLOR_MATRIX_GREEN_SCALE', 'Graphics.GL.Ext.SGI.ColorMatrix.GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI', 'Graphics.GL.Ext.ARB.Imaging.GL_POST_COLOR_MATRIX_RED_BIAS', 'Graphics.GL.Ext.SGI.ColorMatrix.GL_POST_COLOR_MATRIX_RED_BIAS_SGI', 'Graphics.GL.Ext.ARB.Imaging.GL_POST_COLOR_MATRIX_RED_SCALE', 'Graphics.GL.Ext.SGI.ColorMatrix.GL_POST_COLOR_MATRIX_RED_SCALE_SGI', 'Graphics.GL.Ext.ARB.Imaging.GL_POST_CONVOLUTION_ALPHA_BIAS', 'Graphics.GL.Ext.EXT.Convolution.GL_POST_CONVOLUTION_ALPHA_BIAS_EXT', 'Graphics.GL.Ext.ARB.Imaging.GL_POST_CONVOLUTION_ALPHA_SCALE', 'Graphics.GL.Ext.EXT.Convolution.GL_POST_CONVOLUTION_ALPHA_SCALE_EXT', 'Graphics.GL.Ext.ARB.Imaging.GL_POST_CONVOLUTION_BLUE_BIAS', 'Graphics.GL.Ext.EXT.Convolution.GL_POST_CONVOLUTION_BLUE_BIAS_EXT', 'Graphics.GL.Ext.ARB.Imaging.GL_POST_CONVOLUTION_BLUE_SCALE', 'Graphics.GL.Ext.EXT.Convolution.GL_POST_CONVOLUTION_BLUE_SCALE_EXT', 'Graphics.GL.Ext.ARB.Imaging.GL_POST_CONVOLUTION_GREEN_BIAS', 'Graphics.GL.Ext.EXT.Convolution.GL_POST_CONVOLUTION_GREEN_BIAS_EXT', 'Graphics.GL.Ext.ARB.Imaging.GL_POST_CONVOLUTION_GREEN_SCALE', 'Graphics.GL.Ext.EXT.Convolution.GL_POST_CONVOLUTION_GREEN_SCALE_EXT', 'Graphics.GL.Ext.ARB.Imaging.GL_POST_CONVOLUTION_RED_BIAS', 'Graphics.GL.Ext.EXT.Convolution.GL_POST_CONVOLUTION_RED_BIAS_EXT', 'Graphics.GL.Ext.ARB.Imaging.GL_POST_CONVOLUTION_RED_SCALE', 'Graphics.GL.Ext.EXT.Convolution.GL_POST_CONVOLUTION_RED_SCALE_EXT', 'Graphics.GL.Internal.Shared.GL_RED_BIAS', 'Graphics.GL.Internal.Shared.GL_RED_SCALE'.
--
-- The parameter @param@ is a @CheckedInt32@.


glPixelTransferi :: MonadIO m => GLenum -> GLint -> m ()
glPixelTransferi :: GLenum -> GLsizei -> m ()
glPixelTransferi = FunPtr (GLenum -> GLsizei -> IO ()) -> GLenum -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> IO ()) -> GLenum -> GLsizei -> m ()
ffienumintIOV FunPtr (GLenum -> GLsizei -> IO ())
glPixelTransferiFunPtr

glPixelTransferiFunPtr :: FunPtr (GLenum -> GLint -> IO ())
glPixelTransferiFunPtr :: FunPtr (GLenum -> GLsizei -> IO ())
glPixelTransferiFunPtr = IO (FunPtr (GLenum -> GLsizei -> IO ()))
-> FunPtr (GLenum -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glPixelTransferi")

{-# NOINLINE glPixelTransferiFunPtr #-}

-- | Usage: @'glPixelZoom' xfactor yfactor@


glPixelZoom :: MonadIO m => GLfloat -> GLfloat -> m ()
glPixelZoom :: GLfloat -> GLfloat -> m ()
glPixelZoom = FunPtr (GLfloat -> GLfloat -> IO ()) -> GLfloat -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLfloat -> GLfloat -> IO ()) -> GLfloat -> GLfloat -> m ()
ffifloatfloatIOV FunPtr (GLfloat -> GLfloat -> IO ())
glPixelZoomFunPtr

glPixelZoomFunPtr :: FunPtr (GLfloat -> GLfloat -> IO ())
glPixelZoomFunPtr :: FunPtr (GLfloat -> GLfloat -> IO ())
glPixelZoomFunPtr = IO (FunPtr (GLfloat -> GLfloat -> IO ()))
-> FunPtr (GLfloat -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLfloat -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glPixelZoom")

{-# NOINLINE glPixelZoomFunPtr #-}

-- | Usage: @'glPolygonStipple' mask@
--
-- The length of @mask@ should be @COMPSIZE()@.


glPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()
glPolygonStipple :: Ptr GLboolean -> m ()
glPolygonStipple = FunPtr (Ptr GLboolean -> IO ()) -> Ptr GLboolean -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLboolean -> IO ()) -> Ptr GLboolean -> m ()
ffiPtrubyteIOV FunPtr (Ptr GLboolean -> IO ())
glPolygonStippleFunPtr

glPolygonStippleFunPtr :: FunPtr (Ptr GLubyte -> IO ())
glPolygonStippleFunPtr :: FunPtr (Ptr GLboolean -> IO ())
glPolygonStippleFunPtr = IO (FunPtr (Ptr GLboolean -> IO ()))
-> FunPtr (Ptr GLboolean -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLboolean -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glPolygonStipple")

{-# NOINLINE glPolygonStippleFunPtr #-}

-- | Usage: @'glPopAttrib'@


glPopAttrib :: MonadIO m => m ()
glPopAttrib :: m ()
glPopAttrib = FunPtr (IO ()) -> m ()
forall (m :: * -> *). MonadIO m => FunPtr (IO ()) -> m ()
ffiIOV FunPtr (IO ())
glPopAttribFunPtr

glPopAttribFunPtr :: FunPtr (IO ())
glPopAttribFunPtr :: FunPtr (IO ())
glPopAttribFunPtr = IO (FunPtr (IO ())) -> FunPtr (IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glPopAttrib")

{-# NOINLINE glPopAttribFunPtr #-}

-- | Usage: @'glPopClientAttrib'@


glPopClientAttrib :: MonadIO m => m ()
glPopClientAttrib :: m ()
glPopClientAttrib = FunPtr (IO ()) -> m ()
forall (m :: * -> *). MonadIO m => FunPtr (IO ()) -> m ()
ffiIOV FunPtr (IO ())
glPopClientAttribFunPtr

glPopClientAttribFunPtr :: FunPtr (IO ())
glPopClientAttribFunPtr :: FunPtr (IO ())
glPopClientAttribFunPtr = IO (FunPtr (IO ())) -> FunPtr (IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glPopClientAttrib")

{-# NOINLINE glPopClientAttribFunPtr #-}

-- | Usage: @'glPopMatrix'@


glPopMatrix :: MonadIO m => m ()
glPopMatrix :: m ()
glPopMatrix = FunPtr (IO ()) -> m ()
forall (m :: * -> *). MonadIO m => FunPtr (IO ()) -> m ()
ffiIOV FunPtr (IO ())
glPopMatrixFunPtr

glPopMatrixFunPtr :: FunPtr (IO ())
glPopMatrixFunPtr :: FunPtr (IO ())
glPopMatrixFunPtr = IO (FunPtr (IO ())) -> FunPtr (IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glPopMatrix")

{-# NOINLINE glPopMatrixFunPtr #-}

-- | Usage: @'glPopName'@


glPopName :: MonadIO m => m ()
glPopName :: m ()
glPopName = FunPtr (IO ()) -> m ()
forall (m :: * -> *). MonadIO m => FunPtr (IO ()) -> m ()
ffiIOV FunPtr (IO ())
glPopNameFunPtr

glPopNameFunPtr :: FunPtr (IO ())
glPopNameFunPtr :: FunPtr (IO ())
glPopNameFunPtr = IO (FunPtr (IO ())) -> FunPtr (IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glPopName")

{-# NOINLINE glPopNameFunPtr #-}

-- | Usage: @'glPrioritizeTextures' n textures priorities@
--
-- The parameter @textures@ is a @Texture@.
--
-- The length of @textures@ should be @n@.
--
-- The length of @priorities@ should be @n@.


glPrioritizeTextures :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLfloat -> m ()
glPrioritizeTextures :: GLsizei -> Ptr GLenum -> Ptr GLfloat -> m ()
glPrioritizeTextures = FunPtr (GLsizei -> Ptr GLenum -> Ptr GLfloat -> IO ())
-> GLsizei -> Ptr GLenum -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> Ptr GLenum -> Ptr GLfloat -> IO ())
-> GLsizei -> Ptr GLenum -> Ptr GLfloat -> m ()
ffisizeiPtruintPtrfloatIOV FunPtr (GLsizei -> Ptr GLenum -> Ptr GLfloat -> IO ())
glPrioritizeTexturesFunPtr

glPrioritizeTexturesFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> Ptr GLfloat -> IO ())
glPrioritizeTexturesFunPtr :: FunPtr (GLsizei -> Ptr GLenum -> Ptr GLfloat -> IO ())
glPrioritizeTexturesFunPtr = IO (FunPtr (GLsizei -> Ptr GLenum -> Ptr GLfloat -> IO ()))
-> FunPtr (GLsizei -> Ptr GLenum -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLsizei -> Ptr GLenum -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glPrioritizeTextures")

{-# NOINLINE glPrioritizeTexturesFunPtr #-}

-- | Usage: @'glPushAttrib' mask@
--
-- The parameter @mask@ is a @AttribMask@, one of: 'Graphics.GL.Internal.Shared.GL_ACCUM_BUFFER_BIT', 'Graphics.GL.Internal.Shared.GL_ALL_ATTRIB_BITS', 'Graphics.GL.Internal.Shared.GL_COLOR_BUFFER_BIT', 'Graphics.GL.Internal.Shared.GL_CURRENT_BIT', 'Graphics.GL.Internal.Shared.GL_DEPTH_BUFFER_BIT', 'Graphics.GL.Internal.Shared.GL_ENABLE_BIT', 'Graphics.GL.Internal.Shared.GL_EVAL_BIT', 'Graphics.GL.Internal.Shared.GL_FOG_BIT', 'Graphics.GL.Internal.Shared.GL_HINT_BIT', 'Graphics.GL.Internal.Shared.GL_LIGHTING_BIT', 'Graphics.GL.Internal.Shared.GL_LINE_BIT', 'Graphics.GL.Internal.Shared.GL_LIST_BIT', 'Graphics.GL.Internal.Shared.GL_MULTISAMPLE_BIT', 'Graphics.GL.Ext.ThreeDFX.Multisample.GL_MULTISAMPLE_BIT_3DFX', 'Graphics.GL.Ext.ARB.Multisample.GL_MULTISAMPLE_BIT_ARB', 'Graphics.GL.Ext.EXT.Multisample.GL_MULTISAMPLE_BIT_EXT', 'Graphics.GL.Internal.Shared.GL_PIXEL_MODE_BIT', 'Graphics.GL.Internal.Shared.GL_POINT_BIT', 'Graphics.GL.Internal.Shared.GL_POLYGON_BIT', 'Graphics.GL.Internal.Shared.GL_POLYGON_STIPPLE_BIT', 'Graphics.GL.Internal.Shared.GL_SCISSOR_BIT', 'Graphics.GL.Internal.Shared.GL_STENCIL_BUFFER_BIT', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BIT', 'Graphics.GL.Internal.Shared.GL_TRANSFORM_BIT', 'Graphics.GL.Internal.Shared.GL_VIEWPORT_BIT'.


glPushAttrib :: MonadIO m => GLbitfield -> m ()
glPushAttrib :: GLenum -> m ()
glPushAttrib = FunPtr (GLenum -> IO ()) -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO ()) -> GLenum -> m ()
ffibitfieldIOV FunPtr (GLenum -> IO ())
glPushAttribFunPtr

glPushAttribFunPtr :: FunPtr (GLbitfield -> IO ())
glPushAttribFunPtr :: FunPtr (GLenum -> IO ())
glPushAttribFunPtr = IO (FunPtr (GLenum -> IO ())) -> FunPtr (GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glPushAttrib")

{-# NOINLINE glPushAttribFunPtr #-}

-- | Usage: @'glPushClientAttrib' mask@
--
-- The parameter @mask@ is a @ClientAttribMask@, one of: 'Graphics.GL.Internal.Shared.GL_CLIENT_ALL_ATTRIB_BITS', 'Graphics.GL.Internal.Shared.GL_CLIENT_PIXEL_STORE_BIT', 'Graphics.GL.Internal.Shared.GL_CLIENT_VERTEX_ARRAY_BIT'.


glPushClientAttrib :: MonadIO m => GLbitfield -> m ()
glPushClientAttrib :: GLenum -> m ()
glPushClientAttrib = FunPtr (GLenum -> IO ()) -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO ()) -> GLenum -> m ()
ffibitfieldIOV FunPtr (GLenum -> IO ())
glPushClientAttribFunPtr

glPushClientAttribFunPtr :: FunPtr (GLbitfield -> IO ())
glPushClientAttribFunPtr :: FunPtr (GLenum -> IO ())
glPushClientAttribFunPtr = IO (FunPtr (GLenum -> IO ())) -> FunPtr (GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glPushClientAttrib")

{-# NOINLINE glPushClientAttribFunPtr #-}

-- | Usage: @'glPushMatrix'@


glPushMatrix :: MonadIO m => m ()
glPushMatrix :: m ()
glPushMatrix = FunPtr (IO ()) -> m ()
forall (m :: * -> *). MonadIO m => FunPtr (IO ()) -> m ()
ffiIOV FunPtr (IO ())
glPushMatrixFunPtr

glPushMatrixFunPtr :: FunPtr (IO ())
glPushMatrixFunPtr :: FunPtr (IO ())
glPushMatrixFunPtr = IO (FunPtr (IO ())) -> FunPtr (IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glPushMatrix")

{-# NOINLINE glPushMatrixFunPtr #-}

-- | Usage: @'glPushName' name@
--
-- The parameter @name@ is a @SelectName@.


glPushName :: MonadIO m => GLuint -> m ()
glPushName :: GLenum -> m ()
glPushName = FunPtr (GLenum -> IO ()) -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO ()) -> GLenum -> m ()
ffiuintIOV FunPtr (GLenum -> IO ())
glPushNameFunPtr

glPushNameFunPtr :: FunPtr (GLuint -> IO ())
glPushNameFunPtr :: FunPtr (GLenum -> IO ())
glPushNameFunPtr = IO (FunPtr (GLenum -> IO ())) -> FunPtr (GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glPushName")

{-# NOINLINE glPushNameFunPtr #-}

-- | Usage: @'glRasterPos2d' x y@
--
-- The parameter @x@ is a @CoordD@.
--
-- The parameter @y@ is a @CoordD@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glRasterPos2dv'.


glRasterPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()
glRasterPos2d :: GLdouble -> GLdouble -> m ()
glRasterPos2d = FunPtr (GLdouble -> GLdouble -> IO ())
-> GLdouble -> GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLdouble -> GLdouble -> IO ())
-> GLdouble -> GLdouble -> m ()
ffidoubledoubleIOV FunPtr (GLdouble -> GLdouble -> IO ())
glRasterPos2dFunPtr

glRasterPos2dFunPtr :: FunPtr (GLdouble -> GLdouble -> IO ())
glRasterPos2dFunPtr :: FunPtr (GLdouble -> GLdouble -> IO ())
glRasterPos2dFunPtr = IO (FunPtr (GLdouble -> GLdouble -> IO ()))
-> FunPtr (GLdouble -> GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLdouble -> GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glRasterPos2d")

{-# NOINLINE glRasterPos2dFunPtr #-}

-- | Usage: @'glRasterPos2dv' v@
--
-- The parameter @v@ is a @CoordD@.
--
-- The length of @v@ should be @2@.


glRasterPos2dv :: MonadIO m => Ptr GLdouble -> m ()
glRasterPos2dv :: Ptr GLdouble -> m ()
glRasterPos2dv = FunPtr (Ptr GLdouble -> IO ()) -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLdouble -> IO ()) -> Ptr GLdouble -> m ()
ffiPtrdoubleIOV FunPtr (Ptr GLdouble -> IO ())
glRasterPos2dvFunPtr

glRasterPos2dvFunPtr :: FunPtr (Ptr GLdouble -> IO ())
glRasterPos2dvFunPtr :: FunPtr (Ptr GLdouble -> IO ())
glRasterPos2dvFunPtr = IO (FunPtr (Ptr GLdouble -> IO ()))
-> FunPtr (Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glRasterPos2dv")

{-# NOINLINE glRasterPos2dvFunPtr #-}

-- | Usage: @'glRasterPos2f' x y@
--
-- The parameter @x@ is a @CoordF@.
--
-- The parameter @y@ is a @CoordF@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glRasterPos2fv'.


glRasterPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()
glRasterPos2f :: GLfloat -> GLfloat -> m ()
glRasterPos2f = FunPtr (GLfloat -> GLfloat -> IO ()) -> GLfloat -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLfloat -> GLfloat -> IO ()) -> GLfloat -> GLfloat -> m ()
ffifloatfloatIOV FunPtr (GLfloat -> GLfloat -> IO ())
glRasterPos2fFunPtr

glRasterPos2fFunPtr :: FunPtr (GLfloat -> GLfloat -> IO ())
glRasterPos2fFunPtr :: FunPtr (GLfloat -> GLfloat -> IO ())
glRasterPos2fFunPtr = IO (FunPtr (GLfloat -> GLfloat -> IO ()))
-> FunPtr (GLfloat -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLfloat -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glRasterPos2f")

{-# NOINLINE glRasterPos2fFunPtr #-}

-- | Usage: @'glRasterPos2fv' v@
--
-- The parameter @v@ is a @CoordF@.
--
-- The length of @v@ should be @2@.


glRasterPos2fv :: MonadIO m => Ptr GLfloat -> m ()
glRasterPos2fv :: Ptr GLfloat -> m ()
glRasterPos2fv = FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> m ()
ffiPtrfloatIOV FunPtr (Ptr GLfloat -> IO ())
glRasterPos2fvFunPtr

glRasterPos2fvFunPtr :: FunPtr (Ptr GLfloat -> IO ())
glRasterPos2fvFunPtr :: FunPtr (Ptr GLfloat -> IO ())
glRasterPos2fvFunPtr = IO (FunPtr (Ptr GLfloat -> IO ())) -> FunPtr (Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glRasterPos2fv")

{-# NOINLINE glRasterPos2fvFunPtr #-}

-- | Usage: @'glRasterPos2i' x y@
--
-- The parameter @x@ is a @CoordI@.
--
-- The parameter @y@ is a @CoordI@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glRasterPos2iv'.


glRasterPos2i :: MonadIO m => GLint -> GLint -> m ()
glRasterPos2i :: GLsizei -> GLsizei -> m ()
glRasterPos2i = FunPtr (GLsizei -> GLsizei -> IO ()) -> GLsizei -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> IO ()) -> GLsizei -> GLsizei -> m ()
ffiintintIOV FunPtr (GLsizei -> GLsizei -> IO ())
glRasterPos2iFunPtr

glRasterPos2iFunPtr :: FunPtr (GLint -> GLint -> IO ())
glRasterPos2iFunPtr :: FunPtr (GLsizei -> GLsizei -> IO ())
glRasterPos2iFunPtr = IO (FunPtr (GLsizei -> GLsizei -> IO ()))
-> FunPtr (GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glRasterPos2i")

{-# NOINLINE glRasterPos2iFunPtr #-}

-- | Usage: @'glRasterPos2iv' v@
--
-- The parameter @v@ is a @CoordI@.
--
-- The length of @v@ should be @2@.


glRasterPos2iv :: MonadIO m => Ptr GLint -> m ()
glRasterPos2iv :: Ptr GLsizei -> m ()
glRasterPos2iv = FunPtr (Ptr GLsizei -> IO ()) -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLsizei -> IO ()) -> Ptr GLsizei -> m ()
ffiPtrintIOV FunPtr (Ptr GLsizei -> IO ())
glRasterPos2ivFunPtr

glRasterPos2ivFunPtr :: FunPtr (Ptr GLint -> IO ())
glRasterPos2ivFunPtr :: FunPtr (Ptr GLsizei -> IO ())
glRasterPos2ivFunPtr = IO (FunPtr (Ptr GLsizei -> IO ())) -> FunPtr (Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glRasterPos2iv")

{-# NOINLINE glRasterPos2ivFunPtr #-}

-- | Usage: @'glRasterPos2s' x y@
--
-- The parameter @x@ is a @CoordS@.
--
-- The parameter @y@ is a @CoordS@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glRasterPos2sv'.


glRasterPos2s :: MonadIO m => GLshort -> GLshort -> m ()
glRasterPos2s :: GLshort -> GLshort -> m ()
glRasterPos2s = FunPtr (GLshort -> GLshort -> IO ()) -> GLshort -> GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLshort -> GLshort -> IO ()) -> GLshort -> GLshort -> m ()
ffishortshortIOV FunPtr (GLshort -> GLshort -> IO ())
glRasterPos2sFunPtr

glRasterPos2sFunPtr :: FunPtr (GLshort -> GLshort -> IO ())
glRasterPos2sFunPtr :: FunPtr (GLshort -> GLshort -> IO ())
glRasterPos2sFunPtr = IO (FunPtr (GLshort -> GLshort -> IO ()))
-> FunPtr (GLshort -> GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLshort -> GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glRasterPos2s")

{-# NOINLINE glRasterPos2sFunPtr #-}

-- | Usage: @'glRasterPos2sv' v@
--
-- The parameter @v@ is a @CoordS@.
--
-- The length of @v@ should be @2@.


glRasterPos2sv :: MonadIO m => Ptr GLshort -> m ()
glRasterPos2sv :: Ptr GLshort -> m ()
glRasterPos2sv = FunPtr (Ptr GLshort -> IO ()) -> Ptr GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLshort -> IO ()) -> Ptr GLshort -> m ()
ffiPtrshortIOV FunPtr (Ptr GLshort -> IO ())
glRasterPos2svFunPtr

glRasterPos2svFunPtr :: FunPtr (Ptr GLshort -> IO ())
glRasterPos2svFunPtr :: FunPtr (Ptr GLshort -> IO ())
glRasterPos2svFunPtr = IO (FunPtr (Ptr GLshort -> IO ())) -> FunPtr (Ptr GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glRasterPos2sv")

{-# NOINLINE glRasterPos2svFunPtr #-}

-- | Usage: @'glRasterPos3d' x y z@
--
-- The parameter @x@ is a @CoordD@.
--
-- The parameter @y@ is a @CoordD@.
--
-- The parameter @z@ is a @CoordD@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glRasterPos3dv'.


glRasterPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()
glRasterPos3d :: GLdouble -> GLdouble -> GLdouble -> m ()
glRasterPos3d = FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLdouble -> GLdouble -> GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLdouble -> GLdouble -> GLdouble -> m ()
ffidoubledoubledoubleIOV FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
glRasterPos3dFunPtr

glRasterPos3dFunPtr :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
glRasterPos3dFunPtr :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
glRasterPos3dFunPtr = IO (FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ()))
-> FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glRasterPos3d")

{-# NOINLINE glRasterPos3dFunPtr #-}

-- | Usage: @'glRasterPos3dv' v@
--
-- The parameter @v@ is a @CoordD@.
--
-- The length of @v@ should be @3@.


glRasterPos3dv :: MonadIO m => Ptr GLdouble -> m ()
glRasterPos3dv :: Ptr GLdouble -> m ()
glRasterPos3dv = FunPtr (Ptr GLdouble -> IO ()) -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLdouble -> IO ()) -> Ptr GLdouble -> m ()
ffiPtrdoubleIOV FunPtr (Ptr GLdouble -> IO ())
glRasterPos3dvFunPtr

glRasterPos3dvFunPtr :: FunPtr (Ptr GLdouble -> IO ())
glRasterPos3dvFunPtr :: FunPtr (Ptr GLdouble -> IO ())
glRasterPos3dvFunPtr = IO (FunPtr (Ptr GLdouble -> IO ()))
-> FunPtr (Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glRasterPos3dv")

{-# NOINLINE glRasterPos3dvFunPtr #-}

-- | Usage: @'glRasterPos3f' x y z@
--
-- The parameter @x@ is a @CoordF@.
--
-- The parameter @y@ is a @CoordF@.
--
-- The parameter @z@ is a @CoordF@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glRasterPos3fv'.


glRasterPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()
glRasterPos3f :: GLfloat -> GLfloat -> GLfloat -> m ()
glRasterPos3f = FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLfloat -> GLfloat -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLfloat -> GLfloat -> GLfloat -> m ()
ffifloatfloatfloatIOV FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
glRasterPos3fFunPtr

glRasterPos3fFunPtr :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
glRasterPos3fFunPtr :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
glRasterPos3fFunPtr = IO (FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ()))
-> FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glRasterPos3f")

{-# NOINLINE glRasterPos3fFunPtr #-}

-- | Usage: @'glRasterPos3fv' v@
--
-- The parameter @v@ is a @CoordF@.
--
-- The length of @v@ should be @3@.


glRasterPos3fv :: MonadIO m => Ptr GLfloat -> m ()
glRasterPos3fv :: Ptr GLfloat -> m ()
glRasterPos3fv = FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> m ()
ffiPtrfloatIOV FunPtr (Ptr GLfloat -> IO ())
glRasterPos3fvFunPtr

glRasterPos3fvFunPtr :: FunPtr (Ptr GLfloat -> IO ())
glRasterPos3fvFunPtr :: FunPtr (Ptr GLfloat -> IO ())
glRasterPos3fvFunPtr = IO (FunPtr (Ptr GLfloat -> IO ())) -> FunPtr (Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glRasterPos3fv")

{-# NOINLINE glRasterPos3fvFunPtr #-}

-- | Usage: @'glRasterPos3i' x y z@
--
-- The parameter @x@ is a @CoordI@.
--
-- The parameter @y@ is a @CoordI@.
--
-- The parameter @z@ is a @CoordI@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glRasterPos3iv'.


glRasterPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()
glRasterPos3i :: GLsizei -> GLsizei -> GLsizei -> m ()
glRasterPos3i = FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLsizei -> GLsizei -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLsizei -> GLsizei -> GLsizei -> m ()
ffiintintintIOV FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ())
glRasterPos3iFunPtr

glRasterPos3iFunPtr :: FunPtr (GLint -> GLint -> GLint -> IO ())
glRasterPos3iFunPtr :: FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ())
glRasterPos3iFunPtr = IO (FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ()))
-> FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glRasterPos3i")

{-# NOINLINE glRasterPos3iFunPtr #-}

-- | Usage: @'glRasterPos3iv' v@
--
-- The parameter @v@ is a @CoordI@.
--
-- The length of @v@ should be @3@.


glRasterPos3iv :: MonadIO m => Ptr GLint -> m ()
glRasterPos3iv :: Ptr GLsizei -> m ()
glRasterPos3iv = FunPtr (Ptr GLsizei -> IO ()) -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLsizei -> IO ()) -> Ptr GLsizei -> m ()
ffiPtrintIOV FunPtr (Ptr GLsizei -> IO ())
glRasterPos3ivFunPtr

glRasterPos3ivFunPtr :: FunPtr (Ptr GLint -> IO ())
glRasterPos3ivFunPtr :: FunPtr (Ptr GLsizei -> IO ())
glRasterPos3ivFunPtr = IO (FunPtr (Ptr GLsizei -> IO ())) -> FunPtr (Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glRasterPos3iv")

{-# NOINLINE glRasterPos3ivFunPtr #-}

-- | Usage: @'glRasterPos3s' x y z@
--
-- The parameter @x@ is a @CoordS@.
--
-- The parameter @y@ is a @CoordS@.
--
-- The parameter @z@ is a @CoordS@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glRasterPos3sv'.


glRasterPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()
glRasterPos3s :: GLshort -> GLshort -> GLshort -> m ()
glRasterPos3s = FunPtr (GLshort -> GLshort -> GLshort -> IO ())
-> GLshort -> GLshort -> GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLshort -> GLshort -> GLshort -> IO ())
-> GLshort -> GLshort -> GLshort -> m ()
ffishortshortshortIOV FunPtr (GLshort -> GLshort -> GLshort -> IO ())
glRasterPos3sFunPtr

glRasterPos3sFunPtr :: FunPtr (GLshort -> GLshort -> GLshort -> IO ())
glRasterPos3sFunPtr :: FunPtr (GLshort -> GLshort -> GLshort -> IO ())
glRasterPos3sFunPtr = IO (FunPtr (GLshort -> GLshort -> GLshort -> IO ()))
-> FunPtr (GLshort -> GLshort -> GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLshort -> GLshort -> GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glRasterPos3s")

{-# NOINLINE glRasterPos3sFunPtr #-}

-- | Usage: @'glRasterPos3sv' v@
--
-- The parameter @v@ is a @CoordS@.
--
-- The length of @v@ should be @3@.


glRasterPos3sv :: MonadIO m => Ptr GLshort -> m ()
glRasterPos3sv :: Ptr GLshort -> m ()
glRasterPos3sv = FunPtr (Ptr GLshort -> IO ()) -> Ptr GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLshort -> IO ()) -> Ptr GLshort -> m ()
ffiPtrshortIOV FunPtr (Ptr GLshort -> IO ())
glRasterPos3svFunPtr

glRasterPos3svFunPtr :: FunPtr (Ptr GLshort -> IO ())
glRasterPos3svFunPtr :: FunPtr (Ptr GLshort -> IO ())
glRasterPos3svFunPtr = IO (FunPtr (Ptr GLshort -> IO ())) -> FunPtr (Ptr GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glRasterPos3sv")

{-# NOINLINE glRasterPos3svFunPtr #-}

-- | Usage: @'glRasterPos4d' x y z w@
--
-- The parameter @x@ is a @CoordD@.
--
-- The parameter @y@ is a @CoordD@.
--
-- The parameter @z@ is a @CoordD@.
--
-- The parameter @w@ is a @CoordD@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glRasterPos4dv'.


glRasterPos4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glRasterPos4d :: GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glRasterPos4d = FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
ffidoubledoubledoubledoubleIOV FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
glRasterPos4dFunPtr

glRasterPos4dFunPtr :: FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
glRasterPos4dFunPtr :: FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
glRasterPos4dFunPtr = IO (FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()))
-> FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glRasterPos4d")

{-# NOINLINE glRasterPos4dFunPtr #-}

-- | Usage: @'glRasterPos4dv' v@
--
-- The parameter @v@ is a @CoordD@.
--
-- The length of @v@ should be @4@.


glRasterPos4dv :: MonadIO m => Ptr GLdouble -> m ()
glRasterPos4dv :: Ptr GLdouble -> m ()
glRasterPos4dv = FunPtr (Ptr GLdouble -> IO ()) -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLdouble -> IO ()) -> Ptr GLdouble -> m ()
ffiPtrdoubleIOV FunPtr (Ptr GLdouble -> IO ())
glRasterPos4dvFunPtr

glRasterPos4dvFunPtr :: FunPtr (Ptr GLdouble -> IO ())
glRasterPos4dvFunPtr :: FunPtr (Ptr GLdouble -> IO ())
glRasterPos4dvFunPtr = IO (FunPtr (Ptr GLdouble -> IO ()))
-> FunPtr (Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glRasterPos4dv")

{-# NOINLINE glRasterPos4dvFunPtr #-}

-- | Usage: @'glRasterPos4f' x y z w@
--
-- The parameter @x@ is a @CoordF@.
--
-- The parameter @y@ is a @CoordF@.
--
-- The parameter @z@ is a @CoordF@.
--
-- The parameter @w@ is a @CoordF@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glRasterPos4fv'.


glRasterPos4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glRasterPos4f :: GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glRasterPos4f = FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
ffifloatfloatfloatfloatIOV FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glRasterPos4fFunPtr

glRasterPos4fFunPtr :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glRasterPos4fFunPtr :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glRasterPos4fFunPtr = IO (FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()))
-> FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glRasterPos4f")

{-# NOINLINE glRasterPos4fFunPtr #-}

-- | Usage: @'glRasterPos4fv' v@
--
-- The parameter @v@ is a @CoordF@.
--
-- The length of @v@ should be @4@.


glRasterPos4fv :: MonadIO m => Ptr GLfloat -> m ()
glRasterPos4fv :: Ptr GLfloat -> m ()
glRasterPos4fv = FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> m ()
ffiPtrfloatIOV FunPtr (Ptr GLfloat -> IO ())
glRasterPos4fvFunPtr

glRasterPos4fvFunPtr :: FunPtr (Ptr GLfloat -> IO ())
glRasterPos4fvFunPtr :: FunPtr (Ptr GLfloat -> IO ())
glRasterPos4fvFunPtr = IO (FunPtr (Ptr GLfloat -> IO ())) -> FunPtr (Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glRasterPos4fv")

{-# NOINLINE glRasterPos4fvFunPtr #-}

-- | Usage: @'glRasterPos4i' x y z w@
--
-- The parameter @x@ is a @CoordI@.
--
-- The parameter @y@ is a @CoordI@.
--
-- The parameter @z@ is a @CoordI@.
--
-- The parameter @w@ is a @CoordI@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glRasterPos4iv'.


glRasterPos4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()
glRasterPos4i :: GLsizei -> GLsizei -> GLsizei -> GLsizei -> m ()
glRasterPos4i = FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLsizei -> GLsizei -> GLsizei -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLsizei -> GLsizei -> GLsizei -> GLsizei -> m ()
ffiintintintintIOV FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
glRasterPos4iFunPtr

glRasterPos4iFunPtr :: FunPtr (GLint -> GLint -> GLint -> GLint -> IO ())
glRasterPos4iFunPtr :: FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
glRasterPos4iFunPtr = IO (FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ()))
-> FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glRasterPos4i")

{-# NOINLINE glRasterPos4iFunPtr #-}

-- | Usage: @'glRasterPos4iv' v@
--
-- The parameter @v@ is a @CoordI@.
--
-- The length of @v@ should be @4@.


glRasterPos4iv :: MonadIO m => Ptr GLint -> m ()
glRasterPos4iv :: Ptr GLsizei -> m ()
glRasterPos4iv = FunPtr (Ptr GLsizei -> IO ()) -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLsizei -> IO ()) -> Ptr GLsizei -> m ()
ffiPtrintIOV FunPtr (Ptr GLsizei -> IO ())
glRasterPos4ivFunPtr

glRasterPos4ivFunPtr :: FunPtr (Ptr GLint -> IO ())
glRasterPos4ivFunPtr :: FunPtr (Ptr GLsizei -> IO ())
glRasterPos4ivFunPtr = IO (FunPtr (Ptr GLsizei -> IO ())) -> FunPtr (Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glRasterPos4iv")

{-# NOINLINE glRasterPos4ivFunPtr #-}

-- | Usage: @'glRasterPos4s' x y z w@
--
-- The parameter @x@ is a @CoordS@.
--
-- The parameter @y@ is a @CoordS@.
--
-- The parameter @z@ is a @CoordS@.
--
-- The parameter @w@ is a @CoordS@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glRasterPos4sv'.


glRasterPos4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()
glRasterPos4s :: GLshort -> GLshort -> GLshort -> GLshort -> m ()
glRasterPos4s = FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ())
-> GLshort -> GLshort -> GLshort -> GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ())
-> GLshort -> GLshort -> GLshort -> GLshort -> m ()
ffishortshortshortshortIOV FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ())
glRasterPos4sFunPtr

glRasterPos4sFunPtr :: FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ())
glRasterPos4sFunPtr :: FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ())
glRasterPos4sFunPtr = IO (FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ()))
-> FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glRasterPos4s")

{-# NOINLINE glRasterPos4sFunPtr #-}

-- | Usage: @'glRasterPos4sv' v@
--
-- The parameter @v@ is a @CoordS@.
--
-- The length of @v@ should be @4@.


glRasterPos4sv :: MonadIO m => Ptr GLshort -> m ()
glRasterPos4sv :: Ptr GLshort -> m ()
glRasterPos4sv = FunPtr (Ptr GLshort -> IO ()) -> Ptr GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLshort -> IO ()) -> Ptr GLshort -> m ()
ffiPtrshortIOV FunPtr (Ptr GLshort -> IO ())
glRasterPos4svFunPtr

glRasterPos4svFunPtr :: FunPtr (Ptr GLshort -> IO ())
glRasterPos4svFunPtr :: FunPtr (Ptr GLshort -> IO ())
glRasterPos4svFunPtr = IO (FunPtr (Ptr GLshort -> IO ())) -> FunPtr (Ptr GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glRasterPos4sv")

{-# NOINLINE glRasterPos4svFunPtr #-}

-- | Usage: @'glRectd' x1 y1 x2 y2@
--
-- The parameter @x1@ is a @CoordD@.
--
-- The parameter @y1@ is a @CoordD@.
--
-- The parameter @x2@ is a @CoordD@.
--
-- The parameter @y2@ is a @CoordD@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glRectdv'.


glRectd :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glRectd :: GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glRectd = FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
ffidoubledoubledoubledoubleIOV FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
glRectdFunPtr

glRectdFunPtr :: FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
glRectdFunPtr :: FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
glRectdFunPtr = IO (FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()))
-> FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glRectd")

{-# NOINLINE glRectdFunPtr #-}

-- | Usage: @'glRectdv' v1 v2@
--
-- The parameter @v1@ is a @CoordD@.
--
-- The parameter @v2@ is a @CoordD@.
--
-- The length of @v1@ should be @2@.
--
-- The length of @v2@ should be @2@.


glRectdv :: MonadIO m => Ptr GLdouble -> Ptr GLdouble -> m ()
glRectdv :: Ptr GLdouble -> Ptr GLdouble -> m ()
glRectdv = FunPtr (Ptr GLdouble -> Ptr GLdouble -> IO ())
-> Ptr GLdouble -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLdouble -> Ptr GLdouble -> IO ())
-> Ptr GLdouble -> Ptr GLdouble -> m ()
ffiPtrdoublePtrdoubleIOV FunPtr (Ptr GLdouble -> Ptr GLdouble -> IO ())
glRectdvFunPtr

glRectdvFunPtr :: FunPtr (Ptr GLdouble -> Ptr GLdouble -> IO ())
glRectdvFunPtr :: FunPtr (Ptr GLdouble -> Ptr GLdouble -> IO ())
glRectdvFunPtr = IO (FunPtr (Ptr GLdouble -> Ptr GLdouble -> IO ()))
-> FunPtr (Ptr GLdouble -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLdouble -> Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glRectdv")

{-# NOINLINE glRectdvFunPtr #-}

-- | Usage: @'glRectf' x1 y1 x2 y2@
--
-- The parameter @x1@ is a @CoordF@.
--
-- The parameter @y1@ is a @CoordF@.
--
-- The parameter @x2@ is a @CoordF@.
--
-- The parameter @y2@ is a @CoordF@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glRectfv'.


glRectf :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glRectf :: GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glRectf = FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
ffifloatfloatfloatfloatIOV FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glRectfFunPtr

glRectfFunPtr :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glRectfFunPtr :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glRectfFunPtr = IO (FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()))
-> FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glRectf")

{-# NOINLINE glRectfFunPtr #-}

-- | Usage: @'glRectfv' v1 v2@
--
-- The parameter @v1@ is a @CoordF@.
--
-- The parameter @v2@ is a @CoordF@.
--
-- The length of @v1@ should be @2@.
--
-- The length of @v2@ should be @2@.


glRectfv :: MonadIO m => Ptr GLfloat -> Ptr GLfloat -> m ()
glRectfv :: Ptr GLfloat -> Ptr GLfloat -> m ()
glRectfv = FunPtr (Ptr GLfloat -> Ptr GLfloat -> IO ())
-> Ptr GLfloat -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLfloat -> Ptr GLfloat -> IO ())
-> Ptr GLfloat -> Ptr GLfloat -> m ()
ffiPtrfloatPtrfloatIOV FunPtr (Ptr GLfloat -> Ptr GLfloat -> IO ())
glRectfvFunPtr

glRectfvFunPtr :: FunPtr (Ptr GLfloat -> Ptr GLfloat -> IO ())
glRectfvFunPtr :: FunPtr (Ptr GLfloat -> Ptr GLfloat -> IO ())
glRectfvFunPtr = IO (FunPtr (Ptr GLfloat -> Ptr GLfloat -> IO ()))
-> FunPtr (Ptr GLfloat -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLfloat -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glRectfv")

{-# NOINLINE glRectfvFunPtr #-}

-- | Usage: @'glRecti' x1 y1 x2 y2@
--
-- The parameter @x1@ is a @CoordI@.
--
-- The parameter @y1@ is a @CoordI@.
--
-- The parameter @x2@ is a @CoordI@.
--
-- The parameter @y2@ is a @CoordI@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glRectiv'.


glRecti :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()
glRecti :: GLsizei -> GLsizei -> GLsizei -> GLsizei -> m ()
glRecti = FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLsizei -> GLsizei -> GLsizei -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLsizei -> GLsizei -> GLsizei -> GLsizei -> m ()
ffiintintintintIOV FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
glRectiFunPtr

glRectiFunPtr :: FunPtr (GLint -> GLint -> GLint -> GLint -> IO ())
glRectiFunPtr :: FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
glRectiFunPtr = IO (FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ()))
-> FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glRecti")

{-# NOINLINE glRectiFunPtr #-}

-- | Usage: @'glRectiv' v1 v2@
--
-- The parameter @v1@ is a @CoordI@.
--
-- The parameter @v2@ is a @CoordI@.
--
-- The length of @v1@ should be @2@.
--
-- The length of @v2@ should be @2@.


glRectiv :: MonadIO m => Ptr GLint -> Ptr GLint -> m ()
glRectiv :: Ptr GLsizei -> Ptr GLsizei -> m ()
glRectiv = FunPtr (Ptr GLsizei -> Ptr GLsizei -> IO ())
-> Ptr GLsizei -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLsizei -> Ptr GLsizei -> IO ())
-> Ptr GLsizei -> Ptr GLsizei -> m ()
ffiPtrintPtrintIOV FunPtr (Ptr GLsizei -> Ptr GLsizei -> IO ())
glRectivFunPtr

glRectivFunPtr :: FunPtr (Ptr GLint -> Ptr GLint -> IO ())
glRectivFunPtr :: FunPtr (Ptr GLsizei -> Ptr GLsizei -> IO ())
glRectivFunPtr = IO (FunPtr (Ptr GLsizei -> Ptr GLsizei -> IO ()))
-> FunPtr (Ptr GLsizei -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLsizei -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glRectiv")

{-# NOINLINE glRectivFunPtr #-}

-- | Usage: @'glRects' x1 y1 x2 y2@
--
-- The parameter @x1@ is a @CoordS@.
--
-- The parameter @y1@ is a @CoordS@.
--
-- The parameter @x2@ is a @CoordS@.
--
-- The parameter @y2@ is a @CoordS@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glRectsv'.


glRects :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()
glRects :: GLshort -> GLshort -> GLshort -> GLshort -> m ()
glRects = FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ())
-> GLshort -> GLshort -> GLshort -> GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ())
-> GLshort -> GLshort -> GLshort -> GLshort -> m ()
ffishortshortshortshortIOV FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ())
glRectsFunPtr

glRectsFunPtr :: FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ())
glRectsFunPtr :: FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ())
glRectsFunPtr = IO (FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ()))
-> FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glRects")

{-# NOINLINE glRectsFunPtr #-}

-- | Usage: @'glRectsv' v1 v2@
--
-- The parameter @v1@ is a @CoordS@.
--
-- The parameter @v2@ is a @CoordS@.
--
-- The length of @v1@ should be @2@.
--
-- The length of @v2@ should be @2@.


glRectsv :: MonadIO m => Ptr GLshort -> Ptr GLshort -> m ()
glRectsv :: Ptr GLshort -> Ptr GLshort -> m ()
glRectsv = FunPtr (Ptr GLshort -> Ptr GLshort -> IO ())
-> Ptr GLshort -> Ptr GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLshort -> Ptr GLshort -> IO ())
-> Ptr GLshort -> Ptr GLshort -> m ()
ffiPtrshortPtrshortIOV FunPtr (Ptr GLshort -> Ptr GLshort -> IO ())
glRectsvFunPtr

glRectsvFunPtr :: FunPtr (Ptr GLshort -> Ptr GLshort -> IO ())
glRectsvFunPtr :: FunPtr (Ptr GLshort -> Ptr GLshort -> IO ())
glRectsvFunPtr = IO (FunPtr (Ptr GLshort -> Ptr GLshort -> IO ()))
-> FunPtr (Ptr GLshort -> Ptr GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLshort -> Ptr GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glRectsv")

{-# NOINLINE glRectsvFunPtr #-}

-- | Usage: @'glRenderMode' mode@
--
-- The parameter @mode@ is a @RenderingMode@, one of: 'Graphics.GL.Internal.Shared.GL_FEEDBACK', 'Graphics.GL.Internal.Shared.GL_RENDER', 'Graphics.GL.Internal.Shared.GL_SELECT'.


glRenderMode :: MonadIO m => GLenum -> m GLint
glRenderMode :: GLenum -> m GLsizei
glRenderMode = FunPtr (GLenum -> IO GLsizei) -> GLenum -> m GLsizei
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO GLsizei) -> GLenum -> m GLsizei
ffienumIOint FunPtr (GLenum -> IO GLsizei)
glRenderModeFunPtr

glRenderModeFunPtr :: FunPtr (GLenum -> IO GLint)
glRenderModeFunPtr :: FunPtr (GLenum -> IO GLsizei)
glRenderModeFunPtr = IO (FunPtr (GLenum -> IO GLsizei)) -> FunPtr (GLenum -> IO GLsizei)
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO GLsizei))
forall a. String -> IO (FunPtr a)
getProcAddress "glRenderMode")

{-# NOINLINE glRenderModeFunPtr #-}

-- | Usage: @'glRotated' angle x y z@


glRotated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glRotated :: GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glRotated = FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
ffidoubledoubledoubledoubleIOV FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
glRotatedFunPtr

glRotatedFunPtr :: FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
glRotatedFunPtr :: FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
glRotatedFunPtr = IO (FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()))
-> FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glRotated")

{-# NOINLINE glRotatedFunPtr #-}

-- | Usage: @'glRotatef' angle x y z@


glRotatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glRotatef :: GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glRotatef = FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
ffifloatfloatfloatfloatIOV FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glRotatefFunPtr

glRotatefFunPtr :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glRotatefFunPtr :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glRotatefFunPtr = IO (FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()))
-> FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glRotatef")

{-# NOINLINE glRotatefFunPtr #-}

-- | Usage: @'glScaled' x y z@


glScaled :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()
glScaled :: GLdouble -> GLdouble -> GLdouble -> m ()
glScaled = FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLdouble -> GLdouble -> GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLdouble -> GLdouble -> GLdouble -> m ()
ffidoubledoubledoubleIOV FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
glScaledFunPtr

glScaledFunPtr :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
glScaledFunPtr :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
glScaledFunPtr = IO (FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ()))
-> FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glScaled")

{-# NOINLINE glScaledFunPtr #-}

-- | Usage: @'glScalef' x y z@


glScalef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()
glScalef :: GLfloat -> GLfloat -> GLfloat -> m ()
glScalef = FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLfloat -> GLfloat -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLfloat -> GLfloat -> GLfloat -> m ()
ffifloatfloatfloatIOV FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
glScalefFunPtr

glScalefFunPtr :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
glScalefFunPtr :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
glScalefFunPtr = IO (FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ()))
-> FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glScalef")

{-# NOINLINE glScalefFunPtr #-}

-- | Usage: @'glSecondaryColor3b' red green blue@
--
-- The parameter @red@ is a @ColorB@.
--
-- The parameter @green@ is a @ColorB@.
--
-- The parameter @blue@ is a @ColorB@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glSecondaryColor3bv'.


glSecondaryColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()
glSecondaryColor3b :: GLbyte -> GLbyte -> GLbyte -> m ()
glSecondaryColor3b = FunPtr (GLbyte -> GLbyte -> GLbyte -> IO ())
-> GLbyte -> GLbyte -> GLbyte -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLbyte -> GLbyte -> GLbyte -> IO ())
-> GLbyte -> GLbyte -> GLbyte -> m ()
ffibytebytebyteIOV FunPtr (GLbyte -> GLbyte -> GLbyte -> IO ())
glSecondaryColor3bFunPtr

glSecondaryColor3bFunPtr :: FunPtr (GLbyte -> GLbyte -> GLbyte -> IO ())
glSecondaryColor3bFunPtr :: FunPtr (GLbyte -> GLbyte -> GLbyte -> IO ())
glSecondaryColor3bFunPtr = IO (FunPtr (GLbyte -> GLbyte -> GLbyte -> IO ()))
-> FunPtr (GLbyte -> GLbyte -> GLbyte -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLbyte -> GLbyte -> GLbyte -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glSecondaryColor3b")

{-# NOINLINE glSecondaryColor3bFunPtr #-}

-- | Usage: @'glSecondaryColor3bv' v@
--
-- The parameter @v@ is a @ColorB@.
--
-- The length of @v@ should be @3@.


glSecondaryColor3bv :: MonadIO m => Ptr GLbyte -> m ()
glSecondaryColor3bv :: Ptr GLbyte -> m ()
glSecondaryColor3bv = FunPtr (Ptr GLbyte -> IO ()) -> Ptr GLbyte -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLbyte -> IO ()) -> Ptr GLbyte -> m ()
ffiPtrbyteIOV FunPtr (Ptr GLbyte -> IO ())
glSecondaryColor3bvFunPtr

glSecondaryColor3bvFunPtr :: FunPtr (Ptr GLbyte -> IO ())
glSecondaryColor3bvFunPtr :: FunPtr (Ptr GLbyte -> IO ())
glSecondaryColor3bvFunPtr = IO (FunPtr (Ptr GLbyte -> IO ())) -> FunPtr (Ptr GLbyte -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLbyte -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glSecondaryColor3bv")

{-# NOINLINE glSecondaryColor3bvFunPtr #-}

-- | Usage: @'glSecondaryColor3d' red green blue@
--
-- The parameter @red@ is a @ColorD@.
--
-- The parameter @green@ is a @ColorD@.
--
-- The parameter @blue@ is a @ColorD@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glSecondaryColor3dv'.


glSecondaryColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()
glSecondaryColor3d :: GLdouble -> GLdouble -> GLdouble -> m ()
glSecondaryColor3d = FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLdouble -> GLdouble -> GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLdouble -> GLdouble -> GLdouble -> m ()
ffidoubledoubledoubleIOV FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
glSecondaryColor3dFunPtr

glSecondaryColor3dFunPtr :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
glSecondaryColor3dFunPtr :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
glSecondaryColor3dFunPtr = IO (FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ()))
-> FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glSecondaryColor3d")

{-# NOINLINE glSecondaryColor3dFunPtr #-}

-- | Usage: @'glSecondaryColor3dv' v@
--
-- The parameter @v@ is a @ColorD@.
--
-- The length of @v@ should be @3@.


glSecondaryColor3dv :: MonadIO m => Ptr GLdouble -> m ()
glSecondaryColor3dv :: Ptr GLdouble -> m ()
glSecondaryColor3dv = FunPtr (Ptr GLdouble -> IO ()) -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLdouble -> IO ()) -> Ptr GLdouble -> m ()
ffiPtrdoubleIOV FunPtr (Ptr GLdouble -> IO ())
glSecondaryColor3dvFunPtr

glSecondaryColor3dvFunPtr :: FunPtr (Ptr GLdouble -> IO ())
glSecondaryColor3dvFunPtr :: FunPtr (Ptr GLdouble -> IO ())
glSecondaryColor3dvFunPtr = IO (FunPtr (Ptr GLdouble -> IO ()))
-> FunPtr (Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glSecondaryColor3dv")

{-# NOINLINE glSecondaryColor3dvFunPtr #-}

-- | Usage: @'glSecondaryColor3f' red green blue@
--
-- The parameter @red@ is a @ColorF@.
--
-- The parameter @green@ is a @ColorF@.
--
-- The parameter @blue@ is a @ColorF@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glSecondaryColor3fv'.


glSecondaryColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()
glSecondaryColor3f :: GLfloat -> GLfloat -> GLfloat -> m ()
glSecondaryColor3f = FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLfloat -> GLfloat -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLfloat -> GLfloat -> GLfloat -> m ()
ffifloatfloatfloatIOV FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
glSecondaryColor3fFunPtr

glSecondaryColor3fFunPtr :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
glSecondaryColor3fFunPtr :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
glSecondaryColor3fFunPtr = IO (FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ()))
-> FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glSecondaryColor3f")

{-# NOINLINE glSecondaryColor3fFunPtr #-}

-- | Usage: @'glSecondaryColor3fv' v@
--
-- The parameter @v@ is a @ColorF@.
--
-- The length of @v@ should be @3@.


glSecondaryColor3fv :: MonadIO m => Ptr GLfloat -> m ()
glSecondaryColor3fv :: Ptr GLfloat -> m ()
glSecondaryColor3fv = FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> m ()
ffiPtrfloatIOV FunPtr (Ptr GLfloat -> IO ())
glSecondaryColor3fvFunPtr

glSecondaryColor3fvFunPtr :: FunPtr (Ptr GLfloat -> IO ())
glSecondaryColor3fvFunPtr :: FunPtr (Ptr GLfloat -> IO ())
glSecondaryColor3fvFunPtr = IO (FunPtr (Ptr GLfloat -> IO ())) -> FunPtr (Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glSecondaryColor3fv")

{-# NOINLINE glSecondaryColor3fvFunPtr #-}

-- | Usage: @'glSecondaryColor3i' red green blue@
--
-- The parameter @red@ is a @ColorI@.
--
-- The parameter @green@ is a @ColorI@.
--
-- The parameter @blue@ is a @ColorI@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glSecondaryColor3iv'.


glSecondaryColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()
glSecondaryColor3i :: GLsizei -> GLsizei -> GLsizei -> m ()
glSecondaryColor3i = FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLsizei -> GLsizei -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLsizei -> GLsizei -> GLsizei -> m ()
ffiintintintIOV FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ())
glSecondaryColor3iFunPtr

glSecondaryColor3iFunPtr :: FunPtr (GLint -> GLint -> GLint -> IO ())
glSecondaryColor3iFunPtr :: FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ())
glSecondaryColor3iFunPtr = IO (FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ()))
-> FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glSecondaryColor3i")

{-# NOINLINE glSecondaryColor3iFunPtr #-}

-- | Usage: @'glSecondaryColor3iv' v@
--
-- The parameter @v@ is a @ColorI@.
--
-- The length of @v@ should be @3@.


glSecondaryColor3iv :: MonadIO m => Ptr GLint -> m ()
glSecondaryColor3iv :: Ptr GLsizei -> m ()
glSecondaryColor3iv = FunPtr (Ptr GLsizei -> IO ()) -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLsizei -> IO ()) -> Ptr GLsizei -> m ()
ffiPtrintIOV FunPtr (Ptr GLsizei -> IO ())
glSecondaryColor3ivFunPtr

glSecondaryColor3ivFunPtr :: FunPtr (Ptr GLint -> IO ())
glSecondaryColor3ivFunPtr :: FunPtr (Ptr GLsizei -> IO ())
glSecondaryColor3ivFunPtr = IO (FunPtr (Ptr GLsizei -> IO ())) -> FunPtr (Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glSecondaryColor3iv")

{-# NOINLINE glSecondaryColor3ivFunPtr #-}

-- | Usage: @'glSecondaryColor3s' red green blue@
--
-- The parameter @red@ is a @ColorS@.
--
-- The parameter @green@ is a @ColorS@.
--
-- The parameter @blue@ is a @ColorS@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glSecondaryColor3sv'.


glSecondaryColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()
glSecondaryColor3s :: GLshort -> GLshort -> GLshort -> m ()
glSecondaryColor3s = FunPtr (GLshort -> GLshort -> GLshort -> IO ())
-> GLshort -> GLshort -> GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLshort -> GLshort -> GLshort -> IO ())
-> GLshort -> GLshort -> GLshort -> m ()
ffishortshortshortIOV FunPtr (GLshort -> GLshort -> GLshort -> IO ())
glSecondaryColor3sFunPtr

glSecondaryColor3sFunPtr :: FunPtr (GLshort -> GLshort -> GLshort -> IO ())
glSecondaryColor3sFunPtr :: FunPtr (GLshort -> GLshort -> GLshort -> IO ())
glSecondaryColor3sFunPtr = IO (FunPtr (GLshort -> GLshort -> GLshort -> IO ()))
-> FunPtr (GLshort -> GLshort -> GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLshort -> GLshort -> GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glSecondaryColor3s")

{-# NOINLINE glSecondaryColor3sFunPtr #-}

-- | Usage: @'glSecondaryColor3sv' v@
--
-- The parameter @v@ is a @ColorS@.
--
-- The length of @v@ should be @3@.


glSecondaryColor3sv :: MonadIO m => Ptr GLshort -> m ()
glSecondaryColor3sv :: Ptr GLshort -> m ()
glSecondaryColor3sv = FunPtr (Ptr GLshort -> IO ()) -> Ptr GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLshort -> IO ()) -> Ptr GLshort -> m ()
ffiPtrshortIOV FunPtr (Ptr GLshort -> IO ())
glSecondaryColor3svFunPtr

glSecondaryColor3svFunPtr :: FunPtr (Ptr GLshort -> IO ())
glSecondaryColor3svFunPtr :: FunPtr (Ptr GLshort -> IO ())
glSecondaryColor3svFunPtr = IO (FunPtr (Ptr GLshort -> IO ())) -> FunPtr (Ptr GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glSecondaryColor3sv")

{-# NOINLINE glSecondaryColor3svFunPtr #-}

-- | Usage: @'glSecondaryColor3ub' red green blue@
--
-- The parameter @red@ is a @ColorUB@.
--
-- The parameter @green@ is a @ColorUB@.
--
-- The parameter @blue@ is a @ColorUB@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glSecondaryColor3ubv'.


glSecondaryColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()
glSecondaryColor3ub :: GLboolean -> GLboolean -> GLboolean -> m ()
glSecondaryColor3ub = FunPtr (GLboolean -> GLboolean -> GLboolean -> IO ())
-> GLboolean -> GLboolean -> GLboolean -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLboolean -> GLboolean -> GLboolean -> IO ())
-> GLboolean -> GLboolean -> GLboolean -> m ()
ffiubyteubyteubyteIOV FunPtr (GLboolean -> GLboolean -> GLboolean -> IO ())
glSecondaryColor3ubFunPtr

glSecondaryColor3ubFunPtr :: FunPtr (GLubyte -> GLubyte -> GLubyte -> IO ())
glSecondaryColor3ubFunPtr :: FunPtr (GLboolean -> GLboolean -> GLboolean -> IO ())
glSecondaryColor3ubFunPtr = IO (FunPtr (GLboolean -> GLboolean -> GLboolean -> IO ()))
-> FunPtr (GLboolean -> GLboolean -> GLboolean -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLboolean -> GLboolean -> GLboolean -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glSecondaryColor3ub")

{-# NOINLINE glSecondaryColor3ubFunPtr #-}

-- | Usage: @'glSecondaryColor3ubv' v@
--
-- The parameter @v@ is a @ColorUB@.
--
-- The length of @v@ should be @3@.


glSecondaryColor3ubv :: MonadIO m => Ptr GLubyte -> m ()
glSecondaryColor3ubv :: Ptr GLboolean -> m ()
glSecondaryColor3ubv = FunPtr (Ptr GLboolean -> IO ()) -> Ptr GLboolean -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLboolean -> IO ()) -> Ptr GLboolean -> m ()
ffiPtrubyteIOV FunPtr (Ptr GLboolean -> IO ())
glSecondaryColor3ubvFunPtr

glSecondaryColor3ubvFunPtr :: FunPtr (Ptr GLubyte -> IO ())
glSecondaryColor3ubvFunPtr :: FunPtr (Ptr GLboolean -> IO ())
glSecondaryColor3ubvFunPtr = IO (FunPtr (Ptr GLboolean -> IO ()))
-> FunPtr (Ptr GLboolean -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLboolean -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glSecondaryColor3ubv")

{-# NOINLINE glSecondaryColor3ubvFunPtr #-}

-- | Usage: @'glSecondaryColor3ui' red green blue@
--
-- The parameter @red@ is a @ColorUI@.
--
-- The parameter @green@ is a @ColorUI@.
--
-- The parameter @blue@ is a @ColorUI@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glSecondaryColor3uiv'.


glSecondaryColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()
glSecondaryColor3ui :: GLenum -> GLenum -> GLenum -> m ()
glSecondaryColor3ui = FunPtr (GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> m ()
ffiuintuintuintIOV FunPtr (GLenum -> GLenum -> GLenum -> IO ())
glSecondaryColor3uiFunPtr

glSecondaryColor3uiFunPtr :: FunPtr (GLuint -> GLuint -> GLuint -> IO ())
glSecondaryColor3uiFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> IO ())
glSecondaryColor3uiFunPtr = IO (FunPtr (GLenum -> GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glSecondaryColor3ui")

{-# NOINLINE glSecondaryColor3uiFunPtr #-}

-- | Usage: @'glSecondaryColor3uiv' v@
--
-- The parameter @v@ is a @ColorUI@.
--
-- The length of @v@ should be @3@.


glSecondaryColor3uiv :: MonadIO m => Ptr GLuint -> m ()
glSecondaryColor3uiv :: Ptr GLenum -> m ()
glSecondaryColor3uiv = FunPtr (Ptr GLenum -> IO ()) -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLenum -> IO ()) -> Ptr GLenum -> m ()
ffiPtruintIOV FunPtr (Ptr GLenum -> IO ())
glSecondaryColor3uivFunPtr

glSecondaryColor3uivFunPtr :: FunPtr (Ptr GLuint -> IO ())
glSecondaryColor3uivFunPtr :: FunPtr (Ptr GLenum -> IO ())
glSecondaryColor3uivFunPtr = IO (FunPtr (Ptr GLenum -> IO ())) -> FunPtr (Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glSecondaryColor3uiv")

{-# NOINLINE glSecondaryColor3uivFunPtr #-}

-- | Usage: @'glSecondaryColor3us' red green blue@
--
-- The parameter @red@ is a @ColorUS@.
--
-- The parameter @green@ is a @ColorUS@.
--
-- The parameter @blue@ is a @ColorUS@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glSecondaryColor3usv'.


glSecondaryColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()
glSecondaryColor3us :: GLushort -> GLushort -> GLushort -> m ()
glSecondaryColor3us = FunPtr (GLushort -> GLushort -> GLushort -> IO ())
-> GLushort -> GLushort -> GLushort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLushort -> GLushort -> GLushort -> IO ())
-> GLushort -> GLushort -> GLushort -> m ()
ffiushortushortushortIOV FunPtr (GLushort -> GLushort -> GLushort -> IO ())
glSecondaryColor3usFunPtr

glSecondaryColor3usFunPtr :: FunPtr (GLushort -> GLushort -> GLushort -> IO ())
glSecondaryColor3usFunPtr :: FunPtr (GLushort -> GLushort -> GLushort -> IO ())
glSecondaryColor3usFunPtr = IO (FunPtr (GLushort -> GLushort -> GLushort -> IO ()))
-> FunPtr (GLushort -> GLushort -> GLushort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLushort -> GLushort -> GLushort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glSecondaryColor3us")

{-# NOINLINE glSecondaryColor3usFunPtr #-}

-- | Usage: @'glSecondaryColor3usv' v@
--
-- The parameter @v@ is a @ColorUS@.
--
-- The length of @v@ should be @3@.


glSecondaryColor3usv :: MonadIO m => Ptr GLushort -> m ()
glSecondaryColor3usv :: Ptr GLushort -> m ()
glSecondaryColor3usv = FunPtr (Ptr GLushort -> IO ()) -> Ptr GLushort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLushort -> IO ()) -> Ptr GLushort -> m ()
ffiPtrushortIOV FunPtr (Ptr GLushort -> IO ())
glSecondaryColor3usvFunPtr

glSecondaryColor3usvFunPtr :: FunPtr (Ptr GLushort -> IO ())
glSecondaryColor3usvFunPtr :: FunPtr (Ptr GLushort -> IO ())
glSecondaryColor3usvFunPtr = IO (FunPtr (Ptr GLushort -> IO ()))
-> FunPtr (Ptr GLushort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLushort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glSecondaryColor3usv")

{-# NOINLINE glSecondaryColor3usvFunPtr #-}

-- | Usage: @'glSecondaryColorPointer' size type stride pointer@
--
-- The parameter @type@ is a @ColorPointerType@, one of: 'Graphics.GL.Internal.Shared.GL_BYTE', 'Graphics.GL.Internal.Shared.GL_DOUBLE', 'Graphics.GL.Internal.Shared.GL_FLOAT', 'Graphics.GL.Internal.Shared.GL_INT', 'Graphics.GL.Internal.Shared.GL_SHORT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_BYTE', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_INT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_SHORT'.
--
-- The length of @pointer@ should be @COMPSIZE(size,type,stride)@.


glSecondaryColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr () -> m ()
glSecondaryColorPointer :: GLsizei -> GLenum -> GLsizei -> Ptr () -> m ()
glSecondaryColorPointer = FunPtr (GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ())
-> GLsizei -> GLenum -> GLsizei -> Ptr () -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ())
-> GLsizei -> GLenum -> GLsizei -> Ptr () -> m ()
ffiintenumsizeiPtrVIOV FunPtr (GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ())
glSecondaryColorPointerFunPtr

glSecondaryColorPointerFunPtr :: FunPtr (GLint -> GLenum -> GLsizei -> Ptr () -> IO ())
glSecondaryColorPointerFunPtr :: FunPtr (GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ())
glSecondaryColorPointerFunPtr = IO (FunPtr (GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()))
-> FunPtr (GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glSecondaryColorPointer")

{-# NOINLINE glSecondaryColorPointerFunPtr #-}

-- | Usage: @'glSelectBuffer' size buffer@
--
-- The parameter @buffer@ is a @SelectName@.
--
-- The length of @buffer@ should be @size@.


glSelectBuffer :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glSelectBuffer :: GLsizei -> Ptr GLenum -> m ()
glSelectBuffer = FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
ffisizeiPtruintIOV FunPtr (GLsizei -> Ptr GLenum -> IO ())
glSelectBufferFunPtr

glSelectBufferFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glSelectBufferFunPtr :: FunPtr (GLsizei -> Ptr GLenum -> IO ())
glSelectBufferFunPtr = IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glSelectBuffer")

{-# NOINLINE glSelectBufferFunPtr #-}

-- | Usage: @'glShadeModel' mode@
--
-- The parameter @mode@ is a @ShadingModel@, one of: 'Graphics.GL.Internal.Shared.GL_FLAT', 'Graphics.GL.Internal.Shared.GL_SMOOTH'.


glShadeModel :: MonadIO m => GLenum -> m ()
glShadeModel :: GLenum -> m ()
glShadeModel = FunPtr (GLenum -> IO ()) -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO ()) -> GLenum -> m ()
ffienumIOV FunPtr (GLenum -> IO ())
glShadeModelFunPtr

glShadeModelFunPtr :: FunPtr (GLenum -> IO ())
glShadeModelFunPtr :: FunPtr (GLenum -> IO ())
glShadeModelFunPtr = IO (FunPtr (GLenum -> IO ())) -> FunPtr (GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glShadeModel")

{-# NOINLINE glShadeModelFunPtr #-}

-- | Usage: @'glTexCoord1d' s@
--
-- The parameter @s@ is a @CoordD@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glTexCoord1dv'.


glTexCoord1d :: MonadIO m => GLdouble -> m ()
glTexCoord1d :: GLdouble -> m ()
glTexCoord1d = FunPtr (GLdouble -> IO ()) -> GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLdouble -> IO ()) -> GLdouble -> m ()
ffidoubleIOV FunPtr (GLdouble -> IO ())
glTexCoord1dFunPtr

glTexCoord1dFunPtr :: FunPtr (GLdouble -> IO ())
glTexCoord1dFunPtr :: FunPtr (GLdouble -> IO ())
glTexCoord1dFunPtr = IO (FunPtr (GLdouble -> IO ())) -> FunPtr (GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexCoord1d")

{-# NOINLINE glTexCoord1dFunPtr #-}

-- | Usage: @'glTexCoord1dv' v@
--
-- The parameter @v@ is a @CoordD@.
--
-- The length of @v@ should be @1@.


glTexCoord1dv :: MonadIO m => Ptr GLdouble -> m ()
glTexCoord1dv :: Ptr GLdouble -> m ()
glTexCoord1dv = FunPtr (Ptr GLdouble -> IO ()) -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLdouble -> IO ()) -> Ptr GLdouble -> m ()
ffiPtrdoubleIOV FunPtr (Ptr GLdouble -> IO ())
glTexCoord1dvFunPtr

glTexCoord1dvFunPtr :: FunPtr (Ptr GLdouble -> IO ())
glTexCoord1dvFunPtr :: FunPtr (Ptr GLdouble -> IO ())
glTexCoord1dvFunPtr = IO (FunPtr (Ptr GLdouble -> IO ()))
-> FunPtr (Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexCoord1dv")

{-# NOINLINE glTexCoord1dvFunPtr #-}

-- | Usage: @'glTexCoord1f' s@
--
-- The parameter @s@ is a @CoordF@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glTexCoord1fv'.


glTexCoord1f :: MonadIO m => GLfloat -> m ()
glTexCoord1f :: GLfloat -> m ()
glTexCoord1f = FunPtr (GLfloat -> IO ()) -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLfloat -> IO ()) -> GLfloat -> m ()
ffifloatIOV FunPtr (GLfloat -> IO ())
glTexCoord1fFunPtr

glTexCoord1fFunPtr :: FunPtr (GLfloat -> IO ())
glTexCoord1fFunPtr :: FunPtr (GLfloat -> IO ())
glTexCoord1fFunPtr = IO (FunPtr (GLfloat -> IO ())) -> FunPtr (GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexCoord1f")

{-# NOINLINE glTexCoord1fFunPtr #-}

-- | Usage: @'glTexCoord1fv' v@
--
-- The parameter @v@ is a @CoordF@.
--
-- The length of @v@ should be @1@.


glTexCoord1fv :: MonadIO m => Ptr GLfloat -> m ()
glTexCoord1fv :: Ptr GLfloat -> m ()
glTexCoord1fv = FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> m ()
ffiPtrfloatIOV FunPtr (Ptr GLfloat -> IO ())
glTexCoord1fvFunPtr

glTexCoord1fvFunPtr :: FunPtr (Ptr GLfloat -> IO ())
glTexCoord1fvFunPtr :: FunPtr (Ptr GLfloat -> IO ())
glTexCoord1fvFunPtr = IO (FunPtr (Ptr GLfloat -> IO ())) -> FunPtr (Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexCoord1fv")

{-# NOINLINE glTexCoord1fvFunPtr #-}

-- | Usage: @'glTexCoord1i' s@
--
-- The parameter @s@ is a @CoordI@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glTexCoord1iv'.


glTexCoord1i :: MonadIO m => GLint -> m ()
glTexCoord1i :: GLsizei -> m ()
glTexCoord1i = FunPtr (GLsizei -> IO ()) -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> IO ()) -> GLsizei -> m ()
ffiintIOV FunPtr (GLsizei -> IO ())
glTexCoord1iFunPtr

glTexCoord1iFunPtr :: FunPtr (GLint -> IO ())
glTexCoord1iFunPtr :: FunPtr (GLsizei -> IO ())
glTexCoord1iFunPtr = IO (FunPtr (GLsizei -> IO ())) -> FunPtr (GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexCoord1i")

{-# NOINLINE glTexCoord1iFunPtr #-}

-- | Usage: @'glTexCoord1iv' v@
--
-- The parameter @v@ is a @CoordI@.
--
-- The length of @v@ should be @1@.


glTexCoord1iv :: MonadIO m => Ptr GLint -> m ()
glTexCoord1iv :: Ptr GLsizei -> m ()
glTexCoord1iv = FunPtr (Ptr GLsizei -> IO ()) -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLsizei -> IO ()) -> Ptr GLsizei -> m ()
ffiPtrintIOV FunPtr (Ptr GLsizei -> IO ())
glTexCoord1ivFunPtr

glTexCoord1ivFunPtr :: FunPtr (Ptr GLint -> IO ())
glTexCoord1ivFunPtr :: FunPtr (Ptr GLsizei -> IO ())
glTexCoord1ivFunPtr = IO (FunPtr (Ptr GLsizei -> IO ())) -> FunPtr (Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexCoord1iv")

{-# NOINLINE glTexCoord1ivFunPtr #-}

-- | Usage: @'glTexCoord1s' s@
--
-- The parameter @s@ is a @CoordS@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glTexCoord1sv'.


glTexCoord1s :: MonadIO m => GLshort -> m ()
glTexCoord1s :: GLshort -> m ()
glTexCoord1s = FunPtr (GLshort -> IO ()) -> GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLshort -> IO ()) -> GLshort -> m ()
ffishortIOV FunPtr (GLshort -> IO ())
glTexCoord1sFunPtr

glTexCoord1sFunPtr :: FunPtr (GLshort -> IO ())
glTexCoord1sFunPtr :: FunPtr (GLshort -> IO ())
glTexCoord1sFunPtr = IO (FunPtr (GLshort -> IO ())) -> FunPtr (GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexCoord1s")

{-# NOINLINE glTexCoord1sFunPtr #-}

-- | Usage: @'glTexCoord1sv' v@
--
-- The parameter @v@ is a @CoordS@.
--
-- The length of @v@ should be @1@.


glTexCoord1sv :: MonadIO m => Ptr GLshort -> m ()
glTexCoord1sv :: Ptr GLshort -> m ()
glTexCoord1sv = FunPtr (Ptr GLshort -> IO ()) -> Ptr GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLshort -> IO ()) -> Ptr GLshort -> m ()
ffiPtrshortIOV FunPtr (Ptr GLshort -> IO ())
glTexCoord1svFunPtr

glTexCoord1svFunPtr :: FunPtr (Ptr GLshort -> IO ())
glTexCoord1svFunPtr :: FunPtr (Ptr GLshort -> IO ())
glTexCoord1svFunPtr = IO (FunPtr (Ptr GLshort -> IO ())) -> FunPtr (Ptr GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexCoord1sv")

{-# NOINLINE glTexCoord1svFunPtr #-}

-- | Usage: @'glTexCoord2d' s t@
--
-- The parameter @s@ is a @CoordD@.
--
-- The parameter @t@ is a @CoordD@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glTexCoord2dv'.


glTexCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()
glTexCoord2d :: GLdouble -> GLdouble -> m ()
glTexCoord2d = FunPtr (GLdouble -> GLdouble -> IO ())
-> GLdouble -> GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLdouble -> GLdouble -> IO ())
-> GLdouble -> GLdouble -> m ()
ffidoubledoubleIOV FunPtr (GLdouble -> GLdouble -> IO ())
glTexCoord2dFunPtr

glTexCoord2dFunPtr :: FunPtr (GLdouble -> GLdouble -> IO ())
glTexCoord2dFunPtr :: FunPtr (GLdouble -> GLdouble -> IO ())
glTexCoord2dFunPtr = IO (FunPtr (GLdouble -> GLdouble -> IO ()))
-> FunPtr (GLdouble -> GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLdouble -> GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexCoord2d")

{-# NOINLINE glTexCoord2dFunPtr #-}

-- | Usage: @'glTexCoord2dv' v@
--
-- The parameter @v@ is a @CoordD@.
--
-- The length of @v@ should be @2@.


glTexCoord2dv :: MonadIO m => Ptr GLdouble -> m ()
glTexCoord2dv :: Ptr GLdouble -> m ()
glTexCoord2dv = FunPtr (Ptr GLdouble -> IO ()) -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLdouble -> IO ()) -> Ptr GLdouble -> m ()
ffiPtrdoubleIOV FunPtr (Ptr GLdouble -> IO ())
glTexCoord2dvFunPtr

glTexCoord2dvFunPtr :: FunPtr (Ptr GLdouble -> IO ())
glTexCoord2dvFunPtr :: FunPtr (Ptr GLdouble -> IO ())
glTexCoord2dvFunPtr = IO (FunPtr (Ptr GLdouble -> IO ()))
-> FunPtr (Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexCoord2dv")

{-# NOINLINE glTexCoord2dvFunPtr #-}

-- | Usage: @'glTexCoord2f' s t@
--
-- The parameter @s@ is a @CoordF@.
--
-- The parameter @t@ is a @CoordF@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glTexCoord2fv'.


glTexCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()
glTexCoord2f :: GLfloat -> GLfloat -> m ()
glTexCoord2f = FunPtr (GLfloat -> GLfloat -> IO ()) -> GLfloat -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLfloat -> GLfloat -> IO ()) -> GLfloat -> GLfloat -> m ()
ffifloatfloatIOV FunPtr (GLfloat -> GLfloat -> IO ())
glTexCoord2fFunPtr

glTexCoord2fFunPtr :: FunPtr (GLfloat -> GLfloat -> IO ())
glTexCoord2fFunPtr :: FunPtr (GLfloat -> GLfloat -> IO ())
glTexCoord2fFunPtr = IO (FunPtr (GLfloat -> GLfloat -> IO ()))
-> FunPtr (GLfloat -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLfloat -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexCoord2f")

{-# NOINLINE glTexCoord2fFunPtr #-}

-- | Usage: @'glTexCoord2fv' v@
--
-- The parameter @v@ is a @CoordF@.
--
-- The length of @v@ should be @2@.


glTexCoord2fv :: MonadIO m => Ptr GLfloat -> m ()
glTexCoord2fv :: Ptr GLfloat -> m ()
glTexCoord2fv = FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> m ()
ffiPtrfloatIOV FunPtr (Ptr GLfloat -> IO ())
glTexCoord2fvFunPtr

glTexCoord2fvFunPtr :: FunPtr (Ptr GLfloat -> IO ())
glTexCoord2fvFunPtr :: FunPtr (Ptr GLfloat -> IO ())
glTexCoord2fvFunPtr = IO (FunPtr (Ptr GLfloat -> IO ())) -> FunPtr (Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexCoord2fv")

{-# NOINLINE glTexCoord2fvFunPtr #-}

-- | Usage: @'glTexCoord2i' s t@
--
-- The parameter @s@ is a @CoordI@.
--
-- The parameter @t@ is a @CoordI@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glTexCoord2iv'.


glTexCoord2i :: MonadIO m => GLint -> GLint -> m ()
glTexCoord2i :: GLsizei -> GLsizei -> m ()
glTexCoord2i = FunPtr (GLsizei -> GLsizei -> IO ()) -> GLsizei -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> IO ()) -> GLsizei -> GLsizei -> m ()
ffiintintIOV FunPtr (GLsizei -> GLsizei -> IO ())
glTexCoord2iFunPtr

glTexCoord2iFunPtr :: FunPtr (GLint -> GLint -> IO ())
glTexCoord2iFunPtr :: FunPtr (GLsizei -> GLsizei -> IO ())
glTexCoord2iFunPtr = IO (FunPtr (GLsizei -> GLsizei -> IO ()))
-> FunPtr (GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexCoord2i")

{-# NOINLINE glTexCoord2iFunPtr #-}

-- | Usage: @'glTexCoord2iv' v@
--
-- The parameter @v@ is a @CoordI@.
--
-- The length of @v@ should be @2@.


glTexCoord2iv :: MonadIO m => Ptr GLint -> m ()
glTexCoord2iv :: Ptr GLsizei -> m ()
glTexCoord2iv = FunPtr (Ptr GLsizei -> IO ()) -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLsizei -> IO ()) -> Ptr GLsizei -> m ()
ffiPtrintIOV FunPtr (Ptr GLsizei -> IO ())
glTexCoord2ivFunPtr

glTexCoord2ivFunPtr :: FunPtr (Ptr GLint -> IO ())
glTexCoord2ivFunPtr :: FunPtr (Ptr GLsizei -> IO ())
glTexCoord2ivFunPtr = IO (FunPtr (Ptr GLsizei -> IO ())) -> FunPtr (Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexCoord2iv")

{-# NOINLINE glTexCoord2ivFunPtr #-}

-- | Usage: @'glTexCoord2s' s t@
--
-- The parameter @s@ is a @CoordS@.
--
-- The parameter @t@ is a @CoordS@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glTexCoord2sv'.


glTexCoord2s :: MonadIO m => GLshort -> GLshort -> m ()
glTexCoord2s :: GLshort -> GLshort -> m ()
glTexCoord2s = FunPtr (GLshort -> GLshort -> IO ()) -> GLshort -> GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLshort -> GLshort -> IO ()) -> GLshort -> GLshort -> m ()
ffishortshortIOV FunPtr (GLshort -> GLshort -> IO ())
glTexCoord2sFunPtr

glTexCoord2sFunPtr :: FunPtr (GLshort -> GLshort -> IO ())
glTexCoord2sFunPtr :: FunPtr (GLshort -> GLshort -> IO ())
glTexCoord2sFunPtr = IO (FunPtr (GLshort -> GLshort -> IO ()))
-> FunPtr (GLshort -> GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLshort -> GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexCoord2s")

{-# NOINLINE glTexCoord2sFunPtr #-}

-- | Usage: @'glTexCoord2sv' v@
--
-- The parameter @v@ is a @CoordS@.
--
-- The length of @v@ should be @2@.


glTexCoord2sv :: MonadIO m => Ptr GLshort -> m ()
glTexCoord2sv :: Ptr GLshort -> m ()
glTexCoord2sv = FunPtr (Ptr GLshort -> IO ()) -> Ptr GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLshort -> IO ()) -> Ptr GLshort -> m ()
ffiPtrshortIOV FunPtr (Ptr GLshort -> IO ())
glTexCoord2svFunPtr

glTexCoord2svFunPtr :: FunPtr (Ptr GLshort -> IO ())
glTexCoord2svFunPtr :: FunPtr (Ptr GLshort -> IO ())
glTexCoord2svFunPtr = IO (FunPtr (Ptr GLshort -> IO ())) -> FunPtr (Ptr GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexCoord2sv")

{-# NOINLINE glTexCoord2svFunPtr #-}

-- | Usage: @'glTexCoord3d' s t r@
--
-- The parameter @s@ is a @CoordD@.
--
-- The parameter @t@ is a @CoordD@.
--
-- The parameter @r@ is a @CoordD@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glTexCoord3dv'.


glTexCoord3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()
glTexCoord3d :: GLdouble -> GLdouble -> GLdouble -> m ()
glTexCoord3d = FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLdouble -> GLdouble -> GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLdouble -> GLdouble -> GLdouble -> m ()
ffidoubledoubledoubleIOV FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
glTexCoord3dFunPtr

glTexCoord3dFunPtr :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
glTexCoord3dFunPtr :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
glTexCoord3dFunPtr = IO (FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ()))
-> FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexCoord3d")

{-# NOINLINE glTexCoord3dFunPtr #-}

-- | Usage: @'glTexCoord3dv' v@
--
-- The parameter @v@ is a @CoordD@.
--
-- The length of @v@ should be @3@.


glTexCoord3dv :: MonadIO m => Ptr GLdouble -> m ()
glTexCoord3dv :: Ptr GLdouble -> m ()
glTexCoord3dv = FunPtr (Ptr GLdouble -> IO ()) -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLdouble -> IO ()) -> Ptr GLdouble -> m ()
ffiPtrdoubleIOV FunPtr (Ptr GLdouble -> IO ())
glTexCoord3dvFunPtr

glTexCoord3dvFunPtr :: FunPtr (Ptr GLdouble -> IO ())
glTexCoord3dvFunPtr :: FunPtr (Ptr GLdouble -> IO ())
glTexCoord3dvFunPtr = IO (FunPtr (Ptr GLdouble -> IO ()))
-> FunPtr (Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexCoord3dv")

{-# NOINLINE glTexCoord3dvFunPtr #-}

-- | Usage: @'glTexCoord3f' s t r@
--
-- The parameter @s@ is a @CoordF@.
--
-- The parameter @t@ is a @CoordF@.
--
-- The parameter @r@ is a @CoordF@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glTexCoord3fv'.


glTexCoord3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()
glTexCoord3f :: GLfloat -> GLfloat -> GLfloat -> m ()
glTexCoord3f = FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLfloat -> GLfloat -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLfloat -> GLfloat -> GLfloat -> m ()
ffifloatfloatfloatIOV FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
glTexCoord3fFunPtr

glTexCoord3fFunPtr :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
glTexCoord3fFunPtr :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
glTexCoord3fFunPtr = IO (FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ()))
-> FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexCoord3f")

{-# NOINLINE glTexCoord3fFunPtr #-}

-- | Usage: @'glTexCoord3fv' v@
--
-- The parameter @v@ is a @CoordF@.
--
-- The length of @v@ should be @3@.


glTexCoord3fv :: MonadIO m => Ptr GLfloat -> m ()
glTexCoord3fv :: Ptr GLfloat -> m ()
glTexCoord3fv = FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> m ()
ffiPtrfloatIOV FunPtr (Ptr GLfloat -> IO ())
glTexCoord3fvFunPtr

glTexCoord3fvFunPtr :: FunPtr (Ptr GLfloat -> IO ())
glTexCoord3fvFunPtr :: FunPtr (Ptr GLfloat -> IO ())
glTexCoord3fvFunPtr = IO (FunPtr (Ptr GLfloat -> IO ())) -> FunPtr (Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexCoord3fv")

{-# NOINLINE glTexCoord3fvFunPtr #-}

-- | Usage: @'glTexCoord3i' s t r@
--
-- The parameter @s@ is a @CoordI@.
--
-- The parameter @t@ is a @CoordI@.
--
-- The parameter @r@ is a @CoordI@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glTexCoord3iv'.


glTexCoord3i :: MonadIO m => GLint -> GLint -> GLint -> m ()
glTexCoord3i :: GLsizei -> GLsizei -> GLsizei -> m ()
glTexCoord3i = FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLsizei -> GLsizei -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLsizei -> GLsizei -> GLsizei -> m ()
ffiintintintIOV FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ())
glTexCoord3iFunPtr

glTexCoord3iFunPtr :: FunPtr (GLint -> GLint -> GLint -> IO ())
glTexCoord3iFunPtr :: FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ())
glTexCoord3iFunPtr = IO (FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ()))
-> FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexCoord3i")

{-# NOINLINE glTexCoord3iFunPtr #-}

-- | Usage: @'glTexCoord3iv' v@
--
-- The parameter @v@ is a @CoordI@.
--
-- The length of @v@ should be @3@.


glTexCoord3iv :: MonadIO m => Ptr GLint -> m ()
glTexCoord3iv :: Ptr GLsizei -> m ()
glTexCoord3iv = FunPtr (Ptr GLsizei -> IO ()) -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLsizei -> IO ()) -> Ptr GLsizei -> m ()
ffiPtrintIOV FunPtr (Ptr GLsizei -> IO ())
glTexCoord3ivFunPtr

glTexCoord3ivFunPtr :: FunPtr (Ptr GLint -> IO ())
glTexCoord3ivFunPtr :: FunPtr (Ptr GLsizei -> IO ())
glTexCoord3ivFunPtr = IO (FunPtr (Ptr GLsizei -> IO ())) -> FunPtr (Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexCoord3iv")

{-# NOINLINE glTexCoord3ivFunPtr #-}

-- | Usage: @'glTexCoord3s' s t r@
--
-- The parameter @s@ is a @CoordS@.
--
-- The parameter @t@ is a @CoordS@.
--
-- The parameter @r@ is a @CoordS@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glTexCoord3sv'.


glTexCoord3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()
glTexCoord3s :: GLshort -> GLshort -> GLshort -> m ()
glTexCoord3s = FunPtr (GLshort -> GLshort -> GLshort -> IO ())
-> GLshort -> GLshort -> GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLshort -> GLshort -> GLshort -> IO ())
-> GLshort -> GLshort -> GLshort -> m ()
ffishortshortshortIOV FunPtr (GLshort -> GLshort -> GLshort -> IO ())
glTexCoord3sFunPtr

glTexCoord3sFunPtr :: FunPtr (GLshort -> GLshort -> GLshort -> IO ())
glTexCoord3sFunPtr :: FunPtr (GLshort -> GLshort -> GLshort -> IO ())
glTexCoord3sFunPtr = IO (FunPtr (GLshort -> GLshort -> GLshort -> IO ()))
-> FunPtr (GLshort -> GLshort -> GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLshort -> GLshort -> GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexCoord3s")

{-# NOINLINE glTexCoord3sFunPtr #-}

-- | Usage: @'glTexCoord3sv' v@
--
-- The parameter @v@ is a @CoordS@.
--
-- The length of @v@ should be @3@.


glTexCoord3sv :: MonadIO m => Ptr GLshort -> m ()
glTexCoord3sv :: Ptr GLshort -> m ()
glTexCoord3sv = FunPtr (Ptr GLshort -> IO ()) -> Ptr GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLshort -> IO ()) -> Ptr GLshort -> m ()
ffiPtrshortIOV FunPtr (Ptr GLshort -> IO ())
glTexCoord3svFunPtr

glTexCoord3svFunPtr :: FunPtr (Ptr GLshort -> IO ())
glTexCoord3svFunPtr :: FunPtr (Ptr GLshort -> IO ())
glTexCoord3svFunPtr = IO (FunPtr (Ptr GLshort -> IO ())) -> FunPtr (Ptr GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexCoord3sv")

{-# NOINLINE glTexCoord3svFunPtr #-}

-- | Usage: @'glTexCoord4d' s t r q@
--
-- The parameter @s@ is a @CoordD@.
--
-- The parameter @t@ is a @CoordD@.
--
-- The parameter @r@ is a @CoordD@.
--
-- The parameter @q@ is a @CoordD@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glTexCoord4dv'.


glTexCoord4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glTexCoord4d :: GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glTexCoord4d = FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
ffidoubledoubledoubledoubleIOV FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
glTexCoord4dFunPtr

glTexCoord4dFunPtr :: FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
glTexCoord4dFunPtr :: FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
glTexCoord4dFunPtr = IO (FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()))
-> FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexCoord4d")

{-# NOINLINE glTexCoord4dFunPtr #-}

-- | Usage: @'glTexCoord4dv' v@
--
-- The parameter @v@ is a @CoordD@.
--
-- The length of @v@ should be @4@.


glTexCoord4dv :: MonadIO m => Ptr GLdouble -> m ()
glTexCoord4dv :: Ptr GLdouble -> m ()
glTexCoord4dv = FunPtr (Ptr GLdouble -> IO ()) -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLdouble -> IO ()) -> Ptr GLdouble -> m ()
ffiPtrdoubleIOV FunPtr (Ptr GLdouble -> IO ())
glTexCoord4dvFunPtr

glTexCoord4dvFunPtr :: FunPtr (Ptr GLdouble -> IO ())
glTexCoord4dvFunPtr :: FunPtr (Ptr GLdouble -> IO ())
glTexCoord4dvFunPtr = IO (FunPtr (Ptr GLdouble -> IO ()))
-> FunPtr (Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexCoord4dv")

{-# NOINLINE glTexCoord4dvFunPtr #-}

-- | Usage: @'glTexCoord4f' s t r q@
--
-- The parameter @s@ is a @CoordF@.
--
-- The parameter @t@ is a @CoordF@.
--
-- The parameter @r@ is a @CoordF@.
--
-- The parameter @q@ is a @CoordF@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glTexCoord4fv'.


glTexCoord4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glTexCoord4f :: GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glTexCoord4f = FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
ffifloatfloatfloatfloatIOV FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glTexCoord4fFunPtr

glTexCoord4fFunPtr :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glTexCoord4fFunPtr :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glTexCoord4fFunPtr = IO (FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()))
-> FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexCoord4f")

{-# NOINLINE glTexCoord4fFunPtr #-}

-- | Usage: @'glTexCoord4fv' v@
--
-- The parameter @v@ is a @CoordF@.
--
-- The length of @v@ should be @4@.


glTexCoord4fv :: MonadIO m => Ptr GLfloat -> m ()
glTexCoord4fv :: Ptr GLfloat -> m ()
glTexCoord4fv = FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> m ()
ffiPtrfloatIOV FunPtr (Ptr GLfloat -> IO ())
glTexCoord4fvFunPtr

glTexCoord4fvFunPtr :: FunPtr (Ptr GLfloat -> IO ())
glTexCoord4fvFunPtr :: FunPtr (Ptr GLfloat -> IO ())
glTexCoord4fvFunPtr = IO (FunPtr (Ptr GLfloat -> IO ())) -> FunPtr (Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexCoord4fv")

{-# NOINLINE glTexCoord4fvFunPtr #-}

-- | Usage: @'glTexCoord4i' s t r q@
--
-- The parameter @s@ is a @CoordI@.
--
-- The parameter @t@ is a @CoordI@.
--
-- The parameter @r@ is a @CoordI@.
--
-- The parameter @q@ is a @CoordI@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glTexCoord4iv'.


glTexCoord4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()
glTexCoord4i :: GLsizei -> GLsizei -> GLsizei -> GLsizei -> m ()
glTexCoord4i = FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLsizei -> GLsizei -> GLsizei -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLsizei -> GLsizei -> GLsizei -> GLsizei -> m ()
ffiintintintintIOV FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
glTexCoord4iFunPtr

glTexCoord4iFunPtr :: FunPtr (GLint -> GLint -> GLint -> GLint -> IO ())
glTexCoord4iFunPtr :: FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
glTexCoord4iFunPtr = IO (FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ()))
-> FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexCoord4i")

{-# NOINLINE glTexCoord4iFunPtr #-}

-- | Usage: @'glTexCoord4iv' v@
--
-- The parameter @v@ is a @CoordI@.
--
-- The length of @v@ should be @4@.


glTexCoord4iv :: MonadIO m => Ptr GLint -> m ()
glTexCoord4iv :: Ptr GLsizei -> m ()
glTexCoord4iv = FunPtr (Ptr GLsizei -> IO ()) -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLsizei -> IO ()) -> Ptr GLsizei -> m ()
ffiPtrintIOV FunPtr (Ptr GLsizei -> IO ())
glTexCoord4ivFunPtr

glTexCoord4ivFunPtr :: FunPtr (Ptr GLint -> IO ())
glTexCoord4ivFunPtr :: FunPtr (Ptr GLsizei -> IO ())
glTexCoord4ivFunPtr = IO (FunPtr (Ptr GLsizei -> IO ())) -> FunPtr (Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexCoord4iv")

{-# NOINLINE glTexCoord4ivFunPtr #-}

-- | Usage: @'glTexCoord4s' s t r q@
--
-- The parameter @s@ is a @CoordS@.
--
-- The parameter @t@ is a @CoordS@.
--
-- The parameter @r@ is a @CoordS@.
--
-- The parameter @q@ is a @CoordS@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glTexCoord4sv'.


glTexCoord4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()
glTexCoord4s :: GLshort -> GLshort -> GLshort -> GLshort -> m ()
glTexCoord4s = FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ())
-> GLshort -> GLshort -> GLshort -> GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ())
-> GLshort -> GLshort -> GLshort -> GLshort -> m ()
ffishortshortshortshortIOV FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ())
glTexCoord4sFunPtr

glTexCoord4sFunPtr :: FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ())
glTexCoord4sFunPtr :: FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ())
glTexCoord4sFunPtr = IO (FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ()))
-> FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexCoord4s")

{-# NOINLINE glTexCoord4sFunPtr #-}

-- | Usage: @'glTexCoord4sv' v@
--
-- The parameter @v@ is a @CoordS@.
--
-- The length of @v@ should be @4@.


glTexCoord4sv :: MonadIO m => Ptr GLshort -> m ()
glTexCoord4sv :: Ptr GLshort -> m ()
glTexCoord4sv = FunPtr (Ptr GLshort -> IO ()) -> Ptr GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLshort -> IO ()) -> Ptr GLshort -> m ()
ffiPtrshortIOV FunPtr (Ptr GLshort -> IO ())
glTexCoord4svFunPtr

glTexCoord4svFunPtr :: FunPtr (Ptr GLshort -> IO ())
glTexCoord4svFunPtr :: FunPtr (Ptr GLshort -> IO ())
glTexCoord4svFunPtr = IO (FunPtr (Ptr GLshort -> IO ())) -> FunPtr (Ptr GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexCoord4sv")

{-# NOINLINE glTexCoord4svFunPtr #-}

-- | Usage: @'glTexCoordPointer' size type stride pointer@
--
-- The parameter @type@ is a @TexCoordPointerType@, one of: 'Graphics.GL.Internal.Shared.GL_DOUBLE', 'Graphics.GL.Internal.Shared.GL_FLOAT', 'Graphics.GL.Internal.Shared.GL_INT', 'Graphics.GL.Internal.Shared.GL_SHORT'.
--
-- The length of @pointer@ should be @COMPSIZE(size,type,stride)@.


glTexCoordPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr () -> m ()
glTexCoordPointer :: GLsizei -> GLenum -> GLsizei -> Ptr () -> m ()
glTexCoordPointer = FunPtr (GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ())
-> GLsizei -> GLenum -> GLsizei -> Ptr () -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ())
-> GLsizei -> GLenum -> GLsizei -> Ptr () -> m ()
ffiintenumsizeiPtrVIOV FunPtr (GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ())
glTexCoordPointerFunPtr

glTexCoordPointerFunPtr :: FunPtr (GLint -> GLenum -> GLsizei -> Ptr () -> IO ())
glTexCoordPointerFunPtr :: FunPtr (GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ())
glTexCoordPointerFunPtr = IO (FunPtr (GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()))
-> FunPtr (GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexCoordPointer")

{-# NOINLINE glTexCoordPointerFunPtr #-}

-- | Usage: @'glTexEnvf' target pname param@
--
-- The parameter @target@ is a @TextureEnvTarget@, one of: 'Graphics.GL.Internal.Shared.GL_TEXTURE_ENV'.
--
-- The parameter @pname@ is a @TextureEnvParameter@, one of: 'Graphics.GL.Internal.Shared.GL_TEXTURE_ENV_COLOR', 'Graphics.GL.Internal.Shared.GL_TEXTURE_ENV_MODE'.
--
-- The parameter @param@ is a @CheckedFloat32@.


glTexEnvf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()
glTexEnvf :: GLenum -> GLenum -> GLfloat -> m ()
glTexEnvf = FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
-> GLenum -> GLenum -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
-> GLenum -> GLenum -> GLfloat -> m ()
ffienumenumfloatIOV FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
glTexEnvfFunPtr

glTexEnvfFunPtr :: FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
glTexEnvfFunPtr :: FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
glTexEnvfFunPtr = IO (FunPtr (GLenum -> GLenum -> GLfloat -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexEnvf")

{-# NOINLINE glTexEnvfFunPtr #-}

-- | Usage: @'glTexEnvfv' target pname params@
--
-- The parameter @target@ is a @TextureEnvTarget@, one of: 'Graphics.GL.Internal.Shared.GL_TEXTURE_ENV'.
--
-- The parameter @pname@ is a @TextureEnvParameter@, one of: 'Graphics.GL.Internal.Shared.GL_TEXTURE_ENV_COLOR', 'Graphics.GL.Internal.Shared.GL_TEXTURE_ENV_MODE'.
--
-- The parameter @params@ is a @CheckedFloat32@.
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glTexEnvfv :: GLenum -> GLenum -> Ptr GLfloat -> m ()
glTexEnvfv = FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> GLenum -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> GLenum -> Ptr GLfloat -> m ()
ffienumenumPtrfloatIOV FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glTexEnvfvFunPtr

glTexEnvfvFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glTexEnvfvFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glTexEnvfvFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexEnvfv")

{-# NOINLINE glTexEnvfvFunPtr #-}

-- | Usage: @'glTexEnvi' target pname param@
--
-- The parameter @target@ is a @TextureEnvTarget@, one of: 'Graphics.GL.Internal.Shared.GL_TEXTURE_ENV'.
--
-- The parameter @pname@ is a @TextureEnvParameter@, one of: 'Graphics.GL.Internal.Shared.GL_TEXTURE_ENV_COLOR', 'Graphics.GL.Internal.Shared.GL_TEXTURE_ENV_MODE'.
--
-- The parameter @param@ is a @CheckedInt32@.


glTexEnvi :: MonadIO m => GLenum -> GLenum -> GLint -> m ()
glTexEnvi :: GLenum -> GLenum -> GLsizei -> m ()
glTexEnvi = FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
-> GLenum -> GLenum -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
-> GLenum -> GLenum -> GLsizei -> m ()
ffienumenumintIOV FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
glTexEnviFunPtr

glTexEnviFunPtr :: FunPtr (GLenum -> GLenum -> GLint -> IO ())
glTexEnviFunPtr :: FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
glTexEnviFunPtr = IO (FunPtr (GLenum -> GLenum -> GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexEnvi")

{-# NOINLINE glTexEnviFunPtr #-}

-- | Usage: @'glTexEnviv' target pname params@
--
-- The parameter @target@ is a @TextureEnvTarget@, one of: 'Graphics.GL.Internal.Shared.GL_TEXTURE_ENV'.
--
-- The parameter @pname@ is a @TextureEnvParameter@, one of: 'Graphics.GL.Internal.Shared.GL_TEXTURE_ENV_COLOR', 'Graphics.GL.Internal.Shared.GL_TEXTURE_ENV_MODE'.
--
-- The parameter @params@ is a @CheckedInt32@.
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glTexEnviv :: GLenum -> GLenum -> Ptr GLsizei -> m ()
glTexEnviv = FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
ffienumenumPtrintIOV FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glTexEnvivFunPtr

glTexEnvivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
glTexEnvivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glTexEnvivFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexEnviv")

{-# NOINLINE glTexEnvivFunPtr #-}

-- | Usage: @'glTexGend' coord pname param@
--
-- The parameter @coord@ is a @TextureCoordName@, one of: 'Graphics.GL.Internal.Shared.GL_S', 'Graphics.GL.Internal.Shared.GL_T', 'Graphics.GL.Internal.Shared.GL_R', 'Graphics.GL.Internal.Shared.GL_Q'.
--
-- The parameter @pname@ is a @TextureGenParameter@, one of: 'Graphics.GL.Ext.SGIS.PointLineTexgen.GL_EYE_LINE_SGIS', 'Graphics.GL.Internal.Shared.GL_EYE_PLANE', 'Graphics.GL.Ext.SGIS.PointLineTexgen.GL_EYE_POINT_SGIS', 'Graphics.GL.Ext.SGIS.PointLineTexgen.GL_OBJECT_LINE_SGIS', 'Graphics.GL.Internal.Shared.GL_OBJECT_PLANE', 'Graphics.GL.Ext.SGIS.PointLineTexgen.GL_OBJECT_POINT_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_GEN_MODE'.


glTexGend :: MonadIO m => GLenum -> GLenum -> GLdouble -> m ()
glTexGend :: GLenum -> GLenum -> GLdouble -> m ()
glTexGend = FunPtr (GLenum -> GLenum -> GLdouble -> IO ())
-> GLenum -> GLenum -> GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLdouble -> IO ())
-> GLenum -> GLenum -> GLdouble -> m ()
ffienumenumdoubleIOV FunPtr (GLenum -> GLenum -> GLdouble -> IO ())
glTexGendFunPtr

glTexGendFunPtr :: FunPtr (GLenum -> GLenum -> GLdouble -> IO ())
glTexGendFunPtr :: FunPtr (GLenum -> GLenum -> GLdouble -> IO ())
glTexGendFunPtr = IO (FunPtr (GLenum -> GLenum -> GLdouble -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexGend")

{-# NOINLINE glTexGendFunPtr #-}

-- | Usage: @'glTexGendv' coord pname params@
--
-- The parameter @coord@ is a @TextureCoordName@, one of: 'Graphics.GL.Internal.Shared.GL_S', 'Graphics.GL.Internal.Shared.GL_T', 'Graphics.GL.Internal.Shared.GL_R', 'Graphics.GL.Internal.Shared.GL_Q'.
--
-- The parameter @pname@ is a @TextureGenParameter@, one of: 'Graphics.GL.Ext.SGIS.PointLineTexgen.GL_EYE_LINE_SGIS', 'Graphics.GL.Internal.Shared.GL_EYE_PLANE', 'Graphics.GL.Ext.SGIS.PointLineTexgen.GL_EYE_POINT_SGIS', 'Graphics.GL.Ext.SGIS.PointLineTexgen.GL_OBJECT_LINE_SGIS', 'Graphics.GL.Internal.Shared.GL_OBJECT_PLANE', 'Graphics.GL.Ext.SGIS.PointLineTexgen.GL_OBJECT_POINT_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_GEN_MODE'.
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()
glTexGendv :: GLenum -> GLenum -> Ptr GLdouble -> m ()
glTexGendv = FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
-> GLenum -> GLenum -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
-> GLenum -> GLenum -> Ptr GLdouble -> m ()
ffienumenumPtrdoubleIOV FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
glTexGendvFunPtr

glTexGendvFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
glTexGendvFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
glTexGendvFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexGendv")

{-# NOINLINE glTexGendvFunPtr #-}

-- | Usage: @'glTexGenf' coord pname param@
--
-- The parameter @coord@ is a @TextureCoordName@, one of: 'Graphics.GL.Internal.Shared.GL_S', 'Graphics.GL.Internal.Shared.GL_T', 'Graphics.GL.Internal.Shared.GL_R', 'Graphics.GL.Internal.Shared.GL_Q'.
--
-- The parameter @pname@ is a @TextureGenParameter@, one of: 'Graphics.GL.Ext.SGIS.PointLineTexgen.GL_EYE_LINE_SGIS', 'Graphics.GL.Internal.Shared.GL_EYE_PLANE', 'Graphics.GL.Ext.SGIS.PointLineTexgen.GL_EYE_POINT_SGIS', 'Graphics.GL.Ext.SGIS.PointLineTexgen.GL_OBJECT_LINE_SGIS', 'Graphics.GL.Internal.Shared.GL_OBJECT_PLANE', 'Graphics.GL.Ext.SGIS.PointLineTexgen.GL_OBJECT_POINT_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_GEN_MODE'.
--
-- The parameter @param@ is a @CheckedFloat32@.


glTexGenf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()
glTexGenf :: GLenum -> GLenum -> GLfloat -> m ()
glTexGenf = FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
-> GLenum -> GLenum -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
-> GLenum -> GLenum -> GLfloat -> m ()
ffienumenumfloatIOV FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
glTexGenfFunPtr

glTexGenfFunPtr :: FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
glTexGenfFunPtr :: FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
glTexGenfFunPtr = IO (FunPtr (GLenum -> GLenum -> GLfloat -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexGenf")

{-# NOINLINE glTexGenfFunPtr #-}

-- | Usage: @'glTexGenfv' coord pname params@
--
-- The parameter @coord@ is a @TextureCoordName@, one of: 'Graphics.GL.Internal.Shared.GL_S', 'Graphics.GL.Internal.Shared.GL_T', 'Graphics.GL.Internal.Shared.GL_R', 'Graphics.GL.Internal.Shared.GL_Q'.
--
-- The parameter @pname@ is a @TextureGenParameter@, one of: 'Graphics.GL.Ext.SGIS.PointLineTexgen.GL_EYE_LINE_SGIS', 'Graphics.GL.Internal.Shared.GL_EYE_PLANE', 'Graphics.GL.Ext.SGIS.PointLineTexgen.GL_EYE_POINT_SGIS', 'Graphics.GL.Ext.SGIS.PointLineTexgen.GL_OBJECT_LINE_SGIS', 'Graphics.GL.Internal.Shared.GL_OBJECT_PLANE', 'Graphics.GL.Ext.SGIS.PointLineTexgen.GL_OBJECT_POINT_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_GEN_MODE'.
--
-- The parameter @params@ is a @CheckedFloat32@.
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glTexGenfv :: GLenum -> GLenum -> Ptr GLfloat -> m ()
glTexGenfv = FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> GLenum -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> GLenum -> Ptr GLfloat -> m ()
ffienumenumPtrfloatIOV FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glTexGenfvFunPtr

glTexGenfvFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glTexGenfvFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glTexGenfvFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexGenfv")

{-# NOINLINE glTexGenfvFunPtr #-}

-- | Usage: @'glTexGeni' coord pname param@
--
-- The parameter @coord@ is a @TextureCoordName@, one of: 'Graphics.GL.Internal.Shared.GL_S', 'Graphics.GL.Internal.Shared.GL_T', 'Graphics.GL.Internal.Shared.GL_R', 'Graphics.GL.Internal.Shared.GL_Q'.
--
-- The parameter @pname@ is a @TextureGenParameter@, one of: 'Graphics.GL.Ext.SGIS.PointLineTexgen.GL_EYE_LINE_SGIS', 'Graphics.GL.Internal.Shared.GL_EYE_PLANE', 'Graphics.GL.Ext.SGIS.PointLineTexgen.GL_EYE_POINT_SGIS', 'Graphics.GL.Ext.SGIS.PointLineTexgen.GL_OBJECT_LINE_SGIS', 'Graphics.GL.Internal.Shared.GL_OBJECT_PLANE', 'Graphics.GL.Ext.SGIS.PointLineTexgen.GL_OBJECT_POINT_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_GEN_MODE'.
--
-- The parameter @param@ is a @CheckedInt32@.


glTexGeni :: MonadIO m => GLenum -> GLenum -> GLint -> m ()
glTexGeni :: GLenum -> GLenum -> GLsizei -> m ()
glTexGeni = FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
-> GLenum -> GLenum -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
-> GLenum -> GLenum -> GLsizei -> m ()
ffienumenumintIOV FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
glTexGeniFunPtr

glTexGeniFunPtr :: FunPtr (GLenum -> GLenum -> GLint -> IO ())
glTexGeniFunPtr :: FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
glTexGeniFunPtr = IO (FunPtr (GLenum -> GLenum -> GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexGeni")

{-# NOINLINE glTexGeniFunPtr #-}

-- | Usage: @'glTexGeniv' coord pname params@
--
-- The parameter @coord@ is a @TextureCoordName@, one of: 'Graphics.GL.Internal.Shared.GL_S', 'Graphics.GL.Internal.Shared.GL_T', 'Graphics.GL.Internal.Shared.GL_R', 'Graphics.GL.Internal.Shared.GL_Q'.
--
-- The parameter @pname@ is a @TextureGenParameter@, one of: 'Graphics.GL.Ext.SGIS.PointLineTexgen.GL_EYE_LINE_SGIS', 'Graphics.GL.Internal.Shared.GL_EYE_PLANE', 'Graphics.GL.Ext.SGIS.PointLineTexgen.GL_EYE_POINT_SGIS', 'Graphics.GL.Ext.SGIS.PointLineTexgen.GL_OBJECT_LINE_SGIS', 'Graphics.GL.Internal.Shared.GL_OBJECT_PLANE', 'Graphics.GL.Ext.SGIS.PointLineTexgen.GL_OBJECT_POINT_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_GEN_MODE'.
--
-- The parameter @params@ is a @CheckedInt32@.
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glTexGeniv :: GLenum -> GLenum -> Ptr GLsizei -> m ()
glTexGeniv = FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
ffienumenumPtrintIOV FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glTexGenivFunPtr

glTexGenivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
glTexGenivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glTexGenivFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexGeniv")

{-# NOINLINE glTexGenivFunPtr #-}

-- | Usage: @'glTranslated' x y z@


glTranslated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()
glTranslated :: GLdouble -> GLdouble -> GLdouble -> m ()
glTranslated = FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLdouble -> GLdouble -> GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLdouble -> GLdouble -> GLdouble -> m ()
ffidoubledoubledoubleIOV FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
glTranslatedFunPtr

glTranslatedFunPtr :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
glTranslatedFunPtr :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
glTranslatedFunPtr = IO (FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ()))
-> FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTranslated")

{-# NOINLINE glTranslatedFunPtr #-}

-- | Usage: @'glTranslatef' x y z@


glTranslatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()
glTranslatef :: GLfloat -> GLfloat -> GLfloat -> m ()
glTranslatef = FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLfloat -> GLfloat -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLfloat -> GLfloat -> GLfloat -> m ()
ffifloatfloatfloatIOV FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
glTranslatefFunPtr

glTranslatefFunPtr :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
glTranslatefFunPtr :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
glTranslatefFunPtr = IO (FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ()))
-> FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTranslatef")

{-# NOINLINE glTranslatefFunPtr #-}

-- | Usage: @'glVertex2d' x y@
--
-- The parameter @x@ is a @CoordD@.
--
-- The parameter @y@ is a @CoordD@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glVertex2dv'.


glVertex2d :: MonadIO m => GLdouble -> GLdouble -> m ()
glVertex2d :: GLdouble -> GLdouble -> m ()
glVertex2d = FunPtr (GLdouble -> GLdouble -> IO ())
-> GLdouble -> GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLdouble -> GLdouble -> IO ())
-> GLdouble -> GLdouble -> m ()
ffidoubledoubleIOV FunPtr (GLdouble -> GLdouble -> IO ())
glVertex2dFunPtr

glVertex2dFunPtr :: FunPtr (GLdouble -> GLdouble -> IO ())
glVertex2dFunPtr :: FunPtr (GLdouble -> GLdouble -> IO ())
glVertex2dFunPtr = IO (FunPtr (GLdouble -> GLdouble -> IO ()))
-> FunPtr (GLdouble -> GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLdouble -> GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertex2d")

{-# NOINLINE glVertex2dFunPtr #-}

-- | Usage: @'glVertex2dv' v@
--
-- The parameter @v@ is a @CoordD@.
--
-- The length of @v@ should be @2@.


glVertex2dv :: MonadIO m => Ptr GLdouble -> m ()
glVertex2dv :: Ptr GLdouble -> m ()
glVertex2dv = FunPtr (Ptr GLdouble -> IO ()) -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLdouble -> IO ()) -> Ptr GLdouble -> m ()
ffiPtrdoubleIOV FunPtr (Ptr GLdouble -> IO ())
glVertex2dvFunPtr

glVertex2dvFunPtr :: FunPtr (Ptr GLdouble -> IO ())
glVertex2dvFunPtr :: FunPtr (Ptr GLdouble -> IO ())
glVertex2dvFunPtr = IO (FunPtr (Ptr GLdouble -> IO ()))
-> FunPtr (Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertex2dv")

{-# NOINLINE glVertex2dvFunPtr #-}

-- | Usage: @'glVertex2f' x y@
--
-- The parameter @x@ is a @CoordF@.
--
-- The parameter @y@ is a @CoordF@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glVertex2fv'.


glVertex2f :: MonadIO m => GLfloat -> GLfloat -> m ()
glVertex2f :: GLfloat -> GLfloat -> m ()
glVertex2f = FunPtr (GLfloat -> GLfloat -> IO ()) -> GLfloat -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLfloat -> GLfloat -> IO ()) -> GLfloat -> GLfloat -> m ()
ffifloatfloatIOV FunPtr (GLfloat -> GLfloat -> IO ())
glVertex2fFunPtr

glVertex2fFunPtr :: FunPtr (GLfloat -> GLfloat -> IO ())
glVertex2fFunPtr :: FunPtr (GLfloat -> GLfloat -> IO ())
glVertex2fFunPtr = IO (FunPtr (GLfloat -> GLfloat -> IO ()))
-> FunPtr (GLfloat -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLfloat -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertex2f")

{-# NOINLINE glVertex2fFunPtr #-}

-- | Usage: @'glVertex2fv' v@
--
-- The parameter @v@ is a @CoordF@.
--
-- The length of @v@ should be @2@.


glVertex2fv :: MonadIO m => Ptr GLfloat -> m ()
glVertex2fv :: Ptr GLfloat -> m ()
glVertex2fv = FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> m ()
ffiPtrfloatIOV FunPtr (Ptr GLfloat -> IO ())
glVertex2fvFunPtr

glVertex2fvFunPtr :: FunPtr (Ptr GLfloat -> IO ())
glVertex2fvFunPtr :: FunPtr (Ptr GLfloat -> IO ())
glVertex2fvFunPtr = IO (FunPtr (Ptr GLfloat -> IO ())) -> FunPtr (Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertex2fv")

{-# NOINLINE glVertex2fvFunPtr #-}

-- | Usage: @'glVertex2i' x y@
--
-- The parameter @x@ is a @CoordI@.
--
-- The parameter @y@ is a @CoordI@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glVertex2iv'.


glVertex2i :: MonadIO m => GLint -> GLint -> m ()
glVertex2i :: GLsizei -> GLsizei -> m ()
glVertex2i = FunPtr (GLsizei -> GLsizei -> IO ()) -> GLsizei -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> IO ()) -> GLsizei -> GLsizei -> m ()
ffiintintIOV FunPtr (GLsizei -> GLsizei -> IO ())
glVertex2iFunPtr

glVertex2iFunPtr :: FunPtr (GLint -> GLint -> IO ())
glVertex2iFunPtr :: FunPtr (GLsizei -> GLsizei -> IO ())
glVertex2iFunPtr = IO (FunPtr (GLsizei -> GLsizei -> IO ()))
-> FunPtr (GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertex2i")

{-# NOINLINE glVertex2iFunPtr #-}

-- | Usage: @'glVertex2iv' v@
--
-- The parameter @v@ is a @CoordI@.
--
-- The length of @v@ should be @2@.


glVertex2iv :: MonadIO m => Ptr GLint -> m ()
glVertex2iv :: Ptr GLsizei -> m ()
glVertex2iv = FunPtr (Ptr GLsizei -> IO ()) -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLsizei -> IO ()) -> Ptr GLsizei -> m ()
ffiPtrintIOV FunPtr (Ptr GLsizei -> IO ())
glVertex2ivFunPtr

glVertex2ivFunPtr :: FunPtr (Ptr GLint -> IO ())
glVertex2ivFunPtr :: FunPtr (Ptr GLsizei -> IO ())
glVertex2ivFunPtr = IO (FunPtr (Ptr GLsizei -> IO ())) -> FunPtr (Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertex2iv")

{-# NOINLINE glVertex2ivFunPtr #-}

-- | Usage: @'glVertex2s' x y@
--
-- The parameter @x@ is a @CoordS@.
--
-- The parameter @y@ is a @CoordS@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glVertex2sv'.


glVertex2s :: MonadIO m => GLshort -> GLshort -> m ()
glVertex2s :: GLshort -> GLshort -> m ()
glVertex2s = FunPtr (GLshort -> GLshort -> IO ()) -> GLshort -> GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLshort -> GLshort -> IO ()) -> GLshort -> GLshort -> m ()
ffishortshortIOV FunPtr (GLshort -> GLshort -> IO ())
glVertex2sFunPtr

glVertex2sFunPtr :: FunPtr (GLshort -> GLshort -> IO ())
glVertex2sFunPtr :: FunPtr (GLshort -> GLshort -> IO ())
glVertex2sFunPtr = IO (FunPtr (GLshort -> GLshort -> IO ()))
-> FunPtr (GLshort -> GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLshort -> GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertex2s")

{-# NOINLINE glVertex2sFunPtr #-}

-- | Usage: @'glVertex2sv' v@
--
-- The parameter @v@ is a @CoordS@.
--
-- The length of @v@ should be @2@.


glVertex2sv :: MonadIO m => Ptr GLshort -> m ()
glVertex2sv :: Ptr GLshort -> m ()
glVertex2sv = FunPtr (Ptr GLshort -> IO ()) -> Ptr GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLshort -> IO ()) -> Ptr GLshort -> m ()
ffiPtrshortIOV FunPtr (Ptr GLshort -> IO ())
glVertex2svFunPtr

glVertex2svFunPtr :: FunPtr (Ptr GLshort -> IO ())
glVertex2svFunPtr :: FunPtr (Ptr GLshort -> IO ())
glVertex2svFunPtr = IO (FunPtr (Ptr GLshort -> IO ())) -> FunPtr (Ptr GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertex2sv")

{-# NOINLINE glVertex2svFunPtr #-}

-- | Usage: @'glVertex3d' x y z@
--
-- The parameter @x@ is a @CoordD@.
--
-- The parameter @y@ is a @CoordD@.
--
-- The parameter @z@ is a @CoordD@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glVertex3dv'.


glVertex3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()
glVertex3d :: GLdouble -> GLdouble -> GLdouble -> m ()
glVertex3d = FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLdouble -> GLdouble -> GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLdouble -> GLdouble -> GLdouble -> m ()
ffidoubledoubledoubleIOV FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
glVertex3dFunPtr

glVertex3dFunPtr :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
glVertex3dFunPtr :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
glVertex3dFunPtr = IO (FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ()))
-> FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertex3d")

{-# NOINLINE glVertex3dFunPtr #-}

-- | Usage: @'glVertex3dv' v@
--
-- The parameter @v@ is a @CoordD@.
--
-- The length of @v@ should be @3@.


glVertex3dv :: MonadIO m => Ptr GLdouble -> m ()
glVertex3dv :: Ptr GLdouble -> m ()
glVertex3dv = FunPtr (Ptr GLdouble -> IO ()) -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLdouble -> IO ()) -> Ptr GLdouble -> m ()
ffiPtrdoubleIOV FunPtr (Ptr GLdouble -> IO ())
glVertex3dvFunPtr

glVertex3dvFunPtr :: FunPtr (Ptr GLdouble -> IO ())
glVertex3dvFunPtr :: FunPtr (Ptr GLdouble -> IO ())
glVertex3dvFunPtr = IO (FunPtr (Ptr GLdouble -> IO ()))
-> FunPtr (Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertex3dv")

{-# NOINLINE glVertex3dvFunPtr #-}

-- | Usage: @'glVertex3f' x y z@
--
-- The parameter @x@ is a @CoordF@.
--
-- The parameter @y@ is a @CoordF@.
--
-- The parameter @z@ is a @CoordF@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glVertex3fv'.


glVertex3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()
glVertex3f :: GLfloat -> GLfloat -> GLfloat -> m ()
glVertex3f = FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLfloat -> GLfloat -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLfloat -> GLfloat -> GLfloat -> m ()
ffifloatfloatfloatIOV FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
glVertex3fFunPtr

glVertex3fFunPtr :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
glVertex3fFunPtr :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
glVertex3fFunPtr = IO (FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ()))
-> FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertex3f")

{-# NOINLINE glVertex3fFunPtr #-}

-- | Usage: @'glVertex3fv' v@
--
-- The parameter @v@ is a @CoordF@.
--
-- The length of @v@ should be @3@.


glVertex3fv :: MonadIO m => Ptr GLfloat -> m ()
glVertex3fv :: Ptr GLfloat -> m ()
glVertex3fv = FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> m ()
ffiPtrfloatIOV FunPtr (Ptr GLfloat -> IO ())
glVertex3fvFunPtr

glVertex3fvFunPtr :: FunPtr (Ptr GLfloat -> IO ())
glVertex3fvFunPtr :: FunPtr (Ptr GLfloat -> IO ())
glVertex3fvFunPtr = IO (FunPtr (Ptr GLfloat -> IO ())) -> FunPtr (Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertex3fv")

{-# NOINLINE glVertex3fvFunPtr #-}

-- | Usage: @'glVertex3i' x y z@
--
-- The parameter @x@ is a @CoordI@.
--
-- The parameter @y@ is a @CoordI@.
--
-- The parameter @z@ is a @CoordI@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glVertex3iv'.


glVertex3i :: MonadIO m => GLint -> GLint -> GLint -> m ()
glVertex3i :: GLsizei -> GLsizei -> GLsizei -> m ()
glVertex3i = FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLsizei -> GLsizei -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLsizei -> GLsizei -> GLsizei -> m ()
ffiintintintIOV FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ())
glVertex3iFunPtr

glVertex3iFunPtr :: FunPtr (GLint -> GLint -> GLint -> IO ())
glVertex3iFunPtr :: FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ())
glVertex3iFunPtr = IO (FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ()))
-> FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertex3i")

{-# NOINLINE glVertex3iFunPtr #-}

-- | Usage: @'glVertex3iv' v@
--
-- The parameter @v@ is a @CoordI@.
--
-- The length of @v@ should be @3@.


glVertex3iv :: MonadIO m => Ptr GLint -> m ()
glVertex3iv :: Ptr GLsizei -> m ()
glVertex3iv = FunPtr (Ptr GLsizei -> IO ()) -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLsizei -> IO ()) -> Ptr GLsizei -> m ()
ffiPtrintIOV FunPtr (Ptr GLsizei -> IO ())
glVertex3ivFunPtr

glVertex3ivFunPtr :: FunPtr (Ptr GLint -> IO ())
glVertex3ivFunPtr :: FunPtr (Ptr GLsizei -> IO ())
glVertex3ivFunPtr = IO (FunPtr (Ptr GLsizei -> IO ())) -> FunPtr (Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertex3iv")

{-# NOINLINE glVertex3ivFunPtr #-}

-- | Usage: @'glVertex3s' x y z@
--
-- The parameter @x@ is a @CoordS@.
--
-- The parameter @y@ is a @CoordS@.
--
-- The parameter @z@ is a @CoordS@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glVertex3sv'.


glVertex3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()
glVertex3s :: GLshort -> GLshort -> GLshort -> m ()
glVertex3s = FunPtr (GLshort -> GLshort -> GLshort -> IO ())
-> GLshort -> GLshort -> GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLshort -> GLshort -> GLshort -> IO ())
-> GLshort -> GLshort -> GLshort -> m ()
ffishortshortshortIOV FunPtr (GLshort -> GLshort -> GLshort -> IO ())
glVertex3sFunPtr

glVertex3sFunPtr :: FunPtr (GLshort -> GLshort -> GLshort -> IO ())
glVertex3sFunPtr :: FunPtr (GLshort -> GLshort -> GLshort -> IO ())
glVertex3sFunPtr = IO (FunPtr (GLshort -> GLshort -> GLshort -> IO ()))
-> FunPtr (GLshort -> GLshort -> GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLshort -> GLshort -> GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertex3s")

{-# NOINLINE glVertex3sFunPtr #-}

-- | Usage: @'glVertex3sv' v@
--
-- The parameter @v@ is a @CoordS@.
--
-- The length of @v@ should be @3@.


glVertex3sv :: MonadIO m => Ptr GLshort -> m ()
glVertex3sv :: Ptr GLshort -> m ()
glVertex3sv = FunPtr (Ptr GLshort -> IO ()) -> Ptr GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLshort -> IO ()) -> Ptr GLshort -> m ()
ffiPtrshortIOV FunPtr (Ptr GLshort -> IO ())
glVertex3svFunPtr

glVertex3svFunPtr :: FunPtr (Ptr GLshort -> IO ())
glVertex3svFunPtr :: FunPtr (Ptr GLshort -> IO ())
glVertex3svFunPtr = IO (FunPtr (Ptr GLshort -> IO ())) -> FunPtr (Ptr GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertex3sv")

{-# NOINLINE glVertex3svFunPtr #-}

-- | Usage: @'glVertex4d' x y z w@
--
-- The parameter @x@ is a @CoordD@.
--
-- The parameter @y@ is a @CoordD@.
--
-- The parameter @z@ is a @CoordD@.
--
-- The parameter @w@ is a @CoordD@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glVertex4dv'.


glVertex4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glVertex4d :: GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glVertex4d = FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
ffidoubledoubledoubledoubleIOV FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
glVertex4dFunPtr

glVertex4dFunPtr :: FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
glVertex4dFunPtr :: FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
glVertex4dFunPtr = IO (FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()))
-> FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertex4d")

{-# NOINLINE glVertex4dFunPtr #-}

-- | Usage: @'glVertex4dv' v@
--
-- The parameter @v@ is a @CoordD@.
--
-- The length of @v@ should be @4@.


glVertex4dv :: MonadIO m => Ptr GLdouble -> m ()
glVertex4dv :: Ptr GLdouble -> m ()
glVertex4dv = FunPtr (Ptr GLdouble -> IO ()) -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLdouble -> IO ()) -> Ptr GLdouble -> m ()
ffiPtrdoubleIOV FunPtr (Ptr GLdouble -> IO ())
glVertex4dvFunPtr

glVertex4dvFunPtr :: FunPtr (Ptr GLdouble -> IO ())
glVertex4dvFunPtr :: FunPtr (Ptr GLdouble -> IO ())
glVertex4dvFunPtr = IO (FunPtr (Ptr GLdouble -> IO ()))
-> FunPtr (Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertex4dv")

{-# NOINLINE glVertex4dvFunPtr #-}

-- | Usage: @'glVertex4f' x y z w@
--
-- The parameter @x@ is a @CoordF@.
--
-- The parameter @y@ is a @CoordF@.
--
-- The parameter @z@ is a @CoordF@.
--
-- The parameter @w@ is a @CoordF@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glVertex4fv'.


glVertex4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glVertex4f :: GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glVertex4f = FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
ffifloatfloatfloatfloatIOV FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glVertex4fFunPtr

glVertex4fFunPtr :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glVertex4fFunPtr :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glVertex4fFunPtr = IO (FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()))
-> FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertex4f")

{-# NOINLINE glVertex4fFunPtr #-}

-- | Usage: @'glVertex4fv' v@
--
-- The parameter @v@ is a @CoordF@.
--
-- The length of @v@ should be @4@.


glVertex4fv :: MonadIO m => Ptr GLfloat -> m ()
glVertex4fv :: Ptr GLfloat -> m ()
glVertex4fv = FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> m ()
ffiPtrfloatIOV FunPtr (Ptr GLfloat -> IO ())
glVertex4fvFunPtr

glVertex4fvFunPtr :: FunPtr (Ptr GLfloat -> IO ())
glVertex4fvFunPtr :: FunPtr (Ptr GLfloat -> IO ())
glVertex4fvFunPtr = IO (FunPtr (Ptr GLfloat -> IO ())) -> FunPtr (Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertex4fv")

{-# NOINLINE glVertex4fvFunPtr #-}

-- | Usage: @'glVertex4i' x y z w@
--
-- The parameter @x@ is a @CoordI@.
--
-- The parameter @y@ is a @CoordI@.
--
-- The parameter @z@ is a @CoordI@.
--
-- The parameter @w@ is a @CoordI@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glVertex4iv'.


glVertex4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()
glVertex4i :: GLsizei -> GLsizei -> GLsizei -> GLsizei -> m ()
glVertex4i = FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLsizei -> GLsizei -> GLsizei -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLsizei -> GLsizei -> GLsizei -> GLsizei -> m ()
ffiintintintintIOV FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
glVertex4iFunPtr

glVertex4iFunPtr :: FunPtr (GLint -> GLint -> GLint -> GLint -> IO ())
glVertex4iFunPtr :: FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
glVertex4iFunPtr = IO (FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ()))
-> FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertex4i")

{-# NOINLINE glVertex4iFunPtr #-}

-- | Usage: @'glVertex4iv' v@
--
-- The parameter @v@ is a @CoordI@.
--
-- The length of @v@ should be @4@.


glVertex4iv :: MonadIO m => Ptr GLint -> m ()
glVertex4iv :: Ptr GLsizei -> m ()
glVertex4iv = FunPtr (Ptr GLsizei -> IO ()) -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLsizei -> IO ()) -> Ptr GLsizei -> m ()
ffiPtrintIOV FunPtr (Ptr GLsizei -> IO ())
glVertex4ivFunPtr

glVertex4ivFunPtr :: FunPtr (Ptr GLint -> IO ())
glVertex4ivFunPtr :: FunPtr (Ptr GLsizei -> IO ())
glVertex4ivFunPtr = IO (FunPtr (Ptr GLsizei -> IO ())) -> FunPtr (Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertex4iv")

{-# NOINLINE glVertex4ivFunPtr #-}

-- | Usage: @'glVertex4s' x y z w@
--
-- The parameter @x@ is a @CoordS@.
--
-- The parameter @y@ is a @CoordS@.
--
-- The parameter @z@ is a @CoordS@.
--
-- The parameter @w@ is a @CoordS@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glVertex4sv'.


glVertex4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()
glVertex4s :: GLshort -> GLshort -> GLshort -> GLshort -> m ()
glVertex4s = FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ())
-> GLshort -> GLshort -> GLshort -> GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ())
-> GLshort -> GLshort -> GLshort -> GLshort -> m ()
ffishortshortshortshortIOV FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ())
glVertex4sFunPtr

glVertex4sFunPtr :: FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ())
glVertex4sFunPtr :: FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ())
glVertex4sFunPtr = IO (FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ()))
-> FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertex4s")

{-# NOINLINE glVertex4sFunPtr #-}

-- | Usage: @'glVertex4sv' v@
--
-- The parameter @v@ is a @CoordS@.
--
-- The length of @v@ should be @4@.


glVertex4sv :: MonadIO m => Ptr GLshort -> m ()
glVertex4sv :: Ptr GLshort -> m ()
glVertex4sv = FunPtr (Ptr GLshort -> IO ()) -> Ptr GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLshort -> IO ()) -> Ptr GLshort -> m ()
ffiPtrshortIOV FunPtr (Ptr GLshort -> IO ())
glVertex4svFunPtr

glVertex4svFunPtr :: FunPtr (Ptr GLshort -> IO ())
glVertex4svFunPtr :: FunPtr (Ptr GLshort -> IO ())
glVertex4svFunPtr = IO (FunPtr (Ptr GLshort -> IO ())) -> FunPtr (Ptr GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertex4sv")

{-# NOINLINE glVertex4svFunPtr #-}

-- | Usage: @'glVertexPointer' size type stride pointer@
--
-- The parameter @type@ is a @VertexPointerType@, one of: 'Graphics.GL.Internal.Shared.GL_DOUBLE', 'Graphics.GL.Internal.Shared.GL_FLOAT', 'Graphics.GL.Internal.Shared.GL_INT', 'Graphics.GL.Internal.Shared.GL_SHORT'.
--
-- The length of @pointer@ should be @COMPSIZE(size,type,stride)@.


glVertexPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr () -> m ()
glVertexPointer :: GLsizei -> GLenum -> GLsizei -> Ptr () -> m ()
glVertexPointer = FunPtr (GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ())
-> GLsizei -> GLenum -> GLsizei -> Ptr () -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ())
-> GLsizei -> GLenum -> GLsizei -> Ptr () -> m ()
ffiintenumsizeiPtrVIOV FunPtr (GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ())
glVertexPointerFunPtr

glVertexPointerFunPtr :: FunPtr (GLint -> GLenum -> GLsizei -> Ptr () -> IO ())
glVertexPointerFunPtr :: FunPtr (GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ())
glVertexPointerFunPtr = IO (FunPtr (GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()))
-> FunPtr (GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexPointer")

{-# NOINLINE glVertexPointerFunPtr #-}

-- | Usage: @'glWindowPos2d' x y@
--
-- The parameter @x@ is a @CoordD@.
--
-- The parameter @y@ is a @CoordD@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glWindowPos2dv'.


glWindowPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()
glWindowPos2d :: GLdouble -> GLdouble -> m ()
glWindowPos2d = FunPtr (GLdouble -> GLdouble -> IO ())
-> GLdouble -> GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLdouble -> GLdouble -> IO ())
-> GLdouble -> GLdouble -> m ()
ffidoubledoubleIOV FunPtr (GLdouble -> GLdouble -> IO ())
glWindowPos2dFunPtr

glWindowPos2dFunPtr :: FunPtr (GLdouble -> GLdouble -> IO ())
glWindowPos2dFunPtr :: FunPtr (GLdouble -> GLdouble -> IO ())
glWindowPos2dFunPtr = IO (FunPtr (GLdouble -> GLdouble -> IO ()))
-> FunPtr (GLdouble -> GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLdouble -> GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glWindowPos2d")

{-# NOINLINE glWindowPos2dFunPtr #-}

-- | Usage: @'glWindowPos2dv' v@
--
-- The parameter @v@ is a @CoordD@.
--
-- The length of @v@ should be @2@.


glWindowPos2dv :: MonadIO m => Ptr GLdouble -> m ()
glWindowPos2dv :: Ptr GLdouble -> m ()
glWindowPos2dv = FunPtr (Ptr GLdouble -> IO ()) -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLdouble -> IO ()) -> Ptr GLdouble -> m ()
ffiPtrdoubleIOV FunPtr (Ptr GLdouble -> IO ())
glWindowPos2dvFunPtr

glWindowPos2dvFunPtr :: FunPtr (Ptr GLdouble -> IO ())
glWindowPos2dvFunPtr :: FunPtr (Ptr GLdouble -> IO ())
glWindowPos2dvFunPtr = IO (FunPtr (Ptr GLdouble -> IO ()))
-> FunPtr (Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glWindowPos2dv")

{-# NOINLINE glWindowPos2dvFunPtr #-}

-- | Usage: @'glWindowPos2f' x y@
--
-- The parameter @x@ is a @CoordF@.
--
-- The parameter @y@ is a @CoordF@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glWindowPos2fv'.


glWindowPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()
glWindowPos2f :: GLfloat -> GLfloat -> m ()
glWindowPos2f = FunPtr (GLfloat -> GLfloat -> IO ()) -> GLfloat -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLfloat -> GLfloat -> IO ()) -> GLfloat -> GLfloat -> m ()
ffifloatfloatIOV FunPtr (GLfloat -> GLfloat -> IO ())
glWindowPos2fFunPtr

glWindowPos2fFunPtr :: FunPtr (GLfloat -> GLfloat -> IO ())
glWindowPos2fFunPtr :: FunPtr (GLfloat -> GLfloat -> IO ())
glWindowPos2fFunPtr = IO (FunPtr (GLfloat -> GLfloat -> IO ()))
-> FunPtr (GLfloat -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLfloat -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glWindowPos2f")

{-# NOINLINE glWindowPos2fFunPtr #-}

-- | Usage: @'glWindowPos2fv' v@
--
-- The parameter @v@ is a @CoordF@.
--
-- The length of @v@ should be @2@.


glWindowPos2fv :: MonadIO m => Ptr GLfloat -> m ()
glWindowPos2fv :: Ptr GLfloat -> m ()
glWindowPos2fv = FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> m ()
ffiPtrfloatIOV FunPtr (Ptr GLfloat -> IO ())
glWindowPos2fvFunPtr

glWindowPos2fvFunPtr :: FunPtr (Ptr GLfloat -> IO ())
glWindowPos2fvFunPtr :: FunPtr (Ptr GLfloat -> IO ())
glWindowPos2fvFunPtr = IO (FunPtr (Ptr GLfloat -> IO ())) -> FunPtr (Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glWindowPos2fv")

{-# NOINLINE glWindowPos2fvFunPtr #-}

-- | Usage: @'glWindowPos2i' x y@
--
-- The parameter @x@ is a @CoordI@.
--
-- The parameter @y@ is a @CoordI@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glWindowPos2iv'.


glWindowPos2i :: MonadIO m => GLint -> GLint -> m ()
glWindowPos2i :: GLsizei -> GLsizei -> m ()
glWindowPos2i = FunPtr (GLsizei -> GLsizei -> IO ()) -> GLsizei -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> IO ()) -> GLsizei -> GLsizei -> m ()
ffiintintIOV FunPtr (GLsizei -> GLsizei -> IO ())
glWindowPos2iFunPtr

glWindowPos2iFunPtr :: FunPtr (GLint -> GLint -> IO ())
glWindowPos2iFunPtr :: FunPtr (GLsizei -> GLsizei -> IO ())
glWindowPos2iFunPtr = IO (FunPtr (GLsizei -> GLsizei -> IO ()))
-> FunPtr (GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glWindowPos2i")

{-# NOINLINE glWindowPos2iFunPtr #-}

-- | Usage: @'glWindowPos2iv' v@
--
-- The parameter @v@ is a @CoordI@.
--
-- The length of @v@ should be @2@.


glWindowPos2iv :: MonadIO m => Ptr GLint -> m ()
glWindowPos2iv :: Ptr GLsizei -> m ()
glWindowPos2iv = FunPtr (Ptr GLsizei -> IO ()) -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLsizei -> IO ()) -> Ptr GLsizei -> m ()
ffiPtrintIOV FunPtr (Ptr GLsizei -> IO ())
glWindowPos2ivFunPtr

glWindowPos2ivFunPtr :: FunPtr (Ptr GLint -> IO ())
glWindowPos2ivFunPtr :: FunPtr (Ptr GLsizei -> IO ())
glWindowPos2ivFunPtr = IO (FunPtr (Ptr GLsizei -> IO ())) -> FunPtr (Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glWindowPos2iv")

{-# NOINLINE glWindowPos2ivFunPtr #-}

-- | Usage: @'glWindowPos2s' x y@
--
-- The parameter @x@ is a @CoordS@.
--
-- The parameter @y@ is a @CoordS@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glWindowPos2sv'.


glWindowPos2s :: MonadIO m => GLshort -> GLshort -> m ()
glWindowPos2s :: GLshort -> GLshort -> m ()
glWindowPos2s = FunPtr (GLshort -> GLshort -> IO ()) -> GLshort -> GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLshort -> GLshort -> IO ()) -> GLshort -> GLshort -> m ()
ffishortshortIOV FunPtr (GLshort -> GLshort -> IO ())
glWindowPos2sFunPtr

glWindowPos2sFunPtr :: FunPtr (GLshort -> GLshort -> IO ())
glWindowPos2sFunPtr :: FunPtr (GLshort -> GLshort -> IO ())
glWindowPos2sFunPtr = IO (FunPtr (GLshort -> GLshort -> IO ()))
-> FunPtr (GLshort -> GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLshort -> GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glWindowPos2s")

{-# NOINLINE glWindowPos2sFunPtr #-}

-- | Usage: @'glWindowPos2sv' v@
--
-- The parameter @v@ is a @CoordS@.
--
-- The length of @v@ should be @2@.


glWindowPos2sv :: MonadIO m => Ptr GLshort -> m ()
glWindowPos2sv :: Ptr GLshort -> m ()
glWindowPos2sv = FunPtr (Ptr GLshort -> IO ()) -> Ptr GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLshort -> IO ()) -> Ptr GLshort -> m ()
ffiPtrshortIOV FunPtr (Ptr GLshort -> IO ())
glWindowPos2svFunPtr

glWindowPos2svFunPtr :: FunPtr (Ptr GLshort -> IO ())
glWindowPos2svFunPtr :: FunPtr (Ptr GLshort -> IO ())
glWindowPos2svFunPtr = IO (FunPtr (Ptr GLshort -> IO ())) -> FunPtr (Ptr GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glWindowPos2sv")

{-# NOINLINE glWindowPos2svFunPtr #-}

-- | Usage: @'glWindowPos3d' x y z@
--
-- The parameter @x@ is a @CoordD@.
--
-- The parameter @y@ is a @CoordD@.
--
-- The parameter @z@ is a @CoordD@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glWindowPos3dv'.


glWindowPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()
glWindowPos3d :: GLdouble -> GLdouble -> GLdouble -> m ()
glWindowPos3d = FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLdouble -> GLdouble -> GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLdouble -> GLdouble -> GLdouble -> m ()
ffidoubledoubledoubleIOV FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
glWindowPos3dFunPtr

glWindowPos3dFunPtr :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
glWindowPos3dFunPtr :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
glWindowPos3dFunPtr = IO (FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ()))
-> FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glWindowPos3d")

{-# NOINLINE glWindowPos3dFunPtr #-}

-- | Usage: @'glWindowPos3dv' v@
--
-- The parameter @v@ is a @CoordD@.
--
-- The length of @v@ should be @3@.


glWindowPos3dv :: MonadIO m => Ptr GLdouble -> m ()
glWindowPos3dv :: Ptr GLdouble -> m ()
glWindowPos3dv = FunPtr (Ptr GLdouble -> IO ()) -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLdouble -> IO ()) -> Ptr GLdouble -> m ()
ffiPtrdoubleIOV FunPtr (Ptr GLdouble -> IO ())
glWindowPos3dvFunPtr

glWindowPos3dvFunPtr :: FunPtr (Ptr GLdouble -> IO ())
glWindowPos3dvFunPtr :: FunPtr (Ptr GLdouble -> IO ())
glWindowPos3dvFunPtr = IO (FunPtr (Ptr GLdouble -> IO ()))
-> FunPtr (Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glWindowPos3dv")

{-# NOINLINE glWindowPos3dvFunPtr #-}

-- | Usage: @'glWindowPos3f' x y z@
--
-- The parameter @x@ is a @CoordF@.
--
-- The parameter @y@ is a @CoordF@.
--
-- The parameter @z@ is a @CoordF@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glWindowPos3fv'.


glWindowPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()
glWindowPos3f :: GLfloat -> GLfloat -> GLfloat -> m ()
glWindowPos3f = FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLfloat -> GLfloat -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLfloat -> GLfloat -> GLfloat -> m ()
ffifloatfloatfloatIOV FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
glWindowPos3fFunPtr

glWindowPos3fFunPtr :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
glWindowPos3fFunPtr :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
glWindowPos3fFunPtr = IO (FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ()))
-> FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glWindowPos3f")

{-# NOINLINE glWindowPos3fFunPtr #-}

-- | Usage: @'glWindowPos3fv' v@
--
-- The parameter @v@ is a @CoordF@.
--
-- The length of @v@ should be @3@.


glWindowPos3fv :: MonadIO m => Ptr GLfloat -> m ()
glWindowPos3fv :: Ptr GLfloat -> m ()
glWindowPos3fv = FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> m ()
ffiPtrfloatIOV FunPtr (Ptr GLfloat -> IO ())
glWindowPos3fvFunPtr

glWindowPos3fvFunPtr :: FunPtr (Ptr GLfloat -> IO ())
glWindowPos3fvFunPtr :: FunPtr (Ptr GLfloat -> IO ())
glWindowPos3fvFunPtr = IO (FunPtr (Ptr GLfloat -> IO ())) -> FunPtr (Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glWindowPos3fv")

{-# NOINLINE glWindowPos3fvFunPtr #-}

-- | Usage: @'glWindowPos3i' x y z@
--
-- The parameter @x@ is a @CoordI@.
--
-- The parameter @y@ is a @CoordI@.
--
-- The parameter @z@ is a @CoordI@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glWindowPos3iv'.


glWindowPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()
glWindowPos3i :: GLsizei -> GLsizei -> GLsizei -> m ()
glWindowPos3i = FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLsizei -> GLsizei -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLsizei -> GLsizei -> GLsizei -> m ()
ffiintintintIOV FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ())
glWindowPos3iFunPtr

glWindowPos3iFunPtr :: FunPtr (GLint -> GLint -> GLint -> IO ())
glWindowPos3iFunPtr :: FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ())
glWindowPos3iFunPtr = IO (FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ()))
-> FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glWindowPos3i")

{-# NOINLINE glWindowPos3iFunPtr #-}

-- | Usage: @'glWindowPos3iv' v@
--
-- The parameter @v@ is a @CoordI@.
--
-- The length of @v@ should be @3@.


glWindowPos3iv :: MonadIO m => Ptr GLint -> m ()
glWindowPos3iv :: Ptr GLsizei -> m ()
glWindowPos3iv = FunPtr (Ptr GLsizei -> IO ()) -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLsizei -> IO ()) -> Ptr GLsizei -> m ()
ffiPtrintIOV FunPtr (Ptr GLsizei -> IO ())
glWindowPos3ivFunPtr

glWindowPos3ivFunPtr :: FunPtr (Ptr GLint -> IO ())
glWindowPos3ivFunPtr :: FunPtr (Ptr GLsizei -> IO ())
glWindowPos3ivFunPtr = IO (FunPtr (Ptr GLsizei -> IO ())) -> FunPtr (Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glWindowPos3iv")

{-# NOINLINE glWindowPos3ivFunPtr #-}

-- | Usage: @'glWindowPos3s' x y z@
--
-- The parameter @x@ is a @CoordS@.
--
-- The parameter @y@ is a @CoordS@.
--
-- The parameter @z@ is a @CoordS@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glWindowPos3sv'.


glWindowPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()
glWindowPos3s :: GLshort -> GLshort -> GLshort -> m ()
glWindowPos3s = FunPtr (GLshort -> GLshort -> GLshort -> IO ())
-> GLshort -> GLshort -> GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLshort -> GLshort -> GLshort -> IO ())
-> GLshort -> GLshort -> GLshort -> m ()
ffishortshortshortIOV FunPtr (GLshort -> GLshort -> GLshort -> IO ())
glWindowPos3sFunPtr

glWindowPos3sFunPtr :: FunPtr (GLshort -> GLshort -> GLshort -> IO ())
glWindowPos3sFunPtr :: FunPtr (GLshort -> GLshort -> GLshort -> IO ())
glWindowPos3sFunPtr = IO (FunPtr (GLshort -> GLshort -> GLshort -> IO ()))
-> FunPtr (GLshort -> GLshort -> GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLshort -> GLshort -> GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glWindowPos3s")

{-# NOINLINE glWindowPos3sFunPtr #-}

-- | Usage: @'glWindowPos3sv' v@
--
-- The parameter @v@ is a @CoordS@.
--
-- The length of @v@ should be @3@.


glWindowPos3sv :: MonadIO m => Ptr GLshort -> m ()
glWindowPos3sv :: Ptr GLshort -> m ()
glWindowPos3sv = FunPtr (Ptr GLshort -> IO ()) -> Ptr GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLshort -> IO ()) -> Ptr GLshort -> m ()
ffiPtrshortIOV FunPtr (Ptr GLshort -> IO ())
glWindowPos3svFunPtr

glWindowPos3svFunPtr :: FunPtr (Ptr GLshort -> IO ())
glWindowPos3svFunPtr :: FunPtr (Ptr GLshort -> IO ())
glWindowPos3svFunPtr = IO (FunPtr (Ptr GLshort -> IO ())) -> FunPtr (Ptr GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glWindowPos3sv")

{-# NOINLINE glWindowPos3svFunPtr #-}

pattern $bGL_2D :: a
$mGL_2D :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_2D = 0x0600

pattern $bGL_2_BYTES :: a
$mGL_2_BYTES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_2_BYTES = 0x1407

pattern $bGL_3D :: a
$mGL_3D :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_3D = 0x0601

pattern $bGL_3D_COLOR :: a
$mGL_3D_COLOR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_3D_COLOR = 0x0602

pattern $bGL_3D_COLOR_TEXTURE :: a
$mGL_3D_COLOR_TEXTURE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_3D_COLOR_TEXTURE = 0x0603

pattern $bGL_3_BYTES :: a
$mGL_3_BYTES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_3_BYTES = 0x1408

pattern $bGL_4D_COLOR_TEXTURE :: a
$mGL_4D_COLOR_TEXTURE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_4D_COLOR_TEXTURE = 0x0604

pattern $bGL_4_BYTES :: a
$mGL_4_BYTES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_4_BYTES = 0x1409

pattern $bGL_ACCUM :: a
$mGL_ACCUM :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ACCUM = 0x0100

pattern $bGL_ACCUM_ALPHA_BITS :: a
$mGL_ACCUM_ALPHA_BITS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ACCUM_ALPHA_BITS = 0x0D5B

pattern $bGL_ACCUM_BLUE_BITS :: a
$mGL_ACCUM_BLUE_BITS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ACCUM_BLUE_BITS = 0x0D5A

pattern $bGL_ACCUM_BUFFER_BIT :: a
$mGL_ACCUM_BUFFER_BIT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ACCUM_BUFFER_BIT = 0x00000200

pattern $bGL_ACCUM_CLEAR_VALUE :: a
$mGL_ACCUM_CLEAR_VALUE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ACCUM_CLEAR_VALUE = 0x0B80

pattern $bGL_ACCUM_GREEN_BITS :: a
$mGL_ACCUM_GREEN_BITS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ACCUM_GREEN_BITS = 0x0D59

pattern $bGL_ACCUM_RED_BITS :: a
$mGL_ACCUM_RED_BITS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ACCUM_RED_BITS = 0x0D58

pattern $bGL_ADD :: a
$mGL_ADD :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ADD = 0x0104

pattern $bGL_ADD_SIGNED :: a
$mGL_ADD_SIGNED :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ADD_SIGNED = 0x8574

pattern $bGL_ALIASED_POINT_SIZE_RANGE :: a
$mGL_ALIASED_POINT_SIZE_RANGE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ALIASED_POINT_SIZE_RANGE = 0x846D

pattern $bGL_ALL_ATTRIB_BITS :: a
$mGL_ALL_ATTRIB_BITS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ALL_ATTRIB_BITS = 0xFFFFFFFF

pattern $bGL_ALPHA12 :: a
$mGL_ALPHA12 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ALPHA12 = 0x803D

pattern $bGL_ALPHA16 :: a
$mGL_ALPHA16 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ALPHA16 = 0x803E

pattern $bGL_ALPHA4 :: a
$mGL_ALPHA4 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ALPHA4 = 0x803B

pattern $bGL_ALPHA8 :: a
$mGL_ALPHA8 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ALPHA8 = 0x803C

pattern $bGL_ALPHA_BIAS :: a
$mGL_ALPHA_BIAS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ALPHA_BIAS = 0x0D1D

pattern $bGL_ALPHA_BITS :: a
$mGL_ALPHA_BITS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ALPHA_BITS = 0x0D55

pattern $bGL_ALPHA_INTEGER :: a
$mGL_ALPHA_INTEGER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ALPHA_INTEGER = 0x8D97

pattern $bGL_ALPHA_SCALE :: a
$mGL_ALPHA_SCALE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ALPHA_SCALE = 0x0D1C

pattern $bGL_ALPHA_TEST :: a
$mGL_ALPHA_TEST :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ALPHA_TEST = 0x0BC0

pattern $bGL_ALPHA_TEST_FUNC :: a
$mGL_ALPHA_TEST_FUNC :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ALPHA_TEST_FUNC = 0x0BC1

pattern $bGL_ALPHA_TEST_REF :: a
$mGL_ALPHA_TEST_REF :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ALPHA_TEST_REF = 0x0BC2

pattern $bGL_AMBIENT :: a
$mGL_AMBIENT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_AMBIENT = 0x1200

pattern $bGL_AMBIENT_AND_DIFFUSE :: a
$mGL_AMBIENT_AND_DIFFUSE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_AMBIENT_AND_DIFFUSE = 0x1602

pattern $bGL_ATTRIB_STACK_DEPTH :: a
$mGL_ATTRIB_STACK_DEPTH :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ATTRIB_STACK_DEPTH = 0x0BB0

pattern $bGL_AUTO_NORMAL :: a
$mGL_AUTO_NORMAL :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_AUTO_NORMAL = 0x0D80

pattern $bGL_AUX0 :: a
$mGL_AUX0 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_AUX0 = 0x0409

pattern $bGL_AUX1 :: a
$mGL_AUX1 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_AUX1 = 0x040A

pattern $bGL_AUX2 :: a
$mGL_AUX2 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_AUX2 = 0x040B

pattern $bGL_AUX3 :: a
$mGL_AUX3 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_AUX3 = 0x040C

pattern $bGL_AUX_BUFFERS :: a
$mGL_AUX_BUFFERS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_AUX_BUFFERS = 0x0C00

pattern $bGL_BITMAP :: a
$mGL_BITMAP :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_BITMAP = 0x1A00

pattern $bGL_BITMAP_TOKEN :: a
$mGL_BITMAP_TOKEN :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_BITMAP_TOKEN = 0x0704

pattern $bGL_BLUE_BIAS :: a
$mGL_BLUE_BIAS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_BLUE_BIAS = 0x0D1B

pattern $bGL_BLUE_BITS :: a
$mGL_BLUE_BITS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_BLUE_BITS = 0x0D54

pattern $bGL_BLUE_SCALE :: a
$mGL_BLUE_SCALE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_BLUE_SCALE = 0x0D1A

pattern $bGL_C3F_V3F :: a
$mGL_C3F_V3F :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_C3F_V3F = 0x2A24

pattern $bGL_C4F_N3F_V3F :: a
$mGL_C4F_N3F_V3F :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_C4F_N3F_V3F = 0x2A26

pattern $bGL_C4UB_V2F :: a
$mGL_C4UB_V2F :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_C4UB_V2F = 0x2A22

pattern $bGL_C4UB_V3F :: a
$mGL_C4UB_V3F :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_C4UB_V3F = 0x2A23

pattern $bGL_CLAMP :: a
$mGL_CLAMP :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CLAMP = 0x2900

pattern $bGL_CLAMP_FRAGMENT_COLOR :: a
$mGL_CLAMP_FRAGMENT_COLOR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CLAMP_FRAGMENT_COLOR = 0x891B

pattern $bGL_CLAMP_VERTEX_COLOR :: a
$mGL_CLAMP_VERTEX_COLOR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CLAMP_VERTEX_COLOR = 0x891A

pattern $bGL_CLIENT_ACTIVE_TEXTURE :: a
$mGL_CLIENT_ACTIVE_TEXTURE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CLIENT_ACTIVE_TEXTURE = 0x84E1

pattern $bGL_CLIENT_ALL_ATTRIB_BITS :: a
$mGL_CLIENT_ALL_ATTRIB_BITS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CLIENT_ALL_ATTRIB_BITS = 0xFFFFFFFF

pattern $bGL_CLIENT_ATTRIB_STACK_DEPTH :: a
$mGL_CLIENT_ATTRIB_STACK_DEPTH :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CLIENT_ATTRIB_STACK_DEPTH = 0x0BB1

pattern $bGL_CLIENT_PIXEL_STORE_BIT :: a
$mGL_CLIENT_PIXEL_STORE_BIT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CLIENT_PIXEL_STORE_BIT = 0x00000001

pattern $bGL_CLIENT_VERTEX_ARRAY_BIT :: a
$mGL_CLIENT_VERTEX_ARRAY_BIT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CLIENT_VERTEX_ARRAY_BIT = 0x00000002

pattern $bGL_CLIP_PLANE0 :: a
$mGL_CLIP_PLANE0 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CLIP_PLANE0 = 0x3000

pattern $bGL_CLIP_PLANE1 :: a
$mGL_CLIP_PLANE1 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CLIP_PLANE1 = 0x3001

pattern $bGL_CLIP_PLANE2 :: a
$mGL_CLIP_PLANE2 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CLIP_PLANE2 = 0x3002

pattern $bGL_CLIP_PLANE3 :: a
$mGL_CLIP_PLANE3 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CLIP_PLANE3 = 0x3003

pattern $bGL_CLIP_PLANE4 :: a
$mGL_CLIP_PLANE4 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CLIP_PLANE4 = 0x3004

pattern $bGL_CLIP_PLANE5 :: a
$mGL_CLIP_PLANE5 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CLIP_PLANE5 = 0x3005

pattern $bGL_COEFF :: a
$mGL_COEFF :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COEFF = 0x0A00

pattern $bGL_COLOR_ARRAY :: a
$mGL_COLOR_ARRAY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ARRAY = 0x8076

pattern $bGL_COLOR_ARRAY_BUFFER_BINDING :: a
$mGL_COLOR_ARRAY_BUFFER_BINDING :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ARRAY_BUFFER_BINDING = 0x8898

pattern $bGL_COLOR_ARRAY_POINTER :: a
$mGL_COLOR_ARRAY_POINTER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ARRAY_POINTER = 0x8090

pattern $bGL_COLOR_ARRAY_SIZE :: a
$mGL_COLOR_ARRAY_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ARRAY_SIZE = 0x8081

pattern $bGL_COLOR_ARRAY_STRIDE :: a
$mGL_COLOR_ARRAY_STRIDE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ARRAY_STRIDE = 0x8083

pattern $bGL_COLOR_ARRAY_TYPE :: a
$mGL_COLOR_ARRAY_TYPE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ARRAY_TYPE = 0x8082

pattern $bGL_COLOR_INDEX :: a
$mGL_COLOR_INDEX :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_INDEX = 0x1900

pattern $bGL_COLOR_INDEXES :: a
$mGL_COLOR_INDEXES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_INDEXES = 0x1603

pattern $bGL_COLOR_MATERIAL :: a
$mGL_COLOR_MATERIAL :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_MATERIAL = 0x0B57

pattern $bGL_COLOR_MATERIAL_FACE :: a
$mGL_COLOR_MATERIAL_FACE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_MATERIAL_FACE = 0x0B55

pattern $bGL_COLOR_MATERIAL_PARAMETER :: a
$mGL_COLOR_MATERIAL_PARAMETER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_MATERIAL_PARAMETER = 0x0B56

pattern $bGL_COLOR_SUM :: a
$mGL_COLOR_SUM :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_SUM = 0x8458

pattern $bGL_COMBINE :: a
$mGL_COMBINE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMBINE = 0x8570

pattern $bGL_COMBINE_ALPHA :: a
$mGL_COMBINE_ALPHA :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMBINE_ALPHA = 0x8572

pattern $bGL_COMBINE_RGB :: a
$mGL_COMBINE_RGB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMBINE_RGB = 0x8571

pattern $bGL_COMPARE_R_TO_TEXTURE :: a
$mGL_COMPARE_R_TO_TEXTURE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPARE_R_TO_TEXTURE = 0x884E

pattern $bGL_COMPILE :: a
$mGL_COMPILE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPILE = 0x1300

pattern $bGL_COMPILE_AND_EXECUTE :: a
$mGL_COMPILE_AND_EXECUTE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPILE_AND_EXECUTE = 0x1301

pattern $bGL_COMPRESSED_ALPHA :: a
$mGL_COMPRESSED_ALPHA :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPRESSED_ALPHA = 0x84E9

pattern $bGL_COMPRESSED_INTENSITY :: a
$mGL_COMPRESSED_INTENSITY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPRESSED_INTENSITY = 0x84EC

pattern $bGL_COMPRESSED_LUMINANCE :: a
$mGL_COMPRESSED_LUMINANCE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPRESSED_LUMINANCE = 0x84EA

pattern $bGL_COMPRESSED_LUMINANCE_ALPHA :: a
$mGL_COMPRESSED_LUMINANCE_ALPHA :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPRESSED_LUMINANCE_ALPHA = 0x84EB

pattern $bGL_COMPRESSED_SLUMINANCE :: a
$mGL_COMPRESSED_SLUMINANCE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPRESSED_SLUMINANCE = 0x8C4A

pattern $bGL_COMPRESSED_SLUMINANCE_ALPHA :: a
$mGL_COMPRESSED_SLUMINANCE_ALPHA :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPRESSED_SLUMINANCE_ALPHA = 0x8C4B

pattern $bGL_CONSTANT :: a
$mGL_CONSTANT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CONSTANT = 0x8576

pattern $bGL_CONSTANT_ATTENUATION :: a
$mGL_CONSTANT_ATTENUATION :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CONSTANT_ATTENUATION = 0x1207

pattern $bGL_COORD_REPLACE :: a
$mGL_COORD_REPLACE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COORD_REPLACE = 0x8862

pattern $bGL_COPY_PIXEL_TOKEN :: a
$mGL_COPY_PIXEL_TOKEN :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COPY_PIXEL_TOKEN = 0x0706

pattern $bGL_CURRENT_BIT :: a
$mGL_CURRENT_BIT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CURRENT_BIT = 0x00000001

pattern $bGL_CURRENT_COLOR :: a
$mGL_CURRENT_COLOR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CURRENT_COLOR = 0x0B00

pattern $bGL_CURRENT_FOG_COORD :: a
$mGL_CURRENT_FOG_COORD :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CURRENT_FOG_COORD = 0x8453

pattern $bGL_CURRENT_FOG_COORDINATE :: a
$mGL_CURRENT_FOG_COORDINATE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CURRENT_FOG_COORDINATE = 0x8453

pattern $bGL_CURRENT_INDEX :: a
$mGL_CURRENT_INDEX :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CURRENT_INDEX = 0x0B01

pattern $bGL_CURRENT_NORMAL :: a
$mGL_CURRENT_NORMAL :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CURRENT_NORMAL = 0x0B02

pattern $bGL_CURRENT_RASTER_COLOR :: a
$mGL_CURRENT_RASTER_COLOR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CURRENT_RASTER_COLOR = 0x0B04

pattern $bGL_CURRENT_RASTER_DISTANCE :: a
$mGL_CURRENT_RASTER_DISTANCE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CURRENT_RASTER_DISTANCE = 0x0B09

pattern $bGL_CURRENT_RASTER_INDEX :: a
$mGL_CURRENT_RASTER_INDEX :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CURRENT_RASTER_INDEX = 0x0B05

pattern $bGL_CURRENT_RASTER_POSITION :: a
$mGL_CURRENT_RASTER_POSITION :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CURRENT_RASTER_POSITION = 0x0B07

pattern $bGL_CURRENT_RASTER_POSITION_VALID :: a
$mGL_CURRENT_RASTER_POSITION_VALID :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CURRENT_RASTER_POSITION_VALID = 0x0B08

pattern $bGL_CURRENT_RASTER_SECONDARY_COLOR :: a
$mGL_CURRENT_RASTER_SECONDARY_COLOR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CURRENT_RASTER_SECONDARY_COLOR = 0x845F

pattern $bGL_CURRENT_RASTER_TEXTURE_COORDS :: a
$mGL_CURRENT_RASTER_TEXTURE_COORDS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CURRENT_RASTER_TEXTURE_COORDS = 0x0B06

pattern $bGL_CURRENT_SECONDARY_COLOR :: a
$mGL_CURRENT_SECONDARY_COLOR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CURRENT_SECONDARY_COLOR = 0x8459

pattern $bGL_CURRENT_TEXTURE_COORDS :: a
$mGL_CURRENT_TEXTURE_COORDS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CURRENT_TEXTURE_COORDS = 0x0B03

pattern $bGL_DECAL :: a
$mGL_DECAL :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DECAL = 0x2101

pattern $bGL_DEPTH_BIAS :: a
$mGL_DEPTH_BIAS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DEPTH_BIAS = 0x0D1F

pattern $bGL_DEPTH_BITS :: a
$mGL_DEPTH_BITS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DEPTH_BITS = 0x0D56

pattern $bGL_DEPTH_SCALE :: a
$mGL_DEPTH_SCALE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DEPTH_SCALE = 0x0D1E

pattern $bGL_DEPTH_TEXTURE_MODE :: a
$mGL_DEPTH_TEXTURE_MODE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DEPTH_TEXTURE_MODE = 0x884B

pattern $bGL_DIFFUSE :: a
$mGL_DIFFUSE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DIFFUSE = 0x1201

pattern $bGL_DOMAIN :: a
$mGL_DOMAIN :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DOMAIN = 0x0A02

pattern $bGL_DOT3_RGB :: a
$mGL_DOT3_RGB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DOT3_RGB = 0x86AE

pattern $bGL_DOT3_RGBA :: a
$mGL_DOT3_RGBA :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DOT3_RGBA = 0x86AF

pattern $bGL_DRAW_PIXEL_TOKEN :: a
$mGL_DRAW_PIXEL_TOKEN :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DRAW_PIXEL_TOKEN = 0x0705

pattern $bGL_EDGE_FLAG :: a
$mGL_EDGE_FLAG :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_EDGE_FLAG = 0x0B43

pattern $bGL_EDGE_FLAG_ARRAY :: a
$mGL_EDGE_FLAG_ARRAY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_EDGE_FLAG_ARRAY = 0x8079

pattern $bGL_EDGE_FLAG_ARRAY_BUFFER_BINDING :: a
$mGL_EDGE_FLAG_ARRAY_BUFFER_BINDING :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_EDGE_FLAG_ARRAY_BUFFER_BINDING = 0x889B

pattern $bGL_EDGE_FLAG_ARRAY_POINTER :: a
$mGL_EDGE_FLAG_ARRAY_POINTER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_EDGE_FLAG_ARRAY_POINTER = 0x8093

pattern $bGL_EDGE_FLAG_ARRAY_STRIDE :: a
$mGL_EDGE_FLAG_ARRAY_STRIDE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_EDGE_FLAG_ARRAY_STRIDE = 0x808C

pattern $bGL_EMISSION :: a
$mGL_EMISSION :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_EMISSION = 0x1600

pattern $bGL_ENABLE_BIT :: a
$mGL_ENABLE_BIT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ENABLE_BIT = 0x00002000

pattern $bGL_EVAL_BIT :: a
$mGL_EVAL_BIT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_EVAL_BIT = 0x00010000

pattern $bGL_EXP :: a
$mGL_EXP :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_EXP = 0x0800

pattern $bGL_EXP2 :: a
$mGL_EXP2 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_EXP2 = 0x0801

pattern $bGL_EYE_LINEAR :: a
$mGL_EYE_LINEAR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_EYE_LINEAR = 0x2400

pattern $bGL_EYE_PLANE :: a
$mGL_EYE_PLANE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_EYE_PLANE = 0x2502

pattern $bGL_FEEDBACK :: a
$mGL_FEEDBACK :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FEEDBACK = 0x1C01

pattern $bGL_FEEDBACK_BUFFER_POINTER :: a
$mGL_FEEDBACK_BUFFER_POINTER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FEEDBACK_BUFFER_POINTER = 0x0DF0

pattern $bGL_FEEDBACK_BUFFER_SIZE :: a
$mGL_FEEDBACK_BUFFER_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FEEDBACK_BUFFER_SIZE = 0x0DF1

pattern $bGL_FEEDBACK_BUFFER_TYPE :: a
$mGL_FEEDBACK_BUFFER_TYPE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FEEDBACK_BUFFER_TYPE = 0x0DF2

pattern $bGL_FLAT :: a
$mGL_FLAT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FLAT = 0x1D00

pattern $bGL_FOG :: a
$mGL_FOG :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FOG = 0x0B60

pattern $bGL_FOG_BIT :: a
$mGL_FOG_BIT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FOG_BIT = 0x00000080

pattern $bGL_FOG_COLOR :: a
$mGL_FOG_COLOR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FOG_COLOR = 0x0B66

pattern $bGL_FOG_COORD :: a
$mGL_FOG_COORD :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FOG_COORD = 0x8451

pattern $bGL_FOG_COORDINATE :: a
$mGL_FOG_COORDINATE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FOG_COORDINATE = 0x8451

pattern $bGL_FOG_COORDINATE_ARRAY :: a
$mGL_FOG_COORDINATE_ARRAY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FOG_COORDINATE_ARRAY = 0x8457

pattern $bGL_FOG_COORDINATE_ARRAY_BUFFER_BINDING :: a
$mGL_FOG_COORDINATE_ARRAY_BUFFER_BINDING :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING = 0x889D

pattern $bGL_FOG_COORDINATE_ARRAY_POINTER :: a
$mGL_FOG_COORDINATE_ARRAY_POINTER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FOG_COORDINATE_ARRAY_POINTER = 0x8456

pattern $bGL_FOG_COORDINATE_ARRAY_STRIDE :: a
$mGL_FOG_COORDINATE_ARRAY_STRIDE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FOG_COORDINATE_ARRAY_STRIDE = 0x8455

pattern $bGL_FOG_COORDINATE_ARRAY_TYPE :: a
$mGL_FOG_COORDINATE_ARRAY_TYPE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FOG_COORDINATE_ARRAY_TYPE = 0x8454

pattern $bGL_FOG_COORDINATE_SOURCE :: a
$mGL_FOG_COORDINATE_SOURCE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FOG_COORDINATE_SOURCE = 0x8450

pattern $bGL_FOG_COORD_ARRAY :: a
$mGL_FOG_COORD_ARRAY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FOG_COORD_ARRAY = 0x8457

pattern $bGL_FOG_COORD_ARRAY_BUFFER_BINDING :: a
$mGL_FOG_COORD_ARRAY_BUFFER_BINDING :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FOG_COORD_ARRAY_BUFFER_BINDING = 0x889D

pattern $bGL_FOG_COORD_ARRAY_POINTER :: a
$mGL_FOG_COORD_ARRAY_POINTER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FOG_COORD_ARRAY_POINTER = 0x8456

pattern $bGL_FOG_COORD_ARRAY_STRIDE :: a
$mGL_FOG_COORD_ARRAY_STRIDE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FOG_COORD_ARRAY_STRIDE = 0x8455

pattern $bGL_FOG_COORD_ARRAY_TYPE :: a
$mGL_FOG_COORD_ARRAY_TYPE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FOG_COORD_ARRAY_TYPE = 0x8454

pattern $bGL_FOG_COORD_SRC :: a
$mGL_FOG_COORD_SRC :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FOG_COORD_SRC = 0x8450

pattern $bGL_FOG_DENSITY :: a
$mGL_FOG_DENSITY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FOG_DENSITY = 0x0B62

pattern $bGL_FOG_END :: a
$mGL_FOG_END :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FOG_END = 0x0B64

pattern $bGL_FOG_HINT :: a
$mGL_FOG_HINT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FOG_HINT = 0x0C54

pattern $bGL_FOG_INDEX :: a
$mGL_FOG_INDEX :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FOG_INDEX = 0x0B61

pattern $bGL_FOG_MODE :: a
$mGL_FOG_MODE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FOG_MODE = 0x0B65

pattern $bGL_FOG_START :: a
$mGL_FOG_START :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FOG_START = 0x0B63

pattern $bGL_FRAGMENT_DEPTH :: a
$mGL_FRAGMENT_DEPTH :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAGMENT_DEPTH = 0x8452

pattern $bGL_GENERATE_MIPMAP :: a
$mGL_GENERATE_MIPMAP :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_GENERATE_MIPMAP = 0x8191

pattern $bGL_GENERATE_MIPMAP_HINT :: a
$mGL_GENERATE_MIPMAP_HINT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_GENERATE_MIPMAP_HINT = 0x8192

pattern $bGL_GREEN_BIAS :: a
$mGL_GREEN_BIAS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_GREEN_BIAS = 0x0D19

pattern $bGL_GREEN_BITS :: a
$mGL_GREEN_BITS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_GREEN_BITS = 0x0D53

pattern $bGL_GREEN_SCALE :: a
$mGL_GREEN_SCALE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_GREEN_SCALE = 0x0D18

pattern $bGL_HINT_BIT :: a
$mGL_HINT_BIT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_HINT_BIT = 0x00008000

pattern $bGL_INDEX_ARRAY :: a
$mGL_INDEX_ARRAY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INDEX_ARRAY = 0x8077

pattern $bGL_INDEX_ARRAY_BUFFER_BINDING :: a
$mGL_INDEX_ARRAY_BUFFER_BINDING :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INDEX_ARRAY_BUFFER_BINDING = 0x8899

pattern $bGL_INDEX_ARRAY_POINTER :: a
$mGL_INDEX_ARRAY_POINTER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INDEX_ARRAY_POINTER = 0x8091

pattern $bGL_INDEX_ARRAY_STRIDE :: a
$mGL_INDEX_ARRAY_STRIDE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INDEX_ARRAY_STRIDE = 0x8086

pattern $bGL_INDEX_ARRAY_TYPE :: a
$mGL_INDEX_ARRAY_TYPE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INDEX_ARRAY_TYPE = 0x8085

pattern $bGL_INDEX_BITS :: a
$mGL_INDEX_BITS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INDEX_BITS = 0x0D51

pattern $bGL_INDEX_CLEAR_VALUE :: a
$mGL_INDEX_CLEAR_VALUE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INDEX_CLEAR_VALUE = 0x0C20

pattern $bGL_INDEX_LOGIC_OP :: a
$mGL_INDEX_LOGIC_OP :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INDEX_LOGIC_OP = 0x0BF1

pattern $bGL_INDEX_MODE :: a
$mGL_INDEX_MODE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INDEX_MODE = 0x0C30

pattern $bGL_INDEX_OFFSET :: a
$mGL_INDEX_OFFSET :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INDEX_OFFSET = 0x0D13

pattern $bGL_INDEX_SHIFT :: a
$mGL_INDEX_SHIFT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INDEX_SHIFT = 0x0D12

pattern $bGL_INDEX_WRITEMASK :: a
$mGL_INDEX_WRITEMASK :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INDEX_WRITEMASK = 0x0C21

pattern $bGL_INTENSITY :: a
$mGL_INTENSITY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INTENSITY = 0x8049

pattern $bGL_INTENSITY12 :: a
$mGL_INTENSITY12 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INTENSITY12 = 0x804C

pattern $bGL_INTENSITY16 :: a
$mGL_INTENSITY16 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INTENSITY16 = 0x804D

pattern $bGL_INTENSITY4 :: a
$mGL_INTENSITY4 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INTENSITY4 = 0x804A

pattern $bGL_INTENSITY8 :: a
$mGL_INTENSITY8 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INTENSITY8 = 0x804B

pattern $bGL_INTERPOLATE :: a
$mGL_INTERPOLATE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INTERPOLATE = 0x8575

pattern $bGL_LIGHT0 :: a
$mGL_LIGHT0 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LIGHT0 = 0x4000

pattern $bGL_LIGHT1 :: a
$mGL_LIGHT1 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LIGHT1 = 0x4001

pattern $bGL_LIGHT2 :: a
$mGL_LIGHT2 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LIGHT2 = 0x4002

pattern $bGL_LIGHT3 :: a
$mGL_LIGHT3 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LIGHT3 = 0x4003

pattern $bGL_LIGHT4 :: a
$mGL_LIGHT4 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LIGHT4 = 0x4004

pattern $bGL_LIGHT5 :: a
$mGL_LIGHT5 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LIGHT5 = 0x4005

pattern $bGL_LIGHT6 :: a
$mGL_LIGHT6 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LIGHT6 = 0x4006

pattern $bGL_LIGHT7 :: a
$mGL_LIGHT7 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LIGHT7 = 0x4007

pattern $bGL_LIGHTING :: a
$mGL_LIGHTING :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LIGHTING = 0x0B50

pattern $bGL_LIGHTING_BIT :: a
$mGL_LIGHTING_BIT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LIGHTING_BIT = 0x00000040

pattern $bGL_LIGHT_MODEL_AMBIENT :: a
$mGL_LIGHT_MODEL_AMBIENT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LIGHT_MODEL_AMBIENT = 0x0B53

pattern $bGL_LIGHT_MODEL_COLOR_CONTROL :: a
$mGL_LIGHT_MODEL_COLOR_CONTROL :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LIGHT_MODEL_COLOR_CONTROL = 0x81F8

pattern $bGL_LIGHT_MODEL_LOCAL_VIEWER :: a
$mGL_LIGHT_MODEL_LOCAL_VIEWER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LIGHT_MODEL_LOCAL_VIEWER = 0x0B51

pattern $bGL_LIGHT_MODEL_TWO_SIDE :: a
$mGL_LIGHT_MODEL_TWO_SIDE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LIGHT_MODEL_TWO_SIDE = 0x0B52

pattern $bGL_LINEAR_ATTENUATION :: a
$mGL_LINEAR_ATTENUATION :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LINEAR_ATTENUATION = 0x1208

pattern $bGL_LINE_BIT :: a
$mGL_LINE_BIT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LINE_BIT = 0x00000004

pattern $bGL_LINE_RESET_TOKEN :: a
$mGL_LINE_RESET_TOKEN :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LINE_RESET_TOKEN = 0x0707

pattern $bGL_LINE_STIPPLE :: a
$mGL_LINE_STIPPLE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LINE_STIPPLE = 0x0B24

pattern $bGL_LINE_STIPPLE_PATTERN :: a
$mGL_LINE_STIPPLE_PATTERN :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LINE_STIPPLE_PATTERN = 0x0B25

pattern $bGL_LINE_STIPPLE_REPEAT :: a
$mGL_LINE_STIPPLE_REPEAT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LINE_STIPPLE_REPEAT = 0x0B26

pattern $bGL_LINE_TOKEN :: a
$mGL_LINE_TOKEN :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LINE_TOKEN = 0x0702

pattern $bGL_LIST_BASE :: a
$mGL_LIST_BASE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LIST_BASE = 0x0B32

pattern $bGL_LIST_BIT :: a
$mGL_LIST_BIT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LIST_BIT = 0x00020000

pattern $bGL_LIST_INDEX :: a
$mGL_LIST_INDEX :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LIST_INDEX = 0x0B33

pattern $bGL_LIST_MODE :: a
$mGL_LIST_MODE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LIST_MODE = 0x0B30

pattern $bGL_LOAD :: a
$mGL_LOAD :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LOAD = 0x0101

pattern $bGL_LOGIC_OP :: a
$mGL_LOGIC_OP :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LOGIC_OP = 0x0BF1

pattern $bGL_LUMINANCE :: a
$mGL_LUMINANCE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LUMINANCE = 0x1909

pattern $bGL_LUMINANCE12 :: a
$mGL_LUMINANCE12 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LUMINANCE12 = 0x8041

pattern $bGL_LUMINANCE12_ALPHA12 :: a
$mGL_LUMINANCE12_ALPHA12 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LUMINANCE12_ALPHA12 = 0x8047

pattern $bGL_LUMINANCE12_ALPHA4 :: a
$mGL_LUMINANCE12_ALPHA4 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LUMINANCE12_ALPHA4 = 0x8046

pattern $bGL_LUMINANCE16 :: a
$mGL_LUMINANCE16 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LUMINANCE16 = 0x8042

pattern $bGL_LUMINANCE16_ALPHA16 :: a
$mGL_LUMINANCE16_ALPHA16 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LUMINANCE16_ALPHA16 = 0x8048

pattern $bGL_LUMINANCE4 :: a
$mGL_LUMINANCE4 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LUMINANCE4 = 0x803F

pattern $bGL_LUMINANCE4_ALPHA4 :: a
$mGL_LUMINANCE4_ALPHA4 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LUMINANCE4_ALPHA4 = 0x8043

pattern $bGL_LUMINANCE6_ALPHA2 :: a
$mGL_LUMINANCE6_ALPHA2 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LUMINANCE6_ALPHA2 = 0x8044

pattern $bGL_LUMINANCE8 :: a
$mGL_LUMINANCE8 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LUMINANCE8 = 0x8040

pattern $bGL_LUMINANCE8_ALPHA8 :: a
$mGL_LUMINANCE8_ALPHA8 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LUMINANCE8_ALPHA8 = 0x8045

pattern $bGL_LUMINANCE_ALPHA :: a
$mGL_LUMINANCE_ALPHA :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LUMINANCE_ALPHA = 0x190A

pattern $bGL_MAP1_COLOR_4 :: a
$mGL_MAP1_COLOR_4 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAP1_COLOR_4 = 0x0D90

pattern $bGL_MAP1_GRID_DOMAIN :: a
$mGL_MAP1_GRID_DOMAIN :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAP1_GRID_DOMAIN = 0x0DD0

pattern $bGL_MAP1_GRID_SEGMENTS :: a
$mGL_MAP1_GRID_SEGMENTS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAP1_GRID_SEGMENTS = 0x0DD1

pattern $bGL_MAP1_INDEX :: a
$mGL_MAP1_INDEX :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAP1_INDEX = 0x0D91

pattern $bGL_MAP1_NORMAL :: a
$mGL_MAP1_NORMAL :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAP1_NORMAL = 0x0D92

pattern $bGL_MAP1_TEXTURE_COORD_1 :: a
$mGL_MAP1_TEXTURE_COORD_1 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAP1_TEXTURE_COORD_1 = 0x0D93

pattern $bGL_MAP1_TEXTURE_COORD_2 :: a
$mGL_MAP1_TEXTURE_COORD_2 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAP1_TEXTURE_COORD_2 = 0x0D94

pattern $bGL_MAP1_TEXTURE_COORD_3 :: a
$mGL_MAP1_TEXTURE_COORD_3 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAP1_TEXTURE_COORD_3 = 0x0D95

pattern $bGL_MAP1_TEXTURE_COORD_4 :: a
$mGL_MAP1_TEXTURE_COORD_4 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAP1_TEXTURE_COORD_4 = 0x0D96

pattern $bGL_MAP1_VERTEX_3 :: a
$mGL_MAP1_VERTEX_3 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAP1_VERTEX_3 = 0x0D97

pattern $bGL_MAP1_VERTEX_4 :: a
$mGL_MAP1_VERTEX_4 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAP1_VERTEX_4 = 0x0D98

pattern $bGL_MAP2_COLOR_4 :: a
$mGL_MAP2_COLOR_4 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAP2_COLOR_4 = 0x0DB0

pattern $bGL_MAP2_GRID_DOMAIN :: a
$mGL_MAP2_GRID_DOMAIN :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAP2_GRID_DOMAIN = 0x0DD2

pattern $bGL_MAP2_GRID_SEGMENTS :: a
$mGL_MAP2_GRID_SEGMENTS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAP2_GRID_SEGMENTS = 0x0DD3

pattern $bGL_MAP2_INDEX :: a
$mGL_MAP2_INDEX :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAP2_INDEX = 0x0DB1

pattern $bGL_MAP2_NORMAL :: a
$mGL_MAP2_NORMAL :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAP2_NORMAL = 0x0DB2

pattern $bGL_MAP2_TEXTURE_COORD_1 :: a
$mGL_MAP2_TEXTURE_COORD_1 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAP2_TEXTURE_COORD_1 = 0x0DB3

pattern $bGL_MAP2_TEXTURE_COORD_2 :: a
$mGL_MAP2_TEXTURE_COORD_2 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAP2_TEXTURE_COORD_2 = 0x0DB4

pattern $bGL_MAP2_TEXTURE_COORD_3 :: a
$mGL_MAP2_TEXTURE_COORD_3 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAP2_TEXTURE_COORD_3 = 0x0DB5

pattern $bGL_MAP2_TEXTURE_COORD_4 :: a
$mGL_MAP2_TEXTURE_COORD_4 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAP2_TEXTURE_COORD_4 = 0x0DB6

pattern $bGL_MAP2_VERTEX_3 :: a
$mGL_MAP2_VERTEX_3 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAP2_VERTEX_3 = 0x0DB7

pattern $bGL_MAP2_VERTEX_4 :: a
$mGL_MAP2_VERTEX_4 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAP2_VERTEX_4 = 0x0DB8

pattern $bGL_MAP_COLOR :: a
$mGL_MAP_COLOR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAP_COLOR = 0x0D10

pattern $bGL_MAP_STENCIL :: a
$mGL_MAP_STENCIL :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAP_STENCIL = 0x0D11

pattern $bGL_MATRIX_MODE :: a
$mGL_MATRIX_MODE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MATRIX_MODE = 0x0BA0

pattern $bGL_MAX_ATTRIB_STACK_DEPTH :: a
$mGL_MAX_ATTRIB_STACK_DEPTH :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_ATTRIB_STACK_DEPTH = 0x0D35

pattern $bGL_MAX_CLIENT_ATTRIB_STACK_DEPTH :: a
$mGL_MAX_CLIENT_ATTRIB_STACK_DEPTH :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_CLIENT_ATTRIB_STACK_DEPTH = 0x0D3B

pattern $bGL_MAX_CLIP_PLANES :: a
$mGL_MAX_CLIP_PLANES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_CLIP_PLANES = 0x0D32

pattern $bGL_MAX_EVAL_ORDER :: a
$mGL_MAX_EVAL_ORDER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_EVAL_ORDER = 0x0D30

pattern $bGL_MAX_LIGHTS :: a
$mGL_MAX_LIGHTS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_LIGHTS = 0x0D31

pattern $bGL_MAX_LIST_NESTING :: a
$mGL_MAX_LIST_NESTING :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_LIST_NESTING = 0x0B31

pattern $bGL_MAX_MODELVIEW_STACK_DEPTH :: a
$mGL_MAX_MODELVIEW_STACK_DEPTH :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_MODELVIEW_STACK_DEPTH = 0x0D36

pattern $bGL_MAX_NAME_STACK_DEPTH :: a
$mGL_MAX_NAME_STACK_DEPTH :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_NAME_STACK_DEPTH = 0x0D37

pattern $bGL_MAX_PIXEL_MAP_TABLE :: a
$mGL_MAX_PIXEL_MAP_TABLE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_PIXEL_MAP_TABLE = 0x0D34

pattern $bGL_MAX_PROJECTION_STACK_DEPTH :: a
$mGL_MAX_PROJECTION_STACK_DEPTH :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_PROJECTION_STACK_DEPTH = 0x0D38

pattern $bGL_MAX_TEXTURE_COORDS :: a
$mGL_MAX_TEXTURE_COORDS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_TEXTURE_COORDS = 0x8871

pattern $bGL_MAX_TEXTURE_STACK_DEPTH :: a
$mGL_MAX_TEXTURE_STACK_DEPTH :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_TEXTURE_STACK_DEPTH = 0x0D39

pattern $bGL_MAX_TEXTURE_UNITS :: a
$mGL_MAX_TEXTURE_UNITS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_TEXTURE_UNITS = 0x84E2

pattern $bGL_MODELVIEW :: a
$mGL_MODELVIEW :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MODELVIEW = 0x1700

pattern $bGL_MODELVIEW_MATRIX :: a
$mGL_MODELVIEW_MATRIX :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MODELVIEW_MATRIX = 0x0BA6

pattern $bGL_MODELVIEW_STACK_DEPTH :: a
$mGL_MODELVIEW_STACK_DEPTH :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MODELVIEW_STACK_DEPTH = 0x0BA3

pattern $bGL_MODULATE :: a
$mGL_MODULATE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MODULATE = 0x2100

pattern $bGL_MULT :: a
$mGL_MULT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MULT = 0x0103

pattern $bGL_MULTISAMPLE_BIT :: a
$mGL_MULTISAMPLE_BIT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MULTISAMPLE_BIT = 0x20000000

pattern $bGL_N3F_V3F :: a
$mGL_N3F_V3F :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_N3F_V3F = 0x2A25

pattern $bGL_NAME_STACK_DEPTH :: a
$mGL_NAME_STACK_DEPTH :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_NAME_STACK_DEPTH = 0x0D70

pattern $bGL_NORMALIZE :: a
$mGL_NORMALIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_NORMALIZE = 0x0BA1

pattern $bGL_NORMAL_ARRAY :: a
$mGL_NORMAL_ARRAY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_NORMAL_ARRAY = 0x8075

pattern $bGL_NORMAL_ARRAY_BUFFER_BINDING :: a
$mGL_NORMAL_ARRAY_BUFFER_BINDING :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_NORMAL_ARRAY_BUFFER_BINDING = 0x8897

pattern $bGL_NORMAL_ARRAY_POINTER :: a
$mGL_NORMAL_ARRAY_POINTER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_NORMAL_ARRAY_POINTER = 0x808F

pattern $bGL_NORMAL_ARRAY_STRIDE :: a
$mGL_NORMAL_ARRAY_STRIDE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_NORMAL_ARRAY_STRIDE = 0x807F

pattern $bGL_NORMAL_ARRAY_TYPE :: a
$mGL_NORMAL_ARRAY_TYPE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_NORMAL_ARRAY_TYPE = 0x807E

pattern $bGL_NORMAL_MAP :: a
$mGL_NORMAL_MAP :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_NORMAL_MAP = 0x8511

pattern $bGL_OBJECT_LINEAR :: a
$mGL_OBJECT_LINEAR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_OBJECT_LINEAR = 0x2401

pattern $bGL_OBJECT_PLANE :: a
$mGL_OBJECT_PLANE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_OBJECT_PLANE = 0x2501

pattern $bGL_OPERAND0_ALPHA :: a
$mGL_OPERAND0_ALPHA :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_OPERAND0_ALPHA = 0x8598

pattern $bGL_OPERAND0_RGB :: a
$mGL_OPERAND0_RGB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_OPERAND0_RGB = 0x8590

pattern $bGL_OPERAND1_ALPHA :: a
$mGL_OPERAND1_ALPHA :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_OPERAND1_ALPHA = 0x8599

pattern $bGL_OPERAND1_RGB :: a
$mGL_OPERAND1_RGB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_OPERAND1_RGB = 0x8591

pattern $bGL_OPERAND2_ALPHA :: a
$mGL_OPERAND2_ALPHA :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_OPERAND2_ALPHA = 0x859A

pattern $bGL_OPERAND2_RGB :: a
$mGL_OPERAND2_RGB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_OPERAND2_RGB = 0x8592

pattern $bGL_ORDER :: a
$mGL_ORDER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ORDER = 0x0A01

pattern $bGL_PASS_THROUGH_TOKEN :: a
$mGL_PASS_THROUGH_TOKEN :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PASS_THROUGH_TOKEN = 0x0700

pattern $bGL_PERSPECTIVE_CORRECTION_HINT :: a
$mGL_PERSPECTIVE_CORRECTION_HINT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PERSPECTIVE_CORRECTION_HINT = 0x0C50

pattern $bGL_PIXEL_MAP_A_TO_A :: a
$mGL_PIXEL_MAP_A_TO_A :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PIXEL_MAP_A_TO_A = 0x0C79

pattern $bGL_PIXEL_MAP_A_TO_A_SIZE :: a
$mGL_PIXEL_MAP_A_TO_A_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PIXEL_MAP_A_TO_A_SIZE = 0x0CB9

pattern $bGL_PIXEL_MAP_B_TO_B :: a
$mGL_PIXEL_MAP_B_TO_B :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PIXEL_MAP_B_TO_B = 0x0C78

pattern $bGL_PIXEL_MAP_B_TO_B_SIZE :: a
$mGL_PIXEL_MAP_B_TO_B_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PIXEL_MAP_B_TO_B_SIZE = 0x0CB8

pattern $bGL_PIXEL_MAP_G_TO_G :: a
$mGL_PIXEL_MAP_G_TO_G :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PIXEL_MAP_G_TO_G = 0x0C77

pattern $bGL_PIXEL_MAP_G_TO_G_SIZE :: a
$mGL_PIXEL_MAP_G_TO_G_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PIXEL_MAP_G_TO_G_SIZE = 0x0CB7

pattern $bGL_PIXEL_MAP_I_TO_A :: a
$mGL_PIXEL_MAP_I_TO_A :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PIXEL_MAP_I_TO_A = 0x0C75

pattern $bGL_PIXEL_MAP_I_TO_A_SIZE :: a
$mGL_PIXEL_MAP_I_TO_A_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PIXEL_MAP_I_TO_A_SIZE = 0x0CB5

pattern $bGL_PIXEL_MAP_I_TO_B :: a
$mGL_PIXEL_MAP_I_TO_B :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PIXEL_MAP_I_TO_B = 0x0C74

pattern $bGL_PIXEL_MAP_I_TO_B_SIZE :: a
$mGL_PIXEL_MAP_I_TO_B_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PIXEL_MAP_I_TO_B_SIZE = 0x0CB4

pattern $bGL_PIXEL_MAP_I_TO_G :: a
$mGL_PIXEL_MAP_I_TO_G :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PIXEL_MAP_I_TO_G = 0x0C73

pattern $bGL_PIXEL_MAP_I_TO_G_SIZE :: a
$mGL_PIXEL_MAP_I_TO_G_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PIXEL_MAP_I_TO_G_SIZE = 0x0CB3

pattern $bGL_PIXEL_MAP_I_TO_I :: a
$mGL_PIXEL_MAP_I_TO_I :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PIXEL_MAP_I_TO_I = 0x0C70

pattern $bGL_PIXEL_MAP_I_TO_I_SIZE :: a
$mGL_PIXEL_MAP_I_TO_I_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PIXEL_MAP_I_TO_I_SIZE = 0x0CB0

pattern $bGL_PIXEL_MAP_I_TO_R :: a
$mGL_PIXEL_MAP_I_TO_R :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PIXEL_MAP_I_TO_R = 0x0C72

pattern $bGL_PIXEL_MAP_I_TO_R_SIZE :: a
$mGL_PIXEL_MAP_I_TO_R_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PIXEL_MAP_I_TO_R_SIZE = 0x0CB2

pattern $bGL_PIXEL_MAP_R_TO_R :: a
$mGL_PIXEL_MAP_R_TO_R :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PIXEL_MAP_R_TO_R = 0x0C76

pattern $bGL_PIXEL_MAP_R_TO_R_SIZE :: a
$mGL_PIXEL_MAP_R_TO_R_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PIXEL_MAP_R_TO_R_SIZE = 0x0CB6

pattern $bGL_PIXEL_MAP_S_TO_S :: a
$mGL_PIXEL_MAP_S_TO_S :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PIXEL_MAP_S_TO_S = 0x0C71

pattern $bGL_PIXEL_MAP_S_TO_S_SIZE :: a
$mGL_PIXEL_MAP_S_TO_S_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PIXEL_MAP_S_TO_S_SIZE = 0x0CB1

pattern $bGL_PIXEL_MODE_BIT :: a
$mGL_PIXEL_MODE_BIT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PIXEL_MODE_BIT = 0x00000020

pattern $bGL_POINT_BIT :: a
$mGL_POINT_BIT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_POINT_BIT = 0x00000002

pattern $bGL_POINT_DISTANCE_ATTENUATION :: a
$mGL_POINT_DISTANCE_ATTENUATION :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_POINT_DISTANCE_ATTENUATION = 0x8129

pattern $bGL_POINT_SIZE_MAX :: a
$mGL_POINT_SIZE_MAX :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_POINT_SIZE_MAX = 0x8127

pattern $bGL_POINT_SIZE_MIN :: a
$mGL_POINT_SIZE_MIN :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_POINT_SIZE_MIN = 0x8126

pattern $bGL_POINT_SMOOTH :: a
$mGL_POINT_SMOOTH :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_POINT_SMOOTH = 0x0B10

pattern $bGL_POINT_SMOOTH_HINT :: a
$mGL_POINT_SMOOTH_HINT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_POINT_SMOOTH_HINT = 0x0C51

pattern $bGL_POINT_SPRITE :: a
$mGL_POINT_SPRITE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_POINT_SPRITE = 0x8861

pattern $bGL_POINT_TOKEN :: a
$mGL_POINT_TOKEN :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_POINT_TOKEN = 0x0701

pattern $bGL_POLYGON :: a
$mGL_POLYGON :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_POLYGON = 0x0009

pattern $bGL_POLYGON_BIT :: a
$mGL_POLYGON_BIT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_POLYGON_BIT = 0x00000008

pattern $bGL_POLYGON_STIPPLE :: a
$mGL_POLYGON_STIPPLE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_POLYGON_STIPPLE = 0x0B42

pattern $bGL_POLYGON_STIPPLE_BIT :: a
$mGL_POLYGON_STIPPLE_BIT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_POLYGON_STIPPLE_BIT = 0x00000010

pattern $bGL_POLYGON_TOKEN :: a
$mGL_POLYGON_TOKEN :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_POLYGON_TOKEN = 0x0703

pattern $bGL_POSITION :: a
$mGL_POSITION :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_POSITION = 0x1203

pattern $bGL_PREVIOUS :: a
$mGL_PREVIOUS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PREVIOUS = 0x8578

pattern $bGL_PRIMARY_COLOR :: a
$mGL_PRIMARY_COLOR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PRIMARY_COLOR = 0x8577

pattern $bGL_PROJECTION :: a
$mGL_PROJECTION :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PROJECTION = 0x1701

pattern $bGL_PROJECTION_MATRIX :: a
$mGL_PROJECTION_MATRIX :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PROJECTION_MATRIX = 0x0BA7

pattern $bGL_PROJECTION_STACK_DEPTH :: a
$mGL_PROJECTION_STACK_DEPTH :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PROJECTION_STACK_DEPTH = 0x0BA4

pattern $bGL_Q :: a
$mGL_Q :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_Q = 0x2003

pattern $bGL_QUADRATIC_ATTENUATION :: a
$mGL_QUADRATIC_ATTENUATION :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_QUADRATIC_ATTENUATION = 0x1209

pattern $bGL_QUADS :: a
$mGL_QUADS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_QUADS = 0x0007

pattern $bGL_QUAD_STRIP :: a
$mGL_QUAD_STRIP :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_QUAD_STRIP = 0x0008

pattern $bGL_R :: a
$mGL_R :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_R = 0x2002

pattern $bGL_RED_BIAS :: a
$mGL_RED_BIAS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RED_BIAS = 0x0D15

pattern $bGL_RED_BITS :: a
$mGL_RED_BITS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RED_BITS = 0x0D52

pattern $bGL_RED_SCALE :: a
$mGL_RED_SCALE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RED_SCALE = 0x0D14

pattern $bGL_REFLECTION_MAP :: a
$mGL_REFLECTION_MAP :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_REFLECTION_MAP = 0x8512

pattern $bGL_RENDER :: a
$mGL_RENDER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RENDER = 0x1C00

pattern $bGL_RENDER_MODE :: a
$mGL_RENDER_MODE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RENDER_MODE = 0x0C40

pattern $bGL_RESCALE_NORMAL :: a
$mGL_RESCALE_NORMAL :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RESCALE_NORMAL = 0x803A

pattern $bGL_RETURN :: a
$mGL_RETURN :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RETURN = 0x0102

pattern $bGL_RGBA_MODE :: a
$mGL_RGBA_MODE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGBA_MODE = 0x0C31

pattern $bGL_RGB_SCALE :: a
$mGL_RGB_SCALE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGB_SCALE = 0x8573

pattern $bGL_S :: a
$mGL_S :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_S = 0x2000

pattern $bGL_SCISSOR_BIT :: a
$mGL_SCISSOR_BIT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SCISSOR_BIT = 0x00080000

pattern $bGL_SECONDARY_COLOR_ARRAY :: a
$mGL_SECONDARY_COLOR_ARRAY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SECONDARY_COLOR_ARRAY = 0x845E

pattern $bGL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING :: a
$mGL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING = 0x889C

pattern $bGL_SECONDARY_COLOR_ARRAY_POINTER :: a
$mGL_SECONDARY_COLOR_ARRAY_POINTER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SECONDARY_COLOR_ARRAY_POINTER = 0x845D

pattern $bGL_SECONDARY_COLOR_ARRAY_SIZE :: a
$mGL_SECONDARY_COLOR_ARRAY_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SECONDARY_COLOR_ARRAY_SIZE = 0x845A

pattern $bGL_SECONDARY_COLOR_ARRAY_STRIDE :: a
$mGL_SECONDARY_COLOR_ARRAY_STRIDE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SECONDARY_COLOR_ARRAY_STRIDE = 0x845C

pattern $bGL_SECONDARY_COLOR_ARRAY_TYPE :: a
$mGL_SECONDARY_COLOR_ARRAY_TYPE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SECONDARY_COLOR_ARRAY_TYPE = 0x845B

pattern $bGL_SELECT :: a
$mGL_SELECT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SELECT = 0x1C02

pattern $bGL_SELECTION_BUFFER_POINTER :: a
$mGL_SELECTION_BUFFER_POINTER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SELECTION_BUFFER_POINTER = 0x0DF3

pattern $bGL_SELECTION_BUFFER_SIZE :: a
$mGL_SELECTION_BUFFER_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SELECTION_BUFFER_SIZE = 0x0DF4

pattern $bGL_SEPARATE_SPECULAR_COLOR :: a
$mGL_SEPARATE_SPECULAR_COLOR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SEPARATE_SPECULAR_COLOR = 0x81FA

pattern $bGL_SHADE_MODEL :: a
$mGL_SHADE_MODEL :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SHADE_MODEL = 0x0B54

pattern $bGL_SHININESS :: a
$mGL_SHININESS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SHININESS = 0x1601

pattern $bGL_SINGLE_COLOR :: a
$mGL_SINGLE_COLOR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SINGLE_COLOR = 0x81F9

pattern $bGL_SLUMINANCE :: a
$mGL_SLUMINANCE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SLUMINANCE = 0x8C46

pattern $bGL_SLUMINANCE8 :: a
$mGL_SLUMINANCE8 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SLUMINANCE8 = 0x8C47

pattern $bGL_SLUMINANCE8_ALPHA8 :: a
$mGL_SLUMINANCE8_ALPHA8 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SLUMINANCE8_ALPHA8 = 0x8C45

pattern $bGL_SLUMINANCE_ALPHA :: a
$mGL_SLUMINANCE_ALPHA :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SLUMINANCE_ALPHA = 0x8C44

pattern $bGL_SMOOTH :: a
$mGL_SMOOTH :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SMOOTH = 0x1D01

pattern $bGL_SOURCE0_ALPHA :: a
$mGL_SOURCE0_ALPHA :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SOURCE0_ALPHA = 0x8588

pattern $bGL_SOURCE0_RGB :: a
$mGL_SOURCE0_RGB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SOURCE0_RGB = 0x8580

pattern $bGL_SOURCE1_ALPHA :: a
$mGL_SOURCE1_ALPHA :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SOURCE1_ALPHA = 0x8589

pattern $bGL_SOURCE1_RGB :: a
$mGL_SOURCE1_RGB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SOURCE1_RGB = 0x8581

pattern $bGL_SOURCE2_ALPHA :: a
$mGL_SOURCE2_ALPHA :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SOURCE2_ALPHA = 0x858A

pattern $bGL_SOURCE2_RGB :: a
$mGL_SOURCE2_RGB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SOURCE2_RGB = 0x8582

pattern $bGL_SPECULAR :: a
$mGL_SPECULAR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SPECULAR = 0x1202

pattern $bGL_SPHERE_MAP :: a
$mGL_SPHERE_MAP :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SPHERE_MAP = 0x2402

pattern $bGL_SPOT_CUTOFF :: a
$mGL_SPOT_CUTOFF :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SPOT_CUTOFF = 0x1206

pattern $bGL_SPOT_DIRECTION :: a
$mGL_SPOT_DIRECTION :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SPOT_DIRECTION = 0x1204

pattern $bGL_SPOT_EXPONENT :: a
$mGL_SPOT_EXPONENT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SPOT_EXPONENT = 0x1205

pattern $bGL_SRC0_ALPHA :: a
$mGL_SRC0_ALPHA :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SRC0_ALPHA = 0x8588

pattern $bGL_SRC0_RGB :: a
$mGL_SRC0_RGB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SRC0_RGB = 0x8580

pattern $bGL_SRC1_RGB :: a
$mGL_SRC1_RGB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SRC1_RGB = 0x8581

pattern $bGL_SRC2_ALPHA :: a
$mGL_SRC2_ALPHA :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SRC2_ALPHA = 0x858A

pattern $bGL_SRC2_RGB :: a
$mGL_SRC2_RGB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SRC2_RGB = 0x8582

pattern $bGL_STACK_OVERFLOW :: a
$mGL_STACK_OVERFLOW :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_STACK_OVERFLOW = 0x0503

pattern $bGL_STACK_UNDERFLOW :: a
$mGL_STACK_UNDERFLOW :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_STACK_UNDERFLOW = 0x0504

pattern $bGL_STENCIL_BITS :: a
$mGL_STENCIL_BITS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_STENCIL_BITS = 0x0D57

pattern $bGL_SUBTRACT :: a
$mGL_SUBTRACT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SUBTRACT = 0x84E7

pattern $bGL_T :: a
$mGL_T :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_T = 0x2001

pattern $bGL_T2F_C3F_V3F :: a
$mGL_T2F_C3F_V3F :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_T2F_C3F_V3F = 0x2A2A

pattern $bGL_T2F_C4F_N3F_V3F :: a
$mGL_T2F_C4F_N3F_V3F :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_T2F_C4F_N3F_V3F = 0x2A2C

pattern $bGL_T2F_C4UB_V3F :: a
$mGL_T2F_C4UB_V3F :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_T2F_C4UB_V3F = 0x2A29

pattern $bGL_T2F_N3F_V3F :: a
$mGL_T2F_N3F_V3F :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_T2F_N3F_V3F = 0x2A2B

pattern $bGL_T2F_V3F :: a
$mGL_T2F_V3F :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_T2F_V3F = 0x2A27

pattern $bGL_T4F_C4F_N3F_V4F :: a
$mGL_T4F_C4F_N3F_V4F :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_T4F_C4F_N3F_V4F = 0x2A2D

pattern $bGL_T4F_V4F :: a
$mGL_T4F_V4F :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_T4F_V4F = 0x2A28

pattern $bGL_TEXTURE_BIT :: a
$mGL_TEXTURE_BIT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_BIT = 0x00040000

pattern $bGL_TEXTURE_BORDER :: a
$mGL_TEXTURE_BORDER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_BORDER = 0x1005

pattern $bGL_TEXTURE_COMPONENTS :: a
$mGL_TEXTURE_COMPONENTS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_COMPONENTS = 0x1003

pattern $bGL_TEXTURE_COORD_ARRAY :: a
$mGL_TEXTURE_COORD_ARRAY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_COORD_ARRAY = 0x8078

pattern $bGL_TEXTURE_COORD_ARRAY_BUFFER_BINDING :: a
$mGL_TEXTURE_COORD_ARRAY_BUFFER_BINDING :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING = 0x889A

pattern $bGL_TEXTURE_COORD_ARRAY_POINTER :: a
$mGL_TEXTURE_COORD_ARRAY_POINTER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_COORD_ARRAY_POINTER = 0x8092

pattern $bGL_TEXTURE_COORD_ARRAY_SIZE :: a
$mGL_TEXTURE_COORD_ARRAY_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_COORD_ARRAY_SIZE = 0x8088

pattern $bGL_TEXTURE_COORD_ARRAY_STRIDE :: a
$mGL_TEXTURE_COORD_ARRAY_STRIDE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_COORD_ARRAY_STRIDE = 0x808A

pattern $bGL_TEXTURE_COORD_ARRAY_TYPE :: a
$mGL_TEXTURE_COORD_ARRAY_TYPE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_COORD_ARRAY_TYPE = 0x8089

pattern $bGL_TEXTURE_ENV :: a
$mGL_TEXTURE_ENV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_ENV = 0x2300

pattern $bGL_TEXTURE_ENV_COLOR :: a
$mGL_TEXTURE_ENV_COLOR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_ENV_COLOR = 0x2201

pattern $bGL_TEXTURE_ENV_MODE :: a
$mGL_TEXTURE_ENV_MODE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_ENV_MODE = 0x2200

pattern $bGL_TEXTURE_FILTER_CONTROL :: a
$mGL_TEXTURE_FILTER_CONTROL :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_FILTER_CONTROL = 0x8500

pattern $bGL_TEXTURE_GEN_MODE :: a
$mGL_TEXTURE_GEN_MODE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_GEN_MODE = 0x2500

pattern $bGL_TEXTURE_GEN_Q :: a
$mGL_TEXTURE_GEN_Q :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_GEN_Q = 0x0C63

pattern $bGL_TEXTURE_GEN_R :: a
$mGL_TEXTURE_GEN_R :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_GEN_R = 0x0C62

pattern $bGL_TEXTURE_GEN_S :: a
$mGL_TEXTURE_GEN_S :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_GEN_S = 0x0C60

pattern $bGL_TEXTURE_GEN_T :: a
$mGL_TEXTURE_GEN_T :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_GEN_T = 0x0C61

pattern $bGL_TEXTURE_INTENSITY_SIZE :: a
$mGL_TEXTURE_INTENSITY_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_INTENSITY_SIZE = 0x8061

pattern $bGL_TEXTURE_INTENSITY_TYPE :: a
$mGL_TEXTURE_INTENSITY_TYPE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_INTENSITY_TYPE = 0x8C15

pattern $bGL_TEXTURE_LUMINANCE_SIZE :: a
$mGL_TEXTURE_LUMINANCE_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_LUMINANCE_SIZE = 0x8060

pattern $bGL_TEXTURE_LUMINANCE_TYPE :: a
$mGL_TEXTURE_LUMINANCE_TYPE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_LUMINANCE_TYPE = 0x8C14

pattern $bGL_TEXTURE_MATRIX :: a
$mGL_TEXTURE_MATRIX :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_MATRIX = 0x0BA8

pattern $bGL_TEXTURE_PRIORITY :: a
$mGL_TEXTURE_PRIORITY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_PRIORITY = 0x8066

pattern $bGL_TEXTURE_RESIDENT :: a
$mGL_TEXTURE_RESIDENT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_RESIDENT = 0x8067

pattern $bGL_TEXTURE_STACK_DEPTH :: a
$mGL_TEXTURE_STACK_DEPTH :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_STACK_DEPTH = 0x0BA5

pattern $bGL_TRANSFORM_BIT :: a
$mGL_TRANSFORM_BIT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TRANSFORM_BIT = 0x00001000

pattern $bGL_TRANSPOSE_COLOR_MATRIX :: a
$mGL_TRANSPOSE_COLOR_MATRIX :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TRANSPOSE_COLOR_MATRIX = 0x84E6

pattern $bGL_TRANSPOSE_MODELVIEW_MATRIX :: a
$mGL_TRANSPOSE_MODELVIEW_MATRIX :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TRANSPOSE_MODELVIEW_MATRIX = 0x84E3

pattern $bGL_TRANSPOSE_PROJECTION_MATRIX :: a
$mGL_TRANSPOSE_PROJECTION_MATRIX :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TRANSPOSE_PROJECTION_MATRIX = 0x84E4

pattern $bGL_TRANSPOSE_TEXTURE_MATRIX :: a
$mGL_TRANSPOSE_TEXTURE_MATRIX :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TRANSPOSE_TEXTURE_MATRIX = 0x84E5

pattern $bGL_V2F :: a
$mGL_V2F :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_V2F = 0x2A20

pattern $bGL_V3F :: a
$mGL_V3F :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_V3F = 0x2A21

pattern $bGL_VERTEX_ARRAY :: a
$mGL_VERTEX_ARRAY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_ARRAY = 0x8074

pattern $bGL_VERTEX_ARRAY_BUFFER_BINDING :: a
$mGL_VERTEX_ARRAY_BUFFER_BINDING :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_ARRAY_BUFFER_BINDING = 0x8896

pattern $bGL_VERTEX_ARRAY_POINTER :: a
$mGL_VERTEX_ARRAY_POINTER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_ARRAY_POINTER = 0x808E

pattern $bGL_VERTEX_ARRAY_SIZE :: a
$mGL_VERTEX_ARRAY_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_ARRAY_SIZE = 0x807A

pattern $bGL_VERTEX_ARRAY_STRIDE :: a
$mGL_VERTEX_ARRAY_STRIDE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_ARRAY_STRIDE = 0x807C

pattern $bGL_VERTEX_ARRAY_TYPE :: a
$mGL_VERTEX_ARRAY_TYPE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_ARRAY_TYPE = 0x807B

pattern $bGL_VERTEX_PROGRAM_TWO_SIDE :: a
$mGL_VERTEX_PROGRAM_TWO_SIDE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_PROGRAM_TWO_SIDE = 0x8643

pattern $bGL_VIEWPORT_BIT :: a
$mGL_VIEWPORT_BIT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VIEWPORT_BIT = 0x00000800

pattern $bGL_WEIGHT_ARRAY_BUFFER_BINDING :: a
$mGL_WEIGHT_ARRAY_BUFFER_BINDING :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_WEIGHT_ARRAY_BUFFER_BINDING = 0x889E

pattern $bGL_ZOOM_X :: a
$mGL_ZOOM_X :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ZOOM_X = 0x0D16

pattern $bGL_ZOOM_Y :: a
$mGL_ZOOM_Y :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ZOOM_Y = 0x0D17

-- | Usage: @'glColorP3ui' type color@


glColorP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glColorP3ui :: GLenum -> GLenum -> m ()
glColorP3ui = FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
ffienumuintIOV FunPtr (GLenum -> GLenum -> IO ())
glColorP3uiFunPtr

glColorP3uiFunPtr :: FunPtr (GLenum -> GLuint -> IO ())
glColorP3uiFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glColorP3uiFunPtr = IO (FunPtr (GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glColorP3ui")

{-# NOINLINE glColorP3uiFunPtr #-}

-- | Usage: @'glColorP3uiv' type color@
--
-- The length of @color@ should be @1@.


glColorP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glColorP3uiv :: GLenum -> Ptr GLenum -> m ()
glColorP3uiv = FunPtr (GLenum -> Ptr GLenum -> IO ())
-> GLenum -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLenum -> IO ())
-> GLenum -> Ptr GLenum -> m ()
ffienumPtruintIOV FunPtr (GLenum -> Ptr GLenum -> IO ())
glColorP3uivFunPtr

glColorP3uivFunPtr :: FunPtr (GLenum -> Ptr GLuint -> IO ())
glColorP3uivFunPtr :: FunPtr (GLenum -> Ptr GLenum -> IO ())
glColorP3uivFunPtr = IO (FunPtr (GLenum -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glColorP3uiv")

{-# NOINLINE glColorP3uivFunPtr #-}

-- | Usage: @'glColorP4ui' type color@


glColorP4ui :: MonadIO m => GLenum -> GLuint -> m ()
glColorP4ui :: GLenum -> GLenum -> m ()
glColorP4ui = FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
ffienumuintIOV FunPtr (GLenum -> GLenum -> IO ())
glColorP4uiFunPtr

glColorP4uiFunPtr :: FunPtr (GLenum -> GLuint -> IO ())
glColorP4uiFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glColorP4uiFunPtr = IO (FunPtr (GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glColorP4ui")

{-# NOINLINE glColorP4uiFunPtr #-}

-- | Usage: @'glColorP4uiv' type color@
--
-- The length of @color@ should be @1@.


glColorP4uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glColorP4uiv :: GLenum -> Ptr GLenum -> m ()
glColorP4uiv = FunPtr (GLenum -> Ptr GLenum -> IO ())
-> GLenum -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLenum -> IO ())
-> GLenum -> Ptr GLenum -> m ()
ffienumPtruintIOV FunPtr (GLenum -> Ptr GLenum -> IO ())
glColorP4uivFunPtr

glColorP4uivFunPtr :: FunPtr (GLenum -> Ptr GLuint -> IO ())
glColorP4uivFunPtr :: FunPtr (GLenum -> Ptr GLenum -> IO ())
glColorP4uivFunPtr = IO (FunPtr (GLenum -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glColorP4uiv")

{-# NOINLINE glColorP4uivFunPtr #-}

-- | Usage: @'glMultiTexCoordP1ui' texture type coords@


glMultiTexCoordP1ui :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()
glMultiTexCoordP1ui :: GLenum -> GLenum -> GLenum -> m ()
glMultiTexCoordP1ui = FunPtr (GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> m ()
ffienumenumuintIOV FunPtr (GLenum -> GLenum -> GLenum -> IO ())
glMultiTexCoordP1uiFunPtr

glMultiTexCoordP1uiFunPtr :: FunPtr (GLenum -> GLenum -> GLuint -> IO ())
glMultiTexCoordP1uiFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> IO ())
glMultiTexCoordP1uiFunPtr = IO (FunPtr (GLenum -> GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMultiTexCoordP1ui")

{-# NOINLINE glMultiTexCoordP1uiFunPtr #-}

-- | Usage: @'glMultiTexCoordP1uiv' texture type coords@
--
-- The length of @coords@ should be @1@.


glMultiTexCoordP1uiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()
glMultiTexCoordP1uiv :: GLenum -> GLenum -> Ptr GLenum -> m ()
glMultiTexCoordP1uiv = FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
-> GLenum -> GLenum -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
-> GLenum -> GLenum -> Ptr GLenum -> m ()
ffienumenumPtruintIOV FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
glMultiTexCoordP1uivFunPtr

glMultiTexCoordP1uivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLuint -> IO ())
glMultiTexCoordP1uivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
glMultiTexCoordP1uivFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMultiTexCoordP1uiv")

{-# NOINLINE glMultiTexCoordP1uivFunPtr #-}

-- | Usage: @'glMultiTexCoordP2ui' texture type coords@


glMultiTexCoordP2ui :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()
glMultiTexCoordP2ui :: GLenum -> GLenum -> GLenum -> m ()
glMultiTexCoordP2ui = FunPtr (GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> m ()
ffienumenumuintIOV FunPtr (GLenum -> GLenum -> GLenum -> IO ())
glMultiTexCoordP2uiFunPtr

glMultiTexCoordP2uiFunPtr :: FunPtr (GLenum -> GLenum -> GLuint -> IO ())
glMultiTexCoordP2uiFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> IO ())
glMultiTexCoordP2uiFunPtr = IO (FunPtr (GLenum -> GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMultiTexCoordP2ui")

{-# NOINLINE glMultiTexCoordP2uiFunPtr #-}

-- | Usage: @'glMultiTexCoordP2uiv' texture type coords@
--
-- The length of @coords@ should be @1@.


glMultiTexCoordP2uiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()
glMultiTexCoordP2uiv :: GLenum -> GLenum -> Ptr GLenum -> m ()
glMultiTexCoordP2uiv = FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
-> GLenum -> GLenum -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
-> GLenum -> GLenum -> Ptr GLenum -> m ()
ffienumenumPtruintIOV FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
glMultiTexCoordP2uivFunPtr

glMultiTexCoordP2uivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLuint -> IO ())
glMultiTexCoordP2uivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
glMultiTexCoordP2uivFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMultiTexCoordP2uiv")

{-# NOINLINE glMultiTexCoordP2uivFunPtr #-}

-- | Usage: @'glMultiTexCoordP3ui' texture type coords@


glMultiTexCoordP3ui :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()
glMultiTexCoordP3ui :: GLenum -> GLenum -> GLenum -> m ()
glMultiTexCoordP3ui = FunPtr (GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> m ()
ffienumenumuintIOV FunPtr (GLenum -> GLenum -> GLenum -> IO ())
glMultiTexCoordP3uiFunPtr

glMultiTexCoordP3uiFunPtr :: FunPtr (GLenum -> GLenum -> GLuint -> IO ())
glMultiTexCoordP3uiFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> IO ())
glMultiTexCoordP3uiFunPtr = IO (FunPtr (GLenum -> GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMultiTexCoordP3ui")

{-# NOINLINE glMultiTexCoordP3uiFunPtr #-}

-- | Usage: @'glMultiTexCoordP3uiv' texture type coords@
--
-- The length of @coords@ should be @1@.


glMultiTexCoordP3uiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()
glMultiTexCoordP3uiv :: GLenum -> GLenum -> Ptr GLenum -> m ()
glMultiTexCoordP3uiv = FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
-> GLenum -> GLenum -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
-> GLenum -> GLenum -> Ptr GLenum -> m ()
ffienumenumPtruintIOV FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
glMultiTexCoordP3uivFunPtr

glMultiTexCoordP3uivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLuint -> IO ())
glMultiTexCoordP3uivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
glMultiTexCoordP3uivFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMultiTexCoordP3uiv")

{-# NOINLINE glMultiTexCoordP3uivFunPtr #-}

-- | Usage: @'glMultiTexCoordP4ui' texture type coords@


glMultiTexCoordP4ui :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()
glMultiTexCoordP4ui :: GLenum -> GLenum -> GLenum -> m ()
glMultiTexCoordP4ui = FunPtr (GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> m ()
ffienumenumuintIOV FunPtr (GLenum -> GLenum -> GLenum -> IO ())
glMultiTexCoordP4uiFunPtr

glMultiTexCoordP4uiFunPtr :: FunPtr (GLenum -> GLenum -> GLuint -> IO ())
glMultiTexCoordP4uiFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> IO ())
glMultiTexCoordP4uiFunPtr = IO (FunPtr (GLenum -> GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMultiTexCoordP4ui")

{-# NOINLINE glMultiTexCoordP4uiFunPtr #-}

-- | Usage: @'glMultiTexCoordP4uiv' texture type coords@
--
-- The length of @coords@ should be @1@.


glMultiTexCoordP4uiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()
glMultiTexCoordP4uiv :: GLenum -> GLenum -> Ptr GLenum -> m ()
glMultiTexCoordP4uiv = FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
-> GLenum -> GLenum -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
-> GLenum -> GLenum -> Ptr GLenum -> m ()
ffienumenumPtruintIOV FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
glMultiTexCoordP4uivFunPtr

glMultiTexCoordP4uivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLuint -> IO ())
glMultiTexCoordP4uivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
glMultiTexCoordP4uivFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMultiTexCoordP4uiv")

{-# NOINLINE glMultiTexCoordP4uivFunPtr #-}

-- | Usage: @'glNormalP3ui' type coords@


glNormalP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glNormalP3ui :: GLenum -> GLenum -> m ()
glNormalP3ui = FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
ffienumuintIOV FunPtr (GLenum -> GLenum -> IO ())
glNormalP3uiFunPtr

glNormalP3uiFunPtr :: FunPtr (GLenum -> GLuint -> IO ())
glNormalP3uiFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glNormalP3uiFunPtr = IO (FunPtr (GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glNormalP3ui")

{-# NOINLINE glNormalP3uiFunPtr #-}

-- | Usage: @'glNormalP3uiv' type coords@
--
-- The length of @coords@ should be @1@.


glNormalP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glNormalP3uiv :: GLenum -> Ptr GLenum -> m ()
glNormalP3uiv = FunPtr (GLenum -> Ptr GLenum -> IO ())
-> GLenum -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLenum -> IO ())
-> GLenum -> Ptr GLenum -> m ()
ffienumPtruintIOV FunPtr (GLenum -> Ptr GLenum -> IO ())
glNormalP3uivFunPtr

glNormalP3uivFunPtr :: FunPtr (GLenum -> Ptr GLuint -> IO ())
glNormalP3uivFunPtr :: FunPtr (GLenum -> Ptr GLenum -> IO ())
glNormalP3uivFunPtr = IO (FunPtr (GLenum -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glNormalP3uiv")

{-# NOINLINE glNormalP3uivFunPtr #-}

-- | Usage: @'glSecondaryColorP3ui' type color@


glSecondaryColorP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glSecondaryColorP3ui :: GLenum -> GLenum -> m ()
glSecondaryColorP3ui = FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
ffienumuintIOV FunPtr (GLenum -> GLenum -> IO ())
glSecondaryColorP3uiFunPtr

glSecondaryColorP3uiFunPtr :: FunPtr (GLenum -> GLuint -> IO ())
glSecondaryColorP3uiFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glSecondaryColorP3uiFunPtr = IO (FunPtr (GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glSecondaryColorP3ui")

{-# NOINLINE glSecondaryColorP3uiFunPtr #-}

-- | Usage: @'glSecondaryColorP3uiv' type color@
--
-- The length of @color@ should be @1@.


glSecondaryColorP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glSecondaryColorP3uiv :: GLenum -> Ptr GLenum -> m ()
glSecondaryColorP3uiv = FunPtr (GLenum -> Ptr GLenum -> IO ())
-> GLenum -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLenum -> IO ())
-> GLenum -> Ptr GLenum -> m ()
ffienumPtruintIOV FunPtr (GLenum -> Ptr GLenum -> IO ())
glSecondaryColorP3uivFunPtr

glSecondaryColorP3uivFunPtr :: FunPtr (GLenum -> Ptr GLuint -> IO ())
glSecondaryColorP3uivFunPtr :: FunPtr (GLenum -> Ptr GLenum -> IO ())
glSecondaryColorP3uivFunPtr = IO (FunPtr (GLenum -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glSecondaryColorP3uiv")

{-# NOINLINE glSecondaryColorP3uivFunPtr #-}

-- | Usage: @'glTexCoordP1ui' type coords@


glTexCoordP1ui :: MonadIO m => GLenum -> GLuint -> m ()
glTexCoordP1ui :: GLenum -> GLenum -> m ()
glTexCoordP1ui = FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
ffienumuintIOV FunPtr (GLenum -> GLenum -> IO ())
glTexCoordP1uiFunPtr

glTexCoordP1uiFunPtr :: FunPtr (GLenum -> GLuint -> IO ())
glTexCoordP1uiFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glTexCoordP1uiFunPtr = IO (FunPtr (GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexCoordP1ui")

{-# NOINLINE glTexCoordP1uiFunPtr #-}

-- | Usage: @'glTexCoordP1uiv' type coords@
--
-- The length of @coords@ should be @1@.


glTexCoordP1uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glTexCoordP1uiv :: GLenum -> Ptr GLenum -> m ()
glTexCoordP1uiv = FunPtr (GLenum -> Ptr GLenum -> IO ())
-> GLenum -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLenum -> IO ())
-> GLenum -> Ptr GLenum -> m ()
ffienumPtruintIOV FunPtr (GLenum -> Ptr GLenum -> IO ())
glTexCoordP1uivFunPtr

glTexCoordP1uivFunPtr :: FunPtr (GLenum -> Ptr GLuint -> IO ())
glTexCoordP1uivFunPtr :: FunPtr (GLenum -> Ptr GLenum -> IO ())
glTexCoordP1uivFunPtr = IO (FunPtr (GLenum -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexCoordP1uiv")

{-# NOINLINE glTexCoordP1uivFunPtr #-}

-- | Usage: @'glTexCoordP2ui' type coords@


glTexCoordP2ui :: MonadIO m => GLenum -> GLuint -> m ()
glTexCoordP2ui :: GLenum -> GLenum -> m ()
glTexCoordP2ui = FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
ffienumuintIOV FunPtr (GLenum -> GLenum -> IO ())
glTexCoordP2uiFunPtr

glTexCoordP2uiFunPtr :: FunPtr (GLenum -> GLuint -> IO ())
glTexCoordP2uiFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glTexCoordP2uiFunPtr = IO (FunPtr (GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexCoordP2ui")

{-# NOINLINE glTexCoordP2uiFunPtr #-}

-- | Usage: @'glTexCoordP2uiv' type coords@
--
-- The length of @coords@ should be @1@.


glTexCoordP2uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glTexCoordP2uiv :: GLenum -> Ptr GLenum -> m ()
glTexCoordP2uiv = FunPtr (GLenum -> Ptr GLenum -> IO ())
-> GLenum -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLenum -> IO ())
-> GLenum -> Ptr GLenum -> m ()
ffienumPtruintIOV FunPtr (GLenum -> Ptr GLenum -> IO ())
glTexCoordP2uivFunPtr

glTexCoordP2uivFunPtr :: FunPtr (GLenum -> Ptr GLuint -> IO ())
glTexCoordP2uivFunPtr :: FunPtr (GLenum -> Ptr GLenum -> IO ())
glTexCoordP2uivFunPtr = IO (FunPtr (GLenum -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexCoordP2uiv")

{-# NOINLINE glTexCoordP2uivFunPtr #-}

-- | Usage: @'glTexCoordP3ui' type coords@


glTexCoordP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glTexCoordP3ui :: GLenum -> GLenum -> m ()
glTexCoordP3ui = FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
ffienumuintIOV FunPtr (GLenum -> GLenum -> IO ())
glTexCoordP3uiFunPtr

glTexCoordP3uiFunPtr :: FunPtr (GLenum -> GLuint -> IO ())
glTexCoordP3uiFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glTexCoordP3uiFunPtr = IO (FunPtr (GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexCoordP3ui")

{-# NOINLINE glTexCoordP3uiFunPtr #-}

-- | Usage: @'glTexCoordP3uiv' type coords@
--
-- The length of @coords@ should be @1@.


glTexCoordP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glTexCoordP3uiv :: GLenum -> Ptr GLenum -> m ()
glTexCoordP3uiv = FunPtr (GLenum -> Ptr GLenum -> IO ())
-> GLenum -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLenum -> IO ())
-> GLenum -> Ptr GLenum -> m ()
ffienumPtruintIOV FunPtr (GLenum -> Ptr GLenum -> IO ())
glTexCoordP3uivFunPtr

glTexCoordP3uivFunPtr :: FunPtr (GLenum -> Ptr GLuint -> IO ())
glTexCoordP3uivFunPtr :: FunPtr (GLenum -> Ptr GLenum -> IO ())
glTexCoordP3uivFunPtr = IO (FunPtr (GLenum -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexCoordP3uiv")

{-# NOINLINE glTexCoordP3uivFunPtr #-}

-- | Usage: @'glTexCoordP4ui' type coords@


glTexCoordP4ui :: MonadIO m => GLenum -> GLuint -> m ()
glTexCoordP4ui :: GLenum -> GLenum -> m ()
glTexCoordP4ui = FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
ffienumuintIOV FunPtr (GLenum -> GLenum -> IO ())
glTexCoordP4uiFunPtr

glTexCoordP4uiFunPtr :: FunPtr (GLenum -> GLuint -> IO ())
glTexCoordP4uiFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glTexCoordP4uiFunPtr = IO (FunPtr (GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexCoordP4ui")

{-# NOINLINE glTexCoordP4uiFunPtr #-}

-- | Usage: @'glTexCoordP4uiv' type coords@
--
-- The length of @coords@ should be @1@.


glTexCoordP4uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glTexCoordP4uiv :: GLenum -> Ptr GLenum -> m ()
glTexCoordP4uiv = FunPtr (GLenum -> Ptr GLenum -> IO ())
-> GLenum -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLenum -> IO ())
-> GLenum -> Ptr GLenum -> m ()
ffienumPtruintIOV FunPtr (GLenum -> Ptr GLenum -> IO ())
glTexCoordP4uivFunPtr

glTexCoordP4uivFunPtr :: FunPtr (GLenum -> Ptr GLuint -> IO ())
glTexCoordP4uivFunPtr :: FunPtr (GLenum -> Ptr GLenum -> IO ())
glTexCoordP4uivFunPtr = IO (FunPtr (GLenum -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexCoordP4uiv")

{-# NOINLINE glTexCoordP4uivFunPtr #-}

-- | Usage: @'glVertexP2ui' type value@


glVertexP2ui :: MonadIO m => GLenum -> GLuint -> m ()
glVertexP2ui :: GLenum -> GLenum -> m ()
glVertexP2ui = FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
ffienumuintIOV FunPtr (GLenum -> GLenum -> IO ())
glVertexP2uiFunPtr

glVertexP2uiFunPtr :: FunPtr (GLenum -> GLuint -> IO ())
glVertexP2uiFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glVertexP2uiFunPtr = IO (FunPtr (GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexP2ui")

{-# NOINLINE glVertexP2uiFunPtr #-}

-- | Usage: @'glVertexP2uiv' type value@
--
-- The length of @value@ should be @1@.


glVertexP2uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glVertexP2uiv :: GLenum -> Ptr GLenum -> m ()
glVertexP2uiv = FunPtr (GLenum -> Ptr GLenum -> IO ())
-> GLenum -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLenum -> IO ())
-> GLenum -> Ptr GLenum -> m ()
ffienumPtruintIOV FunPtr (GLenum -> Ptr GLenum -> IO ())
glVertexP2uivFunPtr

glVertexP2uivFunPtr :: FunPtr (GLenum -> Ptr GLuint -> IO ())
glVertexP2uivFunPtr :: FunPtr (GLenum -> Ptr GLenum -> IO ())
glVertexP2uivFunPtr = IO (FunPtr (GLenum -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexP2uiv")

{-# NOINLINE glVertexP2uivFunPtr #-}

-- | Usage: @'glVertexP3ui' type value@


glVertexP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glVertexP3ui :: GLenum -> GLenum -> m ()
glVertexP3ui = FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
ffienumuintIOV FunPtr (GLenum -> GLenum -> IO ())
glVertexP3uiFunPtr

glVertexP3uiFunPtr :: FunPtr (GLenum -> GLuint -> IO ())
glVertexP3uiFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glVertexP3uiFunPtr = IO (FunPtr (GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexP3ui")

{-# NOINLINE glVertexP3uiFunPtr #-}

-- | Usage: @'glVertexP3uiv' type value@
--
-- The length of @value@ should be @1@.


glVertexP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glVertexP3uiv :: GLenum -> Ptr GLenum -> m ()
glVertexP3uiv = FunPtr (GLenum -> Ptr GLenum -> IO ())
-> GLenum -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLenum -> IO ())
-> GLenum -> Ptr GLenum -> m ()
ffienumPtruintIOV FunPtr (GLenum -> Ptr GLenum -> IO ())
glVertexP3uivFunPtr

glVertexP3uivFunPtr :: FunPtr (GLenum -> Ptr GLuint -> IO ())
glVertexP3uivFunPtr :: FunPtr (GLenum -> Ptr GLenum -> IO ())
glVertexP3uivFunPtr = IO (FunPtr (GLenum -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexP3uiv")

{-# NOINLINE glVertexP3uivFunPtr #-}

-- | Usage: @'glVertexP4ui' type value@


glVertexP4ui :: MonadIO m => GLenum -> GLuint -> m ()
glVertexP4ui :: GLenum -> GLenum -> m ()
glVertexP4ui = FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
ffienumuintIOV FunPtr (GLenum -> GLenum -> IO ())
glVertexP4uiFunPtr

glVertexP4uiFunPtr :: FunPtr (GLenum -> GLuint -> IO ())
glVertexP4uiFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glVertexP4uiFunPtr = IO (FunPtr (GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexP4ui")

{-# NOINLINE glVertexP4uiFunPtr #-}

-- | Usage: @'glVertexP4uiv' type value@
--
-- The length of @value@ should be @1@.


glVertexP4uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glVertexP4uiv :: GLenum -> Ptr GLenum -> m ()
glVertexP4uiv = FunPtr (GLenum -> Ptr GLenum -> IO ())
-> GLenum -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLenum -> IO ())
-> GLenum -> Ptr GLenum -> m ()
ffienumPtruintIOV FunPtr (GLenum -> Ptr GLenum -> IO ())
glVertexP4uivFunPtr

glVertexP4uivFunPtr :: FunPtr (GLenum -> Ptr GLuint -> IO ())
glVertexP4uivFunPtr :: FunPtr (GLenum -> Ptr GLenum -> IO ())
glVertexP4uivFunPtr = IO (FunPtr (GLenum -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexP4uiv")

{-# NOINLINE glVertexP4uivFunPtr #-}

pattern $bGL_DISPLAY_LIST :: a
$mGL_DISPLAY_LIST :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DISPLAY_LIST = 0x82E7

-- | Usage: @'glActiveTexture' texture@
--
-- The parameter @texture@ is a @TextureUnit@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glActiveTexture.xhtml>


glActiveTexture :: MonadIO m => GLenum -> m ()
glActiveTexture :: GLenum -> m ()
glActiveTexture = FunPtr (GLenum -> IO ()) -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO ()) -> GLenum -> m ()
ffienumIOV FunPtr (GLenum -> IO ())
glActiveTextureFunPtr

glActiveTextureFunPtr :: FunPtr (GLenum -> IO ())
glActiveTextureFunPtr :: FunPtr (GLenum -> IO ())
glActiveTextureFunPtr = IO (FunPtr (GLenum -> IO ())) -> FunPtr (GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glActiveTexture")

{-# NOINLINE glActiveTextureFunPtr #-}

-- | Usage: @'glAttachShader' program shader@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glAttachShader.xhtml>


glAttachShader :: MonadIO m => GLuint -> GLuint -> m ()
glAttachShader :: GLenum -> GLenum -> m ()
glAttachShader = FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
ffiuintuintIOV FunPtr (GLenum -> GLenum -> IO ())
glAttachShaderFunPtr

glAttachShaderFunPtr :: FunPtr (GLuint -> GLuint -> IO ())
glAttachShaderFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glAttachShaderFunPtr = IO (FunPtr (GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glAttachShader")

{-# NOINLINE glAttachShaderFunPtr #-}

-- | Usage: @'glBeginConditionalRender' id mode@
--
-- The parameter @mode@ is a @TypeEnum@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glBeginConditionalRender.xhtml>


glBeginConditionalRender :: MonadIO m => GLuint -> GLenum -> m ()
glBeginConditionalRender :: GLenum -> GLenum -> m ()
glBeginConditionalRender = FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
ffiuintenumIOV FunPtr (GLenum -> GLenum -> IO ())
glBeginConditionalRenderFunPtr

glBeginConditionalRenderFunPtr :: FunPtr (GLuint -> GLenum -> IO ())
glBeginConditionalRenderFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glBeginConditionalRenderFunPtr = IO (FunPtr (GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glBeginConditionalRender")

{-# NOINLINE glBeginConditionalRenderFunPtr #-}

-- | Usage: @'glBeginQuery' target id@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glBeginQuery.xhtml>


glBeginQuery :: MonadIO m => GLenum -> GLuint -> m ()
glBeginQuery :: GLenum -> GLenum -> m ()
glBeginQuery = FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
ffienumuintIOV FunPtr (GLenum -> GLenum -> IO ())
glBeginQueryFunPtr

glBeginQueryFunPtr :: FunPtr (GLenum -> GLuint -> IO ())
glBeginQueryFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glBeginQueryFunPtr = IO (FunPtr (GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glBeginQuery")

{-# NOINLINE glBeginQueryFunPtr #-}

-- | Usage: @'glBeginTransformFeedback' primitiveMode@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glBeginTransformFeedback.xhtml>


glBeginTransformFeedback :: MonadIO m => GLenum -> m ()
glBeginTransformFeedback :: GLenum -> m ()
glBeginTransformFeedback = FunPtr (GLenum -> IO ()) -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO ()) -> GLenum -> m ()
ffienumIOV FunPtr (GLenum -> IO ())
glBeginTransformFeedbackFunPtr

glBeginTransformFeedbackFunPtr :: FunPtr (GLenum -> IO ())
glBeginTransformFeedbackFunPtr :: FunPtr (GLenum -> IO ())
glBeginTransformFeedbackFunPtr = IO (FunPtr (GLenum -> IO ())) -> FunPtr (GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glBeginTransformFeedback")

{-# NOINLINE glBeginTransformFeedbackFunPtr #-}

-- | Usage: @'glBindAttribLocation' program index name@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glBindAttribLocation.xhtml>


glBindAttribLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()
glBindAttribLocation :: GLenum -> GLenum -> Ptr GLchar -> m ()
glBindAttribLocation = FunPtr (GLenum -> GLenum -> Ptr GLchar -> IO ())
-> GLenum -> GLenum -> Ptr GLchar -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLchar -> IO ())
-> GLenum -> GLenum -> Ptr GLchar -> m ()
ffiuintuintPtrcharIOV FunPtr (GLenum -> GLenum -> Ptr GLchar -> IO ())
glBindAttribLocationFunPtr

glBindAttribLocationFunPtr :: FunPtr (GLuint -> GLuint -> Ptr GLchar -> IO ())
glBindAttribLocationFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLchar -> IO ())
glBindAttribLocationFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLchar -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLchar -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLchar -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glBindAttribLocation")

{-# NOINLINE glBindAttribLocationFunPtr #-}

-- | Usage: @'glBindBuffer' target buffer@
--
-- The parameter @target@ is a @BufferTargetARB@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glBindBuffer.xhtml>


glBindBuffer :: MonadIO m => GLenum -> GLuint -> m ()
glBindBuffer :: GLenum -> GLenum -> m ()
glBindBuffer = FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
ffienumuintIOV FunPtr (GLenum -> GLenum -> IO ())
glBindBufferFunPtr

glBindBufferFunPtr :: FunPtr (GLenum -> GLuint -> IO ())
glBindBufferFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glBindBufferFunPtr = IO (FunPtr (GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glBindBuffer")

{-# NOINLINE glBindBufferFunPtr #-}

-- | Usage: @'glBindBufferBase' target index buffer@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glBindBufferBase.xhtml>


glBindBufferBase :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()
glBindBufferBase :: GLenum -> GLenum -> GLenum -> m ()
glBindBufferBase = FunPtr (GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> m ()
ffienumuintuintIOV FunPtr (GLenum -> GLenum -> GLenum -> IO ())
glBindBufferBaseFunPtr

glBindBufferBaseFunPtr :: FunPtr (GLenum -> GLuint -> GLuint -> IO ())
glBindBufferBaseFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> IO ())
glBindBufferBaseFunPtr = IO (FunPtr (GLenum -> GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glBindBufferBase")

{-# NOINLINE glBindBufferBaseFunPtr #-}

-- | Usage: @'glBindBufferRange' target index buffer offset size@
--
-- The parameter @offset@ is a @BufferOffset@.
--
-- The parameter @size@ is a @BufferSize@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glBindBufferRange.xhtml>


glBindBufferRange :: MonadIO m => GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()
glBindBufferRange :: GLenum -> GLenum -> GLenum -> GLintptr -> GLintptr -> m ()
glBindBufferRange = FunPtr
  (GLenum -> GLenum -> GLenum -> GLintptr -> GLintptr -> IO ())
-> GLenum -> GLenum -> GLenum -> GLintptr -> GLintptr -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum -> GLenum -> GLenum -> GLintptr -> GLintptr -> IO ())
-> GLenum -> GLenum -> GLenum -> GLintptr -> GLintptr -> m ()
ffienumuintuintintptrsizeiptrIOV FunPtr
  (GLenum -> GLenum -> GLenum -> GLintptr -> GLintptr -> IO ())
glBindBufferRangeFunPtr

glBindBufferRangeFunPtr :: FunPtr (GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> IO ())
glBindBufferRangeFunPtr :: FunPtr
  (GLenum -> GLenum -> GLenum -> GLintptr -> GLintptr -> IO ())
glBindBufferRangeFunPtr = IO
  (FunPtr
     (GLenum -> GLenum -> GLenum -> GLintptr -> GLintptr -> IO ()))
-> FunPtr
     (GLenum -> GLenum -> GLenum -> GLintptr -> GLintptr -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum -> GLenum -> GLenum -> GLintptr -> GLintptr -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glBindBufferRange")

{-# NOINLINE glBindBufferRangeFunPtr #-}

-- | Usage: @'glBindFragDataLocation' program color name@
--
-- The length of @name@ should be @COMPSIZE(name)@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glBindFragDataLocation.xhtml>


glBindFragDataLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()
glBindFragDataLocation :: GLenum -> GLenum -> Ptr GLchar -> m ()
glBindFragDataLocation = FunPtr (GLenum -> GLenum -> Ptr GLchar -> IO ())
-> GLenum -> GLenum -> Ptr GLchar -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLchar -> IO ())
-> GLenum -> GLenum -> Ptr GLchar -> m ()
ffiuintuintPtrcharIOV FunPtr (GLenum -> GLenum -> Ptr GLchar -> IO ())
glBindFragDataLocationFunPtr

glBindFragDataLocationFunPtr :: FunPtr (GLuint -> GLuint -> Ptr GLchar -> IO ())
glBindFragDataLocationFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLchar -> IO ())
glBindFragDataLocationFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLchar -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLchar -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLchar -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glBindFragDataLocation")

{-# NOINLINE glBindFragDataLocationFunPtr #-}

-- | Usage: @'glBindFramebuffer' target framebuffer@
--
-- The parameter @target@ is a @FramebufferTarget@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glBindFramebuffer.xhtml>


glBindFramebuffer :: MonadIO m => GLenum -> GLuint -> m ()
glBindFramebuffer :: GLenum -> GLenum -> m ()
glBindFramebuffer = FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
ffienumuintIOV FunPtr (GLenum -> GLenum -> IO ())
glBindFramebufferFunPtr

glBindFramebufferFunPtr :: FunPtr (GLenum -> GLuint -> IO ())
glBindFramebufferFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glBindFramebufferFunPtr = IO (FunPtr (GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glBindFramebuffer")

{-# NOINLINE glBindFramebufferFunPtr #-}

-- | Usage: @'glBindRenderbuffer' target renderbuffer@
--
-- The parameter @target@ is a @RenderbufferTarget@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glBindRenderbuffer.xhtml>


glBindRenderbuffer :: MonadIO m => GLenum -> GLuint -> m ()
glBindRenderbuffer :: GLenum -> GLenum -> m ()
glBindRenderbuffer = FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
ffienumuintIOV FunPtr (GLenum -> GLenum -> IO ())
glBindRenderbufferFunPtr

glBindRenderbufferFunPtr :: FunPtr (GLenum -> GLuint -> IO ())
glBindRenderbufferFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glBindRenderbufferFunPtr = IO (FunPtr (GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glBindRenderbuffer")

{-# NOINLINE glBindRenderbufferFunPtr #-}

-- | Usage: @'glBindTexture' target texture@
--
-- The parameter @target@ is a @TextureTarget@, one of: 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_2D_SGIS', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_1D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_1D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_2D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_2D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_PROXY_TEXTURE_3D_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_PROXY_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_1D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_2D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_3D_EXT', 'Graphics.GL.Ext.OES.Texture3D.GL_TEXTURE_3D_OES', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BASE_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_BASE_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LOD_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MIN_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MIN_LOD_SGIS'.
--
-- The parameter @texture@ is a @Texture@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glBindTexture.xhtml>


glBindTexture :: MonadIO m => GLenum -> GLuint -> m ()
glBindTexture :: GLenum -> GLenum -> m ()
glBindTexture = FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
ffienumuintIOV FunPtr (GLenum -> GLenum -> IO ())
glBindTextureFunPtr

glBindTextureFunPtr :: FunPtr (GLenum -> GLuint -> IO ())
glBindTextureFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glBindTextureFunPtr = IO (FunPtr (GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glBindTexture")

{-# NOINLINE glBindTextureFunPtr #-}

-- | Usage: @'glBindVertexArray' array@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glBindVertexArray.xhtml>


glBindVertexArray :: MonadIO m => GLuint -> m ()
glBindVertexArray :: GLenum -> m ()
glBindVertexArray = FunPtr (GLenum -> IO ()) -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO ()) -> GLenum -> m ()
ffiuintIOV FunPtr (GLenum -> IO ())
glBindVertexArrayFunPtr

glBindVertexArrayFunPtr :: FunPtr (GLuint -> IO ())
glBindVertexArrayFunPtr :: FunPtr (GLenum -> IO ())
glBindVertexArrayFunPtr = IO (FunPtr (GLenum -> IO ())) -> FunPtr (GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glBindVertexArray")

{-# NOINLINE glBindVertexArrayFunPtr #-}

-- | Usage: @'glBlendColor' red green blue alpha@
--
-- The parameter @red@ is a @ColorF@.
--
-- The parameter @green@ is a @ColorF@.
--
-- The parameter @blue@ is a @ColorF@.
--
-- The parameter @alpha@ is a @ColorF@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glBlendColor.xhtml>


glBlendColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glBlendColor :: GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glBlendColor = FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
ffifloatfloatfloatfloatIOV FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glBlendColorFunPtr

glBlendColorFunPtr :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glBlendColorFunPtr :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glBlendColorFunPtr = IO (FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()))
-> FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glBlendColor")

{-# NOINLINE glBlendColorFunPtr #-}

-- | Usage: @'glBlendEquation' mode@
--
-- The parameter @mode@ is a @BlendEquationMode@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glBlendEquation.xhtml>


glBlendEquation :: MonadIO m => GLenum -> m ()
glBlendEquation :: GLenum -> m ()
glBlendEquation = FunPtr (GLenum -> IO ()) -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO ()) -> GLenum -> m ()
ffienumIOV FunPtr (GLenum -> IO ())
glBlendEquationFunPtr

glBlendEquationFunPtr :: FunPtr (GLenum -> IO ())
glBlendEquationFunPtr :: FunPtr (GLenum -> IO ())
glBlendEquationFunPtr = IO (FunPtr (GLenum -> IO ())) -> FunPtr (GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glBlendEquation")

{-# NOINLINE glBlendEquationFunPtr #-}

-- | Usage: @'glBlendEquationSeparate' modeRGB modeAlpha@
--
-- The parameter @modeRGB@ is a @BlendEquationModeEXT@, one of: 'Graphics.GL.Ext.SGIX.BlendAlphaMinmax.GL_ALPHA_MAX_SGIX', 'Graphics.GL.Ext.SGIX.BlendAlphaMinmax.GL_ALPHA_MIN_SGIX', 'Graphics.GL.Ext.EXT.BlendMinmax.GL_FUNC_ADD_EXT', 'Graphics.GL.Ext.EXT.BlendSubtract.GL_FUNC_REVERSE_SUBTRACT_EXT', 'Graphics.GL.Ext.EXT.BlendSubtract.GL_FUNC_SUBTRACT_EXT', 'Graphics.GL.Internal.Shared.GL_LOGIC_OP', 'Graphics.GL.Ext.EXT.BlendMinmax.GL_MAX_EXT', 'Graphics.GL.Ext.EXT.BlendMinmax.GL_MIN_EXT'.
--
-- The parameter @modeAlpha@ is a @BlendEquationModeEXT@, one of: 'Graphics.GL.Ext.SGIX.BlendAlphaMinmax.GL_ALPHA_MAX_SGIX', 'Graphics.GL.Ext.SGIX.BlendAlphaMinmax.GL_ALPHA_MIN_SGIX', 'Graphics.GL.Ext.EXT.BlendMinmax.GL_FUNC_ADD_EXT', 'Graphics.GL.Ext.EXT.BlendSubtract.GL_FUNC_REVERSE_SUBTRACT_EXT', 'Graphics.GL.Ext.EXT.BlendSubtract.GL_FUNC_SUBTRACT_EXT', 'Graphics.GL.Internal.Shared.GL_LOGIC_OP', 'Graphics.GL.Ext.EXT.BlendMinmax.GL_MAX_EXT', 'Graphics.GL.Ext.EXT.BlendMinmax.GL_MIN_EXT'.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glBlendEquationSeparate.xhtml>


glBlendEquationSeparate :: MonadIO m => GLenum -> GLenum -> m ()
glBlendEquationSeparate :: GLenum -> GLenum -> m ()
glBlendEquationSeparate = FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
ffienumenumIOV FunPtr (GLenum -> GLenum -> IO ())
glBlendEquationSeparateFunPtr

glBlendEquationSeparateFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glBlendEquationSeparateFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glBlendEquationSeparateFunPtr = IO (FunPtr (GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glBlendEquationSeparate")

{-# NOINLINE glBlendEquationSeparateFunPtr #-}

-- | Usage: @'glBlendFunc' sfactor dfactor@
--
-- The parameter @sfactor@ is a @BlendingFactorSrc@, one of: 'Graphics.GL.Ext.EXT.BlendColor.GL_CONSTANT_ALPHA_EXT', 'Graphics.GL.Ext.EXT.BlendColor.GL_CONSTANT_COLOR_EXT', 'Graphics.GL.Internal.Shared.GL_DST_ALPHA', 'Graphics.GL.Internal.Shared.GL_DST_COLOR', 'Graphics.GL.Internal.Shared.GL_ONE', 'Graphics.GL.Ext.EXT.BlendColor.GL_ONE_MINUS_CONSTANT_ALPHA_EXT', 'Graphics.GL.Ext.EXT.BlendColor.GL_ONE_MINUS_CONSTANT_COLOR_EXT', 'Graphics.GL.Internal.Shared.GL_ONE_MINUS_DST_ALPHA', 'Graphics.GL.Internal.Shared.GL_ONE_MINUS_DST_COLOR', 'Graphics.GL.Internal.Shared.GL_ONE_MINUS_SRC_ALPHA', 'Graphics.GL.Internal.Shared.GL_SRC_ALPHA', 'Graphics.GL.Internal.Shared.GL_SRC_ALPHA_SATURATE', 'Graphics.GL.Internal.Shared.GL_ZERO'.
--
-- The parameter @dfactor@ is a @BlendingFactorDest@, one of: 'Graphics.GL.Ext.EXT.BlendColor.GL_CONSTANT_ALPHA_EXT', 'Graphics.GL.Ext.EXT.BlendColor.GL_CONSTANT_COLOR_EXT', 'Graphics.GL.Internal.Shared.GL_DST_ALPHA', 'Graphics.GL.Internal.Shared.GL_ONE', 'Graphics.GL.Ext.EXT.BlendColor.GL_ONE_MINUS_CONSTANT_ALPHA_EXT', 'Graphics.GL.Ext.EXT.BlendColor.GL_ONE_MINUS_CONSTANT_COLOR_EXT', 'Graphics.GL.Internal.Shared.GL_ONE_MINUS_DST_ALPHA', 'Graphics.GL.Internal.Shared.GL_ONE_MINUS_SRC_ALPHA', 'Graphics.GL.Internal.Shared.GL_ONE_MINUS_SRC_COLOR', 'Graphics.GL.Internal.Shared.GL_SRC_ALPHA', 'Graphics.GL.Internal.Shared.GL_SRC_COLOR', 'Graphics.GL.Internal.Shared.GL_ZERO'.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glBlendFunc.xhtml>


glBlendFunc :: MonadIO m => GLenum -> GLenum -> m ()
glBlendFunc :: GLenum -> GLenum -> m ()
glBlendFunc = FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
ffienumenumIOV FunPtr (GLenum -> GLenum -> IO ())
glBlendFuncFunPtr

glBlendFuncFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glBlendFuncFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glBlendFuncFunPtr = IO (FunPtr (GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glBlendFunc")

{-# NOINLINE glBlendFuncFunPtr #-}

-- | Usage: @'glBlendFuncSeparate' sfactorRGB dfactorRGB sfactorAlpha dfactorAlpha@
--
-- The parameter @sfactorRGB@ is a @BlendFuncSeparateParameterEXT@.
--
-- The parameter @dfactorRGB@ is a @BlendFuncSeparateParameterEXT@.
--
-- The parameter @sfactorAlpha@ is a @BlendFuncSeparateParameterEXT@.
--
-- The parameter @dfactorAlpha@ is a @BlendFuncSeparateParameterEXT@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glBlendFuncSeparate.xhtml>


glBlendFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()
glBlendFuncSeparate :: GLenum -> GLenum -> GLenum -> GLenum -> m ()
glBlendFuncSeparate = FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> GLenum -> m ()
ffienumenumenumenumIOV FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
glBlendFuncSeparateFunPtr

glBlendFuncSeparateFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
glBlendFuncSeparateFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
glBlendFuncSeparateFunPtr = IO (FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glBlendFuncSeparate")

{-# NOINLINE glBlendFuncSeparateFunPtr #-}

-- | Usage: @'glBlitFramebuffer' srcX0 srcY0 srcX1 srcY1 dstX0 dstY0 dstX1 dstY1 mask filter@
--
-- The parameter @mask@ is a @ClearBufferMask@, one of: 'Graphics.GL.Internal.Shared.GL_ACCUM_BUFFER_BIT', 'Graphics.GL.Internal.Shared.GL_COLOR_BUFFER_BIT', 'Graphics.GL.Ext.NV.CoverageSample.GL_COVERAGE_BUFFER_BIT_NV', 'Graphics.GL.Internal.Shared.GL_DEPTH_BUFFER_BIT', 'Graphics.GL.Internal.Shared.GL_STENCIL_BUFFER_BIT'.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glBlitFramebuffer.xhtml>


glBlitFramebuffer :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()
glBlitFramebuffer :: GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLenum
-> m ()
glBlitFramebuffer = FunPtr
  (GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> IO ())
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLenum
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> IO ())
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLenum
-> m ()
ffiintintintintintintintintbitfieldenumIOV FunPtr
  (GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> IO ())
glBlitFramebufferFunPtr

glBlitFramebufferFunPtr :: FunPtr (GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> IO ())
glBlitFramebufferFunPtr :: FunPtr
  (GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> IO ())
glBlitFramebufferFunPtr = IO
  (FunPtr
     (GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLenum
      -> GLenum
      -> IO ()))
-> FunPtr
     (GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLenum
      -> GLenum
      -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLenum
         -> GLenum
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glBlitFramebuffer")

{-# NOINLINE glBlitFramebufferFunPtr #-}

-- | Usage: @'glBufferData' target size data usage@
--
-- The parameter @target@ is a @BufferTargetARB@.
--
-- The parameter @size@ is a @BufferSize@.
--
-- The parameter @usage@ is a @BufferUsageARB@.
--
-- The length of @data@ should be @size@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glBufferData.xhtml>


glBufferData :: MonadIO m => GLenum -> GLsizeiptr -> Ptr () -> GLenum -> m ()
glBufferData :: GLenum -> GLintptr -> Ptr () -> GLenum -> m ()
glBufferData = FunPtr (GLenum -> GLintptr -> Ptr () -> GLenum -> IO ())
-> GLenum -> GLintptr -> Ptr () -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLintptr -> Ptr () -> GLenum -> IO ())
-> GLenum -> GLintptr -> Ptr () -> GLenum -> m ()
ffienumsizeiptrPtrVenumIOV FunPtr (GLenum -> GLintptr -> Ptr () -> GLenum -> IO ())
glBufferDataFunPtr

glBufferDataFunPtr :: FunPtr (GLenum -> GLsizeiptr -> Ptr () -> GLenum -> IO ())
glBufferDataFunPtr :: FunPtr (GLenum -> GLintptr -> Ptr () -> GLenum -> IO ())
glBufferDataFunPtr = IO (FunPtr (GLenum -> GLintptr -> Ptr () -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLintptr -> Ptr () -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLintptr -> Ptr () -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glBufferData")

{-# NOINLINE glBufferDataFunPtr #-}

-- | Usage: @'glBufferSubData' target offset size data@
--
-- The parameter @target@ is a @BufferTargetARB@.
--
-- The parameter @offset@ is a @BufferOffset@.
--
-- The parameter @size@ is a @BufferSize@.
--
-- The length of @data@ should be @size@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glBufferSubData.xhtml>


glBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr () -> m ()
glBufferSubData :: GLenum -> GLintptr -> GLintptr -> Ptr () -> m ()
glBufferSubData = FunPtr (GLenum -> GLintptr -> GLintptr -> Ptr () -> IO ())
-> GLenum -> GLintptr -> GLintptr -> Ptr () -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLintptr -> GLintptr -> Ptr () -> IO ())
-> GLenum -> GLintptr -> GLintptr -> Ptr () -> m ()
ffienumintptrsizeiptrPtrVIOV FunPtr (GLenum -> GLintptr -> GLintptr -> Ptr () -> IO ())
glBufferSubDataFunPtr

glBufferSubDataFunPtr :: FunPtr (GLenum -> GLintptr -> GLsizeiptr -> Ptr () -> IO ())
glBufferSubDataFunPtr :: FunPtr (GLenum -> GLintptr -> GLintptr -> Ptr () -> IO ())
glBufferSubDataFunPtr = IO (FunPtr (GLenum -> GLintptr -> GLintptr -> Ptr () -> IO ()))
-> FunPtr (GLenum -> GLintptr -> GLintptr -> Ptr () -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLintptr -> GLintptr -> Ptr () -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glBufferSubData")

{-# NOINLINE glBufferSubDataFunPtr #-}

-- | Usage: @'glCheckFramebufferStatus' target@
--
-- The parameter @target@ is a @FramebufferTarget@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glCheckFramebufferStatus.xhtml>


glCheckFramebufferStatus :: MonadIO m => GLenum -> m GLenum
glCheckFramebufferStatus :: GLenum -> m GLenum
glCheckFramebufferStatus = FunPtr (GLenum -> IO GLenum) -> GLenum -> m GLenum
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO GLenum) -> GLenum -> m GLenum
ffienumIOenum FunPtr (GLenum -> IO GLenum)
glCheckFramebufferStatusFunPtr

glCheckFramebufferStatusFunPtr :: FunPtr (GLenum -> IO GLenum)
glCheckFramebufferStatusFunPtr :: FunPtr (GLenum -> IO GLenum)
glCheckFramebufferStatusFunPtr = IO (FunPtr (GLenum -> IO GLenum)) -> FunPtr (GLenum -> IO GLenum)
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO GLenum))
forall a. String -> IO (FunPtr a)
getProcAddress "glCheckFramebufferStatus")

{-# NOINLINE glCheckFramebufferStatusFunPtr #-}

-- | Usage: @'glClampColor' target clamp@
--
-- The parameter @target@ is a @ClampColorTargetARB@.
--
-- The parameter @clamp@ is a @ClampColorModeARB@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glClampColor.xhtml>


glClampColor :: MonadIO m => GLenum -> GLenum -> m ()
glClampColor :: GLenum -> GLenum -> m ()
glClampColor = FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
ffienumenumIOV FunPtr (GLenum -> GLenum -> IO ())
glClampColorFunPtr

glClampColorFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glClampColorFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glClampColorFunPtr = IO (FunPtr (GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glClampColor")

{-# NOINLINE glClampColorFunPtr #-}

-- | Usage: @'glClear' mask@
--
-- The parameter @mask@ is a @ClearBufferMask@, one of: 'Graphics.GL.Internal.Shared.GL_ACCUM_BUFFER_BIT', 'Graphics.GL.Internal.Shared.GL_COLOR_BUFFER_BIT', 'Graphics.GL.Ext.NV.CoverageSample.GL_COVERAGE_BUFFER_BIT_NV', 'Graphics.GL.Internal.Shared.GL_DEPTH_BUFFER_BIT', 'Graphics.GL.Internal.Shared.GL_STENCIL_BUFFER_BIT'.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glClear.xhtml>


glClear :: MonadIO m => GLbitfield -> m ()
glClear :: GLenum -> m ()
glClear = FunPtr (GLenum -> IO ()) -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO ()) -> GLenum -> m ()
ffibitfieldIOV FunPtr (GLenum -> IO ())
glClearFunPtr

glClearFunPtr :: FunPtr (GLbitfield -> IO ())
glClearFunPtr :: FunPtr (GLenum -> IO ())
glClearFunPtr = IO (FunPtr (GLenum -> IO ())) -> FunPtr (GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glClear")

{-# NOINLINE glClearFunPtr #-}

-- | Usage: @'glClearBufferfi' buffer drawbuffer depth stencil@
--
-- The parameter @drawbuffer@ is a @DrawBufferName@.


glClearBufferfi :: MonadIO m => GLenum -> GLint -> GLfloat -> GLint -> m ()
glClearBufferfi :: GLenum -> GLsizei -> GLfloat -> GLsizei -> m ()
glClearBufferfi = FunPtr (GLenum -> GLsizei -> GLfloat -> GLsizei -> IO ())
-> GLenum -> GLsizei -> GLfloat -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLfloat -> GLsizei -> IO ())
-> GLenum -> GLsizei -> GLfloat -> GLsizei -> m ()
ffienumintfloatintIOV FunPtr (GLenum -> GLsizei -> GLfloat -> GLsizei -> IO ())
glClearBufferfiFunPtr

glClearBufferfiFunPtr :: FunPtr (GLenum -> GLint -> GLfloat -> GLint -> IO ())
glClearBufferfiFunPtr :: FunPtr (GLenum -> GLsizei -> GLfloat -> GLsizei -> IO ())
glClearBufferfiFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLfloat -> GLsizei -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLfloat -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLsizei -> GLfloat -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glClearBufferfi")

{-# NOINLINE glClearBufferfiFunPtr #-}

-- | Usage: @'glClearBufferfv' buffer drawbuffer value@
--
-- The parameter @drawbuffer@ is a @DrawBufferName@.
--
-- The length of @value@ should be @COMPSIZE(buffer)@.


glClearBufferfv :: MonadIO m => GLenum -> GLint -> Ptr GLfloat -> m ()
glClearBufferfv :: GLenum -> GLsizei -> Ptr GLfloat -> m ()
glClearBufferfv = FunPtr (GLenum -> GLsizei -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> Ptr GLfloat -> m ()
ffienumintPtrfloatIOV FunPtr (GLenum -> GLsizei -> Ptr GLfloat -> IO ())
glClearBufferfvFunPtr

glClearBufferfvFunPtr :: FunPtr (GLenum -> GLint -> Ptr GLfloat -> IO ())
glClearBufferfvFunPtr :: FunPtr (GLenum -> GLsizei -> Ptr GLfloat -> IO ())
glClearBufferfvFunPtr = IO (FunPtr (GLenum -> GLsizei -> Ptr GLfloat -> IO ()))
-> FunPtr (GLenum -> GLsizei -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLsizei -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glClearBufferfv")

{-# NOINLINE glClearBufferfvFunPtr #-}

-- | Usage: @'glClearBufferiv' buffer drawbuffer value@
--
-- The parameter @drawbuffer@ is a @DrawBufferName@.
--
-- The length of @value@ should be @COMPSIZE(buffer)@.


glClearBufferiv :: MonadIO m => GLenum -> GLint -> Ptr GLint -> m ()
glClearBufferiv :: GLenum -> GLsizei -> Ptr GLsizei -> m ()
glClearBufferiv = FunPtr (GLenum -> GLsizei -> Ptr GLsizei -> IO ())
-> GLenum -> GLsizei -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> Ptr GLsizei -> IO ())
-> GLenum -> GLsizei -> Ptr GLsizei -> m ()
ffienumintPtrintIOV FunPtr (GLenum -> GLsizei -> Ptr GLsizei -> IO ())
glClearBufferivFunPtr

glClearBufferivFunPtr :: FunPtr (GLenum -> GLint -> Ptr GLint -> IO ())
glClearBufferivFunPtr :: FunPtr (GLenum -> GLsizei -> Ptr GLsizei -> IO ())
glClearBufferivFunPtr = IO (FunPtr (GLenum -> GLsizei -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLsizei -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLsizei -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glClearBufferiv")

{-# NOINLINE glClearBufferivFunPtr #-}

-- | Usage: @'glClearBufferuiv' buffer drawbuffer value@
--
-- The parameter @drawbuffer@ is a @DrawBufferName@.
--
-- The length of @value@ should be @COMPSIZE(buffer)@.


glClearBufferuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()
glClearBufferuiv :: GLenum -> GLsizei -> Ptr GLenum -> m ()
glClearBufferuiv = FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
-> GLenum -> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
-> GLenum -> GLsizei -> Ptr GLenum -> m ()
ffienumintPtruintIOV FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
glClearBufferuivFunPtr

glClearBufferuivFunPtr :: FunPtr (GLenum -> GLint -> Ptr GLuint -> IO ())
glClearBufferuivFunPtr :: FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
glClearBufferuivFunPtr = IO (FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glClearBufferuiv")

{-# NOINLINE glClearBufferuivFunPtr #-}

-- | Usage: @'glClearColor' red green blue alpha@
--
-- The parameter @red@ is a @ColorF@.
--
-- The parameter @green@ is a @ColorF@.
--
-- The parameter @blue@ is a @ColorF@.
--
-- The parameter @alpha@ is a @ColorF@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glClearColor.xhtml>


glClearColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glClearColor :: GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glClearColor = FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
ffifloatfloatfloatfloatIOV FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glClearColorFunPtr

glClearColorFunPtr :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glClearColorFunPtr :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glClearColorFunPtr = IO (FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()))
-> FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glClearColor")

{-# NOINLINE glClearColorFunPtr #-}

-- | Usage: @'glClearDepth' depth@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glClearDepth.xhtml>


glClearDepth :: MonadIO m => GLdouble -> m ()
glClearDepth :: GLdouble -> m ()
glClearDepth = FunPtr (GLdouble -> IO ()) -> GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLdouble -> IO ()) -> GLdouble -> m ()
ffidoubleIOV FunPtr (GLdouble -> IO ())
glClearDepthFunPtr

glClearDepthFunPtr :: FunPtr (GLdouble -> IO ())
glClearDepthFunPtr :: FunPtr (GLdouble -> IO ())
glClearDepthFunPtr = IO (FunPtr (GLdouble -> IO ())) -> FunPtr (GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glClearDepth")

{-# NOINLINE glClearDepthFunPtr #-}

-- | Usage: @'glClearStencil' s@
--
-- The parameter @s@ is a @StencilValue@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glClearStencil.xhtml>


glClearStencil :: MonadIO m => GLint -> m ()
glClearStencil :: GLsizei -> m ()
glClearStencil = FunPtr (GLsizei -> IO ()) -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> IO ()) -> GLsizei -> m ()
ffiintIOV FunPtr (GLsizei -> IO ())
glClearStencilFunPtr

glClearStencilFunPtr :: FunPtr (GLint -> IO ())
glClearStencilFunPtr :: FunPtr (GLsizei -> IO ())
glClearStencilFunPtr = IO (FunPtr (GLsizei -> IO ())) -> FunPtr (GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glClearStencil")

{-# NOINLINE glClearStencilFunPtr #-}

-- | Usage: @'glClientWaitSync' sync flags timeout@
--
-- The parameter @sync@ is a @sync@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glClientWaitSync.xhtml>


glClientWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m GLenum
glClientWaitSync :: Ptr () -> GLenum -> GLuint64 -> m GLenum
glClientWaitSync = FunPtr (Ptr () -> GLenum -> GLuint64 -> IO GLenum)
-> Ptr () -> GLenum -> GLuint64 -> m GLenum
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr () -> GLenum -> GLuint64 -> IO GLenum)
-> Ptr () -> GLenum -> GLuint64 -> m GLenum
ffisyncbitfielduint64IOenum FunPtr (Ptr () -> GLenum -> GLuint64 -> IO GLenum)
glClientWaitSyncFunPtr

glClientWaitSyncFunPtr :: FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO GLenum)
glClientWaitSyncFunPtr :: FunPtr (Ptr () -> GLenum -> GLuint64 -> IO GLenum)
glClientWaitSyncFunPtr = IO (FunPtr (Ptr () -> GLenum -> GLuint64 -> IO GLenum))
-> FunPtr (Ptr () -> GLenum -> GLuint64 -> IO GLenum)
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr () -> GLenum -> GLuint64 -> IO GLenum))
forall a. String -> IO (FunPtr a)
getProcAddress "glClientWaitSync")

{-# NOINLINE glClientWaitSyncFunPtr #-}

-- | Usage: @'glColorMask' red green blue alpha@
--
-- The parameter @red@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The parameter @green@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The parameter @blue@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The parameter @alpha@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glColorMask.xhtml>


glColorMask :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()
glColorMask :: GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()
glColorMask = FunPtr (GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
-> GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
-> GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()
ffibooleanbooleanbooleanbooleanIOV FunPtr (GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
glColorMaskFunPtr

glColorMaskFunPtr :: FunPtr (GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
glColorMaskFunPtr :: FunPtr (GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
glColorMaskFunPtr = IO
  (FunPtr
     (GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ()))
-> FunPtr
     (GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glColorMask")

{-# NOINLINE glColorMaskFunPtr #-}

-- | Usage: @'glColorMaski' index r g b a@
--
-- The parameter @r@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The parameter @g@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The parameter @b@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The parameter @a@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.


glColorMaski :: MonadIO m => GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()
glColorMaski :: GLenum -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()
glColorMaski = FunPtr
  (GLenum
   -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
-> GLenum
-> GLboolean
-> GLboolean
-> GLboolean
-> GLboolean
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
-> GLenum
-> GLboolean
-> GLboolean
-> GLboolean
-> GLboolean
-> m ()
ffiuintbooleanbooleanbooleanbooleanIOV FunPtr
  (GLenum
   -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
glColorMaskiFunPtr

glColorMaskiFunPtr :: FunPtr (GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
glColorMaskiFunPtr :: FunPtr
  (GLenum
   -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
glColorMaskiFunPtr = IO
  (FunPtr
     (GLenum
      -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ()))
-> FunPtr
     (GLenum
      -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glColorMaski")

{-# NOINLINE glColorMaskiFunPtr #-}

-- | Usage: @'glCompileShader' shader@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glCompileShader.xhtml>


glCompileShader :: MonadIO m => GLuint -> m ()
glCompileShader :: GLenum -> m ()
glCompileShader = FunPtr (GLenum -> IO ()) -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO ()) -> GLenum -> m ()
ffiuintIOV FunPtr (GLenum -> IO ())
glCompileShaderFunPtr

glCompileShaderFunPtr :: FunPtr (GLuint -> IO ())
glCompileShaderFunPtr :: FunPtr (GLenum -> IO ())
glCompileShaderFunPtr = IO (FunPtr (GLenum -> IO ())) -> FunPtr (GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glCompileShader")

{-# NOINLINE glCompileShaderFunPtr #-}

-- | Usage: @'glCompressedTexImage1D' target level internalformat width border imageSize data@
--
-- The parameter @target@ is a @TextureTarget@, one of: 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_2D_SGIS', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_1D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_1D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_2D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_2D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_PROXY_TEXTURE_3D_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_PROXY_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_1D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_2D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_3D_EXT', 'Graphics.GL.Ext.OES.Texture3D.GL_TEXTURE_3D_OES', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BASE_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_BASE_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LOD_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MIN_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MIN_LOD_SGIS'.
--
-- The parameter @level@ is a @CheckedInt32@.
--
-- The parameter @internalformat@ is a @InternalFormat@, one of: 'Graphics.GL.Internal.Shared.GL_ALPHA12', 'Graphics.GL.Internal.Shared.GL_ALPHA16', @GL_ALPHA16_ICC_SGIX@, 'Graphics.GL.Internal.Shared.GL_ALPHA4', 'Graphics.GL.Internal.Shared.GL_ALPHA8', @GL_ALPHA_ICC_SGIX@, 'Graphics.GL.Ext.SGIX.DepthTexture.GL_DEPTH_COMPONENT16_SGIX', 'Graphics.GL.Ext.SGIX.DepthTexture.GL_DEPTH_COMPONENT24_SGIX', 'Graphics.GL.Ext.SGIX.DepthTexture.GL_DEPTH_COMPONENT32_SGIX', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_ALPHA12_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_ALPHA16_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_ALPHA4_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_ALPHA8_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_INTENSITY12_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_INTENSITY16_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_INTENSITY4_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_INTENSITY8_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_LUMINANCE12_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_LUMINANCE16_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_LUMINANCE4_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_LUMINANCE8_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_LUMINANCE_ALPHA4_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_LUMINANCE_ALPHA8_SGIS', 'Graphics.GL.Internal.Shared.GL_INTENSITY', 'Graphics.GL.Internal.Shared.GL_INTENSITY12', 'Graphics.GL.Internal.Shared.GL_INTENSITY16', @GL_INTENSITY16_ICC_SGIX@, 'Graphics.GL.Internal.Shared.GL_INTENSITY4', 'Graphics.GL.Internal.Shared.GL_INTENSITY8', @GL_INTENSITY_ICC_SGIX@, 'Graphics.GL.Internal.Shared.GL_LUMINANCE12', 'Graphics.GL.Internal.Shared.GL_LUMINANCE12_ALPHA12', 'Graphics.GL.Internal.Shared.GL_LUMINANCE12_ALPHA4', 'Graphics.GL.Internal.Shared.GL_LUMINANCE16', 'Graphics.GL.Internal.Shared.GL_LUMINANCE16_ALPHA16', @GL_LUMINANCE16_ALPHA8_ICC_SGIX@, @GL_LUMINANCE16_ICC_SGIX@, 'Graphics.GL.Internal.Shared.GL_LUMINANCE4', 'Graphics.GL.Internal.Shared.GL_LUMINANCE4_ALPHA4', 'Graphics.GL.Internal.Shared.GL_LUMINANCE6_ALPHA2', 'Graphics.GL.Internal.Shared.GL_LUMINANCE8', 'Graphics.GL.Internal.Shared.GL_LUMINANCE8_ALPHA8', @GL_LUMINANCE_ALPHA_ICC_SGIX@, @GL_LUMINANCE_ICC_SGIX@, 'Graphics.GL.Ext.SGIS.TextureSelect.GL_QUAD_ALPHA4_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_QUAD_ALPHA8_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_QUAD_INTENSITY4_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_QUAD_INTENSITY8_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_QUAD_LUMINANCE4_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_QUAD_LUMINANCE8_SGIS', 'Graphics.GL.Internal.Shared.GL_R3_G3_B2', @GL_R5_G6_B5_A8_ICC_SGIX@, @GL_R5_G6_B5_ICC_SGIX@, 'Graphics.GL.Internal.Shared.GL_RGB10', 'Graphics.GL.Internal.Shared.GL_RGB10_A2', 'Graphics.GL.Internal.Shared.GL_RGB12', 'Graphics.GL.Internal.Shared.GL_RGB16', 'Graphics.GL.Ext.EXT.Texture.GL_RGB2_EXT', 'Graphics.GL.Internal.Shared.GL_RGB4', 'Graphics.GL.Internal.Shared.GL_RGB5', 'Graphics.GL.Internal.Shared.GL_RGB5_A1', 'Graphics.GL.Internal.Shared.GL_RGB8', 'Graphics.GL.Internal.Shared.GL_RGBA12', 'Graphics.GL.Internal.Shared.GL_RGBA16', 'Graphics.GL.Internal.Shared.GL_RGBA2', 'Graphics.GL.Internal.Shared.GL_RGBA4', 'Graphics.GL.Internal.Shared.GL_RGBA8', @GL_RGBA_ICC_SGIX@, @GL_RGB_ICC_SGIX@.
--
-- The parameter @border@ is a @CheckedInt32@.
--
-- The parameter @data@ is a @CompressedTextureARB@.
--
-- The length of @data@ should be @imageSize@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glCompressedTexImage1D.xhtml>


glCompressedTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr () -> m ()
glCompressedTexImage1D :: GLenum
-> GLsizei
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> Ptr ()
-> m ()
glCompressedTexImage1D = FunPtr
  (GLenum
   -> GLsizei
   -> GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> Ptr ()
   -> IO ())
-> GLenum
-> GLsizei
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> Ptr ()
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei
   -> GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> Ptr ()
   -> IO ())
-> GLenum
-> GLsizei
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> Ptr ()
-> m ()
ffienumintenumsizeiintsizeiPtrVIOV FunPtr
  (GLenum
   -> GLsizei
   -> GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> Ptr ()
   -> IO ())
glCompressedTexImage1DFunPtr

glCompressedTexImage1DFunPtr :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr () -> IO ())
glCompressedTexImage1DFunPtr :: FunPtr
  (GLenum
   -> GLsizei
   -> GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> Ptr ()
   -> IO ())
glCompressedTexImage1DFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei
      -> GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> Ptr ()
      -> IO ()))
-> FunPtr
     (GLenum
      -> GLsizei
      -> GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> Ptr ()
      -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei
         -> GLenum
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> Ptr ()
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glCompressedTexImage1D")

{-# NOINLINE glCompressedTexImage1DFunPtr #-}

-- | Usage: @'glCompressedTexImage2D' target level internalformat width height border imageSize data@
--
-- The parameter @target@ is a @TextureTarget@, one of: 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_2D_SGIS', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_1D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_1D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_2D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_2D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_PROXY_TEXTURE_3D_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_PROXY_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_1D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_2D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_3D_EXT', 'Graphics.GL.Ext.OES.Texture3D.GL_TEXTURE_3D_OES', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BASE_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_BASE_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LOD_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MIN_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MIN_LOD_SGIS'.
--
-- The parameter @level@ is a @CheckedInt32@.
--
-- The parameter @internalformat@ is a @InternalFormat@, one of: 'Graphics.GL.Internal.Shared.GL_ALPHA12', 'Graphics.GL.Internal.Shared.GL_ALPHA16', @GL_ALPHA16_ICC_SGIX@, 'Graphics.GL.Internal.Shared.GL_ALPHA4', 'Graphics.GL.Internal.Shared.GL_ALPHA8', @GL_ALPHA_ICC_SGIX@, 'Graphics.GL.Ext.SGIX.DepthTexture.GL_DEPTH_COMPONENT16_SGIX', 'Graphics.GL.Ext.SGIX.DepthTexture.GL_DEPTH_COMPONENT24_SGIX', 'Graphics.GL.Ext.SGIX.DepthTexture.GL_DEPTH_COMPONENT32_SGIX', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_ALPHA12_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_ALPHA16_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_ALPHA4_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_ALPHA8_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_INTENSITY12_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_INTENSITY16_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_INTENSITY4_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_INTENSITY8_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_LUMINANCE12_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_LUMINANCE16_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_LUMINANCE4_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_LUMINANCE8_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_LUMINANCE_ALPHA4_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_LUMINANCE_ALPHA8_SGIS', 'Graphics.GL.Internal.Shared.GL_INTENSITY', 'Graphics.GL.Internal.Shared.GL_INTENSITY12', 'Graphics.GL.Internal.Shared.GL_INTENSITY16', @GL_INTENSITY16_ICC_SGIX@, 'Graphics.GL.Internal.Shared.GL_INTENSITY4', 'Graphics.GL.Internal.Shared.GL_INTENSITY8', @GL_INTENSITY_ICC_SGIX@, 'Graphics.GL.Internal.Shared.GL_LUMINANCE12', 'Graphics.GL.Internal.Shared.GL_LUMINANCE12_ALPHA12', 'Graphics.GL.Internal.Shared.GL_LUMINANCE12_ALPHA4', 'Graphics.GL.Internal.Shared.GL_LUMINANCE16', 'Graphics.GL.Internal.Shared.GL_LUMINANCE16_ALPHA16', @GL_LUMINANCE16_ALPHA8_ICC_SGIX@, @GL_LUMINANCE16_ICC_SGIX@, 'Graphics.GL.Internal.Shared.GL_LUMINANCE4', 'Graphics.GL.Internal.Shared.GL_LUMINANCE4_ALPHA4', 'Graphics.GL.Internal.Shared.GL_LUMINANCE6_ALPHA2', 'Graphics.GL.Internal.Shared.GL_LUMINANCE8', 'Graphics.GL.Internal.Shared.GL_LUMINANCE8_ALPHA8', @GL_LUMINANCE_ALPHA_ICC_SGIX@, @GL_LUMINANCE_ICC_SGIX@, 'Graphics.GL.Ext.SGIS.TextureSelect.GL_QUAD_ALPHA4_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_QUAD_ALPHA8_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_QUAD_INTENSITY4_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_QUAD_INTENSITY8_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_QUAD_LUMINANCE4_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_QUAD_LUMINANCE8_SGIS', 'Graphics.GL.Internal.Shared.GL_R3_G3_B2', @GL_R5_G6_B5_A8_ICC_SGIX@, @GL_R5_G6_B5_ICC_SGIX@, 'Graphics.GL.Internal.Shared.GL_RGB10', 'Graphics.GL.Internal.Shared.GL_RGB10_A2', 'Graphics.GL.Internal.Shared.GL_RGB12', 'Graphics.GL.Internal.Shared.GL_RGB16', 'Graphics.GL.Ext.EXT.Texture.GL_RGB2_EXT', 'Graphics.GL.Internal.Shared.GL_RGB4', 'Graphics.GL.Internal.Shared.GL_RGB5', 'Graphics.GL.Internal.Shared.GL_RGB5_A1', 'Graphics.GL.Internal.Shared.GL_RGB8', 'Graphics.GL.Internal.Shared.GL_RGBA12', 'Graphics.GL.Internal.Shared.GL_RGBA16', 'Graphics.GL.Internal.Shared.GL_RGBA2', 'Graphics.GL.Internal.Shared.GL_RGBA4', 'Graphics.GL.Internal.Shared.GL_RGBA8', @GL_RGBA_ICC_SGIX@, @GL_RGB_ICC_SGIX@.
--
-- The parameter @border@ is a @CheckedInt32@.
--
-- The parameter @data@ is a @CompressedTextureARB@.
--
-- The length of @data@ should be @imageSize@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glCompressedTexImage2D.xhtml>


glCompressedTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr () -> m ()
glCompressedTexImage2D :: GLenum
-> GLsizei
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> Ptr ()
-> m ()
glCompressedTexImage2D = FunPtr
  (GLenum
   -> GLsizei
   -> GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> Ptr ()
   -> IO ())
-> GLenum
-> GLsizei
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> Ptr ()
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei
   -> GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> Ptr ()
   -> IO ())
-> GLenum
-> GLsizei
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> Ptr ()
-> m ()
ffienumintenumsizeisizeiintsizeiPtrVIOV FunPtr
  (GLenum
   -> GLsizei
   -> GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> Ptr ()
   -> IO ())
glCompressedTexImage2DFunPtr

glCompressedTexImage2DFunPtr :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr () -> IO ())
glCompressedTexImage2DFunPtr :: FunPtr
  (GLenum
   -> GLsizei
   -> GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> Ptr ()
   -> IO ())
glCompressedTexImage2DFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei
      -> GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> Ptr ()
      -> IO ()))
-> FunPtr
     (GLenum
      -> GLsizei
      -> GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> Ptr ()
      -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei
         -> GLenum
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> Ptr ()
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glCompressedTexImage2D")

{-# NOINLINE glCompressedTexImage2DFunPtr #-}

-- | Usage: @'glCompressedTexImage3D' target level internalformat width height depth border imageSize data@
--
-- The parameter @target@ is a @TextureTarget@, one of: 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_2D_SGIS', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_1D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_1D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_2D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_2D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_PROXY_TEXTURE_3D_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_PROXY_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_1D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_2D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_3D_EXT', 'Graphics.GL.Ext.OES.Texture3D.GL_TEXTURE_3D_OES', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BASE_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_BASE_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LOD_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MIN_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MIN_LOD_SGIS'.
--
-- The parameter @level@ is a @CheckedInt32@.
--
-- The parameter @internalformat@ is a @InternalFormat@, one of: 'Graphics.GL.Internal.Shared.GL_ALPHA12', 'Graphics.GL.Internal.Shared.GL_ALPHA16', @GL_ALPHA16_ICC_SGIX@, 'Graphics.GL.Internal.Shared.GL_ALPHA4', 'Graphics.GL.Internal.Shared.GL_ALPHA8', @GL_ALPHA_ICC_SGIX@, 'Graphics.GL.Ext.SGIX.DepthTexture.GL_DEPTH_COMPONENT16_SGIX', 'Graphics.GL.Ext.SGIX.DepthTexture.GL_DEPTH_COMPONENT24_SGIX', 'Graphics.GL.Ext.SGIX.DepthTexture.GL_DEPTH_COMPONENT32_SGIX', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_ALPHA12_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_ALPHA16_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_ALPHA4_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_ALPHA8_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_INTENSITY12_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_INTENSITY16_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_INTENSITY4_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_INTENSITY8_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_LUMINANCE12_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_LUMINANCE16_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_LUMINANCE4_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_LUMINANCE8_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_LUMINANCE_ALPHA4_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_LUMINANCE_ALPHA8_SGIS', 'Graphics.GL.Internal.Shared.GL_INTENSITY', 'Graphics.GL.Internal.Shared.GL_INTENSITY12', 'Graphics.GL.Internal.Shared.GL_INTENSITY16', @GL_INTENSITY16_ICC_SGIX@, 'Graphics.GL.Internal.Shared.GL_INTENSITY4', 'Graphics.GL.Internal.Shared.GL_INTENSITY8', @GL_INTENSITY_ICC_SGIX@, 'Graphics.GL.Internal.Shared.GL_LUMINANCE12', 'Graphics.GL.Internal.Shared.GL_LUMINANCE12_ALPHA12', 'Graphics.GL.Internal.Shared.GL_LUMINANCE12_ALPHA4', 'Graphics.GL.Internal.Shared.GL_LUMINANCE16', 'Graphics.GL.Internal.Shared.GL_LUMINANCE16_ALPHA16', @GL_LUMINANCE16_ALPHA8_ICC_SGIX@, @GL_LUMINANCE16_ICC_SGIX@, 'Graphics.GL.Internal.Shared.GL_LUMINANCE4', 'Graphics.GL.Internal.Shared.GL_LUMINANCE4_ALPHA4', 'Graphics.GL.Internal.Shared.GL_LUMINANCE6_ALPHA2', 'Graphics.GL.Internal.Shared.GL_LUMINANCE8', 'Graphics.GL.Internal.Shared.GL_LUMINANCE8_ALPHA8', @GL_LUMINANCE_ALPHA_ICC_SGIX@, @GL_LUMINANCE_ICC_SGIX@, 'Graphics.GL.Ext.SGIS.TextureSelect.GL_QUAD_ALPHA4_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_QUAD_ALPHA8_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_QUAD_INTENSITY4_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_QUAD_INTENSITY8_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_QUAD_LUMINANCE4_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_QUAD_LUMINANCE8_SGIS', 'Graphics.GL.Internal.Shared.GL_R3_G3_B2', @GL_R5_G6_B5_A8_ICC_SGIX@, @GL_R5_G6_B5_ICC_SGIX@, 'Graphics.GL.Internal.Shared.GL_RGB10', 'Graphics.GL.Internal.Shared.GL_RGB10_A2', 'Graphics.GL.Internal.Shared.GL_RGB12', 'Graphics.GL.Internal.Shared.GL_RGB16', 'Graphics.GL.Ext.EXT.Texture.GL_RGB2_EXT', 'Graphics.GL.Internal.Shared.GL_RGB4', 'Graphics.GL.Internal.Shared.GL_RGB5', 'Graphics.GL.Internal.Shared.GL_RGB5_A1', 'Graphics.GL.Internal.Shared.GL_RGB8', 'Graphics.GL.Internal.Shared.GL_RGBA12', 'Graphics.GL.Internal.Shared.GL_RGBA16', 'Graphics.GL.Internal.Shared.GL_RGBA2', 'Graphics.GL.Internal.Shared.GL_RGBA4', 'Graphics.GL.Internal.Shared.GL_RGBA8', @GL_RGBA_ICC_SGIX@, @GL_RGB_ICC_SGIX@.
--
-- The parameter @border@ is a @CheckedInt32@.
--
-- The parameter @data@ is a @CompressedTextureARB@.
--
-- The length of @data@ should be @imageSize@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glCompressedTexImage3D.xhtml>


glCompressedTexImage3D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr () -> m ()
glCompressedTexImage3D :: GLenum
-> GLsizei
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> Ptr ()
-> m ()
glCompressedTexImage3D = FunPtr
  (GLenum
   -> GLsizei
   -> GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> Ptr ()
   -> IO ())
-> GLenum
-> GLsizei
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> Ptr ()
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei
   -> GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> Ptr ()
   -> IO ())
-> GLenum
-> GLsizei
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> Ptr ()
-> m ()
ffienumintenumsizeisizeisizeiintsizeiPtrVIOV FunPtr
  (GLenum
   -> GLsizei
   -> GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> Ptr ()
   -> IO ())
glCompressedTexImage3DFunPtr

glCompressedTexImage3DFunPtr :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr () -> IO ())
glCompressedTexImage3DFunPtr :: FunPtr
  (GLenum
   -> GLsizei
   -> GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> Ptr ()
   -> IO ())
glCompressedTexImage3DFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei
      -> GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> Ptr ()
      -> IO ()))
-> FunPtr
     (GLenum
      -> GLsizei
      -> GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> Ptr ()
      -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei
         -> GLenum
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> Ptr ()
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glCompressedTexImage3D")

{-# NOINLINE glCompressedTexImage3DFunPtr #-}

-- | Usage: @'glCompressedTexSubImage1D' target level xoffset width format imageSize data@
--
-- The parameter @target@ is a @TextureTarget@, one of: 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_2D_SGIS', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_1D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_1D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_2D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_2D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_PROXY_TEXTURE_3D_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_PROXY_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_1D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_2D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_3D_EXT', 'Graphics.GL.Ext.OES.Texture3D.GL_TEXTURE_3D_OES', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BASE_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_BASE_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LOD_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MIN_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MIN_LOD_SGIS'.
--
-- The parameter @level@ is a @CheckedInt32@.
--
-- The parameter @xoffset@ is a @CheckedInt32@.
--
-- The parameter @format@ is a @PixelFormat@, one of: 'Graphics.GL.Ext.EXT.Abgr.GL_ABGR_EXT', 'Graphics.GL.Internal.Shared.GL_ALPHA', 'Graphics.GL.Internal.Shared.GL_BLUE', 'Graphics.GL.Ext.EXT.Cmyka.GL_CMYKA_EXT', 'Graphics.GL.Ext.EXT.Cmyka.GL_CMYK_EXT', 'Graphics.GL.Internal.Shared.GL_COLOR_INDEX', 'Graphics.GL.Internal.Shared.GL_DEPTH_COMPONENT', 'Graphics.GL.Internal.Shared.GL_GREEN', 'Graphics.GL.Internal.Shared.GL_LUMINANCE', 'Graphics.GL.Internal.Shared.GL_LUMINANCE_ALPHA', 'Graphics.GL.Internal.Shared.GL_RED', 'Graphics.GL.Ext.EXT.TextureRg.GL_RED_EXT', 'Graphics.GL.Internal.Shared.GL_RGB', 'Graphics.GL.Internal.Shared.GL_RGBA', 'Graphics.GL.Internal.Shared.GL_STENCIL_INDEX', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_INT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_SHORT', 'Graphics.GL.Ext.SGIX.Ycrcb.GL_YCRCB_422_SGIX', 'Graphics.GL.Ext.SGIX.Ycrcb.GL_YCRCB_444_SGIX'.
--
-- The parameter @data@ is a @CompressedTextureARB@.
--
-- The length of @data@ should be @imageSize@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glCompressedTexSubImage1D.xhtml>


glCompressedTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr () -> m ()
glCompressedTexSubImage1D :: GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLsizei
-> Ptr ()
-> m ()
glCompressedTexSubImage1D = FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLsizei
   -> Ptr ()
   -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLsizei
-> Ptr ()
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLsizei
   -> Ptr ()
   -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLsizei
-> Ptr ()
-> m ()
ffienumintintsizeienumsizeiPtrVIOV FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLsizei
   -> Ptr ()
   -> IO ())
glCompressedTexSubImage1DFunPtr

glCompressedTexSubImage1DFunPtr :: FunPtr (GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ())
glCompressedTexSubImage1DFunPtr :: FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLsizei
   -> Ptr ()
   -> IO ())
glCompressedTexSubImage1DFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLenum
      -> GLsizei
      -> Ptr ()
      -> IO ()))
-> FunPtr
     (GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLenum
      -> GLsizei
      -> Ptr ()
      -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLenum
         -> GLsizei
         -> Ptr ()
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glCompressedTexSubImage1D")

{-# NOINLINE glCompressedTexSubImage1DFunPtr #-}

-- | Usage: @'glCompressedTexSubImage2D' target level xoffset yoffset width height format imageSize data@
--
-- The parameter @target@ is a @TextureTarget@, one of: 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_2D_SGIS', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_1D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_1D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_2D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_2D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_PROXY_TEXTURE_3D_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_PROXY_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_1D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_2D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_3D_EXT', 'Graphics.GL.Ext.OES.Texture3D.GL_TEXTURE_3D_OES', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BASE_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_BASE_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LOD_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MIN_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MIN_LOD_SGIS'.
--
-- The parameter @level@ is a @CheckedInt32@.
--
-- The parameter @xoffset@ is a @CheckedInt32@.
--
-- The parameter @yoffset@ is a @CheckedInt32@.
--
-- The parameter @format@ is a @PixelFormat@, one of: 'Graphics.GL.Ext.EXT.Abgr.GL_ABGR_EXT', 'Graphics.GL.Internal.Shared.GL_ALPHA', 'Graphics.GL.Internal.Shared.GL_BLUE', 'Graphics.GL.Ext.EXT.Cmyka.GL_CMYKA_EXT', 'Graphics.GL.Ext.EXT.Cmyka.GL_CMYK_EXT', 'Graphics.GL.Internal.Shared.GL_COLOR_INDEX', 'Graphics.GL.Internal.Shared.GL_DEPTH_COMPONENT', 'Graphics.GL.Internal.Shared.GL_GREEN', 'Graphics.GL.Internal.Shared.GL_LUMINANCE', 'Graphics.GL.Internal.Shared.GL_LUMINANCE_ALPHA', 'Graphics.GL.Internal.Shared.GL_RED', 'Graphics.GL.Ext.EXT.TextureRg.GL_RED_EXT', 'Graphics.GL.Internal.Shared.GL_RGB', 'Graphics.GL.Internal.Shared.GL_RGBA', 'Graphics.GL.Internal.Shared.GL_STENCIL_INDEX', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_INT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_SHORT', 'Graphics.GL.Ext.SGIX.Ycrcb.GL_YCRCB_422_SGIX', 'Graphics.GL.Ext.SGIX.Ycrcb.GL_YCRCB_444_SGIX'.
--
-- The parameter @data@ is a @CompressedTextureARB@.
--
-- The length of @data@ should be @imageSize@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glCompressedTexSubImage2D.xhtml>


glCompressedTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> m ()
glCompressedTexSubImage2D :: GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLsizei
-> Ptr ()
-> m ()
glCompressedTexSubImage2D = FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLsizei
   -> Ptr ()
   -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLsizei
-> Ptr ()
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLsizei
   -> Ptr ()
   -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLsizei
-> Ptr ()
-> m ()
ffienumintintintsizeisizeienumsizeiPtrVIOV FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLsizei
   -> Ptr ()
   -> IO ())
glCompressedTexSubImage2DFunPtr

glCompressedTexSubImage2DFunPtr :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ())
glCompressedTexSubImage2DFunPtr :: FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLsizei
   -> Ptr ()
   -> IO ())
glCompressedTexSubImage2DFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLenum
      -> GLsizei
      -> Ptr ()
      -> IO ()))
-> FunPtr
     (GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLenum
      -> GLsizei
      -> Ptr ()
      -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLenum
         -> GLsizei
         -> Ptr ()
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glCompressedTexSubImage2D")

{-# NOINLINE glCompressedTexSubImage2DFunPtr #-}

-- | Usage: @'glCompressedTexSubImage3D' target level xoffset yoffset zoffset width height depth format imageSize data@
--
-- The parameter @target@ is a @TextureTarget@, one of: 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_2D_SGIS', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_1D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_1D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_2D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_2D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_PROXY_TEXTURE_3D_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_PROXY_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_1D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_2D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_3D_EXT', 'Graphics.GL.Ext.OES.Texture3D.GL_TEXTURE_3D_OES', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BASE_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_BASE_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LOD_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MIN_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MIN_LOD_SGIS'.
--
-- The parameter @level@ is a @CheckedInt32@.
--
-- The parameter @xoffset@ is a @CheckedInt32@.
--
-- The parameter @yoffset@ is a @CheckedInt32@.
--
-- The parameter @zoffset@ is a @CheckedInt32@.
--
-- The parameter @format@ is a @PixelFormat@, one of: 'Graphics.GL.Ext.EXT.Abgr.GL_ABGR_EXT', 'Graphics.GL.Internal.Shared.GL_ALPHA', 'Graphics.GL.Internal.Shared.GL_BLUE', 'Graphics.GL.Ext.EXT.Cmyka.GL_CMYKA_EXT', 'Graphics.GL.Ext.EXT.Cmyka.GL_CMYK_EXT', 'Graphics.GL.Internal.Shared.GL_COLOR_INDEX', 'Graphics.GL.Internal.Shared.GL_DEPTH_COMPONENT', 'Graphics.GL.Internal.Shared.GL_GREEN', 'Graphics.GL.Internal.Shared.GL_LUMINANCE', 'Graphics.GL.Internal.Shared.GL_LUMINANCE_ALPHA', 'Graphics.GL.Internal.Shared.GL_RED', 'Graphics.GL.Ext.EXT.TextureRg.GL_RED_EXT', 'Graphics.GL.Internal.Shared.GL_RGB', 'Graphics.GL.Internal.Shared.GL_RGBA', 'Graphics.GL.Internal.Shared.GL_STENCIL_INDEX', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_INT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_SHORT', 'Graphics.GL.Ext.SGIX.Ycrcb.GL_YCRCB_422_SGIX', 'Graphics.GL.Ext.SGIX.Ycrcb.GL_YCRCB_444_SGIX'.
--
-- The parameter @data@ is a @CompressedTextureARB@.
--
-- The length of @data@ should be @imageSize@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glCompressedTexSubImage3D.xhtml>


glCompressedTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> m ()
glCompressedTexSubImage3D :: GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLsizei
-> Ptr ()
-> m ()
glCompressedTexSubImage3D = FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLsizei
   -> Ptr ()
   -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLsizei
-> Ptr ()
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLsizei
   -> Ptr ()
   -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLsizei
-> Ptr ()
-> m ()
ffienumintintintintsizeisizeisizeienumsizeiPtrVIOV FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLsizei
   -> Ptr ()
   -> IO ())
glCompressedTexSubImage3DFunPtr

glCompressedTexSubImage3DFunPtr :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ())
glCompressedTexSubImage3DFunPtr :: FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLsizei
   -> Ptr ()
   -> IO ())
glCompressedTexSubImage3DFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLenum
      -> GLsizei
      -> Ptr ()
      -> IO ()))
-> FunPtr
     (GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLenum
      -> GLsizei
      -> Ptr ()
      -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLenum
         -> GLsizei
         -> Ptr ()
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glCompressedTexSubImage3D")

{-# NOINLINE glCompressedTexSubImage3DFunPtr #-}

-- | Usage: @'glCopyBufferSubData' readTarget writeTarget readOffset writeOffset size@
--
-- The parameter @readOffset@ is a @BufferOffset@.
--
-- The parameter @writeOffset@ is a @BufferOffset@.
--
-- The parameter @size@ is a @BufferSize@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glCopyBufferSubData.xhtml>


glCopyBufferSubData :: MonadIO m => GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> m ()
glCopyBufferSubData :: GLenum -> GLenum -> GLintptr -> GLintptr -> GLintptr -> m ()
glCopyBufferSubData = FunPtr
  (GLenum -> GLenum -> GLintptr -> GLintptr -> GLintptr -> IO ())
-> GLenum -> GLenum -> GLintptr -> GLintptr -> GLintptr -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum -> GLenum -> GLintptr -> GLintptr -> GLintptr -> IO ())
-> GLenum -> GLenum -> GLintptr -> GLintptr -> GLintptr -> m ()
ffienumenumintptrintptrsizeiptrIOV FunPtr
  (GLenum -> GLenum -> GLintptr -> GLintptr -> GLintptr -> IO ())
glCopyBufferSubDataFunPtr

glCopyBufferSubDataFunPtr :: FunPtr (GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> IO ())
glCopyBufferSubDataFunPtr :: FunPtr
  (GLenum -> GLenum -> GLintptr -> GLintptr -> GLintptr -> IO ())
glCopyBufferSubDataFunPtr = IO
  (FunPtr
     (GLenum -> GLenum -> GLintptr -> GLintptr -> GLintptr -> IO ()))
-> FunPtr
     (GLenum -> GLenum -> GLintptr -> GLintptr -> GLintptr -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum -> GLenum -> GLintptr -> GLintptr -> GLintptr -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glCopyBufferSubData")

{-# NOINLINE glCopyBufferSubDataFunPtr #-}

-- | Usage: @'glCopyTexImage1D' target level internalformat x y width border@
--
-- The parameter @target@ is a @TextureTarget@, one of: 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_2D_SGIS', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_1D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_1D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_2D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_2D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_PROXY_TEXTURE_3D_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_PROXY_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_1D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_2D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_3D_EXT', 'Graphics.GL.Ext.OES.Texture3D.GL_TEXTURE_3D_OES', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BASE_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_BASE_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LOD_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MIN_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MIN_LOD_SGIS'.
--
-- The parameter @level@ is a @CheckedInt32@.
--
-- The parameter @internalformat@ is a @InternalFormat@, one of: 'Graphics.GL.Internal.Shared.GL_ALPHA12', 'Graphics.GL.Internal.Shared.GL_ALPHA16', @GL_ALPHA16_ICC_SGIX@, 'Graphics.GL.Internal.Shared.GL_ALPHA4', 'Graphics.GL.Internal.Shared.GL_ALPHA8', @GL_ALPHA_ICC_SGIX@, 'Graphics.GL.Ext.SGIX.DepthTexture.GL_DEPTH_COMPONENT16_SGIX', 'Graphics.GL.Ext.SGIX.DepthTexture.GL_DEPTH_COMPONENT24_SGIX', 'Graphics.GL.Ext.SGIX.DepthTexture.GL_DEPTH_COMPONENT32_SGIX', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_ALPHA12_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_ALPHA16_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_ALPHA4_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_ALPHA8_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_INTENSITY12_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_INTENSITY16_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_INTENSITY4_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_INTENSITY8_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_LUMINANCE12_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_LUMINANCE16_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_LUMINANCE4_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_LUMINANCE8_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_LUMINANCE_ALPHA4_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_LUMINANCE_ALPHA8_SGIS', 'Graphics.GL.Internal.Shared.GL_INTENSITY', 'Graphics.GL.Internal.Shared.GL_INTENSITY12', 'Graphics.GL.Internal.Shared.GL_INTENSITY16', @GL_INTENSITY16_ICC_SGIX@, 'Graphics.GL.Internal.Shared.GL_INTENSITY4', 'Graphics.GL.Internal.Shared.GL_INTENSITY8', @GL_INTENSITY_ICC_SGIX@, 'Graphics.GL.Internal.Shared.GL_LUMINANCE12', 'Graphics.GL.Internal.Shared.GL_LUMINANCE12_ALPHA12', 'Graphics.GL.Internal.Shared.GL_LUMINANCE12_ALPHA4', 'Graphics.GL.Internal.Shared.GL_LUMINANCE16', 'Graphics.GL.Internal.Shared.GL_LUMINANCE16_ALPHA16', @GL_LUMINANCE16_ALPHA8_ICC_SGIX@, @GL_LUMINANCE16_ICC_SGIX@, 'Graphics.GL.Internal.Shared.GL_LUMINANCE4', 'Graphics.GL.Internal.Shared.GL_LUMINANCE4_ALPHA4', 'Graphics.GL.Internal.Shared.GL_LUMINANCE6_ALPHA2', 'Graphics.GL.Internal.Shared.GL_LUMINANCE8', 'Graphics.GL.Internal.Shared.GL_LUMINANCE8_ALPHA8', @GL_LUMINANCE_ALPHA_ICC_SGIX@, @GL_LUMINANCE_ICC_SGIX@, 'Graphics.GL.Ext.SGIS.TextureSelect.GL_QUAD_ALPHA4_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_QUAD_ALPHA8_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_QUAD_INTENSITY4_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_QUAD_INTENSITY8_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_QUAD_LUMINANCE4_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_QUAD_LUMINANCE8_SGIS', 'Graphics.GL.Internal.Shared.GL_R3_G3_B2', @GL_R5_G6_B5_A8_ICC_SGIX@, @GL_R5_G6_B5_ICC_SGIX@, 'Graphics.GL.Internal.Shared.GL_RGB10', 'Graphics.GL.Internal.Shared.GL_RGB10_A2', 'Graphics.GL.Internal.Shared.GL_RGB12', 'Graphics.GL.Internal.Shared.GL_RGB16', 'Graphics.GL.Ext.EXT.Texture.GL_RGB2_EXT', 'Graphics.GL.Internal.Shared.GL_RGB4', 'Graphics.GL.Internal.Shared.GL_RGB5', 'Graphics.GL.Internal.Shared.GL_RGB5_A1', 'Graphics.GL.Internal.Shared.GL_RGB8', 'Graphics.GL.Internal.Shared.GL_RGBA12', 'Graphics.GL.Internal.Shared.GL_RGBA16', 'Graphics.GL.Internal.Shared.GL_RGBA2', 'Graphics.GL.Internal.Shared.GL_RGBA4', 'Graphics.GL.Internal.Shared.GL_RGBA8', @GL_RGBA_ICC_SGIX@, @GL_RGB_ICC_SGIX@.
--
-- The parameter @x@ is a @WinCoord@.
--
-- The parameter @y@ is a @WinCoord@.
--
-- The parameter @border@ is a @CheckedInt32@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glCopyTexImage1D.xhtml>


glCopyTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()
glCopyTexImage1D :: GLenum
-> GLsizei
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> m ()
glCopyTexImage1D = FunPtr
  (GLenum
   -> GLsizei
   -> GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> IO ())
-> GLenum
-> GLsizei
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei
   -> GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> IO ())
-> GLenum
-> GLsizei
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> m ()
ffienumintenumintintsizeiintIOV FunPtr
  (GLenum
   -> GLsizei
   -> GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> IO ())
glCopyTexImage1DFunPtr

glCopyTexImage1DFunPtr :: FunPtr (GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> IO ())
glCopyTexImage1DFunPtr :: FunPtr
  (GLenum
   -> GLsizei
   -> GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> IO ())
glCopyTexImage1DFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei
      -> GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> IO ()))
-> FunPtr
     (GLenum
      -> GLsizei
      -> GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei
         -> GLenum
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glCopyTexImage1D")

{-# NOINLINE glCopyTexImage1DFunPtr #-}

-- | Usage: @'glCopyTexImage2D' target level internalformat x y width height border@
--
-- The parameter @target@ is a @TextureTarget@, one of: 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_2D_SGIS', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_1D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_1D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_2D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_2D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_PROXY_TEXTURE_3D_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_PROXY_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_1D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_2D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_3D_EXT', 'Graphics.GL.Ext.OES.Texture3D.GL_TEXTURE_3D_OES', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BASE_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_BASE_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LOD_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MIN_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MIN_LOD_SGIS'.
--
-- The parameter @level@ is a @CheckedInt32@.
--
-- The parameter @internalformat@ is a @InternalFormat@, one of: 'Graphics.GL.Internal.Shared.GL_ALPHA12', 'Graphics.GL.Internal.Shared.GL_ALPHA16', @GL_ALPHA16_ICC_SGIX@, 'Graphics.GL.Internal.Shared.GL_ALPHA4', 'Graphics.GL.Internal.Shared.GL_ALPHA8', @GL_ALPHA_ICC_SGIX@, 'Graphics.GL.Ext.SGIX.DepthTexture.GL_DEPTH_COMPONENT16_SGIX', 'Graphics.GL.Ext.SGIX.DepthTexture.GL_DEPTH_COMPONENT24_SGIX', 'Graphics.GL.Ext.SGIX.DepthTexture.GL_DEPTH_COMPONENT32_SGIX', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_ALPHA12_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_ALPHA16_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_ALPHA4_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_ALPHA8_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_INTENSITY12_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_INTENSITY16_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_INTENSITY4_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_INTENSITY8_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_LUMINANCE12_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_LUMINANCE16_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_LUMINANCE4_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_LUMINANCE8_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_LUMINANCE_ALPHA4_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_LUMINANCE_ALPHA8_SGIS', 'Graphics.GL.Internal.Shared.GL_INTENSITY', 'Graphics.GL.Internal.Shared.GL_INTENSITY12', 'Graphics.GL.Internal.Shared.GL_INTENSITY16', @GL_INTENSITY16_ICC_SGIX@, 'Graphics.GL.Internal.Shared.GL_INTENSITY4', 'Graphics.GL.Internal.Shared.GL_INTENSITY8', @GL_INTENSITY_ICC_SGIX@, 'Graphics.GL.Internal.Shared.GL_LUMINANCE12', 'Graphics.GL.Internal.Shared.GL_LUMINANCE12_ALPHA12', 'Graphics.GL.Internal.Shared.GL_LUMINANCE12_ALPHA4', 'Graphics.GL.Internal.Shared.GL_LUMINANCE16', 'Graphics.GL.Internal.Shared.GL_LUMINANCE16_ALPHA16', @GL_LUMINANCE16_ALPHA8_ICC_SGIX@, @GL_LUMINANCE16_ICC_SGIX@, 'Graphics.GL.Internal.Shared.GL_LUMINANCE4', 'Graphics.GL.Internal.Shared.GL_LUMINANCE4_ALPHA4', 'Graphics.GL.Internal.Shared.GL_LUMINANCE6_ALPHA2', 'Graphics.GL.Internal.Shared.GL_LUMINANCE8', 'Graphics.GL.Internal.Shared.GL_LUMINANCE8_ALPHA8', @GL_LUMINANCE_ALPHA_ICC_SGIX@, @GL_LUMINANCE_ICC_SGIX@, 'Graphics.GL.Ext.SGIS.TextureSelect.GL_QUAD_ALPHA4_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_QUAD_ALPHA8_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_QUAD_INTENSITY4_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_QUAD_INTENSITY8_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_QUAD_LUMINANCE4_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_QUAD_LUMINANCE8_SGIS', 'Graphics.GL.Internal.Shared.GL_R3_G3_B2', @GL_R5_G6_B5_A8_ICC_SGIX@, @GL_R5_G6_B5_ICC_SGIX@, 'Graphics.GL.Internal.Shared.GL_RGB10', 'Graphics.GL.Internal.Shared.GL_RGB10_A2', 'Graphics.GL.Internal.Shared.GL_RGB12', 'Graphics.GL.Internal.Shared.GL_RGB16', 'Graphics.GL.Ext.EXT.Texture.GL_RGB2_EXT', 'Graphics.GL.Internal.Shared.GL_RGB4', 'Graphics.GL.Internal.Shared.GL_RGB5', 'Graphics.GL.Internal.Shared.GL_RGB5_A1', 'Graphics.GL.Internal.Shared.GL_RGB8', 'Graphics.GL.Internal.Shared.GL_RGBA12', 'Graphics.GL.Internal.Shared.GL_RGBA16', 'Graphics.GL.Internal.Shared.GL_RGBA2', 'Graphics.GL.Internal.Shared.GL_RGBA4', 'Graphics.GL.Internal.Shared.GL_RGBA8', @GL_RGBA_ICC_SGIX@, @GL_RGB_ICC_SGIX@.
--
-- The parameter @x@ is a @WinCoord@.
--
-- The parameter @y@ is a @WinCoord@.
--
-- The parameter @border@ is a @CheckedInt32@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glCopyTexImage2D.xhtml>


glCopyTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()
glCopyTexImage2D :: GLenum
-> GLsizei
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> m ()
glCopyTexImage2D = FunPtr
  (GLenum
   -> GLsizei
   -> GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> IO ())
-> GLenum
-> GLsizei
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei
   -> GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> IO ())
-> GLenum
-> GLsizei
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> m ()
ffienumintenumintintsizeisizeiintIOV FunPtr
  (GLenum
   -> GLsizei
   -> GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> IO ())
glCopyTexImage2DFunPtr

glCopyTexImage2DFunPtr :: FunPtr (GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> IO ())
glCopyTexImage2DFunPtr :: FunPtr
  (GLenum
   -> GLsizei
   -> GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> IO ())
glCopyTexImage2DFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei
      -> GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> IO ()))
-> FunPtr
     (GLenum
      -> GLsizei
      -> GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei
         -> GLenum
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glCopyTexImage2D")

{-# NOINLINE glCopyTexImage2DFunPtr #-}

-- | Usage: @'glCopyTexSubImage1D' target level xoffset x y width@
--
-- The parameter @target@ is a @TextureTarget@, one of: 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_2D_SGIS', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_1D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_1D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_2D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_2D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_PROXY_TEXTURE_3D_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_PROXY_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_1D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_2D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_3D_EXT', 'Graphics.GL.Ext.OES.Texture3D.GL_TEXTURE_3D_OES', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BASE_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_BASE_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LOD_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MIN_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MIN_LOD_SGIS'.
--
-- The parameter @level@ is a @CheckedInt32@.
--
-- The parameter @xoffset@ is a @CheckedInt32@.
--
-- The parameter @x@ is a @WinCoord@.
--
-- The parameter @y@ is a @WinCoord@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glCopyTexSubImage1D.xhtml>


glCopyTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()
glCopyTexSubImage1D :: GLenum
-> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> m ()
glCopyTexSubImage1D = FunPtr
  (GLenum
   -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> m ()
ffienumintintintintsizeiIOV FunPtr
  (GLenum
   -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
glCopyTexSubImage1DFunPtr

glCopyTexSubImage1DFunPtr :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ())
glCopyTexSubImage1DFunPtr :: FunPtr
  (GLenum
   -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
glCopyTexSubImage1DFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ()))
-> FunPtr
     (GLenum
      -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glCopyTexSubImage1D")

{-# NOINLINE glCopyTexSubImage1DFunPtr #-}

-- | Usage: @'glCopyTexSubImage2D' target level xoffset yoffset x y width height@
--
-- The parameter @target@ is a @TextureTarget@, one of: 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_2D_SGIS', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_1D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_1D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_2D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_2D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_PROXY_TEXTURE_3D_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_PROXY_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_1D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_2D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_3D_EXT', 'Graphics.GL.Ext.OES.Texture3D.GL_TEXTURE_3D_OES', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BASE_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_BASE_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LOD_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MIN_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MIN_LOD_SGIS'.
--
-- The parameter @level@ is a @CheckedInt32@.
--
-- The parameter @xoffset@ is a @CheckedInt32@.
--
-- The parameter @yoffset@ is a @CheckedInt32@.
--
-- The parameter @x@ is a @WinCoord@.
--
-- The parameter @y@ is a @WinCoord@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glCopyTexSubImage2D.xhtml>


glCopyTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()
glCopyTexSubImage2D :: GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> m ()
glCopyTexSubImage2D = FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> m ()
ffienumintintintintintsizeisizeiIOV FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> IO ())
glCopyTexSubImage2DFunPtr

glCopyTexSubImage2DFunPtr :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
glCopyTexSubImage2DFunPtr :: FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> IO ())
glCopyTexSubImage2DFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> IO ()))
-> FunPtr
     (GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glCopyTexSubImage2D")

{-# NOINLINE glCopyTexSubImage2DFunPtr #-}

-- | Usage: @'glCopyTexSubImage3D' target level xoffset yoffset zoffset x y width height@
--
-- The parameter @target@ is a @TextureTarget@, one of: 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_2D_SGIS', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_1D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_1D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_2D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_2D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_PROXY_TEXTURE_3D_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_PROXY_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_1D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_2D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_3D_EXT', 'Graphics.GL.Ext.OES.Texture3D.GL_TEXTURE_3D_OES', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BASE_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_BASE_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LOD_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MIN_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MIN_LOD_SGIS'.
--
-- The parameter @level@ is a @CheckedInt32@.
--
-- The parameter @xoffset@ is a @CheckedInt32@.
--
-- The parameter @yoffset@ is a @CheckedInt32@.
--
-- The parameter @zoffset@ is a @CheckedInt32@.
--
-- The parameter @x@ is a @WinCoord@.
--
-- The parameter @y@ is a @WinCoord@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glCopyTexSubImage3D.xhtml>


glCopyTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()
glCopyTexSubImage3D :: GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> m ()
glCopyTexSubImage3D = FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> m ()
ffienumintintintintintintsizeisizeiIOV FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> IO ())
glCopyTexSubImage3DFunPtr

glCopyTexSubImage3DFunPtr :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
glCopyTexSubImage3DFunPtr :: FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> IO ())
glCopyTexSubImage3DFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> IO ()))
-> FunPtr
     (GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glCopyTexSubImage3D")

{-# NOINLINE glCopyTexSubImage3DFunPtr #-}

-- | Usage: @'glCreateProgram'@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glCreateProgram.xhtml>


glCreateProgram :: MonadIO m => m GLuint
glCreateProgram :: m GLenum
glCreateProgram = FunPtr (IO GLenum) -> m GLenum
forall (m :: * -> *). MonadIO m => FunPtr (IO GLenum) -> m GLenum
ffiIOuint FunPtr (IO GLenum)
glCreateProgramFunPtr

glCreateProgramFunPtr :: FunPtr (IO GLuint)
glCreateProgramFunPtr :: FunPtr (IO GLenum)
glCreateProgramFunPtr = IO (FunPtr (IO GLenum)) -> FunPtr (IO GLenum)
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (IO GLenum))
forall a. String -> IO (FunPtr a)
getProcAddress "glCreateProgram")

{-# NOINLINE glCreateProgramFunPtr #-}

-- | Usage: @'glCreateShader' type@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glCreateShader.xhtml>


glCreateShader :: MonadIO m => GLenum -> m GLuint
glCreateShader :: GLenum -> m GLenum
glCreateShader = FunPtr (GLenum -> IO GLenum) -> GLenum -> m GLenum
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO GLenum) -> GLenum -> m GLenum
ffienumIOuint FunPtr (GLenum -> IO GLenum)
glCreateShaderFunPtr

glCreateShaderFunPtr :: FunPtr (GLenum -> IO GLuint)
glCreateShaderFunPtr :: FunPtr (GLenum -> IO GLenum)
glCreateShaderFunPtr = IO (FunPtr (GLenum -> IO GLenum)) -> FunPtr (GLenum -> IO GLenum)
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO GLenum))
forall a. String -> IO (FunPtr a)
getProcAddress "glCreateShader")

{-# NOINLINE glCreateShaderFunPtr #-}

-- | Usage: @'glCullFace' mode@
--
-- The parameter @mode@ is a @CullFaceMode@, one of: 'Graphics.GL.Internal.Shared.GL_BACK', 'Graphics.GL.Internal.Shared.GL_FRONT', 'Graphics.GL.Internal.Shared.GL_FRONT_AND_BACK'.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glCullFace.xhtml>


glCullFace :: MonadIO m => GLenum -> m ()
glCullFace :: GLenum -> m ()
glCullFace = FunPtr (GLenum -> IO ()) -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO ()) -> GLenum -> m ()
ffienumIOV FunPtr (GLenum -> IO ())
glCullFaceFunPtr

glCullFaceFunPtr :: FunPtr (GLenum -> IO ())
glCullFaceFunPtr :: FunPtr (GLenum -> IO ())
glCullFaceFunPtr = IO (FunPtr (GLenum -> IO ())) -> FunPtr (GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glCullFace")

{-# NOINLINE glCullFaceFunPtr #-}

-- | Usage: @'glDeleteBuffers' n buffers@
--
-- The length of @buffers@ should be @n@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glDeleteBuffers.xhtml>


glDeleteBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glDeleteBuffers :: GLsizei -> Ptr GLenum -> m ()
glDeleteBuffers = FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
ffisizeiPtruintIOV FunPtr (GLsizei -> Ptr GLenum -> IO ())
glDeleteBuffersFunPtr

glDeleteBuffersFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glDeleteBuffersFunPtr :: FunPtr (GLsizei -> Ptr GLenum -> IO ())
glDeleteBuffersFunPtr = IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glDeleteBuffers")

{-# NOINLINE glDeleteBuffersFunPtr #-}

-- | Usage: @'glDeleteFramebuffers' n framebuffers@
--
-- The length of @framebuffers@ should be @n@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glDeleteFramebuffers.xhtml>


glDeleteFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glDeleteFramebuffers :: GLsizei -> Ptr GLenum -> m ()
glDeleteFramebuffers = FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
ffisizeiPtruintIOV FunPtr (GLsizei -> Ptr GLenum -> IO ())
glDeleteFramebuffersFunPtr

glDeleteFramebuffersFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glDeleteFramebuffersFunPtr :: FunPtr (GLsizei -> Ptr GLenum -> IO ())
glDeleteFramebuffersFunPtr = IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glDeleteFramebuffers")

{-# NOINLINE glDeleteFramebuffersFunPtr #-}

-- | Usage: @'glDeleteProgram' program@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glDeleteProgram.xhtml>


glDeleteProgram :: MonadIO m => GLuint -> m ()
glDeleteProgram :: GLenum -> m ()
glDeleteProgram = FunPtr (GLenum -> IO ()) -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO ()) -> GLenum -> m ()
ffiuintIOV FunPtr (GLenum -> IO ())
glDeleteProgramFunPtr

glDeleteProgramFunPtr :: FunPtr (GLuint -> IO ())
glDeleteProgramFunPtr :: FunPtr (GLenum -> IO ())
glDeleteProgramFunPtr = IO (FunPtr (GLenum -> IO ())) -> FunPtr (GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glDeleteProgram")

{-# NOINLINE glDeleteProgramFunPtr #-}

-- | Usage: @'glDeleteQueries' n ids@
--
-- The length of @ids@ should be @n@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glDeleteQueries.xhtml>


glDeleteQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glDeleteQueries :: GLsizei -> Ptr GLenum -> m ()
glDeleteQueries = FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
ffisizeiPtruintIOV FunPtr (GLsizei -> Ptr GLenum -> IO ())
glDeleteQueriesFunPtr

glDeleteQueriesFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glDeleteQueriesFunPtr :: FunPtr (GLsizei -> Ptr GLenum -> IO ())
glDeleteQueriesFunPtr = IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glDeleteQueries")

{-# NOINLINE glDeleteQueriesFunPtr #-}

-- | Usage: @'glDeleteRenderbuffers' n renderbuffers@
--
-- The length of @renderbuffers@ should be @n@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glDeleteRenderbuffers.xhtml>


glDeleteRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glDeleteRenderbuffers :: GLsizei -> Ptr GLenum -> m ()
glDeleteRenderbuffers = FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
ffisizeiPtruintIOV FunPtr (GLsizei -> Ptr GLenum -> IO ())
glDeleteRenderbuffersFunPtr

glDeleteRenderbuffersFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glDeleteRenderbuffersFunPtr :: FunPtr (GLsizei -> Ptr GLenum -> IO ())
glDeleteRenderbuffersFunPtr = IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glDeleteRenderbuffers")

{-# NOINLINE glDeleteRenderbuffersFunPtr #-}

-- | Usage: @'glDeleteShader' shader@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glDeleteShader.xhtml>


glDeleteShader :: MonadIO m => GLuint -> m ()
glDeleteShader :: GLenum -> m ()
glDeleteShader = FunPtr (GLenum -> IO ()) -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO ()) -> GLenum -> m ()
ffiuintIOV FunPtr (GLenum -> IO ())
glDeleteShaderFunPtr

glDeleteShaderFunPtr :: FunPtr (GLuint -> IO ())
glDeleteShaderFunPtr :: FunPtr (GLenum -> IO ())
glDeleteShaderFunPtr = IO (FunPtr (GLenum -> IO ())) -> FunPtr (GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glDeleteShader")

{-# NOINLINE glDeleteShaderFunPtr #-}

-- | Usage: @'glDeleteSync' sync@
--
-- The parameter @sync@ is a @sync@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glDeleteSync.xhtml>


glDeleteSync :: MonadIO m => GLsync -> m ()
glDeleteSync :: Ptr () -> m ()
glDeleteSync = FunPtr (Ptr () -> IO ()) -> Ptr () -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr () -> IO ()) -> Ptr () -> m ()
ffisyncIOV FunPtr (Ptr () -> IO ())
glDeleteSyncFunPtr

glDeleteSyncFunPtr :: FunPtr (GLsync -> IO ())
glDeleteSyncFunPtr :: FunPtr (Ptr () -> IO ())
glDeleteSyncFunPtr = IO (FunPtr (Ptr () -> IO ())) -> FunPtr (Ptr () -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr () -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glDeleteSync")

{-# NOINLINE glDeleteSyncFunPtr #-}

-- | Usage: @'glDeleteTextures' n textures@
--
-- The parameter @textures@ is a @Texture@.
--
-- The length of @textures@ should be @n@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glDeleteTextures.xhtml>


glDeleteTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glDeleteTextures :: GLsizei -> Ptr GLenum -> m ()
glDeleteTextures = FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
ffisizeiPtruintIOV FunPtr (GLsizei -> Ptr GLenum -> IO ())
glDeleteTexturesFunPtr

glDeleteTexturesFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glDeleteTexturesFunPtr :: FunPtr (GLsizei -> Ptr GLenum -> IO ())
glDeleteTexturesFunPtr = IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glDeleteTextures")

{-# NOINLINE glDeleteTexturesFunPtr #-}

-- | Usage: @'glDeleteVertexArrays' n arrays@
--
-- The length of @arrays@ should be @n@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glDeleteVertexArrays.xhtml>


glDeleteVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glDeleteVertexArrays :: GLsizei -> Ptr GLenum -> m ()
glDeleteVertexArrays = FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
ffisizeiPtruintIOV FunPtr (GLsizei -> Ptr GLenum -> IO ())
glDeleteVertexArraysFunPtr

glDeleteVertexArraysFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glDeleteVertexArraysFunPtr :: FunPtr (GLsizei -> Ptr GLenum -> IO ())
glDeleteVertexArraysFunPtr = IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glDeleteVertexArrays")

{-# NOINLINE glDeleteVertexArraysFunPtr #-}

-- | Usage: @'glDepthFunc' func@
--
-- The parameter @func@ is a @DepthFunction@, one of: 'Graphics.GL.Internal.Shared.GL_ALWAYS', 'Graphics.GL.Internal.Shared.GL_EQUAL', 'Graphics.GL.Internal.Shared.GL_GEQUAL', 'Graphics.GL.Internal.Shared.GL_GREATER', 'Graphics.GL.Internal.Shared.GL_LEQUAL', 'Graphics.GL.Internal.Shared.GL_LESS', 'Graphics.GL.Internal.Shared.GL_NEVER', 'Graphics.GL.Internal.Shared.GL_NOTEQUAL'.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glDepthFunc.xhtml>


glDepthFunc :: MonadIO m => GLenum -> m ()
glDepthFunc :: GLenum -> m ()
glDepthFunc = FunPtr (GLenum -> IO ()) -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO ()) -> GLenum -> m ()
ffienumIOV FunPtr (GLenum -> IO ())
glDepthFuncFunPtr

glDepthFuncFunPtr :: FunPtr (GLenum -> IO ())
glDepthFuncFunPtr :: FunPtr (GLenum -> IO ())
glDepthFuncFunPtr = IO (FunPtr (GLenum -> IO ())) -> FunPtr (GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glDepthFunc")

{-# NOINLINE glDepthFuncFunPtr #-}

-- | Usage: @'glDepthMask' flag@
--
-- The parameter @flag@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glDepthMask.xhtml>


glDepthMask :: MonadIO m => GLboolean -> m ()
glDepthMask :: GLboolean -> m ()
glDepthMask = FunPtr (GLboolean -> IO ()) -> GLboolean -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLboolean -> IO ()) -> GLboolean -> m ()
ffibooleanIOV FunPtr (GLboolean -> IO ())
glDepthMaskFunPtr

glDepthMaskFunPtr :: FunPtr (GLboolean -> IO ())
glDepthMaskFunPtr :: FunPtr (GLboolean -> IO ())
glDepthMaskFunPtr = IO (FunPtr (GLboolean -> IO ())) -> FunPtr (GLboolean -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLboolean -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glDepthMask")

{-# NOINLINE glDepthMaskFunPtr #-}

-- | Usage: @'glDepthRange' near far@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glDepthRange.xhtml>


glDepthRange :: MonadIO m => GLdouble -> GLdouble -> m ()
glDepthRange :: GLdouble -> GLdouble -> m ()
glDepthRange = FunPtr (GLdouble -> GLdouble -> IO ())
-> GLdouble -> GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLdouble -> GLdouble -> IO ())
-> GLdouble -> GLdouble -> m ()
ffidoubledoubleIOV FunPtr (GLdouble -> GLdouble -> IO ())
glDepthRangeFunPtr

glDepthRangeFunPtr :: FunPtr (GLdouble -> GLdouble -> IO ())
glDepthRangeFunPtr :: FunPtr (GLdouble -> GLdouble -> IO ())
glDepthRangeFunPtr = IO (FunPtr (GLdouble -> GLdouble -> IO ()))
-> FunPtr (GLdouble -> GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLdouble -> GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glDepthRange")

{-# NOINLINE glDepthRangeFunPtr #-}

-- | Usage: @'glDetachShader' program shader@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glDetachShader.xhtml>


glDetachShader :: MonadIO m => GLuint -> GLuint -> m ()
glDetachShader :: GLenum -> GLenum -> m ()
glDetachShader = FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
ffiuintuintIOV FunPtr (GLenum -> GLenum -> IO ())
glDetachShaderFunPtr

glDetachShaderFunPtr :: FunPtr (GLuint -> GLuint -> IO ())
glDetachShaderFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glDetachShaderFunPtr = IO (FunPtr (GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glDetachShader")

{-# NOINLINE glDetachShaderFunPtr #-}

-- | Usage: @'glDisable' cap@
--
-- The parameter @cap@ is a @EnableCap@, one of: 'Graphics.GL.Internal.Shared.GL_ALPHA_TEST', 'Graphics.GL.Ext.SGIX.AsyncPixel.GL_ASYNC_DRAW_PIXELS_SGIX', 'Graphics.GL.Ext.SGIX.AsyncHistogram.GL_ASYNC_HISTOGRAM_SGIX', 'Graphics.GL.Ext.SGIX.AsyncPixel.GL_ASYNC_READ_PIXELS_SGIX', 'Graphics.GL.Ext.SGIX.AsyncPixel.GL_ASYNC_TEX_IMAGE_SGIX', 'Graphics.GL.Internal.Shared.GL_AUTO_NORMAL', 'Graphics.GL.Internal.Shared.GL_BLEND', 'Graphics.GL.Ext.SGIX.CalligraphicFragment.GL_CALLIGRAPHIC_FRAGMENT_SGIX', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE0', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE1', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE2', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE3', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE4', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE5', 'Graphics.GL.Internal.Shared.GL_COLOR_ARRAY', 'Graphics.GL.Internal.Shared.GL_COLOR_LOGIC_OP', 'Graphics.GL.Internal.Shared.GL_COLOR_MATERIAL', 'Graphics.GL.Ext.SGI.ColorTable.GL_COLOR_TABLE_SGI', 'Graphics.GL.Ext.EXT.Convolution.GL_CONVOLUTION_1D_EXT', 'Graphics.GL.Ext.EXT.Convolution.GL_CONVOLUTION_2D_EXT', 'Graphics.GL.Internal.Shared.GL_CULL_FACE', 'Graphics.GL.Internal.Shared.GL_DEPTH_TEST', 'Graphics.GL.Internal.Shared.GL_DITHER', 'Graphics.GL.Internal.Shared.GL_EDGE_FLAG_ARRAY', 'Graphics.GL.Internal.Shared.GL_FOG', 'Graphics.GL.Ext.SGIX.FogOffset.GL_FOG_OFFSET_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_COLOR_MATERIAL_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT0_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT1_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT2_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT3_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT4_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT5_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT6_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT7_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHTING_SGIX', 'Graphics.GL.Ext.SGIX.Framezoom.GL_FRAMEZOOM_SGIX', 'Graphics.GL.Ext.EXT.Histogram.GL_HISTOGRAM_EXT', 'Graphics.GL.Internal.Shared.GL_INDEX_ARRAY', 'Graphics.GL.Internal.Shared.GL_INDEX_LOGIC_OP', 'Graphics.GL.Ext.SGIX.Interlace.GL_INTERLACE_SGIX', 'Graphics.GL.Ext.SGIX.IrInstrument1.GL_IR_INSTRUMENT1_SGIX', 'Graphics.GL.Internal.Shared.GL_LIGHT0', 'Graphics.GL.Internal.Shared.GL_LIGHT1', 'Graphics.GL.Internal.Shared.GL_LIGHT2', 'Graphics.GL.Internal.Shared.GL_LIGHT3', 'Graphics.GL.Internal.Shared.GL_LIGHT4', 'Graphics.GL.Internal.Shared.GL_LIGHT5', 'Graphics.GL.Internal.Shared.GL_LIGHT6', 'Graphics.GL.Internal.Shared.GL_LIGHT7', 'Graphics.GL.Internal.Shared.GL_LIGHTING', 'Graphics.GL.Internal.Shared.GL_LINE_SMOOTH', 'Graphics.GL.Internal.Shared.GL_LINE_STIPPLE', 'Graphics.GL.Internal.Shared.GL_MAP1_COLOR_4', 'Graphics.GL.Internal.Shared.GL_MAP1_INDEX', 'Graphics.GL.Internal.Shared.GL_MAP1_NORMAL', 'Graphics.GL.Internal.Shared.GL_MAP1_TEXTURE_COORD_1', 'Graphics.GL.Internal.Shared.GL_MAP1_TEXTURE_COORD_2', 'Graphics.GL.Internal.Shared.GL_MAP1_TEXTURE_COORD_3', 'Graphics.GL.Internal.Shared.GL_MAP1_TEXTURE_COORD_4', 'Graphics.GL.Internal.Shared.GL_MAP1_VERTEX_3', 'Graphics.GL.Internal.Shared.GL_MAP1_VERTEX_4', 'Graphics.GL.Internal.Shared.GL_MAP2_COLOR_4', 'Graphics.GL.Internal.Shared.GL_MAP2_INDEX', 'Graphics.GL.Internal.Shared.GL_MAP2_NORMAL', 'Graphics.GL.Internal.Shared.GL_MAP2_TEXTURE_COORD_1', 'Graphics.GL.Internal.Shared.GL_MAP2_TEXTURE_COORD_2', 'Graphics.GL.Internal.Shared.GL_MAP2_TEXTURE_COORD_3', 'Graphics.GL.Internal.Shared.GL_MAP2_TEXTURE_COORD_4', 'Graphics.GL.Internal.Shared.GL_MAP2_VERTEX_3', 'Graphics.GL.Internal.Shared.GL_MAP2_VERTEX_4', 'Graphics.GL.Ext.EXT.Histogram.GL_MINMAX_EXT', 'Graphics.GL.Ext.SGIS.Multisample.GL_MULTISAMPLE_SGIS', 'Graphics.GL.Internal.Shared.GL_NORMALIZE', 'Graphics.GL.Internal.Shared.GL_NORMAL_ARRAY', 'Graphics.GL.Ext.SGIS.PixelTexture.GL_PIXEL_TEXTURE_SGIS', 'Graphics.GL.Ext.SGIX.PixelTexture.GL_PIXEL_TEX_GEN_SGIX', 'Graphics.GL.Internal.Shared.GL_POINT_SMOOTH', 'Graphics.GL.Internal.Shared.GL_POLYGON_OFFSET_FILL', 'Graphics.GL.Internal.Shared.GL_POLYGON_OFFSET_LINE', 'Graphics.GL.Internal.Shared.GL_POLYGON_OFFSET_POINT', 'Graphics.GL.Internal.Shared.GL_POLYGON_SMOOTH', 'Graphics.GL.Internal.Shared.GL_POLYGON_STIPPLE', 'Graphics.GL.Ext.SGI.ColorTable.GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI', 'Graphics.GL.Ext.SGI.ColorTable.GL_POST_CONVOLUTION_COLOR_TABLE_SGI', 'Graphics.GL.Ext.SGIX.ReferencePlane.GL_REFERENCE_PLANE_SGIX', 'Graphics.GL.Ext.EXT.RescaleNormal.GL_RESCALE_NORMAL_EXT', 'Graphics.GL.Ext.SGIS.Multisample.GL_SAMPLE_ALPHA_TO_MASK_SGIS', 'Graphics.GL.Ext.SGIS.Multisample.GL_SAMPLE_ALPHA_TO_ONE_SGIS', 'Graphics.GL.Ext.SGIS.Multisample.GL_SAMPLE_MASK_SGIS', 'Graphics.GL.Internal.Shared.GL_SCISSOR_TEST', 'Graphics.GL.Ext.EXT.Convolution.GL_SEPARABLE_2D_EXT', 'Graphics.GL.Ext.EXT.SharedTexturePalette.GL_SHARED_TEXTURE_PALETTE_EXT', 'Graphics.GL.Ext.SGIX.Sprite.GL_SPRITE_SGIX', 'Graphics.GL.Internal.Shared.GL_STENCIL_TEST', 'Graphics.GL.Internal.Shared.GL_TEXTURE_1D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_2D', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_3D_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_4D_SGIS', 'Graphics.GL.Ext.SGI.TextureColorTable.GL_TEXTURE_COLOR_TABLE_SGI', 'Graphics.GL.Internal.Shared.GL_TEXTURE_COORD_ARRAY', 'Graphics.GL.Internal.Shared.GL_TEXTURE_GEN_Q', 'Graphics.GL.Internal.Shared.GL_TEXTURE_GEN_R', 'Graphics.GL.Internal.Shared.GL_TEXTURE_GEN_S', 'Graphics.GL.Internal.Shared.GL_TEXTURE_GEN_T', 'Graphics.GL.Internal.Shared.GL_VERTEX_ARRAY'.


glDisable :: MonadIO m => GLenum -> m ()
glDisable :: GLenum -> m ()
glDisable = FunPtr (GLenum -> IO ()) -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO ()) -> GLenum -> m ()
ffienumIOV FunPtr (GLenum -> IO ())
glDisableFunPtr

glDisableFunPtr :: FunPtr (GLenum -> IO ())
glDisableFunPtr :: FunPtr (GLenum -> IO ())
glDisableFunPtr = IO (FunPtr (GLenum -> IO ())) -> FunPtr (GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glDisable")

{-# NOINLINE glDisableFunPtr #-}

-- | Usage: @'glDisableVertexAttribArray' index@


glDisableVertexAttribArray :: MonadIO m => GLuint -> m ()
glDisableVertexAttribArray :: GLenum -> m ()
glDisableVertexAttribArray = FunPtr (GLenum -> IO ()) -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO ()) -> GLenum -> m ()
ffiuintIOV FunPtr (GLenum -> IO ())
glDisableVertexAttribArrayFunPtr

glDisableVertexAttribArrayFunPtr :: FunPtr (GLuint -> IO ())
glDisableVertexAttribArrayFunPtr :: FunPtr (GLenum -> IO ())
glDisableVertexAttribArrayFunPtr = IO (FunPtr (GLenum -> IO ())) -> FunPtr (GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glDisableVertexAttribArray")

{-# NOINLINE glDisableVertexAttribArrayFunPtr #-}

-- | Usage: @'glDisablei' target index@


glDisablei :: MonadIO m => GLenum -> GLuint -> m ()
glDisablei :: GLenum -> GLenum -> m ()
glDisablei = FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
ffienumuintIOV FunPtr (GLenum -> GLenum -> IO ())
glDisableiFunPtr

glDisableiFunPtr :: FunPtr (GLenum -> GLuint -> IO ())
glDisableiFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glDisableiFunPtr = IO (FunPtr (GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glDisablei")

{-# NOINLINE glDisableiFunPtr #-}

-- | Usage: @'glDrawArrays' mode first count@
--
-- The parameter @mode@ is a @PrimitiveType@, one of: 'Graphics.GL.Internal.Shared.GL_LINES', 'Graphics.GL.Internal.Shared.GL_LINES_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_LINES_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_LINES_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_LINE_LOOP', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_LINE_STRIP_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_PATCHES', 'Graphics.GL.Ext.EXT.TessellationShader.GL_PATCHES_EXT', 'Graphics.GL.Internal.Shared.GL_POINTS', 'Graphics.GL.Internal.Shared.GL_POLYGON', 'Graphics.GL.Internal.Shared.GL_QUADS', 'Graphics.GL.Ext.EXT.TessellationShader.GL_QUADS_EXT', 'Graphics.GL.Internal.Shared.GL_QUAD_STRIP', 'Graphics.GL.Internal.Shared.GL_TRIANGLES', 'Graphics.GL.Internal.Shared.GL_TRIANGLES_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_TRIANGLES_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_TRIANGLES_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_FAN', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_TRIANGLE_STRIP_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP_ADJACENCY_EXT'.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glDrawArrays.xhtml>


glDrawArrays :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()
glDrawArrays :: GLenum -> GLsizei -> GLsizei -> m ()
glDrawArrays = FunPtr (GLenum -> GLsizei -> GLsizei -> IO ())
-> GLenum -> GLsizei -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLsizei -> IO ())
-> GLenum -> GLsizei -> GLsizei -> m ()
ffienumintsizeiIOV FunPtr (GLenum -> GLsizei -> GLsizei -> IO ())
glDrawArraysFunPtr

glDrawArraysFunPtr :: FunPtr (GLenum -> GLint -> GLsizei -> IO ())
glDrawArraysFunPtr :: FunPtr (GLenum -> GLsizei -> GLsizei -> IO ())
glDrawArraysFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLsizei -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glDrawArrays")

{-# NOINLINE glDrawArraysFunPtr #-}

-- | Usage: @'glDrawArraysInstanced' mode first count instancecount@
--
-- The parameter @mode@ is a @PrimitiveType@, one of: 'Graphics.GL.Internal.Shared.GL_LINES', 'Graphics.GL.Internal.Shared.GL_LINES_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_LINES_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_LINES_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_LINE_LOOP', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_LINE_STRIP_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_PATCHES', 'Graphics.GL.Ext.EXT.TessellationShader.GL_PATCHES_EXT', 'Graphics.GL.Internal.Shared.GL_POINTS', 'Graphics.GL.Internal.Shared.GL_POLYGON', 'Graphics.GL.Internal.Shared.GL_QUADS', 'Graphics.GL.Ext.EXT.TessellationShader.GL_QUADS_EXT', 'Graphics.GL.Internal.Shared.GL_QUAD_STRIP', 'Graphics.GL.Internal.Shared.GL_TRIANGLES', 'Graphics.GL.Internal.Shared.GL_TRIANGLES_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_TRIANGLES_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_TRIANGLES_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_FAN', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_TRIANGLE_STRIP_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP_ADJACENCY_EXT'.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glDrawArraysInstanced.xhtml>


glDrawArraysInstanced :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> m ()
glDrawArraysInstanced :: GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()
glDrawArraysInstanced = FunPtr (GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()
ffienumintsizeisizeiIOV FunPtr (GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
glDrawArraysInstancedFunPtr

glDrawArraysInstancedFunPtr :: FunPtr (GLenum -> GLint -> GLsizei -> GLsizei -> IO ())
glDrawArraysInstancedFunPtr :: FunPtr (GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
glDrawArraysInstancedFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glDrawArraysInstanced")

{-# NOINLINE glDrawArraysInstancedFunPtr #-}

-- | Usage: @'glDrawBuffer' buf@
--
-- The parameter @buf@ is a @DrawBufferMode@, one of: 'Graphics.GL.Internal.Shared.GL_AUX0', 'Graphics.GL.Internal.Shared.GL_AUX1', 'Graphics.GL.Internal.Shared.GL_AUX2', 'Graphics.GL.Internal.Shared.GL_AUX3', 'Graphics.GL.Internal.Shared.GL_BACK', 'Graphics.GL.Internal.Shared.GL_BACK_LEFT', 'Graphics.GL.Internal.Shared.GL_BACK_RIGHT', 'Graphics.GL.Internal.Shared.GL_FRONT', 'Graphics.GL.Internal.Shared.GL_FRONT_AND_BACK', 'Graphics.GL.Internal.Shared.GL_FRONT_LEFT', 'Graphics.GL.Internal.Shared.GL_FRONT_RIGHT', 'Graphics.GL.Internal.Shared.GL_LEFT', 'Graphics.GL.Internal.Shared.GL_NONE', 'Graphics.GL.Ext.OES.FramebufferObject.GL_NONE_OES', 'Graphics.GL.Internal.Shared.GL_RIGHT'.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glDrawBuffer.xhtml>


glDrawBuffer :: MonadIO m => GLenum -> m ()
glDrawBuffer :: GLenum -> m ()
glDrawBuffer = FunPtr (GLenum -> IO ()) -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO ()) -> GLenum -> m ()
ffienumIOV FunPtr (GLenum -> IO ())
glDrawBufferFunPtr

glDrawBufferFunPtr :: FunPtr (GLenum -> IO ())
glDrawBufferFunPtr :: FunPtr (GLenum -> IO ())
glDrawBufferFunPtr = IO (FunPtr (GLenum -> IO ())) -> FunPtr (GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glDrawBuffer")

{-# NOINLINE glDrawBufferFunPtr #-}

-- | Usage: @'glDrawBuffers' n bufs@
--
-- The parameter @bufs@ is a @DrawBufferModeATI@.
--
-- The length of @bufs@ should be @n@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glDrawBuffers.xhtml>


glDrawBuffers :: MonadIO m => GLsizei -> Ptr GLenum -> m ()
glDrawBuffers :: GLsizei -> Ptr GLenum -> m ()
glDrawBuffers = FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
ffisizeiPtrenumIOV FunPtr (GLsizei -> Ptr GLenum -> IO ())
glDrawBuffersFunPtr

glDrawBuffersFunPtr :: FunPtr (GLsizei -> Ptr GLenum -> IO ())
glDrawBuffersFunPtr :: FunPtr (GLsizei -> Ptr GLenum -> IO ())
glDrawBuffersFunPtr = IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glDrawBuffers")

{-# NOINLINE glDrawBuffersFunPtr #-}

-- | Usage: @'glDrawElements' mode count type indices@
--
-- The parameter @mode@ is a @PrimitiveType@, one of: 'Graphics.GL.Internal.Shared.GL_LINES', 'Graphics.GL.Internal.Shared.GL_LINES_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_LINES_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_LINES_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_LINE_LOOP', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_LINE_STRIP_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_PATCHES', 'Graphics.GL.Ext.EXT.TessellationShader.GL_PATCHES_EXT', 'Graphics.GL.Internal.Shared.GL_POINTS', 'Graphics.GL.Internal.Shared.GL_POLYGON', 'Graphics.GL.Internal.Shared.GL_QUADS', 'Graphics.GL.Ext.EXT.TessellationShader.GL_QUADS_EXT', 'Graphics.GL.Internal.Shared.GL_QUAD_STRIP', 'Graphics.GL.Internal.Shared.GL_TRIANGLES', 'Graphics.GL.Internal.Shared.GL_TRIANGLES_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_TRIANGLES_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_TRIANGLES_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_FAN', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_TRIANGLE_STRIP_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP_ADJACENCY_EXT'.
--
-- The parameter @type@ is a @DrawElementsType@.
--
-- The length of @indices@ should be @COMPSIZE(count,type)@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glDrawElements.xhtml>


glDrawElements :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr () -> m ()
glDrawElements :: GLenum -> GLsizei -> GLenum -> Ptr () -> m ()
glDrawElements = FunPtr (GLenum -> GLsizei -> GLenum -> Ptr () -> IO ())
-> GLenum -> GLsizei -> GLenum -> Ptr () -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLenum -> Ptr () -> IO ())
-> GLenum -> GLsizei -> GLenum -> Ptr () -> m ()
ffienumsizeienumPtrVIOV FunPtr (GLenum -> GLsizei -> GLenum -> Ptr () -> IO ())
glDrawElementsFunPtr

glDrawElementsFunPtr :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr () -> IO ())
glDrawElementsFunPtr :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr () -> IO ())
glDrawElementsFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLenum -> Ptr () -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLenum -> Ptr () -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLsizei -> GLenum -> Ptr () -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glDrawElements")

{-# NOINLINE glDrawElementsFunPtr #-}

-- | Usage: @'glDrawElementsBaseVertex' mode count type indices basevertex@
--
-- The parameter @mode@ is a @PrimitiveType@, one of: 'Graphics.GL.Internal.Shared.GL_LINES', 'Graphics.GL.Internal.Shared.GL_LINES_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_LINES_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_LINES_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_LINE_LOOP', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_LINE_STRIP_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_PATCHES', 'Graphics.GL.Ext.EXT.TessellationShader.GL_PATCHES_EXT', 'Graphics.GL.Internal.Shared.GL_POINTS', 'Graphics.GL.Internal.Shared.GL_POLYGON', 'Graphics.GL.Internal.Shared.GL_QUADS', 'Graphics.GL.Ext.EXT.TessellationShader.GL_QUADS_EXT', 'Graphics.GL.Internal.Shared.GL_QUAD_STRIP', 'Graphics.GL.Internal.Shared.GL_TRIANGLES', 'Graphics.GL.Internal.Shared.GL_TRIANGLES_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_TRIANGLES_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_TRIANGLES_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_FAN', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_TRIANGLE_STRIP_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP_ADJACENCY_EXT'.
--
-- The parameter @type@ is a @DrawElementsType@.
--
-- The length of @indices@ should be @COMPSIZE(count,type)@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glDrawElementsBaseVertex.xhtml>


glDrawElementsBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr () -> GLint -> m ()
glDrawElementsBaseVertex :: GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> m ()
glDrawElementsBaseVertex = FunPtr (GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> IO ())
-> GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> IO ())
-> GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> m ()
ffienumsizeienumPtrVintIOV FunPtr (GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> IO ())
glDrawElementsBaseVertexFunPtr

glDrawElementsBaseVertexFunPtr :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr () -> GLint -> IO ())
glDrawElementsBaseVertexFunPtr :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> IO ())
glDrawElementsBaseVertexFunPtr = IO
  (FunPtr
     (GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> IO ()))
-> FunPtr
     (GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glDrawElementsBaseVertex")

{-# NOINLINE glDrawElementsBaseVertexFunPtr #-}

-- | Usage: @'glDrawElementsInstanced' mode count type indices instancecount@
--
-- The parameter @mode@ is a @PrimitiveType@, one of: 'Graphics.GL.Internal.Shared.GL_LINES', 'Graphics.GL.Internal.Shared.GL_LINES_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_LINES_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_LINES_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_LINE_LOOP', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_LINE_STRIP_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_PATCHES', 'Graphics.GL.Ext.EXT.TessellationShader.GL_PATCHES_EXT', 'Graphics.GL.Internal.Shared.GL_POINTS', 'Graphics.GL.Internal.Shared.GL_POLYGON', 'Graphics.GL.Internal.Shared.GL_QUADS', 'Graphics.GL.Ext.EXT.TessellationShader.GL_QUADS_EXT', 'Graphics.GL.Internal.Shared.GL_QUAD_STRIP', 'Graphics.GL.Internal.Shared.GL_TRIANGLES', 'Graphics.GL.Internal.Shared.GL_TRIANGLES_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_TRIANGLES_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_TRIANGLES_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_FAN', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_TRIANGLE_STRIP_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP_ADJACENCY_EXT'.
--
-- The parameter @type@ is a @DrawElementsType@.
--
-- The length of @indices@ should be @COMPSIZE(count,type)@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glDrawElementsInstanced.xhtml>


glDrawElementsInstanced :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> m ()
glDrawElementsInstanced :: GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> m ()
glDrawElementsInstanced = FunPtr (GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> IO ())
-> GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> IO ())
-> GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> m ()
ffienumsizeienumPtrVsizeiIOV FunPtr (GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> IO ())
glDrawElementsInstancedFunPtr

glDrawElementsInstancedFunPtr :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> IO ())
glDrawElementsInstancedFunPtr :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> IO ())
glDrawElementsInstancedFunPtr = IO
  (FunPtr
     (GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> IO ()))
-> FunPtr
     (GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glDrawElementsInstanced")

{-# NOINLINE glDrawElementsInstancedFunPtr #-}

-- | Usage: @'glDrawElementsInstancedBaseVertex' mode count type indices instancecount basevertex@
--
-- The parameter @mode@ is a @PrimitiveType@, one of: 'Graphics.GL.Internal.Shared.GL_LINES', 'Graphics.GL.Internal.Shared.GL_LINES_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_LINES_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_LINES_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_LINE_LOOP', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_LINE_STRIP_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_PATCHES', 'Graphics.GL.Ext.EXT.TessellationShader.GL_PATCHES_EXT', 'Graphics.GL.Internal.Shared.GL_POINTS', 'Graphics.GL.Internal.Shared.GL_POLYGON', 'Graphics.GL.Internal.Shared.GL_QUADS', 'Graphics.GL.Ext.EXT.TessellationShader.GL_QUADS_EXT', 'Graphics.GL.Internal.Shared.GL_QUAD_STRIP', 'Graphics.GL.Internal.Shared.GL_TRIANGLES', 'Graphics.GL.Internal.Shared.GL_TRIANGLES_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_TRIANGLES_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_TRIANGLES_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_FAN', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_TRIANGLE_STRIP_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP_ADJACENCY_EXT'.
--
-- The parameter @type@ is a @DrawElementsType@.
--
-- The length of @indices@ should be @COMPSIZE(count,type)@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glDrawElementsInstancedBaseVertex.xhtml>


glDrawElementsInstancedBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> GLint -> m ()
glDrawElementsInstancedBaseVertex :: GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> GLsizei -> m ()
glDrawElementsInstancedBaseVertex = FunPtr
  (GLenum
   -> GLsizei -> GLenum -> Ptr () -> GLsizei -> GLsizei -> IO ())
-> GLenum
-> GLsizei
-> GLenum
-> Ptr ()
-> GLsizei
-> GLsizei
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei -> GLenum -> Ptr () -> GLsizei -> GLsizei -> IO ())
-> GLenum
-> GLsizei
-> GLenum
-> Ptr ()
-> GLsizei
-> GLsizei
-> m ()
ffienumsizeienumPtrVsizeiintIOV FunPtr
  (GLenum
   -> GLsizei -> GLenum -> Ptr () -> GLsizei -> GLsizei -> IO ())
glDrawElementsInstancedBaseVertexFunPtr

glDrawElementsInstancedBaseVertexFunPtr :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> GLint -> IO ())
glDrawElementsInstancedBaseVertexFunPtr :: FunPtr
  (GLenum
   -> GLsizei -> GLenum -> Ptr () -> GLsizei -> GLsizei -> IO ())
glDrawElementsInstancedBaseVertexFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei -> GLenum -> Ptr () -> GLsizei -> GLsizei -> IO ()))
-> FunPtr
     (GLenum
      -> GLsizei -> GLenum -> Ptr () -> GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei -> GLenum -> Ptr () -> GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glDrawElementsInstancedBaseVertex")

{-# NOINLINE glDrawElementsInstancedBaseVertexFunPtr #-}

-- | Usage: @'glDrawRangeElements' mode start end count type indices@
--
-- The parameter @mode@ is a @PrimitiveType@, one of: 'Graphics.GL.Internal.Shared.GL_LINES', 'Graphics.GL.Internal.Shared.GL_LINES_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_LINES_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_LINES_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_LINE_LOOP', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_LINE_STRIP_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_PATCHES', 'Graphics.GL.Ext.EXT.TessellationShader.GL_PATCHES_EXT', 'Graphics.GL.Internal.Shared.GL_POINTS', 'Graphics.GL.Internal.Shared.GL_POLYGON', 'Graphics.GL.Internal.Shared.GL_QUADS', 'Graphics.GL.Ext.EXT.TessellationShader.GL_QUADS_EXT', 'Graphics.GL.Internal.Shared.GL_QUAD_STRIP', 'Graphics.GL.Internal.Shared.GL_TRIANGLES', 'Graphics.GL.Internal.Shared.GL_TRIANGLES_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_TRIANGLES_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_TRIANGLES_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_FAN', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_TRIANGLE_STRIP_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP_ADJACENCY_EXT'.
--
-- The parameter @type@ is a @DrawElementsType@.
--
-- The length of @indices@ should be @COMPSIZE(count,type)@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glDrawRangeElements.xhtml>


glDrawRangeElements :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr () -> m ()
glDrawRangeElements :: GLenum -> GLenum -> GLenum -> GLsizei -> GLenum -> Ptr () -> m ()
glDrawRangeElements = FunPtr
  (GLenum
   -> GLenum -> GLenum -> GLsizei -> GLenum -> Ptr () -> IO ())
-> GLenum
-> GLenum
-> GLenum
-> GLsizei
-> GLenum
-> Ptr ()
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLenum -> GLenum -> GLsizei -> GLenum -> Ptr () -> IO ())
-> GLenum
-> GLenum
-> GLenum
-> GLsizei
-> GLenum
-> Ptr ()
-> m ()
ffienumuintuintsizeienumPtrVIOV FunPtr
  (GLenum
   -> GLenum -> GLenum -> GLsizei -> GLenum -> Ptr () -> IO ())
glDrawRangeElementsFunPtr

glDrawRangeElementsFunPtr :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr () -> IO ())
glDrawRangeElementsFunPtr :: FunPtr
  (GLenum
   -> GLenum -> GLenum -> GLsizei -> GLenum -> Ptr () -> IO ())
glDrawRangeElementsFunPtr = IO
  (FunPtr
     (GLenum
      -> GLenum -> GLenum -> GLsizei -> GLenum -> Ptr () -> IO ()))
-> FunPtr
     (GLenum
      -> GLenum -> GLenum -> GLsizei -> GLenum -> Ptr () -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLenum -> GLenum -> GLsizei -> GLenum -> Ptr () -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glDrawRangeElements")

{-# NOINLINE glDrawRangeElementsFunPtr #-}

-- | Usage: @'glDrawRangeElementsBaseVertex' mode start end count type indices basevertex@
--
-- The parameter @mode@ is a @PrimitiveType@, one of: 'Graphics.GL.Internal.Shared.GL_LINES', 'Graphics.GL.Internal.Shared.GL_LINES_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_LINES_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_LINES_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_LINE_LOOP', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_LINE_STRIP_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_PATCHES', 'Graphics.GL.Ext.EXT.TessellationShader.GL_PATCHES_EXT', 'Graphics.GL.Internal.Shared.GL_POINTS', 'Graphics.GL.Internal.Shared.GL_POLYGON', 'Graphics.GL.Internal.Shared.GL_QUADS', 'Graphics.GL.Ext.EXT.TessellationShader.GL_QUADS_EXT', 'Graphics.GL.Internal.Shared.GL_QUAD_STRIP', 'Graphics.GL.Internal.Shared.GL_TRIANGLES', 'Graphics.GL.Internal.Shared.GL_TRIANGLES_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_TRIANGLES_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_TRIANGLES_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_FAN', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_TRIANGLE_STRIP_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP_ADJACENCY_EXT'.
--
-- The parameter @type@ is a @DrawElementsType@.
--
-- The length of @indices@ should be @COMPSIZE(count,type)@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glDrawRangeElementsBaseVertex.xhtml>


glDrawRangeElementsBaseVertex :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr () -> GLint -> m ()
glDrawRangeElementsBaseVertex :: GLenum
-> GLenum
-> GLenum
-> GLsizei
-> GLenum
-> Ptr ()
-> GLsizei
-> m ()
glDrawRangeElementsBaseVertex = FunPtr
  (GLenum
   -> GLenum
   -> GLenum
   -> GLsizei
   -> GLenum
   -> Ptr ()
   -> GLsizei
   -> IO ())
-> GLenum
-> GLenum
-> GLenum
-> GLsizei
-> GLenum
-> Ptr ()
-> GLsizei
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLenum
   -> GLenum
   -> GLsizei
   -> GLenum
   -> Ptr ()
   -> GLsizei
   -> IO ())
-> GLenum
-> GLenum
-> GLenum
-> GLsizei
-> GLenum
-> Ptr ()
-> GLsizei
-> m ()
ffienumuintuintsizeienumPtrVintIOV FunPtr
  (GLenum
   -> GLenum
   -> GLenum
   -> GLsizei
   -> GLenum
   -> Ptr ()
   -> GLsizei
   -> IO ())
glDrawRangeElementsBaseVertexFunPtr

glDrawRangeElementsBaseVertexFunPtr :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr () -> GLint -> IO ())
glDrawRangeElementsBaseVertexFunPtr :: FunPtr
  (GLenum
   -> GLenum
   -> GLenum
   -> GLsizei
   -> GLenum
   -> Ptr ()
   -> GLsizei
   -> IO ())
glDrawRangeElementsBaseVertexFunPtr = IO
  (FunPtr
     (GLenum
      -> GLenum
      -> GLenum
      -> GLsizei
      -> GLenum
      -> Ptr ()
      -> GLsizei
      -> IO ()))
-> FunPtr
     (GLenum
      -> GLenum
      -> GLenum
      -> GLsizei
      -> GLenum
      -> Ptr ()
      -> GLsizei
      -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLenum
         -> GLenum
         -> GLsizei
         -> GLenum
         -> Ptr ()
         -> GLsizei
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glDrawRangeElementsBaseVertex")

{-# NOINLINE glDrawRangeElementsBaseVertexFunPtr #-}

-- | Usage: @'glEnable' cap@
--
-- The parameter @cap@ is a @EnableCap@, one of: 'Graphics.GL.Internal.Shared.GL_ALPHA_TEST', 'Graphics.GL.Ext.SGIX.AsyncPixel.GL_ASYNC_DRAW_PIXELS_SGIX', 'Graphics.GL.Ext.SGIX.AsyncHistogram.GL_ASYNC_HISTOGRAM_SGIX', 'Graphics.GL.Ext.SGIX.AsyncPixel.GL_ASYNC_READ_PIXELS_SGIX', 'Graphics.GL.Ext.SGIX.AsyncPixel.GL_ASYNC_TEX_IMAGE_SGIX', 'Graphics.GL.Internal.Shared.GL_AUTO_NORMAL', 'Graphics.GL.Internal.Shared.GL_BLEND', 'Graphics.GL.Ext.SGIX.CalligraphicFragment.GL_CALLIGRAPHIC_FRAGMENT_SGIX', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE0', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE1', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE2', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE3', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE4', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE5', 'Graphics.GL.Internal.Shared.GL_COLOR_ARRAY', 'Graphics.GL.Internal.Shared.GL_COLOR_LOGIC_OP', 'Graphics.GL.Internal.Shared.GL_COLOR_MATERIAL', 'Graphics.GL.Ext.SGI.ColorTable.GL_COLOR_TABLE_SGI', 'Graphics.GL.Ext.EXT.Convolution.GL_CONVOLUTION_1D_EXT', 'Graphics.GL.Ext.EXT.Convolution.GL_CONVOLUTION_2D_EXT', 'Graphics.GL.Internal.Shared.GL_CULL_FACE', 'Graphics.GL.Internal.Shared.GL_DEPTH_TEST', 'Graphics.GL.Internal.Shared.GL_DITHER', 'Graphics.GL.Internal.Shared.GL_EDGE_FLAG_ARRAY', 'Graphics.GL.Internal.Shared.GL_FOG', 'Graphics.GL.Ext.SGIX.FogOffset.GL_FOG_OFFSET_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_COLOR_MATERIAL_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT0_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT1_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT2_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT3_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT4_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT5_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT6_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT7_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHTING_SGIX', 'Graphics.GL.Ext.SGIX.Framezoom.GL_FRAMEZOOM_SGIX', 'Graphics.GL.Ext.EXT.Histogram.GL_HISTOGRAM_EXT', 'Graphics.GL.Internal.Shared.GL_INDEX_ARRAY', 'Graphics.GL.Internal.Shared.GL_INDEX_LOGIC_OP', 'Graphics.GL.Ext.SGIX.Interlace.GL_INTERLACE_SGIX', 'Graphics.GL.Ext.SGIX.IrInstrument1.GL_IR_INSTRUMENT1_SGIX', 'Graphics.GL.Internal.Shared.GL_LIGHT0', 'Graphics.GL.Internal.Shared.GL_LIGHT1', 'Graphics.GL.Internal.Shared.GL_LIGHT2', 'Graphics.GL.Internal.Shared.GL_LIGHT3', 'Graphics.GL.Internal.Shared.GL_LIGHT4', 'Graphics.GL.Internal.Shared.GL_LIGHT5', 'Graphics.GL.Internal.Shared.GL_LIGHT6', 'Graphics.GL.Internal.Shared.GL_LIGHT7', 'Graphics.GL.Internal.Shared.GL_LIGHTING', 'Graphics.GL.Internal.Shared.GL_LINE_SMOOTH', 'Graphics.GL.Internal.Shared.GL_LINE_STIPPLE', 'Graphics.GL.Internal.Shared.GL_MAP1_COLOR_4', 'Graphics.GL.Internal.Shared.GL_MAP1_INDEX', 'Graphics.GL.Internal.Shared.GL_MAP1_NORMAL', 'Graphics.GL.Internal.Shared.GL_MAP1_TEXTURE_COORD_1', 'Graphics.GL.Internal.Shared.GL_MAP1_TEXTURE_COORD_2', 'Graphics.GL.Internal.Shared.GL_MAP1_TEXTURE_COORD_3', 'Graphics.GL.Internal.Shared.GL_MAP1_TEXTURE_COORD_4', 'Graphics.GL.Internal.Shared.GL_MAP1_VERTEX_3', 'Graphics.GL.Internal.Shared.GL_MAP1_VERTEX_4', 'Graphics.GL.Internal.Shared.GL_MAP2_COLOR_4', 'Graphics.GL.Internal.Shared.GL_MAP2_INDEX', 'Graphics.GL.Internal.Shared.GL_MAP2_NORMAL', 'Graphics.GL.Internal.Shared.GL_MAP2_TEXTURE_COORD_1', 'Graphics.GL.Internal.Shared.GL_MAP2_TEXTURE_COORD_2', 'Graphics.GL.Internal.Shared.GL_MAP2_TEXTURE_COORD_3', 'Graphics.GL.Internal.Shared.GL_MAP2_TEXTURE_COORD_4', 'Graphics.GL.Internal.Shared.GL_MAP2_VERTEX_3', 'Graphics.GL.Internal.Shared.GL_MAP2_VERTEX_4', 'Graphics.GL.Ext.EXT.Histogram.GL_MINMAX_EXT', 'Graphics.GL.Ext.SGIS.Multisample.GL_MULTISAMPLE_SGIS', 'Graphics.GL.Internal.Shared.GL_NORMALIZE', 'Graphics.GL.Internal.Shared.GL_NORMAL_ARRAY', 'Graphics.GL.Ext.SGIS.PixelTexture.GL_PIXEL_TEXTURE_SGIS', 'Graphics.GL.Ext.SGIX.PixelTexture.GL_PIXEL_TEX_GEN_SGIX', 'Graphics.GL.Internal.Shared.GL_POINT_SMOOTH', 'Graphics.GL.Internal.Shared.GL_POLYGON_OFFSET_FILL', 'Graphics.GL.Internal.Shared.GL_POLYGON_OFFSET_LINE', 'Graphics.GL.Internal.Shared.GL_POLYGON_OFFSET_POINT', 'Graphics.GL.Internal.Shared.GL_POLYGON_SMOOTH', 'Graphics.GL.Internal.Shared.GL_POLYGON_STIPPLE', 'Graphics.GL.Ext.SGI.ColorTable.GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI', 'Graphics.GL.Ext.SGI.ColorTable.GL_POST_CONVOLUTION_COLOR_TABLE_SGI', 'Graphics.GL.Ext.SGIX.ReferencePlane.GL_REFERENCE_PLANE_SGIX', 'Graphics.GL.Ext.EXT.RescaleNormal.GL_RESCALE_NORMAL_EXT', 'Graphics.GL.Ext.SGIS.Multisample.GL_SAMPLE_ALPHA_TO_MASK_SGIS', 'Graphics.GL.Ext.SGIS.Multisample.GL_SAMPLE_ALPHA_TO_ONE_SGIS', 'Graphics.GL.Ext.SGIS.Multisample.GL_SAMPLE_MASK_SGIS', 'Graphics.GL.Internal.Shared.GL_SCISSOR_TEST', 'Graphics.GL.Ext.EXT.Convolution.GL_SEPARABLE_2D_EXT', 'Graphics.GL.Ext.EXT.SharedTexturePalette.GL_SHARED_TEXTURE_PALETTE_EXT', 'Graphics.GL.Ext.SGIX.Sprite.GL_SPRITE_SGIX', 'Graphics.GL.Internal.Shared.GL_STENCIL_TEST', 'Graphics.GL.Internal.Shared.GL_TEXTURE_1D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_2D', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_3D_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_4D_SGIS', 'Graphics.GL.Ext.SGI.TextureColorTable.GL_TEXTURE_COLOR_TABLE_SGI', 'Graphics.GL.Internal.Shared.GL_TEXTURE_COORD_ARRAY', 'Graphics.GL.Internal.Shared.GL_TEXTURE_GEN_Q', 'Graphics.GL.Internal.Shared.GL_TEXTURE_GEN_R', 'Graphics.GL.Internal.Shared.GL_TEXTURE_GEN_S', 'Graphics.GL.Internal.Shared.GL_TEXTURE_GEN_T', 'Graphics.GL.Internal.Shared.GL_VERTEX_ARRAY'.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glEnable.xhtml>


glEnable :: MonadIO m => GLenum -> m ()
glEnable :: GLenum -> m ()
glEnable = FunPtr (GLenum -> IO ()) -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO ()) -> GLenum -> m ()
ffienumIOV FunPtr (GLenum -> IO ())
glEnableFunPtr

glEnableFunPtr :: FunPtr (GLenum -> IO ())
glEnableFunPtr :: FunPtr (GLenum -> IO ())
glEnableFunPtr = IO (FunPtr (GLenum -> IO ())) -> FunPtr (GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glEnable")

{-# NOINLINE glEnableFunPtr #-}

-- | Usage: @'glEnableVertexAttribArray' index@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glEnableVertexAttribArray.xhtml>


glEnableVertexAttribArray :: MonadIO m => GLuint -> m ()
glEnableVertexAttribArray :: GLenum -> m ()
glEnableVertexAttribArray = FunPtr (GLenum -> IO ()) -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO ()) -> GLenum -> m ()
ffiuintIOV FunPtr (GLenum -> IO ())
glEnableVertexAttribArrayFunPtr

glEnableVertexAttribArrayFunPtr :: FunPtr (GLuint -> IO ())
glEnableVertexAttribArrayFunPtr :: FunPtr (GLenum -> IO ())
glEnableVertexAttribArrayFunPtr = IO (FunPtr (GLenum -> IO ())) -> FunPtr (GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glEnableVertexAttribArray")

{-# NOINLINE glEnableVertexAttribArrayFunPtr #-}

-- | Usage: @'glEnablei' target index@


glEnablei :: MonadIO m => GLenum -> GLuint -> m ()
glEnablei :: GLenum -> GLenum -> m ()
glEnablei = FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
ffienumuintIOV FunPtr (GLenum -> GLenum -> IO ())
glEnableiFunPtr

glEnableiFunPtr :: FunPtr (GLenum -> GLuint -> IO ())
glEnableiFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glEnableiFunPtr = IO (FunPtr (GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glEnablei")

{-# NOINLINE glEnableiFunPtr #-}

-- | Usage: @'glEndConditionalRender'@


glEndConditionalRender :: MonadIO m => m ()
glEndConditionalRender :: m ()
glEndConditionalRender = FunPtr (IO ()) -> m ()
forall (m :: * -> *). MonadIO m => FunPtr (IO ()) -> m ()
ffiIOV FunPtr (IO ())
glEndConditionalRenderFunPtr

glEndConditionalRenderFunPtr :: FunPtr (IO ())
glEndConditionalRenderFunPtr :: FunPtr (IO ())
glEndConditionalRenderFunPtr = IO (FunPtr (IO ())) -> FunPtr (IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glEndConditionalRender")

{-# NOINLINE glEndConditionalRenderFunPtr #-}

-- | Usage: @'glEndQuery' target@


glEndQuery :: MonadIO m => GLenum -> m ()
glEndQuery :: GLenum -> m ()
glEndQuery = FunPtr (GLenum -> IO ()) -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO ()) -> GLenum -> m ()
ffienumIOV FunPtr (GLenum -> IO ())
glEndQueryFunPtr

glEndQueryFunPtr :: FunPtr (GLenum -> IO ())
glEndQueryFunPtr :: FunPtr (GLenum -> IO ())
glEndQueryFunPtr = IO (FunPtr (GLenum -> IO ())) -> FunPtr (GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glEndQuery")

{-# NOINLINE glEndQueryFunPtr #-}

-- | Usage: @'glEndTransformFeedback'@


glEndTransformFeedback :: MonadIO m => m ()
glEndTransformFeedback :: m ()
glEndTransformFeedback = FunPtr (IO ()) -> m ()
forall (m :: * -> *). MonadIO m => FunPtr (IO ()) -> m ()
ffiIOV FunPtr (IO ())
glEndTransformFeedbackFunPtr

glEndTransformFeedbackFunPtr :: FunPtr (IO ())
glEndTransformFeedbackFunPtr :: FunPtr (IO ())
glEndTransformFeedbackFunPtr = IO (FunPtr (IO ())) -> FunPtr (IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glEndTransformFeedback")

{-# NOINLINE glEndTransformFeedbackFunPtr #-}

-- | Usage: @'glFenceSync' condition flags@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glFenceSync.xhtml>


glFenceSync :: MonadIO m => GLenum -> GLbitfield -> m GLsync
glFenceSync :: GLenum -> GLenum -> m (Ptr ())
glFenceSync = FunPtr (GLenum -> GLenum -> IO (Ptr ()))
-> GLenum -> GLenum -> m (Ptr ())
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO (Ptr ()))
-> GLenum -> GLenum -> m (Ptr ())
ffienumbitfieldIOsync FunPtr (GLenum -> GLenum -> IO (Ptr ()))
glFenceSyncFunPtr

glFenceSyncFunPtr :: FunPtr (GLenum -> GLbitfield -> IO GLsync)
glFenceSyncFunPtr :: FunPtr (GLenum -> GLenum -> IO (Ptr ()))
glFenceSyncFunPtr = IO (FunPtr (GLenum -> GLenum -> IO (Ptr ())))
-> FunPtr (GLenum -> GLenum -> IO (Ptr ()))
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO (Ptr ())))
forall a. String -> IO (FunPtr a)
getProcAddress "glFenceSync")

{-# NOINLINE glFenceSyncFunPtr #-}

-- | Usage: @'glFinish'@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glFinish.xhtml>


glFinish :: MonadIO m => m ()
glFinish :: m ()
glFinish = FunPtr (IO ()) -> m ()
forall (m :: * -> *). MonadIO m => FunPtr (IO ()) -> m ()
ffiIOV FunPtr (IO ())
glFinishFunPtr

glFinishFunPtr :: FunPtr (IO ())
glFinishFunPtr :: FunPtr (IO ())
glFinishFunPtr = IO (FunPtr (IO ())) -> FunPtr (IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glFinish")

{-# NOINLINE glFinishFunPtr #-}

-- | Usage: @'glFlush'@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glFlush.xhtml>


glFlush :: MonadIO m => m ()
glFlush :: m ()
glFlush = FunPtr (IO ()) -> m ()
forall (m :: * -> *). MonadIO m => FunPtr (IO ()) -> m ()
ffiIOV FunPtr (IO ())
glFlushFunPtr

glFlushFunPtr :: FunPtr (IO ())
glFlushFunPtr :: FunPtr (IO ())
glFlushFunPtr = IO (FunPtr (IO ())) -> FunPtr (IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glFlush")

{-# NOINLINE glFlushFunPtr #-}

-- | Usage: @'glFlushMappedBufferRange' target offset length@
--
-- The parameter @target@ is a @BufferTargetARB@.
--
-- The parameter @offset@ is a @BufferOffset@.
--
-- The parameter @length@ is a @BufferSize@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glFlushMappedBufferRange.xhtml>


glFlushMappedBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> m ()
glFlushMappedBufferRange :: GLenum -> GLintptr -> GLintptr -> m ()
glFlushMappedBufferRange = FunPtr (GLenum -> GLintptr -> GLintptr -> IO ())
-> GLenum -> GLintptr -> GLintptr -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLintptr -> GLintptr -> IO ())
-> GLenum -> GLintptr -> GLintptr -> m ()
ffienumintptrsizeiptrIOV FunPtr (GLenum -> GLintptr -> GLintptr -> IO ())
glFlushMappedBufferRangeFunPtr

glFlushMappedBufferRangeFunPtr :: FunPtr (GLenum -> GLintptr -> GLsizeiptr -> IO ())
glFlushMappedBufferRangeFunPtr :: FunPtr (GLenum -> GLintptr -> GLintptr -> IO ())
glFlushMappedBufferRangeFunPtr = IO (FunPtr (GLenum -> GLintptr -> GLintptr -> IO ()))
-> FunPtr (GLenum -> GLintptr -> GLintptr -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLintptr -> GLintptr -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glFlushMappedBufferRange")

{-# NOINLINE glFlushMappedBufferRangeFunPtr #-}

-- | Usage: @'glFramebufferRenderbuffer' target attachment renderbuffertarget renderbuffer@
--
-- The parameter @target@ is a @FramebufferTarget@.
--
-- The parameter @attachment@ is a @FramebufferAttachment@.
--
-- The parameter @renderbuffertarget@ is a @RenderbufferTarget@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glFramebufferRenderbuffer.xhtml>


glFramebufferRenderbuffer :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> m ()
glFramebufferRenderbuffer :: GLenum -> GLenum -> GLenum -> GLenum -> m ()
glFramebufferRenderbuffer = FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> GLenum -> m ()
ffienumenumenumuintIOV FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
glFramebufferRenderbufferFunPtr

glFramebufferRenderbufferFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> IO ())
glFramebufferRenderbufferFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
glFramebufferRenderbufferFunPtr = IO (FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glFramebufferRenderbuffer")

{-# NOINLINE glFramebufferRenderbufferFunPtr #-}

-- | Usage: @'glFramebufferTexture' target attachment texture level@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glFramebufferTexture.xhtml>


glFramebufferTexture :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> m ()
glFramebufferTexture :: GLenum -> GLenum -> GLenum -> GLsizei -> m ()
glFramebufferTexture = FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> IO ())
-> GLenum -> GLenum -> GLenum -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> IO ())
-> GLenum -> GLenum -> GLenum -> GLsizei -> m ()
ffienumenumuintintIOV FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> IO ())
glFramebufferTextureFunPtr

glFramebufferTextureFunPtr :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> IO ())
glFramebufferTextureFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> IO ())
glFramebufferTextureFunPtr = IO (FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glFramebufferTexture")

{-# NOINLINE glFramebufferTextureFunPtr #-}

-- | Usage: @'glFramebufferTexture1D' target attachment textarget texture level@
--
-- The parameter @target@ is a @FramebufferTarget@.
--
-- The parameter @attachment@ is a @FramebufferAttachment@.


glFramebufferTexture1D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()
glFramebufferTexture1D :: GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> m ()
glFramebufferTexture1D = FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> IO ())
-> GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> IO ())
-> GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> m ()
ffienumenumenumuintintIOV FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> IO ())
glFramebufferTexture1DFunPtr

glFramebufferTexture1DFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> GLint -> IO ())
glFramebufferTexture1DFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> IO ())
glFramebufferTexture1DFunPtr = IO
  (FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> IO ()))
-> FunPtr
     (GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glFramebufferTexture1D")

{-# NOINLINE glFramebufferTexture1DFunPtr #-}

-- | Usage: @'glFramebufferTexture2D' target attachment textarget texture level@
--
-- The parameter @target@ is a @FramebufferTarget@.
--
-- The parameter @attachment@ is a @FramebufferAttachment@.


glFramebufferTexture2D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()
glFramebufferTexture2D :: GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> m ()
glFramebufferTexture2D = FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> IO ())
-> GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> IO ())
-> GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> m ()
ffienumenumenumuintintIOV FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> IO ())
glFramebufferTexture2DFunPtr

glFramebufferTexture2DFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> GLint -> IO ())
glFramebufferTexture2DFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> IO ())
glFramebufferTexture2DFunPtr = IO
  (FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> IO ()))
-> FunPtr
     (GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glFramebufferTexture2D")

{-# NOINLINE glFramebufferTexture2DFunPtr #-}

-- | Usage: @'glFramebufferTexture3D' target attachment textarget texture level zoffset@
--
-- The parameter @target@ is a @FramebufferTarget@.
--
-- The parameter @attachment@ is a @FramebufferAttachment@.


glFramebufferTexture3D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()
glFramebufferTexture3D :: GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> m ()
glFramebufferTexture3D = FunPtr
  (GLenum
   -> GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
-> GLenum
-> GLenum
-> GLenum
-> GLenum
-> GLsizei
-> GLsizei
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
-> GLenum
-> GLenum
-> GLenum
-> GLenum
-> GLsizei
-> GLsizei
-> m ()
ffienumenumenumuintintintIOV FunPtr
  (GLenum
   -> GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
glFramebufferTexture3DFunPtr

glFramebufferTexture3DFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ())
glFramebufferTexture3DFunPtr :: FunPtr
  (GLenum
   -> GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
glFramebufferTexture3DFunPtr = IO
  (FunPtr
     (GLenum
      -> GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> IO ()))
-> FunPtr
     (GLenum
      -> GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glFramebufferTexture3D")

{-# NOINLINE glFramebufferTexture3DFunPtr #-}

-- | Usage: @'glFramebufferTextureLayer' target attachment texture level layer@
--
-- The parameter @target@ is a @FramebufferTarget@.
--
-- The parameter @attachment@ is a @FramebufferAttachment@.
--
-- The parameter @texture@ is a @Texture@.
--
-- The parameter @level@ is a @CheckedInt32@.
--
-- The parameter @layer@ is a @CheckedInt32@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glFramebufferTextureLayer.xhtml>


glFramebufferTextureLayer :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()
glFramebufferTextureLayer :: GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> m ()
glFramebufferTextureLayer = FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
-> GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
-> GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> m ()
ffienumenumuintintintIOV FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
glFramebufferTextureLayerFunPtr

glFramebufferTextureLayerFunPtr :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ())
glFramebufferTextureLayerFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
glFramebufferTextureLayerFunPtr = IO
  (FunPtr
     (GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> IO ()))
-> FunPtr
     (GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glFramebufferTextureLayer")

{-# NOINLINE glFramebufferTextureLayerFunPtr #-}

-- | Usage: @'glFrontFace' mode@
--
-- The parameter @mode@ is a @FrontFaceDirection@, one of: 'Graphics.GL.Internal.Shared.GL_CCW', 'Graphics.GL.Internal.Shared.GL_CW'.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glFrontFace.xhtml>


glFrontFace :: MonadIO m => GLenum -> m ()
glFrontFace :: GLenum -> m ()
glFrontFace = FunPtr (GLenum -> IO ()) -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO ()) -> GLenum -> m ()
ffienumIOV FunPtr (GLenum -> IO ())
glFrontFaceFunPtr

glFrontFaceFunPtr :: FunPtr (GLenum -> IO ())
glFrontFaceFunPtr :: FunPtr (GLenum -> IO ())
glFrontFaceFunPtr = IO (FunPtr (GLenum -> IO ())) -> FunPtr (GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glFrontFace")

{-# NOINLINE glFrontFaceFunPtr #-}

-- | Usage: @'glGenBuffers' n buffers@
--
-- The length of @buffers@ should be @n@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glGenBuffers.xhtml>


glGenBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGenBuffers :: GLsizei -> Ptr GLenum -> m ()
glGenBuffers = FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
ffisizeiPtruintIOV FunPtr (GLsizei -> Ptr GLenum -> IO ())
glGenBuffersFunPtr

glGenBuffersFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glGenBuffersFunPtr :: FunPtr (GLsizei -> Ptr GLenum -> IO ())
glGenBuffersFunPtr = IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGenBuffers")

{-# NOINLINE glGenBuffersFunPtr #-}

-- | Usage: @'glGenFramebuffers' n framebuffers@
--
-- The length of @framebuffers@ should be @n@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glGenFramebuffers.xhtml>


glGenFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGenFramebuffers :: GLsizei -> Ptr GLenum -> m ()
glGenFramebuffers = FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
ffisizeiPtruintIOV FunPtr (GLsizei -> Ptr GLenum -> IO ())
glGenFramebuffersFunPtr

glGenFramebuffersFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glGenFramebuffersFunPtr :: FunPtr (GLsizei -> Ptr GLenum -> IO ())
glGenFramebuffersFunPtr = IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGenFramebuffers")

{-# NOINLINE glGenFramebuffersFunPtr #-}

-- | Usage: @'glGenQueries' n ids@
--
-- The length of @ids@ should be @n@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glGenQueries.xhtml>


glGenQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGenQueries :: GLsizei -> Ptr GLenum -> m ()
glGenQueries = FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
ffisizeiPtruintIOV FunPtr (GLsizei -> Ptr GLenum -> IO ())
glGenQueriesFunPtr

glGenQueriesFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glGenQueriesFunPtr :: FunPtr (GLsizei -> Ptr GLenum -> IO ())
glGenQueriesFunPtr = IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGenQueries")

{-# NOINLINE glGenQueriesFunPtr #-}

-- | Usage: @'glGenRenderbuffers' n renderbuffers@
--
-- The length of @renderbuffers@ should be @n@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glGenRenderbuffers.xhtml>


glGenRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGenRenderbuffers :: GLsizei -> Ptr GLenum -> m ()
glGenRenderbuffers = FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
ffisizeiPtruintIOV FunPtr (GLsizei -> Ptr GLenum -> IO ())
glGenRenderbuffersFunPtr

glGenRenderbuffersFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glGenRenderbuffersFunPtr :: FunPtr (GLsizei -> Ptr GLenum -> IO ())
glGenRenderbuffersFunPtr = IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGenRenderbuffers")

{-# NOINLINE glGenRenderbuffersFunPtr #-}

-- | Usage: @'glGenTextures' n textures@
--
-- The parameter @textures@ is a @Texture@.
--
-- The length of @textures@ should be @n@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glGenTextures.xhtml>


glGenTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGenTextures :: GLsizei -> Ptr GLenum -> m ()
glGenTextures = FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
ffisizeiPtruintIOV FunPtr (GLsizei -> Ptr GLenum -> IO ())
glGenTexturesFunPtr

glGenTexturesFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glGenTexturesFunPtr :: FunPtr (GLsizei -> Ptr GLenum -> IO ())
glGenTexturesFunPtr = IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGenTextures")

{-# NOINLINE glGenTexturesFunPtr #-}

-- | Usage: @'glGenVertexArrays' n arrays@
--
-- The length of @arrays@ should be @n@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glGenVertexArrays.xhtml>


glGenVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGenVertexArrays :: GLsizei -> Ptr GLenum -> m ()
glGenVertexArrays = FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
ffisizeiPtruintIOV FunPtr (GLsizei -> Ptr GLenum -> IO ())
glGenVertexArraysFunPtr

glGenVertexArraysFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glGenVertexArraysFunPtr :: FunPtr (GLsizei -> Ptr GLenum -> IO ())
glGenVertexArraysFunPtr = IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGenVertexArrays")

{-# NOINLINE glGenVertexArraysFunPtr #-}

-- | Usage: @'glGenerateMipmap' target@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glGenerateMipmap.xhtml>


glGenerateMipmap :: MonadIO m => GLenum -> m ()
glGenerateMipmap :: GLenum -> m ()
glGenerateMipmap = FunPtr (GLenum -> IO ()) -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO ()) -> GLenum -> m ()
ffienumIOV FunPtr (GLenum -> IO ())
glGenerateMipmapFunPtr

glGenerateMipmapFunPtr :: FunPtr (GLenum -> IO ())
glGenerateMipmapFunPtr :: FunPtr (GLenum -> IO ())
glGenerateMipmapFunPtr = IO (FunPtr (GLenum -> IO ())) -> FunPtr (GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGenerateMipmap")

{-# NOINLINE glGenerateMipmapFunPtr #-}

-- | Usage: @'glGetActiveAttrib' program index bufSize length size type name@
--
-- The length of @length@ should be @1@.
--
-- The length of @size@ should be @1@.
--
-- The length of @type@ should be @1@.
--
-- The length of @name@ should be @bufSize@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glGetActiveAttrib.xhtml>


glGetActiveAttrib :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()
glGetActiveAttrib :: GLenum
-> GLenum
-> GLsizei
-> Ptr GLsizei
-> Ptr GLsizei
-> Ptr GLenum
-> Ptr GLchar
-> m ()
glGetActiveAttrib = FunPtr
  (GLenum
   -> GLenum
   -> GLsizei
   -> Ptr GLsizei
   -> Ptr GLsizei
   -> Ptr GLenum
   -> Ptr GLchar
   -> IO ())
-> GLenum
-> GLenum
-> GLsizei
-> Ptr GLsizei
-> Ptr GLsizei
-> Ptr GLenum
-> Ptr GLchar
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLenum
   -> GLsizei
   -> Ptr GLsizei
   -> Ptr GLsizei
   -> Ptr GLenum
   -> Ptr GLchar
   -> IO ())
-> GLenum
-> GLenum
-> GLsizei
-> Ptr GLsizei
-> Ptr GLsizei
-> Ptr GLenum
-> Ptr GLchar
-> m ()
ffiuintuintsizeiPtrsizeiPtrintPtrenumPtrcharIOV FunPtr
  (GLenum
   -> GLenum
   -> GLsizei
   -> Ptr GLsizei
   -> Ptr GLsizei
   -> Ptr GLenum
   -> Ptr GLchar
   -> IO ())
glGetActiveAttribFunPtr

glGetActiveAttribFunPtr :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> IO ())
glGetActiveAttribFunPtr :: FunPtr
  (GLenum
   -> GLenum
   -> GLsizei
   -> Ptr GLsizei
   -> Ptr GLsizei
   -> Ptr GLenum
   -> Ptr GLchar
   -> IO ())
glGetActiveAttribFunPtr = IO
  (FunPtr
     (GLenum
      -> GLenum
      -> GLsizei
      -> Ptr GLsizei
      -> Ptr GLsizei
      -> Ptr GLenum
      -> Ptr GLchar
      -> IO ()))
-> FunPtr
     (GLenum
      -> GLenum
      -> GLsizei
      -> Ptr GLsizei
      -> Ptr GLsizei
      -> Ptr GLenum
      -> Ptr GLchar
      -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLenum
         -> GLsizei
         -> Ptr GLsizei
         -> Ptr GLsizei
         -> Ptr GLenum
         -> Ptr GLchar
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetActiveAttrib")

{-# NOINLINE glGetActiveAttribFunPtr #-}

-- | Usage: @'glGetActiveUniform' program index bufSize length size type name@
--
-- The length of @length@ should be @1@.
--
-- The length of @size@ should be @1@.
--
-- The length of @type@ should be @1@.
--
-- The length of @name@ should be @bufSize@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glGetActiveUniform.xhtml>


glGetActiveUniform :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()
glGetActiveUniform :: GLenum
-> GLenum
-> GLsizei
-> Ptr GLsizei
-> Ptr GLsizei
-> Ptr GLenum
-> Ptr GLchar
-> m ()
glGetActiveUniform = FunPtr
  (GLenum
   -> GLenum
   -> GLsizei
   -> Ptr GLsizei
   -> Ptr GLsizei
   -> Ptr GLenum
   -> Ptr GLchar
   -> IO ())
-> GLenum
-> GLenum
-> GLsizei
-> Ptr GLsizei
-> Ptr GLsizei
-> Ptr GLenum
-> Ptr GLchar
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLenum
   -> GLsizei
   -> Ptr GLsizei
   -> Ptr GLsizei
   -> Ptr GLenum
   -> Ptr GLchar
   -> IO ())
-> GLenum
-> GLenum
-> GLsizei
-> Ptr GLsizei
-> Ptr GLsizei
-> Ptr GLenum
-> Ptr GLchar
-> m ()
ffiuintuintsizeiPtrsizeiPtrintPtrenumPtrcharIOV FunPtr
  (GLenum
   -> GLenum
   -> GLsizei
   -> Ptr GLsizei
   -> Ptr GLsizei
   -> Ptr GLenum
   -> Ptr GLchar
   -> IO ())
glGetActiveUniformFunPtr

glGetActiveUniformFunPtr :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> IO ())
glGetActiveUniformFunPtr :: FunPtr
  (GLenum
   -> GLenum
   -> GLsizei
   -> Ptr GLsizei
   -> Ptr GLsizei
   -> Ptr GLenum
   -> Ptr GLchar
   -> IO ())
glGetActiveUniformFunPtr = IO
  (FunPtr
     (GLenum
      -> GLenum
      -> GLsizei
      -> Ptr GLsizei
      -> Ptr GLsizei
      -> Ptr GLenum
      -> Ptr GLchar
      -> IO ()))
-> FunPtr
     (GLenum
      -> GLenum
      -> GLsizei
      -> Ptr GLsizei
      -> Ptr GLsizei
      -> Ptr GLenum
      -> Ptr GLchar
      -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLenum
         -> GLsizei
         -> Ptr GLsizei
         -> Ptr GLsizei
         -> Ptr GLenum
         -> Ptr GLchar
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetActiveUniform")

{-# NOINLINE glGetActiveUniformFunPtr #-}

-- | Usage: @'glGetActiveUniformBlockName' program uniformBlockIndex bufSize length uniformBlockName@
--
-- The length of @length@ should be @1@.
--
-- The length of @uniformBlockName@ should be @bufSize@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glGetActiveUniformBlockName.xhtml>


glGetActiveUniformBlockName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
glGetActiveUniformBlockName :: GLenum -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
glGetActiveUniformBlockName = FunPtr
  (GLenum -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-> GLenum -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-> GLenum -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
ffiuintuintsizeiPtrsizeiPtrcharIOV FunPtr
  (GLenum -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
glGetActiveUniformBlockNameFunPtr

glGetActiveUniformBlockNameFunPtr :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
glGetActiveUniformBlockNameFunPtr :: FunPtr
  (GLenum -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
glGetActiveUniformBlockNameFunPtr = IO
  (FunPtr
     (GLenum
      -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()))
-> FunPtr
     (GLenum -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetActiveUniformBlockName")

{-# NOINLINE glGetActiveUniformBlockNameFunPtr #-}

-- | Usage: @'glGetActiveUniformBlockiv' program uniformBlockIndex pname params@
--
-- The length of @params@ should be @COMPSIZE(program,uniformBlockIndex,pname)@.


glGetActiveUniformBlockiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()
glGetActiveUniformBlockiv :: GLenum -> GLenum -> GLenum -> Ptr GLsizei -> m ()
glGetActiveUniformBlockiv = FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> GLenum -> Ptr GLsizei -> m ()
ffiuintuintenumPtrintIOV FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetActiveUniformBlockivFunPtr

glGetActiveUniformBlockivFunPtr :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLint -> IO ())
glGetActiveUniformBlockivFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetActiveUniformBlockivFunPtr = IO (FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetActiveUniformBlockiv")

{-# NOINLINE glGetActiveUniformBlockivFunPtr #-}

-- | Usage: @'glGetActiveUniformName' program uniformIndex bufSize length uniformName@
--
-- The length of @length@ should be @1@.
--
-- The length of @uniformName@ should be @bufSize@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glGetActiveUniformName.xhtml>


glGetActiveUniformName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
glGetActiveUniformName :: GLenum -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
glGetActiveUniformName = FunPtr
  (GLenum -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-> GLenum -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-> GLenum -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
ffiuintuintsizeiPtrsizeiPtrcharIOV FunPtr
  (GLenum -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
glGetActiveUniformNameFunPtr

glGetActiveUniformNameFunPtr :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
glGetActiveUniformNameFunPtr :: FunPtr
  (GLenum -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
glGetActiveUniformNameFunPtr = IO
  (FunPtr
     (GLenum
      -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()))
-> FunPtr
     (GLenum -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetActiveUniformName")

{-# NOINLINE glGetActiveUniformNameFunPtr #-}

-- | Usage: @'glGetActiveUniformsiv' program uniformCount uniformIndices pname params@
--
-- The length of @uniformIndices@ should be @uniformCount@.
--
-- The length of @params@ should be @COMPSIZE(uniformCount,pname)@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glGetActiveUniformsiv.xhtml>


glGetActiveUniformsiv :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> m ()
glGetActiveUniformsiv :: GLenum -> GLsizei -> Ptr GLenum -> GLenum -> Ptr GLsizei -> m ()
glGetActiveUniformsiv = FunPtr
  (GLenum -> GLsizei -> Ptr GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLsizei -> Ptr GLenum -> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum -> GLsizei -> Ptr GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLsizei -> Ptr GLenum -> GLenum -> Ptr GLsizei -> m ()
ffiuintsizeiPtruintenumPtrintIOV FunPtr
  (GLenum -> GLsizei -> Ptr GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetActiveUniformsivFunPtr

glGetActiveUniformsivFunPtr :: FunPtr (GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> IO ())
glGetActiveUniformsivFunPtr :: FunPtr
  (GLenum -> GLsizei -> Ptr GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetActiveUniformsivFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei -> Ptr GLenum -> GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr
     (GLenum -> GLsizei -> Ptr GLenum -> GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei -> Ptr GLenum -> GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetActiveUniformsiv")

{-# NOINLINE glGetActiveUniformsivFunPtr #-}

-- | Usage: @'glGetAttachedShaders' program maxCount count shaders@
--
-- The length of @count@ should be @1@.
--
-- The length of @shaders@ should be @maxCount@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glGetAttachedShaders.xhtml>


glGetAttachedShaders :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> m ()
glGetAttachedShaders :: GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> m ()
glGetAttachedShaders = FunPtr (GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> IO ())
-> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> IO ())
-> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> m ()
ffiuintsizeiPtrsizeiPtruintIOV FunPtr (GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> IO ())
glGetAttachedShadersFunPtr

glGetAttachedShadersFunPtr :: FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> IO ())
glGetAttachedShadersFunPtr :: FunPtr (GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> IO ())
glGetAttachedShadersFunPtr = IO
  (FunPtr (GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetAttachedShaders")

{-# NOINLINE glGetAttachedShadersFunPtr #-}

-- | Usage: @'glGetAttribLocation' program name@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glGetAttribLocation.xhtml>


glGetAttribLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint
glGetAttribLocation :: GLenum -> Ptr GLchar -> m GLsizei
glGetAttribLocation = FunPtr (GLenum -> Ptr GLchar -> IO GLsizei)
-> GLenum -> Ptr GLchar -> m GLsizei
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLchar -> IO GLsizei)
-> GLenum -> Ptr GLchar -> m GLsizei
ffiuintPtrcharIOint FunPtr (GLenum -> Ptr GLchar -> IO GLsizei)
glGetAttribLocationFunPtr

glGetAttribLocationFunPtr :: FunPtr (GLuint -> Ptr GLchar -> IO GLint)
glGetAttribLocationFunPtr :: FunPtr (GLenum -> Ptr GLchar -> IO GLsizei)
glGetAttribLocationFunPtr = IO (FunPtr (GLenum -> Ptr GLchar -> IO GLsizei))
-> FunPtr (GLenum -> Ptr GLchar -> IO GLsizei)
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLchar -> IO GLsizei))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetAttribLocation")

{-# NOINLINE glGetAttribLocationFunPtr #-}

-- | Usage: @'glGetBooleani_v' target index data@
--
-- The parameter @data@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @data@ should be @COMPSIZE(target)@.


glGetBooleani_v :: MonadIO m => GLenum -> GLuint -> Ptr GLboolean -> m ()
glGetBooleani_v :: GLenum -> GLenum -> Ptr GLboolean -> m ()
glGetBooleani_v = FunPtr (GLenum -> GLenum -> Ptr GLboolean -> IO ())
-> GLenum -> GLenum -> Ptr GLboolean -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLboolean -> IO ())
-> GLenum -> GLenum -> Ptr GLboolean -> m ()
ffienumuintPtrbooleanIOV FunPtr (GLenum -> GLenum -> Ptr GLboolean -> IO ())
glGetBooleani_vFunPtr

glGetBooleani_vFunPtr :: FunPtr (GLenum -> GLuint -> Ptr GLboolean -> IO ())
glGetBooleani_vFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLboolean -> IO ())
glGetBooleani_vFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLboolean -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLboolean -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLboolean -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetBooleani_v")

{-# NOINLINE glGetBooleani_vFunPtr #-}

-- | Usage: @'glGetBooleanv' pname data@
--
-- The parameter @pname@ is a @GetPName@, one of: 'Graphics.GL.Internal.Shared.GL_ACCUM_ALPHA_BITS', 'Graphics.GL.Internal.Shared.GL_ACCUM_BLUE_BITS', 'Graphics.GL.Internal.Shared.GL_ACCUM_CLEAR_VALUE', 'Graphics.GL.Internal.Shared.GL_ACCUM_GREEN_BITS', 'Graphics.GL.Internal.Shared.GL_ACCUM_RED_BITS', 'Graphics.GL.Internal.Shared.GL_ALIASED_LINE_WIDTH_RANGE', 'Graphics.GL.Internal.Shared.GL_ALIASED_POINT_SIZE_RANGE', 'Graphics.GL.Internal.Shared.GL_ALPHA_BIAS', 'Graphics.GL.Internal.Shared.GL_ALPHA_BITS', 'Graphics.GL.Internal.Shared.GL_ALPHA_SCALE', 'Graphics.GL.Internal.Shared.GL_ALPHA_TEST', 'Graphics.GL.Internal.Shared.GL_ALPHA_TEST_FUNC', 'Graphics.GL.Ext.QCOM.AlphaTest.GL_ALPHA_TEST_FUNC_QCOM', 'Graphics.GL.Ext.QCOM.AlphaTest.GL_ALPHA_TEST_QCOM', 'Graphics.GL.Internal.Shared.GL_ALPHA_TEST_REF', 'Graphics.GL.Ext.QCOM.AlphaTest.GL_ALPHA_TEST_REF_QCOM', 'Graphics.GL.Ext.SGIX.AsyncPixel.GL_ASYNC_DRAW_PIXELS_SGIX', 'Graphics.GL.Ext.SGIX.AsyncHistogram.GL_ASYNC_HISTOGRAM_SGIX', 'Graphics.GL.Ext.SGIX.Async.GL_ASYNC_MARKER_SGIX', 'Graphics.GL.Ext.SGIX.AsyncPixel.GL_ASYNC_READ_PIXELS_SGIX', 'Graphics.GL.Ext.SGIX.AsyncPixel.GL_ASYNC_TEX_IMAGE_SGIX', 'Graphics.GL.Internal.Shared.GL_ATTRIB_STACK_DEPTH', 'Graphics.GL.Internal.Shared.GL_AUTO_NORMAL', 'Graphics.GL.Internal.Shared.GL_AUX_BUFFERS', 'Graphics.GL.Internal.Shared.GL_BLEND', 'Graphics.GL.Ext.EXT.BlendColor.GL_BLEND_COLOR_EXT', 'Graphics.GL.Internal.Shared.GL_BLEND_DST', 'Graphics.GL.Ext.EXT.BlendMinmax.GL_BLEND_EQUATION_EXT', 'Graphics.GL.Internal.Shared.GL_BLEND_SRC', 'Graphics.GL.Internal.Shared.GL_BLUE_BIAS', 'Graphics.GL.Internal.Shared.GL_BLUE_BITS', 'Graphics.GL.Internal.Shared.GL_BLUE_SCALE', 'Graphics.GL.Ext.SGIX.CalligraphicFragment.GL_CALLIGRAPHIC_FRAGMENT_SGIX', 'Graphics.GL.Internal.Shared.GL_CLIENT_ATTRIB_STACK_DEPTH', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE0', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE1', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE2', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE3', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE4', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE5', 'Graphics.GL.Internal.Shared.GL_COLOR_ARRAY', 'Graphics.GL.Ext.EXT.VertexArray.GL_COLOR_ARRAY_COUNT_EXT', 'Graphics.GL.Internal.Shared.GL_COLOR_ARRAY_SIZE', 'Graphics.GL.Internal.Shared.GL_COLOR_ARRAY_STRIDE', 'Graphics.GL.Internal.Shared.GL_COLOR_ARRAY_TYPE', 'Graphics.GL.Internal.Shared.GL_COLOR_CLEAR_VALUE', 'Graphics.GL.Internal.Shared.GL_COLOR_LOGIC_OP', 'Graphics.GL.Internal.Shared.GL_COLOR_MATERIAL', 'Graphics.GL.Internal.Shared.GL_COLOR_MATERIAL_FACE', 'Graphics.GL.Internal.Shared.GL_COLOR_MATERIAL_PARAMETER', 'Graphics.GL.Ext.SGI.ColorMatrix.GL_COLOR_MATRIX_SGI', 'Graphics.GL.Ext.SGI.ColorMatrix.GL_COLOR_MATRIX_STACK_DEPTH_SGI', 'Graphics.GL.Ext.SGI.ColorTable.GL_COLOR_TABLE_SGI', 'Graphics.GL.Internal.Shared.GL_COLOR_WRITEMASK', 'Graphics.GL.Ext.EXT.Convolution.GL_CONVOLUTION_1D_EXT', 'Graphics.GL.Ext.EXT.Convolution.GL_CONVOLUTION_2D_EXT', 'Graphics.GL.Ext.SGIX.ConvolutionAccuracy.GL_CONVOLUTION_HINT_SGIX', 'Graphics.GL.Internal.Shared.GL_CULL_FACE', 'Graphics.GL.Internal.Shared.GL_CULL_FACE_MODE', 'Graphics.GL.Internal.Shared.GL_CURRENT_COLOR', 'Graphics.GL.Internal.Shared.GL_CURRENT_INDEX', 'Graphics.GL.Internal.Shared.GL_CURRENT_NORMAL', 'Graphics.GL.Internal.Shared.GL_CURRENT_RASTER_COLOR', 'Graphics.GL.Internal.Shared.GL_CURRENT_RASTER_DISTANCE', 'Graphics.GL.Internal.Shared.GL_CURRENT_RASTER_INDEX', 'Graphics.GL.Internal.Shared.GL_CURRENT_RASTER_POSITION', 'Graphics.GL.Internal.Shared.GL_CURRENT_RASTER_POSITION_VALID', 'Graphics.GL.Internal.Shared.GL_CURRENT_RASTER_TEXTURE_COORDS', 'Graphics.GL.Internal.Shared.GL_CURRENT_TEXTURE_COORDS', 'Graphics.GL.Ext.SGIX.PolynomialFfd.GL_DEFORMATIONS_MASK_SGIX', 'Graphics.GL.Internal.Shared.GL_DEPTH_BIAS', 'Graphics.GL.Internal.Shared.GL_DEPTH_BITS', 'Graphics.GL.Internal.Shared.GL_DEPTH_CLEAR_VALUE', 'Graphics.GL.Internal.Shared.GL_DEPTH_FUNC', 'Graphics.GL.Internal.Shared.GL_DEPTH_RANGE', 'Graphics.GL.Internal.Shared.GL_DEPTH_SCALE', 'Graphics.GL.Internal.Shared.GL_DEPTH_TEST', 'Graphics.GL.Internal.Shared.GL_DEPTH_WRITEMASK', 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_2D_BINDING_SGIS', 'Graphics.GL.Ext.SGIS.PointParameters.GL_DISTANCE_ATTENUATION_SGIS', 'Graphics.GL.Internal.Shared.GL_DITHER', 'Graphics.GL.Internal.Shared.GL_DOUBLEBUFFER', 'Graphics.GL.Internal.Shared.GL_DRAW_BUFFER', 'Graphics.GL.Ext.EXT.MultiviewDrawBuffers.GL_DRAW_BUFFER_EXT', 'Graphics.GL.Internal.Shared.GL_EDGE_FLAG', 'Graphics.GL.Internal.Shared.GL_EDGE_FLAG_ARRAY', 'Graphics.GL.Ext.EXT.VertexArray.GL_EDGE_FLAG_ARRAY_COUNT_EXT', 'Graphics.GL.Internal.Shared.GL_EDGE_FLAG_ARRAY_STRIDE', 'Graphics.GL.Internal.Shared.GL_FEEDBACK_BUFFER_SIZE', 'Graphics.GL.Internal.Shared.GL_FEEDBACK_BUFFER_TYPE', 'Graphics.GL.Internal.Shared.GL_FOG', 'Graphics.GL.Internal.Shared.GL_FOG_COLOR', 'Graphics.GL.Internal.Shared.GL_FOG_DENSITY', 'Graphics.GL.Internal.Shared.GL_FOG_END', 'Graphics.GL.Ext.SGIS.FogFunction.GL_FOG_FUNC_POINTS_SGIS', 'Graphics.GL.Internal.Shared.GL_FOG_HINT', 'Graphics.GL.Internal.Shared.GL_FOG_INDEX', 'Graphics.GL.Internal.Shared.GL_FOG_MODE', 'Graphics.GL.Ext.SGIX.FogOffset.GL_FOG_OFFSET_SGIX', 'Graphics.GL.Ext.SGIX.FogOffset.GL_FOG_OFFSET_VALUE_SGIX', 'Graphics.GL.Internal.Shared.GL_FOG_START', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_COLOR_MATERIAL_FACE_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_COLOR_MATERIAL_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT0_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHTING_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX', 'Graphics.GL.Ext.SGIX.Framezoom.GL_FRAMEZOOM_FACTOR_SGIX', 'Graphics.GL.Ext.SGIX.Framezoom.GL_FRAMEZOOM_SGIX', 'Graphics.GL.Internal.Shared.GL_FRONT_FACE', 'Graphics.GL.Ext.SGIS.GenerateMipmap.GL_GENERATE_MIPMAP_HINT_SGIS', 'Graphics.GL.Internal.Shared.GL_GREEN_BIAS', 'Graphics.GL.Internal.Shared.GL_GREEN_BITS', 'Graphics.GL.Internal.Shared.GL_GREEN_SCALE', 'Graphics.GL.Ext.EXT.Histogram.GL_HISTOGRAM_EXT', 'Graphics.GL.Internal.Shared.GL_INDEX_ARRAY', 'Graphics.GL.Ext.EXT.VertexArray.GL_INDEX_ARRAY_COUNT_EXT', 'Graphics.GL.Internal.Shared.GL_INDEX_ARRAY_STRIDE', 'Graphics.GL.Internal.Shared.GL_INDEX_ARRAY_TYPE', 'Graphics.GL.Internal.Shared.GL_INDEX_BITS', 'Graphics.GL.Internal.Shared.GL_INDEX_CLEAR_VALUE', 'Graphics.GL.Internal.Shared.GL_INDEX_LOGIC_OP', 'Graphics.GL.Internal.Shared.GL_INDEX_MODE', 'Graphics.GL.Internal.Shared.GL_INDEX_OFFSET', 'Graphics.GL.Internal.Shared.GL_INDEX_SHIFT', 'Graphics.GL.Internal.Shared.GL_INDEX_WRITEMASK', 'Graphics.GL.Ext.SGIX.Instruments.GL_INSTRUMENT_MEASUREMENTS_SGIX', 'Graphics.GL.Ext.SGIX.Interlace.GL_INTERLACE_SGIX', 'Graphics.GL.Ext.SGIX.IrInstrument1.GL_IR_INSTRUMENT1_SGIX', 'Graphics.GL.Internal.Shared.GL_LIGHT0', 'Graphics.GL.Internal.Shared.GL_LIGHT1', 'Graphics.GL.Internal.Shared.GL_LIGHT2', 'Graphics.GL.Internal.Shared.GL_LIGHT3', 'Graphics.GL.Internal.Shared.GL_LIGHT4', 'Graphics.GL.Internal.Shared.GL_LIGHT5', 'Graphics.GL.Internal.Shared.GL_LIGHT6', 'Graphics.GL.Internal.Shared.GL_LIGHT7', 'Graphics.GL.Internal.Shared.GL_LIGHTING', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_LIGHT_ENV_MODE_SGIX', 'Graphics.GL.Internal.Shared.GL_LIGHT_MODEL_AMBIENT', 'Graphics.GL.Internal.Shared.GL_LIGHT_MODEL_COLOR_CONTROL', 'Graphics.GL.Internal.Shared.GL_LIGHT_MODEL_LOCAL_VIEWER', 'Graphics.GL.Internal.Shared.GL_LIGHT_MODEL_TWO_SIDE', 'Graphics.GL.Internal.Shared.GL_LINE_SMOOTH', 'Graphics.GL.Internal.Shared.GL_LINE_SMOOTH_HINT', 'Graphics.GL.Internal.Shared.GL_LINE_STIPPLE', 'Graphics.GL.Internal.Shared.GL_LINE_STIPPLE_PATTERN', 'Graphics.GL.Internal.Shared.GL_LINE_STIPPLE_REPEAT', 'Graphics.GL.Internal.Shared.GL_LINE_WIDTH', 'Graphics.GL.Internal.Shared.GL_LINE_WIDTH_GRANULARITY', 'Graphics.GL.Internal.Shared.GL_LINE_WIDTH_RANGE', 'Graphics.GL.Internal.Shared.GL_LIST_BASE', 'Graphics.GL.Internal.Shared.GL_LIST_INDEX', 'Graphics.GL.Internal.Shared.GL_LIST_MODE', 'Graphics.GL.Internal.Shared.GL_LOGIC_OP', 'Graphics.GL.Internal.Shared.GL_LOGIC_OP_MODE', 'Graphics.GL.Internal.Shared.GL_MAP1_COLOR_4', 'Graphics.GL.Internal.Shared.GL_MAP1_GRID_DOMAIN', 'Graphics.GL.Internal.Shared.GL_MAP1_GRID_SEGMENTS', 'Graphics.GL.Internal.Shared.GL_MAP1_INDEX', 'Graphics.GL.Internal.Shared.GL_MAP1_NORMAL', 'Graphics.GL.Internal.Shared.GL_MAP1_TEXTURE_COORD_1', 'Graphics.GL.Internal.Shared.GL_MAP1_TEXTURE_COORD_2', 'Graphics.GL.Internal.Shared.GL_MAP1_TEXTURE_COORD_3', 'Graphics.GL.Internal.Shared.GL_MAP1_TEXTURE_COORD_4', 'Graphics.GL.Internal.Shared.GL_MAP1_VERTEX_3', 'Graphics.GL.Internal.Shared.GL_MAP1_VERTEX_4', 'Graphics.GL.Internal.Shared.GL_MAP2_COLOR_4', 'Graphics.GL.Internal.Shared.GL_MAP2_GRID_DOMAIN', 'Graphics.GL.Internal.Shared.GL_MAP2_GRID_SEGMENTS', 'Graphics.GL.Internal.Shared.GL_MAP2_INDEX', 'Graphics.GL.Internal.Shared.GL_MAP2_NORMAL', 'Graphics.GL.Internal.Shared.GL_MAP2_TEXTURE_COORD_1', 'Graphics.GL.Internal.Shared.GL_MAP2_TEXTURE_COORD_2', 'Graphics.GL.Internal.Shared.GL_MAP2_TEXTURE_COORD_3', 'Graphics.GL.Internal.Shared.GL_MAP2_TEXTURE_COORD_4', 'Graphics.GL.Internal.Shared.GL_MAP2_VERTEX_3', 'Graphics.GL.Internal.Shared.GL_MAP2_VERTEX_4', 'Graphics.GL.Internal.Shared.GL_MAP_COLOR', 'Graphics.GL.Internal.Shared.GL_MAP_STENCIL', 'Graphics.GL.Internal.Shared.GL_MATRIX_MODE', 'Graphics.GL.Ext.EXT.Texture3D.GL_MAX_3D_TEXTURE_SIZE_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_MAX_4D_TEXTURE_SIZE_SGIS', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_MAX_ACTIVE_LIGHTS_SGIX', 'Graphics.GL.Ext.SGIX.AsyncPixel.GL_MAX_ASYNC_DRAW_PIXELS_SGIX', 'Graphics.GL.Ext.SGIX.AsyncHistogram.GL_MAX_ASYNC_HISTOGRAM_SGIX', 'Graphics.GL.Ext.SGIX.AsyncPixel.GL_MAX_ASYNC_READ_PIXELS_SGIX', 'Graphics.GL.Ext.SGIX.AsyncPixel.GL_MAX_ASYNC_TEX_IMAGE_SGIX', 'Graphics.GL.Internal.Shared.GL_MAX_ATTRIB_STACK_DEPTH', 'Graphics.GL.Internal.Shared.GL_MAX_CLIENT_ATTRIB_STACK_DEPTH', 'Graphics.GL.Ext.SGIX.Clipmap.GL_MAX_CLIPMAP_DEPTH_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX', 'Graphics.GL.Internal.Shared.GL_MAX_CLIP_DISTANCES', 'Graphics.GL.Internal.Shared.GL_MAX_CLIP_PLANES', 'Graphics.GL.Ext.SGI.ColorMatrix.GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI', 'Graphics.GL.Internal.Shared.GL_MAX_EVAL_ORDER', 'Graphics.GL.Ext.SGIS.FogFunction.GL_MAX_FOG_FUNC_POINTS_SGIS', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_MAX_FRAGMENT_LIGHTS_SGIX', 'Graphics.GL.Ext.SGIX.Framezoom.GL_MAX_FRAMEZOOM_FACTOR_SGIX', 'Graphics.GL.Internal.Shared.GL_MAX_LIGHTS', 'Graphics.GL.Internal.Shared.GL_MAX_LIST_NESTING', 'Graphics.GL.Internal.Shared.GL_MAX_MODELVIEW_STACK_DEPTH', 'Graphics.GL.Internal.Shared.GL_MAX_NAME_STACK_DEPTH', 'Graphics.GL.Internal.Shared.GL_MAX_PIXEL_MAP_TABLE', 'Graphics.GL.Internal.Shared.GL_MAX_PROJECTION_STACK_DEPTH', 'Graphics.GL.Internal.Shared.GL_MAX_TEXTURE_SIZE', 'Graphics.GL.Internal.Shared.GL_MAX_TEXTURE_STACK_DEPTH', 'Graphics.GL.Internal.Shared.GL_MAX_VIEWPORT_DIMS', 'Graphics.GL.Ext.EXT.Histogram.GL_MINMAX_EXT', 'Graphics.GL.Ext.EXT.VertexWeighting.GL_MODELVIEW0_MATRIX_EXT', 'Graphics.GL.Ext.EXT.VertexWeighting.GL_MODELVIEW0_STACK_DEPTH_EXT', 'Graphics.GL.Internal.Shared.GL_MODELVIEW_MATRIX', 'Graphics.GL.Internal.Shared.GL_MODELVIEW_STACK_DEPTH', 'Graphics.GL.Ext.SGIS.Multisample.GL_MULTISAMPLE_SGIS', 'Graphics.GL.Internal.Shared.GL_NAME_STACK_DEPTH', 'Graphics.GL.Internal.Shared.GL_NORMALIZE', 'Graphics.GL.Internal.Shared.GL_NORMAL_ARRAY', 'Graphics.GL.Ext.EXT.VertexArray.GL_NORMAL_ARRAY_COUNT_EXT', 'Graphics.GL.Internal.Shared.GL_NORMAL_ARRAY_STRIDE', 'Graphics.GL.Internal.Shared.GL_NORMAL_ARRAY_TYPE', 'Graphics.GL.Internal.Shared.GL_PACK_ALIGNMENT', 'Graphics.GL.Ext.EXT.Cmyka.GL_PACK_CMYK_HINT_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_PACK_IMAGE_DEPTH_SGIS', 'Graphics.GL.Ext.EXT.Texture3D.GL_PACK_IMAGE_HEIGHT_EXT', 'Graphics.GL.Internal.Shared.GL_PACK_LSB_FIRST', 'Graphics.GL.Ext.SGIX.Resample.GL_PACK_RESAMPLE_SGIX', 'Graphics.GL.Internal.Shared.GL_PACK_ROW_LENGTH', 'Graphics.GL.Ext.EXT.Texture3D.GL_PACK_SKIP_IMAGES_EXT', 'Graphics.GL.Internal.Shared.GL_PACK_SKIP_PIXELS', 'Graphics.GL.Internal.Shared.GL_PACK_SKIP_ROWS', 'Graphics.GL.Ext.SGIS.Texture4D.GL_PACK_SKIP_VOLUMES_SGIS', 'Graphics.GL.Ext.SGIX.Subsample.GL_PACK_SUBSAMPLE_RATE_SGIX', 'Graphics.GL.Internal.Shared.GL_PACK_SWAP_BYTES', 'Graphics.GL.Internal.Shared.GL_PERSPECTIVE_CORRECTION_HINT', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_A_TO_A_SIZE', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_B_TO_B_SIZE', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_G_TO_G_SIZE', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_I_TO_A_SIZE', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_I_TO_B_SIZE', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_I_TO_G_SIZE', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_I_TO_I_SIZE', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_I_TO_R_SIZE', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_R_TO_R_SIZE', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_S_TO_S_SIZE', 'Graphics.GL.Ext.SGIS.PixelTexture.GL_PIXEL_TEXTURE_SGIS', 'Graphics.GL.Ext.SGIX.PixelTexture.GL_PIXEL_TEX_GEN_MODE_SGIX', 'Graphics.GL.Ext.SGIX.PixelTexture.GL_PIXEL_TEX_GEN_SGIX', 'Graphics.GL.Ext.SGIX.PixelTiles.GL_PIXEL_TILE_BEST_ALIGNMENT_SGIX', 'Graphics.GL.Ext.SGIX.PixelTiles.GL_PIXEL_TILE_CACHE_INCREMENT_SGIX', 'Graphics.GL.Ext.SGIX.PixelTiles.GL_PIXEL_TILE_CACHE_SIZE_SGIX', 'Graphics.GL.Ext.SGIX.PixelTiles.GL_PIXEL_TILE_GRID_DEPTH_SGIX', 'Graphics.GL.Ext.SGIX.PixelTiles.GL_PIXEL_TILE_GRID_HEIGHT_SGIX', 'Graphics.GL.Ext.SGIX.PixelTiles.GL_PIXEL_TILE_GRID_WIDTH_SGIX', 'Graphics.GL.Ext.SGIX.PixelTiles.GL_PIXEL_TILE_HEIGHT_SGIX', 'Graphics.GL.Ext.SGIX.PixelTiles.GL_PIXEL_TILE_WIDTH_SGIX', 'Graphics.GL.Ext.SGIS.PointParameters.GL_POINT_FADE_THRESHOLD_SIZE_SGIS', 'Graphics.GL.Internal.Shared.GL_POINT_SIZE', 'Graphics.GL.Internal.Shared.GL_POINT_SIZE_GRANULARITY', 'Graphics.GL.Ext.SGIS.PointParameters.GL_POINT_SIZE_MAX_SGIS', 'Graphics.GL.Ext.SGIS.PointParameters.GL_POINT_SIZE_MIN_SGIS', 'Graphics.GL.Internal.Shared.GL_POINT_SIZE_RANGE', 'Graphics.GL.Internal.Shared.GL_POINT_SMOOTH', 'Graphics.GL.Internal.Shared.GL_POINT_SMOOTH_HINT', 'Graphics.GL.Internal.Shared.GL_POLYGON_MODE', 'Graphics.GL.Ext.EXT.PolygonOffset.GL_POLYGON_OFFSET_BIAS_EXT', 'Graphics.GL.Internal.Shared.GL_POLYGON_OFFSET_FACTOR', 'Graphics.GL.Internal.Shared.GL_POLYGON_OFFSET_FILL', 'Graphics.GL.Internal.Shared.GL_POLYGON_OFFSET_LINE', 'Graphics.GL.Internal.Shared.GL_POLYGON_OFFSET_POINT', 'Graphics.GL.Internal.Shared.GL_POLYGON_OFFSET_UNITS', 'Graphics.GL.Internal.Shared.GL_POLYGON_SMOOTH', 'Graphics.GL.Internal.Shared.GL_POLYGON_SMOOTH_HINT', 'Graphics.GL.Internal.Shared.GL_POLYGON_STIPPLE', 'Graphics.GL.Ext.SGI.ColorMatrix.GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI', 'Graphics.GL.Ext.SGI.ColorMatrix.GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI', 'Graphics.GL.Ext.SGI.ColorMatrix.GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI', 'Graphics.GL.Ext.SGI.ColorMatrix.GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI', 'Graphics.GL.Ext.SGI.ColorTable.GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI', 'Graphics.GL.Ext.SGI.ColorMatrix.GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI', 'Graphics.GL.Ext.SGI.ColorMatrix.GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI', 'Graphics.GL.Ext.SGI.ColorMatrix.GL_POST_COLOR_MATRIX_RED_BIAS_SGI', 'Graphics.GL.Ext.SGI.ColorMatrix.GL_POST_COLOR_MATRIX_RED_SCALE_SGI', 'Graphics.GL.Ext.EXT.Convolution.GL_POST_CONVOLUTION_ALPHA_BIAS_EXT', 'Graphics.GL.Ext.EXT.Convolution.GL_POST_CONVOLUTION_ALPHA_SCALE_EXT', 'Graphics.GL.Ext.EXT.Convolution.GL_POST_CONVOLUTION_BLUE_BIAS_EXT', 'Graphics.GL.Ext.EXT.Convolution.GL_POST_CONVOLUTION_BLUE_SCALE_EXT', 'Graphics.GL.Ext.SGI.ColorTable.GL_POST_CONVOLUTION_COLOR_TABLE_SGI', 'Graphics.GL.Ext.EXT.Convolution.GL_POST_CONVOLUTION_GREEN_BIAS_EXT', 'Graphics.GL.Ext.EXT.Convolution.GL_POST_CONVOLUTION_GREEN_SCALE_EXT', 'Graphics.GL.Ext.EXT.Convolution.GL_POST_CONVOLUTION_RED_BIAS_EXT', 'Graphics.GL.Ext.EXT.Convolution.GL_POST_CONVOLUTION_RED_SCALE_EXT', 'Graphics.GL.Ext.SGIX.TextureScaleBias.GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX', 'Graphics.GL.Ext.SGIX.TextureScaleBias.GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX', 'Graphics.GL.Internal.Shared.GL_PROJECTION_MATRIX', 'Graphics.GL.Internal.Shared.GL_PROJECTION_STACK_DEPTH', 'Graphics.GL.Internal.Shared.GL_READ_BUFFER', 'Graphics.GL.Ext.EXT.MultiviewDrawBuffers.GL_READ_BUFFER_EXT', 'Graphics.GL.Ext.NV.ReadBuffer.GL_READ_BUFFER_NV', 'Graphics.GL.Internal.Shared.GL_RED_BIAS', 'Graphics.GL.Internal.Shared.GL_RED_BITS', 'Graphics.GL.Internal.Shared.GL_RED_SCALE', 'Graphics.GL.Ext.SGIX.ReferencePlane.GL_REFERENCE_PLANE_EQUATION_SGIX', 'Graphics.GL.Ext.SGIX.ReferencePlane.GL_REFERENCE_PLANE_SGIX', 'Graphics.GL.Internal.Shared.GL_RENDER_MODE', 'Graphics.GL.Ext.EXT.RescaleNormal.GL_RESCALE_NORMAL_EXT', 'Graphics.GL.Internal.Shared.GL_RGBA_MODE', 'Graphics.GL.Ext.SGIS.Multisample.GL_SAMPLES_SGIS', 'Graphics.GL.Ext.SGIS.Multisample.GL_SAMPLE_ALPHA_TO_MASK_SGIS', 'Graphics.GL.Ext.SGIS.Multisample.GL_SAMPLE_ALPHA_TO_ONE_SGIS', 'Graphics.GL.Ext.SGIS.Multisample.GL_SAMPLE_BUFFERS_SGIS', 'Graphics.GL.Ext.SGIS.Multisample.GL_SAMPLE_MASK_INVERT_SGIS', 'Graphics.GL.Ext.SGIS.Multisample.GL_SAMPLE_MASK_SGIS', 'Graphics.GL.Ext.SGIS.Multisample.GL_SAMPLE_MASK_VALUE_SGIS', 'Graphics.GL.Ext.SGIS.Multisample.GL_SAMPLE_PATTERN_SGIS', 'Graphics.GL.Internal.Shared.GL_SCISSOR_BOX', 'Graphics.GL.Internal.Shared.GL_SCISSOR_TEST', 'Graphics.GL.Internal.Shared.GL_SELECTION_BUFFER_SIZE', 'Graphics.GL.Ext.EXT.Convolution.GL_SEPARABLE_2D_EXT', 'Graphics.GL.Internal.Shared.GL_SHADE_MODEL', 'Graphics.GL.Ext.EXT.SharedTexturePalette.GL_SHARED_TEXTURE_PALETTE_EXT', 'Graphics.GL.Internal.Shared.GL_SMOOTH_LINE_WIDTH_GRANULARITY', 'Graphics.GL.Internal.Shared.GL_SMOOTH_LINE_WIDTH_RANGE', 'Graphics.GL.Internal.Shared.GL_SMOOTH_POINT_SIZE_GRANULARITY', 'Graphics.GL.Internal.Shared.GL_SMOOTH_POINT_SIZE_RANGE', 'Graphics.GL.Ext.SGIX.Sprite.GL_SPRITE_AXIS_SGIX', 'Graphics.GL.Ext.SGIX.Sprite.GL_SPRITE_MODE_SGIX', 'Graphics.GL.Ext.SGIX.Sprite.GL_SPRITE_SGIX', 'Graphics.GL.Ext.SGIX.Sprite.GL_SPRITE_TRANSLATION_SGIX', 'Graphics.GL.Internal.Shared.GL_STENCIL_BITS', 'Graphics.GL.Internal.Shared.GL_STENCIL_CLEAR_VALUE', 'Graphics.GL.Internal.Shared.GL_STENCIL_FAIL', 'Graphics.GL.Internal.Shared.GL_STENCIL_FUNC', 'Graphics.GL.Internal.Shared.GL_STENCIL_PASS_DEPTH_FAIL', 'Graphics.GL.Internal.Shared.GL_STENCIL_PASS_DEPTH_PASS', 'Graphics.GL.Internal.Shared.GL_STENCIL_REF', 'Graphics.GL.Internal.Shared.GL_STENCIL_TEST', 'Graphics.GL.Internal.Shared.GL_STENCIL_VALUE_MASK', 'Graphics.GL.Internal.Shared.GL_STENCIL_WRITEMASK', 'Graphics.GL.Internal.Shared.GL_STEREO', 'Graphics.GL.Internal.Shared.GL_SUBPIXEL_BITS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_1D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_2D', 'Graphics.GL.Ext.EXT.TextureObject.GL_TEXTURE_3D_BINDING_EXT', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_3D_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_4D_BINDING_SGIS', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BINDING_1D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BINDING_2D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BINDING_3D', 'Graphics.GL.Ext.SGI.TextureColorTable.GL_TEXTURE_COLOR_TABLE_SGI', 'Graphics.GL.Internal.Shared.GL_TEXTURE_COORD_ARRAY', 'Graphics.GL.Ext.EXT.VertexArray.GL_TEXTURE_COORD_ARRAY_COUNT_EXT', 'Graphics.GL.Internal.Shared.GL_TEXTURE_COORD_ARRAY_SIZE', 'Graphics.GL.Internal.Shared.GL_TEXTURE_COORD_ARRAY_STRIDE', 'Graphics.GL.Internal.Shared.GL_TEXTURE_COORD_ARRAY_TYPE', 'Graphics.GL.Internal.Shared.GL_TEXTURE_GEN_Q', 'Graphics.GL.Internal.Shared.GL_TEXTURE_GEN_R', 'Graphics.GL.Internal.Shared.GL_TEXTURE_GEN_S', 'Graphics.GL.Internal.Shared.GL_TEXTURE_GEN_T', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MATRIX', 'Graphics.GL.Internal.Shared.GL_TEXTURE_STACK_DEPTH', 'Graphics.GL.Internal.Shared.GL_UNPACK_ALIGNMENT', 'Graphics.GL.Ext.EXT.Cmyka.GL_UNPACK_CMYK_HINT_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_UNPACK_IMAGE_DEPTH_SGIS', 'Graphics.GL.Ext.EXT.Texture3D.GL_UNPACK_IMAGE_HEIGHT_EXT', 'Graphics.GL.Internal.Shared.GL_UNPACK_LSB_FIRST', 'Graphics.GL.Ext.SGIX.Resample.GL_UNPACK_RESAMPLE_SGIX', 'Graphics.GL.Internal.Shared.GL_UNPACK_ROW_LENGTH', 'Graphics.GL.Ext.EXT.Texture3D.GL_UNPACK_SKIP_IMAGES_EXT', 'Graphics.GL.Internal.Shared.GL_UNPACK_SKIP_PIXELS', 'Graphics.GL.Internal.Shared.GL_UNPACK_SKIP_ROWS', 'Graphics.GL.Ext.SGIS.Texture4D.GL_UNPACK_SKIP_VOLUMES_SGIS', 'Graphics.GL.Ext.SGIX.Subsample.GL_UNPACK_SUBSAMPLE_RATE_SGIX', 'Graphics.GL.Internal.Shared.GL_UNPACK_SWAP_BYTES', 'Graphics.GL.Internal.Shared.GL_VERTEX_ARRAY', 'Graphics.GL.Ext.EXT.VertexArray.GL_VERTEX_ARRAY_COUNT_EXT', 'Graphics.GL.Internal.Shared.GL_VERTEX_ARRAY_SIZE', 'Graphics.GL.Internal.Shared.GL_VERTEX_ARRAY_STRIDE', 'Graphics.GL.Internal.Shared.GL_VERTEX_ARRAY_TYPE', 'Graphics.GL.Ext.SGIX.VertexPreclip.GL_VERTEX_PRECLIP_HINT_SGIX', 'Graphics.GL.Ext.SGIX.VertexPreclip.GL_VERTEX_PRECLIP_SGIX', 'Graphics.GL.Internal.Shared.GL_VIEWPORT', 'Graphics.GL.Internal.Shared.GL_ZOOM_X', 'Graphics.GL.Internal.Shared.GL_ZOOM_Y'.
--
-- The parameter @data@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @data@ should be @COMPSIZE(pname)@.


glGetBooleanv :: MonadIO m => GLenum -> Ptr GLboolean -> m ()
glGetBooleanv :: GLenum -> Ptr GLboolean -> m ()
glGetBooleanv = FunPtr (GLenum -> Ptr GLboolean -> IO ())
-> GLenum -> Ptr GLboolean -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLboolean -> IO ())
-> GLenum -> Ptr GLboolean -> m ()
ffienumPtrbooleanIOV FunPtr (GLenum -> Ptr GLboolean -> IO ())
glGetBooleanvFunPtr

glGetBooleanvFunPtr :: FunPtr (GLenum -> Ptr GLboolean -> IO ())
glGetBooleanvFunPtr :: FunPtr (GLenum -> Ptr GLboolean -> IO ())
glGetBooleanvFunPtr = IO (FunPtr (GLenum -> Ptr GLboolean -> IO ()))
-> FunPtr (GLenum -> Ptr GLboolean -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLboolean -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetBooleanv")

{-# NOINLINE glGetBooleanvFunPtr #-}

-- | Usage: @'glGetBufferParameteri64v' target pname params@
--
-- The parameter @target@ is a @BufferTargetARB@.
--
-- The parameter @pname@ is a @BufferPNameARB@.
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glGetBufferParameteri64v :: MonadIO m => GLenum -> GLenum -> Ptr GLint64 -> m ()
glGetBufferParameteri64v :: GLenum -> GLenum -> Ptr GLint64 -> m ()
glGetBufferParameteri64v = FunPtr (GLenum -> GLenum -> Ptr GLint64 -> IO ())
-> GLenum -> GLenum -> Ptr GLint64 -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLint64 -> IO ())
-> GLenum -> GLenum -> Ptr GLint64 -> m ()
ffienumenumPtrint64IOV FunPtr (GLenum -> GLenum -> Ptr GLint64 -> IO ())
glGetBufferParameteri64vFunPtr

glGetBufferParameteri64vFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLint64 -> IO ())
glGetBufferParameteri64vFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLint64 -> IO ())
glGetBufferParameteri64vFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLint64 -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLint64 -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLint64 -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetBufferParameteri64v")

{-# NOINLINE glGetBufferParameteri64vFunPtr #-}

-- | Usage: @'glGetBufferParameteriv' target pname params@
--
-- The parameter @target@ is a @BufferTargetARB@.
--
-- The parameter @pname@ is a @BufferPNameARB@.
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glGetBufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetBufferParameteriv :: GLenum -> GLenum -> Ptr GLsizei -> m ()
glGetBufferParameteriv = FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
ffienumenumPtrintIOV FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetBufferParameterivFunPtr

glGetBufferParameterivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
glGetBufferParameterivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetBufferParameterivFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetBufferParameteriv")

{-# NOINLINE glGetBufferParameterivFunPtr #-}

-- | Usage: @'glGetBufferPointerv' target pname params@
--
-- The parameter @target@ is a @BufferTargetARB@.
--
-- The parameter @pname@ is a @BufferPointerNameARB@.
--
-- The length of @params@ should be @1@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glGetBufferPointerv.xhtml>


glGetBufferPointerv :: MonadIO m => GLenum -> GLenum -> Ptr (Ptr ()) -> m ()
glGetBufferPointerv :: GLenum -> GLenum -> Ptr (Ptr ()) -> m ()
glGetBufferPointerv = FunPtr (GLenum -> GLenum -> Ptr (Ptr ()) -> IO ())
-> GLenum -> GLenum -> Ptr (Ptr ()) -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr (Ptr ()) -> IO ())
-> GLenum -> GLenum -> Ptr (Ptr ()) -> m ()
ffienumenumPtrPtrVIOV FunPtr (GLenum -> GLenum -> Ptr (Ptr ()) -> IO ())
glGetBufferPointervFunPtr

glGetBufferPointervFunPtr :: FunPtr (GLenum -> GLenum -> Ptr (Ptr ()) -> IO ())
glGetBufferPointervFunPtr :: FunPtr (GLenum -> GLenum -> Ptr (Ptr ()) -> IO ())
glGetBufferPointervFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr (Ptr ()) -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr (Ptr ()) -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr (Ptr ()) -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetBufferPointerv")

{-# NOINLINE glGetBufferPointervFunPtr #-}

-- | Usage: @'glGetBufferSubData' target offset size data@
--
-- The parameter @target@ is a @BufferTargetARB@.
--
-- The parameter @offset@ is a @BufferOffset@.
--
-- The parameter @size@ is a @BufferSize@.
--
-- The length of @data@ should be @size@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glGetBufferSubData.xhtml>


glGetBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr () -> m ()
glGetBufferSubData :: GLenum -> GLintptr -> GLintptr -> Ptr () -> m ()
glGetBufferSubData = FunPtr (GLenum -> GLintptr -> GLintptr -> Ptr () -> IO ())
-> GLenum -> GLintptr -> GLintptr -> Ptr () -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLintptr -> GLintptr -> Ptr () -> IO ())
-> GLenum -> GLintptr -> GLintptr -> Ptr () -> m ()
ffienumintptrsizeiptrPtrVIOV FunPtr (GLenum -> GLintptr -> GLintptr -> Ptr () -> IO ())
glGetBufferSubDataFunPtr

glGetBufferSubDataFunPtr :: FunPtr (GLenum -> GLintptr -> GLsizeiptr -> Ptr () -> IO ())
glGetBufferSubDataFunPtr :: FunPtr (GLenum -> GLintptr -> GLintptr -> Ptr () -> IO ())
glGetBufferSubDataFunPtr = IO (FunPtr (GLenum -> GLintptr -> GLintptr -> Ptr () -> IO ()))
-> FunPtr (GLenum -> GLintptr -> GLintptr -> Ptr () -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLintptr -> GLintptr -> Ptr () -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetBufferSubData")

{-# NOINLINE glGetBufferSubDataFunPtr #-}

-- | Usage: @'glGetCompressedTexImage' target level img@
--
-- The parameter @target@ is a @TextureTarget@, one of: 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_2D_SGIS', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_1D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_1D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_2D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_2D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_PROXY_TEXTURE_3D_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_PROXY_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_1D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_2D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_3D_EXT', 'Graphics.GL.Ext.OES.Texture3D.GL_TEXTURE_3D_OES', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BASE_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_BASE_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LOD_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MIN_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MIN_LOD_SGIS'.
--
-- The parameter @level@ is a @CheckedInt32@.
--
-- The parameter @img@ is a @CompressedTextureARB@.
--
-- The length of @img@ should be @COMPSIZE(target,level)@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glGetCompressedTexImage.xhtml>


glGetCompressedTexImage :: MonadIO m => GLenum -> GLint -> Ptr () -> m ()
glGetCompressedTexImage :: GLenum -> GLsizei -> Ptr () -> m ()
glGetCompressedTexImage = FunPtr (GLenum -> GLsizei -> Ptr () -> IO ())
-> GLenum -> GLsizei -> Ptr () -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> Ptr () -> IO ())
-> GLenum -> GLsizei -> Ptr () -> m ()
ffienumintPtrVIOV FunPtr (GLenum -> GLsizei -> Ptr () -> IO ())
glGetCompressedTexImageFunPtr

glGetCompressedTexImageFunPtr :: FunPtr (GLenum -> GLint -> Ptr () -> IO ())
glGetCompressedTexImageFunPtr :: FunPtr (GLenum -> GLsizei -> Ptr () -> IO ())
glGetCompressedTexImageFunPtr = IO (FunPtr (GLenum -> GLsizei -> Ptr () -> IO ()))
-> FunPtr (GLenum -> GLsizei -> Ptr () -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLsizei -> Ptr () -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetCompressedTexImage")

{-# NOINLINE glGetCompressedTexImageFunPtr #-}

-- | Usage: @'glGetDoublev' pname data@
--
-- The parameter @pname@ is a @GetPName@, one of: 'Graphics.GL.Internal.Shared.GL_ACCUM_ALPHA_BITS', 'Graphics.GL.Internal.Shared.GL_ACCUM_BLUE_BITS', 'Graphics.GL.Internal.Shared.GL_ACCUM_CLEAR_VALUE', 'Graphics.GL.Internal.Shared.GL_ACCUM_GREEN_BITS', 'Graphics.GL.Internal.Shared.GL_ACCUM_RED_BITS', 'Graphics.GL.Internal.Shared.GL_ALIASED_LINE_WIDTH_RANGE', 'Graphics.GL.Internal.Shared.GL_ALIASED_POINT_SIZE_RANGE', 'Graphics.GL.Internal.Shared.GL_ALPHA_BIAS', 'Graphics.GL.Internal.Shared.GL_ALPHA_BITS', 'Graphics.GL.Internal.Shared.GL_ALPHA_SCALE', 'Graphics.GL.Internal.Shared.GL_ALPHA_TEST', 'Graphics.GL.Internal.Shared.GL_ALPHA_TEST_FUNC', 'Graphics.GL.Ext.QCOM.AlphaTest.GL_ALPHA_TEST_FUNC_QCOM', 'Graphics.GL.Ext.QCOM.AlphaTest.GL_ALPHA_TEST_QCOM', 'Graphics.GL.Internal.Shared.GL_ALPHA_TEST_REF', 'Graphics.GL.Ext.QCOM.AlphaTest.GL_ALPHA_TEST_REF_QCOM', 'Graphics.GL.Ext.SGIX.AsyncPixel.GL_ASYNC_DRAW_PIXELS_SGIX', 'Graphics.GL.Ext.SGIX.AsyncHistogram.GL_ASYNC_HISTOGRAM_SGIX', 'Graphics.GL.Ext.SGIX.Async.GL_ASYNC_MARKER_SGIX', 'Graphics.GL.Ext.SGIX.AsyncPixel.GL_ASYNC_READ_PIXELS_SGIX', 'Graphics.GL.Ext.SGIX.AsyncPixel.GL_ASYNC_TEX_IMAGE_SGIX', 'Graphics.GL.Internal.Shared.GL_ATTRIB_STACK_DEPTH', 'Graphics.GL.Internal.Shared.GL_AUTO_NORMAL', 'Graphics.GL.Internal.Shared.GL_AUX_BUFFERS', 'Graphics.GL.Internal.Shared.GL_BLEND', 'Graphics.GL.Ext.EXT.BlendColor.GL_BLEND_COLOR_EXT', 'Graphics.GL.Internal.Shared.GL_BLEND_DST', 'Graphics.GL.Ext.EXT.BlendMinmax.GL_BLEND_EQUATION_EXT', 'Graphics.GL.Internal.Shared.GL_BLEND_SRC', 'Graphics.GL.Internal.Shared.GL_BLUE_BIAS', 'Graphics.GL.Internal.Shared.GL_BLUE_BITS', 'Graphics.GL.Internal.Shared.GL_BLUE_SCALE', 'Graphics.GL.Ext.SGIX.CalligraphicFragment.GL_CALLIGRAPHIC_FRAGMENT_SGIX', 'Graphics.GL.Internal.Shared.GL_CLIENT_ATTRIB_STACK_DEPTH', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE0', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE1', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE2', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE3', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE4', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE5', 'Graphics.GL.Internal.Shared.GL_COLOR_ARRAY', 'Graphics.GL.Ext.EXT.VertexArray.GL_COLOR_ARRAY_COUNT_EXT', 'Graphics.GL.Internal.Shared.GL_COLOR_ARRAY_SIZE', 'Graphics.GL.Internal.Shared.GL_COLOR_ARRAY_STRIDE', 'Graphics.GL.Internal.Shared.GL_COLOR_ARRAY_TYPE', 'Graphics.GL.Internal.Shared.GL_COLOR_CLEAR_VALUE', 'Graphics.GL.Internal.Shared.GL_COLOR_LOGIC_OP', 'Graphics.GL.Internal.Shared.GL_COLOR_MATERIAL', 'Graphics.GL.Internal.Shared.GL_COLOR_MATERIAL_FACE', 'Graphics.GL.Internal.Shared.GL_COLOR_MATERIAL_PARAMETER', 'Graphics.GL.Ext.SGI.ColorMatrix.GL_COLOR_MATRIX_SGI', 'Graphics.GL.Ext.SGI.ColorMatrix.GL_COLOR_MATRIX_STACK_DEPTH_SGI', 'Graphics.GL.Ext.SGI.ColorTable.GL_COLOR_TABLE_SGI', 'Graphics.GL.Internal.Shared.GL_COLOR_WRITEMASK', 'Graphics.GL.Ext.EXT.Convolution.GL_CONVOLUTION_1D_EXT', 'Graphics.GL.Ext.EXT.Convolution.GL_CONVOLUTION_2D_EXT', 'Graphics.GL.Ext.SGIX.ConvolutionAccuracy.GL_CONVOLUTION_HINT_SGIX', 'Graphics.GL.Internal.Shared.GL_CULL_FACE', 'Graphics.GL.Internal.Shared.GL_CULL_FACE_MODE', 'Graphics.GL.Internal.Shared.GL_CURRENT_COLOR', 'Graphics.GL.Internal.Shared.GL_CURRENT_INDEX', 'Graphics.GL.Internal.Shared.GL_CURRENT_NORMAL', 'Graphics.GL.Internal.Shared.GL_CURRENT_RASTER_COLOR', 'Graphics.GL.Internal.Shared.GL_CURRENT_RASTER_DISTANCE', 'Graphics.GL.Internal.Shared.GL_CURRENT_RASTER_INDEX', 'Graphics.GL.Internal.Shared.GL_CURRENT_RASTER_POSITION', 'Graphics.GL.Internal.Shared.GL_CURRENT_RASTER_POSITION_VALID', 'Graphics.GL.Internal.Shared.GL_CURRENT_RASTER_TEXTURE_COORDS', 'Graphics.GL.Internal.Shared.GL_CURRENT_TEXTURE_COORDS', 'Graphics.GL.Ext.SGIX.PolynomialFfd.GL_DEFORMATIONS_MASK_SGIX', 'Graphics.GL.Internal.Shared.GL_DEPTH_BIAS', 'Graphics.GL.Internal.Shared.GL_DEPTH_BITS', 'Graphics.GL.Internal.Shared.GL_DEPTH_CLEAR_VALUE', 'Graphics.GL.Internal.Shared.GL_DEPTH_FUNC', 'Graphics.GL.Internal.Shared.GL_DEPTH_RANGE', 'Graphics.GL.Internal.Shared.GL_DEPTH_SCALE', 'Graphics.GL.Internal.Shared.GL_DEPTH_TEST', 'Graphics.GL.Internal.Shared.GL_DEPTH_WRITEMASK', 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_2D_BINDING_SGIS', 'Graphics.GL.Ext.SGIS.PointParameters.GL_DISTANCE_ATTENUATION_SGIS', 'Graphics.GL.Internal.Shared.GL_DITHER', 'Graphics.GL.Internal.Shared.GL_DOUBLEBUFFER', 'Graphics.GL.Internal.Shared.GL_DRAW_BUFFER', 'Graphics.GL.Ext.EXT.MultiviewDrawBuffers.GL_DRAW_BUFFER_EXT', 'Graphics.GL.Internal.Shared.GL_EDGE_FLAG', 'Graphics.GL.Internal.Shared.GL_EDGE_FLAG_ARRAY', 'Graphics.GL.Ext.EXT.VertexArray.GL_EDGE_FLAG_ARRAY_COUNT_EXT', 'Graphics.GL.Internal.Shared.GL_EDGE_FLAG_ARRAY_STRIDE', 'Graphics.GL.Internal.Shared.GL_FEEDBACK_BUFFER_SIZE', 'Graphics.GL.Internal.Shared.GL_FEEDBACK_BUFFER_TYPE', 'Graphics.GL.Internal.Shared.GL_FOG', 'Graphics.GL.Internal.Shared.GL_FOG_COLOR', 'Graphics.GL.Internal.Shared.GL_FOG_DENSITY', 'Graphics.GL.Internal.Shared.GL_FOG_END', 'Graphics.GL.Ext.SGIS.FogFunction.GL_FOG_FUNC_POINTS_SGIS', 'Graphics.GL.Internal.Shared.GL_FOG_HINT', 'Graphics.GL.Internal.Shared.GL_FOG_INDEX', 'Graphics.GL.Internal.Shared.GL_FOG_MODE', 'Graphics.GL.Ext.SGIX.FogOffset.GL_FOG_OFFSET_SGIX', 'Graphics.GL.Ext.SGIX.FogOffset.GL_FOG_OFFSET_VALUE_SGIX', 'Graphics.GL.Internal.Shared.GL_FOG_START', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_COLOR_MATERIAL_FACE_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_COLOR_MATERIAL_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT0_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHTING_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX', 'Graphics.GL.Ext.SGIX.Framezoom.GL_FRAMEZOOM_FACTOR_SGIX', 'Graphics.GL.Ext.SGIX.Framezoom.GL_FRAMEZOOM_SGIX', 'Graphics.GL.Internal.Shared.GL_FRONT_FACE', 'Graphics.GL.Ext.SGIS.GenerateMipmap.GL_GENERATE_MIPMAP_HINT_SGIS', 'Graphics.GL.Internal.Shared.GL_GREEN_BIAS', 'Graphics.GL.Internal.Shared.GL_GREEN_BITS', 'Graphics.GL.Internal.Shared.GL_GREEN_SCALE', 'Graphics.GL.Ext.EXT.Histogram.GL_HISTOGRAM_EXT', 'Graphics.GL.Internal.Shared.GL_INDEX_ARRAY', 'Graphics.GL.Ext.EXT.VertexArray.GL_INDEX_ARRAY_COUNT_EXT', 'Graphics.GL.Internal.Shared.GL_INDEX_ARRAY_STRIDE', 'Graphics.GL.Internal.Shared.GL_INDEX_ARRAY_TYPE', 'Graphics.GL.Internal.Shared.GL_INDEX_BITS', 'Graphics.GL.Internal.Shared.GL_INDEX_CLEAR_VALUE', 'Graphics.GL.Internal.Shared.GL_INDEX_LOGIC_OP', 'Graphics.GL.Internal.Shared.GL_INDEX_MODE', 'Graphics.GL.Internal.Shared.GL_INDEX_OFFSET', 'Graphics.GL.Internal.Shared.GL_INDEX_SHIFT', 'Graphics.GL.Internal.Shared.GL_INDEX_WRITEMASK', 'Graphics.GL.Ext.SGIX.Instruments.GL_INSTRUMENT_MEASUREMENTS_SGIX', 'Graphics.GL.Ext.SGIX.Interlace.GL_INTERLACE_SGIX', 'Graphics.GL.Ext.SGIX.IrInstrument1.GL_IR_INSTRUMENT1_SGIX', 'Graphics.GL.Internal.Shared.GL_LIGHT0', 'Graphics.GL.Internal.Shared.GL_LIGHT1', 'Graphics.GL.Internal.Shared.GL_LIGHT2', 'Graphics.GL.Internal.Shared.GL_LIGHT3', 'Graphics.GL.Internal.Shared.GL_LIGHT4', 'Graphics.GL.Internal.Shared.GL_LIGHT5', 'Graphics.GL.Internal.Shared.GL_LIGHT6', 'Graphics.GL.Internal.Shared.GL_LIGHT7', 'Graphics.GL.Internal.Shared.GL_LIGHTING', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_LIGHT_ENV_MODE_SGIX', 'Graphics.GL.Internal.Shared.GL_LIGHT_MODEL_AMBIENT', 'Graphics.GL.Internal.Shared.GL_LIGHT_MODEL_COLOR_CONTROL', 'Graphics.GL.Internal.Shared.GL_LIGHT_MODEL_LOCAL_VIEWER', 'Graphics.GL.Internal.Shared.GL_LIGHT_MODEL_TWO_SIDE', 'Graphics.GL.Internal.Shared.GL_LINE_SMOOTH', 'Graphics.GL.Internal.Shared.GL_LINE_SMOOTH_HINT', 'Graphics.GL.Internal.Shared.GL_LINE_STIPPLE', 'Graphics.GL.Internal.Shared.GL_LINE_STIPPLE_PATTERN', 'Graphics.GL.Internal.Shared.GL_LINE_STIPPLE_REPEAT', 'Graphics.GL.Internal.Shared.GL_LINE_WIDTH', 'Graphics.GL.Internal.Shared.GL_LINE_WIDTH_GRANULARITY', 'Graphics.GL.Internal.Shared.GL_LINE_WIDTH_RANGE', 'Graphics.GL.Internal.Shared.GL_LIST_BASE', 'Graphics.GL.Internal.Shared.GL_LIST_INDEX', 'Graphics.GL.Internal.Shared.GL_LIST_MODE', 'Graphics.GL.Internal.Shared.GL_LOGIC_OP', 'Graphics.GL.Internal.Shared.GL_LOGIC_OP_MODE', 'Graphics.GL.Internal.Shared.GL_MAP1_COLOR_4', 'Graphics.GL.Internal.Shared.GL_MAP1_GRID_DOMAIN', 'Graphics.GL.Internal.Shared.GL_MAP1_GRID_SEGMENTS', 'Graphics.GL.Internal.Shared.GL_MAP1_INDEX', 'Graphics.GL.Internal.Shared.GL_MAP1_NORMAL', 'Graphics.GL.Internal.Shared.GL_MAP1_TEXTURE_COORD_1', 'Graphics.GL.Internal.Shared.GL_MAP1_TEXTURE_COORD_2', 'Graphics.GL.Internal.Shared.GL_MAP1_TEXTURE_COORD_3', 'Graphics.GL.Internal.Shared.GL_MAP1_TEXTURE_COORD_4', 'Graphics.GL.Internal.Shared.GL_MAP1_VERTEX_3', 'Graphics.GL.Internal.Shared.GL_MAP1_VERTEX_4', 'Graphics.GL.Internal.Shared.GL_MAP2_COLOR_4', 'Graphics.GL.Internal.Shared.GL_MAP2_GRID_DOMAIN', 'Graphics.GL.Internal.Shared.GL_MAP2_GRID_SEGMENTS', 'Graphics.GL.Internal.Shared.GL_MAP2_INDEX', 'Graphics.GL.Internal.Shared.GL_MAP2_NORMAL', 'Graphics.GL.Internal.Shared.GL_MAP2_TEXTURE_COORD_1', 'Graphics.GL.Internal.Shared.GL_MAP2_TEXTURE_COORD_2', 'Graphics.GL.Internal.Shared.GL_MAP2_TEXTURE_COORD_3', 'Graphics.GL.Internal.Shared.GL_MAP2_TEXTURE_COORD_4', 'Graphics.GL.Internal.Shared.GL_MAP2_VERTEX_3', 'Graphics.GL.Internal.Shared.GL_MAP2_VERTEX_4', 'Graphics.GL.Internal.Shared.GL_MAP_COLOR', 'Graphics.GL.Internal.Shared.GL_MAP_STENCIL', 'Graphics.GL.Internal.Shared.GL_MATRIX_MODE', 'Graphics.GL.Ext.EXT.Texture3D.GL_MAX_3D_TEXTURE_SIZE_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_MAX_4D_TEXTURE_SIZE_SGIS', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_MAX_ACTIVE_LIGHTS_SGIX', 'Graphics.GL.Ext.SGIX.AsyncPixel.GL_MAX_ASYNC_DRAW_PIXELS_SGIX', 'Graphics.GL.Ext.SGIX.AsyncHistogram.GL_MAX_ASYNC_HISTOGRAM_SGIX', 'Graphics.GL.Ext.SGIX.AsyncPixel.GL_MAX_ASYNC_READ_PIXELS_SGIX', 'Graphics.GL.Ext.SGIX.AsyncPixel.GL_MAX_ASYNC_TEX_IMAGE_SGIX', 'Graphics.GL.Internal.Shared.GL_MAX_ATTRIB_STACK_DEPTH', 'Graphics.GL.Internal.Shared.GL_MAX_CLIENT_ATTRIB_STACK_DEPTH', 'Graphics.GL.Ext.SGIX.Clipmap.GL_MAX_CLIPMAP_DEPTH_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX', 'Graphics.GL.Internal.Shared.GL_MAX_CLIP_DISTANCES', 'Graphics.GL.Internal.Shared.GL_MAX_CLIP_PLANES', 'Graphics.GL.Ext.SGI.ColorMatrix.GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI', 'Graphics.GL.Internal.Shared.GL_MAX_EVAL_ORDER', 'Graphics.GL.Ext.SGIS.FogFunction.GL_MAX_FOG_FUNC_POINTS_SGIS', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_MAX_FRAGMENT_LIGHTS_SGIX', 'Graphics.GL.Ext.SGIX.Framezoom.GL_MAX_FRAMEZOOM_FACTOR_SGIX', 'Graphics.GL.Internal.Shared.GL_MAX_LIGHTS', 'Graphics.GL.Internal.Shared.GL_MAX_LIST_NESTING', 'Graphics.GL.Internal.Shared.GL_MAX_MODELVIEW_STACK_DEPTH', 'Graphics.GL.Internal.Shared.GL_MAX_NAME_STACK_DEPTH', 'Graphics.GL.Internal.Shared.GL_MAX_PIXEL_MAP_TABLE', 'Graphics.GL.Internal.Shared.GL_MAX_PROJECTION_STACK_DEPTH', 'Graphics.GL.Internal.Shared.GL_MAX_TEXTURE_SIZE', 'Graphics.GL.Internal.Shared.GL_MAX_TEXTURE_STACK_DEPTH', 'Graphics.GL.Internal.Shared.GL_MAX_VIEWPORT_DIMS', 'Graphics.GL.Ext.EXT.Histogram.GL_MINMAX_EXT', 'Graphics.GL.Ext.EXT.VertexWeighting.GL_MODELVIEW0_MATRIX_EXT', 'Graphics.GL.Ext.EXT.VertexWeighting.GL_MODELVIEW0_STACK_DEPTH_EXT', 'Graphics.GL.Internal.Shared.GL_MODELVIEW_MATRIX', 'Graphics.GL.Internal.Shared.GL_MODELVIEW_STACK_DEPTH', 'Graphics.GL.Ext.SGIS.Multisample.GL_MULTISAMPLE_SGIS', 'Graphics.GL.Internal.Shared.GL_NAME_STACK_DEPTH', 'Graphics.GL.Internal.Shared.GL_NORMALIZE', 'Graphics.GL.Internal.Shared.GL_NORMAL_ARRAY', 'Graphics.GL.Ext.EXT.VertexArray.GL_NORMAL_ARRAY_COUNT_EXT', 'Graphics.GL.Internal.Shared.GL_NORMAL_ARRAY_STRIDE', 'Graphics.GL.Internal.Shared.GL_NORMAL_ARRAY_TYPE', 'Graphics.GL.Internal.Shared.GL_PACK_ALIGNMENT', 'Graphics.GL.Ext.EXT.Cmyka.GL_PACK_CMYK_HINT_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_PACK_IMAGE_DEPTH_SGIS', 'Graphics.GL.Ext.EXT.Texture3D.GL_PACK_IMAGE_HEIGHT_EXT', 'Graphics.GL.Internal.Shared.GL_PACK_LSB_FIRST', 'Graphics.GL.Ext.SGIX.Resample.GL_PACK_RESAMPLE_SGIX', 'Graphics.GL.Internal.Shared.GL_PACK_ROW_LENGTH', 'Graphics.GL.Ext.EXT.Texture3D.GL_PACK_SKIP_IMAGES_EXT', 'Graphics.GL.Internal.Shared.GL_PACK_SKIP_PIXELS', 'Graphics.GL.Internal.Shared.GL_PACK_SKIP_ROWS', 'Graphics.GL.Ext.SGIS.Texture4D.GL_PACK_SKIP_VOLUMES_SGIS', 'Graphics.GL.Ext.SGIX.Subsample.GL_PACK_SUBSAMPLE_RATE_SGIX', 'Graphics.GL.Internal.Shared.GL_PACK_SWAP_BYTES', 'Graphics.GL.Internal.Shared.GL_PERSPECTIVE_CORRECTION_HINT', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_A_TO_A_SIZE', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_B_TO_B_SIZE', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_G_TO_G_SIZE', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_I_TO_A_SIZE', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_I_TO_B_SIZE', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_I_TO_G_SIZE', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_I_TO_I_SIZE', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_I_TO_R_SIZE', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_R_TO_R_SIZE', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_S_TO_S_SIZE', 'Graphics.GL.Ext.SGIS.PixelTexture.GL_PIXEL_TEXTURE_SGIS', 'Graphics.GL.Ext.SGIX.PixelTexture.GL_PIXEL_TEX_GEN_MODE_SGIX', 'Graphics.GL.Ext.SGIX.PixelTexture.GL_PIXEL_TEX_GEN_SGIX', 'Graphics.GL.Ext.SGIX.PixelTiles.GL_PIXEL_TILE_BEST_ALIGNMENT_SGIX', 'Graphics.GL.Ext.SGIX.PixelTiles.GL_PIXEL_TILE_CACHE_INCREMENT_SGIX', 'Graphics.GL.Ext.SGIX.PixelTiles.GL_PIXEL_TILE_CACHE_SIZE_SGIX', 'Graphics.GL.Ext.SGIX.PixelTiles.GL_PIXEL_TILE_GRID_DEPTH_SGIX', 'Graphics.GL.Ext.SGIX.PixelTiles.GL_PIXEL_TILE_GRID_HEIGHT_SGIX', 'Graphics.GL.Ext.SGIX.PixelTiles.GL_PIXEL_TILE_GRID_WIDTH_SGIX', 'Graphics.GL.Ext.SGIX.PixelTiles.GL_PIXEL_TILE_HEIGHT_SGIX', 'Graphics.GL.Ext.SGIX.PixelTiles.GL_PIXEL_TILE_WIDTH_SGIX', 'Graphics.GL.Ext.SGIS.PointParameters.GL_POINT_FADE_THRESHOLD_SIZE_SGIS', 'Graphics.GL.Internal.Shared.GL_POINT_SIZE', 'Graphics.GL.Internal.Shared.GL_POINT_SIZE_GRANULARITY', 'Graphics.GL.Ext.SGIS.PointParameters.GL_POINT_SIZE_MAX_SGIS', 'Graphics.GL.Ext.SGIS.PointParameters.GL_POINT_SIZE_MIN_SGIS', 'Graphics.GL.Internal.Shared.GL_POINT_SIZE_RANGE', 'Graphics.GL.Internal.Shared.GL_POINT_SMOOTH', 'Graphics.GL.Internal.Shared.GL_POINT_SMOOTH_HINT', 'Graphics.GL.Internal.Shared.GL_POLYGON_MODE', 'Graphics.GL.Ext.EXT.PolygonOffset.GL_POLYGON_OFFSET_BIAS_EXT', 'Graphics.GL.Internal.Shared.GL_POLYGON_OFFSET_FACTOR', 'Graphics.GL.Internal.Shared.GL_POLYGON_OFFSET_FILL', 'Graphics.GL.Internal.Shared.GL_POLYGON_OFFSET_LINE', 'Graphics.GL.Internal.Shared.GL_POLYGON_OFFSET_POINT', 'Graphics.GL.Internal.Shared.GL_POLYGON_OFFSET_UNITS', 'Graphics.GL.Internal.Shared.GL_POLYGON_SMOOTH', 'Graphics.GL.Internal.Shared.GL_POLYGON_SMOOTH_HINT', 'Graphics.GL.Internal.Shared.GL_POLYGON_STIPPLE', 'Graphics.GL.Ext.SGI.ColorMatrix.GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI', 'Graphics.GL.Ext.SGI.ColorMatrix.GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI', 'Graphics.GL.Ext.SGI.ColorMatrix.GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI', 'Graphics.GL.Ext.SGI.ColorMatrix.GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI', 'Graphics.GL.Ext.SGI.ColorTable.GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI', 'Graphics.GL.Ext.SGI.ColorMatrix.GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI', 'Graphics.GL.Ext.SGI.ColorMatrix.GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI', 'Graphics.GL.Ext.SGI.ColorMatrix.GL_POST_COLOR_MATRIX_RED_BIAS_SGI', 'Graphics.GL.Ext.SGI.ColorMatrix.GL_POST_COLOR_MATRIX_RED_SCALE_SGI', 'Graphics.GL.Ext.EXT.Convolution.GL_POST_CONVOLUTION_ALPHA_BIAS_EXT', 'Graphics.GL.Ext.EXT.Convolution.GL_POST_CONVOLUTION_ALPHA_SCALE_EXT', 'Graphics.GL.Ext.EXT.Convolution.GL_POST_CONVOLUTION_BLUE_BIAS_EXT', 'Graphics.GL.Ext.EXT.Convolution.GL_POST_CONVOLUTION_BLUE_SCALE_EXT', 'Graphics.GL.Ext.SGI.ColorTable.GL_POST_CONVOLUTION_COLOR_TABLE_SGI', 'Graphics.GL.Ext.EXT.Convolution.GL_POST_CONVOLUTION_GREEN_BIAS_EXT', 'Graphics.GL.Ext.EXT.Convolution.GL_POST_CONVOLUTION_GREEN_SCALE_EXT', 'Graphics.GL.Ext.EXT.Convolution.GL_POST_CONVOLUTION_RED_BIAS_EXT', 'Graphics.GL.Ext.EXT.Convolution.GL_POST_CONVOLUTION_RED_SCALE_EXT', 'Graphics.GL.Ext.SGIX.TextureScaleBias.GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX', 'Graphics.GL.Ext.SGIX.TextureScaleBias.GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX', 'Graphics.GL.Internal.Shared.GL_PROJECTION_MATRIX', 'Graphics.GL.Internal.Shared.GL_PROJECTION_STACK_DEPTH', 'Graphics.GL.Internal.Shared.GL_READ_BUFFER', 'Graphics.GL.Ext.EXT.MultiviewDrawBuffers.GL_READ_BUFFER_EXT', 'Graphics.GL.Ext.NV.ReadBuffer.GL_READ_BUFFER_NV', 'Graphics.GL.Internal.Shared.GL_RED_BIAS', 'Graphics.GL.Internal.Shared.GL_RED_BITS', 'Graphics.GL.Internal.Shared.GL_RED_SCALE', 'Graphics.GL.Ext.SGIX.ReferencePlane.GL_REFERENCE_PLANE_EQUATION_SGIX', 'Graphics.GL.Ext.SGIX.ReferencePlane.GL_REFERENCE_PLANE_SGIX', 'Graphics.GL.Internal.Shared.GL_RENDER_MODE', 'Graphics.GL.Ext.EXT.RescaleNormal.GL_RESCALE_NORMAL_EXT', 'Graphics.GL.Internal.Shared.GL_RGBA_MODE', 'Graphics.GL.Ext.SGIS.Multisample.GL_SAMPLES_SGIS', 'Graphics.GL.Ext.SGIS.Multisample.GL_SAMPLE_ALPHA_TO_MASK_SGIS', 'Graphics.GL.Ext.SGIS.Multisample.GL_SAMPLE_ALPHA_TO_ONE_SGIS', 'Graphics.GL.Ext.SGIS.Multisample.GL_SAMPLE_BUFFERS_SGIS', 'Graphics.GL.Ext.SGIS.Multisample.GL_SAMPLE_MASK_INVERT_SGIS', 'Graphics.GL.Ext.SGIS.Multisample.GL_SAMPLE_MASK_SGIS', 'Graphics.GL.Ext.SGIS.Multisample.GL_SAMPLE_MASK_VALUE_SGIS', 'Graphics.GL.Ext.SGIS.Multisample.GL_SAMPLE_PATTERN_SGIS', 'Graphics.GL.Internal.Shared.GL_SCISSOR_BOX', 'Graphics.GL.Internal.Shared.GL_SCISSOR_TEST', 'Graphics.GL.Internal.Shared.GL_SELECTION_BUFFER_SIZE', 'Graphics.GL.Ext.EXT.Convolution.GL_SEPARABLE_2D_EXT', 'Graphics.GL.Internal.Shared.GL_SHADE_MODEL', 'Graphics.GL.Ext.EXT.SharedTexturePalette.GL_SHARED_TEXTURE_PALETTE_EXT', 'Graphics.GL.Internal.Shared.GL_SMOOTH_LINE_WIDTH_GRANULARITY', 'Graphics.GL.Internal.Shared.GL_SMOOTH_LINE_WIDTH_RANGE', 'Graphics.GL.Internal.Shared.GL_SMOOTH_POINT_SIZE_GRANULARITY', 'Graphics.GL.Internal.Shared.GL_SMOOTH_POINT_SIZE_RANGE', 'Graphics.GL.Ext.SGIX.Sprite.GL_SPRITE_AXIS_SGIX', 'Graphics.GL.Ext.SGIX.Sprite.GL_SPRITE_MODE_SGIX', 'Graphics.GL.Ext.SGIX.Sprite.GL_SPRITE_SGIX', 'Graphics.GL.Ext.SGIX.Sprite.GL_SPRITE_TRANSLATION_SGIX', 'Graphics.GL.Internal.Shared.GL_STENCIL_BITS', 'Graphics.GL.Internal.Shared.GL_STENCIL_CLEAR_VALUE', 'Graphics.GL.Internal.Shared.GL_STENCIL_FAIL', 'Graphics.GL.Internal.Shared.GL_STENCIL_FUNC', 'Graphics.GL.Internal.Shared.GL_STENCIL_PASS_DEPTH_FAIL', 'Graphics.GL.Internal.Shared.GL_STENCIL_PASS_DEPTH_PASS', 'Graphics.GL.Internal.Shared.GL_STENCIL_REF', 'Graphics.GL.Internal.Shared.GL_STENCIL_TEST', 'Graphics.GL.Internal.Shared.GL_STENCIL_VALUE_MASK', 'Graphics.GL.Internal.Shared.GL_STENCIL_WRITEMASK', 'Graphics.GL.Internal.Shared.GL_STEREO', 'Graphics.GL.Internal.Shared.GL_SUBPIXEL_BITS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_1D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_2D', 'Graphics.GL.Ext.EXT.TextureObject.GL_TEXTURE_3D_BINDING_EXT', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_3D_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_4D_BINDING_SGIS', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BINDING_1D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BINDING_2D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BINDING_3D', 'Graphics.GL.Ext.SGI.TextureColorTable.GL_TEXTURE_COLOR_TABLE_SGI', 'Graphics.GL.Internal.Shared.GL_TEXTURE_COORD_ARRAY', 'Graphics.GL.Ext.EXT.VertexArray.GL_TEXTURE_COORD_ARRAY_COUNT_EXT', 'Graphics.GL.Internal.Shared.GL_TEXTURE_COORD_ARRAY_SIZE', 'Graphics.GL.Internal.Shared.GL_TEXTURE_COORD_ARRAY_STRIDE', 'Graphics.GL.Internal.Shared.GL_TEXTURE_COORD_ARRAY_TYPE', 'Graphics.GL.Internal.Shared.GL_TEXTURE_GEN_Q', 'Graphics.GL.Internal.Shared.GL_TEXTURE_GEN_R', 'Graphics.GL.Internal.Shared.GL_TEXTURE_GEN_S', 'Graphics.GL.Internal.Shared.GL_TEXTURE_GEN_T', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MATRIX', 'Graphics.GL.Internal.Shared.GL_TEXTURE_STACK_DEPTH', 'Graphics.GL.Internal.Shared.GL_UNPACK_ALIGNMENT', 'Graphics.GL.Ext.EXT.Cmyka.GL_UNPACK_CMYK_HINT_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_UNPACK_IMAGE_DEPTH_SGIS', 'Graphics.GL.Ext.EXT.Texture3D.GL_UNPACK_IMAGE_HEIGHT_EXT', 'Graphics.GL.Internal.Shared.GL_UNPACK_LSB_FIRST', 'Graphics.GL.Ext.SGIX.Resample.GL_UNPACK_RESAMPLE_SGIX', 'Graphics.GL.Internal.Shared.GL_UNPACK_ROW_LENGTH', 'Graphics.GL.Ext.EXT.Texture3D.GL_UNPACK_SKIP_IMAGES_EXT', 'Graphics.GL.Internal.Shared.GL_UNPACK_SKIP_PIXELS', 'Graphics.GL.Internal.Shared.GL_UNPACK_SKIP_ROWS', 'Graphics.GL.Ext.SGIS.Texture4D.GL_UNPACK_SKIP_VOLUMES_SGIS', 'Graphics.GL.Ext.SGIX.Subsample.GL_UNPACK_SUBSAMPLE_RATE_SGIX', 'Graphics.GL.Internal.Shared.GL_UNPACK_SWAP_BYTES', 'Graphics.GL.Internal.Shared.GL_VERTEX_ARRAY', 'Graphics.GL.Ext.EXT.VertexArray.GL_VERTEX_ARRAY_COUNT_EXT', 'Graphics.GL.Internal.Shared.GL_VERTEX_ARRAY_SIZE', 'Graphics.GL.Internal.Shared.GL_VERTEX_ARRAY_STRIDE', 'Graphics.GL.Internal.Shared.GL_VERTEX_ARRAY_TYPE', 'Graphics.GL.Ext.SGIX.VertexPreclip.GL_VERTEX_PRECLIP_HINT_SGIX', 'Graphics.GL.Ext.SGIX.VertexPreclip.GL_VERTEX_PRECLIP_SGIX', 'Graphics.GL.Internal.Shared.GL_VIEWPORT', 'Graphics.GL.Internal.Shared.GL_ZOOM_X', 'Graphics.GL.Internal.Shared.GL_ZOOM_Y'.
--
-- The length of @data@ should be @COMPSIZE(pname)@.


glGetDoublev :: MonadIO m => GLenum -> Ptr GLdouble -> m ()
glGetDoublev :: GLenum -> Ptr GLdouble -> m ()
glGetDoublev = FunPtr (GLenum -> Ptr GLdouble -> IO ())
-> GLenum -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLdouble -> IO ())
-> GLenum -> Ptr GLdouble -> m ()
ffienumPtrdoubleIOV FunPtr (GLenum -> Ptr GLdouble -> IO ())
glGetDoublevFunPtr

glGetDoublevFunPtr :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
glGetDoublevFunPtr :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
glGetDoublevFunPtr = IO (FunPtr (GLenum -> Ptr GLdouble -> IO ()))
-> FunPtr (GLenum -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetDoublev")

{-# NOINLINE glGetDoublevFunPtr #-}

-- | Usage: @'glGetError'@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glGetError.xhtml>


glGetError :: MonadIO m => m GLenum
glGetError :: m GLenum
glGetError = FunPtr (IO GLenum) -> m GLenum
forall (m :: * -> *). MonadIO m => FunPtr (IO GLenum) -> m GLenum
ffiIOenum FunPtr (IO GLenum)
glGetErrorFunPtr

glGetErrorFunPtr :: FunPtr (IO GLenum)
glGetErrorFunPtr :: FunPtr (IO GLenum)
glGetErrorFunPtr = IO (FunPtr (IO GLenum)) -> FunPtr (IO GLenum)
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (IO GLenum))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetError")

{-# NOINLINE glGetErrorFunPtr #-}

-- | Usage: @'glGetFloatv' pname data@
--
-- The parameter @pname@ is a @GetPName@, one of: 'Graphics.GL.Internal.Shared.GL_ACCUM_ALPHA_BITS', 'Graphics.GL.Internal.Shared.GL_ACCUM_BLUE_BITS', 'Graphics.GL.Internal.Shared.GL_ACCUM_CLEAR_VALUE', 'Graphics.GL.Internal.Shared.GL_ACCUM_GREEN_BITS', 'Graphics.GL.Internal.Shared.GL_ACCUM_RED_BITS', 'Graphics.GL.Internal.Shared.GL_ALIASED_LINE_WIDTH_RANGE', 'Graphics.GL.Internal.Shared.GL_ALIASED_POINT_SIZE_RANGE', 'Graphics.GL.Internal.Shared.GL_ALPHA_BIAS', 'Graphics.GL.Internal.Shared.GL_ALPHA_BITS', 'Graphics.GL.Internal.Shared.GL_ALPHA_SCALE', 'Graphics.GL.Internal.Shared.GL_ALPHA_TEST', 'Graphics.GL.Internal.Shared.GL_ALPHA_TEST_FUNC', 'Graphics.GL.Ext.QCOM.AlphaTest.GL_ALPHA_TEST_FUNC_QCOM', 'Graphics.GL.Ext.QCOM.AlphaTest.GL_ALPHA_TEST_QCOM', 'Graphics.GL.Internal.Shared.GL_ALPHA_TEST_REF', 'Graphics.GL.Ext.QCOM.AlphaTest.GL_ALPHA_TEST_REF_QCOM', 'Graphics.GL.Ext.SGIX.AsyncPixel.GL_ASYNC_DRAW_PIXELS_SGIX', 'Graphics.GL.Ext.SGIX.AsyncHistogram.GL_ASYNC_HISTOGRAM_SGIX', 'Graphics.GL.Ext.SGIX.Async.GL_ASYNC_MARKER_SGIX', 'Graphics.GL.Ext.SGIX.AsyncPixel.GL_ASYNC_READ_PIXELS_SGIX', 'Graphics.GL.Ext.SGIX.AsyncPixel.GL_ASYNC_TEX_IMAGE_SGIX', 'Graphics.GL.Internal.Shared.GL_ATTRIB_STACK_DEPTH', 'Graphics.GL.Internal.Shared.GL_AUTO_NORMAL', 'Graphics.GL.Internal.Shared.GL_AUX_BUFFERS', 'Graphics.GL.Internal.Shared.GL_BLEND', 'Graphics.GL.Ext.EXT.BlendColor.GL_BLEND_COLOR_EXT', 'Graphics.GL.Internal.Shared.GL_BLEND_DST', 'Graphics.GL.Ext.EXT.BlendMinmax.GL_BLEND_EQUATION_EXT', 'Graphics.GL.Internal.Shared.GL_BLEND_SRC', 'Graphics.GL.Internal.Shared.GL_BLUE_BIAS', 'Graphics.GL.Internal.Shared.GL_BLUE_BITS', 'Graphics.GL.Internal.Shared.GL_BLUE_SCALE', 'Graphics.GL.Ext.SGIX.CalligraphicFragment.GL_CALLIGRAPHIC_FRAGMENT_SGIX', 'Graphics.GL.Internal.Shared.GL_CLIENT_ATTRIB_STACK_DEPTH', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE0', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE1', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE2', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE3', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE4', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE5', 'Graphics.GL.Internal.Shared.GL_COLOR_ARRAY', 'Graphics.GL.Ext.EXT.VertexArray.GL_COLOR_ARRAY_COUNT_EXT', 'Graphics.GL.Internal.Shared.GL_COLOR_ARRAY_SIZE', 'Graphics.GL.Internal.Shared.GL_COLOR_ARRAY_STRIDE', 'Graphics.GL.Internal.Shared.GL_COLOR_ARRAY_TYPE', 'Graphics.GL.Internal.Shared.GL_COLOR_CLEAR_VALUE', 'Graphics.GL.Internal.Shared.GL_COLOR_LOGIC_OP', 'Graphics.GL.Internal.Shared.GL_COLOR_MATERIAL', 'Graphics.GL.Internal.Shared.GL_COLOR_MATERIAL_FACE', 'Graphics.GL.Internal.Shared.GL_COLOR_MATERIAL_PARAMETER', 'Graphics.GL.Ext.SGI.ColorMatrix.GL_COLOR_MATRIX_SGI', 'Graphics.GL.Ext.SGI.ColorMatrix.GL_COLOR_MATRIX_STACK_DEPTH_SGI', 'Graphics.GL.Ext.SGI.ColorTable.GL_COLOR_TABLE_SGI', 'Graphics.GL.Internal.Shared.GL_COLOR_WRITEMASK', 'Graphics.GL.Ext.EXT.Convolution.GL_CONVOLUTION_1D_EXT', 'Graphics.GL.Ext.EXT.Convolution.GL_CONVOLUTION_2D_EXT', 'Graphics.GL.Ext.SGIX.ConvolutionAccuracy.GL_CONVOLUTION_HINT_SGIX', 'Graphics.GL.Internal.Shared.GL_CULL_FACE', 'Graphics.GL.Internal.Shared.GL_CULL_FACE_MODE', 'Graphics.GL.Internal.Shared.GL_CURRENT_COLOR', 'Graphics.GL.Internal.Shared.GL_CURRENT_INDEX', 'Graphics.GL.Internal.Shared.GL_CURRENT_NORMAL', 'Graphics.GL.Internal.Shared.GL_CURRENT_RASTER_COLOR', 'Graphics.GL.Internal.Shared.GL_CURRENT_RASTER_DISTANCE', 'Graphics.GL.Internal.Shared.GL_CURRENT_RASTER_INDEX', 'Graphics.GL.Internal.Shared.GL_CURRENT_RASTER_POSITION', 'Graphics.GL.Internal.Shared.GL_CURRENT_RASTER_POSITION_VALID', 'Graphics.GL.Internal.Shared.GL_CURRENT_RASTER_TEXTURE_COORDS', 'Graphics.GL.Internal.Shared.GL_CURRENT_TEXTURE_COORDS', 'Graphics.GL.Ext.SGIX.PolynomialFfd.GL_DEFORMATIONS_MASK_SGIX', 'Graphics.GL.Internal.Shared.GL_DEPTH_BIAS', 'Graphics.GL.Internal.Shared.GL_DEPTH_BITS', 'Graphics.GL.Internal.Shared.GL_DEPTH_CLEAR_VALUE', 'Graphics.GL.Internal.Shared.GL_DEPTH_FUNC', 'Graphics.GL.Internal.Shared.GL_DEPTH_RANGE', 'Graphics.GL.Internal.Shared.GL_DEPTH_SCALE', 'Graphics.GL.Internal.Shared.GL_DEPTH_TEST', 'Graphics.GL.Internal.Shared.GL_DEPTH_WRITEMASK', 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_2D_BINDING_SGIS', 'Graphics.GL.Ext.SGIS.PointParameters.GL_DISTANCE_ATTENUATION_SGIS', 'Graphics.GL.Internal.Shared.GL_DITHER', 'Graphics.GL.Internal.Shared.GL_DOUBLEBUFFER', 'Graphics.GL.Internal.Shared.GL_DRAW_BUFFER', 'Graphics.GL.Ext.EXT.MultiviewDrawBuffers.GL_DRAW_BUFFER_EXT', 'Graphics.GL.Internal.Shared.GL_EDGE_FLAG', 'Graphics.GL.Internal.Shared.GL_EDGE_FLAG_ARRAY', 'Graphics.GL.Ext.EXT.VertexArray.GL_EDGE_FLAG_ARRAY_COUNT_EXT', 'Graphics.GL.Internal.Shared.GL_EDGE_FLAG_ARRAY_STRIDE', 'Graphics.GL.Internal.Shared.GL_FEEDBACK_BUFFER_SIZE', 'Graphics.GL.Internal.Shared.GL_FEEDBACK_BUFFER_TYPE', 'Graphics.GL.Internal.Shared.GL_FOG', 'Graphics.GL.Internal.Shared.GL_FOG_COLOR', 'Graphics.GL.Internal.Shared.GL_FOG_DENSITY', 'Graphics.GL.Internal.Shared.GL_FOG_END', 'Graphics.GL.Ext.SGIS.FogFunction.GL_FOG_FUNC_POINTS_SGIS', 'Graphics.GL.Internal.Shared.GL_FOG_HINT', 'Graphics.GL.Internal.Shared.GL_FOG_INDEX', 'Graphics.GL.Internal.Shared.GL_FOG_MODE', 'Graphics.GL.Ext.SGIX.FogOffset.GL_FOG_OFFSET_SGIX', 'Graphics.GL.Ext.SGIX.FogOffset.GL_FOG_OFFSET_VALUE_SGIX', 'Graphics.GL.Internal.Shared.GL_FOG_START', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_COLOR_MATERIAL_FACE_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_COLOR_MATERIAL_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT0_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHTING_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX', 'Graphics.GL.Ext.SGIX.Framezoom.GL_FRAMEZOOM_FACTOR_SGIX', 'Graphics.GL.Ext.SGIX.Framezoom.GL_FRAMEZOOM_SGIX', 'Graphics.GL.Internal.Shared.GL_FRONT_FACE', 'Graphics.GL.Ext.SGIS.GenerateMipmap.GL_GENERATE_MIPMAP_HINT_SGIS', 'Graphics.GL.Internal.Shared.GL_GREEN_BIAS', 'Graphics.GL.Internal.Shared.GL_GREEN_BITS', 'Graphics.GL.Internal.Shared.GL_GREEN_SCALE', 'Graphics.GL.Ext.EXT.Histogram.GL_HISTOGRAM_EXT', 'Graphics.GL.Internal.Shared.GL_INDEX_ARRAY', 'Graphics.GL.Ext.EXT.VertexArray.GL_INDEX_ARRAY_COUNT_EXT', 'Graphics.GL.Internal.Shared.GL_INDEX_ARRAY_STRIDE', 'Graphics.GL.Internal.Shared.GL_INDEX_ARRAY_TYPE', 'Graphics.GL.Internal.Shared.GL_INDEX_BITS', 'Graphics.GL.Internal.Shared.GL_INDEX_CLEAR_VALUE', 'Graphics.GL.Internal.Shared.GL_INDEX_LOGIC_OP', 'Graphics.GL.Internal.Shared.GL_INDEX_MODE', 'Graphics.GL.Internal.Shared.GL_INDEX_OFFSET', 'Graphics.GL.Internal.Shared.GL_INDEX_SHIFT', 'Graphics.GL.Internal.Shared.GL_INDEX_WRITEMASK', 'Graphics.GL.Ext.SGIX.Instruments.GL_INSTRUMENT_MEASUREMENTS_SGIX', 'Graphics.GL.Ext.SGIX.Interlace.GL_INTERLACE_SGIX', 'Graphics.GL.Ext.SGIX.IrInstrument1.GL_IR_INSTRUMENT1_SGIX', 'Graphics.GL.Internal.Shared.GL_LIGHT0', 'Graphics.GL.Internal.Shared.GL_LIGHT1', 'Graphics.GL.Internal.Shared.GL_LIGHT2', 'Graphics.GL.Internal.Shared.GL_LIGHT3', 'Graphics.GL.Internal.Shared.GL_LIGHT4', 'Graphics.GL.Internal.Shared.GL_LIGHT5', 'Graphics.GL.Internal.Shared.GL_LIGHT6', 'Graphics.GL.Internal.Shared.GL_LIGHT7', 'Graphics.GL.Internal.Shared.GL_LIGHTING', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_LIGHT_ENV_MODE_SGIX', 'Graphics.GL.Internal.Shared.GL_LIGHT_MODEL_AMBIENT', 'Graphics.GL.Internal.Shared.GL_LIGHT_MODEL_COLOR_CONTROL', 'Graphics.GL.Internal.Shared.GL_LIGHT_MODEL_LOCAL_VIEWER', 'Graphics.GL.Internal.Shared.GL_LIGHT_MODEL_TWO_SIDE', 'Graphics.GL.Internal.Shared.GL_LINE_SMOOTH', 'Graphics.GL.Internal.Shared.GL_LINE_SMOOTH_HINT', 'Graphics.GL.Internal.Shared.GL_LINE_STIPPLE', 'Graphics.GL.Internal.Shared.GL_LINE_STIPPLE_PATTERN', 'Graphics.GL.Internal.Shared.GL_LINE_STIPPLE_REPEAT', 'Graphics.GL.Internal.Shared.GL_LINE_WIDTH', 'Graphics.GL.Internal.Shared.GL_LINE_WIDTH_GRANULARITY', 'Graphics.GL.Internal.Shared.GL_LINE_WIDTH_RANGE', 'Graphics.GL.Internal.Shared.GL_LIST_BASE', 'Graphics.GL.Internal.Shared.GL_LIST_INDEX', 'Graphics.GL.Internal.Shared.GL_LIST_MODE', 'Graphics.GL.Internal.Shared.GL_LOGIC_OP', 'Graphics.GL.Internal.Shared.GL_LOGIC_OP_MODE', 'Graphics.GL.Internal.Shared.GL_MAP1_COLOR_4', 'Graphics.GL.Internal.Shared.GL_MAP1_GRID_DOMAIN', 'Graphics.GL.Internal.Shared.GL_MAP1_GRID_SEGMENTS', 'Graphics.GL.Internal.Shared.GL_MAP1_INDEX', 'Graphics.GL.Internal.Shared.GL_MAP1_NORMAL', 'Graphics.GL.Internal.Shared.GL_MAP1_TEXTURE_COORD_1', 'Graphics.GL.Internal.Shared.GL_MAP1_TEXTURE_COORD_2', 'Graphics.GL.Internal.Shared.GL_MAP1_TEXTURE_COORD_3', 'Graphics.GL.Internal.Shared.GL_MAP1_TEXTURE_COORD_4', 'Graphics.GL.Internal.Shared.GL_MAP1_VERTEX_3', 'Graphics.GL.Internal.Shared.GL_MAP1_VERTEX_4', 'Graphics.GL.Internal.Shared.GL_MAP2_COLOR_4', 'Graphics.GL.Internal.Shared.GL_MAP2_GRID_DOMAIN', 'Graphics.GL.Internal.Shared.GL_MAP2_GRID_SEGMENTS', 'Graphics.GL.Internal.Shared.GL_MAP2_INDEX', 'Graphics.GL.Internal.Shared.GL_MAP2_NORMAL', 'Graphics.GL.Internal.Shared.GL_MAP2_TEXTURE_COORD_1', 'Graphics.GL.Internal.Shared.GL_MAP2_TEXTURE_COORD_2', 'Graphics.GL.Internal.Shared.GL_MAP2_TEXTURE_COORD_3', 'Graphics.GL.Internal.Shared.GL_MAP2_TEXTURE_COORD_4', 'Graphics.GL.Internal.Shared.GL_MAP2_VERTEX_3', 'Graphics.GL.Internal.Shared.GL_MAP2_VERTEX_4', 'Graphics.GL.Internal.Shared.GL_MAP_COLOR', 'Graphics.GL.Internal.Shared.GL_MAP_STENCIL', 'Graphics.GL.Internal.Shared.GL_MATRIX_MODE', 'Graphics.GL.Ext.EXT.Texture3D.GL_MAX_3D_TEXTURE_SIZE_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_MAX_4D_TEXTURE_SIZE_SGIS', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_MAX_ACTIVE_LIGHTS_SGIX', 'Graphics.GL.Ext.SGIX.AsyncPixel.GL_MAX_ASYNC_DRAW_PIXELS_SGIX', 'Graphics.GL.Ext.SGIX.AsyncHistogram.GL_MAX_ASYNC_HISTOGRAM_SGIX', 'Graphics.GL.Ext.SGIX.AsyncPixel.GL_MAX_ASYNC_READ_PIXELS_SGIX', 'Graphics.GL.Ext.SGIX.AsyncPixel.GL_MAX_ASYNC_TEX_IMAGE_SGIX', 'Graphics.GL.Internal.Shared.GL_MAX_ATTRIB_STACK_DEPTH', 'Graphics.GL.Internal.Shared.GL_MAX_CLIENT_ATTRIB_STACK_DEPTH', 'Graphics.GL.Ext.SGIX.Clipmap.GL_MAX_CLIPMAP_DEPTH_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX', 'Graphics.GL.Internal.Shared.GL_MAX_CLIP_DISTANCES', 'Graphics.GL.Internal.Shared.GL_MAX_CLIP_PLANES', 'Graphics.GL.Ext.SGI.ColorMatrix.GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI', 'Graphics.GL.Internal.Shared.GL_MAX_EVAL_ORDER', 'Graphics.GL.Ext.SGIS.FogFunction.GL_MAX_FOG_FUNC_POINTS_SGIS', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_MAX_FRAGMENT_LIGHTS_SGIX', 'Graphics.GL.Ext.SGIX.Framezoom.GL_MAX_FRAMEZOOM_FACTOR_SGIX', 'Graphics.GL.Internal.Shared.GL_MAX_LIGHTS', 'Graphics.GL.Internal.Shared.GL_MAX_LIST_NESTING', 'Graphics.GL.Internal.Shared.GL_MAX_MODELVIEW_STACK_DEPTH', 'Graphics.GL.Internal.Shared.GL_MAX_NAME_STACK_DEPTH', 'Graphics.GL.Internal.Shared.GL_MAX_PIXEL_MAP_TABLE', 'Graphics.GL.Internal.Shared.GL_MAX_PROJECTION_STACK_DEPTH', 'Graphics.GL.Internal.Shared.GL_MAX_TEXTURE_SIZE', 'Graphics.GL.Internal.Shared.GL_MAX_TEXTURE_STACK_DEPTH', 'Graphics.GL.Internal.Shared.GL_MAX_VIEWPORT_DIMS', 'Graphics.GL.Ext.EXT.Histogram.GL_MINMAX_EXT', 'Graphics.GL.Ext.EXT.VertexWeighting.GL_MODELVIEW0_MATRIX_EXT', 'Graphics.GL.Ext.EXT.VertexWeighting.GL_MODELVIEW0_STACK_DEPTH_EXT', 'Graphics.GL.Internal.Shared.GL_MODELVIEW_MATRIX', 'Graphics.GL.Internal.Shared.GL_MODELVIEW_STACK_DEPTH', 'Graphics.GL.Ext.SGIS.Multisample.GL_MULTISAMPLE_SGIS', 'Graphics.GL.Internal.Shared.GL_NAME_STACK_DEPTH', 'Graphics.GL.Internal.Shared.GL_NORMALIZE', 'Graphics.GL.Internal.Shared.GL_NORMAL_ARRAY', 'Graphics.GL.Ext.EXT.VertexArray.GL_NORMAL_ARRAY_COUNT_EXT', 'Graphics.GL.Internal.Shared.GL_NORMAL_ARRAY_STRIDE', 'Graphics.GL.Internal.Shared.GL_NORMAL_ARRAY_TYPE', 'Graphics.GL.Internal.Shared.GL_PACK_ALIGNMENT', 'Graphics.GL.Ext.EXT.Cmyka.GL_PACK_CMYK_HINT_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_PACK_IMAGE_DEPTH_SGIS', 'Graphics.GL.Ext.EXT.Texture3D.GL_PACK_IMAGE_HEIGHT_EXT', 'Graphics.GL.Internal.Shared.GL_PACK_LSB_FIRST', 'Graphics.GL.Ext.SGIX.Resample.GL_PACK_RESAMPLE_SGIX', 'Graphics.GL.Internal.Shared.GL_PACK_ROW_LENGTH', 'Graphics.GL.Ext.EXT.Texture3D.GL_PACK_SKIP_IMAGES_EXT', 'Graphics.GL.Internal.Shared.GL_PACK_SKIP_PIXELS', 'Graphics.GL.Internal.Shared.GL_PACK_SKIP_ROWS', 'Graphics.GL.Ext.SGIS.Texture4D.GL_PACK_SKIP_VOLUMES_SGIS', 'Graphics.GL.Ext.SGIX.Subsample.GL_PACK_SUBSAMPLE_RATE_SGIX', 'Graphics.GL.Internal.Shared.GL_PACK_SWAP_BYTES', 'Graphics.GL.Internal.Shared.GL_PERSPECTIVE_CORRECTION_HINT', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_A_TO_A_SIZE', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_B_TO_B_SIZE', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_G_TO_G_SIZE', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_I_TO_A_SIZE', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_I_TO_B_SIZE', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_I_TO_G_SIZE', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_I_TO_I_SIZE', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_I_TO_R_SIZE', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_R_TO_R_SIZE', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_S_TO_S_SIZE', 'Graphics.GL.Ext.SGIS.PixelTexture.GL_PIXEL_TEXTURE_SGIS', 'Graphics.GL.Ext.SGIX.PixelTexture.GL_PIXEL_TEX_GEN_MODE_SGIX', 'Graphics.GL.Ext.SGIX.PixelTexture.GL_PIXEL_TEX_GEN_SGIX', 'Graphics.GL.Ext.SGIX.PixelTiles.GL_PIXEL_TILE_BEST_ALIGNMENT_SGIX', 'Graphics.GL.Ext.SGIX.PixelTiles.GL_PIXEL_TILE_CACHE_INCREMENT_SGIX', 'Graphics.GL.Ext.SGIX.PixelTiles.GL_PIXEL_TILE_CACHE_SIZE_SGIX', 'Graphics.GL.Ext.SGIX.PixelTiles.GL_PIXEL_TILE_GRID_DEPTH_SGIX', 'Graphics.GL.Ext.SGIX.PixelTiles.GL_PIXEL_TILE_GRID_HEIGHT_SGIX', 'Graphics.GL.Ext.SGIX.PixelTiles.GL_PIXEL_TILE_GRID_WIDTH_SGIX', 'Graphics.GL.Ext.SGIX.PixelTiles.GL_PIXEL_TILE_HEIGHT_SGIX', 'Graphics.GL.Ext.SGIX.PixelTiles.GL_PIXEL_TILE_WIDTH_SGIX', 'Graphics.GL.Ext.SGIS.PointParameters.GL_POINT_FADE_THRESHOLD_SIZE_SGIS', 'Graphics.GL.Internal.Shared.GL_POINT_SIZE', 'Graphics.GL.Internal.Shared.GL_POINT_SIZE_GRANULARITY', 'Graphics.GL.Ext.SGIS.PointParameters.GL_POINT_SIZE_MAX_SGIS', 'Graphics.GL.Ext.SGIS.PointParameters.GL_POINT_SIZE_MIN_SGIS', 'Graphics.GL.Internal.Shared.GL_POINT_SIZE_RANGE', 'Graphics.GL.Internal.Shared.GL_POINT_SMOOTH', 'Graphics.GL.Internal.Shared.GL_POINT_SMOOTH_HINT', 'Graphics.GL.Internal.Shared.GL_POLYGON_MODE', 'Graphics.GL.Ext.EXT.PolygonOffset.GL_POLYGON_OFFSET_BIAS_EXT', 'Graphics.GL.Internal.Shared.GL_POLYGON_OFFSET_FACTOR', 'Graphics.GL.Internal.Shared.GL_POLYGON_OFFSET_FILL', 'Graphics.GL.Internal.Shared.GL_POLYGON_OFFSET_LINE', 'Graphics.GL.Internal.Shared.GL_POLYGON_OFFSET_POINT', 'Graphics.GL.Internal.Shared.GL_POLYGON_OFFSET_UNITS', 'Graphics.GL.Internal.Shared.GL_POLYGON_SMOOTH', 'Graphics.GL.Internal.Shared.GL_POLYGON_SMOOTH_HINT', 'Graphics.GL.Internal.Shared.GL_POLYGON_STIPPLE', 'Graphics.GL.Ext.SGI.ColorMatrix.GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI', 'Graphics.GL.Ext.SGI.ColorMatrix.GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI', 'Graphics.GL.Ext.SGI.ColorMatrix.GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI', 'Graphics.GL.Ext.SGI.ColorMatrix.GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI', 'Graphics.GL.Ext.SGI.ColorTable.GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI', 'Graphics.GL.Ext.SGI.ColorMatrix.GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI', 'Graphics.GL.Ext.SGI.ColorMatrix.GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI', 'Graphics.GL.Ext.SGI.ColorMatrix.GL_POST_COLOR_MATRIX_RED_BIAS_SGI', 'Graphics.GL.Ext.SGI.ColorMatrix.GL_POST_COLOR_MATRIX_RED_SCALE_SGI', 'Graphics.GL.Ext.EXT.Convolution.GL_POST_CONVOLUTION_ALPHA_BIAS_EXT', 'Graphics.GL.Ext.EXT.Convolution.GL_POST_CONVOLUTION_ALPHA_SCALE_EXT', 'Graphics.GL.Ext.EXT.Convolution.GL_POST_CONVOLUTION_BLUE_BIAS_EXT', 'Graphics.GL.Ext.EXT.Convolution.GL_POST_CONVOLUTION_BLUE_SCALE_EXT', 'Graphics.GL.Ext.SGI.ColorTable.GL_POST_CONVOLUTION_COLOR_TABLE_SGI', 'Graphics.GL.Ext.EXT.Convolution.GL_POST_CONVOLUTION_GREEN_BIAS_EXT', 'Graphics.GL.Ext.EXT.Convolution.GL_POST_CONVOLUTION_GREEN_SCALE_EXT', 'Graphics.GL.Ext.EXT.Convolution.GL_POST_CONVOLUTION_RED_BIAS_EXT', 'Graphics.GL.Ext.EXT.Convolution.GL_POST_CONVOLUTION_RED_SCALE_EXT', 'Graphics.GL.Ext.SGIX.TextureScaleBias.GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX', 'Graphics.GL.Ext.SGIX.TextureScaleBias.GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX', 'Graphics.GL.Internal.Shared.GL_PROJECTION_MATRIX', 'Graphics.GL.Internal.Shared.GL_PROJECTION_STACK_DEPTH', 'Graphics.GL.Internal.Shared.GL_READ_BUFFER', 'Graphics.GL.Ext.EXT.MultiviewDrawBuffers.GL_READ_BUFFER_EXT', 'Graphics.GL.Ext.NV.ReadBuffer.GL_READ_BUFFER_NV', 'Graphics.GL.Internal.Shared.GL_RED_BIAS', 'Graphics.GL.Internal.Shared.GL_RED_BITS', 'Graphics.GL.Internal.Shared.GL_RED_SCALE', 'Graphics.GL.Ext.SGIX.ReferencePlane.GL_REFERENCE_PLANE_EQUATION_SGIX', 'Graphics.GL.Ext.SGIX.ReferencePlane.GL_REFERENCE_PLANE_SGIX', 'Graphics.GL.Internal.Shared.GL_RENDER_MODE', 'Graphics.GL.Ext.EXT.RescaleNormal.GL_RESCALE_NORMAL_EXT', 'Graphics.GL.Internal.Shared.GL_RGBA_MODE', 'Graphics.GL.Ext.SGIS.Multisample.GL_SAMPLES_SGIS', 'Graphics.GL.Ext.SGIS.Multisample.GL_SAMPLE_ALPHA_TO_MASK_SGIS', 'Graphics.GL.Ext.SGIS.Multisample.GL_SAMPLE_ALPHA_TO_ONE_SGIS', 'Graphics.GL.Ext.SGIS.Multisample.GL_SAMPLE_BUFFERS_SGIS', 'Graphics.GL.Ext.SGIS.Multisample.GL_SAMPLE_MASK_INVERT_SGIS', 'Graphics.GL.Ext.SGIS.Multisample.GL_SAMPLE_MASK_SGIS', 'Graphics.GL.Ext.SGIS.Multisample.GL_SAMPLE_MASK_VALUE_SGIS', 'Graphics.GL.Ext.SGIS.Multisample.GL_SAMPLE_PATTERN_SGIS', 'Graphics.GL.Internal.Shared.GL_SCISSOR_BOX', 'Graphics.GL.Internal.Shared.GL_SCISSOR_TEST', 'Graphics.GL.Internal.Shared.GL_SELECTION_BUFFER_SIZE', 'Graphics.GL.Ext.EXT.Convolution.GL_SEPARABLE_2D_EXT', 'Graphics.GL.Internal.Shared.GL_SHADE_MODEL', 'Graphics.GL.Ext.EXT.SharedTexturePalette.GL_SHARED_TEXTURE_PALETTE_EXT', 'Graphics.GL.Internal.Shared.GL_SMOOTH_LINE_WIDTH_GRANULARITY', 'Graphics.GL.Internal.Shared.GL_SMOOTH_LINE_WIDTH_RANGE', 'Graphics.GL.Internal.Shared.GL_SMOOTH_POINT_SIZE_GRANULARITY', 'Graphics.GL.Internal.Shared.GL_SMOOTH_POINT_SIZE_RANGE', 'Graphics.GL.Ext.SGIX.Sprite.GL_SPRITE_AXIS_SGIX', 'Graphics.GL.Ext.SGIX.Sprite.GL_SPRITE_MODE_SGIX', 'Graphics.GL.Ext.SGIX.Sprite.GL_SPRITE_SGIX', 'Graphics.GL.Ext.SGIX.Sprite.GL_SPRITE_TRANSLATION_SGIX', 'Graphics.GL.Internal.Shared.GL_STENCIL_BITS', 'Graphics.GL.Internal.Shared.GL_STENCIL_CLEAR_VALUE', 'Graphics.GL.Internal.Shared.GL_STENCIL_FAIL', 'Graphics.GL.Internal.Shared.GL_STENCIL_FUNC', 'Graphics.GL.Internal.Shared.GL_STENCIL_PASS_DEPTH_FAIL', 'Graphics.GL.Internal.Shared.GL_STENCIL_PASS_DEPTH_PASS', 'Graphics.GL.Internal.Shared.GL_STENCIL_REF', 'Graphics.GL.Internal.Shared.GL_STENCIL_TEST', 'Graphics.GL.Internal.Shared.GL_STENCIL_VALUE_MASK', 'Graphics.GL.Internal.Shared.GL_STENCIL_WRITEMASK', 'Graphics.GL.Internal.Shared.GL_STEREO', 'Graphics.GL.Internal.Shared.GL_SUBPIXEL_BITS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_1D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_2D', 'Graphics.GL.Ext.EXT.TextureObject.GL_TEXTURE_3D_BINDING_EXT', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_3D_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_4D_BINDING_SGIS', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BINDING_1D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BINDING_2D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BINDING_3D', 'Graphics.GL.Ext.SGI.TextureColorTable.GL_TEXTURE_COLOR_TABLE_SGI', 'Graphics.GL.Internal.Shared.GL_TEXTURE_COORD_ARRAY', 'Graphics.GL.Ext.EXT.VertexArray.GL_TEXTURE_COORD_ARRAY_COUNT_EXT', 'Graphics.GL.Internal.Shared.GL_TEXTURE_COORD_ARRAY_SIZE', 'Graphics.GL.Internal.Shared.GL_TEXTURE_COORD_ARRAY_STRIDE', 'Graphics.GL.Internal.Shared.GL_TEXTURE_COORD_ARRAY_TYPE', 'Graphics.GL.Internal.Shared.GL_TEXTURE_GEN_Q', 'Graphics.GL.Internal.Shared.GL_TEXTURE_GEN_R', 'Graphics.GL.Internal.Shared.GL_TEXTURE_GEN_S', 'Graphics.GL.Internal.Shared.GL_TEXTURE_GEN_T', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MATRIX', 'Graphics.GL.Internal.Shared.GL_TEXTURE_STACK_DEPTH', 'Graphics.GL.Internal.Shared.GL_UNPACK_ALIGNMENT', 'Graphics.GL.Ext.EXT.Cmyka.GL_UNPACK_CMYK_HINT_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_UNPACK_IMAGE_DEPTH_SGIS', 'Graphics.GL.Ext.EXT.Texture3D.GL_UNPACK_IMAGE_HEIGHT_EXT', 'Graphics.GL.Internal.Shared.GL_UNPACK_LSB_FIRST', 'Graphics.GL.Ext.SGIX.Resample.GL_UNPACK_RESAMPLE_SGIX', 'Graphics.GL.Internal.Shared.GL_UNPACK_ROW_LENGTH', 'Graphics.GL.Ext.EXT.Texture3D.GL_UNPACK_SKIP_IMAGES_EXT', 'Graphics.GL.Internal.Shared.GL_UNPACK_SKIP_PIXELS', 'Graphics.GL.Internal.Shared.GL_UNPACK_SKIP_ROWS', 'Graphics.GL.Ext.SGIS.Texture4D.GL_UNPACK_SKIP_VOLUMES_SGIS', 'Graphics.GL.Ext.SGIX.Subsample.GL_UNPACK_SUBSAMPLE_RATE_SGIX', 'Graphics.GL.Internal.Shared.GL_UNPACK_SWAP_BYTES', 'Graphics.GL.Internal.Shared.GL_VERTEX_ARRAY', 'Graphics.GL.Ext.EXT.VertexArray.GL_VERTEX_ARRAY_COUNT_EXT', 'Graphics.GL.Internal.Shared.GL_VERTEX_ARRAY_SIZE', 'Graphics.GL.Internal.Shared.GL_VERTEX_ARRAY_STRIDE', 'Graphics.GL.Internal.Shared.GL_VERTEX_ARRAY_TYPE', 'Graphics.GL.Ext.SGIX.VertexPreclip.GL_VERTEX_PRECLIP_HINT_SGIX', 'Graphics.GL.Ext.SGIX.VertexPreclip.GL_VERTEX_PRECLIP_SGIX', 'Graphics.GL.Internal.Shared.GL_VIEWPORT', 'Graphics.GL.Internal.Shared.GL_ZOOM_X', 'Graphics.GL.Internal.Shared.GL_ZOOM_Y'.
--
-- The length of @data@ should be @COMPSIZE(pname)@.


glGetFloatv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glGetFloatv :: GLenum -> Ptr GLfloat -> m ()
glGetFloatv = FunPtr (GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> Ptr GLfloat -> m ()
ffienumPtrfloatIOV FunPtr (GLenum -> Ptr GLfloat -> IO ())
glGetFloatvFunPtr

glGetFloatvFunPtr :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
glGetFloatvFunPtr :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
glGetFloatvFunPtr = IO (FunPtr (GLenum -> Ptr GLfloat -> IO ()))
-> FunPtr (GLenum -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetFloatv")

{-# NOINLINE glGetFloatvFunPtr #-}

-- | Usage: @'glGetFragDataLocation' program name@
--
-- The length of @name@ should be @COMPSIZE(name)@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glGetFragDataLocation.xhtml>


glGetFragDataLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint
glGetFragDataLocation :: GLenum -> Ptr GLchar -> m GLsizei
glGetFragDataLocation = FunPtr (GLenum -> Ptr GLchar -> IO GLsizei)
-> GLenum -> Ptr GLchar -> m GLsizei
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLchar -> IO GLsizei)
-> GLenum -> Ptr GLchar -> m GLsizei
ffiuintPtrcharIOint FunPtr (GLenum -> Ptr GLchar -> IO GLsizei)
glGetFragDataLocationFunPtr

glGetFragDataLocationFunPtr :: FunPtr (GLuint -> Ptr GLchar -> IO GLint)
glGetFragDataLocationFunPtr :: FunPtr (GLenum -> Ptr GLchar -> IO GLsizei)
glGetFragDataLocationFunPtr = IO (FunPtr (GLenum -> Ptr GLchar -> IO GLsizei))
-> FunPtr (GLenum -> Ptr GLchar -> IO GLsizei)
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLchar -> IO GLsizei))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetFragDataLocation")

{-# NOINLINE glGetFragDataLocationFunPtr #-}

-- | Usage: @'glGetFramebufferAttachmentParameteriv' target attachment pname params@
--
-- The parameter @target@ is a @FramebufferTarget@.
--
-- The parameter @attachment@ is a @FramebufferAttachment@.
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glGetFramebufferAttachmentParameteriv :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()
glGetFramebufferAttachmentParameteriv :: GLenum -> GLenum -> GLenum -> Ptr GLsizei -> m ()
glGetFramebufferAttachmentParameteriv = FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> GLenum -> Ptr GLsizei -> m ()
ffienumenumenumPtrintIOV FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetFramebufferAttachmentParameterivFunPtr

glGetFramebufferAttachmentParameterivFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
glGetFramebufferAttachmentParameterivFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetFramebufferAttachmentParameterivFunPtr = IO (FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetFramebufferAttachmentParameteriv")

{-# NOINLINE glGetFramebufferAttachmentParameterivFunPtr #-}

-- | Usage: @'glGetInteger64i_v' target index data@
--
-- The length of @data@ should be @COMPSIZE(target)@.


glGetInteger64i_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint64 -> m ()
glGetInteger64i_v :: GLenum -> GLenum -> Ptr GLint64 -> m ()
glGetInteger64i_v = FunPtr (GLenum -> GLenum -> Ptr GLint64 -> IO ())
-> GLenum -> GLenum -> Ptr GLint64 -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLint64 -> IO ())
-> GLenum -> GLenum -> Ptr GLint64 -> m ()
ffienumuintPtrint64IOV FunPtr (GLenum -> GLenum -> Ptr GLint64 -> IO ())
glGetInteger64i_vFunPtr

glGetInteger64i_vFunPtr :: FunPtr (GLenum -> GLuint -> Ptr GLint64 -> IO ())
glGetInteger64i_vFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLint64 -> IO ())
glGetInteger64i_vFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLint64 -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLint64 -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLint64 -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetInteger64i_v")

{-# NOINLINE glGetInteger64i_vFunPtr #-}

-- | Usage: @'glGetInteger64v' pname data@
--
-- The length of @data@ should be @COMPSIZE(pname)@.


glGetInteger64v :: MonadIO m => GLenum -> Ptr GLint64 -> m ()
glGetInteger64v :: GLenum -> Ptr GLint64 -> m ()
glGetInteger64v = FunPtr (GLenum -> Ptr GLint64 -> IO ())
-> GLenum -> Ptr GLint64 -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLint64 -> IO ())
-> GLenum -> Ptr GLint64 -> m ()
ffienumPtrint64IOV FunPtr (GLenum -> Ptr GLint64 -> IO ())
glGetInteger64vFunPtr

glGetInteger64vFunPtr :: FunPtr (GLenum -> Ptr GLint64 -> IO ())
glGetInteger64vFunPtr :: FunPtr (GLenum -> Ptr GLint64 -> IO ())
glGetInteger64vFunPtr = IO (FunPtr (GLenum -> Ptr GLint64 -> IO ()))
-> FunPtr (GLenum -> Ptr GLint64 -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLint64 -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetInteger64v")

{-# NOINLINE glGetInteger64vFunPtr #-}

-- | Usage: @'glGetIntegeri_v' target index data@
--
-- The length of @data@ should be @COMPSIZE(target)@.


glGetIntegeri_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()
glGetIntegeri_v :: GLenum -> GLenum -> Ptr GLsizei -> m ()
glGetIntegeri_v = FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
ffienumuintPtrintIOV FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetIntegeri_vFunPtr

glGetIntegeri_vFunPtr :: FunPtr (GLenum -> GLuint -> Ptr GLint -> IO ())
glGetIntegeri_vFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetIntegeri_vFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetIntegeri_v")

{-# NOINLINE glGetIntegeri_vFunPtr #-}

-- | Usage: @'glGetIntegerv' pname data@
--
-- The parameter @pname@ is a @GetPName@, one of: 'Graphics.GL.Internal.Shared.GL_ACCUM_ALPHA_BITS', 'Graphics.GL.Internal.Shared.GL_ACCUM_BLUE_BITS', 'Graphics.GL.Internal.Shared.GL_ACCUM_CLEAR_VALUE', 'Graphics.GL.Internal.Shared.GL_ACCUM_GREEN_BITS', 'Graphics.GL.Internal.Shared.GL_ACCUM_RED_BITS', 'Graphics.GL.Internal.Shared.GL_ALIASED_LINE_WIDTH_RANGE', 'Graphics.GL.Internal.Shared.GL_ALIASED_POINT_SIZE_RANGE', 'Graphics.GL.Internal.Shared.GL_ALPHA_BIAS', 'Graphics.GL.Internal.Shared.GL_ALPHA_BITS', 'Graphics.GL.Internal.Shared.GL_ALPHA_SCALE', 'Graphics.GL.Internal.Shared.GL_ALPHA_TEST', 'Graphics.GL.Internal.Shared.GL_ALPHA_TEST_FUNC', 'Graphics.GL.Ext.QCOM.AlphaTest.GL_ALPHA_TEST_FUNC_QCOM', 'Graphics.GL.Ext.QCOM.AlphaTest.GL_ALPHA_TEST_QCOM', 'Graphics.GL.Internal.Shared.GL_ALPHA_TEST_REF', 'Graphics.GL.Ext.QCOM.AlphaTest.GL_ALPHA_TEST_REF_QCOM', 'Graphics.GL.Ext.SGIX.AsyncPixel.GL_ASYNC_DRAW_PIXELS_SGIX', 'Graphics.GL.Ext.SGIX.AsyncHistogram.GL_ASYNC_HISTOGRAM_SGIX', 'Graphics.GL.Ext.SGIX.Async.GL_ASYNC_MARKER_SGIX', 'Graphics.GL.Ext.SGIX.AsyncPixel.GL_ASYNC_READ_PIXELS_SGIX', 'Graphics.GL.Ext.SGIX.AsyncPixel.GL_ASYNC_TEX_IMAGE_SGIX', 'Graphics.GL.Internal.Shared.GL_ATTRIB_STACK_DEPTH', 'Graphics.GL.Internal.Shared.GL_AUTO_NORMAL', 'Graphics.GL.Internal.Shared.GL_AUX_BUFFERS', 'Graphics.GL.Internal.Shared.GL_BLEND', 'Graphics.GL.Ext.EXT.BlendColor.GL_BLEND_COLOR_EXT', 'Graphics.GL.Internal.Shared.GL_BLEND_DST', 'Graphics.GL.Ext.EXT.BlendMinmax.GL_BLEND_EQUATION_EXT', 'Graphics.GL.Internal.Shared.GL_BLEND_SRC', 'Graphics.GL.Internal.Shared.GL_BLUE_BIAS', 'Graphics.GL.Internal.Shared.GL_BLUE_BITS', 'Graphics.GL.Internal.Shared.GL_BLUE_SCALE', 'Graphics.GL.Ext.SGIX.CalligraphicFragment.GL_CALLIGRAPHIC_FRAGMENT_SGIX', 'Graphics.GL.Internal.Shared.GL_CLIENT_ATTRIB_STACK_DEPTH', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE0', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE1', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE2', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE3', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE4', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE5', 'Graphics.GL.Internal.Shared.GL_COLOR_ARRAY', 'Graphics.GL.Ext.EXT.VertexArray.GL_COLOR_ARRAY_COUNT_EXT', 'Graphics.GL.Internal.Shared.GL_COLOR_ARRAY_SIZE', 'Graphics.GL.Internal.Shared.GL_COLOR_ARRAY_STRIDE', 'Graphics.GL.Internal.Shared.GL_COLOR_ARRAY_TYPE', 'Graphics.GL.Internal.Shared.GL_COLOR_CLEAR_VALUE', 'Graphics.GL.Internal.Shared.GL_COLOR_LOGIC_OP', 'Graphics.GL.Internal.Shared.GL_COLOR_MATERIAL', 'Graphics.GL.Internal.Shared.GL_COLOR_MATERIAL_FACE', 'Graphics.GL.Internal.Shared.GL_COLOR_MATERIAL_PARAMETER', 'Graphics.GL.Ext.SGI.ColorMatrix.GL_COLOR_MATRIX_SGI', 'Graphics.GL.Ext.SGI.ColorMatrix.GL_COLOR_MATRIX_STACK_DEPTH_SGI', 'Graphics.GL.Ext.SGI.ColorTable.GL_COLOR_TABLE_SGI', 'Graphics.GL.Internal.Shared.GL_COLOR_WRITEMASK', 'Graphics.GL.Ext.EXT.Convolution.GL_CONVOLUTION_1D_EXT', 'Graphics.GL.Ext.EXT.Convolution.GL_CONVOLUTION_2D_EXT', 'Graphics.GL.Ext.SGIX.ConvolutionAccuracy.GL_CONVOLUTION_HINT_SGIX', 'Graphics.GL.Internal.Shared.GL_CULL_FACE', 'Graphics.GL.Internal.Shared.GL_CULL_FACE_MODE', 'Graphics.GL.Internal.Shared.GL_CURRENT_COLOR', 'Graphics.GL.Internal.Shared.GL_CURRENT_INDEX', 'Graphics.GL.Internal.Shared.GL_CURRENT_NORMAL', 'Graphics.GL.Internal.Shared.GL_CURRENT_RASTER_COLOR', 'Graphics.GL.Internal.Shared.GL_CURRENT_RASTER_DISTANCE', 'Graphics.GL.Internal.Shared.GL_CURRENT_RASTER_INDEX', 'Graphics.GL.Internal.Shared.GL_CURRENT_RASTER_POSITION', 'Graphics.GL.Internal.Shared.GL_CURRENT_RASTER_POSITION_VALID', 'Graphics.GL.Internal.Shared.GL_CURRENT_RASTER_TEXTURE_COORDS', 'Graphics.GL.Internal.Shared.GL_CURRENT_TEXTURE_COORDS', 'Graphics.GL.Ext.SGIX.PolynomialFfd.GL_DEFORMATIONS_MASK_SGIX', 'Graphics.GL.Internal.Shared.GL_DEPTH_BIAS', 'Graphics.GL.Internal.Shared.GL_DEPTH_BITS', 'Graphics.GL.Internal.Shared.GL_DEPTH_CLEAR_VALUE', 'Graphics.GL.Internal.Shared.GL_DEPTH_FUNC', 'Graphics.GL.Internal.Shared.GL_DEPTH_RANGE', 'Graphics.GL.Internal.Shared.GL_DEPTH_SCALE', 'Graphics.GL.Internal.Shared.GL_DEPTH_TEST', 'Graphics.GL.Internal.Shared.GL_DEPTH_WRITEMASK', 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_2D_BINDING_SGIS', 'Graphics.GL.Ext.SGIS.PointParameters.GL_DISTANCE_ATTENUATION_SGIS', 'Graphics.GL.Internal.Shared.GL_DITHER', 'Graphics.GL.Internal.Shared.GL_DOUBLEBUFFER', 'Graphics.GL.Internal.Shared.GL_DRAW_BUFFER', 'Graphics.GL.Ext.EXT.MultiviewDrawBuffers.GL_DRAW_BUFFER_EXT', 'Graphics.GL.Internal.Shared.GL_EDGE_FLAG', 'Graphics.GL.Internal.Shared.GL_EDGE_FLAG_ARRAY', 'Graphics.GL.Ext.EXT.VertexArray.GL_EDGE_FLAG_ARRAY_COUNT_EXT', 'Graphics.GL.Internal.Shared.GL_EDGE_FLAG_ARRAY_STRIDE', 'Graphics.GL.Internal.Shared.GL_FEEDBACK_BUFFER_SIZE', 'Graphics.GL.Internal.Shared.GL_FEEDBACK_BUFFER_TYPE', 'Graphics.GL.Internal.Shared.GL_FOG', 'Graphics.GL.Internal.Shared.GL_FOG_COLOR', 'Graphics.GL.Internal.Shared.GL_FOG_DENSITY', 'Graphics.GL.Internal.Shared.GL_FOG_END', 'Graphics.GL.Ext.SGIS.FogFunction.GL_FOG_FUNC_POINTS_SGIS', 'Graphics.GL.Internal.Shared.GL_FOG_HINT', 'Graphics.GL.Internal.Shared.GL_FOG_INDEX', 'Graphics.GL.Internal.Shared.GL_FOG_MODE', 'Graphics.GL.Ext.SGIX.FogOffset.GL_FOG_OFFSET_SGIX', 'Graphics.GL.Ext.SGIX.FogOffset.GL_FOG_OFFSET_VALUE_SGIX', 'Graphics.GL.Internal.Shared.GL_FOG_START', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_COLOR_MATERIAL_FACE_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_COLOR_MATERIAL_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT0_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHTING_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX', 'Graphics.GL.Ext.SGIX.Framezoom.GL_FRAMEZOOM_FACTOR_SGIX', 'Graphics.GL.Ext.SGIX.Framezoom.GL_FRAMEZOOM_SGIX', 'Graphics.GL.Internal.Shared.GL_FRONT_FACE', 'Graphics.GL.Ext.SGIS.GenerateMipmap.GL_GENERATE_MIPMAP_HINT_SGIS', 'Graphics.GL.Internal.Shared.GL_GREEN_BIAS', 'Graphics.GL.Internal.Shared.GL_GREEN_BITS', 'Graphics.GL.Internal.Shared.GL_GREEN_SCALE', 'Graphics.GL.Ext.EXT.Histogram.GL_HISTOGRAM_EXT', 'Graphics.GL.Internal.Shared.GL_INDEX_ARRAY', 'Graphics.GL.Ext.EXT.VertexArray.GL_INDEX_ARRAY_COUNT_EXT', 'Graphics.GL.Internal.Shared.GL_INDEX_ARRAY_STRIDE', 'Graphics.GL.Internal.Shared.GL_INDEX_ARRAY_TYPE', 'Graphics.GL.Internal.Shared.GL_INDEX_BITS', 'Graphics.GL.Internal.Shared.GL_INDEX_CLEAR_VALUE', 'Graphics.GL.Internal.Shared.GL_INDEX_LOGIC_OP', 'Graphics.GL.Internal.Shared.GL_INDEX_MODE', 'Graphics.GL.Internal.Shared.GL_INDEX_OFFSET', 'Graphics.GL.Internal.Shared.GL_INDEX_SHIFT', 'Graphics.GL.Internal.Shared.GL_INDEX_WRITEMASK', 'Graphics.GL.Ext.SGIX.Instruments.GL_INSTRUMENT_MEASUREMENTS_SGIX', 'Graphics.GL.Ext.SGIX.Interlace.GL_INTERLACE_SGIX', 'Graphics.GL.Ext.SGIX.IrInstrument1.GL_IR_INSTRUMENT1_SGIX', 'Graphics.GL.Internal.Shared.GL_LIGHT0', 'Graphics.GL.Internal.Shared.GL_LIGHT1', 'Graphics.GL.Internal.Shared.GL_LIGHT2', 'Graphics.GL.Internal.Shared.GL_LIGHT3', 'Graphics.GL.Internal.Shared.GL_LIGHT4', 'Graphics.GL.Internal.Shared.GL_LIGHT5', 'Graphics.GL.Internal.Shared.GL_LIGHT6', 'Graphics.GL.Internal.Shared.GL_LIGHT7', 'Graphics.GL.Internal.Shared.GL_LIGHTING', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_LIGHT_ENV_MODE_SGIX', 'Graphics.GL.Internal.Shared.GL_LIGHT_MODEL_AMBIENT', 'Graphics.GL.Internal.Shared.GL_LIGHT_MODEL_COLOR_CONTROL', 'Graphics.GL.Internal.Shared.GL_LIGHT_MODEL_LOCAL_VIEWER', 'Graphics.GL.Internal.Shared.GL_LIGHT_MODEL_TWO_SIDE', 'Graphics.GL.Internal.Shared.GL_LINE_SMOOTH', 'Graphics.GL.Internal.Shared.GL_LINE_SMOOTH_HINT', 'Graphics.GL.Internal.Shared.GL_LINE_STIPPLE', 'Graphics.GL.Internal.Shared.GL_LINE_STIPPLE_PATTERN', 'Graphics.GL.Internal.Shared.GL_LINE_STIPPLE_REPEAT', 'Graphics.GL.Internal.Shared.GL_LINE_WIDTH', 'Graphics.GL.Internal.Shared.GL_LINE_WIDTH_GRANULARITY', 'Graphics.GL.Internal.Shared.GL_LINE_WIDTH_RANGE', 'Graphics.GL.Internal.Shared.GL_LIST_BASE', 'Graphics.GL.Internal.Shared.GL_LIST_INDEX', 'Graphics.GL.Internal.Shared.GL_LIST_MODE', 'Graphics.GL.Internal.Shared.GL_LOGIC_OP', 'Graphics.GL.Internal.Shared.GL_LOGIC_OP_MODE', 'Graphics.GL.Internal.Shared.GL_MAP1_COLOR_4', 'Graphics.GL.Internal.Shared.GL_MAP1_GRID_DOMAIN', 'Graphics.GL.Internal.Shared.GL_MAP1_GRID_SEGMENTS', 'Graphics.GL.Internal.Shared.GL_MAP1_INDEX', 'Graphics.GL.Internal.Shared.GL_MAP1_NORMAL', 'Graphics.GL.Internal.Shared.GL_MAP1_TEXTURE_COORD_1', 'Graphics.GL.Internal.Shared.GL_MAP1_TEXTURE_COORD_2', 'Graphics.GL.Internal.Shared.GL_MAP1_TEXTURE_COORD_3', 'Graphics.GL.Internal.Shared.GL_MAP1_TEXTURE_COORD_4', 'Graphics.GL.Internal.Shared.GL_MAP1_VERTEX_3', 'Graphics.GL.Internal.Shared.GL_MAP1_VERTEX_4', 'Graphics.GL.Internal.Shared.GL_MAP2_COLOR_4', 'Graphics.GL.Internal.Shared.GL_MAP2_GRID_DOMAIN', 'Graphics.GL.Internal.Shared.GL_MAP2_GRID_SEGMENTS', 'Graphics.GL.Internal.Shared.GL_MAP2_INDEX', 'Graphics.GL.Internal.Shared.GL_MAP2_NORMAL', 'Graphics.GL.Internal.Shared.GL_MAP2_TEXTURE_COORD_1', 'Graphics.GL.Internal.Shared.GL_MAP2_TEXTURE_COORD_2', 'Graphics.GL.Internal.Shared.GL_MAP2_TEXTURE_COORD_3', 'Graphics.GL.Internal.Shared.GL_MAP2_TEXTURE_COORD_4', 'Graphics.GL.Internal.Shared.GL_MAP2_VERTEX_3', 'Graphics.GL.Internal.Shared.GL_MAP2_VERTEX_4', 'Graphics.GL.Internal.Shared.GL_MAP_COLOR', 'Graphics.GL.Internal.Shared.GL_MAP_STENCIL', 'Graphics.GL.Internal.Shared.GL_MATRIX_MODE', 'Graphics.GL.Ext.EXT.Texture3D.GL_MAX_3D_TEXTURE_SIZE_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_MAX_4D_TEXTURE_SIZE_SGIS', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_MAX_ACTIVE_LIGHTS_SGIX', 'Graphics.GL.Ext.SGIX.AsyncPixel.GL_MAX_ASYNC_DRAW_PIXELS_SGIX', 'Graphics.GL.Ext.SGIX.AsyncHistogram.GL_MAX_ASYNC_HISTOGRAM_SGIX', 'Graphics.GL.Ext.SGIX.AsyncPixel.GL_MAX_ASYNC_READ_PIXELS_SGIX', 'Graphics.GL.Ext.SGIX.AsyncPixel.GL_MAX_ASYNC_TEX_IMAGE_SGIX', 'Graphics.GL.Internal.Shared.GL_MAX_ATTRIB_STACK_DEPTH', 'Graphics.GL.Internal.Shared.GL_MAX_CLIENT_ATTRIB_STACK_DEPTH', 'Graphics.GL.Ext.SGIX.Clipmap.GL_MAX_CLIPMAP_DEPTH_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX', 'Graphics.GL.Internal.Shared.GL_MAX_CLIP_DISTANCES', 'Graphics.GL.Internal.Shared.GL_MAX_CLIP_PLANES', 'Graphics.GL.Ext.SGI.ColorMatrix.GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI', 'Graphics.GL.Internal.Shared.GL_MAX_EVAL_ORDER', 'Graphics.GL.Ext.SGIS.FogFunction.GL_MAX_FOG_FUNC_POINTS_SGIS', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_MAX_FRAGMENT_LIGHTS_SGIX', 'Graphics.GL.Ext.SGIX.Framezoom.GL_MAX_FRAMEZOOM_FACTOR_SGIX', 'Graphics.GL.Internal.Shared.GL_MAX_LIGHTS', 'Graphics.GL.Internal.Shared.GL_MAX_LIST_NESTING', 'Graphics.GL.Internal.Shared.GL_MAX_MODELVIEW_STACK_DEPTH', 'Graphics.GL.Internal.Shared.GL_MAX_NAME_STACK_DEPTH', 'Graphics.GL.Internal.Shared.GL_MAX_PIXEL_MAP_TABLE', 'Graphics.GL.Internal.Shared.GL_MAX_PROJECTION_STACK_DEPTH', 'Graphics.GL.Internal.Shared.GL_MAX_TEXTURE_SIZE', 'Graphics.GL.Internal.Shared.GL_MAX_TEXTURE_STACK_DEPTH', 'Graphics.GL.Internal.Shared.GL_MAX_VIEWPORT_DIMS', 'Graphics.GL.Ext.EXT.Histogram.GL_MINMAX_EXT', 'Graphics.GL.Ext.EXT.VertexWeighting.GL_MODELVIEW0_MATRIX_EXT', 'Graphics.GL.Ext.EXT.VertexWeighting.GL_MODELVIEW0_STACK_DEPTH_EXT', 'Graphics.GL.Internal.Shared.GL_MODELVIEW_MATRIX', 'Graphics.GL.Internal.Shared.GL_MODELVIEW_STACK_DEPTH', 'Graphics.GL.Ext.SGIS.Multisample.GL_MULTISAMPLE_SGIS', 'Graphics.GL.Internal.Shared.GL_NAME_STACK_DEPTH', 'Graphics.GL.Internal.Shared.GL_NORMALIZE', 'Graphics.GL.Internal.Shared.GL_NORMAL_ARRAY', 'Graphics.GL.Ext.EXT.VertexArray.GL_NORMAL_ARRAY_COUNT_EXT', 'Graphics.GL.Internal.Shared.GL_NORMAL_ARRAY_STRIDE', 'Graphics.GL.Internal.Shared.GL_NORMAL_ARRAY_TYPE', 'Graphics.GL.Internal.Shared.GL_PACK_ALIGNMENT', 'Graphics.GL.Ext.EXT.Cmyka.GL_PACK_CMYK_HINT_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_PACK_IMAGE_DEPTH_SGIS', 'Graphics.GL.Ext.EXT.Texture3D.GL_PACK_IMAGE_HEIGHT_EXT', 'Graphics.GL.Internal.Shared.GL_PACK_LSB_FIRST', 'Graphics.GL.Ext.SGIX.Resample.GL_PACK_RESAMPLE_SGIX', 'Graphics.GL.Internal.Shared.GL_PACK_ROW_LENGTH', 'Graphics.GL.Ext.EXT.Texture3D.GL_PACK_SKIP_IMAGES_EXT', 'Graphics.GL.Internal.Shared.GL_PACK_SKIP_PIXELS', 'Graphics.GL.Internal.Shared.GL_PACK_SKIP_ROWS', 'Graphics.GL.Ext.SGIS.Texture4D.GL_PACK_SKIP_VOLUMES_SGIS', 'Graphics.GL.Ext.SGIX.Subsample.GL_PACK_SUBSAMPLE_RATE_SGIX', 'Graphics.GL.Internal.Shared.GL_PACK_SWAP_BYTES', 'Graphics.GL.Internal.Shared.GL_PERSPECTIVE_CORRECTION_HINT', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_A_TO_A_SIZE', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_B_TO_B_SIZE', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_G_TO_G_SIZE', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_I_TO_A_SIZE', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_I_TO_B_SIZE', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_I_TO_G_SIZE', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_I_TO_I_SIZE', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_I_TO_R_SIZE', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_R_TO_R_SIZE', 'Graphics.GL.Internal.Shared.GL_PIXEL_MAP_S_TO_S_SIZE', 'Graphics.GL.Ext.SGIS.PixelTexture.GL_PIXEL_TEXTURE_SGIS', 'Graphics.GL.Ext.SGIX.PixelTexture.GL_PIXEL_TEX_GEN_MODE_SGIX', 'Graphics.GL.Ext.SGIX.PixelTexture.GL_PIXEL_TEX_GEN_SGIX', 'Graphics.GL.Ext.SGIX.PixelTiles.GL_PIXEL_TILE_BEST_ALIGNMENT_SGIX', 'Graphics.GL.Ext.SGIX.PixelTiles.GL_PIXEL_TILE_CACHE_INCREMENT_SGIX', 'Graphics.GL.Ext.SGIX.PixelTiles.GL_PIXEL_TILE_CACHE_SIZE_SGIX', 'Graphics.GL.Ext.SGIX.PixelTiles.GL_PIXEL_TILE_GRID_DEPTH_SGIX', 'Graphics.GL.Ext.SGIX.PixelTiles.GL_PIXEL_TILE_GRID_HEIGHT_SGIX', 'Graphics.GL.Ext.SGIX.PixelTiles.GL_PIXEL_TILE_GRID_WIDTH_SGIX', 'Graphics.GL.Ext.SGIX.PixelTiles.GL_PIXEL_TILE_HEIGHT_SGIX', 'Graphics.GL.Ext.SGIX.PixelTiles.GL_PIXEL_TILE_WIDTH_SGIX', 'Graphics.GL.Ext.SGIS.PointParameters.GL_POINT_FADE_THRESHOLD_SIZE_SGIS', 'Graphics.GL.Internal.Shared.GL_POINT_SIZE', 'Graphics.GL.Internal.Shared.GL_POINT_SIZE_GRANULARITY', 'Graphics.GL.Ext.SGIS.PointParameters.GL_POINT_SIZE_MAX_SGIS', 'Graphics.GL.Ext.SGIS.PointParameters.GL_POINT_SIZE_MIN_SGIS', 'Graphics.GL.Internal.Shared.GL_POINT_SIZE_RANGE', 'Graphics.GL.Internal.Shared.GL_POINT_SMOOTH', 'Graphics.GL.Internal.Shared.GL_POINT_SMOOTH_HINT', 'Graphics.GL.Internal.Shared.GL_POLYGON_MODE', 'Graphics.GL.Ext.EXT.PolygonOffset.GL_POLYGON_OFFSET_BIAS_EXT', 'Graphics.GL.Internal.Shared.GL_POLYGON_OFFSET_FACTOR', 'Graphics.GL.Internal.Shared.GL_POLYGON_OFFSET_FILL', 'Graphics.GL.Internal.Shared.GL_POLYGON_OFFSET_LINE', 'Graphics.GL.Internal.Shared.GL_POLYGON_OFFSET_POINT', 'Graphics.GL.Internal.Shared.GL_POLYGON_OFFSET_UNITS', 'Graphics.GL.Internal.Shared.GL_POLYGON_SMOOTH', 'Graphics.GL.Internal.Shared.GL_POLYGON_SMOOTH_HINT', 'Graphics.GL.Internal.Shared.GL_POLYGON_STIPPLE', 'Graphics.GL.Ext.SGI.ColorMatrix.GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI', 'Graphics.GL.Ext.SGI.ColorMatrix.GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI', 'Graphics.GL.Ext.SGI.ColorMatrix.GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI', 'Graphics.GL.Ext.SGI.ColorMatrix.GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI', 'Graphics.GL.Ext.SGI.ColorTable.GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI', 'Graphics.GL.Ext.SGI.ColorMatrix.GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI', 'Graphics.GL.Ext.SGI.ColorMatrix.GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI', 'Graphics.GL.Ext.SGI.ColorMatrix.GL_POST_COLOR_MATRIX_RED_BIAS_SGI', 'Graphics.GL.Ext.SGI.ColorMatrix.GL_POST_COLOR_MATRIX_RED_SCALE_SGI', 'Graphics.GL.Ext.EXT.Convolution.GL_POST_CONVOLUTION_ALPHA_BIAS_EXT', 'Graphics.GL.Ext.EXT.Convolution.GL_POST_CONVOLUTION_ALPHA_SCALE_EXT', 'Graphics.GL.Ext.EXT.Convolution.GL_POST_CONVOLUTION_BLUE_BIAS_EXT', 'Graphics.GL.Ext.EXT.Convolution.GL_POST_CONVOLUTION_BLUE_SCALE_EXT', 'Graphics.GL.Ext.SGI.ColorTable.GL_POST_CONVOLUTION_COLOR_TABLE_SGI', 'Graphics.GL.Ext.EXT.Convolution.GL_POST_CONVOLUTION_GREEN_BIAS_EXT', 'Graphics.GL.Ext.EXT.Convolution.GL_POST_CONVOLUTION_GREEN_SCALE_EXT', 'Graphics.GL.Ext.EXT.Convolution.GL_POST_CONVOLUTION_RED_BIAS_EXT', 'Graphics.GL.Ext.EXT.Convolution.GL_POST_CONVOLUTION_RED_SCALE_EXT', 'Graphics.GL.Ext.SGIX.TextureScaleBias.GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX', 'Graphics.GL.Ext.SGIX.TextureScaleBias.GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX', 'Graphics.GL.Internal.Shared.GL_PROJECTION_MATRIX', 'Graphics.GL.Internal.Shared.GL_PROJECTION_STACK_DEPTH', 'Graphics.GL.Internal.Shared.GL_READ_BUFFER', 'Graphics.GL.Ext.EXT.MultiviewDrawBuffers.GL_READ_BUFFER_EXT', 'Graphics.GL.Ext.NV.ReadBuffer.GL_READ_BUFFER_NV', 'Graphics.GL.Internal.Shared.GL_RED_BIAS', 'Graphics.GL.Internal.Shared.GL_RED_BITS', 'Graphics.GL.Internal.Shared.GL_RED_SCALE', 'Graphics.GL.Ext.SGIX.ReferencePlane.GL_REFERENCE_PLANE_EQUATION_SGIX', 'Graphics.GL.Ext.SGIX.ReferencePlane.GL_REFERENCE_PLANE_SGIX', 'Graphics.GL.Internal.Shared.GL_RENDER_MODE', 'Graphics.GL.Ext.EXT.RescaleNormal.GL_RESCALE_NORMAL_EXT', 'Graphics.GL.Internal.Shared.GL_RGBA_MODE', 'Graphics.GL.Ext.SGIS.Multisample.GL_SAMPLES_SGIS', 'Graphics.GL.Ext.SGIS.Multisample.GL_SAMPLE_ALPHA_TO_MASK_SGIS', 'Graphics.GL.Ext.SGIS.Multisample.GL_SAMPLE_ALPHA_TO_ONE_SGIS', 'Graphics.GL.Ext.SGIS.Multisample.GL_SAMPLE_BUFFERS_SGIS', 'Graphics.GL.Ext.SGIS.Multisample.GL_SAMPLE_MASK_INVERT_SGIS', 'Graphics.GL.Ext.SGIS.Multisample.GL_SAMPLE_MASK_SGIS', 'Graphics.GL.Ext.SGIS.Multisample.GL_SAMPLE_MASK_VALUE_SGIS', 'Graphics.GL.Ext.SGIS.Multisample.GL_SAMPLE_PATTERN_SGIS', 'Graphics.GL.Internal.Shared.GL_SCISSOR_BOX', 'Graphics.GL.Internal.Shared.GL_SCISSOR_TEST', 'Graphics.GL.Internal.Shared.GL_SELECTION_BUFFER_SIZE', 'Graphics.GL.Ext.EXT.Convolution.GL_SEPARABLE_2D_EXT', 'Graphics.GL.Internal.Shared.GL_SHADE_MODEL', 'Graphics.GL.Ext.EXT.SharedTexturePalette.GL_SHARED_TEXTURE_PALETTE_EXT', 'Graphics.GL.Internal.Shared.GL_SMOOTH_LINE_WIDTH_GRANULARITY', 'Graphics.GL.Internal.Shared.GL_SMOOTH_LINE_WIDTH_RANGE', 'Graphics.GL.Internal.Shared.GL_SMOOTH_POINT_SIZE_GRANULARITY', 'Graphics.GL.Internal.Shared.GL_SMOOTH_POINT_SIZE_RANGE', 'Graphics.GL.Ext.SGIX.Sprite.GL_SPRITE_AXIS_SGIX', 'Graphics.GL.Ext.SGIX.Sprite.GL_SPRITE_MODE_SGIX', 'Graphics.GL.Ext.SGIX.Sprite.GL_SPRITE_SGIX', 'Graphics.GL.Ext.SGIX.Sprite.GL_SPRITE_TRANSLATION_SGIX', 'Graphics.GL.Internal.Shared.GL_STENCIL_BITS', 'Graphics.GL.Internal.Shared.GL_STENCIL_CLEAR_VALUE', 'Graphics.GL.Internal.Shared.GL_STENCIL_FAIL', 'Graphics.GL.Internal.Shared.GL_STENCIL_FUNC', 'Graphics.GL.Internal.Shared.GL_STENCIL_PASS_DEPTH_FAIL', 'Graphics.GL.Internal.Shared.GL_STENCIL_PASS_DEPTH_PASS', 'Graphics.GL.Internal.Shared.GL_STENCIL_REF', 'Graphics.GL.Internal.Shared.GL_STENCIL_TEST', 'Graphics.GL.Internal.Shared.GL_STENCIL_VALUE_MASK', 'Graphics.GL.Internal.Shared.GL_STENCIL_WRITEMASK', 'Graphics.GL.Internal.Shared.GL_STEREO', 'Graphics.GL.Internal.Shared.GL_SUBPIXEL_BITS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_1D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_2D', 'Graphics.GL.Ext.EXT.TextureObject.GL_TEXTURE_3D_BINDING_EXT', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_3D_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_4D_BINDING_SGIS', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BINDING_1D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BINDING_2D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BINDING_3D', 'Graphics.GL.Ext.SGI.TextureColorTable.GL_TEXTURE_COLOR_TABLE_SGI', 'Graphics.GL.Internal.Shared.GL_TEXTURE_COORD_ARRAY', 'Graphics.GL.Ext.EXT.VertexArray.GL_TEXTURE_COORD_ARRAY_COUNT_EXT', 'Graphics.GL.Internal.Shared.GL_TEXTURE_COORD_ARRAY_SIZE', 'Graphics.GL.Internal.Shared.GL_TEXTURE_COORD_ARRAY_STRIDE', 'Graphics.GL.Internal.Shared.GL_TEXTURE_COORD_ARRAY_TYPE', 'Graphics.GL.Internal.Shared.GL_TEXTURE_GEN_Q', 'Graphics.GL.Internal.Shared.GL_TEXTURE_GEN_R', 'Graphics.GL.Internal.Shared.GL_TEXTURE_GEN_S', 'Graphics.GL.Internal.Shared.GL_TEXTURE_GEN_T', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MATRIX', 'Graphics.GL.Internal.Shared.GL_TEXTURE_STACK_DEPTH', 'Graphics.GL.Internal.Shared.GL_UNPACK_ALIGNMENT', 'Graphics.GL.Ext.EXT.Cmyka.GL_UNPACK_CMYK_HINT_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_UNPACK_IMAGE_DEPTH_SGIS', 'Graphics.GL.Ext.EXT.Texture3D.GL_UNPACK_IMAGE_HEIGHT_EXT', 'Graphics.GL.Internal.Shared.GL_UNPACK_LSB_FIRST', 'Graphics.GL.Ext.SGIX.Resample.GL_UNPACK_RESAMPLE_SGIX', 'Graphics.GL.Internal.Shared.GL_UNPACK_ROW_LENGTH', 'Graphics.GL.Ext.EXT.Texture3D.GL_UNPACK_SKIP_IMAGES_EXT', 'Graphics.GL.Internal.Shared.GL_UNPACK_SKIP_PIXELS', 'Graphics.GL.Internal.Shared.GL_UNPACK_SKIP_ROWS', 'Graphics.GL.Ext.SGIS.Texture4D.GL_UNPACK_SKIP_VOLUMES_SGIS', 'Graphics.GL.Ext.SGIX.Subsample.GL_UNPACK_SUBSAMPLE_RATE_SGIX', 'Graphics.GL.Internal.Shared.GL_UNPACK_SWAP_BYTES', 'Graphics.GL.Internal.Shared.GL_VERTEX_ARRAY', 'Graphics.GL.Ext.EXT.VertexArray.GL_VERTEX_ARRAY_COUNT_EXT', 'Graphics.GL.Internal.Shared.GL_VERTEX_ARRAY_SIZE', 'Graphics.GL.Internal.Shared.GL_VERTEX_ARRAY_STRIDE', 'Graphics.GL.Internal.Shared.GL_VERTEX_ARRAY_TYPE', 'Graphics.GL.Ext.SGIX.VertexPreclip.GL_VERTEX_PRECLIP_HINT_SGIX', 'Graphics.GL.Ext.SGIX.VertexPreclip.GL_VERTEX_PRECLIP_SGIX', 'Graphics.GL.Internal.Shared.GL_VIEWPORT', 'Graphics.GL.Internal.Shared.GL_ZOOM_X', 'Graphics.GL.Internal.Shared.GL_ZOOM_Y'.
--
-- The length of @data@ should be @COMPSIZE(pname)@.


glGetIntegerv :: MonadIO m => GLenum -> Ptr GLint -> m ()
glGetIntegerv :: GLenum -> Ptr GLsizei -> m ()
glGetIntegerv = FunPtr (GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> Ptr GLsizei -> m ()
ffienumPtrintIOV FunPtr (GLenum -> Ptr GLsizei -> IO ())
glGetIntegervFunPtr

glGetIntegervFunPtr :: FunPtr (GLenum -> Ptr GLint -> IO ())
glGetIntegervFunPtr :: FunPtr (GLenum -> Ptr GLsizei -> IO ())
glGetIntegervFunPtr = IO (FunPtr (GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetIntegerv")

{-# NOINLINE glGetIntegervFunPtr #-}

-- | Usage: @'glGetMultisamplefv' pname index val@
--
-- The length of @val@ should be @COMPSIZE(pname)@.


glGetMultisamplefv :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()
glGetMultisamplefv :: GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetMultisamplefv = FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> GLenum -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> GLenum -> Ptr GLfloat -> m ()
ffienumuintPtrfloatIOV FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glGetMultisamplefvFunPtr

glGetMultisamplefvFunPtr :: FunPtr (GLenum -> GLuint -> Ptr GLfloat -> IO ())
glGetMultisamplefvFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glGetMultisamplefvFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetMultisamplefv")

{-# NOINLINE glGetMultisamplefvFunPtr #-}

-- | Usage: @'glGetProgramInfoLog' program bufSize length infoLog@
--
-- The length of @length@ should be @1@.
--
-- The length of @infoLog@ should be @bufSize@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glGetProgramInfoLog.xhtml>


glGetProgramInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
glGetProgramInfoLog :: GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
glGetProgramInfoLog = FunPtr (GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
ffiuintsizeiPtrsizeiPtrcharIOV FunPtr (GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
glGetProgramInfoLogFunPtr

glGetProgramInfoLogFunPtr :: FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
glGetProgramInfoLogFunPtr :: FunPtr (GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
glGetProgramInfoLogFunPtr = IO
  (FunPtr (GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()))
-> FunPtr (GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetProgramInfoLog")

{-# NOINLINE glGetProgramInfoLogFunPtr #-}

-- | Usage: @'glGetProgramiv' program pname params@
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glGetProgramiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetProgramiv :: GLenum -> GLenum -> Ptr GLsizei -> m ()
glGetProgramiv = FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
ffiuintenumPtrintIOV FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetProgramivFunPtr

glGetProgramivFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
glGetProgramivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetProgramivFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetProgramiv")

{-# NOINLINE glGetProgramivFunPtr #-}

-- | Usage: @'glGetQueryObjectiv' id pname params@
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glGetQueryObjectiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetQueryObjectiv :: GLenum -> GLenum -> Ptr GLsizei -> m ()
glGetQueryObjectiv = FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
ffiuintenumPtrintIOV FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetQueryObjectivFunPtr

glGetQueryObjectivFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
glGetQueryObjectivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetQueryObjectivFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetQueryObjectiv")

{-# NOINLINE glGetQueryObjectivFunPtr #-}

-- | Usage: @'glGetQueryObjectuiv' id pname params@
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glGetQueryObjectuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()
glGetQueryObjectuiv :: GLenum -> GLenum -> Ptr GLenum -> m ()
glGetQueryObjectuiv = FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
-> GLenum -> GLenum -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
-> GLenum -> GLenum -> Ptr GLenum -> m ()
ffiuintenumPtruintIOV FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
glGetQueryObjectuivFunPtr

glGetQueryObjectuivFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ())
glGetQueryObjectuivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
glGetQueryObjectuivFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetQueryObjectuiv")

{-# NOINLINE glGetQueryObjectuivFunPtr #-}

-- | Usage: @'glGetQueryiv' target pname params@
--
-- The length of @params@ should be @COMPSIZE(pname)@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glGetQueryiv.xhtml>


glGetQueryiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetQueryiv :: GLenum -> GLenum -> Ptr GLsizei -> m ()
glGetQueryiv = FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
ffienumenumPtrintIOV FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetQueryivFunPtr

glGetQueryivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
glGetQueryivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetQueryivFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetQueryiv")

{-# NOINLINE glGetQueryivFunPtr #-}

-- | Usage: @'glGetRenderbufferParameteriv' target pname params@
--
-- The parameter @target@ is a @RenderbufferTarget@.
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glGetRenderbufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetRenderbufferParameteriv :: GLenum -> GLenum -> Ptr GLsizei -> m ()
glGetRenderbufferParameteriv = FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
ffienumenumPtrintIOV FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetRenderbufferParameterivFunPtr

glGetRenderbufferParameterivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
glGetRenderbufferParameterivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetRenderbufferParameterivFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetRenderbufferParameteriv")

{-# NOINLINE glGetRenderbufferParameterivFunPtr #-}

-- | Usage: @'glGetShaderInfoLog' shader bufSize length infoLog@
--
-- The length of @length@ should be @1@.
--
-- The length of @infoLog@ should be @bufSize@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glGetShaderInfoLog.xhtml>


glGetShaderInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
glGetShaderInfoLog :: GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
glGetShaderInfoLog = FunPtr (GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
ffiuintsizeiPtrsizeiPtrcharIOV FunPtr (GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
glGetShaderInfoLogFunPtr

glGetShaderInfoLogFunPtr :: FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
glGetShaderInfoLogFunPtr :: FunPtr (GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
glGetShaderInfoLogFunPtr = IO
  (FunPtr (GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()))
-> FunPtr (GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetShaderInfoLog")

{-# NOINLINE glGetShaderInfoLogFunPtr #-}

-- | Usage: @'glGetShaderSource' shader bufSize length source@
--
-- The length of @length@ should be @1@.
--
-- The length of @source@ should be @bufSize@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glGetShaderSource.xhtml>


glGetShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
glGetShaderSource :: GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
glGetShaderSource = FunPtr (GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
ffiuintsizeiPtrsizeiPtrcharIOV FunPtr (GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
glGetShaderSourceFunPtr

glGetShaderSourceFunPtr :: FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
glGetShaderSourceFunPtr :: FunPtr (GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
glGetShaderSourceFunPtr = IO
  (FunPtr (GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()))
-> FunPtr (GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetShaderSource")

{-# NOINLINE glGetShaderSourceFunPtr #-}

-- | Usage: @'glGetShaderiv' shader pname params@
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glGetShaderiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetShaderiv :: GLenum -> GLenum -> Ptr GLsizei -> m ()
glGetShaderiv = FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
ffiuintenumPtrintIOV FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetShaderivFunPtr

glGetShaderivFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
glGetShaderivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetShaderivFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetShaderiv")

{-# NOINLINE glGetShaderivFunPtr #-}

-- | Usage: @'glGetString' name@
--
-- The parameter @name@ is a @StringName@, one of: 'Graphics.GL.Internal.Shared.GL_EXTENSIONS', 'Graphics.GL.Internal.Shared.GL_RENDERER', 'Graphics.GL.Internal.Shared.GL_VENDOR', 'Graphics.GL.Internal.Shared.GL_VERSION'.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glGetString.xhtml>


glGetString :: MonadIO m => GLenum -> m (Ptr GLubyte)
glGetString :: GLenum -> m (Ptr GLboolean)
glGetString = FunPtr (GLenum -> IO (Ptr GLboolean))
-> GLenum -> m (Ptr GLboolean)
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO (Ptr GLboolean))
-> GLenum -> m (Ptr GLboolean)
ffienumIOPtrubyte FunPtr (GLenum -> IO (Ptr GLboolean))
glGetStringFunPtr

glGetStringFunPtr :: FunPtr (GLenum -> IO (Ptr GLubyte))
glGetStringFunPtr :: FunPtr (GLenum -> IO (Ptr GLboolean))
glGetStringFunPtr = IO (FunPtr (GLenum -> IO (Ptr GLboolean)))
-> FunPtr (GLenum -> IO (Ptr GLboolean))
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO (Ptr GLboolean)))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetString")

{-# NOINLINE glGetStringFunPtr #-}

-- | Usage: @'glGetStringi' name index@


glGetStringi :: MonadIO m => GLenum -> GLuint -> m (Ptr GLubyte)
glGetStringi :: GLenum -> GLenum -> m (Ptr GLboolean)
glGetStringi = FunPtr (GLenum -> GLenum -> IO (Ptr GLboolean))
-> GLenum -> GLenum -> m (Ptr GLboolean)
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO (Ptr GLboolean))
-> GLenum -> GLenum -> m (Ptr GLboolean)
ffienumuintIOPtrubyte FunPtr (GLenum -> GLenum -> IO (Ptr GLboolean))
glGetStringiFunPtr

glGetStringiFunPtr :: FunPtr (GLenum -> GLuint -> IO (Ptr GLubyte))
glGetStringiFunPtr :: FunPtr (GLenum -> GLenum -> IO (Ptr GLboolean))
glGetStringiFunPtr = IO (FunPtr (GLenum -> GLenum -> IO (Ptr GLboolean)))
-> FunPtr (GLenum -> GLenum -> IO (Ptr GLboolean))
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO (Ptr GLboolean)))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetStringi")

{-# NOINLINE glGetStringiFunPtr #-}

-- | Usage: @'glGetSynciv' sync pname bufSize length values@
--
-- The parameter @sync@ is a @sync@.
--
-- The length of @length@ should be @1@.
--
-- The length of @values@ should be @bufSize@.


glGetSynciv :: MonadIO m => GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()
glGetSynciv :: Ptr () -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> m ()
glGetSynciv = FunPtr
  (Ptr ()
   -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> IO ())
-> Ptr ()
-> GLenum
-> GLsizei
-> Ptr GLsizei
-> Ptr GLsizei
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (Ptr ()
   -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> IO ())
-> Ptr ()
-> GLenum
-> GLsizei
-> Ptr GLsizei
-> Ptr GLsizei
-> m ()
ffisyncenumsizeiPtrsizeiPtrintIOV FunPtr
  (Ptr ()
   -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> IO ())
glGetSyncivFunPtr

glGetSyncivFunPtr :: FunPtr (GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> IO ())
glGetSyncivFunPtr :: FunPtr
  (Ptr ()
   -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> IO ())
glGetSyncivFunPtr = IO
  (FunPtr
     (Ptr ()
      -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> IO ()))
-> FunPtr
     (Ptr ()
      -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (Ptr ()
         -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetSynciv")

{-# NOINLINE glGetSyncivFunPtr #-}

-- | Usage: @'glGetTexImage' target level format type pixels@
--
-- The parameter @target@ is a @TextureTarget@, one of: 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_2D_SGIS', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_1D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_1D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_2D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_2D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_PROXY_TEXTURE_3D_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_PROXY_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_1D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_2D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_3D_EXT', 'Graphics.GL.Ext.OES.Texture3D.GL_TEXTURE_3D_OES', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BASE_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_BASE_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LOD_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MIN_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MIN_LOD_SGIS'.
--
-- The parameter @level@ is a @CheckedInt32@.
--
-- The parameter @format@ is a @PixelFormat@, one of: 'Graphics.GL.Ext.EXT.Abgr.GL_ABGR_EXT', 'Graphics.GL.Internal.Shared.GL_ALPHA', 'Graphics.GL.Internal.Shared.GL_BLUE', 'Graphics.GL.Ext.EXT.Cmyka.GL_CMYKA_EXT', 'Graphics.GL.Ext.EXT.Cmyka.GL_CMYK_EXT', 'Graphics.GL.Internal.Shared.GL_COLOR_INDEX', 'Graphics.GL.Internal.Shared.GL_DEPTH_COMPONENT', 'Graphics.GL.Internal.Shared.GL_GREEN', 'Graphics.GL.Internal.Shared.GL_LUMINANCE', 'Graphics.GL.Internal.Shared.GL_LUMINANCE_ALPHA', 'Graphics.GL.Internal.Shared.GL_RED', 'Graphics.GL.Ext.EXT.TextureRg.GL_RED_EXT', 'Graphics.GL.Internal.Shared.GL_RGB', 'Graphics.GL.Internal.Shared.GL_RGBA', 'Graphics.GL.Internal.Shared.GL_STENCIL_INDEX', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_INT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_SHORT', 'Graphics.GL.Ext.SGIX.Ycrcb.GL_YCRCB_422_SGIX', 'Graphics.GL.Ext.SGIX.Ycrcb.GL_YCRCB_444_SGIX'.
--
-- The parameter @type@ is a @PixelType@, one of: 'Graphics.GL.Internal.Shared.GL_BITMAP', 'Graphics.GL.Internal.Shared.GL_BYTE', 'Graphics.GL.Internal.Shared.GL_FLOAT', 'Graphics.GL.Internal.Shared.GL_INT', 'Graphics.GL.Internal.Shared.GL_SHORT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_BYTE', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_BYTE_3_3_2', 'Graphics.GL.Ext.EXT.PackedPixels.GL_UNSIGNED_BYTE_3_3_2_EXT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_INT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_INT_10_10_10_2', 'Graphics.GL.Ext.EXT.PackedPixels.GL_UNSIGNED_INT_10_10_10_2_EXT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_INT_8_8_8_8', 'Graphics.GL.Ext.EXT.PackedPixels.GL_UNSIGNED_INT_8_8_8_8_EXT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_SHORT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_SHORT_4_4_4_4', 'Graphics.GL.Ext.EXT.PackedPixels.GL_UNSIGNED_SHORT_4_4_4_4_EXT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_SHORT_5_5_5_1', 'Graphics.GL.Ext.EXT.PackedPixels.GL_UNSIGNED_SHORT_5_5_5_1_EXT'.
--
-- The length of @pixels@ should be @COMPSIZE(target,level,format,type)@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glGetTexImage.xhtml>


glGetTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> Ptr () -> m ()
glGetTexImage :: GLenum -> GLsizei -> GLenum -> GLenum -> Ptr () -> m ()
glGetTexImage = FunPtr (GLenum -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ())
-> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr () -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ())
-> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr () -> m ()
ffienumintenumenumPtrVIOV FunPtr (GLenum -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ())
glGetTexImageFunPtr

glGetTexImageFunPtr :: FunPtr (GLenum -> GLint -> GLenum -> GLenum -> Ptr () -> IO ())
glGetTexImageFunPtr :: FunPtr (GLenum -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ())
glGetTexImageFunPtr = IO
  (FunPtr (GLenum -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()))
-> FunPtr
     (GLenum -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetTexImage")

{-# NOINLINE glGetTexImageFunPtr #-}

-- | Usage: @'glGetTexLevelParameterfv' target level pname params@
--
-- The parameter @target@ is a @TextureTarget@, one of: 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_2D_SGIS', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_1D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_1D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_2D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_2D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_PROXY_TEXTURE_3D_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_PROXY_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_1D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_2D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_3D_EXT', 'Graphics.GL.Ext.OES.Texture3D.GL_TEXTURE_3D_OES', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BASE_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_BASE_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LOD_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MIN_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MIN_LOD_SGIS'.
--
-- The parameter @level@ is a @CheckedInt32@.
--
-- The parameter @pname@ is a @GetTextureParameter@, one of: 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS', 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_LEVEL_SGIS', 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_MODE_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_TEXTURE_SELECT_SGIS', 'Graphics.GL.Ext.SGIS.GenerateMipmap.GL_GENERATE_MIPMAP_SGIS', 'Graphics.GL.Ext.SGIX.TextureScaleBias.GL_POST_TEXTURE_FILTER_BIAS_SGIX', 'Graphics.GL.Ext.SGIX.TextureScaleBias.GL_POST_TEXTURE_FILTER_SCALE_SGIX', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_QUAD_TEXTURE_SELECT_SGIS', 'Graphics.GL.Ext.SGIX.ShadowAmbient.GL_SHADOW_AMBIENT_SGIX', 'Graphics.GL.Ext.SGIS.SharpenTexture.GL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_4DSIZE_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_ALPHA_SIZE', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_BASE_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BLUE_SIZE', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BORDER', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BORDER_COLOR', 'Graphics.GL.Ext.NV.TextureBorderClamp.GL_TEXTURE_BORDER_COLOR_NV', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_CENTER_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_DEPTH_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_FRAME_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_OFFSET_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX', 'Graphics.GL.Ext.SGIX.Shadow.GL_TEXTURE_COMPARE_OPERATOR_SGIX', 'Graphics.GL.Ext.SGIX.Shadow.GL_TEXTURE_COMPARE_SGIX', 'Graphics.GL.Internal.Shared.GL_TEXTURE_COMPONENTS', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_DEPTH_EXT', 'Graphics.GL.Ext.SGIS.TextureFilter4.GL_TEXTURE_FILTER4_SIZE_SGIS', 'Graphics.GL.Ext.SGIX.Shadow.GL_TEXTURE_GEQUAL_R_SGIX', 'Graphics.GL.Internal.Shared.GL_TEXTURE_GREEN_SIZE', 'Graphics.GL.Internal.Shared.GL_TEXTURE_HEIGHT', 'Graphics.GL.Internal.Shared.GL_TEXTURE_INTENSITY_SIZE', 'Graphics.GL.Internal.Shared.GL_TEXTURE_INTERNAL_FORMAT', 'Graphics.GL.Ext.SGIX.Shadow.GL_TEXTURE_LEQUAL_R_SGIX', 'Graphics.GL.Ext.SGIX.TextureLodBias.GL_TEXTURE_LOD_BIAS_R_SGIX', 'Graphics.GL.Ext.SGIX.TextureLodBias.GL_TEXTURE_LOD_BIAS_S_SGIX', 'Graphics.GL.Ext.SGIX.TextureLodBias.GL_TEXTURE_LOD_BIAS_T_SGIX', 'Graphics.GL.Internal.Shared.GL_TEXTURE_LUMINANCE_SIZE', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAG_FILTER', 'Graphics.GL.Ext.SGIX.TextureCoordinateClamp.GL_TEXTURE_MAX_CLAMP_R_SGIX', 'Graphics.GL.Ext.SGIX.TextureCoordinateClamp.GL_TEXTURE_MAX_CLAMP_S_SGIX', 'Graphics.GL.Ext.SGIX.TextureCoordinateClamp.GL_TEXTURE_MAX_CLAMP_T_SGIX', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LEVEL_SGIS', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LOD_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MIN_FILTER', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MIN_LOD_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_PRIORITY', 'Graphics.GL.Internal.Shared.GL_TEXTURE_RED_SIZE', 'Graphics.GL.Internal.Shared.GL_TEXTURE_RESIDENT', 'Graphics.GL.Internal.Shared.GL_TEXTURE_WIDTH', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_WRAP_Q_SGIS', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_WRAP_R_EXT', 'Graphics.GL.Internal.Shared.GL_TEXTURE_WRAP_S', 'Graphics.GL.Internal.Shared.GL_TEXTURE_WRAP_T'.
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glGetTexLevelParameterfv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()
glGetTexLevelParameterfv :: GLenum -> GLsizei -> GLenum -> Ptr GLfloat -> m ()
glGetTexLevelParameterfv = FunPtr (GLenum -> GLsizei -> GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> GLenum -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> GLenum -> Ptr GLfloat -> m ()
ffienumintenumPtrfloatIOV FunPtr (GLenum -> GLsizei -> GLenum -> Ptr GLfloat -> IO ())
glGetTexLevelParameterfvFunPtr

glGetTexLevelParameterfvFunPtr :: FunPtr (GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ())
glGetTexLevelParameterfvFunPtr :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr GLfloat -> IO ())
glGetTexLevelParameterfvFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLenum -> Ptr GLfloat -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLenum -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLsizei -> GLenum -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetTexLevelParameterfv")

{-# NOINLINE glGetTexLevelParameterfvFunPtr #-}

-- | Usage: @'glGetTexLevelParameteriv' target level pname params@
--
-- The parameter @target@ is a @TextureTarget@, one of: 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_2D_SGIS', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_1D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_1D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_2D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_2D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_PROXY_TEXTURE_3D_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_PROXY_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_1D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_2D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_3D_EXT', 'Graphics.GL.Ext.OES.Texture3D.GL_TEXTURE_3D_OES', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BASE_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_BASE_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LOD_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MIN_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MIN_LOD_SGIS'.
--
-- The parameter @level@ is a @CheckedInt32@.
--
-- The parameter @pname@ is a @GetTextureParameter@, one of: 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS', 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_LEVEL_SGIS', 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_MODE_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_TEXTURE_SELECT_SGIS', 'Graphics.GL.Ext.SGIS.GenerateMipmap.GL_GENERATE_MIPMAP_SGIS', 'Graphics.GL.Ext.SGIX.TextureScaleBias.GL_POST_TEXTURE_FILTER_BIAS_SGIX', 'Graphics.GL.Ext.SGIX.TextureScaleBias.GL_POST_TEXTURE_FILTER_SCALE_SGIX', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_QUAD_TEXTURE_SELECT_SGIS', 'Graphics.GL.Ext.SGIX.ShadowAmbient.GL_SHADOW_AMBIENT_SGIX', 'Graphics.GL.Ext.SGIS.SharpenTexture.GL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_4DSIZE_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_ALPHA_SIZE', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_BASE_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BLUE_SIZE', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BORDER', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BORDER_COLOR', 'Graphics.GL.Ext.NV.TextureBorderClamp.GL_TEXTURE_BORDER_COLOR_NV', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_CENTER_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_DEPTH_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_FRAME_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_OFFSET_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX', 'Graphics.GL.Ext.SGIX.Shadow.GL_TEXTURE_COMPARE_OPERATOR_SGIX', 'Graphics.GL.Ext.SGIX.Shadow.GL_TEXTURE_COMPARE_SGIX', 'Graphics.GL.Internal.Shared.GL_TEXTURE_COMPONENTS', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_DEPTH_EXT', 'Graphics.GL.Ext.SGIS.TextureFilter4.GL_TEXTURE_FILTER4_SIZE_SGIS', 'Graphics.GL.Ext.SGIX.Shadow.GL_TEXTURE_GEQUAL_R_SGIX', 'Graphics.GL.Internal.Shared.GL_TEXTURE_GREEN_SIZE', 'Graphics.GL.Internal.Shared.GL_TEXTURE_HEIGHT', 'Graphics.GL.Internal.Shared.GL_TEXTURE_INTENSITY_SIZE', 'Graphics.GL.Internal.Shared.GL_TEXTURE_INTERNAL_FORMAT', 'Graphics.GL.Ext.SGIX.Shadow.GL_TEXTURE_LEQUAL_R_SGIX', 'Graphics.GL.Ext.SGIX.TextureLodBias.GL_TEXTURE_LOD_BIAS_R_SGIX', 'Graphics.GL.Ext.SGIX.TextureLodBias.GL_TEXTURE_LOD_BIAS_S_SGIX', 'Graphics.GL.Ext.SGIX.TextureLodBias.GL_TEXTURE_LOD_BIAS_T_SGIX', 'Graphics.GL.Internal.Shared.GL_TEXTURE_LUMINANCE_SIZE', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAG_FILTER', 'Graphics.GL.Ext.SGIX.TextureCoordinateClamp.GL_TEXTURE_MAX_CLAMP_R_SGIX', 'Graphics.GL.Ext.SGIX.TextureCoordinateClamp.GL_TEXTURE_MAX_CLAMP_S_SGIX', 'Graphics.GL.Ext.SGIX.TextureCoordinateClamp.GL_TEXTURE_MAX_CLAMP_T_SGIX', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LEVEL_SGIS', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LOD_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MIN_FILTER', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MIN_LOD_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_PRIORITY', 'Graphics.GL.Internal.Shared.GL_TEXTURE_RED_SIZE', 'Graphics.GL.Internal.Shared.GL_TEXTURE_RESIDENT', 'Graphics.GL.Internal.Shared.GL_TEXTURE_WIDTH', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_WRAP_Q_SGIS', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_WRAP_R_EXT', 'Graphics.GL.Internal.Shared.GL_TEXTURE_WRAP_S', 'Graphics.GL.Internal.Shared.GL_TEXTURE_WRAP_T'.
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glGetTexLevelParameteriv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLint -> m ()
glGetTexLevelParameteriv :: GLenum -> GLsizei -> GLenum -> Ptr GLsizei -> m ()
glGetTexLevelParameteriv = FunPtr (GLenum -> GLsizei -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLsizei -> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLsizei -> GLenum -> Ptr GLsizei -> m ()
ffienumintenumPtrintIOV FunPtr (GLenum -> GLsizei -> GLenum -> Ptr GLsizei -> IO ())
glGetTexLevelParameterivFunPtr

glGetTexLevelParameterivFunPtr :: FunPtr (GLenum -> GLint -> GLenum -> Ptr GLint -> IO ())
glGetTexLevelParameterivFunPtr :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr GLsizei -> IO ())
glGetTexLevelParameterivFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLsizei -> GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetTexLevelParameteriv")

{-# NOINLINE glGetTexLevelParameterivFunPtr #-}

-- | Usage: @'glGetTexParameterIiv' target pname params@
--
-- The parameter @target@ is a @TextureTarget@, one of: 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_2D_SGIS', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_1D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_1D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_2D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_2D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_PROXY_TEXTURE_3D_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_PROXY_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_1D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_2D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_3D_EXT', 'Graphics.GL.Ext.OES.Texture3D.GL_TEXTURE_3D_OES', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BASE_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_BASE_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LOD_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MIN_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MIN_LOD_SGIS'.
--
-- The parameter @pname@ is a @GetTextureParameter@, one of: 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS', 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_LEVEL_SGIS', 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_MODE_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_TEXTURE_SELECT_SGIS', 'Graphics.GL.Ext.SGIS.GenerateMipmap.GL_GENERATE_MIPMAP_SGIS', 'Graphics.GL.Ext.SGIX.TextureScaleBias.GL_POST_TEXTURE_FILTER_BIAS_SGIX', 'Graphics.GL.Ext.SGIX.TextureScaleBias.GL_POST_TEXTURE_FILTER_SCALE_SGIX', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_QUAD_TEXTURE_SELECT_SGIS', 'Graphics.GL.Ext.SGIX.ShadowAmbient.GL_SHADOW_AMBIENT_SGIX', 'Graphics.GL.Ext.SGIS.SharpenTexture.GL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_4DSIZE_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_ALPHA_SIZE', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_BASE_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BLUE_SIZE', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BORDER', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BORDER_COLOR', 'Graphics.GL.Ext.NV.TextureBorderClamp.GL_TEXTURE_BORDER_COLOR_NV', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_CENTER_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_DEPTH_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_FRAME_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_OFFSET_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX', 'Graphics.GL.Ext.SGIX.Shadow.GL_TEXTURE_COMPARE_OPERATOR_SGIX', 'Graphics.GL.Ext.SGIX.Shadow.GL_TEXTURE_COMPARE_SGIX', 'Graphics.GL.Internal.Shared.GL_TEXTURE_COMPONENTS', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_DEPTH_EXT', 'Graphics.GL.Ext.SGIS.TextureFilter4.GL_TEXTURE_FILTER4_SIZE_SGIS', 'Graphics.GL.Ext.SGIX.Shadow.GL_TEXTURE_GEQUAL_R_SGIX', 'Graphics.GL.Internal.Shared.GL_TEXTURE_GREEN_SIZE', 'Graphics.GL.Internal.Shared.GL_TEXTURE_HEIGHT', 'Graphics.GL.Internal.Shared.GL_TEXTURE_INTENSITY_SIZE', 'Graphics.GL.Internal.Shared.GL_TEXTURE_INTERNAL_FORMAT', 'Graphics.GL.Ext.SGIX.Shadow.GL_TEXTURE_LEQUAL_R_SGIX', 'Graphics.GL.Ext.SGIX.TextureLodBias.GL_TEXTURE_LOD_BIAS_R_SGIX', 'Graphics.GL.Ext.SGIX.TextureLodBias.GL_TEXTURE_LOD_BIAS_S_SGIX', 'Graphics.GL.Ext.SGIX.TextureLodBias.GL_TEXTURE_LOD_BIAS_T_SGIX', 'Graphics.GL.Internal.Shared.GL_TEXTURE_LUMINANCE_SIZE', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAG_FILTER', 'Graphics.GL.Ext.SGIX.TextureCoordinateClamp.GL_TEXTURE_MAX_CLAMP_R_SGIX', 'Graphics.GL.Ext.SGIX.TextureCoordinateClamp.GL_TEXTURE_MAX_CLAMP_S_SGIX', 'Graphics.GL.Ext.SGIX.TextureCoordinateClamp.GL_TEXTURE_MAX_CLAMP_T_SGIX', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LEVEL_SGIS', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LOD_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MIN_FILTER', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MIN_LOD_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_PRIORITY', 'Graphics.GL.Internal.Shared.GL_TEXTURE_RED_SIZE', 'Graphics.GL.Internal.Shared.GL_TEXTURE_RESIDENT', 'Graphics.GL.Internal.Shared.GL_TEXTURE_WIDTH', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_WRAP_Q_SGIS', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_WRAP_R_EXT', 'Graphics.GL.Internal.Shared.GL_TEXTURE_WRAP_S', 'Graphics.GL.Internal.Shared.GL_TEXTURE_WRAP_T'.
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glGetTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetTexParameterIiv :: GLenum -> GLenum -> Ptr GLsizei -> m ()
glGetTexParameterIiv = FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
ffienumenumPtrintIOV FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetTexParameterIivFunPtr

glGetTexParameterIivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
glGetTexParameterIivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetTexParameterIivFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetTexParameterIiv")

{-# NOINLINE glGetTexParameterIivFunPtr #-}

-- | Usage: @'glGetTexParameterIuiv' target pname params@
--
-- The parameter @target@ is a @TextureTarget@, one of: 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_2D_SGIS', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_1D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_1D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_2D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_2D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_PROXY_TEXTURE_3D_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_PROXY_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_1D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_2D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_3D_EXT', 'Graphics.GL.Ext.OES.Texture3D.GL_TEXTURE_3D_OES', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BASE_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_BASE_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LOD_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MIN_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MIN_LOD_SGIS'.
--
-- The parameter @pname@ is a @GetTextureParameter@, one of: 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS', 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_LEVEL_SGIS', 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_MODE_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_TEXTURE_SELECT_SGIS', 'Graphics.GL.Ext.SGIS.GenerateMipmap.GL_GENERATE_MIPMAP_SGIS', 'Graphics.GL.Ext.SGIX.TextureScaleBias.GL_POST_TEXTURE_FILTER_BIAS_SGIX', 'Graphics.GL.Ext.SGIX.TextureScaleBias.GL_POST_TEXTURE_FILTER_SCALE_SGIX', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_QUAD_TEXTURE_SELECT_SGIS', 'Graphics.GL.Ext.SGIX.ShadowAmbient.GL_SHADOW_AMBIENT_SGIX', 'Graphics.GL.Ext.SGIS.SharpenTexture.GL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_4DSIZE_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_ALPHA_SIZE', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_BASE_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BLUE_SIZE', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BORDER', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BORDER_COLOR', 'Graphics.GL.Ext.NV.TextureBorderClamp.GL_TEXTURE_BORDER_COLOR_NV', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_CENTER_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_DEPTH_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_FRAME_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_OFFSET_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX', 'Graphics.GL.Ext.SGIX.Shadow.GL_TEXTURE_COMPARE_OPERATOR_SGIX', 'Graphics.GL.Ext.SGIX.Shadow.GL_TEXTURE_COMPARE_SGIX', 'Graphics.GL.Internal.Shared.GL_TEXTURE_COMPONENTS', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_DEPTH_EXT', 'Graphics.GL.Ext.SGIS.TextureFilter4.GL_TEXTURE_FILTER4_SIZE_SGIS', 'Graphics.GL.Ext.SGIX.Shadow.GL_TEXTURE_GEQUAL_R_SGIX', 'Graphics.GL.Internal.Shared.GL_TEXTURE_GREEN_SIZE', 'Graphics.GL.Internal.Shared.GL_TEXTURE_HEIGHT', 'Graphics.GL.Internal.Shared.GL_TEXTURE_INTENSITY_SIZE', 'Graphics.GL.Internal.Shared.GL_TEXTURE_INTERNAL_FORMAT', 'Graphics.GL.Ext.SGIX.Shadow.GL_TEXTURE_LEQUAL_R_SGIX', 'Graphics.GL.Ext.SGIX.TextureLodBias.GL_TEXTURE_LOD_BIAS_R_SGIX', 'Graphics.GL.Ext.SGIX.TextureLodBias.GL_TEXTURE_LOD_BIAS_S_SGIX', 'Graphics.GL.Ext.SGIX.TextureLodBias.GL_TEXTURE_LOD_BIAS_T_SGIX', 'Graphics.GL.Internal.Shared.GL_TEXTURE_LUMINANCE_SIZE', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAG_FILTER', 'Graphics.GL.Ext.SGIX.TextureCoordinateClamp.GL_TEXTURE_MAX_CLAMP_R_SGIX', 'Graphics.GL.Ext.SGIX.TextureCoordinateClamp.GL_TEXTURE_MAX_CLAMP_S_SGIX', 'Graphics.GL.Ext.SGIX.TextureCoordinateClamp.GL_TEXTURE_MAX_CLAMP_T_SGIX', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LEVEL_SGIS', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LOD_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MIN_FILTER', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MIN_LOD_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_PRIORITY', 'Graphics.GL.Internal.Shared.GL_TEXTURE_RED_SIZE', 'Graphics.GL.Internal.Shared.GL_TEXTURE_RESIDENT', 'Graphics.GL.Internal.Shared.GL_TEXTURE_WIDTH', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_WRAP_Q_SGIS', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_WRAP_R_EXT', 'Graphics.GL.Internal.Shared.GL_TEXTURE_WRAP_S', 'Graphics.GL.Internal.Shared.GL_TEXTURE_WRAP_T'.
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glGetTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()
glGetTexParameterIuiv :: GLenum -> GLenum -> Ptr GLenum -> m ()
glGetTexParameterIuiv = FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
-> GLenum -> GLenum -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
-> GLenum -> GLenum -> Ptr GLenum -> m ()
ffienumenumPtruintIOV FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
glGetTexParameterIuivFunPtr

glGetTexParameterIuivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLuint -> IO ())
glGetTexParameterIuivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
glGetTexParameterIuivFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetTexParameterIuiv")

{-# NOINLINE glGetTexParameterIuivFunPtr #-}

-- | Usage: @'glGetTexParameterfv' target pname params@
--
-- The parameter @target@ is a @TextureTarget@, one of: 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_2D_SGIS', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_1D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_1D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_2D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_2D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_PROXY_TEXTURE_3D_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_PROXY_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_1D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_2D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_3D_EXT', 'Graphics.GL.Ext.OES.Texture3D.GL_TEXTURE_3D_OES', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BASE_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_BASE_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LOD_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MIN_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MIN_LOD_SGIS'.
--
-- The parameter @pname@ is a @GetTextureParameter@, one of: 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS', 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_LEVEL_SGIS', 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_MODE_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_TEXTURE_SELECT_SGIS', 'Graphics.GL.Ext.SGIS.GenerateMipmap.GL_GENERATE_MIPMAP_SGIS', 'Graphics.GL.Ext.SGIX.TextureScaleBias.GL_POST_TEXTURE_FILTER_BIAS_SGIX', 'Graphics.GL.Ext.SGIX.TextureScaleBias.GL_POST_TEXTURE_FILTER_SCALE_SGIX', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_QUAD_TEXTURE_SELECT_SGIS', 'Graphics.GL.Ext.SGIX.ShadowAmbient.GL_SHADOW_AMBIENT_SGIX', 'Graphics.GL.Ext.SGIS.SharpenTexture.GL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_4DSIZE_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_ALPHA_SIZE', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_BASE_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BLUE_SIZE', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BORDER', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BORDER_COLOR', 'Graphics.GL.Ext.NV.TextureBorderClamp.GL_TEXTURE_BORDER_COLOR_NV', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_CENTER_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_DEPTH_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_FRAME_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_OFFSET_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX', 'Graphics.GL.Ext.SGIX.Shadow.GL_TEXTURE_COMPARE_OPERATOR_SGIX', 'Graphics.GL.Ext.SGIX.Shadow.GL_TEXTURE_COMPARE_SGIX', 'Graphics.GL.Internal.Shared.GL_TEXTURE_COMPONENTS', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_DEPTH_EXT', 'Graphics.GL.Ext.SGIS.TextureFilter4.GL_TEXTURE_FILTER4_SIZE_SGIS', 'Graphics.GL.Ext.SGIX.Shadow.GL_TEXTURE_GEQUAL_R_SGIX', 'Graphics.GL.Internal.Shared.GL_TEXTURE_GREEN_SIZE', 'Graphics.GL.Internal.Shared.GL_TEXTURE_HEIGHT', 'Graphics.GL.Internal.Shared.GL_TEXTURE_INTENSITY_SIZE', 'Graphics.GL.Internal.Shared.GL_TEXTURE_INTERNAL_FORMAT', 'Graphics.GL.Ext.SGIX.Shadow.GL_TEXTURE_LEQUAL_R_SGIX', 'Graphics.GL.Ext.SGIX.TextureLodBias.GL_TEXTURE_LOD_BIAS_R_SGIX', 'Graphics.GL.Ext.SGIX.TextureLodBias.GL_TEXTURE_LOD_BIAS_S_SGIX', 'Graphics.GL.Ext.SGIX.TextureLodBias.GL_TEXTURE_LOD_BIAS_T_SGIX', 'Graphics.GL.Internal.Shared.GL_TEXTURE_LUMINANCE_SIZE', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAG_FILTER', 'Graphics.GL.Ext.SGIX.TextureCoordinateClamp.GL_TEXTURE_MAX_CLAMP_R_SGIX', 'Graphics.GL.Ext.SGIX.TextureCoordinateClamp.GL_TEXTURE_MAX_CLAMP_S_SGIX', 'Graphics.GL.Ext.SGIX.TextureCoordinateClamp.GL_TEXTURE_MAX_CLAMP_T_SGIX', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LEVEL_SGIS', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LOD_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MIN_FILTER', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MIN_LOD_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_PRIORITY', 'Graphics.GL.Internal.Shared.GL_TEXTURE_RED_SIZE', 'Graphics.GL.Internal.Shared.GL_TEXTURE_RESIDENT', 'Graphics.GL.Internal.Shared.GL_TEXTURE_WIDTH', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_WRAP_Q_SGIS', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_WRAP_R_EXT', 'Graphics.GL.Internal.Shared.GL_TEXTURE_WRAP_S', 'Graphics.GL.Internal.Shared.GL_TEXTURE_WRAP_T'.
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glGetTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetTexParameterfv :: GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetTexParameterfv = FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> GLenum -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> GLenum -> Ptr GLfloat -> m ()
ffienumenumPtrfloatIOV FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glGetTexParameterfvFunPtr

glGetTexParameterfvFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glGetTexParameterfvFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glGetTexParameterfvFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetTexParameterfv")

{-# NOINLINE glGetTexParameterfvFunPtr #-}

-- | Usage: @'glGetTexParameteriv' target pname params@
--
-- The parameter @target@ is a @TextureTarget@, one of: 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_2D_SGIS', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_1D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_1D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_2D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_2D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_PROXY_TEXTURE_3D_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_PROXY_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_1D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_2D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_3D_EXT', 'Graphics.GL.Ext.OES.Texture3D.GL_TEXTURE_3D_OES', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BASE_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_BASE_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LOD_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MIN_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MIN_LOD_SGIS'.
--
-- The parameter @pname@ is a @GetTextureParameter@, one of: 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS', 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_LEVEL_SGIS', 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_MODE_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_TEXTURE_SELECT_SGIS', 'Graphics.GL.Ext.SGIS.GenerateMipmap.GL_GENERATE_MIPMAP_SGIS', 'Graphics.GL.Ext.SGIX.TextureScaleBias.GL_POST_TEXTURE_FILTER_BIAS_SGIX', 'Graphics.GL.Ext.SGIX.TextureScaleBias.GL_POST_TEXTURE_FILTER_SCALE_SGIX', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_QUAD_TEXTURE_SELECT_SGIS', 'Graphics.GL.Ext.SGIX.ShadowAmbient.GL_SHADOW_AMBIENT_SGIX', 'Graphics.GL.Ext.SGIS.SharpenTexture.GL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_4DSIZE_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_ALPHA_SIZE', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_BASE_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BLUE_SIZE', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BORDER', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BORDER_COLOR', 'Graphics.GL.Ext.NV.TextureBorderClamp.GL_TEXTURE_BORDER_COLOR_NV', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_CENTER_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_DEPTH_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_FRAME_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_OFFSET_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX', 'Graphics.GL.Ext.SGIX.Shadow.GL_TEXTURE_COMPARE_OPERATOR_SGIX', 'Graphics.GL.Ext.SGIX.Shadow.GL_TEXTURE_COMPARE_SGIX', 'Graphics.GL.Internal.Shared.GL_TEXTURE_COMPONENTS', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_DEPTH_EXT', 'Graphics.GL.Ext.SGIS.TextureFilter4.GL_TEXTURE_FILTER4_SIZE_SGIS', 'Graphics.GL.Ext.SGIX.Shadow.GL_TEXTURE_GEQUAL_R_SGIX', 'Graphics.GL.Internal.Shared.GL_TEXTURE_GREEN_SIZE', 'Graphics.GL.Internal.Shared.GL_TEXTURE_HEIGHT', 'Graphics.GL.Internal.Shared.GL_TEXTURE_INTENSITY_SIZE', 'Graphics.GL.Internal.Shared.GL_TEXTURE_INTERNAL_FORMAT', 'Graphics.GL.Ext.SGIX.Shadow.GL_TEXTURE_LEQUAL_R_SGIX', 'Graphics.GL.Ext.SGIX.TextureLodBias.GL_TEXTURE_LOD_BIAS_R_SGIX', 'Graphics.GL.Ext.SGIX.TextureLodBias.GL_TEXTURE_LOD_BIAS_S_SGIX', 'Graphics.GL.Ext.SGIX.TextureLodBias.GL_TEXTURE_LOD_BIAS_T_SGIX', 'Graphics.GL.Internal.Shared.GL_TEXTURE_LUMINANCE_SIZE', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAG_FILTER', 'Graphics.GL.Ext.SGIX.TextureCoordinateClamp.GL_TEXTURE_MAX_CLAMP_R_SGIX', 'Graphics.GL.Ext.SGIX.TextureCoordinateClamp.GL_TEXTURE_MAX_CLAMP_S_SGIX', 'Graphics.GL.Ext.SGIX.TextureCoordinateClamp.GL_TEXTURE_MAX_CLAMP_T_SGIX', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LEVEL_SGIS', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LOD_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MIN_FILTER', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MIN_LOD_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_PRIORITY', 'Graphics.GL.Internal.Shared.GL_TEXTURE_RED_SIZE', 'Graphics.GL.Internal.Shared.GL_TEXTURE_RESIDENT', 'Graphics.GL.Internal.Shared.GL_TEXTURE_WIDTH', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_WRAP_Q_SGIS', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_WRAP_R_EXT', 'Graphics.GL.Internal.Shared.GL_TEXTURE_WRAP_S', 'Graphics.GL.Internal.Shared.GL_TEXTURE_WRAP_T'.
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glGetTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetTexParameteriv :: GLenum -> GLenum -> Ptr GLsizei -> m ()
glGetTexParameteriv = FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
ffienumenumPtrintIOV FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetTexParameterivFunPtr

glGetTexParameterivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
glGetTexParameterivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetTexParameterivFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetTexParameteriv")

{-# NOINLINE glGetTexParameterivFunPtr #-}

-- | Usage: @'glGetTransformFeedbackVarying' program index bufSize length size type name@
--
-- The length of @length@ should be @1@.
--
-- The length of @size@ should be @1@.
--
-- The length of @type@ should be @1@.
--
-- The length of @name@ should be @bufSize@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glGetTransformFeedbackVarying.xhtml>


glGetTransformFeedbackVarying :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> m ()
glGetTransformFeedbackVarying :: GLenum
-> GLenum
-> GLsizei
-> Ptr GLsizei
-> Ptr GLsizei
-> Ptr GLenum
-> Ptr GLchar
-> m ()
glGetTransformFeedbackVarying = FunPtr
  (GLenum
   -> GLenum
   -> GLsizei
   -> Ptr GLsizei
   -> Ptr GLsizei
   -> Ptr GLenum
   -> Ptr GLchar
   -> IO ())
-> GLenum
-> GLenum
-> GLsizei
-> Ptr GLsizei
-> Ptr GLsizei
-> Ptr GLenum
-> Ptr GLchar
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLenum
   -> GLsizei
   -> Ptr GLsizei
   -> Ptr GLsizei
   -> Ptr GLenum
   -> Ptr GLchar
   -> IO ())
-> GLenum
-> GLenum
-> GLsizei
-> Ptr GLsizei
-> Ptr GLsizei
-> Ptr GLenum
-> Ptr GLchar
-> m ()
ffiuintuintsizeiPtrsizeiPtrsizeiPtrenumPtrcharIOV FunPtr
  (GLenum
   -> GLenum
   -> GLsizei
   -> Ptr GLsizei
   -> Ptr GLsizei
   -> Ptr GLenum
   -> Ptr GLchar
   -> IO ())
glGetTransformFeedbackVaryingFunPtr

glGetTransformFeedbackVaryingFunPtr :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> IO ())
glGetTransformFeedbackVaryingFunPtr :: FunPtr
  (GLenum
   -> GLenum
   -> GLsizei
   -> Ptr GLsizei
   -> Ptr GLsizei
   -> Ptr GLenum
   -> Ptr GLchar
   -> IO ())
glGetTransformFeedbackVaryingFunPtr = IO
  (FunPtr
     (GLenum
      -> GLenum
      -> GLsizei
      -> Ptr GLsizei
      -> Ptr GLsizei
      -> Ptr GLenum
      -> Ptr GLchar
      -> IO ()))
-> FunPtr
     (GLenum
      -> GLenum
      -> GLsizei
      -> Ptr GLsizei
      -> Ptr GLsizei
      -> Ptr GLenum
      -> Ptr GLchar
      -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLenum
         -> GLsizei
         -> Ptr GLsizei
         -> Ptr GLsizei
         -> Ptr GLenum
         -> Ptr GLchar
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetTransformFeedbackVarying")

{-# NOINLINE glGetTransformFeedbackVaryingFunPtr #-}

-- | Usage: @'glGetUniformBlockIndex' program uniformBlockName@
--
-- The length of @uniformBlockName@ should be @COMPSIZE()@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glGetUniformBlockIndex.xhtml>


glGetUniformBlockIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLuint
glGetUniformBlockIndex :: GLenum -> Ptr GLchar -> m GLenum
glGetUniformBlockIndex = FunPtr (GLenum -> Ptr GLchar -> IO GLenum)
-> GLenum -> Ptr GLchar -> m GLenum
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLchar -> IO GLenum)
-> GLenum -> Ptr GLchar -> m GLenum
ffiuintPtrcharIOuint FunPtr (GLenum -> Ptr GLchar -> IO GLenum)
glGetUniformBlockIndexFunPtr

glGetUniformBlockIndexFunPtr :: FunPtr (GLuint -> Ptr GLchar -> IO GLuint)
glGetUniformBlockIndexFunPtr :: FunPtr (GLenum -> Ptr GLchar -> IO GLenum)
glGetUniformBlockIndexFunPtr = IO (FunPtr (GLenum -> Ptr GLchar -> IO GLenum))
-> FunPtr (GLenum -> Ptr GLchar -> IO GLenum)
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLchar -> IO GLenum))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetUniformBlockIndex")

{-# NOINLINE glGetUniformBlockIndexFunPtr #-}

-- | Usage: @'glGetUniformIndices' program uniformCount uniformNames uniformIndices@
--
-- The length of @uniformNames@ should be @COMPSIZE(uniformCount)@.
--
-- The length of @uniformIndices@ should be @COMPSIZE(uniformCount)@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glGetUniformIndices.xhtml>


glGetUniformIndices :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> m ()
glGetUniformIndices :: GLenum -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLenum -> m ()
glGetUniformIndices = FunPtr
  (GLenum -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLenum -> IO ())
-> GLenum -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLenum -> IO ())
-> GLenum -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLenum -> m ()
ffiuintsizeiPtrPtrcharPtruintIOV FunPtr
  (GLenum -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLenum -> IO ())
glGetUniformIndicesFunPtr

glGetUniformIndicesFunPtr :: FunPtr (GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> IO ())
glGetUniformIndicesFunPtr :: FunPtr
  (GLenum -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLenum -> IO ())
glGetUniformIndicesFunPtr = IO
  (FunPtr
     (GLenum -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLenum -> IO ()))
-> FunPtr
     (GLenum -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetUniformIndices")

{-# NOINLINE glGetUniformIndicesFunPtr #-}

-- | Usage: @'glGetUniformLocation' program name@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glGetUniformLocation.xhtml>


glGetUniformLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint
glGetUniformLocation :: GLenum -> Ptr GLchar -> m GLsizei
glGetUniformLocation = FunPtr (GLenum -> Ptr GLchar -> IO GLsizei)
-> GLenum -> Ptr GLchar -> m GLsizei
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLchar -> IO GLsizei)
-> GLenum -> Ptr GLchar -> m GLsizei
ffiuintPtrcharIOint FunPtr (GLenum -> Ptr GLchar -> IO GLsizei)
glGetUniformLocationFunPtr

glGetUniformLocationFunPtr :: FunPtr (GLuint -> Ptr GLchar -> IO GLint)
glGetUniformLocationFunPtr :: FunPtr (GLenum -> Ptr GLchar -> IO GLsizei)
glGetUniformLocationFunPtr = IO (FunPtr (GLenum -> Ptr GLchar -> IO GLsizei))
-> FunPtr (GLenum -> Ptr GLchar -> IO GLsizei)
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLchar -> IO GLsizei))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetUniformLocation")

{-# NOINLINE glGetUniformLocationFunPtr #-}

-- | Usage: @'glGetUniformfv' program location params@
--
-- The length of @params@ should be @COMPSIZE(program,location)@.


glGetUniformfv :: MonadIO m => GLuint -> GLint -> Ptr GLfloat -> m ()
glGetUniformfv :: GLenum -> GLsizei -> Ptr GLfloat -> m ()
glGetUniformfv = FunPtr (GLenum -> GLsizei -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> Ptr GLfloat -> m ()
ffiuintintPtrfloatIOV FunPtr (GLenum -> GLsizei -> Ptr GLfloat -> IO ())
glGetUniformfvFunPtr

glGetUniformfvFunPtr :: FunPtr (GLuint -> GLint -> Ptr GLfloat -> IO ())
glGetUniformfvFunPtr :: FunPtr (GLenum -> GLsizei -> Ptr GLfloat -> IO ())
glGetUniformfvFunPtr = IO (FunPtr (GLenum -> GLsizei -> Ptr GLfloat -> IO ()))
-> FunPtr (GLenum -> GLsizei -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLsizei -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetUniformfv")

{-# NOINLINE glGetUniformfvFunPtr #-}

-- | Usage: @'glGetUniformiv' program location params@
--
-- The length of @params@ should be @COMPSIZE(program,location)@.


glGetUniformiv :: MonadIO m => GLuint -> GLint -> Ptr GLint -> m ()
glGetUniformiv :: GLenum -> GLsizei -> Ptr GLsizei -> m ()
glGetUniformiv = FunPtr (GLenum -> GLsizei -> Ptr GLsizei -> IO ())
-> GLenum -> GLsizei -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> Ptr GLsizei -> IO ())
-> GLenum -> GLsizei -> Ptr GLsizei -> m ()
ffiuintintPtrintIOV FunPtr (GLenum -> GLsizei -> Ptr GLsizei -> IO ())
glGetUniformivFunPtr

glGetUniformivFunPtr :: FunPtr (GLuint -> GLint -> Ptr GLint -> IO ())
glGetUniformivFunPtr :: FunPtr (GLenum -> GLsizei -> Ptr GLsizei -> IO ())
glGetUniformivFunPtr = IO (FunPtr (GLenum -> GLsizei -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLsizei -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLsizei -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetUniformiv")

{-# NOINLINE glGetUniformivFunPtr #-}

-- | Usage: @'glGetUniformuiv' program location params@
--
-- The length of @params@ should be @COMPSIZE(program,location)@.


glGetUniformuiv :: MonadIO m => GLuint -> GLint -> Ptr GLuint -> m ()
glGetUniformuiv :: GLenum -> GLsizei -> Ptr GLenum -> m ()
glGetUniformuiv = FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
-> GLenum -> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
-> GLenum -> GLsizei -> Ptr GLenum -> m ()
ffiuintintPtruintIOV FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
glGetUniformuivFunPtr

glGetUniformuivFunPtr :: FunPtr (GLuint -> GLint -> Ptr GLuint -> IO ())
glGetUniformuivFunPtr :: FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
glGetUniformuivFunPtr = IO (FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetUniformuiv")

{-# NOINLINE glGetUniformuivFunPtr #-}

-- | Usage: @'glGetVertexAttribIiv' index pname params@
--
-- The parameter @pname@ is a @VertexAttribEnum@.
--
-- The length of @params@ should be @1@.


glGetVertexAttribIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetVertexAttribIiv :: GLenum -> GLenum -> Ptr GLsizei -> m ()
glGetVertexAttribIiv = FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
ffiuintenumPtrintIOV FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetVertexAttribIivFunPtr

glGetVertexAttribIivFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
glGetVertexAttribIivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetVertexAttribIivFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetVertexAttribIiv")

{-# NOINLINE glGetVertexAttribIivFunPtr #-}

-- | Usage: @'glGetVertexAttribIuiv' index pname params@
--
-- The parameter @pname@ is a @VertexAttribEnum@.
--
-- The length of @params@ should be @1@.


glGetVertexAttribIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()
glGetVertexAttribIuiv :: GLenum -> GLenum -> Ptr GLenum -> m ()
glGetVertexAttribIuiv = FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
-> GLenum -> GLenum -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
-> GLenum -> GLenum -> Ptr GLenum -> m ()
ffiuintenumPtruintIOV FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
glGetVertexAttribIuivFunPtr

glGetVertexAttribIuivFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ())
glGetVertexAttribIuivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
glGetVertexAttribIuivFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetVertexAttribIuiv")

{-# NOINLINE glGetVertexAttribIuivFunPtr #-}

-- | Usage: @'glGetVertexAttribPointerv' index pname pointer@
--
-- The parameter @pname@ is a @VertexAttribPointerPropertyARB@.
--
-- The length of @pointer@ should be @1@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glGetVertexAttribPointerv.xhtml>


glGetVertexAttribPointerv :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr ()) -> m ()
glGetVertexAttribPointerv :: GLenum -> GLenum -> Ptr (Ptr ()) -> m ()
glGetVertexAttribPointerv = FunPtr (GLenum -> GLenum -> Ptr (Ptr ()) -> IO ())
-> GLenum -> GLenum -> Ptr (Ptr ()) -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr (Ptr ()) -> IO ())
-> GLenum -> GLenum -> Ptr (Ptr ()) -> m ()
ffiuintenumPtrPtrVIOV FunPtr (GLenum -> GLenum -> Ptr (Ptr ()) -> IO ())
glGetVertexAttribPointervFunPtr

glGetVertexAttribPointervFunPtr :: FunPtr (GLuint -> GLenum -> Ptr (Ptr ()) -> IO ())
glGetVertexAttribPointervFunPtr :: FunPtr (GLenum -> GLenum -> Ptr (Ptr ()) -> IO ())
glGetVertexAttribPointervFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr (Ptr ()) -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr (Ptr ()) -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr (Ptr ()) -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetVertexAttribPointerv")

{-# NOINLINE glGetVertexAttribPointervFunPtr #-}

-- | Usage: @'glGetVertexAttribdv' index pname params@
--
-- The parameter @pname@ is a @VertexAttribPropertyARB@.
--
-- The length of @params@ should be @4@.


glGetVertexAttribdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()
glGetVertexAttribdv :: GLenum -> GLenum -> Ptr GLdouble -> m ()
glGetVertexAttribdv = FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
-> GLenum -> GLenum -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
-> GLenum -> GLenum -> Ptr GLdouble -> m ()
ffiuintenumPtrdoubleIOV FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
glGetVertexAttribdvFunPtr

glGetVertexAttribdvFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLdouble -> IO ())
glGetVertexAttribdvFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
glGetVertexAttribdvFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetVertexAttribdv")

{-# NOINLINE glGetVertexAttribdvFunPtr #-}

-- | Usage: @'glGetVertexAttribfv' index pname params@
--
-- The parameter @pname@ is a @VertexAttribPropertyARB@.
--
-- The length of @params@ should be @4@.


glGetVertexAttribfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()
glGetVertexAttribfv :: GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetVertexAttribfv = FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> GLenum -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> GLenum -> Ptr GLfloat -> m ()
ffiuintenumPtrfloatIOV FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glGetVertexAttribfvFunPtr

glGetVertexAttribfvFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
glGetVertexAttribfvFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glGetVertexAttribfvFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetVertexAttribfv")

{-# NOINLINE glGetVertexAttribfvFunPtr #-}

-- | Usage: @'glGetVertexAttribiv' index pname params@
--
-- The parameter @pname@ is a @VertexAttribPropertyARB@.
--
-- The length of @params@ should be @4@.


glGetVertexAttribiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetVertexAttribiv :: GLenum -> GLenum -> Ptr GLsizei -> m ()
glGetVertexAttribiv = FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
ffiuintenumPtrintIOV FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetVertexAttribivFunPtr

glGetVertexAttribivFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
glGetVertexAttribivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetVertexAttribivFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetVertexAttribiv")

{-# NOINLINE glGetVertexAttribivFunPtr #-}

-- | Usage: @'glHint' target mode@
--
-- The parameter @target@ is a @HintTarget@, one of: 'Graphics.GL.Ext.PGI.MiscHints.GL_ALLOW_DRAW_FRG_HINT_PGI', 'Graphics.GL.Ext.PGI.MiscHints.GL_ALLOW_DRAW_MEM_HINT_PGI', 'Graphics.GL.Ext.PGI.MiscHints.GL_ALLOW_DRAW_OBJ_HINT_PGI', 'Graphics.GL.Ext.PGI.MiscHints.GL_ALLOW_DRAW_WIN_HINT_PGI', 'Graphics.GL.Ext.PGI.MiscHints.GL_ALWAYS_FAST_HINT_PGI', 'Graphics.GL.Ext.PGI.MiscHints.GL_ALWAYS_SOFT_HINT_PGI', 'Graphics.GL.Ext.PGI.MiscHints.GL_BACK_NORMALS_HINT_PGI', 'Graphics.GL.Ext.QCOM.BinningControl.GL_BINNING_CONTROL_HINT_QCOM', 'Graphics.GL.Ext.PGI.MiscHints.GL_CLIP_FAR_HINT_PGI', 'Graphics.GL.Ext.PGI.MiscHints.GL_CLIP_NEAR_HINT_PGI', 'Graphics.GL.Ext.EXT.ClipVolumeHint.GL_CLIP_VOLUME_CLIPPING_HINT_EXT', 'Graphics.GL.Ext.PGI.MiscHints.GL_CONSERVE_MEMORY_HINT_PGI', 'Graphics.GL.Ext.SGIX.ConvolutionAccuracy.GL_CONVOLUTION_HINT_SGIX', 'Graphics.GL.Internal.Shared.GL_FOG_HINT', 'Graphics.GL.Internal.Shared.GL_FRAGMENT_SHADER_DERIVATIVE_HINT', 'Graphics.GL.Ext.ARB.FragmentShader.GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB', 'Graphics.GL.Ext.OES.StandardDerivatives.GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES', 'Graphics.GL.Ext.PGI.MiscHints.GL_FULL_STIPPLE_HINT_PGI', 'Graphics.GL.Internal.Shared.GL_GENERATE_MIPMAP_HINT', 'Graphics.GL.Ext.SGIS.GenerateMipmap.GL_GENERATE_MIPMAP_HINT_SGIS', @GL_LINE_QUALITY_HINT_SGIX@, 'Graphics.GL.Internal.Shared.GL_LINE_SMOOTH_HINT', 'Graphics.GL.Ext.PGI.VertexHints.GL_MATERIAL_SIDE_HINT_PGI', 'Graphics.GL.Ext.PGI.VertexHints.GL_MAX_VERTEX_HINT_PGI', 'Graphics.GL.Ext.NV.MultisampleFilterHint.GL_MULTISAMPLE_FILTER_HINT_NV', 'Graphics.GL.Ext.PGI.MiscHints.GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI', 'Graphics.GL.Ext.PGI.MiscHints.GL_NATIVE_GRAPHICS_END_HINT_PGI', 'Graphics.GL.Ext.EXT.Cmyka.GL_PACK_CMYK_HINT_EXT', 'Graphics.GL.Internal.Shared.GL_PERSPECTIVE_CORRECTION_HINT', 'Graphics.GL.Ext.WIN.PhongShading.GL_PHONG_HINT_WIN', 'Graphics.GL.Internal.Shared.GL_POINT_SMOOTH_HINT', 'Graphics.GL.Internal.Shared.GL_POLYGON_SMOOTH_HINT', 'Graphics.GL.Ext.PGI.MiscHints.GL_PREFER_DOUBLEBUFFER_HINT_PGI', 'Graphics.GL.Internal.Shared.GL_PROGRAM_BINARY_RETRIEVABLE_HINT', 'Graphics.GL.Ext.PGI.MiscHints.GL_RECLAIM_MEMORY_HINT_PGI', 'Graphics.GL.Ext.SGIX.ScalebiasHint.GL_SCALEBIAS_HINT_SGIX', 'Graphics.GL.Ext.PGI.MiscHints.GL_STRICT_DEPTHFUNC_HINT_PGI', 'Graphics.GL.Ext.PGI.MiscHints.GL_STRICT_LIGHTING_HINT_PGI', 'Graphics.GL.Ext.PGI.MiscHints.GL_STRICT_SCISSOR_HINT_PGI', 'Graphics.GL.Internal.Shared.GL_TEXTURE_COMPRESSION_HINT', 'Graphics.GL.Ext.ARB.TextureCompression.GL_TEXTURE_COMPRESSION_HINT_ARB', 'Graphics.GL.Ext.SGIX.TextureMultiBuffer.GL_TEXTURE_MULTI_BUFFER_HINT_SGIX', 'Graphics.GL.Ext.APPLE.TextureRange.GL_TEXTURE_STORAGE_HINT_APPLE', 'Graphics.GL.Ext.APPLE.TransformHint.GL_TRANSFORM_HINT_APPLE', 'Graphics.GL.Ext.EXT.Cmyka.GL_UNPACK_CMYK_HINT_EXT', 'Graphics.GL.Ext.APPLE.VertexArrayRange.GL_VERTEX_ARRAY_STORAGE_HINT_APPLE', 'Graphics.GL.Ext.PGI.VertexHints.GL_VERTEX_CONSISTENT_HINT_PGI', 'Graphics.GL.Ext.PGI.VertexHints.GL_VERTEX_DATA_HINT_PGI', 'Graphics.GL.Ext.SGIX.VertexPreclip.GL_VERTEX_PRECLIP_HINT_SGIX', 'Graphics.GL.Ext.SGIX.VertexPreclip.GL_VERTEX_PRECLIP_SGIX', 'Graphics.GL.Ext.PGI.MiscHints.GL_WIDE_LINE_HINT_PGI'.
--
-- The parameter @mode@ is a @HintMode@, one of: 'Graphics.GL.Internal.Shared.GL_DONT_CARE', 'Graphics.GL.Internal.Shared.GL_FASTEST', 'Graphics.GL.Internal.Shared.GL_NICEST'.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glHint.xhtml>


glHint :: MonadIO m => GLenum -> GLenum -> m ()
glHint :: GLenum -> GLenum -> m ()
glHint = FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
ffienumenumIOV FunPtr (GLenum -> GLenum -> IO ())
glHintFunPtr

glHintFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glHintFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glHintFunPtr = IO (FunPtr (GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glHint")

{-# NOINLINE glHintFunPtr #-}

-- | Usage: @'glIsBuffer' buffer@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glIsBuffer.xhtml>


glIsBuffer :: MonadIO m => GLuint -> m GLboolean
glIsBuffer :: GLenum -> m GLboolean
glIsBuffer = FunPtr (GLenum -> IO GLboolean) -> GLenum -> m GLboolean
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO GLboolean) -> GLenum -> m GLboolean
ffiuintIOboolean FunPtr (GLenum -> IO GLboolean)
glIsBufferFunPtr

glIsBufferFunPtr :: FunPtr (GLuint -> IO GLboolean)
glIsBufferFunPtr :: FunPtr (GLenum -> IO GLboolean)
glIsBufferFunPtr = IO (FunPtr (GLenum -> IO GLboolean))
-> FunPtr (GLenum -> IO GLboolean)
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO GLboolean))
forall a. String -> IO (FunPtr a)
getProcAddress "glIsBuffer")

{-# NOINLINE glIsBufferFunPtr #-}

-- | Usage: @'glIsEnabled' cap@
--
-- The parameter @cap@ is a @EnableCap@, one of: 'Graphics.GL.Internal.Shared.GL_ALPHA_TEST', 'Graphics.GL.Ext.SGIX.AsyncPixel.GL_ASYNC_DRAW_PIXELS_SGIX', 'Graphics.GL.Ext.SGIX.AsyncHistogram.GL_ASYNC_HISTOGRAM_SGIX', 'Graphics.GL.Ext.SGIX.AsyncPixel.GL_ASYNC_READ_PIXELS_SGIX', 'Graphics.GL.Ext.SGIX.AsyncPixel.GL_ASYNC_TEX_IMAGE_SGIX', 'Graphics.GL.Internal.Shared.GL_AUTO_NORMAL', 'Graphics.GL.Internal.Shared.GL_BLEND', 'Graphics.GL.Ext.SGIX.CalligraphicFragment.GL_CALLIGRAPHIC_FRAGMENT_SGIX', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE0', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE1', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE2', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE3', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE4', 'Graphics.GL.Internal.Shared.GL_CLIP_PLANE5', 'Graphics.GL.Internal.Shared.GL_COLOR_ARRAY', 'Graphics.GL.Internal.Shared.GL_COLOR_LOGIC_OP', 'Graphics.GL.Internal.Shared.GL_COLOR_MATERIAL', 'Graphics.GL.Ext.SGI.ColorTable.GL_COLOR_TABLE_SGI', 'Graphics.GL.Ext.EXT.Convolution.GL_CONVOLUTION_1D_EXT', 'Graphics.GL.Ext.EXT.Convolution.GL_CONVOLUTION_2D_EXT', 'Graphics.GL.Internal.Shared.GL_CULL_FACE', 'Graphics.GL.Internal.Shared.GL_DEPTH_TEST', 'Graphics.GL.Internal.Shared.GL_DITHER', 'Graphics.GL.Internal.Shared.GL_EDGE_FLAG_ARRAY', 'Graphics.GL.Internal.Shared.GL_FOG', 'Graphics.GL.Ext.SGIX.FogOffset.GL_FOG_OFFSET_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_COLOR_MATERIAL_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT0_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT1_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT2_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT3_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT4_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT5_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT6_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT7_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHTING_SGIX', 'Graphics.GL.Ext.SGIX.Framezoom.GL_FRAMEZOOM_SGIX', 'Graphics.GL.Ext.EXT.Histogram.GL_HISTOGRAM_EXT', 'Graphics.GL.Internal.Shared.GL_INDEX_ARRAY', 'Graphics.GL.Internal.Shared.GL_INDEX_LOGIC_OP', 'Graphics.GL.Ext.SGIX.Interlace.GL_INTERLACE_SGIX', 'Graphics.GL.Ext.SGIX.IrInstrument1.GL_IR_INSTRUMENT1_SGIX', 'Graphics.GL.Internal.Shared.GL_LIGHT0', 'Graphics.GL.Internal.Shared.GL_LIGHT1', 'Graphics.GL.Internal.Shared.GL_LIGHT2', 'Graphics.GL.Internal.Shared.GL_LIGHT3', 'Graphics.GL.Internal.Shared.GL_LIGHT4', 'Graphics.GL.Internal.Shared.GL_LIGHT5', 'Graphics.GL.Internal.Shared.GL_LIGHT6', 'Graphics.GL.Internal.Shared.GL_LIGHT7', 'Graphics.GL.Internal.Shared.GL_LIGHTING', 'Graphics.GL.Internal.Shared.GL_LINE_SMOOTH', 'Graphics.GL.Internal.Shared.GL_LINE_STIPPLE', 'Graphics.GL.Internal.Shared.GL_MAP1_COLOR_4', 'Graphics.GL.Internal.Shared.GL_MAP1_INDEX', 'Graphics.GL.Internal.Shared.GL_MAP1_NORMAL', 'Graphics.GL.Internal.Shared.GL_MAP1_TEXTURE_COORD_1', 'Graphics.GL.Internal.Shared.GL_MAP1_TEXTURE_COORD_2', 'Graphics.GL.Internal.Shared.GL_MAP1_TEXTURE_COORD_3', 'Graphics.GL.Internal.Shared.GL_MAP1_TEXTURE_COORD_4', 'Graphics.GL.Internal.Shared.GL_MAP1_VERTEX_3', 'Graphics.GL.Internal.Shared.GL_MAP1_VERTEX_4', 'Graphics.GL.Internal.Shared.GL_MAP2_COLOR_4', 'Graphics.GL.Internal.Shared.GL_MAP2_INDEX', 'Graphics.GL.Internal.Shared.GL_MAP2_NORMAL', 'Graphics.GL.Internal.Shared.GL_MAP2_TEXTURE_COORD_1', 'Graphics.GL.Internal.Shared.GL_MAP2_TEXTURE_COORD_2', 'Graphics.GL.Internal.Shared.GL_MAP2_TEXTURE_COORD_3', 'Graphics.GL.Internal.Shared.GL_MAP2_TEXTURE_COORD_4', 'Graphics.GL.Internal.Shared.GL_MAP2_VERTEX_3', 'Graphics.GL.Internal.Shared.GL_MAP2_VERTEX_4', 'Graphics.GL.Ext.EXT.Histogram.GL_MINMAX_EXT', 'Graphics.GL.Ext.SGIS.Multisample.GL_MULTISAMPLE_SGIS', 'Graphics.GL.Internal.Shared.GL_NORMALIZE', 'Graphics.GL.Internal.Shared.GL_NORMAL_ARRAY', 'Graphics.GL.Ext.SGIS.PixelTexture.GL_PIXEL_TEXTURE_SGIS', 'Graphics.GL.Ext.SGIX.PixelTexture.GL_PIXEL_TEX_GEN_SGIX', 'Graphics.GL.Internal.Shared.GL_POINT_SMOOTH', 'Graphics.GL.Internal.Shared.GL_POLYGON_OFFSET_FILL', 'Graphics.GL.Internal.Shared.GL_POLYGON_OFFSET_LINE', 'Graphics.GL.Internal.Shared.GL_POLYGON_OFFSET_POINT', 'Graphics.GL.Internal.Shared.GL_POLYGON_SMOOTH', 'Graphics.GL.Internal.Shared.GL_POLYGON_STIPPLE', 'Graphics.GL.Ext.SGI.ColorTable.GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI', 'Graphics.GL.Ext.SGI.ColorTable.GL_POST_CONVOLUTION_COLOR_TABLE_SGI', 'Graphics.GL.Ext.SGIX.ReferencePlane.GL_REFERENCE_PLANE_SGIX', 'Graphics.GL.Ext.EXT.RescaleNormal.GL_RESCALE_NORMAL_EXT', 'Graphics.GL.Ext.SGIS.Multisample.GL_SAMPLE_ALPHA_TO_MASK_SGIS', 'Graphics.GL.Ext.SGIS.Multisample.GL_SAMPLE_ALPHA_TO_ONE_SGIS', 'Graphics.GL.Ext.SGIS.Multisample.GL_SAMPLE_MASK_SGIS', 'Graphics.GL.Internal.Shared.GL_SCISSOR_TEST', 'Graphics.GL.Ext.EXT.Convolution.GL_SEPARABLE_2D_EXT', 'Graphics.GL.Ext.EXT.SharedTexturePalette.GL_SHARED_TEXTURE_PALETTE_EXT', 'Graphics.GL.Ext.SGIX.Sprite.GL_SPRITE_SGIX', 'Graphics.GL.Internal.Shared.GL_STENCIL_TEST', 'Graphics.GL.Internal.Shared.GL_TEXTURE_1D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_2D', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_3D_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_4D_SGIS', 'Graphics.GL.Ext.SGI.TextureColorTable.GL_TEXTURE_COLOR_TABLE_SGI', 'Graphics.GL.Internal.Shared.GL_TEXTURE_COORD_ARRAY', 'Graphics.GL.Internal.Shared.GL_TEXTURE_GEN_Q', 'Graphics.GL.Internal.Shared.GL_TEXTURE_GEN_R', 'Graphics.GL.Internal.Shared.GL_TEXTURE_GEN_S', 'Graphics.GL.Internal.Shared.GL_TEXTURE_GEN_T', 'Graphics.GL.Internal.Shared.GL_VERTEX_ARRAY'.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glIsEnabled.xhtml>


glIsEnabled :: MonadIO m => GLenum -> m GLboolean
glIsEnabled :: GLenum -> m GLboolean
glIsEnabled = FunPtr (GLenum -> IO GLboolean) -> GLenum -> m GLboolean
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO GLboolean) -> GLenum -> m GLboolean
ffienumIOboolean FunPtr (GLenum -> IO GLboolean)
glIsEnabledFunPtr

glIsEnabledFunPtr :: FunPtr (GLenum -> IO GLboolean)
glIsEnabledFunPtr :: FunPtr (GLenum -> IO GLboolean)
glIsEnabledFunPtr = IO (FunPtr (GLenum -> IO GLboolean))
-> FunPtr (GLenum -> IO GLboolean)
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO GLboolean))
forall a. String -> IO (FunPtr a)
getProcAddress "glIsEnabled")

{-# NOINLINE glIsEnabledFunPtr #-}

-- | Usage: @'glIsEnabledi' target index@


glIsEnabledi :: MonadIO m => GLenum -> GLuint -> m GLboolean
glIsEnabledi :: GLenum -> GLenum -> m GLboolean
glIsEnabledi = FunPtr (GLenum -> GLenum -> IO GLboolean)
-> GLenum -> GLenum -> m GLboolean
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO GLboolean)
-> GLenum -> GLenum -> m GLboolean
ffienumuintIOboolean FunPtr (GLenum -> GLenum -> IO GLboolean)
glIsEnablediFunPtr

glIsEnablediFunPtr :: FunPtr (GLenum -> GLuint -> IO GLboolean)
glIsEnablediFunPtr :: FunPtr (GLenum -> GLenum -> IO GLboolean)
glIsEnablediFunPtr = IO (FunPtr (GLenum -> GLenum -> IO GLboolean))
-> FunPtr (GLenum -> GLenum -> IO GLboolean)
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO GLboolean))
forall a. String -> IO (FunPtr a)
getProcAddress "glIsEnabledi")

{-# NOINLINE glIsEnablediFunPtr #-}

-- | Usage: @'glIsFramebuffer' framebuffer@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glIsFramebuffer.xhtml>


glIsFramebuffer :: MonadIO m => GLuint -> m GLboolean
glIsFramebuffer :: GLenum -> m GLboolean
glIsFramebuffer = FunPtr (GLenum -> IO GLboolean) -> GLenum -> m GLboolean
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO GLboolean) -> GLenum -> m GLboolean
ffiuintIOboolean FunPtr (GLenum -> IO GLboolean)
glIsFramebufferFunPtr

glIsFramebufferFunPtr :: FunPtr (GLuint -> IO GLboolean)
glIsFramebufferFunPtr :: FunPtr (GLenum -> IO GLboolean)
glIsFramebufferFunPtr = IO (FunPtr (GLenum -> IO GLboolean))
-> FunPtr (GLenum -> IO GLboolean)
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO GLboolean))
forall a. String -> IO (FunPtr a)
getProcAddress "glIsFramebuffer")

{-# NOINLINE glIsFramebufferFunPtr #-}

-- | Usage: @'glIsProgram' program@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glIsProgram.xhtml>


glIsProgram :: MonadIO m => GLuint -> m GLboolean
glIsProgram :: GLenum -> m GLboolean
glIsProgram = FunPtr (GLenum -> IO GLboolean) -> GLenum -> m GLboolean
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO GLboolean) -> GLenum -> m GLboolean
ffiuintIOboolean FunPtr (GLenum -> IO GLboolean)
glIsProgramFunPtr

glIsProgramFunPtr :: FunPtr (GLuint -> IO GLboolean)
glIsProgramFunPtr :: FunPtr (GLenum -> IO GLboolean)
glIsProgramFunPtr = IO (FunPtr (GLenum -> IO GLboolean))
-> FunPtr (GLenum -> IO GLboolean)
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO GLboolean))
forall a. String -> IO (FunPtr a)
getProcAddress "glIsProgram")

{-# NOINLINE glIsProgramFunPtr #-}

-- | Usage: @'glIsQuery' id@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glIsQuery.xhtml>


glIsQuery :: MonadIO m => GLuint -> m GLboolean
glIsQuery :: GLenum -> m GLboolean
glIsQuery = FunPtr (GLenum -> IO GLboolean) -> GLenum -> m GLboolean
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO GLboolean) -> GLenum -> m GLboolean
ffiuintIOboolean FunPtr (GLenum -> IO GLboolean)
glIsQueryFunPtr

glIsQueryFunPtr :: FunPtr (GLuint -> IO GLboolean)
glIsQueryFunPtr :: FunPtr (GLenum -> IO GLboolean)
glIsQueryFunPtr = IO (FunPtr (GLenum -> IO GLboolean))
-> FunPtr (GLenum -> IO GLboolean)
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO GLboolean))
forall a. String -> IO (FunPtr a)
getProcAddress "glIsQuery")

{-# NOINLINE glIsQueryFunPtr #-}

-- | Usage: @'glIsRenderbuffer' renderbuffer@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glIsRenderbuffer.xhtml>


glIsRenderbuffer :: MonadIO m => GLuint -> m GLboolean
glIsRenderbuffer :: GLenum -> m GLboolean
glIsRenderbuffer = FunPtr (GLenum -> IO GLboolean) -> GLenum -> m GLboolean
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO GLboolean) -> GLenum -> m GLboolean
ffiuintIOboolean FunPtr (GLenum -> IO GLboolean)
glIsRenderbufferFunPtr

glIsRenderbufferFunPtr :: FunPtr (GLuint -> IO GLboolean)
glIsRenderbufferFunPtr :: FunPtr (GLenum -> IO GLboolean)
glIsRenderbufferFunPtr = IO (FunPtr (GLenum -> IO GLboolean))
-> FunPtr (GLenum -> IO GLboolean)
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO GLboolean))
forall a. String -> IO (FunPtr a)
getProcAddress "glIsRenderbuffer")

{-# NOINLINE glIsRenderbufferFunPtr #-}

-- | Usage: @'glIsShader' shader@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glIsShader.xhtml>


glIsShader :: MonadIO m => GLuint -> m GLboolean
glIsShader :: GLenum -> m GLboolean
glIsShader = FunPtr (GLenum -> IO GLboolean) -> GLenum -> m GLboolean
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO GLboolean) -> GLenum -> m GLboolean
ffiuintIOboolean FunPtr (GLenum -> IO GLboolean)
glIsShaderFunPtr

glIsShaderFunPtr :: FunPtr (GLuint -> IO GLboolean)
glIsShaderFunPtr :: FunPtr (GLenum -> IO GLboolean)
glIsShaderFunPtr = IO (FunPtr (GLenum -> IO GLboolean))
-> FunPtr (GLenum -> IO GLboolean)
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO GLboolean))
forall a. String -> IO (FunPtr a)
getProcAddress "glIsShader")

{-# NOINLINE glIsShaderFunPtr #-}

-- | Usage: @'glIsSync' sync@
--
-- The parameter @sync@ is a @sync@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glIsSync.xhtml>


glIsSync :: MonadIO m => GLsync -> m GLboolean
glIsSync :: Ptr () -> m GLboolean
glIsSync = FunPtr (Ptr () -> IO GLboolean) -> Ptr () -> m GLboolean
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr () -> IO GLboolean) -> Ptr () -> m GLboolean
ffisyncIOboolean FunPtr (Ptr () -> IO GLboolean)
glIsSyncFunPtr

glIsSyncFunPtr :: FunPtr (GLsync -> IO GLboolean)
glIsSyncFunPtr :: FunPtr (Ptr () -> IO GLboolean)
glIsSyncFunPtr = IO (FunPtr (Ptr () -> IO GLboolean))
-> FunPtr (Ptr () -> IO GLboolean)
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr () -> IO GLboolean))
forall a. String -> IO (FunPtr a)
getProcAddress "glIsSync")

{-# NOINLINE glIsSyncFunPtr #-}

-- | Usage: @'glIsTexture' texture@
--
-- The parameter @texture@ is a @Texture@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glIsTexture.xhtml>


glIsTexture :: MonadIO m => GLuint -> m GLboolean
glIsTexture :: GLenum -> m GLboolean
glIsTexture = FunPtr (GLenum -> IO GLboolean) -> GLenum -> m GLboolean
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO GLboolean) -> GLenum -> m GLboolean
ffiuintIOboolean FunPtr (GLenum -> IO GLboolean)
glIsTextureFunPtr

glIsTextureFunPtr :: FunPtr (GLuint -> IO GLboolean)
glIsTextureFunPtr :: FunPtr (GLenum -> IO GLboolean)
glIsTextureFunPtr = IO (FunPtr (GLenum -> IO GLboolean))
-> FunPtr (GLenum -> IO GLboolean)
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO GLboolean))
forall a. String -> IO (FunPtr a)
getProcAddress "glIsTexture")

{-# NOINLINE glIsTextureFunPtr #-}

-- | Usage: @'glIsVertexArray' array@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glIsVertexArray.xhtml>


glIsVertexArray :: MonadIO m => GLuint -> m GLboolean
glIsVertexArray :: GLenum -> m GLboolean
glIsVertexArray = FunPtr (GLenum -> IO GLboolean) -> GLenum -> m GLboolean
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO GLboolean) -> GLenum -> m GLboolean
ffiuintIOboolean FunPtr (GLenum -> IO GLboolean)
glIsVertexArrayFunPtr

glIsVertexArrayFunPtr :: FunPtr (GLuint -> IO GLboolean)
glIsVertexArrayFunPtr :: FunPtr (GLenum -> IO GLboolean)
glIsVertexArrayFunPtr = IO (FunPtr (GLenum -> IO GLboolean))
-> FunPtr (GLenum -> IO GLboolean)
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO GLboolean))
forall a. String -> IO (FunPtr a)
getProcAddress "glIsVertexArray")

{-# NOINLINE glIsVertexArrayFunPtr #-}

-- | Usage: @'glLineWidth' width@
--
-- The parameter @width@ is a @CheckedFloat32@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glLineWidth.xhtml>


glLineWidth :: MonadIO m => GLfloat -> m ()
glLineWidth :: GLfloat -> m ()
glLineWidth = FunPtr (GLfloat -> IO ()) -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLfloat -> IO ()) -> GLfloat -> m ()
ffifloatIOV FunPtr (GLfloat -> IO ())
glLineWidthFunPtr

glLineWidthFunPtr :: FunPtr (GLfloat -> IO ())
glLineWidthFunPtr :: FunPtr (GLfloat -> IO ())
glLineWidthFunPtr = IO (FunPtr (GLfloat -> IO ())) -> FunPtr (GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glLineWidth")

{-# NOINLINE glLineWidthFunPtr #-}

-- | Usage: @'glLinkProgram' program@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glLinkProgram.xhtml>


glLinkProgram :: MonadIO m => GLuint -> m ()
glLinkProgram :: GLenum -> m ()
glLinkProgram = FunPtr (GLenum -> IO ()) -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO ()) -> GLenum -> m ()
ffiuintIOV FunPtr (GLenum -> IO ())
glLinkProgramFunPtr

glLinkProgramFunPtr :: FunPtr (GLuint -> IO ())
glLinkProgramFunPtr :: FunPtr (GLenum -> IO ())
glLinkProgramFunPtr = IO (FunPtr (GLenum -> IO ())) -> FunPtr (GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glLinkProgram")

{-# NOINLINE glLinkProgramFunPtr #-}

-- | Usage: @'glLogicOp' opcode@
--
-- The parameter @opcode@ is a @LogicOp@, one of: 'Graphics.GL.Internal.Shared.GL_AND', 'Graphics.GL.Internal.Shared.GL_AND_INVERTED', 'Graphics.GL.Internal.Shared.GL_AND_REVERSE', 'Graphics.GL.Internal.Shared.GL_CLEAR', 'Graphics.GL.Internal.Shared.GL_COPY', 'Graphics.GL.Internal.Shared.GL_COPY_INVERTED', 'Graphics.GL.Internal.Shared.GL_EQUIV', 'Graphics.GL.Internal.Shared.GL_INVERT', 'Graphics.GL.Internal.Shared.GL_NAND', 'Graphics.GL.Internal.Shared.GL_NOOP', 'Graphics.GL.Internal.Shared.GL_NOR', 'Graphics.GL.Internal.Shared.GL_OR', 'Graphics.GL.Internal.Shared.GL_OR_INVERTED', 'Graphics.GL.Internal.Shared.GL_OR_REVERSE', 'Graphics.GL.Internal.Shared.GL_SET', 'Graphics.GL.Internal.Shared.GL_XOR'.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glLogicOp.xhtml>


glLogicOp :: MonadIO m => GLenum -> m ()
glLogicOp :: GLenum -> m ()
glLogicOp = FunPtr (GLenum -> IO ()) -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO ()) -> GLenum -> m ()
ffienumIOV FunPtr (GLenum -> IO ())
glLogicOpFunPtr

glLogicOpFunPtr :: FunPtr (GLenum -> IO ())
glLogicOpFunPtr :: FunPtr (GLenum -> IO ())
glLogicOpFunPtr = IO (FunPtr (GLenum -> IO ())) -> FunPtr (GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glLogicOp")

{-# NOINLINE glLogicOpFunPtr #-}

-- | Usage: @'glMapBuffer' target access@
--
-- The parameter @target@ is a @BufferTargetARB@.
--
-- The parameter @access@ is a @BufferAccessARB@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glMapBuffer.xhtml>


glMapBuffer :: MonadIO m => GLenum -> GLenum -> m (Ptr ())
glMapBuffer :: GLenum -> GLenum -> m (Ptr ())
glMapBuffer = FunPtr (GLenum -> GLenum -> IO (Ptr ()))
-> GLenum -> GLenum -> m (Ptr ())
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO (Ptr ()))
-> GLenum -> GLenum -> m (Ptr ())
ffienumenumIOPtrV FunPtr (GLenum -> GLenum -> IO (Ptr ()))
glMapBufferFunPtr

glMapBufferFunPtr :: FunPtr (GLenum -> GLenum -> IO (Ptr ()))
glMapBufferFunPtr :: FunPtr (GLenum -> GLenum -> IO (Ptr ()))
glMapBufferFunPtr = IO (FunPtr (GLenum -> GLenum -> IO (Ptr ())))
-> FunPtr (GLenum -> GLenum -> IO (Ptr ()))
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO (Ptr ())))
forall a. String -> IO (FunPtr a)
getProcAddress "glMapBuffer")

{-# NOINLINE glMapBufferFunPtr #-}

-- | Usage: @'glMapBufferRange' target offset length access@
--
-- The parameter @target@ is a @BufferTargetARB@.
--
-- The parameter @offset@ is a @BufferOffset@.
--
-- The parameter @length@ is a @BufferSize@.
--
-- The parameter @access@ is a @BufferAccessMask@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glMapBufferRange.xhtml>


glMapBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr ())
glMapBufferRange :: GLenum -> GLintptr -> GLintptr -> GLenum -> m (Ptr ())
glMapBufferRange = FunPtr (GLenum -> GLintptr -> GLintptr -> GLenum -> IO (Ptr ()))
-> GLenum -> GLintptr -> GLintptr -> GLenum -> m (Ptr ())
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLintptr -> GLintptr -> GLenum -> IO (Ptr ()))
-> GLenum -> GLintptr -> GLintptr -> GLenum -> m (Ptr ())
ffienumintptrsizeiptrbitfieldIOPtrV FunPtr (GLenum -> GLintptr -> GLintptr -> GLenum -> IO (Ptr ()))
glMapBufferRangeFunPtr

glMapBufferRangeFunPtr :: FunPtr (GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> IO (Ptr ()))
glMapBufferRangeFunPtr :: FunPtr (GLenum -> GLintptr -> GLintptr -> GLenum -> IO (Ptr ()))
glMapBufferRangeFunPtr = IO
  (FunPtr (GLenum -> GLintptr -> GLintptr -> GLenum -> IO (Ptr ())))
-> FunPtr (GLenum -> GLintptr -> GLintptr -> GLenum -> IO (Ptr ()))
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLintptr -> GLintptr -> GLenum -> IO (Ptr ())))
forall a. String -> IO (FunPtr a)
getProcAddress "glMapBufferRange")

{-# NOINLINE glMapBufferRangeFunPtr #-}

-- | Usage: @'glMultiDrawArrays' mode first count drawcount@
--
-- The parameter @mode@ is a @PrimitiveType@, one of: 'Graphics.GL.Internal.Shared.GL_LINES', 'Graphics.GL.Internal.Shared.GL_LINES_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_LINES_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_LINES_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_LINE_LOOP', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_LINE_STRIP_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_PATCHES', 'Graphics.GL.Ext.EXT.TessellationShader.GL_PATCHES_EXT', 'Graphics.GL.Internal.Shared.GL_POINTS', 'Graphics.GL.Internal.Shared.GL_POLYGON', 'Graphics.GL.Internal.Shared.GL_QUADS', 'Graphics.GL.Ext.EXT.TessellationShader.GL_QUADS_EXT', 'Graphics.GL.Internal.Shared.GL_QUAD_STRIP', 'Graphics.GL.Internal.Shared.GL_TRIANGLES', 'Graphics.GL.Internal.Shared.GL_TRIANGLES_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_TRIANGLES_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_TRIANGLES_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_FAN', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_TRIANGLE_STRIP_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP_ADJACENCY_EXT'.
--
-- The length of @first@ should be @COMPSIZE(count)@.
--
-- The length of @count@ should be @COMPSIZE(drawcount)@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glMultiDrawArrays.xhtml>


glMultiDrawArrays :: MonadIO m => GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()
glMultiDrawArrays :: GLenum -> Ptr GLsizei -> Ptr GLsizei -> GLsizei -> m ()
glMultiDrawArrays = FunPtr (GLenum -> Ptr GLsizei -> Ptr GLsizei -> GLsizei -> IO ())
-> GLenum -> Ptr GLsizei -> Ptr GLsizei -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLsizei -> Ptr GLsizei -> GLsizei -> IO ())
-> GLenum -> Ptr GLsizei -> Ptr GLsizei -> GLsizei -> m ()
ffienumPtrintPtrsizeisizeiIOV FunPtr (GLenum -> Ptr GLsizei -> Ptr GLsizei -> GLsizei -> IO ())
glMultiDrawArraysFunPtr

glMultiDrawArraysFunPtr :: FunPtr (GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> IO ())
glMultiDrawArraysFunPtr :: FunPtr (GLenum -> Ptr GLsizei -> Ptr GLsizei -> GLsizei -> IO ())
glMultiDrawArraysFunPtr = IO
  (FunPtr (GLenum -> Ptr GLsizei -> Ptr GLsizei -> GLsizei -> IO ()))
-> FunPtr
     (GLenum -> Ptr GLsizei -> Ptr GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> Ptr GLsizei -> Ptr GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMultiDrawArrays")

{-# NOINLINE glMultiDrawArraysFunPtr #-}

-- | Usage: @'glMultiDrawElements' mode count type indices drawcount@
--
-- The parameter @mode@ is a @PrimitiveType@, one of: 'Graphics.GL.Internal.Shared.GL_LINES', 'Graphics.GL.Internal.Shared.GL_LINES_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_LINES_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_LINES_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_LINE_LOOP', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_LINE_STRIP_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_PATCHES', 'Graphics.GL.Ext.EXT.TessellationShader.GL_PATCHES_EXT', 'Graphics.GL.Internal.Shared.GL_POINTS', 'Graphics.GL.Internal.Shared.GL_POLYGON', 'Graphics.GL.Internal.Shared.GL_QUADS', 'Graphics.GL.Ext.EXT.TessellationShader.GL_QUADS_EXT', 'Graphics.GL.Internal.Shared.GL_QUAD_STRIP', 'Graphics.GL.Internal.Shared.GL_TRIANGLES', 'Graphics.GL.Internal.Shared.GL_TRIANGLES_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_TRIANGLES_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_TRIANGLES_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_FAN', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_TRIANGLE_STRIP_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP_ADJACENCY_EXT'.
--
-- The parameter @type@ is a @DrawElementsType@.
--
-- The length of @count@ should be @COMPSIZE(drawcount)@.
--
-- The length of @indices@ should be @COMPSIZE(drawcount)@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glMultiDrawElements.xhtml>


glMultiDrawElements :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr ()) -> GLsizei -> m ()
glMultiDrawElements :: GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr ()) -> GLsizei -> m ()
glMultiDrawElements = FunPtr
  (GLenum
   -> Ptr GLsizei -> GLenum -> Ptr (Ptr ()) -> GLsizei -> IO ())
-> GLenum
-> Ptr GLsizei
-> GLenum
-> Ptr (Ptr ())
-> GLsizei
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> Ptr GLsizei -> GLenum -> Ptr (Ptr ()) -> GLsizei -> IO ())
-> GLenum
-> Ptr GLsizei
-> GLenum
-> Ptr (Ptr ())
-> GLsizei
-> m ()
ffienumPtrsizeienumPtrPtrVsizeiIOV FunPtr
  (GLenum
   -> Ptr GLsizei -> GLenum -> Ptr (Ptr ()) -> GLsizei -> IO ())
glMultiDrawElementsFunPtr

glMultiDrawElementsFunPtr :: FunPtr (GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr ()) -> GLsizei -> IO ())
glMultiDrawElementsFunPtr :: FunPtr
  (GLenum
   -> Ptr GLsizei -> GLenum -> Ptr (Ptr ()) -> GLsizei -> IO ())
glMultiDrawElementsFunPtr = IO
  (FunPtr
     (GLenum
      -> Ptr GLsizei -> GLenum -> Ptr (Ptr ()) -> GLsizei -> IO ()))
-> FunPtr
     (GLenum
      -> Ptr GLsizei -> GLenum -> Ptr (Ptr ()) -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> Ptr GLsizei -> GLenum -> Ptr (Ptr ()) -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMultiDrawElements")

{-# NOINLINE glMultiDrawElementsFunPtr #-}

-- | Usage: @'glMultiDrawElementsBaseVertex' mode count type indices drawcount basevertex@
--
-- The parameter @type@ is a @DrawElementsType@.
--
-- The length of @count@ should be @COMPSIZE(drawcount)@.
--
-- The length of @indices@ should be @COMPSIZE(drawcount)@.
--
-- The length of @basevertex@ should be @COMPSIZE(drawcount)@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glMultiDrawElementsBaseVertex.xhtml>


glMultiDrawElementsBaseVertex :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr ()) -> GLsizei -> Ptr GLint -> m ()
glMultiDrawElementsBaseVertex :: GLenum
-> Ptr GLsizei
-> GLenum
-> Ptr (Ptr ())
-> GLsizei
-> Ptr GLsizei
-> m ()
glMultiDrawElementsBaseVertex = FunPtr
  (GLenum
   -> Ptr GLsizei
   -> GLenum
   -> Ptr (Ptr ())
   -> GLsizei
   -> Ptr GLsizei
   -> IO ())
-> GLenum
-> Ptr GLsizei
-> GLenum
-> Ptr (Ptr ())
-> GLsizei
-> Ptr GLsizei
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> Ptr GLsizei
   -> GLenum
   -> Ptr (Ptr ())
   -> GLsizei
   -> Ptr GLsizei
   -> IO ())
-> GLenum
-> Ptr GLsizei
-> GLenum
-> Ptr (Ptr ())
-> GLsizei
-> Ptr GLsizei
-> m ()
ffienumPtrsizeienumPtrPtrVsizeiPtrintIOV FunPtr
  (GLenum
   -> Ptr GLsizei
   -> GLenum
   -> Ptr (Ptr ())
   -> GLsizei
   -> Ptr GLsizei
   -> IO ())
glMultiDrawElementsBaseVertexFunPtr

glMultiDrawElementsBaseVertexFunPtr :: FunPtr (GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr ()) -> GLsizei -> Ptr GLint -> IO ())
glMultiDrawElementsBaseVertexFunPtr :: FunPtr
  (GLenum
   -> Ptr GLsizei
   -> GLenum
   -> Ptr (Ptr ())
   -> GLsizei
   -> Ptr GLsizei
   -> IO ())
glMultiDrawElementsBaseVertexFunPtr = IO
  (FunPtr
     (GLenum
      -> Ptr GLsizei
      -> GLenum
      -> Ptr (Ptr ())
      -> GLsizei
      -> Ptr GLsizei
      -> IO ()))
-> FunPtr
     (GLenum
      -> Ptr GLsizei
      -> GLenum
      -> Ptr (Ptr ())
      -> GLsizei
      -> Ptr GLsizei
      -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> Ptr GLsizei
         -> GLenum
         -> Ptr (Ptr ())
         -> GLsizei
         -> Ptr GLsizei
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMultiDrawElementsBaseVertex")

{-# NOINLINE glMultiDrawElementsBaseVertexFunPtr #-}

-- | Usage: @'glPixelStoref' pname param@
--
-- The parameter @pname@ is a @PixelStoreParameter@, one of: 'Graphics.GL.Internal.Shared.GL_PACK_ALIGNMENT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_PACK_IMAGE_DEPTH_SGIS', 'Graphics.GL.Internal.Shared.GL_PACK_IMAGE_HEIGHT', 'Graphics.GL.Ext.EXT.Texture3D.GL_PACK_IMAGE_HEIGHT_EXT', 'Graphics.GL.Internal.Shared.GL_PACK_LSB_FIRST', 'Graphics.GL.Ext.OML.Resample.GL_PACK_RESAMPLE_OML', 'Graphics.GL.Ext.SGIX.Resample.GL_PACK_RESAMPLE_SGIX', 'Graphics.GL.Internal.Shared.GL_PACK_ROW_LENGTH', 'Graphics.GL.Internal.Shared.GL_PACK_SKIP_IMAGES', 'Graphics.GL.Ext.EXT.Texture3D.GL_PACK_SKIP_IMAGES_EXT', 'Graphics.GL.Internal.Shared.GL_PACK_SKIP_PIXELS', 'Graphics.GL.Internal.Shared.GL_PACK_SKIP_ROWS', 'Graphics.GL.Ext.SGIS.Texture4D.GL_PACK_SKIP_VOLUMES_SGIS', 'Graphics.GL.Ext.SGIX.Subsample.GL_PACK_SUBSAMPLE_RATE_SGIX', 'Graphics.GL.Internal.Shared.GL_PACK_SWAP_BYTES', 'Graphics.GL.Ext.SGIX.PixelTiles.GL_PIXEL_TILE_CACHE_SIZE_SGIX', 'Graphics.GL.Ext.SGIX.PixelTiles.GL_PIXEL_TILE_GRID_DEPTH_SGIX', 'Graphics.GL.Ext.SGIX.PixelTiles.GL_PIXEL_TILE_GRID_HEIGHT_SGIX', 'Graphics.GL.Ext.SGIX.PixelTiles.GL_PIXEL_TILE_GRID_WIDTH_SGIX', 'Graphics.GL.Ext.SGIX.PixelTiles.GL_PIXEL_TILE_HEIGHT_SGIX', 'Graphics.GL.Ext.SGIX.PixelTiles.GL_PIXEL_TILE_WIDTH_SGIX', 'Graphics.GL.Internal.Shared.GL_UNPACK_ALIGNMENT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_UNPACK_IMAGE_DEPTH_SGIS', 'Graphics.GL.Internal.Shared.GL_UNPACK_IMAGE_HEIGHT', 'Graphics.GL.Ext.EXT.Texture3D.GL_UNPACK_IMAGE_HEIGHT_EXT', 'Graphics.GL.Internal.Shared.GL_UNPACK_LSB_FIRST', 'Graphics.GL.Ext.OML.Resample.GL_UNPACK_RESAMPLE_OML', 'Graphics.GL.Ext.SGIX.Resample.GL_UNPACK_RESAMPLE_SGIX', 'Graphics.GL.Internal.Shared.GL_UNPACK_ROW_LENGTH', 'Graphics.GL.Ext.EXT.UnpackSubimage.GL_UNPACK_ROW_LENGTH_EXT', 'Graphics.GL.Internal.Shared.GL_UNPACK_SKIP_IMAGES', 'Graphics.GL.Ext.EXT.Texture3D.GL_UNPACK_SKIP_IMAGES_EXT', 'Graphics.GL.Internal.Shared.GL_UNPACK_SKIP_PIXELS', 'Graphics.GL.Ext.EXT.UnpackSubimage.GL_UNPACK_SKIP_PIXELS_EXT', 'Graphics.GL.Internal.Shared.GL_UNPACK_SKIP_ROWS', 'Graphics.GL.Ext.EXT.UnpackSubimage.GL_UNPACK_SKIP_ROWS_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_UNPACK_SKIP_VOLUMES_SGIS', 'Graphics.GL.Ext.SGIX.Subsample.GL_UNPACK_SUBSAMPLE_RATE_SGIX', 'Graphics.GL.Internal.Shared.GL_UNPACK_SWAP_BYTES'.
--
-- The parameter @param@ is a @CheckedFloat32@.


glPixelStoref :: MonadIO m => GLenum -> GLfloat -> m ()
glPixelStoref :: GLenum -> GLfloat -> m ()
glPixelStoref = FunPtr (GLenum -> GLfloat -> IO ()) -> GLenum -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLfloat -> IO ()) -> GLenum -> GLfloat -> m ()
ffienumfloatIOV FunPtr (GLenum -> GLfloat -> IO ())
glPixelStorefFunPtr

glPixelStorefFunPtr :: FunPtr (GLenum -> GLfloat -> IO ())
glPixelStorefFunPtr :: FunPtr (GLenum -> GLfloat -> IO ())
glPixelStorefFunPtr = IO (FunPtr (GLenum -> GLfloat -> IO ()))
-> FunPtr (GLenum -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glPixelStoref")

{-# NOINLINE glPixelStorefFunPtr #-}

-- | Usage: @'glPixelStorei' pname param@
--
-- The parameter @pname@ is a @PixelStoreParameter@, one of: 'Graphics.GL.Internal.Shared.GL_PACK_ALIGNMENT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_PACK_IMAGE_DEPTH_SGIS', 'Graphics.GL.Internal.Shared.GL_PACK_IMAGE_HEIGHT', 'Graphics.GL.Ext.EXT.Texture3D.GL_PACK_IMAGE_HEIGHT_EXT', 'Graphics.GL.Internal.Shared.GL_PACK_LSB_FIRST', 'Graphics.GL.Ext.OML.Resample.GL_PACK_RESAMPLE_OML', 'Graphics.GL.Ext.SGIX.Resample.GL_PACK_RESAMPLE_SGIX', 'Graphics.GL.Internal.Shared.GL_PACK_ROW_LENGTH', 'Graphics.GL.Internal.Shared.GL_PACK_SKIP_IMAGES', 'Graphics.GL.Ext.EXT.Texture3D.GL_PACK_SKIP_IMAGES_EXT', 'Graphics.GL.Internal.Shared.GL_PACK_SKIP_PIXELS', 'Graphics.GL.Internal.Shared.GL_PACK_SKIP_ROWS', 'Graphics.GL.Ext.SGIS.Texture4D.GL_PACK_SKIP_VOLUMES_SGIS', 'Graphics.GL.Ext.SGIX.Subsample.GL_PACK_SUBSAMPLE_RATE_SGIX', 'Graphics.GL.Internal.Shared.GL_PACK_SWAP_BYTES', 'Graphics.GL.Ext.SGIX.PixelTiles.GL_PIXEL_TILE_CACHE_SIZE_SGIX', 'Graphics.GL.Ext.SGIX.PixelTiles.GL_PIXEL_TILE_GRID_DEPTH_SGIX', 'Graphics.GL.Ext.SGIX.PixelTiles.GL_PIXEL_TILE_GRID_HEIGHT_SGIX', 'Graphics.GL.Ext.SGIX.PixelTiles.GL_PIXEL_TILE_GRID_WIDTH_SGIX', 'Graphics.GL.Ext.SGIX.PixelTiles.GL_PIXEL_TILE_HEIGHT_SGIX', 'Graphics.GL.Ext.SGIX.PixelTiles.GL_PIXEL_TILE_WIDTH_SGIX', 'Graphics.GL.Internal.Shared.GL_UNPACK_ALIGNMENT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_UNPACK_IMAGE_DEPTH_SGIS', 'Graphics.GL.Internal.Shared.GL_UNPACK_IMAGE_HEIGHT', 'Graphics.GL.Ext.EXT.Texture3D.GL_UNPACK_IMAGE_HEIGHT_EXT', 'Graphics.GL.Internal.Shared.GL_UNPACK_LSB_FIRST', 'Graphics.GL.Ext.OML.Resample.GL_UNPACK_RESAMPLE_OML', 'Graphics.GL.Ext.SGIX.Resample.GL_UNPACK_RESAMPLE_SGIX', 'Graphics.GL.Internal.Shared.GL_UNPACK_ROW_LENGTH', 'Graphics.GL.Ext.EXT.UnpackSubimage.GL_UNPACK_ROW_LENGTH_EXT', 'Graphics.GL.Internal.Shared.GL_UNPACK_SKIP_IMAGES', 'Graphics.GL.Ext.EXT.Texture3D.GL_UNPACK_SKIP_IMAGES_EXT', 'Graphics.GL.Internal.Shared.GL_UNPACK_SKIP_PIXELS', 'Graphics.GL.Ext.EXT.UnpackSubimage.GL_UNPACK_SKIP_PIXELS_EXT', 'Graphics.GL.Internal.Shared.GL_UNPACK_SKIP_ROWS', 'Graphics.GL.Ext.EXT.UnpackSubimage.GL_UNPACK_SKIP_ROWS_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_UNPACK_SKIP_VOLUMES_SGIS', 'Graphics.GL.Ext.SGIX.Subsample.GL_UNPACK_SUBSAMPLE_RATE_SGIX', 'Graphics.GL.Internal.Shared.GL_UNPACK_SWAP_BYTES'.
--
-- The parameter @param@ is a @CheckedInt32@.


glPixelStorei :: MonadIO m => GLenum -> GLint -> m ()
glPixelStorei :: GLenum -> GLsizei -> m ()
glPixelStorei = FunPtr (GLenum -> GLsizei -> IO ()) -> GLenum -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> IO ()) -> GLenum -> GLsizei -> m ()
ffienumintIOV FunPtr (GLenum -> GLsizei -> IO ())
glPixelStoreiFunPtr

glPixelStoreiFunPtr :: FunPtr (GLenum -> GLint -> IO ())
glPixelStoreiFunPtr :: FunPtr (GLenum -> GLsizei -> IO ())
glPixelStoreiFunPtr = IO (FunPtr (GLenum -> GLsizei -> IO ()))
-> FunPtr (GLenum -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glPixelStorei")

{-# NOINLINE glPixelStoreiFunPtr #-}

-- | Usage: @'glPointParameterf' pname param@
--
-- The parameter @pname@ is a @PointParameterNameARB@.
--
-- The parameter @param@ is a @CheckedFloat32@.


glPointParameterf :: MonadIO m => GLenum -> GLfloat -> m ()
glPointParameterf :: GLenum -> GLfloat -> m ()
glPointParameterf = FunPtr (GLenum -> GLfloat -> IO ()) -> GLenum -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLfloat -> IO ()) -> GLenum -> GLfloat -> m ()
ffienumfloatIOV FunPtr (GLenum -> GLfloat -> IO ())
glPointParameterfFunPtr

glPointParameterfFunPtr :: FunPtr (GLenum -> GLfloat -> IO ())
glPointParameterfFunPtr :: FunPtr (GLenum -> GLfloat -> IO ())
glPointParameterfFunPtr = IO (FunPtr (GLenum -> GLfloat -> IO ()))
-> FunPtr (GLenum -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glPointParameterf")

{-# NOINLINE glPointParameterfFunPtr #-}

-- | Usage: @'glPointParameterfv' pname params@
--
-- The parameter @pname@ is a @PointParameterNameARB@.
--
-- The parameter @params@ is a @CheckedFloat32@.
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glPointParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glPointParameterfv :: GLenum -> Ptr GLfloat -> m ()
glPointParameterfv = FunPtr (GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> Ptr GLfloat -> m ()
ffienumPtrfloatIOV FunPtr (GLenum -> Ptr GLfloat -> IO ())
glPointParameterfvFunPtr

glPointParameterfvFunPtr :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
glPointParameterfvFunPtr :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
glPointParameterfvFunPtr = IO (FunPtr (GLenum -> Ptr GLfloat -> IO ()))
-> FunPtr (GLenum -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glPointParameterfv")

{-# NOINLINE glPointParameterfvFunPtr #-}

-- | Usage: @'glPointParameteri' pname param@
--
-- The parameter @pname@ is a @PointParameterNameARB@.


glPointParameteri :: MonadIO m => GLenum -> GLint -> m ()
glPointParameteri :: GLenum -> GLsizei -> m ()
glPointParameteri = FunPtr (GLenum -> GLsizei -> IO ()) -> GLenum -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> IO ()) -> GLenum -> GLsizei -> m ()
ffienumintIOV FunPtr (GLenum -> GLsizei -> IO ())
glPointParameteriFunPtr

glPointParameteriFunPtr :: FunPtr (GLenum -> GLint -> IO ())
glPointParameteriFunPtr :: FunPtr (GLenum -> GLsizei -> IO ())
glPointParameteriFunPtr = IO (FunPtr (GLenum -> GLsizei -> IO ()))
-> FunPtr (GLenum -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glPointParameteri")

{-# NOINLINE glPointParameteriFunPtr #-}

-- | Usage: @'glPointParameteriv' pname params@
--
-- The parameter @pname@ is a @PointParameterNameARB@.
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glPointParameteriv :: MonadIO m => GLenum -> Ptr GLint -> m ()
glPointParameteriv :: GLenum -> Ptr GLsizei -> m ()
glPointParameteriv = FunPtr (GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> Ptr GLsizei -> m ()
ffienumPtrintIOV FunPtr (GLenum -> Ptr GLsizei -> IO ())
glPointParameterivFunPtr

glPointParameterivFunPtr :: FunPtr (GLenum -> Ptr GLint -> IO ())
glPointParameterivFunPtr :: FunPtr (GLenum -> Ptr GLsizei -> IO ())
glPointParameterivFunPtr = IO (FunPtr (GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glPointParameteriv")

{-# NOINLINE glPointParameterivFunPtr #-}

-- | Usage: @'glPointSize' size@
--
-- The parameter @size@ is a @CheckedFloat32@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glPointSize.xhtml>


glPointSize :: MonadIO m => GLfloat -> m ()
glPointSize :: GLfloat -> m ()
glPointSize = FunPtr (GLfloat -> IO ()) -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLfloat -> IO ()) -> GLfloat -> m ()
ffifloatIOV FunPtr (GLfloat -> IO ())
glPointSizeFunPtr

glPointSizeFunPtr :: FunPtr (GLfloat -> IO ())
glPointSizeFunPtr :: FunPtr (GLfloat -> IO ())
glPointSizeFunPtr = IO (FunPtr (GLfloat -> IO ())) -> FunPtr (GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glPointSize")

{-# NOINLINE glPointSizeFunPtr #-}

-- | Usage: @'glPolygonMode' face mode@
--
-- The parameter @face@ is a @MaterialFace@, one of: 'Graphics.GL.Internal.Shared.GL_BACK', 'Graphics.GL.Internal.Shared.GL_FRONT', 'Graphics.GL.Internal.Shared.GL_FRONT_AND_BACK'.
--
-- The parameter @mode@ is a @PolygonMode@, one of: 'Graphics.GL.Internal.Shared.GL_FILL', 'Graphics.GL.Internal.Shared.GL_LINE', 'Graphics.GL.Internal.Shared.GL_POINT'.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glPolygonMode.xhtml>


glPolygonMode :: MonadIO m => GLenum -> GLenum -> m ()
glPolygonMode :: GLenum -> GLenum -> m ()
glPolygonMode = FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
ffienumenumIOV FunPtr (GLenum -> GLenum -> IO ())
glPolygonModeFunPtr

glPolygonModeFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glPolygonModeFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glPolygonModeFunPtr = IO (FunPtr (GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glPolygonMode")

{-# NOINLINE glPolygonModeFunPtr #-}

-- | Usage: @'glPolygonOffset' factor units@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glPolygonOffset.xhtml>


glPolygonOffset :: MonadIO m => GLfloat -> GLfloat -> m ()
glPolygonOffset :: GLfloat -> GLfloat -> m ()
glPolygonOffset = FunPtr (GLfloat -> GLfloat -> IO ()) -> GLfloat -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLfloat -> GLfloat -> IO ()) -> GLfloat -> GLfloat -> m ()
ffifloatfloatIOV FunPtr (GLfloat -> GLfloat -> IO ())
glPolygonOffsetFunPtr

glPolygonOffsetFunPtr :: FunPtr (GLfloat -> GLfloat -> IO ())
glPolygonOffsetFunPtr :: FunPtr (GLfloat -> GLfloat -> IO ())
glPolygonOffsetFunPtr = IO (FunPtr (GLfloat -> GLfloat -> IO ()))
-> FunPtr (GLfloat -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLfloat -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glPolygonOffset")

{-# NOINLINE glPolygonOffsetFunPtr #-}

-- | Usage: @'glPrimitiveRestartIndex' index@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glPrimitiveRestartIndex.xhtml>


glPrimitiveRestartIndex :: MonadIO m => GLuint -> m ()
glPrimitiveRestartIndex :: GLenum -> m ()
glPrimitiveRestartIndex = FunPtr (GLenum -> IO ()) -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO ()) -> GLenum -> m ()
ffiuintIOV FunPtr (GLenum -> IO ())
glPrimitiveRestartIndexFunPtr

glPrimitiveRestartIndexFunPtr :: FunPtr (GLuint -> IO ())
glPrimitiveRestartIndexFunPtr :: FunPtr (GLenum -> IO ())
glPrimitiveRestartIndexFunPtr = IO (FunPtr (GLenum -> IO ())) -> FunPtr (GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glPrimitiveRestartIndex")

{-# NOINLINE glPrimitiveRestartIndexFunPtr #-}

-- | Usage: @'glProvokingVertex' mode@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glProvokingVertex.xhtml>


glProvokingVertex :: MonadIO m => GLenum -> m ()
glProvokingVertex :: GLenum -> m ()
glProvokingVertex = FunPtr (GLenum -> IO ()) -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO ()) -> GLenum -> m ()
ffienumIOV FunPtr (GLenum -> IO ())
glProvokingVertexFunPtr

glProvokingVertexFunPtr :: FunPtr (GLenum -> IO ())
glProvokingVertexFunPtr :: FunPtr (GLenum -> IO ())
glProvokingVertexFunPtr = IO (FunPtr (GLenum -> IO ())) -> FunPtr (GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProvokingVertex")

{-# NOINLINE glProvokingVertexFunPtr #-}

-- | Usage: @'glReadBuffer' src@
--
-- The parameter @src@ is a @ReadBufferMode@, one of: 'Graphics.GL.Internal.Shared.GL_AUX0', 'Graphics.GL.Internal.Shared.GL_AUX1', 'Graphics.GL.Internal.Shared.GL_AUX2', 'Graphics.GL.Internal.Shared.GL_AUX3', 'Graphics.GL.Internal.Shared.GL_BACK', 'Graphics.GL.Internal.Shared.GL_BACK_LEFT', 'Graphics.GL.Internal.Shared.GL_BACK_RIGHT', 'Graphics.GL.Internal.Shared.GL_FRONT', 'Graphics.GL.Internal.Shared.GL_FRONT_LEFT', 'Graphics.GL.Internal.Shared.GL_FRONT_RIGHT', 'Graphics.GL.Internal.Shared.GL_LEFT', 'Graphics.GL.Internal.Shared.GL_RIGHT'.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glReadBuffer.xhtml>


glReadBuffer :: MonadIO m => GLenum -> m ()
glReadBuffer :: GLenum -> m ()
glReadBuffer = FunPtr (GLenum -> IO ()) -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO ()) -> GLenum -> m ()
ffienumIOV FunPtr (GLenum -> IO ())
glReadBufferFunPtr

glReadBufferFunPtr :: FunPtr (GLenum -> IO ())
glReadBufferFunPtr :: FunPtr (GLenum -> IO ())
glReadBufferFunPtr = IO (FunPtr (GLenum -> IO ())) -> FunPtr (GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glReadBuffer")

{-# NOINLINE glReadBufferFunPtr #-}

-- | Usage: @'glReadPixels' x y width height format type pixels@
--
-- The parameter @x@ is a @WinCoord@.
--
-- The parameter @y@ is a @WinCoord@.
--
-- The parameter @format@ is a @PixelFormat@, one of: 'Graphics.GL.Ext.EXT.Abgr.GL_ABGR_EXT', 'Graphics.GL.Internal.Shared.GL_ALPHA', 'Graphics.GL.Internal.Shared.GL_BLUE', 'Graphics.GL.Ext.EXT.Cmyka.GL_CMYKA_EXT', 'Graphics.GL.Ext.EXT.Cmyka.GL_CMYK_EXT', 'Graphics.GL.Internal.Shared.GL_COLOR_INDEX', 'Graphics.GL.Internal.Shared.GL_DEPTH_COMPONENT', 'Graphics.GL.Internal.Shared.GL_GREEN', 'Graphics.GL.Internal.Shared.GL_LUMINANCE', 'Graphics.GL.Internal.Shared.GL_LUMINANCE_ALPHA', 'Graphics.GL.Internal.Shared.GL_RED', 'Graphics.GL.Ext.EXT.TextureRg.GL_RED_EXT', 'Graphics.GL.Internal.Shared.GL_RGB', 'Graphics.GL.Internal.Shared.GL_RGBA', 'Graphics.GL.Internal.Shared.GL_STENCIL_INDEX', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_INT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_SHORT', 'Graphics.GL.Ext.SGIX.Ycrcb.GL_YCRCB_422_SGIX', 'Graphics.GL.Ext.SGIX.Ycrcb.GL_YCRCB_444_SGIX'.
--
-- The parameter @type@ is a @PixelType@, one of: 'Graphics.GL.Internal.Shared.GL_BITMAP', 'Graphics.GL.Internal.Shared.GL_BYTE', 'Graphics.GL.Internal.Shared.GL_FLOAT', 'Graphics.GL.Internal.Shared.GL_INT', 'Graphics.GL.Internal.Shared.GL_SHORT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_BYTE', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_BYTE_3_3_2', 'Graphics.GL.Ext.EXT.PackedPixels.GL_UNSIGNED_BYTE_3_3_2_EXT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_INT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_INT_10_10_10_2', 'Graphics.GL.Ext.EXT.PackedPixels.GL_UNSIGNED_INT_10_10_10_2_EXT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_INT_8_8_8_8', 'Graphics.GL.Ext.EXT.PackedPixels.GL_UNSIGNED_INT_8_8_8_8_EXT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_SHORT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_SHORT_4_4_4_4', 'Graphics.GL.Ext.EXT.PackedPixels.GL_UNSIGNED_SHORT_4_4_4_4_EXT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_SHORT_5_5_5_1', 'Graphics.GL.Ext.EXT.PackedPixels.GL_UNSIGNED_SHORT_5_5_5_1_EXT'.
--
-- The length of @pixels@ should be @COMPSIZE(format,type,width,height)@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glReadPixels.xhtml>


glReadPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> m ()
glReadPixels :: GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLenum
-> Ptr ()
-> m ()
glReadPixels = FunPtr
  (GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> Ptr ()
   -> IO ())
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLenum
-> Ptr ()
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> Ptr ()
   -> IO ())
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLenum
-> Ptr ()
-> m ()
ffiintintsizeisizeienumenumPtrVIOV FunPtr
  (GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> Ptr ()
   -> IO ())
glReadPixelsFunPtr

glReadPixelsFunPtr :: FunPtr (GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ())
glReadPixelsFunPtr :: FunPtr
  (GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> Ptr ()
   -> IO ())
glReadPixelsFunPtr = IO
  (FunPtr
     (GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLenum
      -> GLenum
      -> Ptr ()
      -> IO ()))
-> FunPtr
     (GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLenum
      -> GLenum
      -> Ptr ()
      -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLenum
         -> GLenum
         -> Ptr ()
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glReadPixels")

{-# NOINLINE glReadPixelsFunPtr #-}

-- | Usage: @'glRenderbufferStorage' target internalformat width height@
--
-- The parameter @target@ is a @RenderbufferTarget@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glRenderbufferStorage.xhtml>


glRenderbufferStorage :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> m ()
glRenderbufferStorage :: GLenum -> GLenum -> GLsizei -> GLsizei -> m ()
glRenderbufferStorage = FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
-> GLenum -> GLenum -> GLsizei -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
-> GLenum -> GLenum -> GLsizei -> GLsizei -> m ()
ffienumenumsizeisizeiIOV FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
glRenderbufferStorageFunPtr

glRenderbufferStorageFunPtr :: FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
glRenderbufferStorageFunPtr :: FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
glRenderbufferStorageFunPtr = IO (FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glRenderbufferStorage")

{-# NOINLINE glRenderbufferStorageFunPtr #-}

-- | Usage: @'glRenderbufferStorageMultisample' target samples internalformat width height@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glRenderbufferStorageMultisample.xhtml>


glRenderbufferStorageMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()
glRenderbufferStorageMultisample :: GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()
glRenderbufferStorageMultisample = FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
-> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
-> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()
ffienumsizeienumsizeisizeiIOV FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
glRenderbufferStorageMultisampleFunPtr

glRenderbufferStorageMultisampleFunPtr :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
glRenderbufferStorageMultisampleFunPtr :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
glRenderbufferStorageMultisampleFunPtr = IO
  (FunPtr
     (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ()))
-> FunPtr
     (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glRenderbufferStorageMultisample")

{-# NOINLINE glRenderbufferStorageMultisampleFunPtr #-}

-- | Usage: @'glSampleCoverage' value invert@
--
-- The parameter @invert@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glSampleCoverage.xhtml>


glSampleCoverage :: MonadIO m => GLfloat -> GLboolean -> m ()
glSampleCoverage :: GLfloat -> GLboolean -> m ()
glSampleCoverage = FunPtr (GLfloat -> GLboolean -> IO ())
-> GLfloat -> GLboolean -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLfloat -> GLboolean -> IO ())
-> GLfloat -> GLboolean -> m ()
ffifloatbooleanIOV FunPtr (GLfloat -> GLboolean -> IO ())
glSampleCoverageFunPtr

glSampleCoverageFunPtr :: FunPtr (GLfloat -> GLboolean -> IO ())
glSampleCoverageFunPtr :: FunPtr (GLfloat -> GLboolean -> IO ())
glSampleCoverageFunPtr = IO (FunPtr (GLfloat -> GLboolean -> IO ()))
-> FunPtr (GLfloat -> GLboolean -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLfloat -> GLboolean -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glSampleCoverage")

{-# NOINLINE glSampleCoverageFunPtr #-}

-- | Usage: @'glSampleMaski' maskNumber mask@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glSampleMaski.xhtml>


glSampleMaski :: MonadIO m => GLuint -> GLbitfield -> m ()
glSampleMaski :: GLenum -> GLenum -> m ()
glSampleMaski = FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
ffiuintbitfieldIOV FunPtr (GLenum -> GLenum -> IO ())
glSampleMaskiFunPtr

glSampleMaskiFunPtr :: FunPtr (GLuint -> GLbitfield -> IO ())
glSampleMaskiFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glSampleMaskiFunPtr = IO (FunPtr (GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glSampleMaski")

{-# NOINLINE glSampleMaskiFunPtr #-}

-- | Usage: @'glScissor' x y width height@
--
-- The parameter @x@ is a @WinCoord@.
--
-- The parameter @y@ is a @WinCoord@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glScissor.xhtml>


glScissor :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()
glScissor :: GLsizei -> GLsizei -> GLsizei -> GLsizei -> m ()
glScissor = FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLsizei -> GLsizei -> GLsizei -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLsizei -> GLsizei -> GLsizei -> GLsizei -> m ()
ffiintintsizeisizeiIOV FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
glScissorFunPtr

glScissorFunPtr :: FunPtr (GLint -> GLint -> GLsizei -> GLsizei -> IO ())
glScissorFunPtr :: FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
glScissorFunPtr = IO (FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ()))
-> FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glScissor")

{-# NOINLINE glScissorFunPtr #-}

-- | Usage: @'glShaderSource' shader count string length@
--
-- The length of @string@ should be @count@.
--
-- The length of @length@ should be @count@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glShaderSource.xhtml>


glShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> m ()
glShaderSource :: GLenum -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLsizei -> m ()
glShaderSource = FunPtr
  (GLenum -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLsizei -> IO ())
-> GLenum -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLsizei -> IO ())
-> GLenum -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLsizei -> m ()
ffiuintsizeiPtrPtrcharPtrintIOV FunPtr
  (GLenum -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLsizei -> IO ())
glShaderSourceFunPtr

glShaderSourceFunPtr :: FunPtr (GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> IO ())
glShaderSourceFunPtr :: FunPtr
  (GLenum -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLsizei -> IO ())
glShaderSourceFunPtr = IO
  (FunPtr
     (GLenum -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLsizei -> IO ()))
-> FunPtr
     (GLenum -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glShaderSource")

{-# NOINLINE glShaderSourceFunPtr #-}

-- | Usage: @'glStencilFunc' func ref mask@
--
-- The parameter @func@ is a @StencilFunction@, one of: 'Graphics.GL.Internal.Shared.GL_ALWAYS', 'Graphics.GL.Internal.Shared.GL_EQUAL', 'Graphics.GL.Internal.Shared.GL_GEQUAL', 'Graphics.GL.Internal.Shared.GL_GREATER', 'Graphics.GL.Internal.Shared.GL_LEQUAL', 'Graphics.GL.Internal.Shared.GL_LESS', 'Graphics.GL.Internal.Shared.GL_NEVER', 'Graphics.GL.Internal.Shared.GL_NOTEQUAL'.
--
-- The parameter @ref@ is a @StencilValue@.
--
-- The parameter @mask@ is a @MaskedStencilValue@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glStencilFunc.xhtml>


glStencilFunc :: MonadIO m => GLenum -> GLint -> GLuint -> m ()
glStencilFunc :: GLenum -> GLsizei -> GLenum -> m ()
glStencilFunc = FunPtr (GLenum -> GLsizei -> GLenum -> IO ())
-> GLenum -> GLsizei -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLenum -> IO ())
-> GLenum -> GLsizei -> GLenum -> m ()
ffienumintuintIOV FunPtr (GLenum -> GLsizei -> GLenum -> IO ())
glStencilFuncFunPtr

glStencilFuncFunPtr :: FunPtr (GLenum -> GLint -> GLuint -> IO ())
glStencilFuncFunPtr :: FunPtr (GLenum -> GLsizei -> GLenum -> IO ())
glStencilFuncFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLsizei -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glStencilFunc")

{-# NOINLINE glStencilFuncFunPtr #-}

-- | Usage: @'glStencilFuncSeparate' face func ref mask@
--
-- The parameter @face@ is a @StencilFaceDirection@.
--
-- The parameter @func@ is a @StencilFunction@, one of: 'Graphics.GL.Internal.Shared.GL_ALWAYS', 'Graphics.GL.Internal.Shared.GL_EQUAL', 'Graphics.GL.Internal.Shared.GL_GEQUAL', 'Graphics.GL.Internal.Shared.GL_GREATER', 'Graphics.GL.Internal.Shared.GL_LEQUAL', 'Graphics.GL.Internal.Shared.GL_LESS', 'Graphics.GL.Internal.Shared.GL_NEVER', 'Graphics.GL.Internal.Shared.GL_NOTEQUAL'.
--
-- The parameter @ref@ is a @StencilValue@.
--
-- The parameter @mask@ is a @MaskedStencilValue@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glStencilFuncSeparate.xhtml>


glStencilFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLint -> GLuint -> m ()
glStencilFuncSeparate :: GLenum -> GLenum -> GLsizei -> GLenum -> m ()
glStencilFuncSeparate = FunPtr (GLenum -> GLenum -> GLsizei -> GLenum -> IO ())
-> GLenum -> GLenum -> GLsizei -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLsizei -> GLenum -> IO ())
-> GLenum -> GLenum -> GLsizei -> GLenum -> m ()
ffienumenumintuintIOV FunPtr (GLenum -> GLenum -> GLsizei -> GLenum -> IO ())
glStencilFuncSeparateFunPtr

glStencilFuncSeparateFunPtr :: FunPtr (GLenum -> GLenum -> GLint -> GLuint -> IO ())
glStencilFuncSeparateFunPtr :: FunPtr (GLenum -> GLenum -> GLsizei -> GLenum -> IO ())
glStencilFuncSeparateFunPtr = IO (FunPtr (GLenum -> GLenum -> GLsizei -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLsizei -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLenum -> GLsizei -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glStencilFuncSeparate")

{-# NOINLINE glStencilFuncSeparateFunPtr #-}

-- | Usage: @'glStencilMask' mask@
--
-- The parameter @mask@ is a @MaskedStencilValue@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glStencilMask.xhtml>


glStencilMask :: MonadIO m => GLuint -> m ()
glStencilMask :: GLenum -> m ()
glStencilMask = FunPtr (GLenum -> IO ()) -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO ()) -> GLenum -> m ()
ffiuintIOV FunPtr (GLenum -> IO ())
glStencilMaskFunPtr

glStencilMaskFunPtr :: FunPtr (GLuint -> IO ())
glStencilMaskFunPtr :: FunPtr (GLenum -> IO ())
glStencilMaskFunPtr = IO (FunPtr (GLenum -> IO ())) -> FunPtr (GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glStencilMask")

{-# NOINLINE glStencilMaskFunPtr #-}

-- | Usage: @'glStencilMaskSeparate' face mask@
--
-- The parameter @face@ is a @StencilFaceDirection@.
--
-- The parameter @mask@ is a @MaskedStencilValue@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glStencilMaskSeparate.xhtml>


glStencilMaskSeparate :: MonadIO m => GLenum -> GLuint -> m ()
glStencilMaskSeparate :: GLenum -> GLenum -> m ()
glStencilMaskSeparate = FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
ffienumuintIOV FunPtr (GLenum -> GLenum -> IO ())
glStencilMaskSeparateFunPtr

glStencilMaskSeparateFunPtr :: FunPtr (GLenum -> GLuint -> IO ())
glStencilMaskSeparateFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glStencilMaskSeparateFunPtr = IO (FunPtr (GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glStencilMaskSeparate")

{-# NOINLINE glStencilMaskSeparateFunPtr #-}

-- | Usage: @'glStencilOp' fail zfail zpass@
--
-- The parameter @fail@ is a @StencilOp@, one of: 'Graphics.GL.Internal.Shared.GL_DECR', 'Graphics.GL.Internal.Shared.GL_INCR', 'Graphics.GL.Internal.Shared.GL_INVERT', 'Graphics.GL.Internal.Shared.GL_KEEP', 'Graphics.GL.Internal.Shared.GL_REPLACE', 'Graphics.GL.Internal.Shared.GL_ZERO'.
--
-- The parameter @zfail@ is a @StencilOp@, one of: 'Graphics.GL.Internal.Shared.GL_DECR', 'Graphics.GL.Internal.Shared.GL_INCR', 'Graphics.GL.Internal.Shared.GL_INVERT', 'Graphics.GL.Internal.Shared.GL_KEEP', 'Graphics.GL.Internal.Shared.GL_REPLACE', 'Graphics.GL.Internal.Shared.GL_ZERO'.
--
-- The parameter @zpass@ is a @StencilOp@, one of: 'Graphics.GL.Internal.Shared.GL_DECR', 'Graphics.GL.Internal.Shared.GL_INCR', 'Graphics.GL.Internal.Shared.GL_INVERT', 'Graphics.GL.Internal.Shared.GL_KEEP', 'Graphics.GL.Internal.Shared.GL_REPLACE', 'Graphics.GL.Internal.Shared.GL_ZERO'.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glStencilOp.xhtml>


glStencilOp :: MonadIO m => GLenum -> GLenum -> GLenum -> m ()
glStencilOp :: GLenum -> GLenum -> GLenum -> m ()
glStencilOp = FunPtr (GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> m ()
ffienumenumenumIOV FunPtr (GLenum -> GLenum -> GLenum -> IO ())
glStencilOpFunPtr

glStencilOpFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> IO ())
glStencilOpFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> IO ())
glStencilOpFunPtr = IO (FunPtr (GLenum -> GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glStencilOp")

{-# NOINLINE glStencilOpFunPtr #-}

-- | Usage: @'glStencilOpSeparate' face sfail dpfail dppass@
--
-- The parameter @face@ is a @StencilFaceDirection@.
--
-- The parameter @sfail@ is a @StencilOp@, one of: 'Graphics.GL.Internal.Shared.GL_DECR', 'Graphics.GL.Internal.Shared.GL_INCR', 'Graphics.GL.Internal.Shared.GL_INVERT', 'Graphics.GL.Internal.Shared.GL_KEEP', 'Graphics.GL.Internal.Shared.GL_REPLACE', 'Graphics.GL.Internal.Shared.GL_ZERO'.
--
-- The parameter @dpfail@ is a @StencilOp@, one of: 'Graphics.GL.Internal.Shared.GL_DECR', 'Graphics.GL.Internal.Shared.GL_INCR', 'Graphics.GL.Internal.Shared.GL_INVERT', 'Graphics.GL.Internal.Shared.GL_KEEP', 'Graphics.GL.Internal.Shared.GL_REPLACE', 'Graphics.GL.Internal.Shared.GL_ZERO'.
--
-- The parameter @dppass@ is a @StencilOp@, one of: 'Graphics.GL.Internal.Shared.GL_DECR', 'Graphics.GL.Internal.Shared.GL_INCR', 'Graphics.GL.Internal.Shared.GL_INVERT', 'Graphics.GL.Internal.Shared.GL_KEEP', 'Graphics.GL.Internal.Shared.GL_REPLACE', 'Graphics.GL.Internal.Shared.GL_ZERO'.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glStencilOpSeparate.xhtml>


glStencilOpSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()
glStencilOpSeparate :: GLenum -> GLenum -> GLenum -> GLenum -> m ()
glStencilOpSeparate = FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> GLenum -> m ()
ffienumenumenumenumIOV FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
glStencilOpSeparateFunPtr

glStencilOpSeparateFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
glStencilOpSeparateFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
glStencilOpSeparateFunPtr = IO (FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glStencilOpSeparate")

{-# NOINLINE glStencilOpSeparateFunPtr #-}

-- | Usage: @'glTexBuffer' target internalformat buffer@
--
-- The parameter @target@ is a @TextureTarget@, one of: 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_2D_SGIS', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_1D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_1D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_2D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_2D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_PROXY_TEXTURE_3D_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_PROXY_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_1D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_2D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_3D_EXT', 'Graphics.GL.Ext.OES.Texture3D.GL_TEXTURE_3D_OES', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BASE_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_BASE_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LOD_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MIN_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MIN_LOD_SGIS'.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glTexBuffer.xhtml>


glTexBuffer :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()
glTexBuffer :: GLenum -> GLenum -> GLenum -> m ()
glTexBuffer = FunPtr (GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> m ()
ffienumenumuintIOV FunPtr (GLenum -> GLenum -> GLenum -> IO ())
glTexBufferFunPtr

glTexBufferFunPtr :: FunPtr (GLenum -> GLenum -> GLuint -> IO ())
glTexBufferFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> IO ())
glTexBufferFunPtr = IO (FunPtr (GLenum -> GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexBuffer")

{-# NOINLINE glTexBufferFunPtr #-}

-- | Usage: @'glTexImage1D' target level internalformat width border format type pixels@
--
-- The parameter @target@ is a @TextureTarget@, one of: 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_2D_SGIS', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_1D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_1D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_2D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_2D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_PROXY_TEXTURE_3D_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_PROXY_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_1D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_2D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_3D_EXT', 'Graphics.GL.Ext.OES.Texture3D.GL_TEXTURE_3D_OES', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BASE_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_BASE_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LOD_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MIN_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MIN_LOD_SGIS'.
--
-- The parameter @level@ is a @CheckedInt32@.
--
-- The parameter @internalformat@ is a @TextureComponentCount@.
--
-- The parameter @border@ is a @CheckedInt32@.
--
-- The parameter @format@ is a @PixelFormat@, one of: 'Graphics.GL.Ext.EXT.Abgr.GL_ABGR_EXT', 'Graphics.GL.Internal.Shared.GL_ALPHA', 'Graphics.GL.Internal.Shared.GL_BLUE', 'Graphics.GL.Ext.EXT.Cmyka.GL_CMYKA_EXT', 'Graphics.GL.Ext.EXT.Cmyka.GL_CMYK_EXT', 'Graphics.GL.Internal.Shared.GL_COLOR_INDEX', 'Graphics.GL.Internal.Shared.GL_DEPTH_COMPONENT', 'Graphics.GL.Internal.Shared.GL_GREEN', 'Graphics.GL.Internal.Shared.GL_LUMINANCE', 'Graphics.GL.Internal.Shared.GL_LUMINANCE_ALPHA', 'Graphics.GL.Internal.Shared.GL_RED', 'Graphics.GL.Ext.EXT.TextureRg.GL_RED_EXT', 'Graphics.GL.Internal.Shared.GL_RGB', 'Graphics.GL.Internal.Shared.GL_RGBA', 'Graphics.GL.Internal.Shared.GL_STENCIL_INDEX', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_INT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_SHORT', 'Graphics.GL.Ext.SGIX.Ycrcb.GL_YCRCB_422_SGIX', 'Graphics.GL.Ext.SGIX.Ycrcb.GL_YCRCB_444_SGIX'.
--
-- The parameter @type@ is a @PixelType@, one of: 'Graphics.GL.Internal.Shared.GL_BITMAP', 'Graphics.GL.Internal.Shared.GL_BYTE', 'Graphics.GL.Internal.Shared.GL_FLOAT', 'Graphics.GL.Internal.Shared.GL_INT', 'Graphics.GL.Internal.Shared.GL_SHORT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_BYTE', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_BYTE_3_3_2', 'Graphics.GL.Ext.EXT.PackedPixels.GL_UNSIGNED_BYTE_3_3_2_EXT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_INT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_INT_10_10_10_2', 'Graphics.GL.Ext.EXT.PackedPixels.GL_UNSIGNED_INT_10_10_10_2_EXT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_INT_8_8_8_8', 'Graphics.GL.Ext.EXT.PackedPixels.GL_UNSIGNED_INT_8_8_8_8_EXT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_SHORT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_SHORT_4_4_4_4', 'Graphics.GL.Ext.EXT.PackedPixels.GL_UNSIGNED_SHORT_4_4_4_4_EXT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_SHORT_5_5_5_1', 'Graphics.GL.Ext.EXT.PackedPixels.GL_UNSIGNED_SHORT_5_5_5_1_EXT'.
--
-- The length of @pixels@ should be @COMPSIZE(format,type,width)@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glTexImage1D.xhtml>


glTexImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> m ()
glTexImage1D :: GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLenum
-> Ptr ()
-> m ()
glTexImage1D = FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> Ptr ()
   -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLenum
-> Ptr ()
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> Ptr ()
   -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLenum
-> Ptr ()
-> m ()
ffienumintintsizeiintenumenumPtrVIOV FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> Ptr ()
   -> IO ())
glTexImage1DFunPtr

glTexImage1DFunPtr :: FunPtr (GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ())
glTexImage1DFunPtr :: FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> Ptr ()
   -> IO ())
glTexImage1DFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLenum
      -> GLenum
      -> Ptr ()
      -> IO ()))
-> FunPtr
     (GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLenum
      -> GLenum
      -> Ptr ()
      -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLenum
         -> GLenum
         -> Ptr ()
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexImage1D")

{-# NOINLINE glTexImage1DFunPtr #-}

-- | Usage: @'glTexImage2D' target level internalformat width height border format type pixels@
--
-- The parameter @target@ is a @TextureTarget@, one of: 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_2D_SGIS', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_1D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_1D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_2D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_2D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_PROXY_TEXTURE_3D_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_PROXY_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_1D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_2D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_3D_EXT', 'Graphics.GL.Ext.OES.Texture3D.GL_TEXTURE_3D_OES', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BASE_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_BASE_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LOD_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MIN_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MIN_LOD_SGIS'.
--
-- The parameter @level@ is a @CheckedInt32@.
--
-- The parameter @internalformat@ is a @TextureComponentCount@.
--
-- The parameter @border@ is a @CheckedInt32@.
--
-- The parameter @format@ is a @PixelFormat@, one of: 'Graphics.GL.Ext.EXT.Abgr.GL_ABGR_EXT', 'Graphics.GL.Internal.Shared.GL_ALPHA', 'Graphics.GL.Internal.Shared.GL_BLUE', 'Graphics.GL.Ext.EXT.Cmyka.GL_CMYKA_EXT', 'Graphics.GL.Ext.EXT.Cmyka.GL_CMYK_EXT', 'Graphics.GL.Internal.Shared.GL_COLOR_INDEX', 'Graphics.GL.Internal.Shared.GL_DEPTH_COMPONENT', 'Graphics.GL.Internal.Shared.GL_GREEN', 'Graphics.GL.Internal.Shared.GL_LUMINANCE', 'Graphics.GL.Internal.Shared.GL_LUMINANCE_ALPHA', 'Graphics.GL.Internal.Shared.GL_RED', 'Graphics.GL.Ext.EXT.TextureRg.GL_RED_EXT', 'Graphics.GL.Internal.Shared.GL_RGB', 'Graphics.GL.Internal.Shared.GL_RGBA', 'Graphics.GL.Internal.Shared.GL_STENCIL_INDEX', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_INT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_SHORT', 'Graphics.GL.Ext.SGIX.Ycrcb.GL_YCRCB_422_SGIX', 'Graphics.GL.Ext.SGIX.Ycrcb.GL_YCRCB_444_SGIX'.
--
-- The parameter @type@ is a @PixelType@, one of: 'Graphics.GL.Internal.Shared.GL_BITMAP', 'Graphics.GL.Internal.Shared.GL_BYTE', 'Graphics.GL.Internal.Shared.GL_FLOAT', 'Graphics.GL.Internal.Shared.GL_INT', 'Graphics.GL.Internal.Shared.GL_SHORT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_BYTE', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_BYTE_3_3_2', 'Graphics.GL.Ext.EXT.PackedPixels.GL_UNSIGNED_BYTE_3_3_2_EXT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_INT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_INT_10_10_10_2', 'Graphics.GL.Ext.EXT.PackedPixels.GL_UNSIGNED_INT_10_10_10_2_EXT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_INT_8_8_8_8', 'Graphics.GL.Ext.EXT.PackedPixels.GL_UNSIGNED_INT_8_8_8_8_EXT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_SHORT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_SHORT_4_4_4_4', 'Graphics.GL.Ext.EXT.PackedPixels.GL_UNSIGNED_SHORT_4_4_4_4_EXT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_SHORT_5_5_5_1', 'Graphics.GL.Ext.EXT.PackedPixels.GL_UNSIGNED_SHORT_5_5_5_1_EXT'.
--
-- The length of @pixels@ should be @COMPSIZE(format,type,width,height)@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glTexImage2D.xhtml>


glTexImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> m ()
glTexImage2D :: GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLenum
-> Ptr ()
-> m ()
glTexImage2D = FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> Ptr ()
   -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLenum
-> Ptr ()
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> Ptr ()
   -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLenum
-> Ptr ()
-> m ()
ffienumintintsizeisizeiintenumenumPtrVIOV FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> Ptr ()
   -> IO ())
glTexImage2DFunPtr

glTexImage2DFunPtr :: FunPtr (GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ())
glTexImage2DFunPtr :: FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> Ptr ()
   -> IO ())
glTexImage2DFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLenum
      -> GLenum
      -> Ptr ()
      -> IO ()))
-> FunPtr
     (GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLenum
      -> GLenum
      -> Ptr ()
      -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLenum
         -> GLenum
         -> Ptr ()
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexImage2D")

{-# NOINLINE glTexImage2DFunPtr #-}

-- | Usage: @'glTexImage2DMultisample' target samples internalformat width height fixedsamplelocations@
--
-- The parameter @fixedsamplelocations@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glTexImage2DMultisample.xhtml>


glTexImage2DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()
glTexImage2DMultisample :: GLenum
-> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()
glTexImage2DMultisample = FunPtr
  (GLenum
   -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ())
-> GLenum
-> GLsizei
-> GLenum
-> GLsizei
-> GLsizei
-> GLboolean
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ())
-> GLenum
-> GLsizei
-> GLenum
-> GLsizei
-> GLsizei
-> GLboolean
-> m ()
ffienumsizeienumsizeisizeibooleanIOV FunPtr
  (GLenum
   -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ())
glTexImage2DMultisampleFunPtr

glTexImage2DMultisampleFunPtr :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ())
glTexImage2DMultisampleFunPtr :: FunPtr
  (GLenum
   -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ())
glTexImage2DMultisampleFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ()))
-> FunPtr
     (GLenum
      -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexImage2DMultisample")

{-# NOINLINE glTexImage2DMultisampleFunPtr #-}

-- | Usage: @'glTexImage3D' target level internalformat width height depth border format type pixels@
--
-- The parameter @target@ is a @TextureTarget@, one of: 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_2D_SGIS', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_1D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_1D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_2D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_2D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_PROXY_TEXTURE_3D_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_PROXY_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_1D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_2D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_3D_EXT', 'Graphics.GL.Ext.OES.Texture3D.GL_TEXTURE_3D_OES', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BASE_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_BASE_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LOD_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MIN_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MIN_LOD_SGIS'.
--
-- The parameter @level@ is a @CheckedInt32@.
--
-- The parameter @internalformat@ is a @TextureComponentCount@.
--
-- The parameter @border@ is a @CheckedInt32@.
--
-- The parameter @format@ is a @PixelFormat@, one of: 'Graphics.GL.Ext.EXT.Abgr.GL_ABGR_EXT', 'Graphics.GL.Internal.Shared.GL_ALPHA', 'Graphics.GL.Internal.Shared.GL_BLUE', 'Graphics.GL.Ext.EXT.Cmyka.GL_CMYKA_EXT', 'Graphics.GL.Ext.EXT.Cmyka.GL_CMYK_EXT', 'Graphics.GL.Internal.Shared.GL_COLOR_INDEX', 'Graphics.GL.Internal.Shared.GL_DEPTH_COMPONENT', 'Graphics.GL.Internal.Shared.GL_GREEN', 'Graphics.GL.Internal.Shared.GL_LUMINANCE', 'Graphics.GL.Internal.Shared.GL_LUMINANCE_ALPHA', 'Graphics.GL.Internal.Shared.GL_RED', 'Graphics.GL.Ext.EXT.TextureRg.GL_RED_EXT', 'Graphics.GL.Internal.Shared.GL_RGB', 'Graphics.GL.Internal.Shared.GL_RGBA', 'Graphics.GL.Internal.Shared.GL_STENCIL_INDEX', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_INT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_SHORT', 'Graphics.GL.Ext.SGIX.Ycrcb.GL_YCRCB_422_SGIX', 'Graphics.GL.Ext.SGIX.Ycrcb.GL_YCRCB_444_SGIX'.
--
-- The parameter @type@ is a @PixelType@, one of: 'Graphics.GL.Internal.Shared.GL_BITMAP', 'Graphics.GL.Internal.Shared.GL_BYTE', 'Graphics.GL.Internal.Shared.GL_FLOAT', 'Graphics.GL.Internal.Shared.GL_INT', 'Graphics.GL.Internal.Shared.GL_SHORT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_BYTE', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_BYTE_3_3_2', 'Graphics.GL.Ext.EXT.PackedPixels.GL_UNSIGNED_BYTE_3_3_2_EXT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_INT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_INT_10_10_10_2', 'Graphics.GL.Ext.EXT.PackedPixels.GL_UNSIGNED_INT_10_10_10_2_EXT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_INT_8_8_8_8', 'Graphics.GL.Ext.EXT.PackedPixels.GL_UNSIGNED_INT_8_8_8_8_EXT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_SHORT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_SHORT_4_4_4_4', 'Graphics.GL.Ext.EXT.PackedPixels.GL_UNSIGNED_SHORT_4_4_4_4_EXT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_SHORT_5_5_5_1', 'Graphics.GL.Ext.EXT.PackedPixels.GL_UNSIGNED_SHORT_5_5_5_1_EXT'.
--
-- The length of @pixels@ should be @COMPSIZE(format,type,width,height,depth)@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glTexImage3D.xhtml>


glTexImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> m ()
glTexImage3D :: GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLenum
-> Ptr ()
-> m ()
glTexImage3D = FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> Ptr ()
   -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLenum
-> Ptr ()
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> Ptr ()
   -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLenum
-> Ptr ()
-> m ()
ffienumintintsizeisizeisizeiintenumenumPtrVIOV FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> Ptr ()
   -> IO ())
glTexImage3DFunPtr

glTexImage3DFunPtr :: FunPtr (GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ())
glTexImage3DFunPtr :: FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> Ptr ()
   -> IO ())
glTexImage3DFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLenum
      -> GLenum
      -> Ptr ()
      -> IO ()))
-> FunPtr
     (GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLenum
      -> GLenum
      -> Ptr ()
      -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLenum
         -> GLenum
         -> Ptr ()
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexImage3D")

{-# NOINLINE glTexImage3DFunPtr #-}

-- | Usage: @'glTexImage3DMultisample' target samples internalformat width height depth fixedsamplelocations@
--
-- The parameter @fixedsamplelocations@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glTexImage3DMultisample.xhtml>


glTexImage3DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()
glTexImage3DMultisample :: GLenum
-> GLsizei
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLboolean
-> m ()
glTexImage3DMultisample = FunPtr
  (GLenum
   -> GLsizei
   -> GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLboolean
   -> IO ())
-> GLenum
-> GLsizei
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLboolean
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei
   -> GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLboolean
   -> IO ())
-> GLenum
-> GLsizei
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLboolean
-> m ()
ffienumsizeienumsizeisizeisizeibooleanIOV FunPtr
  (GLenum
   -> GLsizei
   -> GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLboolean
   -> IO ())
glTexImage3DMultisampleFunPtr

glTexImage3DMultisampleFunPtr :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
glTexImage3DMultisampleFunPtr :: FunPtr
  (GLenum
   -> GLsizei
   -> GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLboolean
   -> IO ())
glTexImage3DMultisampleFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei
      -> GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLboolean
      -> IO ()))
-> FunPtr
     (GLenum
      -> GLsizei
      -> GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLboolean
      -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei
         -> GLenum
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLboolean
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexImage3DMultisample")

{-# NOINLINE glTexImage3DMultisampleFunPtr #-}

-- | Usage: @'glTexParameterIiv' target pname params@
--
-- The parameter @target@ is a @TextureTarget@, one of: 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_2D_SGIS', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_1D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_1D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_2D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_2D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_PROXY_TEXTURE_3D_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_PROXY_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_1D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_2D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_3D_EXT', 'Graphics.GL.Ext.OES.Texture3D.GL_TEXTURE_3D_OES', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BASE_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_BASE_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LOD_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MIN_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MIN_LOD_SGIS'.
--
-- The parameter @pname@ is a @TextureParameterName@, one of: 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_LEVEL_SGIS', 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_MODE_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_TEXTURE_SELECT_SGIS', 'Graphics.GL.Internal.Shared.GL_GENERATE_MIPMAP', 'Graphics.GL.Ext.SGIS.GenerateMipmap.GL_GENERATE_MIPMAP_SGIS', 'Graphics.GL.Ext.SGIX.TextureScaleBias.GL_POST_TEXTURE_FILTER_BIAS_SGIX', 'Graphics.GL.Ext.SGIX.TextureScaleBias.GL_POST_TEXTURE_FILTER_SCALE_SGIX', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_QUAD_TEXTURE_SELECT_SGIS', 'Graphics.GL.Ext.SGIX.ShadowAmbient.GL_SHADOW_AMBIENT_SGIX', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BORDER_COLOR', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_CENTER_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_DEPTH_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_FRAME_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_OFFSET_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX', 'Graphics.GL.Ext.SGIX.Shadow.GL_TEXTURE_COMPARE_SGIX', 'Graphics.GL.Ext.SGIX.TextureLodBias.GL_TEXTURE_LOD_BIAS_R_SGIX', 'Graphics.GL.Ext.SGIX.TextureLodBias.GL_TEXTURE_LOD_BIAS_S_SGIX', 'Graphics.GL.Ext.SGIX.TextureLodBias.GL_TEXTURE_LOD_BIAS_T_SGIX', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAG_FILTER', 'Graphics.GL.Ext.SGIX.TextureCoordinateClamp.GL_TEXTURE_MAX_CLAMP_R_SGIX', 'Graphics.GL.Ext.SGIX.TextureCoordinateClamp.GL_TEXTURE_MAX_CLAMP_S_SGIX', 'Graphics.GL.Ext.SGIX.TextureCoordinateClamp.GL_TEXTURE_MAX_CLAMP_T_SGIX', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MIN_FILTER', 'Graphics.GL.Internal.Shared.GL_TEXTURE_PRIORITY', 'Graphics.GL.Ext.EXT.TextureObject.GL_TEXTURE_PRIORITY_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_WRAP_Q_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_WRAP_R', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_WRAP_R_EXT', 'Graphics.GL.Ext.OES.Texture3D.GL_TEXTURE_WRAP_R_OES', 'Graphics.GL.Internal.Shared.GL_TEXTURE_WRAP_S', 'Graphics.GL.Internal.Shared.GL_TEXTURE_WRAP_T'.
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glTexParameterIiv :: GLenum -> GLenum -> Ptr GLsizei -> m ()
glTexParameterIiv = FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
ffienumenumPtrintIOV FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glTexParameterIivFunPtr

glTexParameterIivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
glTexParameterIivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glTexParameterIivFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexParameterIiv")

{-# NOINLINE glTexParameterIivFunPtr #-}

-- | Usage: @'glTexParameterIuiv' target pname params@
--
-- The parameter @target@ is a @TextureTarget@, one of: 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_2D_SGIS', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_1D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_1D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_2D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_2D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_PROXY_TEXTURE_3D_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_PROXY_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_1D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_2D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_3D_EXT', 'Graphics.GL.Ext.OES.Texture3D.GL_TEXTURE_3D_OES', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BASE_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_BASE_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LOD_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MIN_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MIN_LOD_SGIS'.
--
-- The parameter @pname@ is a @TextureParameterName@, one of: 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_LEVEL_SGIS', 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_MODE_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_TEXTURE_SELECT_SGIS', 'Graphics.GL.Internal.Shared.GL_GENERATE_MIPMAP', 'Graphics.GL.Ext.SGIS.GenerateMipmap.GL_GENERATE_MIPMAP_SGIS', 'Graphics.GL.Ext.SGIX.TextureScaleBias.GL_POST_TEXTURE_FILTER_BIAS_SGIX', 'Graphics.GL.Ext.SGIX.TextureScaleBias.GL_POST_TEXTURE_FILTER_SCALE_SGIX', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_QUAD_TEXTURE_SELECT_SGIS', 'Graphics.GL.Ext.SGIX.ShadowAmbient.GL_SHADOW_AMBIENT_SGIX', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BORDER_COLOR', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_CENTER_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_DEPTH_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_FRAME_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_OFFSET_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX', 'Graphics.GL.Ext.SGIX.Shadow.GL_TEXTURE_COMPARE_SGIX', 'Graphics.GL.Ext.SGIX.TextureLodBias.GL_TEXTURE_LOD_BIAS_R_SGIX', 'Graphics.GL.Ext.SGIX.TextureLodBias.GL_TEXTURE_LOD_BIAS_S_SGIX', 'Graphics.GL.Ext.SGIX.TextureLodBias.GL_TEXTURE_LOD_BIAS_T_SGIX', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAG_FILTER', 'Graphics.GL.Ext.SGIX.TextureCoordinateClamp.GL_TEXTURE_MAX_CLAMP_R_SGIX', 'Graphics.GL.Ext.SGIX.TextureCoordinateClamp.GL_TEXTURE_MAX_CLAMP_S_SGIX', 'Graphics.GL.Ext.SGIX.TextureCoordinateClamp.GL_TEXTURE_MAX_CLAMP_T_SGIX', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MIN_FILTER', 'Graphics.GL.Internal.Shared.GL_TEXTURE_PRIORITY', 'Graphics.GL.Ext.EXT.TextureObject.GL_TEXTURE_PRIORITY_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_WRAP_Q_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_WRAP_R', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_WRAP_R_EXT', 'Graphics.GL.Ext.OES.Texture3D.GL_TEXTURE_WRAP_R_OES', 'Graphics.GL.Internal.Shared.GL_TEXTURE_WRAP_S', 'Graphics.GL.Internal.Shared.GL_TEXTURE_WRAP_T'.
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()
glTexParameterIuiv :: GLenum -> GLenum -> Ptr GLenum -> m ()
glTexParameterIuiv = FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
-> GLenum -> GLenum -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
-> GLenum -> GLenum -> Ptr GLenum -> m ()
ffienumenumPtruintIOV FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
glTexParameterIuivFunPtr

glTexParameterIuivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLuint -> IO ())
glTexParameterIuivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
glTexParameterIuivFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexParameterIuiv")

{-# NOINLINE glTexParameterIuivFunPtr #-}

-- | Usage: @'glTexParameterf' target pname param@
--
-- The parameter @target@ is a @TextureTarget@, one of: 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_2D_SGIS', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_1D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_1D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_2D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_2D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_PROXY_TEXTURE_3D_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_PROXY_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_1D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_2D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_3D_EXT', 'Graphics.GL.Ext.OES.Texture3D.GL_TEXTURE_3D_OES', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BASE_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_BASE_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LOD_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MIN_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MIN_LOD_SGIS'.
--
-- The parameter @pname@ is a @TextureParameterName@, one of: 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_LEVEL_SGIS', 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_MODE_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_TEXTURE_SELECT_SGIS', 'Graphics.GL.Internal.Shared.GL_GENERATE_MIPMAP', 'Graphics.GL.Ext.SGIS.GenerateMipmap.GL_GENERATE_MIPMAP_SGIS', 'Graphics.GL.Ext.SGIX.TextureScaleBias.GL_POST_TEXTURE_FILTER_BIAS_SGIX', 'Graphics.GL.Ext.SGIX.TextureScaleBias.GL_POST_TEXTURE_FILTER_SCALE_SGIX', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_QUAD_TEXTURE_SELECT_SGIS', 'Graphics.GL.Ext.SGIX.ShadowAmbient.GL_SHADOW_AMBIENT_SGIX', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BORDER_COLOR', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_CENTER_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_DEPTH_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_FRAME_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_OFFSET_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX', 'Graphics.GL.Ext.SGIX.Shadow.GL_TEXTURE_COMPARE_SGIX', 'Graphics.GL.Ext.SGIX.TextureLodBias.GL_TEXTURE_LOD_BIAS_R_SGIX', 'Graphics.GL.Ext.SGIX.TextureLodBias.GL_TEXTURE_LOD_BIAS_S_SGIX', 'Graphics.GL.Ext.SGIX.TextureLodBias.GL_TEXTURE_LOD_BIAS_T_SGIX', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAG_FILTER', 'Graphics.GL.Ext.SGIX.TextureCoordinateClamp.GL_TEXTURE_MAX_CLAMP_R_SGIX', 'Graphics.GL.Ext.SGIX.TextureCoordinateClamp.GL_TEXTURE_MAX_CLAMP_S_SGIX', 'Graphics.GL.Ext.SGIX.TextureCoordinateClamp.GL_TEXTURE_MAX_CLAMP_T_SGIX', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MIN_FILTER', 'Graphics.GL.Internal.Shared.GL_TEXTURE_PRIORITY', 'Graphics.GL.Ext.EXT.TextureObject.GL_TEXTURE_PRIORITY_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_WRAP_Q_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_WRAP_R', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_WRAP_R_EXT', 'Graphics.GL.Ext.OES.Texture3D.GL_TEXTURE_WRAP_R_OES', 'Graphics.GL.Internal.Shared.GL_TEXTURE_WRAP_S', 'Graphics.GL.Internal.Shared.GL_TEXTURE_WRAP_T'.
--
-- The parameter @param@ is a @CheckedFloat32@.


glTexParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()
glTexParameterf :: GLenum -> GLenum -> GLfloat -> m ()
glTexParameterf = FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
-> GLenum -> GLenum -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
-> GLenum -> GLenum -> GLfloat -> m ()
ffienumenumfloatIOV FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
glTexParameterfFunPtr

glTexParameterfFunPtr :: FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
glTexParameterfFunPtr :: FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
glTexParameterfFunPtr = IO (FunPtr (GLenum -> GLenum -> GLfloat -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexParameterf")

{-# NOINLINE glTexParameterfFunPtr #-}

-- | Usage: @'glTexParameterfv' target pname params@
--
-- The parameter @target@ is a @TextureTarget@, one of: 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_2D_SGIS', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_1D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_1D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_2D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_2D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_PROXY_TEXTURE_3D_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_PROXY_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_1D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_2D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_3D_EXT', 'Graphics.GL.Ext.OES.Texture3D.GL_TEXTURE_3D_OES', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BASE_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_BASE_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LOD_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MIN_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MIN_LOD_SGIS'.
--
-- The parameter @pname@ is a @TextureParameterName@, one of: 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_LEVEL_SGIS', 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_MODE_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_TEXTURE_SELECT_SGIS', 'Graphics.GL.Internal.Shared.GL_GENERATE_MIPMAP', 'Graphics.GL.Ext.SGIS.GenerateMipmap.GL_GENERATE_MIPMAP_SGIS', 'Graphics.GL.Ext.SGIX.TextureScaleBias.GL_POST_TEXTURE_FILTER_BIAS_SGIX', 'Graphics.GL.Ext.SGIX.TextureScaleBias.GL_POST_TEXTURE_FILTER_SCALE_SGIX', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_QUAD_TEXTURE_SELECT_SGIS', 'Graphics.GL.Ext.SGIX.ShadowAmbient.GL_SHADOW_AMBIENT_SGIX', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BORDER_COLOR', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_CENTER_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_DEPTH_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_FRAME_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_OFFSET_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX', 'Graphics.GL.Ext.SGIX.Shadow.GL_TEXTURE_COMPARE_SGIX', 'Graphics.GL.Ext.SGIX.TextureLodBias.GL_TEXTURE_LOD_BIAS_R_SGIX', 'Graphics.GL.Ext.SGIX.TextureLodBias.GL_TEXTURE_LOD_BIAS_S_SGIX', 'Graphics.GL.Ext.SGIX.TextureLodBias.GL_TEXTURE_LOD_BIAS_T_SGIX', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAG_FILTER', 'Graphics.GL.Ext.SGIX.TextureCoordinateClamp.GL_TEXTURE_MAX_CLAMP_R_SGIX', 'Graphics.GL.Ext.SGIX.TextureCoordinateClamp.GL_TEXTURE_MAX_CLAMP_S_SGIX', 'Graphics.GL.Ext.SGIX.TextureCoordinateClamp.GL_TEXTURE_MAX_CLAMP_T_SGIX', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MIN_FILTER', 'Graphics.GL.Internal.Shared.GL_TEXTURE_PRIORITY', 'Graphics.GL.Ext.EXT.TextureObject.GL_TEXTURE_PRIORITY_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_WRAP_Q_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_WRAP_R', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_WRAP_R_EXT', 'Graphics.GL.Ext.OES.Texture3D.GL_TEXTURE_WRAP_R_OES', 'Graphics.GL.Internal.Shared.GL_TEXTURE_WRAP_S', 'Graphics.GL.Internal.Shared.GL_TEXTURE_WRAP_T'.
--
-- The parameter @params@ is a @CheckedFloat32@.
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glTexParameterfv :: GLenum -> GLenum -> Ptr GLfloat -> m ()
glTexParameterfv = FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> GLenum -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> GLenum -> Ptr GLfloat -> m ()
ffienumenumPtrfloatIOV FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glTexParameterfvFunPtr

glTexParameterfvFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glTexParameterfvFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glTexParameterfvFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexParameterfv")

{-# NOINLINE glTexParameterfvFunPtr #-}

-- | Usage: @'glTexParameteri' target pname param@
--
-- The parameter @target@ is a @TextureTarget@, one of: 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_2D_SGIS', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_1D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_1D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_2D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_2D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_PROXY_TEXTURE_3D_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_PROXY_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_1D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_2D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_3D_EXT', 'Graphics.GL.Ext.OES.Texture3D.GL_TEXTURE_3D_OES', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BASE_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_BASE_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LOD_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MIN_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MIN_LOD_SGIS'.
--
-- The parameter @pname@ is a @TextureParameterName@, one of: 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_LEVEL_SGIS', 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_MODE_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_TEXTURE_SELECT_SGIS', 'Graphics.GL.Internal.Shared.GL_GENERATE_MIPMAP', 'Graphics.GL.Ext.SGIS.GenerateMipmap.GL_GENERATE_MIPMAP_SGIS', 'Graphics.GL.Ext.SGIX.TextureScaleBias.GL_POST_TEXTURE_FILTER_BIAS_SGIX', 'Graphics.GL.Ext.SGIX.TextureScaleBias.GL_POST_TEXTURE_FILTER_SCALE_SGIX', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_QUAD_TEXTURE_SELECT_SGIS', 'Graphics.GL.Ext.SGIX.ShadowAmbient.GL_SHADOW_AMBIENT_SGIX', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BORDER_COLOR', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_CENTER_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_DEPTH_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_FRAME_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_OFFSET_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX', 'Graphics.GL.Ext.SGIX.Shadow.GL_TEXTURE_COMPARE_SGIX', 'Graphics.GL.Ext.SGIX.TextureLodBias.GL_TEXTURE_LOD_BIAS_R_SGIX', 'Graphics.GL.Ext.SGIX.TextureLodBias.GL_TEXTURE_LOD_BIAS_S_SGIX', 'Graphics.GL.Ext.SGIX.TextureLodBias.GL_TEXTURE_LOD_BIAS_T_SGIX', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAG_FILTER', 'Graphics.GL.Ext.SGIX.TextureCoordinateClamp.GL_TEXTURE_MAX_CLAMP_R_SGIX', 'Graphics.GL.Ext.SGIX.TextureCoordinateClamp.GL_TEXTURE_MAX_CLAMP_S_SGIX', 'Graphics.GL.Ext.SGIX.TextureCoordinateClamp.GL_TEXTURE_MAX_CLAMP_T_SGIX', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MIN_FILTER', 'Graphics.GL.Internal.Shared.GL_TEXTURE_PRIORITY', 'Graphics.GL.Ext.EXT.TextureObject.GL_TEXTURE_PRIORITY_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_WRAP_Q_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_WRAP_R', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_WRAP_R_EXT', 'Graphics.GL.Ext.OES.Texture3D.GL_TEXTURE_WRAP_R_OES', 'Graphics.GL.Internal.Shared.GL_TEXTURE_WRAP_S', 'Graphics.GL.Internal.Shared.GL_TEXTURE_WRAP_T'.
--
-- The parameter @param@ is a @CheckedInt32@.


glTexParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()
glTexParameteri :: GLenum -> GLenum -> GLsizei -> m ()
glTexParameteri = FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
-> GLenum -> GLenum -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
-> GLenum -> GLenum -> GLsizei -> m ()
ffienumenumintIOV FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
glTexParameteriFunPtr

glTexParameteriFunPtr :: FunPtr (GLenum -> GLenum -> GLint -> IO ())
glTexParameteriFunPtr :: FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
glTexParameteriFunPtr = IO (FunPtr (GLenum -> GLenum -> GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexParameteri")

{-# NOINLINE glTexParameteriFunPtr #-}

-- | Usage: @'glTexParameteriv' target pname params@
--
-- The parameter @target@ is a @TextureTarget@, one of: 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_2D_SGIS', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_1D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_1D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_2D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_2D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_PROXY_TEXTURE_3D_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_PROXY_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_1D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_2D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_3D_EXT', 'Graphics.GL.Ext.OES.Texture3D.GL_TEXTURE_3D_OES', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BASE_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_BASE_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LOD_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MIN_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MIN_LOD_SGIS'.
--
-- The parameter @pname@ is a @TextureParameterName@, one of: 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_LEVEL_SGIS', 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_MODE_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_TEXTURE_SELECT_SGIS', 'Graphics.GL.Internal.Shared.GL_GENERATE_MIPMAP', 'Graphics.GL.Ext.SGIS.GenerateMipmap.GL_GENERATE_MIPMAP_SGIS', 'Graphics.GL.Ext.SGIX.TextureScaleBias.GL_POST_TEXTURE_FILTER_BIAS_SGIX', 'Graphics.GL.Ext.SGIX.TextureScaleBias.GL_POST_TEXTURE_FILTER_SCALE_SGIX', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_QUAD_TEXTURE_SELECT_SGIS', 'Graphics.GL.Ext.SGIX.ShadowAmbient.GL_SHADOW_AMBIENT_SGIX', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BORDER_COLOR', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_CENTER_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_DEPTH_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_FRAME_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_OFFSET_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX', 'Graphics.GL.Ext.SGIX.Shadow.GL_TEXTURE_COMPARE_SGIX', 'Graphics.GL.Ext.SGIX.TextureLodBias.GL_TEXTURE_LOD_BIAS_R_SGIX', 'Graphics.GL.Ext.SGIX.TextureLodBias.GL_TEXTURE_LOD_BIAS_S_SGIX', 'Graphics.GL.Ext.SGIX.TextureLodBias.GL_TEXTURE_LOD_BIAS_T_SGIX', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAG_FILTER', 'Graphics.GL.Ext.SGIX.TextureCoordinateClamp.GL_TEXTURE_MAX_CLAMP_R_SGIX', 'Graphics.GL.Ext.SGIX.TextureCoordinateClamp.GL_TEXTURE_MAX_CLAMP_S_SGIX', 'Graphics.GL.Ext.SGIX.TextureCoordinateClamp.GL_TEXTURE_MAX_CLAMP_T_SGIX', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MIN_FILTER', 'Graphics.GL.Internal.Shared.GL_TEXTURE_PRIORITY', 'Graphics.GL.Ext.EXT.TextureObject.GL_TEXTURE_PRIORITY_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_WRAP_Q_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_WRAP_R', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_WRAP_R_EXT', 'Graphics.GL.Ext.OES.Texture3D.GL_TEXTURE_WRAP_R_OES', 'Graphics.GL.Internal.Shared.GL_TEXTURE_WRAP_S', 'Graphics.GL.Internal.Shared.GL_TEXTURE_WRAP_T'.
--
-- The parameter @params@ is a @CheckedInt32@.
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glTexParameteriv :: GLenum -> GLenum -> Ptr GLsizei -> m ()
glTexParameteriv = FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
ffienumenumPtrintIOV FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glTexParameterivFunPtr

glTexParameterivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
glTexParameterivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glTexParameterivFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexParameteriv")

{-# NOINLINE glTexParameterivFunPtr #-}

-- | Usage: @'glTexSubImage1D' target level xoffset width format type pixels@
--
-- The parameter @target@ is a @TextureTarget@, one of: 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_2D_SGIS', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_1D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_1D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_2D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_2D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_PROXY_TEXTURE_3D_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_PROXY_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_1D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_2D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_3D_EXT', 'Graphics.GL.Ext.OES.Texture3D.GL_TEXTURE_3D_OES', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BASE_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_BASE_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LOD_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MIN_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MIN_LOD_SGIS'.
--
-- The parameter @level@ is a @CheckedInt32@.
--
-- The parameter @xoffset@ is a @CheckedInt32@.
--
-- The parameter @format@ is a @PixelFormat@, one of: 'Graphics.GL.Ext.EXT.Abgr.GL_ABGR_EXT', 'Graphics.GL.Internal.Shared.GL_ALPHA', 'Graphics.GL.Internal.Shared.GL_BLUE', 'Graphics.GL.Ext.EXT.Cmyka.GL_CMYKA_EXT', 'Graphics.GL.Ext.EXT.Cmyka.GL_CMYK_EXT', 'Graphics.GL.Internal.Shared.GL_COLOR_INDEX', 'Graphics.GL.Internal.Shared.GL_DEPTH_COMPONENT', 'Graphics.GL.Internal.Shared.GL_GREEN', 'Graphics.GL.Internal.Shared.GL_LUMINANCE', 'Graphics.GL.Internal.Shared.GL_LUMINANCE_ALPHA', 'Graphics.GL.Internal.Shared.GL_RED', 'Graphics.GL.Ext.EXT.TextureRg.GL_RED_EXT', 'Graphics.GL.Internal.Shared.GL_RGB', 'Graphics.GL.Internal.Shared.GL_RGBA', 'Graphics.GL.Internal.Shared.GL_STENCIL_INDEX', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_INT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_SHORT', 'Graphics.GL.Ext.SGIX.Ycrcb.GL_YCRCB_422_SGIX', 'Graphics.GL.Ext.SGIX.Ycrcb.GL_YCRCB_444_SGIX'.
--
-- The parameter @type@ is a @PixelType@, one of: 'Graphics.GL.Internal.Shared.GL_BITMAP', 'Graphics.GL.Internal.Shared.GL_BYTE', 'Graphics.GL.Internal.Shared.GL_FLOAT', 'Graphics.GL.Internal.Shared.GL_INT', 'Graphics.GL.Internal.Shared.GL_SHORT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_BYTE', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_BYTE_3_3_2', 'Graphics.GL.Ext.EXT.PackedPixels.GL_UNSIGNED_BYTE_3_3_2_EXT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_INT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_INT_10_10_10_2', 'Graphics.GL.Ext.EXT.PackedPixels.GL_UNSIGNED_INT_10_10_10_2_EXT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_INT_8_8_8_8', 'Graphics.GL.Ext.EXT.PackedPixels.GL_UNSIGNED_INT_8_8_8_8_EXT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_SHORT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_SHORT_4_4_4_4', 'Graphics.GL.Ext.EXT.PackedPixels.GL_UNSIGNED_SHORT_4_4_4_4_EXT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_SHORT_5_5_5_1', 'Graphics.GL.Ext.EXT.PackedPixels.GL_UNSIGNED_SHORT_5_5_5_1_EXT'.
--
-- The length of @pixels@ should be @COMPSIZE(format,type,width)@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glTexSubImage1D.xhtml>


glTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr () -> m ()
glTexSubImage1D :: GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLenum
-> Ptr ()
-> m ()
glTexSubImage1D = FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> Ptr ()
   -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLenum
-> Ptr ()
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> Ptr ()
   -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLenum
-> Ptr ()
-> m ()
ffienumintintsizeienumenumPtrVIOV FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> Ptr ()
   -> IO ())
glTexSubImage1DFunPtr

glTexSubImage1DFunPtr :: FunPtr (GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ())
glTexSubImage1DFunPtr :: FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> Ptr ()
   -> IO ())
glTexSubImage1DFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLenum
      -> GLenum
      -> Ptr ()
      -> IO ()))
-> FunPtr
     (GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLenum
      -> GLenum
      -> Ptr ()
      -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLenum
         -> GLenum
         -> Ptr ()
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexSubImage1D")

{-# NOINLINE glTexSubImage1DFunPtr #-}

-- | Usage: @'glTexSubImage2D' target level xoffset yoffset width height format type pixels@
--
-- The parameter @target@ is a @TextureTarget@, one of: 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_2D_SGIS', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_1D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_1D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_2D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_2D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_PROXY_TEXTURE_3D_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_PROXY_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_1D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_2D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_3D_EXT', 'Graphics.GL.Ext.OES.Texture3D.GL_TEXTURE_3D_OES', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BASE_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_BASE_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LOD_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MIN_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MIN_LOD_SGIS'.
--
-- The parameter @level@ is a @CheckedInt32@.
--
-- The parameter @xoffset@ is a @CheckedInt32@.
--
-- The parameter @yoffset@ is a @CheckedInt32@.
--
-- The parameter @format@ is a @PixelFormat@, one of: 'Graphics.GL.Ext.EXT.Abgr.GL_ABGR_EXT', 'Graphics.GL.Internal.Shared.GL_ALPHA', 'Graphics.GL.Internal.Shared.GL_BLUE', 'Graphics.GL.Ext.EXT.Cmyka.GL_CMYKA_EXT', 'Graphics.GL.Ext.EXT.Cmyka.GL_CMYK_EXT', 'Graphics.GL.Internal.Shared.GL_COLOR_INDEX', 'Graphics.GL.Internal.Shared.GL_DEPTH_COMPONENT', 'Graphics.GL.Internal.Shared.GL_GREEN', 'Graphics.GL.Internal.Shared.GL_LUMINANCE', 'Graphics.GL.Internal.Shared.GL_LUMINANCE_ALPHA', 'Graphics.GL.Internal.Shared.GL_RED', 'Graphics.GL.Ext.EXT.TextureRg.GL_RED_EXT', 'Graphics.GL.Internal.Shared.GL_RGB', 'Graphics.GL.Internal.Shared.GL_RGBA', 'Graphics.GL.Internal.Shared.GL_STENCIL_INDEX', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_INT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_SHORT', 'Graphics.GL.Ext.SGIX.Ycrcb.GL_YCRCB_422_SGIX', 'Graphics.GL.Ext.SGIX.Ycrcb.GL_YCRCB_444_SGIX'.
--
-- The parameter @type@ is a @PixelType@, one of: 'Graphics.GL.Internal.Shared.GL_BITMAP', 'Graphics.GL.Internal.Shared.GL_BYTE', 'Graphics.GL.Internal.Shared.GL_FLOAT', 'Graphics.GL.Internal.Shared.GL_INT', 'Graphics.GL.Internal.Shared.GL_SHORT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_BYTE', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_BYTE_3_3_2', 'Graphics.GL.Ext.EXT.PackedPixels.GL_UNSIGNED_BYTE_3_3_2_EXT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_INT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_INT_10_10_10_2', 'Graphics.GL.Ext.EXT.PackedPixels.GL_UNSIGNED_INT_10_10_10_2_EXT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_INT_8_8_8_8', 'Graphics.GL.Ext.EXT.PackedPixels.GL_UNSIGNED_INT_8_8_8_8_EXT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_SHORT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_SHORT_4_4_4_4', 'Graphics.GL.Ext.EXT.PackedPixels.GL_UNSIGNED_SHORT_4_4_4_4_EXT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_SHORT_5_5_5_1', 'Graphics.GL.Ext.EXT.PackedPixels.GL_UNSIGNED_SHORT_5_5_5_1_EXT'.
--
-- The length of @pixels@ should be @COMPSIZE(format,type,width,height)@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glTexSubImage2D.xhtml>


glTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> m ()
glTexSubImage2D :: GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLenum
-> Ptr ()
-> m ()
glTexSubImage2D = FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> Ptr ()
   -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLenum
-> Ptr ()
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> Ptr ()
   -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLenum
-> Ptr ()
-> m ()
ffienumintintintsizeisizeienumenumPtrVIOV FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> Ptr ()
   -> IO ())
glTexSubImage2DFunPtr

glTexSubImage2DFunPtr :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ())
glTexSubImage2DFunPtr :: FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> Ptr ()
   -> IO ())
glTexSubImage2DFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLenum
      -> GLenum
      -> Ptr ()
      -> IO ()))
-> FunPtr
     (GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLenum
      -> GLenum
      -> Ptr ()
      -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLenum
         -> GLenum
         -> Ptr ()
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexSubImage2D")

{-# NOINLINE glTexSubImage2DFunPtr #-}

-- | Usage: @'glTexSubImage3D' target level xoffset yoffset zoffset width height depth format type pixels@
--
-- The parameter @target@ is a @TextureTarget@, one of: 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_2D_SGIS', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_1D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_1D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_2D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_2D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_PROXY_TEXTURE_3D_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_PROXY_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_1D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_2D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_3D_EXT', 'Graphics.GL.Ext.OES.Texture3D.GL_TEXTURE_3D_OES', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BASE_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_BASE_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LOD_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MIN_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MIN_LOD_SGIS'.
--
-- The parameter @level@ is a @CheckedInt32@.
--
-- The parameter @xoffset@ is a @CheckedInt32@.
--
-- The parameter @yoffset@ is a @CheckedInt32@.
--
-- The parameter @zoffset@ is a @CheckedInt32@.
--
-- The parameter @format@ is a @PixelFormat@, one of: 'Graphics.GL.Ext.EXT.Abgr.GL_ABGR_EXT', 'Graphics.GL.Internal.Shared.GL_ALPHA', 'Graphics.GL.Internal.Shared.GL_BLUE', 'Graphics.GL.Ext.EXT.Cmyka.GL_CMYKA_EXT', 'Graphics.GL.Ext.EXT.Cmyka.GL_CMYK_EXT', 'Graphics.GL.Internal.Shared.GL_COLOR_INDEX', 'Graphics.GL.Internal.Shared.GL_DEPTH_COMPONENT', 'Graphics.GL.Internal.Shared.GL_GREEN', 'Graphics.GL.Internal.Shared.GL_LUMINANCE', 'Graphics.GL.Internal.Shared.GL_LUMINANCE_ALPHA', 'Graphics.GL.Internal.Shared.GL_RED', 'Graphics.GL.Ext.EXT.TextureRg.GL_RED_EXT', 'Graphics.GL.Internal.Shared.GL_RGB', 'Graphics.GL.Internal.Shared.GL_RGBA', 'Graphics.GL.Internal.Shared.GL_STENCIL_INDEX', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_INT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_SHORT', 'Graphics.GL.Ext.SGIX.Ycrcb.GL_YCRCB_422_SGIX', 'Graphics.GL.Ext.SGIX.Ycrcb.GL_YCRCB_444_SGIX'.
--
-- The parameter @type@ is a @PixelType@, one of: 'Graphics.GL.Internal.Shared.GL_BITMAP', 'Graphics.GL.Internal.Shared.GL_BYTE', 'Graphics.GL.Internal.Shared.GL_FLOAT', 'Graphics.GL.Internal.Shared.GL_INT', 'Graphics.GL.Internal.Shared.GL_SHORT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_BYTE', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_BYTE_3_3_2', 'Graphics.GL.Ext.EXT.PackedPixels.GL_UNSIGNED_BYTE_3_3_2_EXT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_INT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_INT_10_10_10_2', 'Graphics.GL.Ext.EXT.PackedPixels.GL_UNSIGNED_INT_10_10_10_2_EXT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_INT_8_8_8_8', 'Graphics.GL.Ext.EXT.PackedPixels.GL_UNSIGNED_INT_8_8_8_8_EXT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_SHORT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_SHORT_4_4_4_4', 'Graphics.GL.Ext.EXT.PackedPixels.GL_UNSIGNED_SHORT_4_4_4_4_EXT', 'Graphics.GL.Internal.Shared.GL_UNSIGNED_SHORT_5_5_5_1', 'Graphics.GL.Ext.EXT.PackedPixels.GL_UNSIGNED_SHORT_5_5_5_1_EXT'.
--
-- The length of @pixels@ should be @COMPSIZE(format,type,width,height,depth)@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glTexSubImage3D.xhtml>


glTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> m ()
glTexSubImage3D :: GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLenum
-> Ptr ()
-> m ()
glTexSubImage3D = FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> Ptr ()
   -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLenum
-> Ptr ()
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> Ptr ()
   -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLenum
-> Ptr ()
-> m ()
ffienumintintintintsizeisizeisizeienumenumPtrVIOV FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> Ptr ()
   -> IO ())
glTexSubImage3DFunPtr

glTexSubImage3DFunPtr :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ())
glTexSubImage3DFunPtr :: FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> Ptr ()
   -> IO ())
glTexSubImage3DFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLenum
      -> GLenum
      -> Ptr ()
      -> IO ()))
-> FunPtr
     (GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLenum
      -> GLenum
      -> Ptr ()
      -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLenum
         -> GLenum
         -> Ptr ()
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexSubImage3D")

{-# NOINLINE glTexSubImage3DFunPtr #-}

-- | Usage: @'glTransformFeedbackVaryings' program count varyings bufferMode@
--
-- The length of @varyings@ should be @count@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glTransformFeedbackVaryings.xhtml>


glTransformFeedbackVaryings :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> m ()
glTransformFeedbackVaryings :: GLenum -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> m ()
glTransformFeedbackVaryings = FunPtr (GLenum -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> IO ())
-> GLenum -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> IO ())
-> GLenum -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> m ()
ffiuintsizeiPtrPtrcharenumIOV FunPtr (GLenum -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> IO ())
glTransformFeedbackVaryingsFunPtr

glTransformFeedbackVaryingsFunPtr :: FunPtr (GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> IO ())
glTransformFeedbackVaryingsFunPtr :: FunPtr (GLenum -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> IO ())
glTransformFeedbackVaryingsFunPtr = IO
  (FunPtr (GLenum -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> IO ()))
-> FunPtr
     (GLenum -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTransformFeedbackVaryings")

{-# NOINLINE glTransformFeedbackVaryingsFunPtr #-}

-- | Usage: @'glUniform1f' location v0@


glUniform1f :: MonadIO m => GLint -> GLfloat -> m ()
glUniform1f :: GLsizei -> GLfloat -> m ()
glUniform1f = FunPtr (GLsizei -> GLfloat -> IO ()) -> GLsizei -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLfloat -> IO ()) -> GLsizei -> GLfloat -> m ()
ffiintfloatIOV FunPtr (GLsizei -> GLfloat -> IO ())
glUniform1fFunPtr

glUniform1fFunPtr :: FunPtr (GLint -> GLfloat -> IO ())
glUniform1fFunPtr :: FunPtr (GLsizei -> GLfloat -> IO ())
glUniform1fFunPtr = IO (FunPtr (GLsizei -> GLfloat -> IO ()))
-> FunPtr (GLsizei -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniform1f")

{-# NOINLINE glUniform1fFunPtr #-}

-- | Usage: @'glUniform1fv' location count value@
--
-- The length of @value@ should be @count*1@.


glUniform1fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()
glUniform1fv :: GLsizei -> GLsizei -> Ptr GLfloat -> m ()
glUniform1fv = FunPtr (GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
-> GLsizei -> GLsizei -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
-> GLsizei -> GLsizei -> Ptr GLfloat -> m ()
ffiintsizeiPtrfloatIOV FunPtr (GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
glUniform1fvFunPtr

glUniform1fvFunPtr :: FunPtr (GLint -> GLsizei -> Ptr GLfloat -> IO ())
glUniform1fvFunPtr :: FunPtr (GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
glUniform1fvFunPtr = IO (FunPtr (GLsizei -> GLsizei -> Ptr GLfloat -> IO ()))
-> FunPtr (GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> GLsizei -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniform1fv")

{-# NOINLINE glUniform1fvFunPtr #-}

-- | Usage: @'glUniform1i' location v0@


glUniform1i :: MonadIO m => GLint -> GLint -> m ()
glUniform1i :: GLsizei -> GLsizei -> m ()
glUniform1i = FunPtr (GLsizei -> GLsizei -> IO ()) -> GLsizei -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> IO ()) -> GLsizei -> GLsizei -> m ()
ffiintintIOV FunPtr (GLsizei -> GLsizei -> IO ())
glUniform1iFunPtr

glUniform1iFunPtr :: FunPtr (GLint -> GLint -> IO ())
glUniform1iFunPtr :: FunPtr (GLsizei -> GLsizei -> IO ())
glUniform1iFunPtr = IO (FunPtr (GLsizei -> GLsizei -> IO ()))
-> FunPtr (GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniform1i")

{-# NOINLINE glUniform1iFunPtr #-}

-- | Usage: @'glUniform1iv' location count value@
--
-- The length of @value@ should be @count*1@.


glUniform1iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()
glUniform1iv :: GLsizei -> GLsizei -> Ptr GLsizei -> m ()
glUniform1iv = FunPtr (GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
-> GLsizei -> GLsizei -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
-> GLsizei -> GLsizei -> Ptr GLsizei -> m ()
ffiintsizeiPtrintIOV FunPtr (GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
glUniform1ivFunPtr

glUniform1ivFunPtr :: FunPtr (GLint -> GLsizei -> Ptr GLint -> IO ())
glUniform1ivFunPtr :: FunPtr (GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
glUniform1ivFunPtr = IO (FunPtr (GLsizei -> GLsizei -> Ptr GLsizei -> IO ()))
-> FunPtr (GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> GLsizei -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniform1iv")

{-# NOINLINE glUniform1ivFunPtr #-}

-- | Usage: @'glUniform1ui' location v0@


glUniform1ui :: MonadIO m => GLint -> GLuint -> m ()
glUniform1ui :: GLsizei -> GLenum -> m ()
glUniform1ui = FunPtr (GLsizei -> GLenum -> IO ()) -> GLsizei -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLenum -> IO ()) -> GLsizei -> GLenum -> m ()
ffiintuintIOV FunPtr (GLsizei -> GLenum -> IO ())
glUniform1uiFunPtr

glUniform1uiFunPtr :: FunPtr (GLint -> GLuint -> IO ())
glUniform1uiFunPtr :: FunPtr (GLsizei -> GLenum -> IO ())
glUniform1uiFunPtr = IO (FunPtr (GLsizei -> GLenum -> IO ()))
-> FunPtr (GLsizei -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniform1ui")

{-# NOINLINE glUniform1uiFunPtr #-}

-- | Usage: @'glUniform1uiv' location count value@
--
-- The length of @value@ should be @count*1@.


glUniform1uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()
glUniform1uiv :: GLsizei -> GLsizei -> Ptr GLenum -> m ()
glUniform1uiv = FunPtr (GLsizei -> GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> GLsizei -> Ptr GLenum -> m ()
ffiintsizeiPtruintIOV FunPtr (GLsizei -> GLsizei -> Ptr GLenum -> IO ())
glUniform1uivFunPtr

glUniform1uivFunPtr :: FunPtr (GLint -> GLsizei -> Ptr GLuint -> IO ())
glUniform1uivFunPtr :: FunPtr (GLsizei -> GLsizei -> Ptr GLenum -> IO ())
glUniform1uivFunPtr = IO (FunPtr (GLsizei -> GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLsizei -> GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniform1uiv")

{-# NOINLINE glUniform1uivFunPtr #-}

-- | Usage: @'glUniform2f' location v0 v1@


glUniform2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()
glUniform2f :: GLsizei -> GLfloat -> GLfloat -> m ()
glUniform2f = FunPtr (GLsizei -> GLfloat -> GLfloat -> IO ())
-> GLsizei -> GLfloat -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLfloat -> GLfloat -> IO ())
-> GLsizei -> GLfloat -> GLfloat -> m ()
ffiintfloatfloatIOV FunPtr (GLsizei -> GLfloat -> GLfloat -> IO ())
glUniform2fFunPtr

glUniform2fFunPtr :: FunPtr (GLint -> GLfloat -> GLfloat -> IO ())
glUniform2fFunPtr :: FunPtr (GLsizei -> GLfloat -> GLfloat -> IO ())
glUniform2fFunPtr = IO (FunPtr (GLsizei -> GLfloat -> GLfloat -> IO ()))
-> FunPtr (GLsizei -> GLfloat -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> GLfloat -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniform2f")

{-# NOINLINE glUniform2fFunPtr #-}

-- | Usage: @'glUniform2fv' location count value@
--
-- The length of @value@ should be @count*2@.


glUniform2fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()
glUniform2fv :: GLsizei -> GLsizei -> Ptr GLfloat -> m ()
glUniform2fv = FunPtr (GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
-> GLsizei -> GLsizei -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
-> GLsizei -> GLsizei -> Ptr GLfloat -> m ()
ffiintsizeiPtrfloatIOV FunPtr (GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
glUniform2fvFunPtr

glUniform2fvFunPtr :: FunPtr (GLint -> GLsizei -> Ptr GLfloat -> IO ())
glUniform2fvFunPtr :: FunPtr (GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
glUniform2fvFunPtr = IO (FunPtr (GLsizei -> GLsizei -> Ptr GLfloat -> IO ()))
-> FunPtr (GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> GLsizei -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniform2fv")

{-# NOINLINE glUniform2fvFunPtr #-}

-- | Usage: @'glUniform2i' location v0 v1@


glUniform2i :: MonadIO m => GLint -> GLint -> GLint -> m ()
glUniform2i :: GLsizei -> GLsizei -> GLsizei -> m ()
glUniform2i = FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLsizei -> GLsizei -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLsizei -> GLsizei -> GLsizei -> m ()
ffiintintintIOV FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ())
glUniform2iFunPtr

glUniform2iFunPtr :: FunPtr (GLint -> GLint -> GLint -> IO ())
glUniform2iFunPtr :: FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ())
glUniform2iFunPtr = IO (FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ()))
-> FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniform2i")

{-# NOINLINE glUniform2iFunPtr #-}

-- | Usage: @'glUniform2iv' location count value@
--
-- The length of @value@ should be @count*2@.


glUniform2iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()
glUniform2iv :: GLsizei -> GLsizei -> Ptr GLsizei -> m ()
glUniform2iv = FunPtr (GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
-> GLsizei -> GLsizei -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
-> GLsizei -> GLsizei -> Ptr GLsizei -> m ()
ffiintsizeiPtrintIOV FunPtr (GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
glUniform2ivFunPtr

glUniform2ivFunPtr :: FunPtr (GLint -> GLsizei -> Ptr GLint -> IO ())
glUniform2ivFunPtr :: FunPtr (GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
glUniform2ivFunPtr = IO (FunPtr (GLsizei -> GLsizei -> Ptr GLsizei -> IO ()))
-> FunPtr (GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> GLsizei -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniform2iv")

{-# NOINLINE glUniform2ivFunPtr #-}

-- | Usage: @'glUniform2ui' location v0 v1@


glUniform2ui :: MonadIO m => GLint -> GLuint -> GLuint -> m ()
glUniform2ui :: GLsizei -> GLenum -> GLenum -> m ()
glUniform2ui = FunPtr (GLsizei -> GLenum -> GLenum -> IO ())
-> GLsizei -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLenum -> GLenum -> IO ())
-> GLsizei -> GLenum -> GLenum -> m ()
ffiintuintuintIOV FunPtr (GLsizei -> GLenum -> GLenum -> IO ())
glUniform2uiFunPtr

glUniform2uiFunPtr :: FunPtr (GLint -> GLuint -> GLuint -> IO ())
glUniform2uiFunPtr :: FunPtr (GLsizei -> GLenum -> GLenum -> IO ())
glUniform2uiFunPtr = IO (FunPtr (GLsizei -> GLenum -> GLenum -> IO ()))
-> FunPtr (GLsizei -> GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniform2ui")

{-# NOINLINE glUniform2uiFunPtr #-}

-- | Usage: @'glUniform2uiv' location count value@
--
-- The length of @value@ should be @count*2@.


glUniform2uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()
glUniform2uiv :: GLsizei -> GLsizei -> Ptr GLenum -> m ()
glUniform2uiv = FunPtr (GLsizei -> GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> GLsizei -> Ptr GLenum -> m ()
ffiintsizeiPtruintIOV FunPtr (GLsizei -> GLsizei -> Ptr GLenum -> IO ())
glUniform2uivFunPtr

glUniform2uivFunPtr :: FunPtr (GLint -> GLsizei -> Ptr GLuint -> IO ())
glUniform2uivFunPtr :: FunPtr (GLsizei -> GLsizei -> Ptr GLenum -> IO ())
glUniform2uivFunPtr = IO (FunPtr (GLsizei -> GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLsizei -> GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniform2uiv")

{-# NOINLINE glUniform2uivFunPtr #-}

-- | Usage: @'glUniform3f' location v0 v1 v2@


glUniform3f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> m ()
glUniform3f :: GLsizei -> GLfloat -> GLfloat -> GLfloat -> m ()
glUniform3f = FunPtr (GLsizei -> GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLsizei -> GLfloat -> GLfloat -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLsizei -> GLfloat -> GLfloat -> GLfloat -> m ()
ffiintfloatfloatfloatIOV FunPtr (GLsizei -> GLfloat -> GLfloat -> GLfloat -> IO ())
glUniform3fFunPtr

glUniform3fFunPtr :: FunPtr (GLint -> GLfloat -> GLfloat -> GLfloat -> IO ())
glUniform3fFunPtr :: FunPtr (GLsizei -> GLfloat -> GLfloat -> GLfloat -> IO ())
glUniform3fFunPtr = IO (FunPtr (GLsizei -> GLfloat -> GLfloat -> GLfloat -> IO ()))
-> FunPtr (GLsizei -> GLfloat -> GLfloat -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLsizei -> GLfloat -> GLfloat -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniform3f")

{-# NOINLINE glUniform3fFunPtr #-}

-- | Usage: @'glUniform3fv' location count value@
--
-- The length of @value@ should be @count*3@.


glUniform3fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()
glUniform3fv :: GLsizei -> GLsizei -> Ptr GLfloat -> m ()
glUniform3fv = FunPtr (GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
-> GLsizei -> GLsizei -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
-> GLsizei -> GLsizei -> Ptr GLfloat -> m ()
ffiintsizeiPtrfloatIOV FunPtr (GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
glUniform3fvFunPtr

glUniform3fvFunPtr :: FunPtr (GLint -> GLsizei -> Ptr GLfloat -> IO ())
glUniform3fvFunPtr :: FunPtr (GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
glUniform3fvFunPtr = IO (FunPtr (GLsizei -> GLsizei -> Ptr GLfloat -> IO ()))
-> FunPtr (GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> GLsizei -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniform3fv")

{-# NOINLINE glUniform3fvFunPtr #-}

-- | Usage: @'glUniform3i' location v0 v1 v2@


glUniform3i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()
glUniform3i :: GLsizei -> GLsizei -> GLsizei -> GLsizei -> m ()
glUniform3i = FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLsizei -> GLsizei -> GLsizei -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLsizei -> GLsizei -> GLsizei -> GLsizei -> m ()
ffiintintintintIOV FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
glUniform3iFunPtr

glUniform3iFunPtr :: FunPtr (GLint -> GLint -> GLint -> GLint -> IO ())
glUniform3iFunPtr :: FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
glUniform3iFunPtr = IO (FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ()))
-> FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniform3i")

{-# NOINLINE glUniform3iFunPtr #-}

-- | Usage: @'glUniform3iv' location count value@
--
-- The length of @value@ should be @count*3@.


glUniform3iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()
glUniform3iv :: GLsizei -> GLsizei -> Ptr GLsizei -> m ()
glUniform3iv = FunPtr (GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
-> GLsizei -> GLsizei -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
-> GLsizei -> GLsizei -> Ptr GLsizei -> m ()
ffiintsizeiPtrintIOV FunPtr (GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
glUniform3ivFunPtr

glUniform3ivFunPtr :: FunPtr (GLint -> GLsizei -> Ptr GLint -> IO ())
glUniform3ivFunPtr :: FunPtr (GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
glUniform3ivFunPtr = IO (FunPtr (GLsizei -> GLsizei -> Ptr GLsizei -> IO ()))
-> FunPtr (GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> GLsizei -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniform3iv")

{-# NOINLINE glUniform3ivFunPtr #-}

-- | Usage: @'glUniform3ui' location v0 v1 v2@


glUniform3ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> m ()
glUniform3ui :: GLsizei -> GLenum -> GLenum -> GLenum -> m ()
glUniform3ui = FunPtr (GLsizei -> GLenum -> GLenum -> GLenum -> IO ())
-> GLsizei -> GLenum -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLenum -> GLenum -> GLenum -> IO ())
-> GLsizei -> GLenum -> GLenum -> GLenum -> m ()
ffiintuintuintuintIOV FunPtr (GLsizei -> GLenum -> GLenum -> GLenum -> IO ())
glUniform3uiFunPtr

glUniform3uiFunPtr :: FunPtr (GLint -> GLuint -> GLuint -> GLuint -> IO ())
glUniform3uiFunPtr :: FunPtr (GLsizei -> GLenum -> GLenum -> GLenum -> IO ())
glUniform3uiFunPtr = IO (FunPtr (GLsizei -> GLenum -> GLenum -> GLenum -> IO ()))
-> FunPtr (GLsizei -> GLenum -> GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLsizei -> GLenum -> GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniform3ui")

{-# NOINLINE glUniform3uiFunPtr #-}

-- | Usage: @'glUniform3uiv' location count value@
--
-- The length of @value@ should be @count*3@.


glUniform3uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()
glUniform3uiv :: GLsizei -> GLsizei -> Ptr GLenum -> m ()
glUniform3uiv = FunPtr (GLsizei -> GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> GLsizei -> Ptr GLenum -> m ()
ffiintsizeiPtruintIOV FunPtr (GLsizei -> GLsizei -> Ptr GLenum -> IO ())
glUniform3uivFunPtr

glUniform3uivFunPtr :: FunPtr (GLint -> GLsizei -> Ptr GLuint -> IO ())
glUniform3uivFunPtr :: FunPtr (GLsizei -> GLsizei -> Ptr GLenum -> IO ())
glUniform3uivFunPtr = IO (FunPtr (GLsizei -> GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLsizei -> GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniform3uiv")

{-# NOINLINE glUniform3uivFunPtr #-}

-- | Usage: @'glUniform4f' location v0 v1 v2 v3@


glUniform4f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glUniform4f :: GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glUniform4f = FunPtr
  (GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
ffiintfloatfloatfloatfloatIOV FunPtr
  (GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glUniform4fFunPtr

glUniform4fFunPtr :: FunPtr (GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glUniform4fFunPtr :: FunPtr
  (GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glUniform4fFunPtr = IO
  (FunPtr
     (GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()))
-> FunPtr
     (GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniform4f")

{-# NOINLINE glUniform4fFunPtr #-}

-- | Usage: @'glUniform4fv' location count value@
--
-- The length of @value@ should be @count*4@.


glUniform4fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()
glUniform4fv :: GLsizei -> GLsizei -> Ptr GLfloat -> m ()
glUniform4fv = FunPtr (GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
-> GLsizei -> GLsizei -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
-> GLsizei -> GLsizei -> Ptr GLfloat -> m ()
ffiintsizeiPtrfloatIOV FunPtr (GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
glUniform4fvFunPtr

glUniform4fvFunPtr :: FunPtr (GLint -> GLsizei -> Ptr GLfloat -> IO ())
glUniform4fvFunPtr :: FunPtr (GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
glUniform4fvFunPtr = IO (FunPtr (GLsizei -> GLsizei -> Ptr GLfloat -> IO ()))
-> FunPtr (GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> GLsizei -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniform4fv")

{-# NOINLINE glUniform4fvFunPtr #-}

-- | Usage: @'glUniform4i' location v0 v1 v2 v3@


glUniform4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> m ()
glUniform4i :: GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> m ()
glUniform4i = FunPtr
  (GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> m ()
ffiintintintintintIOV FunPtr
  (GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
glUniform4iFunPtr

glUniform4iFunPtr :: FunPtr (GLint -> GLint -> GLint -> GLint -> GLint -> IO ())
glUniform4iFunPtr :: FunPtr
  (GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
glUniform4iFunPtr = IO
  (FunPtr
     (GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ()))
-> FunPtr
     (GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniform4i")

{-# NOINLINE glUniform4iFunPtr #-}

-- | Usage: @'glUniform4iv' location count value@
--
-- The length of @value@ should be @count*4@.


glUniform4iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()
glUniform4iv :: GLsizei -> GLsizei -> Ptr GLsizei -> m ()
glUniform4iv = FunPtr (GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
-> GLsizei -> GLsizei -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
-> GLsizei -> GLsizei -> Ptr GLsizei -> m ()
ffiintsizeiPtrintIOV FunPtr (GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
glUniform4ivFunPtr

glUniform4ivFunPtr :: FunPtr (GLint -> GLsizei -> Ptr GLint -> IO ())
glUniform4ivFunPtr :: FunPtr (GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
glUniform4ivFunPtr = IO (FunPtr (GLsizei -> GLsizei -> Ptr GLsizei -> IO ()))
-> FunPtr (GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> GLsizei -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniform4iv")

{-# NOINLINE glUniform4ivFunPtr #-}

-- | Usage: @'glUniform4ui' location v0 v1 v2 v3@


glUniform4ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
glUniform4ui :: GLsizei -> GLenum -> GLenum -> GLenum -> GLenum -> m ()
glUniform4ui = FunPtr (GLsizei -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-> GLsizei -> GLenum -> GLenum -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-> GLsizei -> GLenum -> GLenum -> GLenum -> GLenum -> m ()
ffiintuintuintuintuintIOV FunPtr (GLsizei -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
glUniform4uiFunPtr

glUniform4uiFunPtr :: FunPtr (GLint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
glUniform4uiFunPtr :: FunPtr (GLsizei -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
glUniform4uiFunPtr = IO
  (FunPtr (GLsizei -> GLenum -> GLenum -> GLenum -> GLenum -> IO ()))
-> FunPtr
     (GLsizei -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLsizei -> GLenum -> GLenum -> GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniform4ui")

{-# NOINLINE glUniform4uiFunPtr #-}

-- | Usage: @'glUniform4uiv' location count value@
--
-- The length of @value@ should be @count*4@.


glUniform4uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()
glUniform4uiv :: GLsizei -> GLsizei -> Ptr GLenum -> m ()
glUniform4uiv = FunPtr (GLsizei -> GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> GLsizei -> Ptr GLenum -> m ()
ffiintsizeiPtruintIOV FunPtr (GLsizei -> GLsizei -> Ptr GLenum -> IO ())
glUniform4uivFunPtr

glUniform4uivFunPtr :: FunPtr (GLint -> GLsizei -> Ptr GLuint -> IO ())
glUniform4uivFunPtr :: FunPtr (GLsizei -> GLsizei -> Ptr GLenum -> IO ())
glUniform4uivFunPtr = IO (FunPtr (GLsizei -> GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLsizei -> GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniform4uiv")

{-# NOINLINE glUniform4uivFunPtr #-}

-- | Usage: @'glUniformBlockBinding' program uniformBlockIndex uniformBlockBinding@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glUniformBlockBinding.xhtml>


glUniformBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()
glUniformBlockBinding :: GLenum -> GLenum -> GLenum -> m ()
glUniformBlockBinding = FunPtr (GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> m ()
ffiuintuintuintIOV FunPtr (GLenum -> GLenum -> GLenum -> IO ())
glUniformBlockBindingFunPtr

glUniformBlockBindingFunPtr :: FunPtr (GLuint -> GLuint -> GLuint -> IO ())
glUniformBlockBindingFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> IO ())
glUniformBlockBindingFunPtr = IO (FunPtr (GLenum -> GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniformBlockBinding")

{-# NOINLINE glUniformBlockBindingFunPtr #-}

-- | Usage: @'glUniformMatrix2fv' location count transpose value@
--
-- The parameter @transpose@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @value@ should be @count*4@.


glUniformMatrix2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2fv :: GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2fv = FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
ffiintsizeibooleanPtrfloatIOV FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glUniformMatrix2fvFunPtr

glUniformMatrix2fvFunPtr :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glUniformMatrix2fvFunPtr :: FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glUniformMatrix2fvFunPtr = IO
  (FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()))
-> FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniformMatrix2fv")

{-# NOINLINE glUniformMatrix2fvFunPtr #-}

-- | Usage: @'glUniformMatrix2x3fv' location count transpose value@
--
-- The parameter @transpose@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @value@ should be @count*6@.


glUniformMatrix2x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2x3fv :: GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2x3fv = FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
ffiintsizeibooleanPtrfloatIOV FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glUniformMatrix2x3fvFunPtr

glUniformMatrix2x3fvFunPtr :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glUniformMatrix2x3fvFunPtr :: FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glUniformMatrix2x3fvFunPtr = IO
  (FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()))
-> FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniformMatrix2x3fv")

{-# NOINLINE glUniformMatrix2x3fvFunPtr #-}

-- | Usage: @'glUniformMatrix2x4fv' location count transpose value@
--
-- The parameter @transpose@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @value@ should be @count*8@.


glUniformMatrix2x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2x4fv :: GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2x4fv = FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
ffiintsizeibooleanPtrfloatIOV FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glUniformMatrix2x4fvFunPtr

glUniformMatrix2x4fvFunPtr :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glUniformMatrix2x4fvFunPtr :: FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glUniformMatrix2x4fvFunPtr = IO
  (FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()))
-> FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniformMatrix2x4fv")

{-# NOINLINE glUniformMatrix2x4fvFunPtr #-}

-- | Usage: @'glUniformMatrix3fv' location count transpose value@
--
-- The parameter @transpose@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @value@ should be @count*9@.


glUniformMatrix3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3fv :: GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3fv = FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
ffiintsizeibooleanPtrfloatIOV FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glUniformMatrix3fvFunPtr

glUniformMatrix3fvFunPtr :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glUniformMatrix3fvFunPtr :: FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glUniformMatrix3fvFunPtr = IO
  (FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()))
-> FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniformMatrix3fv")

{-# NOINLINE glUniformMatrix3fvFunPtr #-}

-- | Usage: @'glUniformMatrix3x2fv' location count transpose value@
--
-- The parameter @transpose@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @value@ should be @count*6@.


glUniformMatrix3x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3x2fv :: GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3x2fv = FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
ffiintsizeibooleanPtrfloatIOV FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glUniformMatrix3x2fvFunPtr

glUniformMatrix3x2fvFunPtr :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glUniformMatrix3x2fvFunPtr :: FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glUniformMatrix3x2fvFunPtr = IO
  (FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()))
-> FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniformMatrix3x2fv")

{-# NOINLINE glUniformMatrix3x2fvFunPtr #-}

-- | Usage: @'glUniformMatrix3x4fv' location count transpose value@
--
-- The parameter @transpose@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @value@ should be @count*12@.


glUniformMatrix3x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3x4fv :: GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3x4fv = FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
ffiintsizeibooleanPtrfloatIOV FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glUniformMatrix3x4fvFunPtr

glUniformMatrix3x4fvFunPtr :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glUniformMatrix3x4fvFunPtr :: FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glUniformMatrix3x4fvFunPtr = IO
  (FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()))
-> FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniformMatrix3x4fv")

{-# NOINLINE glUniformMatrix3x4fvFunPtr #-}

-- | Usage: @'glUniformMatrix4fv' location count transpose value@
--
-- The parameter @transpose@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @value@ should be @count*16@.


glUniformMatrix4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4fv :: GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4fv = FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
ffiintsizeibooleanPtrfloatIOV FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glUniformMatrix4fvFunPtr

glUniformMatrix4fvFunPtr :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glUniformMatrix4fvFunPtr :: FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glUniformMatrix4fvFunPtr = IO
  (FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()))
-> FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniformMatrix4fv")

{-# NOINLINE glUniformMatrix4fvFunPtr #-}

-- | Usage: @'glUniformMatrix4x2fv' location count transpose value@
--
-- The parameter @transpose@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @value@ should be @count*8@.


glUniformMatrix4x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4x2fv :: GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4x2fv = FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
ffiintsizeibooleanPtrfloatIOV FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glUniformMatrix4x2fvFunPtr

glUniformMatrix4x2fvFunPtr :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glUniformMatrix4x2fvFunPtr :: FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glUniformMatrix4x2fvFunPtr = IO
  (FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()))
-> FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniformMatrix4x2fv")

{-# NOINLINE glUniformMatrix4x2fvFunPtr #-}

-- | Usage: @'glUniformMatrix4x3fv' location count transpose value@
--
-- The parameter @transpose@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @value@ should be @count*12@.


glUniformMatrix4x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4x3fv :: GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4x3fv = FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
ffiintsizeibooleanPtrfloatIOV FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glUniformMatrix4x3fvFunPtr

glUniformMatrix4x3fvFunPtr :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glUniformMatrix4x3fvFunPtr :: FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glUniformMatrix4x3fvFunPtr = IO
  (FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()))
-> FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniformMatrix4x3fv")

{-# NOINLINE glUniformMatrix4x3fvFunPtr #-}

-- | Usage: @'glUnmapBuffer' target@
--
-- The parameter @target@ is a @BufferTargetARB@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glUnmapBuffer.xhtml>


glUnmapBuffer :: MonadIO m => GLenum -> m GLboolean
glUnmapBuffer :: GLenum -> m GLboolean
glUnmapBuffer = FunPtr (GLenum -> IO GLboolean) -> GLenum -> m GLboolean
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO GLboolean) -> GLenum -> m GLboolean
ffienumIOboolean FunPtr (GLenum -> IO GLboolean)
glUnmapBufferFunPtr

glUnmapBufferFunPtr :: FunPtr (GLenum -> IO GLboolean)
glUnmapBufferFunPtr :: FunPtr (GLenum -> IO GLboolean)
glUnmapBufferFunPtr = IO (FunPtr (GLenum -> IO GLboolean))
-> FunPtr (GLenum -> IO GLboolean)
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO GLboolean))
forall a. String -> IO (FunPtr a)
getProcAddress "glUnmapBuffer")

{-# NOINLINE glUnmapBufferFunPtr #-}

-- | Usage: @'glUseProgram' program@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glUseProgram.xhtml>


glUseProgram :: MonadIO m => GLuint -> m ()
glUseProgram :: GLenum -> m ()
glUseProgram = FunPtr (GLenum -> IO ()) -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO ()) -> GLenum -> m ()
ffiuintIOV FunPtr (GLenum -> IO ())
glUseProgramFunPtr

glUseProgramFunPtr :: FunPtr (GLuint -> IO ())
glUseProgramFunPtr :: FunPtr (GLenum -> IO ())
glUseProgramFunPtr = IO (FunPtr (GLenum -> IO ())) -> FunPtr (GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUseProgram")

{-# NOINLINE glUseProgramFunPtr #-}

-- | Usage: @'glValidateProgram' program@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glValidateProgram.xhtml>


glValidateProgram :: MonadIO m => GLuint -> m ()
glValidateProgram :: GLenum -> m ()
glValidateProgram = FunPtr (GLenum -> IO ()) -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO ()) -> GLenum -> m ()
ffiuintIOV FunPtr (GLenum -> IO ())
glValidateProgramFunPtr

glValidateProgramFunPtr :: FunPtr (GLuint -> IO ())
glValidateProgramFunPtr :: FunPtr (GLenum -> IO ())
glValidateProgramFunPtr = IO (FunPtr (GLenum -> IO ())) -> FunPtr (GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glValidateProgram")

{-# NOINLINE glValidateProgramFunPtr #-}

-- | Usage: @'glVertexAttrib1d' index x@
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glVertexAttrib1dv'.


glVertexAttrib1d :: MonadIO m => GLuint -> GLdouble -> m ()
glVertexAttrib1d :: GLenum -> GLdouble -> m ()
glVertexAttrib1d = FunPtr (GLenum -> GLdouble -> IO ()) -> GLenum -> GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLdouble -> IO ()) -> GLenum -> GLdouble -> m ()
ffiuintdoubleIOV FunPtr (GLenum -> GLdouble -> IO ())
glVertexAttrib1dFunPtr

glVertexAttrib1dFunPtr :: FunPtr (GLuint -> GLdouble -> IO ())
glVertexAttrib1dFunPtr :: FunPtr (GLenum -> GLdouble -> IO ())
glVertexAttrib1dFunPtr = IO (FunPtr (GLenum -> GLdouble -> IO ()))
-> FunPtr (GLenum -> GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib1d")

{-# NOINLINE glVertexAttrib1dFunPtr #-}

-- | Usage: @'glVertexAttrib1dv' index v@
--
-- The length of @v@ should be @1@.


glVertexAttrib1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()
glVertexAttrib1dv :: GLenum -> Ptr GLdouble -> m ()
glVertexAttrib1dv = FunPtr (GLenum -> Ptr GLdouble -> IO ())
-> GLenum -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLdouble -> IO ())
-> GLenum -> Ptr GLdouble -> m ()
ffiuintPtrdoubleIOV FunPtr (GLenum -> Ptr GLdouble -> IO ())
glVertexAttrib1dvFunPtr

glVertexAttrib1dvFunPtr :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
glVertexAttrib1dvFunPtr :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
glVertexAttrib1dvFunPtr = IO (FunPtr (GLenum -> Ptr GLdouble -> IO ()))
-> FunPtr (GLenum -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib1dv")

{-# NOINLINE glVertexAttrib1dvFunPtr #-}

-- | Usage: @'glVertexAttrib1f' index x@
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glVertexAttrib1fv'.


glVertexAttrib1f :: MonadIO m => GLuint -> GLfloat -> m ()
glVertexAttrib1f :: GLenum -> GLfloat -> m ()
glVertexAttrib1f = FunPtr (GLenum -> GLfloat -> IO ()) -> GLenum -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLfloat -> IO ()) -> GLenum -> GLfloat -> m ()
ffiuintfloatIOV FunPtr (GLenum -> GLfloat -> IO ())
glVertexAttrib1fFunPtr

glVertexAttrib1fFunPtr :: FunPtr (GLuint -> GLfloat -> IO ())
glVertexAttrib1fFunPtr :: FunPtr (GLenum -> GLfloat -> IO ())
glVertexAttrib1fFunPtr = IO (FunPtr (GLenum -> GLfloat -> IO ()))
-> FunPtr (GLenum -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib1f")

{-# NOINLINE glVertexAttrib1fFunPtr #-}

-- | Usage: @'glVertexAttrib1fv' index v@
--
-- The length of @v@ should be @1@.


glVertexAttrib1fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()
glVertexAttrib1fv :: GLenum -> Ptr GLfloat -> m ()
glVertexAttrib1fv = FunPtr (GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> Ptr GLfloat -> m ()
ffiuintPtrfloatIOV FunPtr (GLenum -> Ptr GLfloat -> IO ())
glVertexAttrib1fvFunPtr

glVertexAttrib1fvFunPtr :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
glVertexAttrib1fvFunPtr :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
glVertexAttrib1fvFunPtr = IO (FunPtr (GLenum -> Ptr GLfloat -> IO ()))
-> FunPtr (GLenum -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib1fv")

{-# NOINLINE glVertexAttrib1fvFunPtr #-}

-- | Usage: @'glVertexAttrib1s' index x@
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glVertexAttrib1sv'.


glVertexAttrib1s :: MonadIO m => GLuint -> GLshort -> m ()
glVertexAttrib1s :: GLenum -> GLshort -> m ()
glVertexAttrib1s = FunPtr (GLenum -> GLshort -> IO ()) -> GLenum -> GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLshort -> IO ()) -> GLenum -> GLshort -> m ()
ffiuintshortIOV FunPtr (GLenum -> GLshort -> IO ())
glVertexAttrib1sFunPtr

glVertexAttrib1sFunPtr :: FunPtr (GLuint -> GLshort -> IO ())
glVertexAttrib1sFunPtr :: FunPtr (GLenum -> GLshort -> IO ())
glVertexAttrib1sFunPtr = IO (FunPtr (GLenum -> GLshort -> IO ()))
-> FunPtr (GLenum -> GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib1s")

{-# NOINLINE glVertexAttrib1sFunPtr #-}

-- | Usage: @'glVertexAttrib1sv' index v@
--
-- The length of @v@ should be @1@.


glVertexAttrib1sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()
glVertexAttrib1sv :: GLenum -> Ptr GLshort -> m ()
glVertexAttrib1sv = FunPtr (GLenum -> Ptr GLshort -> IO ())
-> GLenum -> Ptr GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLshort -> IO ())
-> GLenum -> Ptr GLshort -> m ()
ffiuintPtrshortIOV FunPtr (GLenum -> Ptr GLshort -> IO ())
glVertexAttrib1svFunPtr

glVertexAttrib1svFunPtr :: FunPtr (GLuint -> Ptr GLshort -> IO ())
glVertexAttrib1svFunPtr :: FunPtr (GLenum -> Ptr GLshort -> IO ())
glVertexAttrib1svFunPtr = IO (FunPtr (GLenum -> Ptr GLshort -> IO ()))
-> FunPtr (GLenum -> Ptr GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib1sv")

{-# NOINLINE glVertexAttrib1svFunPtr #-}

-- | Usage: @'glVertexAttrib2d' index x y@
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glVertexAttrib2dv'.


glVertexAttrib2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()
glVertexAttrib2d :: GLenum -> GLdouble -> GLdouble -> m ()
glVertexAttrib2d = FunPtr (GLenum -> GLdouble -> GLdouble -> IO ())
-> GLenum -> GLdouble -> GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLdouble -> GLdouble -> IO ())
-> GLenum -> GLdouble -> GLdouble -> m ()
ffiuintdoubledoubleIOV FunPtr (GLenum -> GLdouble -> GLdouble -> IO ())
glVertexAttrib2dFunPtr

glVertexAttrib2dFunPtr :: FunPtr (GLuint -> GLdouble -> GLdouble -> IO ())
glVertexAttrib2dFunPtr :: FunPtr (GLenum -> GLdouble -> GLdouble -> IO ())
glVertexAttrib2dFunPtr = IO (FunPtr (GLenum -> GLdouble -> GLdouble -> IO ()))
-> FunPtr (GLenum -> GLdouble -> GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLdouble -> GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib2d")

{-# NOINLINE glVertexAttrib2dFunPtr #-}

-- | Usage: @'glVertexAttrib2dv' index v@
--
-- The length of @v@ should be @2@.


glVertexAttrib2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()
glVertexAttrib2dv :: GLenum -> Ptr GLdouble -> m ()
glVertexAttrib2dv = FunPtr (GLenum -> Ptr GLdouble -> IO ())
-> GLenum -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLdouble -> IO ())
-> GLenum -> Ptr GLdouble -> m ()
ffiuintPtrdoubleIOV FunPtr (GLenum -> Ptr GLdouble -> IO ())
glVertexAttrib2dvFunPtr

glVertexAttrib2dvFunPtr :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
glVertexAttrib2dvFunPtr :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
glVertexAttrib2dvFunPtr = IO (FunPtr (GLenum -> Ptr GLdouble -> IO ()))
-> FunPtr (GLenum -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib2dv")

{-# NOINLINE glVertexAttrib2dvFunPtr #-}

-- | Usage: @'glVertexAttrib2f' index x y@
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glVertexAttrib2fv'.


glVertexAttrib2f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()
glVertexAttrib2f :: GLenum -> GLfloat -> GLfloat -> m ()
glVertexAttrib2f = FunPtr (GLenum -> GLfloat -> GLfloat -> IO ())
-> GLenum -> GLfloat -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLfloat -> GLfloat -> IO ())
-> GLenum -> GLfloat -> GLfloat -> m ()
ffiuintfloatfloatIOV FunPtr (GLenum -> GLfloat -> GLfloat -> IO ())
glVertexAttrib2fFunPtr

glVertexAttrib2fFunPtr :: FunPtr (GLuint -> GLfloat -> GLfloat -> IO ())
glVertexAttrib2fFunPtr :: FunPtr (GLenum -> GLfloat -> GLfloat -> IO ())
glVertexAttrib2fFunPtr = IO (FunPtr (GLenum -> GLfloat -> GLfloat -> IO ()))
-> FunPtr (GLenum -> GLfloat -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLfloat -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib2f")

{-# NOINLINE glVertexAttrib2fFunPtr #-}

-- | Usage: @'glVertexAttrib2fv' index v@
--
-- The length of @v@ should be @2@.


glVertexAttrib2fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()
glVertexAttrib2fv :: GLenum -> Ptr GLfloat -> m ()
glVertexAttrib2fv = FunPtr (GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> Ptr GLfloat -> m ()
ffiuintPtrfloatIOV FunPtr (GLenum -> Ptr GLfloat -> IO ())
glVertexAttrib2fvFunPtr

glVertexAttrib2fvFunPtr :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
glVertexAttrib2fvFunPtr :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
glVertexAttrib2fvFunPtr = IO (FunPtr (GLenum -> Ptr GLfloat -> IO ()))
-> FunPtr (GLenum -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib2fv")

{-# NOINLINE glVertexAttrib2fvFunPtr #-}

-- | Usage: @'glVertexAttrib2s' index x y@
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glVertexAttrib2sv'.


glVertexAttrib2s :: MonadIO m => GLuint -> GLshort -> GLshort -> m ()
glVertexAttrib2s :: GLenum -> GLshort -> GLshort -> m ()
glVertexAttrib2s = FunPtr (GLenum -> GLshort -> GLshort -> IO ())
-> GLenum -> GLshort -> GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLshort -> GLshort -> IO ())
-> GLenum -> GLshort -> GLshort -> m ()
ffiuintshortshortIOV FunPtr (GLenum -> GLshort -> GLshort -> IO ())
glVertexAttrib2sFunPtr

glVertexAttrib2sFunPtr :: FunPtr (GLuint -> GLshort -> GLshort -> IO ())
glVertexAttrib2sFunPtr :: FunPtr (GLenum -> GLshort -> GLshort -> IO ())
glVertexAttrib2sFunPtr = IO (FunPtr (GLenum -> GLshort -> GLshort -> IO ()))
-> FunPtr (GLenum -> GLshort -> GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLshort -> GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib2s")

{-# NOINLINE glVertexAttrib2sFunPtr #-}

-- | Usage: @'glVertexAttrib2sv' index v@
--
-- The length of @v@ should be @2@.


glVertexAttrib2sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()
glVertexAttrib2sv :: GLenum -> Ptr GLshort -> m ()
glVertexAttrib2sv = FunPtr (GLenum -> Ptr GLshort -> IO ())
-> GLenum -> Ptr GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLshort -> IO ())
-> GLenum -> Ptr GLshort -> m ()
ffiuintPtrshortIOV FunPtr (GLenum -> Ptr GLshort -> IO ())
glVertexAttrib2svFunPtr

glVertexAttrib2svFunPtr :: FunPtr (GLuint -> Ptr GLshort -> IO ())
glVertexAttrib2svFunPtr :: FunPtr (GLenum -> Ptr GLshort -> IO ())
glVertexAttrib2svFunPtr = IO (FunPtr (GLenum -> Ptr GLshort -> IO ()))
-> FunPtr (GLenum -> Ptr GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib2sv")

{-# NOINLINE glVertexAttrib2svFunPtr #-}

-- | Usage: @'glVertexAttrib3d' index x y z@
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glVertexAttrib3dv'.


glVertexAttrib3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()
glVertexAttrib3d :: GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()
glVertexAttrib3d = FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()
ffiuintdoubledoubledoubleIOV FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ())
glVertexAttrib3dFunPtr

glVertexAttrib3dFunPtr :: FunPtr (GLuint -> GLdouble -> GLdouble -> GLdouble -> IO ())
glVertexAttrib3dFunPtr :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ())
glVertexAttrib3dFunPtr = IO (FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ()))
-> FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib3d")

{-# NOINLINE glVertexAttrib3dFunPtr #-}

-- | Usage: @'glVertexAttrib3dv' index v@
--
-- The length of @v@ should be @3@.


glVertexAttrib3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()
glVertexAttrib3dv :: GLenum -> Ptr GLdouble -> m ()
glVertexAttrib3dv = FunPtr (GLenum -> Ptr GLdouble -> IO ())
-> GLenum -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLdouble -> IO ())
-> GLenum -> Ptr GLdouble -> m ()
ffiuintPtrdoubleIOV FunPtr (GLenum -> Ptr GLdouble -> IO ())
glVertexAttrib3dvFunPtr

glVertexAttrib3dvFunPtr :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
glVertexAttrib3dvFunPtr :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
glVertexAttrib3dvFunPtr = IO (FunPtr (GLenum -> Ptr GLdouble -> IO ()))
-> FunPtr (GLenum -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib3dv")

{-# NOINLINE glVertexAttrib3dvFunPtr #-}

-- | Usage: @'glVertexAttrib3f' index x y z@
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glVertexAttrib3fv'.


glVertexAttrib3f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()
glVertexAttrib3f :: GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()
glVertexAttrib3f = FunPtr (GLenum -> GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()
ffiuintfloatfloatfloatIOV FunPtr (GLenum -> GLfloat -> GLfloat -> GLfloat -> IO ())
glVertexAttrib3fFunPtr

glVertexAttrib3fFunPtr :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> IO ())
glVertexAttrib3fFunPtr :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLfloat -> IO ())
glVertexAttrib3fFunPtr = IO (FunPtr (GLenum -> GLfloat -> GLfloat -> GLfloat -> IO ()))
-> FunPtr (GLenum -> GLfloat -> GLfloat -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLfloat -> GLfloat -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib3f")

{-# NOINLINE glVertexAttrib3fFunPtr #-}

-- | Usage: @'glVertexAttrib3fv' index v@
--
-- The length of @v@ should be @3@.


glVertexAttrib3fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()
glVertexAttrib3fv :: GLenum -> Ptr GLfloat -> m ()
glVertexAttrib3fv = FunPtr (GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> Ptr GLfloat -> m ()
ffiuintPtrfloatIOV FunPtr (GLenum -> Ptr GLfloat -> IO ())
glVertexAttrib3fvFunPtr

glVertexAttrib3fvFunPtr :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
glVertexAttrib3fvFunPtr :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
glVertexAttrib3fvFunPtr = IO (FunPtr (GLenum -> Ptr GLfloat -> IO ()))
-> FunPtr (GLenum -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib3fv")

{-# NOINLINE glVertexAttrib3fvFunPtr #-}

-- | Usage: @'glVertexAttrib3s' index x y z@
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glVertexAttrib3sv'.


glVertexAttrib3s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> m ()
glVertexAttrib3s :: GLenum -> GLshort -> GLshort -> GLshort -> m ()
glVertexAttrib3s = FunPtr (GLenum -> GLshort -> GLshort -> GLshort -> IO ())
-> GLenum -> GLshort -> GLshort -> GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLshort -> GLshort -> GLshort -> IO ())
-> GLenum -> GLshort -> GLshort -> GLshort -> m ()
ffiuintshortshortshortIOV FunPtr (GLenum -> GLshort -> GLshort -> GLshort -> IO ())
glVertexAttrib3sFunPtr

glVertexAttrib3sFunPtr :: FunPtr (GLuint -> GLshort -> GLshort -> GLshort -> IO ())
glVertexAttrib3sFunPtr :: FunPtr (GLenum -> GLshort -> GLshort -> GLshort -> IO ())
glVertexAttrib3sFunPtr = IO (FunPtr (GLenum -> GLshort -> GLshort -> GLshort -> IO ()))
-> FunPtr (GLenum -> GLshort -> GLshort -> GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLshort -> GLshort -> GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib3s")

{-# NOINLINE glVertexAttrib3sFunPtr #-}

-- | Usage: @'glVertexAttrib3sv' index v@
--
-- The length of @v@ should be @3@.


glVertexAttrib3sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()
glVertexAttrib3sv :: GLenum -> Ptr GLshort -> m ()
glVertexAttrib3sv = FunPtr (GLenum -> Ptr GLshort -> IO ())
-> GLenum -> Ptr GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLshort -> IO ())
-> GLenum -> Ptr GLshort -> m ()
ffiuintPtrshortIOV FunPtr (GLenum -> Ptr GLshort -> IO ())
glVertexAttrib3svFunPtr

glVertexAttrib3svFunPtr :: FunPtr (GLuint -> Ptr GLshort -> IO ())
glVertexAttrib3svFunPtr :: FunPtr (GLenum -> Ptr GLshort -> IO ())
glVertexAttrib3svFunPtr = IO (FunPtr (GLenum -> Ptr GLshort -> IO ()))
-> FunPtr (GLenum -> Ptr GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib3sv")

{-# NOINLINE glVertexAttrib3svFunPtr #-}

-- | Usage: @'glVertexAttrib4Nbv' index v@
--
-- The length of @v@ should be @4@.


glVertexAttrib4Nbv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()
glVertexAttrib4Nbv :: GLenum -> Ptr GLbyte -> m ()
glVertexAttrib4Nbv = FunPtr (GLenum -> Ptr GLbyte -> IO ())
-> GLenum -> Ptr GLbyte -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLbyte -> IO ())
-> GLenum -> Ptr GLbyte -> m ()
ffiuintPtrbyteIOV FunPtr (GLenum -> Ptr GLbyte -> IO ())
glVertexAttrib4NbvFunPtr

glVertexAttrib4NbvFunPtr :: FunPtr (GLuint -> Ptr GLbyte -> IO ())
glVertexAttrib4NbvFunPtr :: FunPtr (GLenum -> Ptr GLbyte -> IO ())
glVertexAttrib4NbvFunPtr = IO (FunPtr (GLenum -> Ptr GLbyte -> IO ()))
-> FunPtr (GLenum -> Ptr GLbyte -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLbyte -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib4Nbv")

{-# NOINLINE glVertexAttrib4NbvFunPtr #-}

-- | Usage: @'glVertexAttrib4Niv' index v@
--
-- The length of @v@ should be @4@.


glVertexAttrib4Niv :: MonadIO m => GLuint -> Ptr GLint -> m ()
glVertexAttrib4Niv :: GLenum -> Ptr GLsizei -> m ()
glVertexAttrib4Niv = FunPtr (GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> Ptr GLsizei -> m ()
ffiuintPtrintIOV FunPtr (GLenum -> Ptr GLsizei -> IO ())
glVertexAttrib4NivFunPtr

glVertexAttrib4NivFunPtr :: FunPtr (GLuint -> Ptr GLint -> IO ())
glVertexAttrib4NivFunPtr :: FunPtr (GLenum -> Ptr GLsizei -> IO ())
glVertexAttrib4NivFunPtr = IO (FunPtr (GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib4Niv")

{-# NOINLINE glVertexAttrib4NivFunPtr #-}

-- | Usage: @'glVertexAttrib4Nsv' index v@
--
-- The length of @v@ should be @4@.


glVertexAttrib4Nsv :: MonadIO m => GLuint -> Ptr GLshort -> m ()
glVertexAttrib4Nsv :: GLenum -> Ptr GLshort -> m ()
glVertexAttrib4Nsv = FunPtr (GLenum -> Ptr GLshort -> IO ())
-> GLenum -> Ptr GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLshort -> IO ())
-> GLenum -> Ptr GLshort -> m ()
ffiuintPtrshortIOV FunPtr (GLenum -> Ptr GLshort -> IO ())
glVertexAttrib4NsvFunPtr

glVertexAttrib4NsvFunPtr :: FunPtr (GLuint -> Ptr GLshort -> IO ())
glVertexAttrib4NsvFunPtr :: FunPtr (GLenum -> Ptr GLshort -> IO ())
glVertexAttrib4NsvFunPtr = IO (FunPtr (GLenum -> Ptr GLshort -> IO ()))
-> FunPtr (GLenum -> Ptr GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib4Nsv")

{-# NOINLINE glVertexAttrib4NsvFunPtr #-}

-- | Usage: @'glVertexAttrib4Nub' index x y z w@


glVertexAttrib4Nub :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()
glVertexAttrib4Nub :: GLenum -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()
glVertexAttrib4Nub = FunPtr
  (GLenum
   -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
-> GLenum
-> GLboolean
-> GLboolean
-> GLboolean
-> GLboolean
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
-> GLenum
-> GLboolean
-> GLboolean
-> GLboolean
-> GLboolean
-> m ()
ffiuintubyteubyteubyteubyteIOV FunPtr
  (GLenum
   -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
glVertexAttrib4NubFunPtr

glVertexAttrib4NubFunPtr :: FunPtr (GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> IO ())
glVertexAttrib4NubFunPtr :: FunPtr
  (GLenum
   -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
glVertexAttrib4NubFunPtr = IO
  (FunPtr
     (GLenum
      -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ()))
-> FunPtr
     (GLenum
      -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib4Nub")

{-# NOINLINE glVertexAttrib4NubFunPtr #-}

-- | Usage: @'glVertexAttrib4Nubv' index v@
--
-- The length of @v@ should be @4@.


glVertexAttrib4Nubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()
glVertexAttrib4Nubv :: GLenum -> Ptr GLboolean -> m ()
glVertexAttrib4Nubv = FunPtr (GLenum -> Ptr GLboolean -> IO ())
-> GLenum -> Ptr GLboolean -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLboolean -> IO ())
-> GLenum -> Ptr GLboolean -> m ()
ffiuintPtrubyteIOV FunPtr (GLenum -> Ptr GLboolean -> IO ())
glVertexAttrib4NubvFunPtr

glVertexAttrib4NubvFunPtr :: FunPtr (GLuint -> Ptr GLubyte -> IO ())
glVertexAttrib4NubvFunPtr :: FunPtr (GLenum -> Ptr GLboolean -> IO ())
glVertexAttrib4NubvFunPtr = IO (FunPtr (GLenum -> Ptr GLboolean -> IO ()))
-> FunPtr (GLenum -> Ptr GLboolean -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLboolean -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib4Nubv")

{-# NOINLINE glVertexAttrib4NubvFunPtr #-}

-- | Usage: @'glVertexAttrib4Nuiv' index v@
--
-- The length of @v@ should be @4@.


glVertexAttrib4Nuiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()
glVertexAttrib4Nuiv :: GLenum -> Ptr GLenum -> m ()
glVertexAttrib4Nuiv = FunPtr (GLenum -> Ptr GLenum -> IO ())
-> GLenum -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLenum -> IO ())
-> GLenum -> Ptr GLenum -> m ()
ffiuintPtruintIOV FunPtr (GLenum -> Ptr GLenum -> IO ())
glVertexAttrib4NuivFunPtr

glVertexAttrib4NuivFunPtr :: FunPtr (GLuint -> Ptr GLuint -> IO ())
glVertexAttrib4NuivFunPtr :: FunPtr (GLenum -> Ptr GLenum -> IO ())
glVertexAttrib4NuivFunPtr = IO (FunPtr (GLenum -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib4Nuiv")

{-# NOINLINE glVertexAttrib4NuivFunPtr #-}

-- | Usage: @'glVertexAttrib4Nusv' index v@
--
-- The length of @v@ should be @4@.


glVertexAttrib4Nusv :: MonadIO m => GLuint -> Ptr GLushort -> m ()
glVertexAttrib4Nusv :: GLenum -> Ptr GLushort -> m ()
glVertexAttrib4Nusv = FunPtr (GLenum -> Ptr GLushort -> IO ())
-> GLenum -> Ptr GLushort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLushort -> IO ())
-> GLenum -> Ptr GLushort -> m ()
ffiuintPtrushortIOV FunPtr (GLenum -> Ptr GLushort -> IO ())
glVertexAttrib4NusvFunPtr

glVertexAttrib4NusvFunPtr :: FunPtr (GLuint -> Ptr GLushort -> IO ())
glVertexAttrib4NusvFunPtr :: FunPtr (GLenum -> Ptr GLushort -> IO ())
glVertexAttrib4NusvFunPtr = IO (FunPtr (GLenum -> Ptr GLushort -> IO ()))
-> FunPtr (GLenum -> Ptr GLushort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLushort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib4Nusv")

{-# NOINLINE glVertexAttrib4NusvFunPtr #-}

-- | Usage: @'glVertexAttrib4bv' index v@
--
-- The length of @v@ should be @4@.


glVertexAttrib4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()
glVertexAttrib4bv :: GLenum -> Ptr GLbyte -> m ()
glVertexAttrib4bv = FunPtr (GLenum -> Ptr GLbyte -> IO ())
-> GLenum -> Ptr GLbyte -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLbyte -> IO ())
-> GLenum -> Ptr GLbyte -> m ()
ffiuintPtrbyteIOV FunPtr (GLenum -> Ptr GLbyte -> IO ())
glVertexAttrib4bvFunPtr

glVertexAttrib4bvFunPtr :: FunPtr (GLuint -> Ptr GLbyte -> IO ())
glVertexAttrib4bvFunPtr :: FunPtr (GLenum -> Ptr GLbyte -> IO ())
glVertexAttrib4bvFunPtr = IO (FunPtr (GLenum -> Ptr GLbyte -> IO ()))
-> FunPtr (GLenum -> Ptr GLbyte -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLbyte -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib4bv")

{-# NOINLINE glVertexAttrib4bvFunPtr #-}

-- | Usage: @'glVertexAttrib4d' index x y z w@
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glVertexAttrib4dv'.


glVertexAttrib4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glVertexAttrib4d :: GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glVertexAttrib4d = FunPtr
  (GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
ffiuintdoubledoubledoubledoubleIOV FunPtr
  (GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
glVertexAttrib4dFunPtr

glVertexAttrib4dFunPtr :: FunPtr (GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
glVertexAttrib4dFunPtr :: FunPtr
  (GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
glVertexAttrib4dFunPtr = IO
  (FunPtr
     (GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()))
-> FunPtr
     (GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib4d")

{-# NOINLINE glVertexAttrib4dFunPtr #-}

-- | Usage: @'glVertexAttrib4dv' index v@
--
-- The length of @v@ should be @4@.


glVertexAttrib4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()
glVertexAttrib4dv :: GLenum -> Ptr GLdouble -> m ()
glVertexAttrib4dv = FunPtr (GLenum -> Ptr GLdouble -> IO ())
-> GLenum -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLdouble -> IO ())
-> GLenum -> Ptr GLdouble -> m ()
ffiuintPtrdoubleIOV FunPtr (GLenum -> Ptr GLdouble -> IO ())
glVertexAttrib4dvFunPtr

glVertexAttrib4dvFunPtr :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
glVertexAttrib4dvFunPtr :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
glVertexAttrib4dvFunPtr = IO (FunPtr (GLenum -> Ptr GLdouble -> IO ()))
-> FunPtr (GLenum -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib4dv")

{-# NOINLINE glVertexAttrib4dvFunPtr #-}

-- | Usage: @'glVertexAttrib4f' index x y z w@
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glVertexAttrib4fv'.


glVertexAttrib4f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glVertexAttrib4f :: GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glVertexAttrib4f = FunPtr
  (GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
ffiuintfloatfloatfloatfloatIOV FunPtr
  (GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glVertexAttrib4fFunPtr

glVertexAttrib4fFunPtr :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glVertexAttrib4fFunPtr :: FunPtr
  (GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glVertexAttrib4fFunPtr = IO
  (FunPtr
     (GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()))
-> FunPtr
     (GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib4f")

{-# NOINLINE glVertexAttrib4fFunPtr #-}

-- | Usage: @'glVertexAttrib4fv' index v@
--
-- The length of @v@ should be @4@.


glVertexAttrib4fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()
glVertexAttrib4fv :: GLenum -> Ptr GLfloat -> m ()
glVertexAttrib4fv = FunPtr (GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> Ptr GLfloat -> m ()
ffiuintPtrfloatIOV FunPtr (GLenum -> Ptr GLfloat -> IO ())
glVertexAttrib4fvFunPtr

glVertexAttrib4fvFunPtr :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
glVertexAttrib4fvFunPtr :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
glVertexAttrib4fvFunPtr = IO (FunPtr (GLenum -> Ptr GLfloat -> IO ()))
-> FunPtr (GLenum -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib4fv")

{-# NOINLINE glVertexAttrib4fvFunPtr #-}

-- | Usage: @'glVertexAttrib4iv' index v@
--
-- The length of @v@ should be @4@.


glVertexAttrib4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()
glVertexAttrib4iv :: GLenum -> Ptr GLsizei -> m ()
glVertexAttrib4iv = FunPtr (GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> Ptr GLsizei -> m ()
ffiuintPtrintIOV FunPtr (GLenum -> Ptr GLsizei -> IO ())
glVertexAttrib4ivFunPtr

glVertexAttrib4ivFunPtr :: FunPtr (GLuint -> Ptr GLint -> IO ())
glVertexAttrib4ivFunPtr :: FunPtr (GLenum -> Ptr GLsizei -> IO ())
glVertexAttrib4ivFunPtr = IO (FunPtr (GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib4iv")

{-# NOINLINE glVertexAttrib4ivFunPtr #-}

-- | Usage: @'glVertexAttrib4s' index x y z w@
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glVertexAttrib4sv'.


glVertexAttrib4s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()
glVertexAttrib4s :: GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> m ()
glVertexAttrib4s = FunPtr
  (GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
-> GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
-> GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> m ()
ffiuintshortshortshortshortIOV FunPtr
  (GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
glVertexAttrib4sFunPtr

glVertexAttrib4sFunPtr :: FunPtr (GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
glVertexAttrib4sFunPtr :: FunPtr
  (GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
glVertexAttrib4sFunPtr = IO
  (FunPtr
     (GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> IO ()))
-> FunPtr
     (GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib4s")

{-# NOINLINE glVertexAttrib4sFunPtr #-}

-- | Usage: @'glVertexAttrib4sv' index v@
--
-- The length of @v@ should be @4@.


glVertexAttrib4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()
glVertexAttrib4sv :: GLenum -> Ptr GLshort -> m ()
glVertexAttrib4sv = FunPtr (GLenum -> Ptr GLshort -> IO ())
-> GLenum -> Ptr GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLshort -> IO ())
-> GLenum -> Ptr GLshort -> m ()
ffiuintPtrshortIOV FunPtr (GLenum -> Ptr GLshort -> IO ())
glVertexAttrib4svFunPtr

glVertexAttrib4svFunPtr :: FunPtr (GLuint -> Ptr GLshort -> IO ())
glVertexAttrib4svFunPtr :: FunPtr (GLenum -> Ptr GLshort -> IO ())
glVertexAttrib4svFunPtr = IO (FunPtr (GLenum -> Ptr GLshort -> IO ()))
-> FunPtr (GLenum -> Ptr GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib4sv")

{-# NOINLINE glVertexAttrib4svFunPtr #-}

-- | Usage: @'glVertexAttrib4ubv' index v@
--
-- The length of @v@ should be @4@.


glVertexAttrib4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()
glVertexAttrib4ubv :: GLenum -> Ptr GLboolean -> m ()
glVertexAttrib4ubv = FunPtr (GLenum -> Ptr GLboolean -> IO ())
-> GLenum -> Ptr GLboolean -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLboolean -> IO ())
-> GLenum -> Ptr GLboolean -> m ()
ffiuintPtrubyteIOV FunPtr (GLenum -> Ptr GLboolean -> IO ())
glVertexAttrib4ubvFunPtr

glVertexAttrib4ubvFunPtr :: FunPtr (GLuint -> Ptr GLubyte -> IO ())
glVertexAttrib4ubvFunPtr :: FunPtr (GLenum -> Ptr GLboolean -> IO ())
glVertexAttrib4ubvFunPtr = IO (FunPtr (GLenum -> Ptr GLboolean -> IO ()))
-> FunPtr (GLenum -> Ptr GLboolean -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLboolean -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib4ubv")

{-# NOINLINE glVertexAttrib4ubvFunPtr #-}

-- | Usage: @'glVertexAttrib4uiv' index v@
--
-- The length of @v@ should be @4@.


glVertexAttrib4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()
glVertexAttrib4uiv :: GLenum -> Ptr GLenum -> m ()
glVertexAttrib4uiv = FunPtr (GLenum -> Ptr GLenum -> IO ())
-> GLenum -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLenum -> IO ())
-> GLenum -> Ptr GLenum -> m ()
ffiuintPtruintIOV FunPtr (GLenum -> Ptr GLenum -> IO ())
glVertexAttrib4uivFunPtr

glVertexAttrib4uivFunPtr :: FunPtr (GLuint -> Ptr GLuint -> IO ())
glVertexAttrib4uivFunPtr :: FunPtr (GLenum -> Ptr GLenum -> IO ())
glVertexAttrib4uivFunPtr = IO (FunPtr (GLenum -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib4uiv")

{-# NOINLINE glVertexAttrib4uivFunPtr #-}

-- | Usage: @'glVertexAttrib4usv' index v@
--
-- The length of @v@ should be @4@.


glVertexAttrib4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()
glVertexAttrib4usv :: GLenum -> Ptr GLushort -> m ()
glVertexAttrib4usv = FunPtr (GLenum -> Ptr GLushort -> IO ())
-> GLenum -> Ptr GLushort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLushort -> IO ())
-> GLenum -> Ptr GLushort -> m ()
ffiuintPtrushortIOV FunPtr (GLenum -> Ptr GLushort -> IO ())
glVertexAttrib4usvFunPtr

glVertexAttrib4usvFunPtr :: FunPtr (GLuint -> Ptr GLushort -> IO ())
glVertexAttrib4usvFunPtr :: FunPtr (GLenum -> Ptr GLushort -> IO ())
glVertexAttrib4usvFunPtr = IO (FunPtr (GLenum -> Ptr GLushort -> IO ()))
-> FunPtr (GLenum -> Ptr GLushort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLushort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib4usv")

{-# NOINLINE glVertexAttrib4usvFunPtr #-}

-- | Usage: @'glVertexAttribI1i' index x@
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glVertexAttribI1iv'.


glVertexAttribI1i :: MonadIO m => GLuint -> GLint -> m ()
glVertexAttribI1i :: GLenum -> GLsizei -> m ()
glVertexAttribI1i = FunPtr (GLenum -> GLsizei -> IO ()) -> GLenum -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> IO ()) -> GLenum -> GLsizei -> m ()
ffiuintintIOV FunPtr (GLenum -> GLsizei -> IO ())
glVertexAttribI1iFunPtr

glVertexAttribI1iFunPtr :: FunPtr (GLuint -> GLint -> IO ())
glVertexAttribI1iFunPtr :: FunPtr (GLenum -> GLsizei -> IO ())
glVertexAttribI1iFunPtr = IO (FunPtr (GLenum -> GLsizei -> IO ()))
-> FunPtr (GLenum -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttribI1i")

{-# NOINLINE glVertexAttribI1iFunPtr #-}

-- | Usage: @'glVertexAttribI1iv' index v@
--
-- The length of @v@ should be @1@.


glVertexAttribI1iv :: MonadIO m => GLuint -> Ptr GLint -> m ()
glVertexAttribI1iv :: GLenum -> Ptr GLsizei -> m ()
glVertexAttribI1iv = FunPtr (GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> Ptr GLsizei -> m ()
ffiuintPtrintIOV FunPtr (GLenum -> Ptr GLsizei -> IO ())
glVertexAttribI1ivFunPtr

glVertexAttribI1ivFunPtr :: FunPtr (GLuint -> Ptr GLint -> IO ())
glVertexAttribI1ivFunPtr :: FunPtr (GLenum -> Ptr GLsizei -> IO ())
glVertexAttribI1ivFunPtr = IO (FunPtr (GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttribI1iv")

{-# NOINLINE glVertexAttribI1ivFunPtr #-}

-- | Usage: @'glVertexAttribI1ui' index x@
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glVertexAttribI1uiv'.


glVertexAttribI1ui :: MonadIO m => GLuint -> GLuint -> m ()
glVertexAttribI1ui :: GLenum -> GLenum -> m ()
glVertexAttribI1ui = FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
ffiuintuintIOV FunPtr (GLenum -> GLenum -> IO ())
glVertexAttribI1uiFunPtr

glVertexAttribI1uiFunPtr :: FunPtr (GLuint -> GLuint -> IO ())
glVertexAttribI1uiFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glVertexAttribI1uiFunPtr = IO (FunPtr (GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttribI1ui")

{-# NOINLINE glVertexAttribI1uiFunPtr #-}

-- | Usage: @'glVertexAttribI1uiv' index v@
--
-- The length of @v@ should be @1@.


glVertexAttribI1uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()
glVertexAttribI1uiv :: GLenum -> Ptr GLenum -> m ()
glVertexAttribI1uiv = FunPtr (GLenum -> Ptr GLenum -> IO ())
-> GLenum -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLenum -> IO ())
-> GLenum -> Ptr GLenum -> m ()
ffiuintPtruintIOV FunPtr (GLenum -> Ptr GLenum -> IO ())
glVertexAttribI1uivFunPtr

glVertexAttribI1uivFunPtr :: FunPtr (GLuint -> Ptr GLuint -> IO ())
glVertexAttribI1uivFunPtr :: FunPtr (GLenum -> Ptr GLenum -> IO ())
glVertexAttribI1uivFunPtr = IO (FunPtr (GLenum -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttribI1uiv")

{-# NOINLINE glVertexAttribI1uivFunPtr #-}

-- | Usage: @'glVertexAttribI2i' index x y@
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glVertexAttribI2iv'.


glVertexAttribI2i :: MonadIO m => GLuint -> GLint -> GLint -> m ()
glVertexAttribI2i :: GLenum -> GLsizei -> GLsizei -> m ()
glVertexAttribI2i = FunPtr (GLenum -> GLsizei -> GLsizei -> IO ())
-> GLenum -> GLsizei -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLsizei -> IO ())
-> GLenum -> GLsizei -> GLsizei -> m ()
ffiuintintintIOV FunPtr (GLenum -> GLsizei -> GLsizei -> IO ())
glVertexAttribI2iFunPtr

glVertexAttribI2iFunPtr :: FunPtr (GLuint -> GLint -> GLint -> IO ())
glVertexAttribI2iFunPtr :: FunPtr (GLenum -> GLsizei -> GLsizei -> IO ())
glVertexAttribI2iFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLsizei -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttribI2i")

{-# NOINLINE glVertexAttribI2iFunPtr #-}

-- | Usage: @'glVertexAttribI2iv' index v@
--
-- The length of @v@ should be @2@.


glVertexAttribI2iv :: MonadIO m => GLuint -> Ptr GLint -> m ()
glVertexAttribI2iv :: GLenum -> Ptr GLsizei -> m ()
glVertexAttribI2iv = FunPtr (GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> Ptr GLsizei -> m ()
ffiuintPtrintIOV FunPtr (GLenum -> Ptr GLsizei -> IO ())
glVertexAttribI2ivFunPtr

glVertexAttribI2ivFunPtr :: FunPtr (GLuint -> Ptr GLint -> IO ())
glVertexAttribI2ivFunPtr :: FunPtr (GLenum -> Ptr GLsizei -> IO ())
glVertexAttribI2ivFunPtr = IO (FunPtr (GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttribI2iv")

{-# NOINLINE glVertexAttribI2ivFunPtr #-}

-- | Usage: @'glVertexAttribI2ui' index x y@
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glVertexAttribI2uiv'.


glVertexAttribI2ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()
glVertexAttribI2ui :: GLenum -> GLenum -> GLenum -> m ()
glVertexAttribI2ui = FunPtr (GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> m ()
ffiuintuintuintIOV FunPtr (GLenum -> GLenum -> GLenum -> IO ())
glVertexAttribI2uiFunPtr

glVertexAttribI2uiFunPtr :: FunPtr (GLuint -> GLuint -> GLuint -> IO ())
glVertexAttribI2uiFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> IO ())
glVertexAttribI2uiFunPtr = IO (FunPtr (GLenum -> GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttribI2ui")

{-# NOINLINE glVertexAttribI2uiFunPtr #-}

-- | Usage: @'glVertexAttribI2uiv' index v@
--
-- The length of @v@ should be @2@.


glVertexAttribI2uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()
glVertexAttribI2uiv :: GLenum -> Ptr GLenum -> m ()
glVertexAttribI2uiv = FunPtr (GLenum -> Ptr GLenum -> IO ())
-> GLenum -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLenum -> IO ())
-> GLenum -> Ptr GLenum -> m ()
ffiuintPtruintIOV FunPtr (GLenum -> Ptr GLenum -> IO ())
glVertexAttribI2uivFunPtr

glVertexAttribI2uivFunPtr :: FunPtr (GLuint -> Ptr GLuint -> IO ())
glVertexAttribI2uivFunPtr :: FunPtr (GLenum -> Ptr GLenum -> IO ())
glVertexAttribI2uivFunPtr = IO (FunPtr (GLenum -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttribI2uiv")

{-# NOINLINE glVertexAttribI2uivFunPtr #-}

-- | Usage: @'glVertexAttribI3i' index x y z@
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glVertexAttribI3iv'.


glVertexAttribI3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()
glVertexAttribI3i :: GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()
glVertexAttribI3i = FunPtr (GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()
ffiuintintintintIOV FunPtr (GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
glVertexAttribI3iFunPtr

glVertexAttribI3iFunPtr :: FunPtr (GLuint -> GLint -> GLint -> GLint -> IO ())
glVertexAttribI3iFunPtr :: FunPtr (GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
glVertexAttribI3iFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttribI3i")

{-# NOINLINE glVertexAttribI3iFunPtr #-}

-- | Usage: @'glVertexAttribI3iv' index v@
--
-- The length of @v@ should be @3@.


glVertexAttribI3iv :: MonadIO m => GLuint -> Ptr GLint -> m ()
glVertexAttribI3iv :: GLenum -> Ptr GLsizei -> m ()
glVertexAttribI3iv = FunPtr (GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> Ptr GLsizei -> m ()
ffiuintPtrintIOV FunPtr (GLenum -> Ptr GLsizei -> IO ())
glVertexAttribI3ivFunPtr

glVertexAttribI3ivFunPtr :: FunPtr (GLuint -> Ptr GLint -> IO ())
glVertexAttribI3ivFunPtr :: FunPtr (GLenum -> Ptr GLsizei -> IO ())
glVertexAttribI3ivFunPtr = IO (FunPtr (GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttribI3iv")

{-# NOINLINE glVertexAttribI3ivFunPtr #-}

-- | Usage: @'glVertexAttribI3ui' index x y z@
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glVertexAttribI3uiv'.


glVertexAttribI3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()
glVertexAttribI3ui :: GLenum -> GLenum -> GLenum -> GLenum -> m ()
glVertexAttribI3ui = FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> GLenum -> m ()
ffiuintuintuintuintIOV FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
glVertexAttribI3uiFunPtr

glVertexAttribI3uiFunPtr :: FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> IO ())
glVertexAttribI3uiFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
glVertexAttribI3uiFunPtr = IO (FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttribI3ui")

{-# NOINLINE glVertexAttribI3uiFunPtr #-}

-- | Usage: @'glVertexAttribI3uiv' index v@
--
-- The length of @v@ should be @3@.


glVertexAttribI3uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()
glVertexAttribI3uiv :: GLenum -> Ptr GLenum -> m ()
glVertexAttribI3uiv = FunPtr (GLenum -> Ptr GLenum -> IO ())
-> GLenum -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLenum -> IO ())
-> GLenum -> Ptr GLenum -> m ()
ffiuintPtruintIOV FunPtr (GLenum -> Ptr GLenum -> IO ())
glVertexAttribI3uivFunPtr

glVertexAttribI3uivFunPtr :: FunPtr (GLuint -> Ptr GLuint -> IO ())
glVertexAttribI3uivFunPtr :: FunPtr (GLenum -> Ptr GLenum -> IO ())
glVertexAttribI3uivFunPtr = IO (FunPtr (GLenum -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttribI3uiv")

{-# NOINLINE glVertexAttribI3uivFunPtr #-}

-- | Usage: @'glVertexAttribI4bv' index v@
--
-- The length of @v@ should be @4@.


glVertexAttribI4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()
glVertexAttribI4bv :: GLenum -> Ptr GLbyte -> m ()
glVertexAttribI4bv = FunPtr (GLenum -> Ptr GLbyte -> IO ())
-> GLenum -> Ptr GLbyte -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLbyte -> IO ())
-> GLenum -> Ptr GLbyte -> m ()
ffiuintPtrbyteIOV FunPtr (GLenum -> Ptr GLbyte -> IO ())
glVertexAttribI4bvFunPtr

glVertexAttribI4bvFunPtr :: FunPtr (GLuint -> Ptr GLbyte -> IO ())
glVertexAttribI4bvFunPtr :: FunPtr (GLenum -> Ptr GLbyte -> IO ())
glVertexAttribI4bvFunPtr = IO (FunPtr (GLenum -> Ptr GLbyte -> IO ()))
-> FunPtr (GLenum -> Ptr GLbyte -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLbyte -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttribI4bv")

{-# NOINLINE glVertexAttribI4bvFunPtr #-}

-- | Usage: @'glVertexAttribI4i' index x y z w@
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glVertexAttribI4iv'.


glVertexAttribI4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()
glVertexAttribI4i :: GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> m ()
glVertexAttribI4i = FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> m ()
ffiuintintintintintIOV FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
glVertexAttribI4iFunPtr

glVertexAttribI4iFunPtr :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> IO ())
glVertexAttribI4iFunPtr :: FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
glVertexAttribI4iFunPtr = IO
  (FunPtr
     (GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ()))
-> FunPtr
     (GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttribI4i")

{-# NOINLINE glVertexAttribI4iFunPtr #-}

-- | Usage: @'glVertexAttribI4iv' index v@
--
-- The length of @v@ should be @4@.


glVertexAttribI4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()
glVertexAttribI4iv :: GLenum -> Ptr GLsizei -> m ()
glVertexAttribI4iv = FunPtr (GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> Ptr GLsizei -> m ()
ffiuintPtrintIOV FunPtr (GLenum -> Ptr GLsizei -> IO ())
glVertexAttribI4ivFunPtr

glVertexAttribI4ivFunPtr :: FunPtr (GLuint -> Ptr GLint -> IO ())
glVertexAttribI4ivFunPtr :: FunPtr (GLenum -> Ptr GLsizei -> IO ())
glVertexAttribI4ivFunPtr = IO (FunPtr (GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttribI4iv")

{-# NOINLINE glVertexAttribI4ivFunPtr #-}

-- | Usage: @'glVertexAttribI4sv' index v@
--
-- The length of @v@ should be @4@.


glVertexAttribI4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()
glVertexAttribI4sv :: GLenum -> Ptr GLshort -> m ()
glVertexAttribI4sv = FunPtr (GLenum -> Ptr GLshort -> IO ())
-> GLenum -> Ptr GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLshort -> IO ())
-> GLenum -> Ptr GLshort -> m ()
ffiuintPtrshortIOV FunPtr (GLenum -> Ptr GLshort -> IO ())
glVertexAttribI4svFunPtr

glVertexAttribI4svFunPtr :: FunPtr (GLuint -> Ptr GLshort -> IO ())
glVertexAttribI4svFunPtr :: FunPtr (GLenum -> Ptr GLshort -> IO ())
glVertexAttribI4svFunPtr = IO (FunPtr (GLenum -> Ptr GLshort -> IO ()))
-> FunPtr (GLenum -> Ptr GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttribI4sv")

{-# NOINLINE glVertexAttribI4svFunPtr #-}

-- | Usage: @'glVertexAttribI4ubv' index v@
--
-- The length of @v@ should be @4@.


glVertexAttribI4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()
glVertexAttribI4ubv :: GLenum -> Ptr GLboolean -> m ()
glVertexAttribI4ubv = FunPtr (GLenum -> Ptr GLboolean -> IO ())
-> GLenum -> Ptr GLboolean -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLboolean -> IO ())
-> GLenum -> Ptr GLboolean -> m ()
ffiuintPtrubyteIOV FunPtr (GLenum -> Ptr GLboolean -> IO ())
glVertexAttribI4ubvFunPtr

glVertexAttribI4ubvFunPtr :: FunPtr (GLuint -> Ptr GLubyte -> IO ())
glVertexAttribI4ubvFunPtr :: FunPtr (GLenum -> Ptr GLboolean -> IO ())
glVertexAttribI4ubvFunPtr = IO (FunPtr (GLenum -> Ptr GLboolean -> IO ()))
-> FunPtr (GLenum -> Ptr GLboolean -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLboolean -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttribI4ubv")

{-# NOINLINE glVertexAttribI4ubvFunPtr #-}

-- | Usage: @'glVertexAttribI4ui' index x y z w@
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glVertexAttribI4uiv'.


glVertexAttribI4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
glVertexAttribI4ui :: GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> m ()
glVertexAttribI4ui = FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> m ()
ffiuintuintuintuintuintIOV FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
glVertexAttribI4uiFunPtr

glVertexAttribI4uiFunPtr :: FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
glVertexAttribI4uiFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
glVertexAttribI4uiFunPtr = IO
  (FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttribI4ui")

{-# NOINLINE glVertexAttribI4uiFunPtr #-}

-- | Usage: @'glVertexAttribI4uiv' index v@
--
-- The length of @v@ should be @4@.


glVertexAttribI4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()
glVertexAttribI4uiv :: GLenum -> Ptr GLenum -> m ()
glVertexAttribI4uiv = FunPtr (GLenum -> Ptr GLenum -> IO ())
-> GLenum -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLenum -> IO ())
-> GLenum -> Ptr GLenum -> m ()
ffiuintPtruintIOV FunPtr (GLenum -> Ptr GLenum -> IO ())
glVertexAttribI4uivFunPtr

glVertexAttribI4uivFunPtr :: FunPtr (GLuint -> Ptr GLuint -> IO ())
glVertexAttribI4uivFunPtr :: FunPtr (GLenum -> Ptr GLenum -> IO ())
glVertexAttribI4uivFunPtr = IO (FunPtr (GLenum -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttribI4uiv")

{-# NOINLINE glVertexAttribI4uivFunPtr #-}

-- | Usage: @'glVertexAttribI4usv' index v@
--
-- The length of @v@ should be @4@.


glVertexAttribI4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()
glVertexAttribI4usv :: GLenum -> Ptr GLushort -> m ()
glVertexAttribI4usv = FunPtr (GLenum -> Ptr GLushort -> IO ())
-> GLenum -> Ptr GLushort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLushort -> IO ())
-> GLenum -> Ptr GLushort -> m ()
ffiuintPtrushortIOV FunPtr (GLenum -> Ptr GLushort -> IO ())
glVertexAttribI4usvFunPtr

glVertexAttribI4usvFunPtr :: FunPtr (GLuint -> Ptr GLushort -> IO ())
glVertexAttribI4usvFunPtr :: FunPtr (GLenum -> Ptr GLushort -> IO ())
glVertexAttribI4usvFunPtr = IO (FunPtr (GLenum -> Ptr GLushort -> IO ()))
-> FunPtr (GLenum -> Ptr GLushort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLushort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttribI4usv")

{-# NOINLINE glVertexAttribI4usvFunPtr #-}

-- | Usage: @'glVertexAttribIPointer' index size type stride pointer@
--
-- The parameter @type@ is a @VertexAttribEnum@.
--
-- The length of @pointer@ should be @COMPSIZE(size,type,stride)@.


glVertexAttribIPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr () -> m ()
glVertexAttribIPointer :: GLenum -> GLsizei -> GLenum -> GLsizei -> Ptr () -> m ()
glVertexAttribIPointer = FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ())
-> GLenum -> GLsizei -> GLenum -> GLsizei -> Ptr () -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ())
-> GLenum -> GLsizei -> GLenum -> GLsizei -> Ptr () -> m ()
ffiuintintenumsizeiPtrVIOV FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ())
glVertexAttribIPointerFunPtr

glVertexAttribIPointerFunPtr :: FunPtr (GLuint -> GLint -> GLenum -> GLsizei -> Ptr () -> IO ())
glVertexAttribIPointerFunPtr :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ())
glVertexAttribIPointerFunPtr = IO
  (FunPtr
     (GLenum -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()))
-> FunPtr
     (GLenum -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttribIPointer")

{-# NOINLINE glVertexAttribIPointerFunPtr #-}

-- | Usage: @'glVertexAttribPointer' index size type normalized stride pointer@
--
-- The parameter @type@ is a @VertexAttribPointerType@.
--
-- The parameter @normalized@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @pointer@ should be @COMPSIZE(size,type,stride)@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glVertexAttribPointer.xhtml>


glVertexAttribPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr () -> m ()
glVertexAttribPointer :: GLenum
-> GLsizei -> GLenum -> GLboolean -> GLsizei -> Ptr () -> m ()
glVertexAttribPointer = FunPtr
  (GLenum
   -> GLsizei -> GLenum -> GLboolean -> GLsizei -> Ptr () -> IO ())
-> GLenum
-> GLsizei
-> GLenum
-> GLboolean
-> GLsizei
-> Ptr ()
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei -> GLenum -> GLboolean -> GLsizei -> Ptr () -> IO ())
-> GLenum
-> GLsizei
-> GLenum
-> GLboolean
-> GLsizei
-> Ptr ()
-> m ()
ffiuintintenumbooleansizeiPtrVIOV FunPtr
  (GLenum
   -> GLsizei -> GLenum -> GLboolean -> GLsizei -> Ptr () -> IO ())
glVertexAttribPointerFunPtr

glVertexAttribPointerFunPtr :: FunPtr (GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr () -> IO ())
glVertexAttribPointerFunPtr :: FunPtr
  (GLenum
   -> GLsizei -> GLenum -> GLboolean -> GLsizei -> Ptr () -> IO ())
glVertexAttribPointerFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei -> GLenum -> GLboolean -> GLsizei -> Ptr () -> IO ()))
-> FunPtr
     (GLenum
      -> GLsizei -> GLenum -> GLboolean -> GLsizei -> Ptr () -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei -> GLenum -> GLboolean -> GLsizei -> Ptr () -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttribPointer")

{-# NOINLINE glVertexAttribPointerFunPtr #-}

-- | Usage: @'glViewport' x y width height@
--
-- The parameter @x@ is a @WinCoord@.
--
-- The parameter @y@ is a @WinCoord@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glViewport.xhtml>


glViewport :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()
glViewport :: GLsizei -> GLsizei -> GLsizei -> GLsizei -> m ()
glViewport = FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLsizei -> GLsizei -> GLsizei -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLsizei -> GLsizei -> GLsizei -> GLsizei -> m ()
ffiintintsizeisizeiIOV FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
glViewportFunPtr

glViewportFunPtr :: FunPtr (GLint -> GLint -> GLsizei -> GLsizei -> IO ())
glViewportFunPtr :: FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
glViewportFunPtr = IO (FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ()))
-> FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glViewport")

{-# NOINLINE glViewportFunPtr #-}

-- | Usage: @'glWaitSync' sync flags timeout@
--
-- The parameter @sync@ is a @sync@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glWaitSync.xhtml>


glWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m ()
glWaitSync :: Ptr () -> GLenum -> GLuint64 -> m ()
glWaitSync = FunPtr (Ptr () -> GLenum -> GLuint64 -> IO ())
-> Ptr () -> GLenum -> GLuint64 -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr () -> GLenum -> GLuint64 -> IO ())
-> Ptr () -> GLenum -> GLuint64 -> m ()
ffisyncbitfielduint64IOV FunPtr (Ptr () -> GLenum -> GLuint64 -> IO ())
glWaitSyncFunPtr

glWaitSyncFunPtr :: FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO ())
glWaitSyncFunPtr :: FunPtr (Ptr () -> GLenum -> GLuint64 -> IO ())
glWaitSyncFunPtr = IO (FunPtr (Ptr () -> GLenum -> GLuint64 -> IO ()))
-> FunPtr (Ptr () -> GLenum -> GLuint64 -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr () -> GLenum -> GLuint64 -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glWaitSync")

{-# NOINLINE glWaitSyncFunPtr #-}

pattern $bGL_ACTIVE_ATTRIBUTES :: a
$mGL_ACTIVE_ATTRIBUTES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ACTIVE_ATTRIBUTES = 0x8B89

pattern $bGL_ACTIVE_ATTRIBUTE_MAX_LENGTH :: a
$mGL_ACTIVE_ATTRIBUTE_MAX_LENGTH :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ACTIVE_ATTRIBUTE_MAX_LENGTH = 0x8B8A

pattern $bGL_ACTIVE_TEXTURE :: a
$mGL_ACTIVE_TEXTURE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ACTIVE_TEXTURE = 0x84E0

pattern $bGL_ACTIVE_UNIFORMS :: a
$mGL_ACTIVE_UNIFORMS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ACTIVE_UNIFORMS = 0x8B86

pattern $bGL_ACTIVE_UNIFORM_BLOCKS :: a
$mGL_ACTIVE_UNIFORM_BLOCKS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ACTIVE_UNIFORM_BLOCKS = 0x8A36

pattern $bGL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH :: a
$mGL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH = 0x8A35

pattern $bGL_ACTIVE_UNIFORM_MAX_LENGTH :: a
$mGL_ACTIVE_UNIFORM_MAX_LENGTH :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ACTIVE_UNIFORM_MAX_LENGTH = 0x8B87

pattern $bGL_ALIASED_LINE_WIDTH_RANGE :: a
$mGL_ALIASED_LINE_WIDTH_RANGE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ALIASED_LINE_WIDTH_RANGE = 0x846E

pattern $bGL_ALPHA :: a
$mGL_ALPHA :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ALPHA = 0x1906

pattern $bGL_ALREADY_SIGNALED :: a
$mGL_ALREADY_SIGNALED :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ALREADY_SIGNALED = 0x911A

pattern $bGL_ALWAYS :: a
$mGL_ALWAYS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ALWAYS = 0x0207

pattern $bGL_AND :: a
$mGL_AND :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_AND = 0x1501

pattern $bGL_AND_INVERTED :: a
$mGL_AND_INVERTED :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_AND_INVERTED = 0x1504

pattern $bGL_AND_REVERSE :: a
$mGL_AND_REVERSE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_AND_REVERSE = 0x1502

pattern $bGL_ARRAY_BUFFER :: a
$mGL_ARRAY_BUFFER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ARRAY_BUFFER = 0x8892

pattern $bGL_ARRAY_BUFFER_BINDING :: a
$mGL_ARRAY_BUFFER_BINDING :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ARRAY_BUFFER_BINDING = 0x8894

pattern $bGL_ATTACHED_SHADERS :: a
$mGL_ATTACHED_SHADERS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ATTACHED_SHADERS = 0x8B85

pattern $bGL_BACK :: a
$mGL_BACK :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_BACK = 0x0405

pattern $bGL_BACK_LEFT :: a
$mGL_BACK_LEFT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_BACK_LEFT = 0x0402

pattern $bGL_BACK_RIGHT :: a
$mGL_BACK_RIGHT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_BACK_RIGHT = 0x0403

pattern $bGL_BGR :: a
$mGL_BGR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_BGR = 0x80E0

pattern $bGL_BGRA :: a
$mGL_BGRA :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_BGRA = 0x80E1

pattern $bGL_BGRA_INTEGER :: a
$mGL_BGRA_INTEGER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_BGRA_INTEGER = 0x8D9B

pattern $bGL_BGR_INTEGER :: a
$mGL_BGR_INTEGER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_BGR_INTEGER = 0x8D9A

pattern $bGL_BLEND :: a
$mGL_BLEND :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_BLEND = 0x0BE2

pattern $bGL_BLEND_COLOR :: a
$mGL_BLEND_COLOR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_BLEND_COLOR = 0x8005

pattern $bGL_BLEND_DST :: a
$mGL_BLEND_DST :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_BLEND_DST = 0x0BE0

pattern $bGL_BLEND_DST_ALPHA :: a
$mGL_BLEND_DST_ALPHA :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_BLEND_DST_ALPHA = 0x80CA

pattern $bGL_BLEND_DST_RGB :: a
$mGL_BLEND_DST_RGB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_BLEND_DST_RGB = 0x80C8

pattern $bGL_BLEND_EQUATION_ALPHA :: a
$mGL_BLEND_EQUATION_ALPHA :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_BLEND_EQUATION_ALPHA = 0x883D

pattern $bGL_BLEND_EQUATION_RGB :: a
$mGL_BLEND_EQUATION_RGB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_BLEND_EQUATION_RGB = 0x8009

pattern $bGL_BLEND_SRC :: a
$mGL_BLEND_SRC :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_BLEND_SRC = 0x0BE1

pattern $bGL_BLEND_SRC_ALPHA :: a
$mGL_BLEND_SRC_ALPHA :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_BLEND_SRC_ALPHA = 0x80CB

pattern $bGL_BLEND_SRC_RGB :: a
$mGL_BLEND_SRC_RGB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_BLEND_SRC_RGB = 0x80C9

pattern $bGL_BLUE :: a
$mGL_BLUE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_BLUE = 0x1905

pattern $bGL_BLUE_INTEGER :: a
$mGL_BLUE_INTEGER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_BLUE_INTEGER = 0x8D96

pattern $bGL_BOOL :: a
$mGL_BOOL :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_BOOL = 0x8B56

pattern $bGL_BOOL_VEC2 :: a
$mGL_BOOL_VEC2 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_BOOL_VEC2 = 0x8B57

pattern $bGL_BOOL_VEC3 :: a
$mGL_BOOL_VEC3 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_BOOL_VEC3 = 0x8B58

pattern $bGL_BOOL_VEC4 :: a
$mGL_BOOL_VEC4 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_BOOL_VEC4 = 0x8B59

pattern $bGL_BUFFER_ACCESS :: a
$mGL_BUFFER_ACCESS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_BUFFER_ACCESS = 0x88BB

pattern $bGL_BUFFER_ACCESS_FLAGS :: a
$mGL_BUFFER_ACCESS_FLAGS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_BUFFER_ACCESS_FLAGS = 0x911F

pattern $bGL_BUFFER_MAPPED :: a
$mGL_BUFFER_MAPPED :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_BUFFER_MAPPED = 0x88BC

pattern $bGL_BUFFER_MAP_LENGTH :: a
$mGL_BUFFER_MAP_LENGTH :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_BUFFER_MAP_LENGTH = 0x9120

pattern $bGL_BUFFER_MAP_OFFSET :: a
$mGL_BUFFER_MAP_OFFSET :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_BUFFER_MAP_OFFSET = 0x9121

pattern $bGL_BUFFER_MAP_POINTER :: a
$mGL_BUFFER_MAP_POINTER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_BUFFER_MAP_POINTER = 0x88BD

pattern $bGL_BUFFER_SIZE :: a
$mGL_BUFFER_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_BUFFER_SIZE = 0x8764

pattern $bGL_BUFFER_USAGE :: a
$mGL_BUFFER_USAGE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_BUFFER_USAGE = 0x8765

pattern $bGL_BYTE :: a
$mGL_BYTE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_BYTE = 0x1400

pattern $bGL_CCW :: a
$mGL_CCW :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CCW = 0x0901

pattern $bGL_CLAMP_READ_COLOR :: a
$mGL_CLAMP_READ_COLOR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CLAMP_READ_COLOR = 0x891C

pattern $bGL_CLAMP_TO_BORDER :: a
$mGL_CLAMP_TO_BORDER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CLAMP_TO_BORDER = 0x812D

pattern $bGL_CLAMP_TO_EDGE :: a
$mGL_CLAMP_TO_EDGE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CLAMP_TO_EDGE = 0x812F

pattern $bGL_CLEAR :: a
$mGL_CLEAR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CLEAR = 0x1500

pattern $bGL_CLIP_DISTANCE0 :: a
$mGL_CLIP_DISTANCE0 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CLIP_DISTANCE0 = 0x3000

pattern $bGL_CLIP_DISTANCE1 :: a
$mGL_CLIP_DISTANCE1 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CLIP_DISTANCE1 = 0x3001

pattern $bGL_CLIP_DISTANCE2 :: a
$mGL_CLIP_DISTANCE2 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CLIP_DISTANCE2 = 0x3002

pattern $bGL_CLIP_DISTANCE3 :: a
$mGL_CLIP_DISTANCE3 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CLIP_DISTANCE3 = 0x3003

pattern $bGL_CLIP_DISTANCE4 :: a
$mGL_CLIP_DISTANCE4 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CLIP_DISTANCE4 = 0x3004

pattern $bGL_CLIP_DISTANCE5 :: a
$mGL_CLIP_DISTANCE5 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CLIP_DISTANCE5 = 0x3005

pattern $bGL_CLIP_DISTANCE6 :: a
$mGL_CLIP_DISTANCE6 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CLIP_DISTANCE6 = 0x3006

pattern $bGL_CLIP_DISTANCE7 :: a
$mGL_CLIP_DISTANCE7 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CLIP_DISTANCE7 = 0x3007

pattern $bGL_COLOR :: a
$mGL_COLOR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR = 0x1800

pattern $bGL_COLOR_ATTACHMENT0 :: a
$mGL_COLOR_ATTACHMENT0 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT0 = 0x8CE0

pattern $bGL_COLOR_ATTACHMENT1 :: a
$mGL_COLOR_ATTACHMENT1 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT1 = 0x8CE1

pattern $bGL_COLOR_ATTACHMENT10 :: a
$mGL_COLOR_ATTACHMENT10 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT10 = 0x8CEA

pattern $bGL_COLOR_ATTACHMENT11 :: a
$mGL_COLOR_ATTACHMENT11 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT11 = 0x8CEB

pattern $bGL_COLOR_ATTACHMENT12 :: a
$mGL_COLOR_ATTACHMENT12 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT12 = 0x8CEC

pattern $bGL_COLOR_ATTACHMENT13 :: a
$mGL_COLOR_ATTACHMENT13 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT13 = 0x8CED

pattern $bGL_COLOR_ATTACHMENT14 :: a
$mGL_COLOR_ATTACHMENT14 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT14 = 0x8CEE

pattern $bGL_COLOR_ATTACHMENT15 :: a
$mGL_COLOR_ATTACHMENT15 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT15 = 0x8CEF

pattern $bGL_COLOR_ATTACHMENT16 :: a
$mGL_COLOR_ATTACHMENT16 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT16 = 0x8CF0

pattern $bGL_COLOR_ATTACHMENT17 :: a
$mGL_COLOR_ATTACHMENT17 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT17 = 0x8CF1

pattern $bGL_COLOR_ATTACHMENT18 :: a
$mGL_COLOR_ATTACHMENT18 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT18 = 0x8CF2

pattern $bGL_COLOR_ATTACHMENT19 :: a
$mGL_COLOR_ATTACHMENT19 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT19 = 0x8CF3

pattern $bGL_COLOR_ATTACHMENT2 :: a
$mGL_COLOR_ATTACHMENT2 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT2 = 0x8CE2

pattern $bGL_COLOR_ATTACHMENT20 :: a
$mGL_COLOR_ATTACHMENT20 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT20 = 0x8CF4

pattern $bGL_COLOR_ATTACHMENT21 :: a
$mGL_COLOR_ATTACHMENT21 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT21 = 0x8CF5

pattern $bGL_COLOR_ATTACHMENT22 :: a
$mGL_COLOR_ATTACHMENT22 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT22 = 0x8CF6

pattern $bGL_COLOR_ATTACHMENT23 :: a
$mGL_COLOR_ATTACHMENT23 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT23 = 0x8CF7

pattern $bGL_COLOR_ATTACHMENT24 :: a
$mGL_COLOR_ATTACHMENT24 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT24 = 0x8CF8

pattern $bGL_COLOR_ATTACHMENT25 :: a
$mGL_COLOR_ATTACHMENT25 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT25 = 0x8CF9

pattern $bGL_COLOR_ATTACHMENT26 :: a
$mGL_COLOR_ATTACHMENT26 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT26 = 0x8CFA

pattern $bGL_COLOR_ATTACHMENT27 :: a
$mGL_COLOR_ATTACHMENT27 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT27 = 0x8CFB

pattern $bGL_COLOR_ATTACHMENT28 :: a
$mGL_COLOR_ATTACHMENT28 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT28 = 0x8CFC

pattern $bGL_COLOR_ATTACHMENT29 :: a
$mGL_COLOR_ATTACHMENT29 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT29 = 0x8CFD

pattern $bGL_COLOR_ATTACHMENT3 :: a
$mGL_COLOR_ATTACHMENT3 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT3 = 0x8CE3

pattern $bGL_COLOR_ATTACHMENT30 :: a
$mGL_COLOR_ATTACHMENT30 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT30 = 0x8CFE

pattern $bGL_COLOR_ATTACHMENT31 :: a
$mGL_COLOR_ATTACHMENT31 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT31 = 0x8CFF

pattern $bGL_COLOR_ATTACHMENT4 :: a
$mGL_COLOR_ATTACHMENT4 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT4 = 0x8CE4

pattern $bGL_COLOR_ATTACHMENT5 :: a
$mGL_COLOR_ATTACHMENT5 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT5 = 0x8CE5

pattern $bGL_COLOR_ATTACHMENT6 :: a
$mGL_COLOR_ATTACHMENT6 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT6 = 0x8CE6

pattern $bGL_COLOR_ATTACHMENT7 :: a
$mGL_COLOR_ATTACHMENT7 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT7 = 0x8CE7

pattern $bGL_COLOR_ATTACHMENT8 :: a
$mGL_COLOR_ATTACHMENT8 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT8 = 0x8CE8

pattern $bGL_COLOR_ATTACHMENT9 :: a
$mGL_COLOR_ATTACHMENT9 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT9 = 0x8CE9

pattern $bGL_COLOR_BUFFER_BIT :: a
$mGL_COLOR_BUFFER_BIT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_BUFFER_BIT = 0x00004000

pattern $bGL_COLOR_CLEAR_VALUE :: a
$mGL_COLOR_CLEAR_VALUE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_CLEAR_VALUE = 0x0C22

pattern $bGL_COLOR_LOGIC_OP :: a
$mGL_COLOR_LOGIC_OP :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_LOGIC_OP = 0x0BF2

pattern $bGL_COLOR_WRITEMASK :: a
$mGL_COLOR_WRITEMASK :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_WRITEMASK = 0x0C23

pattern $bGL_COMPARE_REF_TO_TEXTURE :: a
$mGL_COMPARE_REF_TO_TEXTURE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPARE_REF_TO_TEXTURE = 0x884E

pattern $bGL_COMPILE_STATUS :: a
$mGL_COMPILE_STATUS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPILE_STATUS = 0x8B81

pattern $bGL_COMPRESSED_RED :: a
$mGL_COMPRESSED_RED :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPRESSED_RED = 0x8225

pattern $bGL_COMPRESSED_RED_RGTC1 :: a
$mGL_COMPRESSED_RED_RGTC1 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPRESSED_RED_RGTC1 = 0x8DBB

pattern $bGL_COMPRESSED_RG :: a
$mGL_COMPRESSED_RG :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPRESSED_RG = 0x8226

pattern $bGL_COMPRESSED_RGB :: a
$mGL_COMPRESSED_RGB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPRESSED_RGB = 0x84ED

pattern $bGL_COMPRESSED_RGBA :: a
$mGL_COMPRESSED_RGBA :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPRESSED_RGBA = 0x84EE

pattern $bGL_COMPRESSED_RG_RGTC2 :: a
$mGL_COMPRESSED_RG_RGTC2 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPRESSED_RG_RGTC2 = 0x8DBD

pattern $bGL_COMPRESSED_SIGNED_RED_RGTC1 :: a
$mGL_COMPRESSED_SIGNED_RED_RGTC1 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPRESSED_SIGNED_RED_RGTC1 = 0x8DBC

pattern $bGL_COMPRESSED_SIGNED_RG_RGTC2 :: a
$mGL_COMPRESSED_SIGNED_RG_RGTC2 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPRESSED_SIGNED_RG_RGTC2 = 0x8DBE

pattern $bGL_COMPRESSED_SRGB :: a
$mGL_COMPRESSED_SRGB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPRESSED_SRGB = 0x8C48

pattern $bGL_COMPRESSED_SRGB_ALPHA :: a
$mGL_COMPRESSED_SRGB_ALPHA :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPRESSED_SRGB_ALPHA = 0x8C49

pattern $bGL_COMPRESSED_TEXTURE_FORMATS :: a
$mGL_COMPRESSED_TEXTURE_FORMATS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPRESSED_TEXTURE_FORMATS = 0x86A3

pattern $bGL_CONDITION_SATISFIED :: a
$mGL_CONDITION_SATISFIED :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CONDITION_SATISFIED = 0x911C

pattern $bGL_CONSTANT_ALPHA :: a
$mGL_CONSTANT_ALPHA :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CONSTANT_ALPHA = 0x8003

pattern $bGL_CONSTANT_COLOR :: a
$mGL_CONSTANT_COLOR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CONSTANT_COLOR = 0x8001

pattern $bGL_CONTEXT_FLAGS :: a
$mGL_CONTEXT_FLAGS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CONTEXT_FLAGS = 0x821E

pattern $bGL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT :: a
$mGL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT = 0x00000001

pattern $bGL_COPY :: a
$mGL_COPY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COPY = 0x1503

pattern $bGL_COPY_INVERTED :: a
$mGL_COPY_INVERTED :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COPY_INVERTED = 0x150C

pattern $bGL_COPY_READ_BUFFER :: a
$mGL_COPY_READ_BUFFER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COPY_READ_BUFFER = 0x8F36

pattern $bGL_COPY_WRITE_BUFFER :: a
$mGL_COPY_WRITE_BUFFER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COPY_WRITE_BUFFER = 0x8F37

pattern $bGL_CULL_FACE :: a
$mGL_CULL_FACE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CULL_FACE = 0x0B44

pattern $bGL_CULL_FACE_MODE :: a
$mGL_CULL_FACE_MODE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CULL_FACE_MODE = 0x0B45

pattern $bGL_CURRENT_PROGRAM :: a
$mGL_CURRENT_PROGRAM :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CURRENT_PROGRAM = 0x8B8D

pattern $bGL_CURRENT_QUERY :: a
$mGL_CURRENT_QUERY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CURRENT_QUERY = 0x8865

pattern $bGL_CURRENT_VERTEX_ATTRIB :: a
$mGL_CURRENT_VERTEX_ATTRIB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CURRENT_VERTEX_ATTRIB = 0x8626

pattern $bGL_CW :: a
$mGL_CW :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CW = 0x0900

pattern $bGL_DECR :: a
$mGL_DECR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DECR = 0x1E03

pattern $bGL_DECR_WRAP :: a
$mGL_DECR_WRAP :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DECR_WRAP = 0x8508

pattern $bGL_DELETE_STATUS :: a
$mGL_DELETE_STATUS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DELETE_STATUS = 0x8B80

pattern $bGL_DEPTH :: a
$mGL_DEPTH :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DEPTH = 0x1801

pattern $bGL_DEPTH24_STENCIL8 :: a
$mGL_DEPTH24_STENCIL8 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DEPTH24_STENCIL8 = 0x88F0

pattern $bGL_DEPTH32F_STENCIL8 :: a
$mGL_DEPTH32F_STENCIL8 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DEPTH32F_STENCIL8 = 0x8CAD

pattern $bGL_DEPTH_ATTACHMENT :: a
$mGL_DEPTH_ATTACHMENT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DEPTH_ATTACHMENT = 0x8D00

pattern $bGL_DEPTH_BUFFER_BIT :: a
$mGL_DEPTH_BUFFER_BIT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DEPTH_BUFFER_BIT = 0x00000100

pattern $bGL_DEPTH_CLAMP :: a
$mGL_DEPTH_CLAMP :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DEPTH_CLAMP = 0x864F

pattern $bGL_DEPTH_CLEAR_VALUE :: a
$mGL_DEPTH_CLEAR_VALUE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DEPTH_CLEAR_VALUE = 0x0B73

pattern $bGL_DEPTH_COMPONENT :: a
$mGL_DEPTH_COMPONENT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DEPTH_COMPONENT = 0x1902

pattern $bGL_DEPTH_COMPONENT16 :: a
$mGL_DEPTH_COMPONENT16 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DEPTH_COMPONENT16 = 0x81A5

pattern $bGL_DEPTH_COMPONENT24 :: a
$mGL_DEPTH_COMPONENT24 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DEPTH_COMPONENT24 = 0x81A6

pattern $bGL_DEPTH_COMPONENT32 :: a
$mGL_DEPTH_COMPONENT32 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DEPTH_COMPONENT32 = 0x81A7

pattern $bGL_DEPTH_COMPONENT32F :: a
$mGL_DEPTH_COMPONENT32F :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DEPTH_COMPONENT32F = 0x8CAC

pattern $bGL_DEPTH_FUNC :: a
$mGL_DEPTH_FUNC :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DEPTH_FUNC = 0x0B74

pattern $bGL_DEPTH_RANGE :: a
$mGL_DEPTH_RANGE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DEPTH_RANGE = 0x0B70

pattern $bGL_DEPTH_STENCIL :: a
$mGL_DEPTH_STENCIL :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DEPTH_STENCIL = 0x84F9

pattern $bGL_DEPTH_STENCIL_ATTACHMENT :: a
$mGL_DEPTH_STENCIL_ATTACHMENT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DEPTH_STENCIL_ATTACHMENT = 0x821A

pattern $bGL_DEPTH_TEST :: a
$mGL_DEPTH_TEST :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DEPTH_TEST = 0x0B71

pattern $bGL_DEPTH_WRITEMASK :: a
$mGL_DEPTH_WRITEMASK :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DEPTH_WRITEMASK = 0x0B72

pattern $bGL_DITHER :: a
$mGL_DITHER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DITHER = 0x0BD0

pattern $bGL_DONT_CARE :: a
$mGL_DONT_CARE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DONT_CARE = 0x1100

pattern $bGL_DOUBLE :: a
$mGL_DOUBLE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DOUBLE = 0x140A

pattern $bGL_DOUBLEBUFFER :: a
$mGL_DOUBLEBUFFER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DOUBLEBUFFER = 0x0C32

pattern $bGL_DRAW_BUFFER :: a
$mGL_DRAW_BUFFER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DRAW_BUFFER = 0x0C01

pattern $bGL_DRAW_BUFFER0 :: a
$mGL_DRAW_BUFFER0 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DRAW_BUFFER0 = 0x8825

pattern $bGL_DRAW_BUFFER1 :: a
$mGL_DRAW_BUFFER1 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DRAW_BUFFER1 = 0x8826

pattern $bGL_DRAW_BUFFER10 :: a
$mGL_DRAW_BUFFER10 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DRAW_BUFFER10 = 0x882F

pattern $bGL_DRAW_BUFFER11 :: a
$mGL_DRAW_BUFFER11 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DRAW_BUFFER11 = 0x8830

pattern $bGL_DRAW_BUFFER12 :: a
$mGL_DRAW_BUFFER12 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DRAW_BUFFER12 = 0x8831

pattern $bGL_DRAW_BUFFER13 :: a
$mGL_DRAW_BUFFER13 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DRAW_BUFFER13 = 0x8832

pattern $bGL_DRAW_BUFFER14 :: a
$mGL_DRAW_BUFFER14 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DRAW_BUFFER14 = 0x8833

pattern $bGL_DRAW_BUFFER15 :: a
$mGL_DRAW_BUFFER15 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DRAW_BUFFER15 = 0x8834

pattern $bGL_DRAW_BUFFER2 :: a
$mGL_DRAW_BUFFER2 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DRAW_BUFFER2 = 0x8827

pattern $bGL_DRAW_BUFFER3 :: a
$mGL_DRAW_BUFFER3 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DRAW_BUFFER3 = 0x8828

pattern $bGL_DRAW_BUFFER4 :: a
$mGL_DRAW_BUFFER4 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DRAW_BUFFER4 = 0x8829

pattern $bGL_DRAW_BUFFER5 :: a
$mGL_DRAW_BUFFER5 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DRAW_BUFFER5 = 0x882A

pattern $bGL_DRAW_BUFFER6 :: a
$mGL_DRAW_BUFFER6 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DRAW_BUFFER6 = 0x882B

pattern $bGL_DRAW_BUFFER7 :: a
$mGL_DRAW_BUFFER7 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DRAW_BUFFER7 = 0x882C

pattern $bGL_DRAW_BUFFER8 :: a
$mGL_DRAW_BUFFER8 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DRAW_BUFFER8 = 0x882D

pattern $bGL_DRAW_BUFFER9 :: a
$mGL_DRAW_BUFFER9 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DRAW_BUFFER9 = 0x882E

pattern $bGL_DRAW_FRAMEBUFFER :: a
$mGL_DRAW_FRAMEBUFFER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DRAW_FRAMEBUFFER = 0x8CA9

pattern $bGL_DRAW_FRAMEBUFFER_BINDING :: a
$mGL_DRAW_FRAMEBUFFER_BINDING :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DRAW_FRAMEBUFFER_BINDING = 0x8CA6

pattern $bGL_DST_ALPHA :: a
$mGL_DST_ALPHA :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DST_ALPHA = 0x0304

pattern $bGL_DST_COLOR :: a
$mGL_DST_COLOR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DST_COLOR = 0x0306

pattern $bGL_DYNAMIC_COPY :: a
$mGL_DYNAMIC_COPY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DYNAMIC_COPY = 0x88EA

pattern $bGL_DYNAMIC_DRAW :: a
$mGL_DYNAMIC_DRAW :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DYNAMIC_DRAW = 0x88E8

pattern $bGL_DYNAMIC_READ :: a
$mGL_DYNAMIC_READ :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DYNAMIC_READ = 0x88E9

pattern $bGL_ELEMENT_ARRAY_BUFFER :: a
$mGL_ELEMENT_ARRAY_BUFFER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ELEMENT_ARRAY_BUFFER = 0x8893

pattern $bGL_ELEMENT_ARRAY_BUFFER_BINDING :: a
$mGL_ELEMENT_ARRAY_BUFFER_BINDING :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ELEMENT_ARRAY_BUFFER_BINDING = 0x8895

pattern $bGL_EQUAL :: a
$mGL_EQUAL :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_EQUAL = 0x0202

pattern $bGL_EQUIV :: a
$mGL_EQUIV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_EQUIV = 0x1509

pattern $bGL_EXTENSIONS :: a
$mGL_EXTENSIONS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_EXTENSIONS = 0x1F03

pattern $bGL_FALSE :: a
$mGL_FALSE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FALSE = 0

pattern $bGL_FASTEST :: a
$mGL_FASTEST :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FASTEST = 0x1101

pattern $bGL_FILL :: a
$mGL_FILL :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FILL = 0x1B02

pattern $bGL_FIRST_VERTEX_CONVENTION :: a
$mGL_FIRST_VERTEX_CONVENTION :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FIRST_VERTEX_CONVENTION = 0x8E4D

pattern $bGL_FIXED_ONLY :: a
$mGL_FIXED_ONLY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FIXED_ONLY = 0x891D

pattern $bGL_FLOAT :: a
$mGL_FLOAT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FLOAT = 0x1406

pattern $bGL_FLOAT_32_UNSIGNED_INT_24_8_REV :: a
$mGL_FLOAT_32_UNSIGNED_INT_24_8_REV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FLOAT_32_UNSIGNED_INT_24_8_REV = 0x8DAD

pattern $bGL_FLOAT_MAT2 :: a
$mGL_FLOAT_MAT2 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FLOAT_MAT2 = 0x8B5A

pattern $bGL_FLOAT_MAT2x3 :: a
$mGL_FLOAT_MAT2x3 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FLOAT_MAT2x3 = 0x8B65

pattern $bGL_FLOAT_MAT2x4 :: a
$mGL_FLOAT_MAT2x4 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FLOAT_MAT2x4 = 0x8B66

pattern $bGL_FLOAT_MAT3 :: a
$mGL_FLOAT_MAT3 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FLOAT_MAT3 = 0x8B5B

pattern $bGL_FLOAT_MAT3x2 :: a
$mGL_FLOAT_MAT3x2 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FLOAT_MAT3x2 = 0x8B67

pattern $bGL_FLOAT_MAT3x4 :: a
$mGL_FLOAT_MAT3x4 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FLOAT_MAT3x4 = 0x8B68

pattern $bGL_FLOAT_MAT4 :: a
$mGL_FLOAT_MAT4 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FLOAT_MAT4 = 0x8B5C

pattern $bGL_FLOAT_MAT4x2 :: a
$mGL_FLOAT_MAT4x2 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FLOAT_MAT4x2 = 0x8B69

pattern $bGL_FLOAT_MAT4x3 :: a
$mGL_FLOAT_MAT4x3 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FLOAT_MAT4x3 = 0x8B6A

pattern $bGL_FLOAT_VEC2 :: a
$mGL_FLOAT_VEC2 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FLOAT_VEC2 = 0x8B50

pattern $bGL_FLOAT_VEC3 :: a
$mGL_FLOAT_VEC3 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FLOAT_VEC3 = 0x8B51

pattern $bGL_FLOAT_VEC4 :: a
$mGL_FLOAT_VEC4 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FLOAT_VEC4 = 0x8B52

pattern $bGL_FRAGMENT_SHADER :: a
$mGL_FRAGMENT_SHADER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAGMENT_SHADER = 0x8B30

pattern $bGL_FRAGMENT_SHADER_DERIVATIVE_HINT :: a
$mGL_FRAGMENT_SHADER_DERIVATIVE_HINT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAGMENT_SHADER_DERIVATIVE_HINT = 0x8B8B

pattern $bGL_FRAMEBUFFER :: a
$mGL_FRAMEBUFFER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAMEBUFFER = 0x8D40

pattern $bGL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE :: a
$mGL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE = 0x8215

pattern $bGL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE :: a
$mGL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE = 0x8214

pattern $bGL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING :: a
$mGL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING = 0x8210

pattern $bGL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE :: a
$mGL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE = 0x8211

pattern $bGL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE :: a
$mGL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE = 0x8216

pattern $bGL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE :: a
$mGL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE = 0x8213

pattern $bGL_FRAMEBUFFER_ATTACHMENT_LAYERED :: a
$mGL_FRAMEBUFFER_ATTACHMENT_LAYERED :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAMEBUFFER_ATTACHMENT_LAYERED = 0x8DA7

pattern $bGL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME :: a
$mGL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = 0x8CD1

pattern $bGL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE :: a
$mGL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = 0x8CD0

pattern $bGL_FRAMEBUFFER_ATTACHMENT_RED_SIZE :: a
$mGL_FRAMEBUFFER_ATTACHMENT_RED_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE = 0x8212

pattern $bGL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE :: a
$mGL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE = 0x8217

pattern $bGL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE :: a
$mGL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = 0x8CD3

pattern $bGL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER :: a
$mGL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER = 0x8CD4

pattern $bGL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL :: a
$mGL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = 0x8CD2

pattern $bGL_FRAMEBUFFER_BINDING :: a
$mGL_FRAMEBUFFER_BINDING :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAMEBUFFER_BINDING = 0x8CA6

pattern $bGL_FRAMEBUFFER_COMPLETE :: a
$mGL_FRAMEBUFFER_COMPLETE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAMEBUFFER_COMPLETE = 0x8CD5

pattern $bGL_FRAMEBUFFER_DEFAULT :: a
$mGL_FRAMEBUFFER_DEFAULT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAMEBUFFER_DEFAULT = 0x8218

pattern $bGL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT :: a
$mGL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT = 0x8CD6

pattern $bGL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER :: a
$mGL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER = 0x8CDB

pattern $bGL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS :: a
$mGL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS = 0x8DA8

pattern $bGL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT :: a
$mGL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = 0x8CD7

pattern $bGL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE :: a
$mGL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE = 0x8D56

pattern $bGL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER :: a
$mGL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER = 0x8CDC

pattern $bGL_FRAMEBUFFER_SRGB :: a
$mGL_FRAMEBUFFER_SRGB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAMEBUFFER_SRGB = 0x8DB9

pattern $bGL_FRAMEBUFFER_UNDEFINED :: a
$mGL_FRAMEBUFFER_UNDEFINED :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAMEBUFFER_UNDEFINED = 0x8219

pattern $bGL_FRAMEBUFFER_UNSUPPORTED :: a
$mGL_FRAMEBUFFER_UNSUPPORTED :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAMEBUFFER_UNSUPPORTED = 0x8CDD

pattern $bGL_FRONT :: a
$mGL_FRONT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRONT = 0x0404

pattern $bGL_FRONT_AND_BACK :: a
$mGL_FRONT_AND_BACK :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRONT_AND_BACK = 0x0408

pattern $bGL_FRONT_FACE :: a
$mGL_FRONT_FACE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRONT_FACE = 0x0B46

pattern $bGL_FRONT_LEFT :: a
$mGL_FRONT_LEFT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRONT_LEFT = 0x0400

pattern $bGL_FRONT_RIGHT :: a
$mGL_FRONT_RIGHT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRONT_RIGHT = 0x0401

pattern $bGL_FUNC_ADD :: a
$mGL_FUNC_ADD :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FUNC_ADD = 0x8006

pattern $bGL_FUNC_REVERSE_SUBTRACT :: a
$mGL_FUNC_REVERSE_SUBTRACT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FUNC_REVERSE_SUBTRACT = 0x800B

pattern $bGL_FUNC_SUBTRACT :: a
$mGL_FUNC_SUBTRACT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FUNC_SUBTRACT = 0x800A

pattern $bGL_GEOMETRY_INPUT_TYPE :: a
$mGL_GEOMETRY_INPUT_TYPE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_GEOMETRY_INPUT_TYPE = 0x8917

pattern $bGL_GEOMETRY_OUTPUT_TYPE :: a
$mGL_GEOMETRY_OUTPUT_TYPE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_GEOMETRY_OUTPUT_TYPE = 0x8918

pattern $bGL_GEOMETRY_SHADER :: a
$mGL_GEOMETRY_SHADER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_GEOMETRY_SHADER = 0x8DD9

pattern $bGL_GEOMETRY_VERTICES_OUT :: a
$mGL_GEOMETRY_VERTICES_OUT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_GEOMETRY_VERTICES_OUT = 0x8916

pattern $bGL_GEQUAL :: a
$mGL_GEQUAL :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_GEQUAL = 0x0206

pattern $bGL_GREATER :: a
$mGL_GREATER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_GREATER = 0x0204

pattern $bGL_GREEN :: a
$mGL_GREEN :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_GREEN = 0x1904

pattern $bGL_GREEN_INTEGER :: a
$mGL_GREEN_INTEGER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_GREEN_INTEGER = 0x8D95

pattern $bGL_HALF_FLOAT :: a
$mGL_HALF_FLOAT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_HALF_FLOAT = 0x140B

pattern $bGL_INCR :: a
$mGL_INCR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INCR = 0x1E02

pattern $bGL_INCR_WRAP :: a
$mGL_INCR_WRAP :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INCR_WRAP = 0x8507

pattern $bGL_INDEX :: a
$mGL_INDEX :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INDEX = 0x8222

pattern $bGL_INFO_LOG_LENGTH :: a
$mGL_INFO_LOG_LENGTH :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INFO_LOG_LENGTH = 0x8B84

pattern $bGL_INT :: a
$mGL_INT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INT = 0x1404

pattern $bGL_INTERLEAVED_ATTRIBS :: a
$mGL_INTERLEAVED_ATTRIBS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INTERLEAVED_ATTRIBS = 0x8C8C

pattern $bGL_INT_SAMPLER_1D :: a
$mGL_INT_SAMPLER_1D :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INT_SAMPLER_1D = 0x8DC9

pattern $bGL_INT_SAMPLER_1D_ARRAY :: a
$mGL_INT_SAMPLER_1D_ARRAY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INT_SAMPLER_1D_ARRAY = 0x8DCE

pattern $bGL_INT_SAMPLER_2D :: a
$mGL_INT_SAMPLER_2D :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INT_SAMPLER_2D = 0x8DCA

pattern $bGL_INT_SAMPLER_2D_ARRAY :: a
$mGL_INT_SAMPLER_2D_ARRAY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INT_SAMPLER_2D_ARRAY = 0x8DCF

pattern $bGL_INT_SAMPLER_2D_MULTISAMPLE :: a
$mGL_INT_SAMPLER_2D_MULTISAMPLE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INT_SAMPLER_2D_MULTISAMPLE = 0x9109

pattern $bGL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY :: a
$mGL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910C

pattern $bGL_INT_SAMPLER_2D_RECT :: a
$mGL_INT_SAMPLER_2D_RECT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INT_SAMPLER_2D_RECT = 0x8DCD

pattern $bGL_INT_SAMPLER_3D :: a
$mGL_INT_SAMPLER_3D :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INT_SAMPLER_3D = 0x8DCB

pattern $bGL_INT_SAMPLER_BUFFER :: a
$mGL_INT_SAMPLER_BUFFER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INT_SAMPLER_BUFFER = 0x8DD0

pattern $bGL_INT_SAMPLER_CUBE :: a
$mGL_INT_SAMPLER_CUBE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INT_SAMPLER_CUBE = 0x8DCC

pattern $bGL_INT_VEC2 :: a
$mGL_INT_VEC2 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INT_VEC2 = 0x8B53

pattern $bGL_INT_VEC3 :: a
$mGL_INT_VEC3 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INT_VEC3 = 0x8B54

pattern $bGL_INT_VEC4 :: a
$mGL_INT_VEC4 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INT_VEC4 = 0x8B55

pattern $bGL_INVALID_ENUM :: a
$mGL_INVALID_ENUM :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INVALID_ENUM = 0x0500

pattern $bGL_INVALID_FRAMEBUFFER_OPERATION :: a
$mGL_INVALID_FRAMEBUFFER_OPERATION :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INVALID_FRAMEBUFFER_OPERATION = 0x0506

pattern $bGL_INVALID_INDEX :: a
$mGL_INVALID_INDEX :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INVALID_INDEX = 0xFFFFFFFF

pattern $bGL_INVALID_OPERATION :: a
$mGL_INVALID_OPERATION :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INVALID_OPERATION = 0x0502

pattern $bGL_INVALID_VALUE :: a
$mGL_INVALID_VALUE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INVALID_VALUE = 0x0501

pattern $bGL_INVERT :: a
$mGL_INVERT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INVERT = 0x150A

pattern $bGL_KEEP :: a
$mGL_KEEP :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_KEEP = 0x1E00

pattern $bGL_LAST_VERTEX_CONVENTION :: a
$mGL_LAST_VERTEX_CONVENTION :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LAST_VERTEX_CONVENTION = 0x8E4E

pattern $bGL_LEFT :: a
$mGL_LEFT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LEFT = 0x0406

pattern $bGL_LEQUAL :: a
$mGL_LEQUAL :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LEQUAL = 0x0203

pattern $bGL_LESS :: a
$mGL_LESS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LESS = 0x0201

pattern $bGL_LINE :: a
$mGL_LINE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LINE = 0x1B01

pattern $bGL_LINEAR :: a
$mGL_LINEAR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LINEAR = 0x2601

pattern $bGL_LINEAR_MIPMAP_LINEAR :: a
$mGL_LINEAR_MIPMAP_LINEAR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LINEAR_MIPMAP_LINEAR = 0x2703

pattern $bGL_LINEAR_MIPMAP_NEAREST :: a
$mGL_LINEAR_MIPMAP_NEAREST :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LINEAR_MIPMAP_NEAREST = 0x2701

pattern $bGL_LINES :: a
$mGL_LINES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LINES = 0x0001

pattern $bGL_LINES_ADJACENCY :: a
$mGL_LINES_ADJACENCY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LINES_ADJACENCY = 0x000A

pattern $bGL_LINE_LOOP :: a
$mGL_LINE_LOOP :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LINE_LOOP = 0x0002

pattern $bGL_LINE_SMOOTH :: a
$mGL_LINE_SMOOTH :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LINE_SMOOTH = 0x0B20

pattern $bGL_LINE_SMOOTH_HINT :: a
$mGL_LINE_SMOOTH_HINT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LINE_SMOOTH_HINT = 0x0C52

pattern $bGL_LINE_STRIP :: a
$mGL_LINE_STRIP :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LINE_STRIP = 0x0003

pattern $bGL_LINE_STRIP_ADJACENCY :: a
$mGL_LINE_STRIP_ADJACENCY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LINE_STRIP_ADJACENCY = 0x000B

pattern $bGL_LINE_WIDTH :: a
$mGL_LINE_WIDTH :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LINE_WIDTH = 0x0B21

pattern $bGL_LINE_WIDTH_GRANULARITY :: a
$mGL_LINE_WIDTH_GRANULARITY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LINE_WIDTH_GRANULARITY = 0x0B23

pattern $bGL_LINE_WIDTH_RANGE :: a
$mGL_LINE_WIDTH_RANGE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LINE_WIDTH_RANGE = 0x0B22

pattern $bGL_LINK_STATUS :: a
$mGL_LINK_STATUS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LINK_STATUS = 0x8B82

pattern $bGL_LOGIC_OP_MODE :: a
$mGL_LOGIC_OP_MODE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LOGIC_OP_MODE = 0x0BF0

pattern $bGL_LOWER_LEFT :: a
$mGL_LOWER_LEFT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LOWER_LEFT = 0x8CA1

pattern $bGL_MAJOR_VERSION :: a
$mGL_MAJOR_VERSION :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAJOR_VERSION = 0x821B

pattern $bGL_MAP_FLUSH_EXPLICIT_BIT :: a
$mGL_MAP_FLUSH_EXPLICIT_BIT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAP_FLUSH_EXPLICIT_BIT = 0x0010

pattern $bGL_MAP_INVALIDATE_BUFFER_BIT :: a
$mGL_MAP_INVALIDATE_BUFFER_BIT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAP_INVALIDATE_BUFFER_BIT = 0x0008

pattern $bGL_MAP_INVALIDATE_RANGE_BIT :: a
$mGL_MAP_INVALIDATE_RANGE_BIT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAP_INVALIDATE_RANGE_BIT = 0x0004

pattern $bGL_MAP_READ_BIT :: a
$mGL_MAP_READ_BIT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAP_READ_BIT = 0x0001

pattern $bGL_MAP_UNSYNCHRONIZED_BIT :: a
$mGL_MAP_UNSYNCHRONIZED_BIT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAP_UNSYNCHRONIZED_BIT = 0x0020

pattern $bGL_MAP_WRITE_BIT :: a
$mGL_MAP_WRITE_BIT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAP_WRITE_BIT = 0x0002

pattern $bGL_MAX :: a
$mGL_MAX :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX = 0x8008

pattern $bGL_MAX_3D_TEXTURE_SIZE :: a
$mGL_MAX_3D_TEXTURE_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_3D_TEXTURE_SIZE = 0x8073

pattern $bGL_MAX_ARRAY_TEXTURE_LAYERS :: a
$mGL_MAX_ARRAY_TEXTURE_LAYERS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_ARRAY_TEXTURE_LAYERS = 0x88FF

pattern $bGL_MAX_CLIP_DISTANCES :: a
$mGL_MAX_CLIP_DISTANCES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_CLIP_DISTANCES = 0x0D32

pattern $bGL_MAX_COLOR_ATTACHMENTS :: a
$mGL_MAX_COLOR_ATTACHMENTS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_COLOR_ATTACHMENTS = 0x8CDF

pattern $bGL_MAX_COLOR_TEXTURE_SAMPLES :: a
$mGL_MAX_COLOR_TEXTURE_SAMPLES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_COLOR_TEXTURE_SAMPLES = 0x910E

pattern $bGL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS :: a
$mGL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS = 0x8A33

pattern $bGL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS :: a
$mGL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS = 0x8A32

pattern $bGL_MAX_COMBINED_TEXTURE_IMAGE_UNITS :: a
$mGL_MAX_COMBINED_TEXTURE_IMAGE_UNITS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS = 0x8B4D

pattern $bGL_MAX_COMBINED_UNIFORM_BLOCKS :: a
$mGL_MAX_COMBINED_UNIFORM_BLOCKS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_COMBINED_UNIFORM_BLOCKS = 0x8A2E

pattern $bGL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS :: a
$mGL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS = 0x8A31

pattern $bGL_MAX_CUBE_MAP_TEXTURE_SIZE :: a
$mGL_MAX_CUBE_MAP_TEXTURE_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_CUBE_MAP_TEXTURE_SIZE = 0x851C

pattern $bGL_MAX_DEPTH_TEXTURE_SAMPLES :: a
$mGL_MAX_DEPTH_TEXTURE_SAMPLES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_DEPTH_TEXTURE_SAMPLES = 0x910F

pattern $bGL_MAX_DRAW_BUFFERS :: a
$mGL_MAX_DRAW_BUFFERS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_DRAW_BUFFERS = 0x8824

pattern $bGL_MAX_ELEMENTS_INDICES :: a
$mGL_MAX_ELEMENTS_INDICES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_ELEMENTS_INDICES = 0x80E9

pattern $bGL_MAX_ELEMENTS_VERTICES :: a
$mGL_MAX_ELEMENTS_VERTICES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_ELEMENTS_VERTICES = 0x80E8

pattern $bGL_MAX_FRAGMENT_INPUT_COMPONENTS :: a
$mGL_MAX_FRAGMENT_INPUT_COMPONENTS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_FRAGMENT_INPUT_COMPONENTS = 0x9125

pattern $bGL_MAX_FRAGMENT_UNIFORM_BLOCKS :: a
$mGL_MAX_FRAGMENT_UNIFORM_BLOCKS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_FRAGMENT_UNIFORM_BLOCKS = 0x8A2D

pattern $bGL_MAX_FRAGMENT_UNIFORM_COMPONENTS :: a
$mGL_MAX_FRAGMENT_UNIFORM_COMPONENTS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_FRAGMENT_UNIFORM_COMPONENTS = 0x8B49

pattern $bGL_MAX_GEOMETRY_INPUT_COMPONENTS :: a
$mGL_MAX_GEOMETRY_INPUT_COMPONENTS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_GEOMETRY_INPUT_COMPONENTS = 0x9123

pattern $bGL_MAX_GEOMETRY_OUTPUT_COMPONENTS :: a
$mGL_MAX_GEOMETRY_OUTPUT_COMPONENTS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_GEOMETRY_OUTPUT_COMPONENTS = 0x9124

pattern $bGL_MAX_GEOMETRY_OUTPUT_VERTICES :: a
$mGL_MAX_GEOMETRY_OUTPUT_VERTICES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_GEOMETRY_OUTPUT_VERTICES = 0x8DE0

pattern $bGL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS :: a
$mGL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS = 0x8C29

pattern $bGL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS :: a
$mGL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS = 0x8DE1

pattern $bGL_MAX_GEOMETRY_UNIFORM_BLOCKS :: a
$mGL_MAX_GEOMETRY_UNIFORM_BLOCKS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_GEOMETRY_UNIFORM_BLOCKS = 0x8A2C

pattern $bGL_MAX_GEOMETRY_UNIFORM_COMPONENTS :: a
$mGL_MAX_GEOMETRY_UNIFORM_COMPONENTS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_GEOMETRY_UNIFORM_COMPONENTS = 0x8DDF

pattern $bGL_MAX_INTEGER_SAMPLES :: a
$mGL_MAX_INTEGER_SAMPLES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_INTEGER_SAMPLES = 0x9110

pattern $bGL_MAX_PROGRAM_TEXEL_OFFSET :: a
$mGL_MAX_PROGRAM_TEXEL_OFFSET :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_PROGRAM_TEXEL_OFFSET = 0x8905

pattern $bGL_MAX_RECTANGLE_TEXTURE_SIZE :: a
$mGL_MAX_RECTANGLE_TEXTURE_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_RECTANGLE_TEXTURE_SIZE = 0x84F8

pattern $bGL_MAX_RENDERBUFFER_SIZE :: a
$mGL_MAX_RENDERBUFFER_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_RENDERBUFFER_SIZE = 0x84E8

pattern $bGL_MAX_SAMPLES :: a
$mGL_MAX_SAMPLES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_SAMPLES = 0x8D57

pattern $bGL_MAX_SAMPLE_MASK_WORDS :: a
$mGL_MAX_SAMPLE_MASK_WORDS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_SAMPLE_MASK_WORDS = 0x8E59

pattern $bGL_MAX_SERVER_WAIT_TIMEOUT :: a
$mGL_MAX_SERVER_WAIT_TIMEOUT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_SERVER_WAIT_TIMEOUT = 0x9111

pattern $bGL_MAX_TEXTURE_BUFFER_SIZE :: a
$mGL_MAX_TEXTURE_BUFFER_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_TEXTURE_BUFFER_SIZE = 0x8C2B

pattern $bGL_MAX_TEXTURE_IMAGE_UNITS :: a
$mGL_MAX_TEXTURE_IMAGE_UNITS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_TEXTURE_IMAGE_UNITS = 0x8872

pattern $bGL_MAX_TEXTURE_LOD_BIAS :: a
$mGL_MAX_TEXTURE_LOD_BIAS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_TEXTURE_LOD_BIAS = 0x84FD

pattern $bGL_MAX_TEXTURE_SIZE :: a
$mGL_MAX_TEXTURE_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_TEXTURE_SIZE = 0x0D33

pattern $bGL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS :: a
$mGL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = 0x8C8A

pattern $bGL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS :: a
$mGL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS = 0x8C8B

pattern $bGL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS :: a
$mGL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS = 0x8C80

pattern $bGL_MAX_UNIFORM_BLOCK_SIZE :: a
$mGL_MAX_UNIFORM_BLOCK_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_UNIFORM_BLOCK_SIZE = 0x8A30

pattern $bGL_MAX_UNIFORM_BUFFER_BINDINGS :: a
$mGL_MAX_UNIFORM_BUFFER_BINDINGS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_UNIFORM_BUFFER_BINDINGS = 0x8A2F

pattern $bGL_MAX_VARYING_COMPONENTS :: a
$mGL_MAX_VARYING_COMPONENTS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_VARYING_COMPONENTS = 0x8B4B

pattern $bGL_MAX_VARYING_FLOATS :: a
$mGL_MAX_VARYING_FLOATS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_VARYING_FLOATS = 0x8B4B

pattern $bGL_MAX_VERTEX_ATTRIBS :: a
$mGL_MAX_VERTEX_ATTRIBS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_VERTEX_ATTRIBS = 0x8869

pattern $bGL_MAX_VERTEX_OUTPUT_COMPONENTS :: a
$mGL_MAX_VERTEX_OUTPUT_COMPONENTS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_VERTEX_OUTPUT_COMPONENTS = 0x9122

pattern $bGL_MAX_VERTEX_TEXTURE_IMAGE_UNITS :: a
$mGL_MAX_VERTEX_TEXTURE_IMAGE_UNITS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS = 0x8B4C

pattern $bGL_MAX_VERTEX_UNIFORM_BLOCKS :: a
$mGL_MAX_VERTEX_UNIFORM_BLOCKS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_VERTEX_UNIFORM_BLOCKS = 0x8A2B

pattern $bGL_MAX_VERTEX_UNIFORM_COMPONENTS :: a
$mGL_MAX_VERTEX_UNIFORM_COMPONENTS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_VERTEX_UNIFORM_COMPONENTS = 0x8B4A

pattern $bGL_MAX_VIEWPORT_DIMS :: a
$mGL_MAX_VIEWPORT_DIMS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_VIEWPORT_DIMS = 0x0D3A

pattern $bGL_MIN :: a
$mGL_MIN :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MIN = 0x8007

pattern $bGL_MINOR_VERSION :: a
$mGL_MINOR_VERSION :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MINOR_VERSION = 0x821C

pattern $bGL_MIN_PROGRAM_TEXEL_OFFSET :: a
$mGL_MIN_PROGRAM_TEXEL_OFFSET :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MIN_PROGRAM_TEXEL_OFFSET = 0x8904

pattern $bGL_MIRRORED_REPEAT :: a
$mGL_MIRRORED_REPEAT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MIRRORED_REPEAT = 0x8370

pattern $bGL_MULTISAMPLE :: a
$mGL_MULTISAMPLE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MULTISAMPLE = 0x809D

pattern $bGL_NAND :: a
$mGL_NAND :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_NAND = 0x150E

pattern $bGL_NEAREST :: a
$mGL_NEAREST :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_NEAREST = 0x2600

pattern $bGL_NEAREST_MIPMAP_LINEAR :: a
$mGL_NEAREST_MIPMAP_LINEAR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_NEAREST_MIPMAP_LINEAR = 0x2702

pattern $bGL_NEAREST_MIPMAP_NEAREST :: a
$mGL_NEAREST_MIPMAP_NEAREST :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_NEAREST_MIPMAP_NEAREST = 0x2700

pattern $bGL_NEVER :: a
$mGL_NEVER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_NEVER = 0x0200

pattern $bGL_NICEST :: a
$mGL_NICEST :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_NICEST = 0x1102

pattern $bGL_NONE :: a
$mGL_NONE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_NONE = 0

pattern $bGL_NOOP :: a
$mGL_NOOP :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_NOOP = 0x1505

pattern $bGL_NOR :: a
$mGL_NOR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_NOR = 0x1508

pattern $bGL_NOTEQUAL :: a
$mGL_NOTEQUAL :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_NOTEQUAL = 0x0205

pattern $bGL_NO_ERROR :: a
$mGL_NO_ERROR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_NO_ERROR = 0

pattern $bGL_NUM_COMPRESSED_TEXTURE_FORMATS :: a
$mGL_NUM_COMPRESSED_TEXTURE_FORMATS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_NUM_COMPRESSED_TEXTURE_FORMATS = 0x86A2

pattern $bGL_NUM_EXTENSIONS :: a
$mGL_NUM_EXTENSIONS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_NUM_EXTENSIONS = 0x821D

pattern $bGL_OBJECT_TYPE :: a
$mGL_OBJECT_TYPE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_OBJECT_TYPE = 0x9112

pattern $bGL_ONE :: a
$mGL_ONE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ONE = 1

pattern $bGL_ONE_MINUS_CONSTANT_ALPHA :: a
$mGL_ONE_MINUS_CONSTANT_ALPHA :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ONE_MINUS_CONSTANT_ALPHA = 0x8004

pattern $bGL_ONE_MINUS_CONSTANT_COLOR :: a
$mGL_ONE_MINUS_CONSTANT_COLOR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ONE_MINUS_CONSTANT_COLOR = 0x8002

pattern $bGL_ONE_MINUS_DST_ALPHA :: a
$mGL_ONE_MINUS_DST_ALPHA :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ONE_MINUS_DST_ALPHA = 0x0305

pattern $bGL_ONE_MINUS_DST_COLOR :: a
$mGL_ONE_MINUS_DST_COLOR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ONE_MINUS_DST_COLOR = 0x0307

pattern $bGL_ONE_MINUS_SRC_ALPHA :: a
$mGL_ONE_MINUS_SRC_ALPHA :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ONE_MINUS_SRC_ALPHA = 0x0303

pattern $bGL_ONE_MINUS_SRC_COLOR :: a
$mGL_ONE_MINUS_SRC_COLOR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ONE_MINUS_SRC_COLOR = 0x0301

pattern $bGL_OR :: a
$mGL_OR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_OR = 0x1507

pattern $bGL_OR_INVERTED :: a
$mGL_OR_INVERTED :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_OR_INVERTED = 0x150D

pattern $bGL_OR_REVERSE :: a
$mGL_OR_REVERSE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_OR_REVERSE = 0x150B

pattern $bGL_OUT_OF_MEMORY :: a
$mGL_OUT_OF_MEMORY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_OUT_OF_MEMORY = 0x0505

pattern $bGL_PACK_ALIGNMENT :: a
$mGL_PACK_ALIGNMENT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PACK_ALIGNMENT = 0x0D05

pattern $bGL_PACK_IMAGE_HEIGHT :: a
$mGL_PACK_IMAGE_HEIGHT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PACK_IMAGE_HEIGHT = 0x806C

pattern $bGL_PACK_LSB_FIRST :: a
$mGL_PACK_LSB_FIRST :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PACK_LSB_FIRST = 0x0D01

pattern $bGL_PACK_ROW_LENGTH :: a
$mGL_PACK_ROW_LENGTH :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PACK_ROW_LENGTH = 0x0D02

pattern $bGL_PACK_SKIP_IMAGES :: a
$mGL_PACK_SKIP_IMAGES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PACK_SKIP_IMAGES = 0x806B

pattern $bGL_PACK_SKIP_PIXELS :: a
$mGL_PACK_SKIP_PIXELS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PACK_SKIP_PIXELS = 0x0D04

pattern $bGL_PACK_SKIP_ROWS :: a
$mGL_PACK_SKIP_ROWS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PACK_SKIP_ROWS = 0x0D03

pattern $bGL_PACK_SWAP_BYTES :: a
$mGL_PACK_SWAP_BYTES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PACK_SWAP_BYTES = 0x0D00

pattern $bGL_PIXEL_PACK_BUFFER :: a
$mGL_PIXEL_PACK_BUFFER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PIXEL_PACK_BUFFER = 0x88EB

pattern $bGL_PIXEL_PACK_BUFFER_BINDING :: a
$mGL_PIXEL_PACK_BUFFER_BINDING :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PIXEL_PACK_BUFFER_BINDING = 0x88ED

pattern $bGL_PIXEL_UNPACK_BUFFER :: a
$mGL_PIXEL_UNPACK_BUFFER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PIXEL_UNPACK_BUFFER = 0x88EC

pattern $bGL_PIXEL_UNPACK_BUFFER_BINDING :: a
$mGL_PIXEL_UNPACK_BUFFER_BINDING :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PIXEL_UNPACK_BUFFER_BINDING = 0x88EF

pattern $bGL_POINT :: a
$mGL_POINT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_POINT = 0x1B00

pattern $bGL_POINTS :: a
$mGL_POINTS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_POINTS = 0x0000

pattern $bGL_POINT_FADE_THRESHOLD_SIZE :: a
$mGL_POINT_FADE_THRESHOLD_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_POINT_FADE_THRESHOLD_SIZE = 0x8128

pattern $bGL_POINT_SIZE :: a
$mGL_POINT_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_POINT_SIZE = 0x0B11

pattern $bGL_POINT_SIZE_GRANULARITY :: a
$mGL_POINT_SIZE_GRANULARITY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_POINT_SIZE_GRANULARITY = 0x0B13

pattern $bGL_POINT_SIZE_RANGE :: a
$mGL_POINT_SIZE_RANGE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_POINT_SIZE_RANGE = 0x0B12

pattern $bGL_POINT_SPRITE_COORD_ORIGIN :: a
$mGL_POINT_SPRITE_COORD_ORIGIN :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_POINT_SPRITE_COORD_ORIGIN = 0x8CA0

pattern $bGL_POLYGON_MODE :: a
$mGL_POLYGON_MODE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_POLYGON_MODE = 0x0B40

pattern $bGL_POLYGON_OFFSET_FACTOR :: a
$mGL_POLYGON_OFFSET_FACTOR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_POLYGON_OFFSET_FACTOR = 0x8038

pattern $bGL_POLYGON_OFFSET_FILL :: a
$mGL_POLYGON_OFFSET_FILL :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_POLYGON_OFFSET_FILL = 0x8037

pattern $bGL_POLYGON_OFFSET_LINE :: a
$mGL_POLYGON_OFFSET_LINE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_POLYGON_OFFSET_LINE = 0x2A02

pattern $bGL_POLYGON_OFFSET_POINT :: a
$mGL_POLYGON_OFFSET_POINT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_POLYGON_OFFSET_POINT = 0x2A01

pattern $bGL_POLYGON_OFFSET_UNITS :: a
$mGL_POLYGON_OFFSET_UNITS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_POLYGON_OFFSET_UNITS = 0x2A00

pattern $bGL_POLYGON_SMOOTH :: a
$mGL_POLYGON_SMOOTH :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_POLYGON_SMOOTH = 0x0B41

pattern $bGL_POLYGON_SMOOTH_HINT :: a
$mGL_POLYGON_SMOOTH_HINT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_POLYGON_SMOOTH_HINT = 0x0C53

pattern $bGL_PRIMITIVES_GENERATED :: a
$mGL_PRIMITIVES_GENERATED :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PRIMITIVES_GENERATED = 0x8C87

pattern $bGL_PRIMITIVE_RESTART :: a
$mGL_PRIMITIVE_RESTART :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PRIMITIVE_RESTART = 0x8F9D

pattern $bGL_PRIMITIVE_RESTART_INDEX :: a
$mGL_PRIMITIVE_RESTART_INDEX :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PRIMITIVE_RESTART_INDEX = 0x8F9E

pattern $bGL_PROVOKING_VERTEX :: a
$mGL_PROVOKING_VERTEX :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PROVOKING_VERTEX = 0x8E4F

pattern $bGL_PROXY_TEXTURE_1D :: a
$mGL_PROXY_TEXTURE_1D :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PROXY_TEXTURE_1D = 0x8063

pattern $bGL_PROXY_TEXTURE_1D_ARRAY :: a
$mGL_PROXY_TEXTURE_1D_ARRAY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PROXY_TEXTURE_1D_ARRAY = 0x8C19

pattern $bGL_PROXY_TEXTURE_2D :: a
$mGL_PROXY_TEXTURE_2D :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PROXY_TEXTURE_2D = 0x8064

pattern $bGL_PROXY_TEXTURE_2D_ARRAY :: a
$mGL_PROXY_TEXTURE_2D_ARRAY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PROXY_TEXTURE_2D_ARRAY = 0x8C1B

pattern $bGL_PROXY_TEXTURE_2D_MULTISAMPLE :: a
$mGL_PROXY_TEXTURE_2D_MULTISAMPLE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PROXY_TEXTURE_2D_MULTISAMPLE = 0x9101

pattern $bGL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY :: a
$mGL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY = 0x9103

pattern $bGL_PROXY_TEXTURE_3D :: a
$mGL_PROXY_TEXTURE_3D :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PROXY_TEXTURE_3D = 0x8070

pattern $bGL_PROXY_TEXTURE_CUBE_MAP :: a
$mGL_PROXY_TEXTURE_CUBE_MAP :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PROXY_TEXTURE_CUBE_MAP = 0x851B

pattern $bGL_PROXY_TEXTURE_RECTANGLE :: a
$mGL_PROXY_TEXTURE_RECTANGLE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PROXY_TEXTURE_RECTANGLE = 0x84F7

pattern $bGL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION :: a
$mGL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION = 0x8E4C

pattern $bGL_QUERY_BY_REGION_NO_WAIT :: a
$mGL_QUERY_BY_REGION_NO_WAIT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_QUERY_BY_REGION_NO_WAIT = 0x8E16

pattern $bGL_QUERY_BY_REGION_WAIT :: a
$mGL_QUERY_BY_REGION_WAIT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_QUERY_BY_REGION_WAIT = 0x8E15

pattern $bGL_QUERY_COUNTER_BITS :: a
$mGL_QUERY_COUNTER_BITS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_QUERY_COUNTER_BITS = 0x8864

pattern $bGL_QUERY_NO_WAIT :: a
$mGL_QUERY_NO_WAIT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_QUERY_NO_WAIT = 0x8E14

pattern $bGL_QUERY_RESULT :: a
$mGL_QUERY_RESULT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_QUERY_RESULT = 0x8866

pattern $bGL_QUERY_RESULT_AVAILABLE :: a
$mGL_QUERY_RESULT_AVAILABLE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_QUERY_RESULT_AVAILABLE = 0x8867

pattern $bGL_QUERY_WAIT :: a
$mGL_QUERY_WAIT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_QUERY_WAIT = 0x8E13

pattern $bGL_R11F_G11F_B10F :: a
$mGL_R11F_G11F_B10F :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_R11F_G11F_B10F = 0x8C3A

pattern $bGL_R16 :: a
$mGL_R16 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_R16 = 0x822A

pattern $bGL_R16F :: a
$mGL_R16F :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_R16F = 0x822D

pattern $bGL_R16I :: a
$mGL_R16I :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_R16I = 0x8233

pattern $bGL_R16UI :: a
$mGL_R16UI :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_R16UI = 0x8234

pattern $bGL_R16_SNORM :: a
$mGL_R16_SNORM :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_R16_SNORM = 0x8F98

pattern $bGL_R32F :: a
$mGL_R32F :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_R32F = 0x822E

pattern $bGL_R32I :: a
$mGL_R32I :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_R32I = 0x8235

pattern $bGL_R32UI :: a
$mGL_R32UI :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_R32UI = 0x8236

pattern $bGL_R3_G3_B2 :: a
$mGL_R3_G3_B2 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_R3_G3_B2 = 0x2A10

pattern $bGL_R8 :: a
$mGL_R8 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_R8 = 0x8229

pattern $bGL_R8I :: a
$mGL_R8I :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_R8I = 0x8231

pattern $bGL_R8UI :: a
$mGL_R8UI :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_R8UI = 0x8232

pattern $bGL_R8_SNORM :: a
$mGL_R8_SNORM :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_R8_SNORM = 0x8F94

pattern $bGL_RASTERIZER_DISCARD :: a
$mGL_RASTERIZER_DISCARD :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RASTERIZER_DISCARD = 0x8C89

pattern $bGL_READ_BUFFER :: a
$mGL_READ_BUFFER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_READ_BUFFER = 0x0C02

pattern $bGL_READ_FRAMEBUFFER :: a
$mGL_READ_FRAMEBUFFER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_READ_FRAMEBUFFER = 0x8CA8

pattern $bGL_READ_FRAMEBUFFER_BINDING :: a
$mGL_READ_FRAMEBUFFER_BINDING :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_READ_FRAMEBUFFER_BINDING = 0x8CAA

pattern $bGL_READ_ONLY :: a
$mGL_READ_ONLY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_READ_ONLY = 0x88B8

pattern $bGL_READ_WRITE :: a
$mGL_READ_WRITE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_READ_WRITE = 0x88BA

pattern $bGL_RED :: a
$mGL_RED :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RED = 0x1903

pattern $bGL_RED_INTEGER :: a
$mGL_RED_INTEGER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RED_INTEGER = 0x8D94

pattern $bGL_RENDERBUFFER :: a
$mGL_RENDERBUFFER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RENDERBUFFER = 0x8D41

pattern $bGL_RENDERBUFFER_ALPHA_SIZE :: a
$mGL_RENDERBUFFER_ALPHA_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RENDERBUFFER_ALPHA_SIZE = 0x8D53

pattern $bGL_RENDERBUFFER_BINDING :: a
$mGL_RENDERBUFFER_BINDING :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RENDERBUFFER_BINDING = 0x8CA7

pattern $bGL_RENDERBUFFER_BLUE_SIZE :: a
$mGL_RENDERBUFFER_BLUE_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RENDERBUFFER_BLUE_SIZE = 0x8D52

pattern $bGL_RENDERBUFFER_DEPTH_SIZE :: a
$mGL_RENDERBUFFER_DEPTH_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RENDERBUFFER_DEPTH_SIZE = 0x8D54

pattern $bGL_RENDERBUFFER_GREEN_SIZE :: a
$mGL_RENDERBUFFER_GREEN_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RENDERBUFFER_GREEN_SIZE = 0x8D51

pattern $bGL_RENDERBUFFER_HEIGHT :: a
$mGL_RENDERBUFFER_HEIGHT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RENDERBUFFER_HEIGHT = 0x8D43

pattern $bGL_RENDERBUFFER_INTERNAL_FORMAT :: a
$mGL_RENDERBUFFER_INTERNAL_FORMAT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RENDERBUFFER_INTERNAL_FORMAT = 0x8D44

pattern $bGL_RENDERBUFFER_RED_SIZE :: a
$mGL_RENDERBUFFER_RED_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RENDERBUFFER_RED_SIZE = 0x8D50

pattern $bGL_RENDERBUFFER_SAMPLES :: a
$mGL_RENDERBUFFER_SAMPLES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RENDERBUFFER_SAMPLES = 0x8CAB

pattern $bGL_RENDERBUFFER_STENCIL_SIZE :: a
$mGL_RENDERBUFFER_STENCIL_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RENDERBUFFER_STENCIL_SIZE = 0x8D55

pattern $bGL_RENDERBUFFER_WIDTH :: a
$mGL_RENDERBUFFER_WIDTH :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RENDERBUFFER_WIDTH = 0x8D42

pattern $bGL_RENDERER :: a
$mGL_RENDERER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RENDERER = 0x1F01

pattern $bGL_REPEAT :: a
$mGL_REPEAT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_REPEAT = 0x2901

pattern $bGL_REPLACE :: a
$mGL_REPLACE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_REPLACE = 0x1E01

pattern $bGL_RG :: a
$mGL_RG :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RG = 0x8227

pattern $bGL_RG16 :: a
$mGL_RG16 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RG16 = 0x822C

pattern $bGL_RG16F :: a
$mGL_RG16F :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RG16F = 0x822F

pattern $bGL_RG16I :: a
$mGL_RG16I :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RG16I = 0x8239

pattern $bGL_RG16UI :: a
$mGL_RG16UI :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RG16UI = 0x823A

pattern $bGL_RG16_SNORM :: a
$mGL_RG16_SNORM :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RG16_SNORM = 0x8F99

pattern $bGL_RG32F :: a
$mGL_RG32F :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RG32F = 0x8230

pattern $bGL_RG32I :: a
$mGL_RG32I :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RG32I = 0x823B

pattern $bGL_RG32UI :: a
$mGL_RG32UI :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RG32UI = 0x823C

pattern $bGL_RG8 :: a
$mGL_RG8 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RG8 = 0x822B

pattern $bGL_RG8I :: a
$mGL_RG8I :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RG8I = 0x8237

pattern $bGL_RG8UI :: a
$mGL_RG8UI :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RG8UI = 0x8238

pattern $bGL_RG8_SNORM :: a
$mGL_RG8_SNORM :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RG8_SNORM = 0x8F95

pattern $bGL_RGB :: a
$mGL_RGB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGB = 0x1907

pattern $bGL_RGB10 :: a
$mGL_RGB10 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGB10 = 0x8052

pattern $bGL_RGB10_A2 :: a
$mGL_RGB10_A2 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGB10_A2 = 0x8059

pattern $bGL_RGB12 :: a
$mGL_RGB12 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGB12 = 0x8053

pattern $bGL_RGB16 :: a
$mGL_RGB16 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGB16 = 0x8054

pattern $bGL_RGB16F :: a
$mGL_RGB16F :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGB16F = 0x881B

pattern $bGL_RGB16I :: a
$mGL_RGB16I :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGB16I = 0x8D89

pattern $bGL_RGB16UI :: a
$mGL_RGB16UI :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGB16UI = 0x8D77

pattern $bGL_RGB16_SNORM :: a
$mGL_RGB16_SNORM :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGB16_SNORM = 0x8F9A

pattern $bGL_RGB32F :: a
$mGL_RGB32F :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGB32F = 0x8815

pattern $bGL_RGB32I :: a
$mGL_RGB32I :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGB32I = 0x8D83

pattern $bGL_RGB32UI :: a
$mGL_RGB32UI :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGB32UI = 0x8D71

pattern $bGL_RGB4 :: a
$mGL_RGB4 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGB4 = 0x804F

pattern $bGL_RGB5 :: a
$mGL_RGB5 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGB5 = 0x8050

pattern $bGL_RGB5_A1 :: a
$mGL_RGB5_A1 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGB5_A1 = 0x8057

pattern $bGL_RGB8 :: a
$mGL_RGB8 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGB8 = 0x8051

pattern $bGL_RGB8I :: a
$mGL_RGB8I :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGB8I = 0x8D8F

pattern $bGL_RGB8UI :: a
$mGL_RGB8UI :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGB8UI = 0x8D7D

pattern $bGL_RGB8_SNORM :: a
$mGL_RGB8_SNORM :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGB8_SNORM = 0x8F96

pattern $bGL_RGB9_E5 :: a
$mGL_RGB9_E5 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGB9_E5 = 0x8C3D

pattern $bGL_RGBA :: a
$mGL_RGBA :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGBA = 0x1908

pattern $bGL_RGBA12 :: a
$mGL_RGBA12 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGBA12 = 0x805A

pattern $bGL_RGBA16 :: a
$mGL_RGBA16 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGBA16 = 0x805B

pattern $bGL_RGBA16F :: a
$mGL_RGBA16F :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGBA16F = 0x881A

pattern $bGL_RGBA16I :: a
$mGL_RGBA16I :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGBA16I = 0x8D88

pattern $bGL_RGBA16UI :: a
$mGL_RGBA16UI :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGBA16UI = 0x8D76

pattern $bGL_RGBA16_SNORM :: a
$mGL_RGBA16_SNORM :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGBA16_SNORM = 0x8F9B

pattern $bGL_RGBA2 :: a
$mGL_RGBA2 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGBA2 = 0x8055

pattern $bGL_RGBA32F :: a
$mGL_RGBA32F :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGBA32F = 0x8814

pattern $bGL_RGBA32I :: a
$mGL_RGBA32I :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGBA32I = 0x8D82

pattern $bGL_RGBA32UI :: a
$mGL_RGBA32UI :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGBA32UI = 0x8D70

pattern $bGL_RGBA4 :: a
$mGL_RGBA4 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGBA4 = 0x8056

pattern $bGL_RGBA8 :: a
$mGL_RGBA8 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGBA8 = 0x8058

pattern $bGL_RGBA8I :: a
$mGL_RGBA8I :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGBA8I = 0x8D8E

pattern $bGL_RGBA8UI :: a
$mGL_RGBA8UI :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGBA8UI = 0x8D7C

pattern $bGL_RGBA8_SNORM :: a
$mGL_RGBA8_SNORM :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGBA8_SNORM = 0x8F97

pattern $bGL_RGBA_INTEGER :: a
$mGL_RGBA_INTEGER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGBA_INTEGER = 0x8D99

pattern $bGL_RGB_INTEGER :: a
$mGL_RGB_INTEGER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGB_INTEGER = 0x8D98

pattern $bGL_RG_INTEGER :: a
$mGL_RG_INTEGER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RG_INTEGER = 0x8228

pattern $bGL_RIGHT :: a
$mGL_RIGHT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RIGHT = 0x0407

pattern $bGL_SAMPLER_1D :: a
$mGL_SAMPLER_1D :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SAMPLER_1D = 0x8B5D

pattern $bGL_SAMPLER_1D_ARRAY :: a
$mGL_SAMPLER_1D_ARRAY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SAMPLER_1D_ARRAY = 0x8DC0

pattern $bGL_SAMPLER_1D_ARRAY_SHADOW :: a
$mGL_SAMPLER_1D_ARRAY_SHADOW :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SAMPLER_1D_ARRAY_SHADOW = 0x8DC3

pattern $bGL_SAMPLER_1D_SHADOW :: a
$mGL_SAMPLER_1D_SHADOW :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SAMPLER_1D_SHADOW = 0x8B61

pattern $bGL_SAMPLER_2D :: a
$mGL_SAMPLER_2D :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SAMPLER_2D = 0x8B5E

pattern $bGL_SAMPLER_2D_ARRAY :: a
$mGL_SAMPLER_2D_ARRAY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SAMPLER_2D_ARRAY = 0x8DC1

pattern $bGL_SAMPLER_2D_ARRAY_SHADOW :: a
$mGL_SAMPLER_2D_ARRAY_SHADOW :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SAMPLER_2D_ARRAY_SHADOW = 0x8DC4

pattern $bGL_SAMPLER_2D_MULTISAMPLE :: a
$mGL_SAMPLER_2D_MULTISAMPLE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SAMPLER_2D_MULTISAMPLE = 0x9108

pattern $bGL_SAMPLER_2D_MULTISAMPLE_ARRAY :: a
$mGL_SAMPLER_2D_MULTISAMPLE_ARRAY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910B

pattern $bGL_SAMPLER_2D_RECT :: a
$mGL_SAMPLER_2D_RECT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SAMPLER_2D_RECT = 0x8B63

pattern $bGL_SAMPLER_2D_RECT_SHADOW :: a
$mGL_SAMPLER_2D_RECT_SHADOW :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SAMPLER_2D_RECT_SHADOW = 0x8B64

pattern $bGL_SAMPLER_2D_SHADOW :: a
$mGL_SAMPLER_2D_SHADOW :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SAMPLER_2D_SHADOW = 0x8B62

pattern $bGL_SAMPLER_3D :: a
$mGL_SAMPLER_3D :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SAMPLER_3D = 0x8B5F

pattern $bGL_SAMPLER_BUFFER :: a
$mGL_SAMPLER_BUFFER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SAMPLER_BUFFER = 0x8DC2

pattern $bGL_SAMPLER_CUBE :: a
$mGL_SAMPLER_CUBE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SAMPLER_CUBE = 0x8B60

pattern $bGL_SAMPLER_CUBE_SHADOW :: a
$mGL_SAMPLER_CUBE_SHADOW :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SAMPLER_CUBE_SHADOW = 0x8DC5

pattern $bGL_SAMPLES :: a
$mGL_SAMPLES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SAMPLES = 0x80A9

pattern $bGL_SAMPLES_PASSED :: a
$mGL_SAMPLES_PASSED :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SAMPLES_PASSED = 0x8914

pattern $bGL_SAMPLE_ALPHA_TO_COVERAGE :: a
$mGL_SAMPLE_ALPHA_TO_COVERAGE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SAMPLE_ALPHA_TO_COVERAGE = 0x809E

pattern $bGL_SAMPLE_ALPHA_TO_ONE :: a
$mGL_SAMPLE_ALPHA_TO_ONE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SAMPLE_ALPHA_TO_ONE = 0x809F

pattern $bGL_SAMPLE_BUFFERS :: a
$mGL_SAMPLE_BUFFERS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SAMPLE_BUFFERS = 0x80A8

pattern $bGL_SAMPLE_COVERAGE :: a
$mGL_SAMPLE_COVERAGE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SAMPLE_COVERAGE = 0x80A0

pattern $bGL_SAMPLE_COVERAGE_INVERT :: a
$mGL_SAMPLE_COVERAGE_INVERT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SAMPLE_COVERAGE_INVERT = 0x80AB

pattern $bGL_SAMPLE_COVERAGE_VALUE :: a
$mGL_SAMPLE_COVERAGE_VALUE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SAMPLE_COVERAGE_VALUE = 0x80AA

pattern $bGL_SAMPLE_MASK :: a
$mGL_SAMPLE_MASK :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SAMPLE_MASK = 0x8E51

pattern $bGL_SAMPLE_MASK_VALUE :: a
$mGL_SAMPLE_MASK_VALUE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SAMPLE_MASK_VALUE = 0x8E52

pattern $bGL_SAMPLE_POSITION :: a
$mGL_SAMPLE_POSITION :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SAMPLE_POSITION = 0x8E50

pattern $bGL_SCISSOR_BOX :: a
$mGL_SCISSOR_BOX :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SCISSOR_BOX = 0x0C10

pattern $bGL_SCISSOR_TEST :: a
$mGL_SCISSOR_TEST :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SCISSOR_TEST = 0x0C11

pattern $bGL_SEPARATE_ATTRIBS :: a
$mGL_SEPARATE_ATTRIBS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SEPARATE_ATTRIBS = 0x8C8D

pattern $bGL_SET :: a
$mGL_SET :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SET = 0x150F

pattern $bGL_SHADER_SOURCE_LENGTH :: a
$mGL_SHADER_SOURCE_LENGTH :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SHADER_SOURCE_LENGTH = 0x8B88

pattern $bGL_SHADER_TYPE :: a
$mGL_SHADER_TYPE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SHADER_TYPE = 0x8B4F

pattern $bGL_SHADING_LANGUAGE_VERSION :: a
$mGL_SHADING_LANGUAGE_VERSION :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SHADING_LANGUAGE_VERSION = 0x8B8C

pattern $bGL_SHORT :: a
$mGL_SHORT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SHORT = 0x1402

pattern $bGL_SIGNALED :: a
$mGL_SIGNALED :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SIGNALED = 0x9119

pattern $bGL_SIGNED_NORMALIZED :: a
$mGL_SIGNED_NORMALIZED :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SIGNED_NORMALIZED = 0x8F9C

pattern $bGL_SMOOTH_LINE_WIDTH_GRANULARITY :: a
$mGL_SMOOTH_LINE_WIDTH_GRANULARITY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SMOOTH_LINE_WIDTH_GRANULARITY = 0x0B23

pattern $bGL_SMOOTH_LINE_WIDTH_RANGE :: a
$mGL_SMOOTH_LINE_WIDTH_RANGE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SMOOTH_LINE_WIDTH_RANGE = 0x0B22

pattern $bGL_SMOOTH_POINT_SIZE_GRANULARITY :: a
$mGL_SMOOTH_POINT_SIZE_GRANULARITY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SMOOTH_POINT_SIZE_GRANULARITY = 0x0B13

pattern $bGL_SMOOTH_POINT_SIZE_RANGE :: a
$mGL_SMOOTH_POINT_SIZE_RANGE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SMOOTH_POINT_SIZE_RANGE = 0x0B12

pattern $bGL_SRC1_ALPHA :: a
$mGL_SRC1_ALPHA :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SRC1_ALPHA = 0x8589

pattern $bGL_SRC_ALPHA :: a
$mGL_SRC_ALPHA :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SRC_ALPHA = 0x0302

pattern $bGL_SRC_ALPHA_SATURATE :: a
$mGL_SRC_ALPHA_SATURATE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SRC_ALPHA_SATURATE = 0x0308

pattern $bGL_SRC_COLOR :: a
$mGL_SRC_COLOR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SRC_COLOR = 0x0300

pattern $bGL_SRGB :: a
$mGL_SRGB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SRGB = 0x8C40

pattern $bGL_SRGB8 :: a
$mGL_SRGB8 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SRGB8 = 0x8C41

pattern $bGL_SRGB8_ALPHA8 :: a
$mGL_SRGB8_ALPHA8 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SRGB8_ALPHA8 = 0x8C43

pattern $bGL_SRGB_ALPHA :: a
$mGL_SRGB_ALPHA :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SRGB_ALPHA = 0x8C42

pattern $bGL_STATIC_COPY :: a
$mGL_STATIC_COPY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_STATIC_COPY = 0x88E6

pattern $bGL_STATIC_DRAW :: a
$mGL_STATIC_DRAW :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_STATIC_DRAW = 0x88E4

pattern $bGL_STATIC_READ :: a
$mGL_STATIC_READ :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_STATIC_READ = 0x88E5

pattern $bGL_STENCIL :: a
$mGL_STENCIL :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_STENCIL = 0x1802

pattern $bGL_STENCIL_ATTACHMENT :: a
$mGL_STENCIL_ATTACHMENT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_STENCIL_ATTACHMENT = 0x8D20

pattern $bGL_STENCIL_BACK_FAIL :: a
$mGL_STENCIL_BACK_FAIL :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_STENCIL_BACK_FAIL = 0x8801

pattern $bGL_STENCIL_BACK_FUNC :: a
$mGL_STENCIL_BACK_FUNC :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_STENCIL_BACK_FUNC = 0x8800

pattern $bGL_STENCIL_BACK_PASS_DEPTH_FAIL :: a
$mGL_STENCIL_BACK_PASS_DEPTH_FAIL :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_STENCIL_BACK_PASS_DEPTH_FAIL = 0x8802

pattern $bGL_STENCIL_BACK_PASS_DEPTH_PASS :: a
$mGL_STENCIL_BACK_PASS_DEPTH_PASS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_STENCIL_BACK_PASS_DEPTH_PASS = 0x8803

pattern $bGL_STENCIL_BACK_REF :: a
$mGL_STENCIL_BACK_REF :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_STENCIL_BACK_REF = 0x8CA3

pattern $bGL_STENCIL_BACK_VALUE_MASK :: a
$mGL_STENCIL_BACK_VALUE_MASK :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_STENCIL_BACK_VALUE_MASK = 0x8CA4

pattern $bGL_STENCIL_BACK_WRITEMASK :: a
$mGL_STENCIL_BACK_WRITEMASK :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_STENCIL_BACK_WRITEMASK = 0x8CA5

pattern $bGL_STENCIL_BUFFER_BIT :: a
$mGL_STENCIL_BUFFER_BIT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_STENCIL_BUFFER_BIT = 0x00000400

pattern $bGL_STENCIL_CLEAR_VALUE :: a
$mGL_STENCIL_CLEAR_VALUE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_STENCIL_CLEAR_VALUE = 0x0B91

pattern $bGL_STENCIL_FAIL :: a
$mGL_STENCIL_FAIL :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_STENCIL_FAIL = 0x0B94

pattern $bGL_STENCIL_FUNC :: a
$mGL_STENCIL_FUNC :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_STENCIL_FUNC = 0x0B92

pattern $bGL_STENCIL_INDEX :: a
$mGL_STENCIL_INDEX :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_STENCIL_INDEX = 0x1901

pattern $bGL_STENCIL_INDEX1 :: a
$mGL_STENCIL_INDEX1 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_STENCIL_INDEX1 = 0x8D46

pattern $bGL_STENCIL_INDEX16 :: a
$mGL_STENCIL_INDEX16 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_STENCIL_INDEX16 = 0x8D49

pattern $bGL_STENCIL_INDEX4 :: a
$mGL_STENCIL_INDEX4 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_STENCIL_INDEX4 = 0x8D47

pattern $bGL_STENCIL_INDEX8 :: a
$mGL_STENCIL_INDEX8 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_STENCIL_INDEX8 = 0x8D48

pattern $bGL_STENCIL_PASS_DEPTH_FAIL :: a
$mGL_STENCIL_PASS_DEPTH_FAIL :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_STENCIL_PASS_DEPTH_FAIL = 0x0B95

pattern $bGL_STENCIL_PASS_DEPTH_PASS :: a
$mGL_STENCIL_PASS_DEPTH_PASS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_STENCIL_PASS_DEPTH_PASS = 0x0B96

pattern $bGL_STENCIL_REF :: a
$mGL_STENCIL_REF :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_STENCIL_REF = 0x0B97

pattern $bGL_STENCIL_TEST :: a
$mGL_STENCIL_TEST :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_STENCIL_TEST = 0x0B90

pattern $bGL_STENCIL_VALUE_MASK :: a
$mGL_STENCIL_VALUE_MASK :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_STENCIL_VALUE_MASK = 0x0B93

pattern $bGL_STENCIL_WRITEMASK :: a
$mGL_STENCIL_WRITEMASK :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_STENCIL_WRITEMASK = 0x0B98

pattern $bGL_STEREO :: a
$mGL_STEREO :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_STEREO = 0x0C33

pattern $bGL_STREAM_COPY :: a
$mGL_STREAM_COPY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_STREAM_COPY = 0x88E2

pattern $bGL_STREAM_DRAW :: a
$mGL_STREAM_DRAW :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_STREAM_DRAW = 0x88E0

pattern $bGL_STREAM_READ :: a
$mGL_STREAM_READ :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_STREAM_READ = 0x88E1

pattern $bGL_SUBPIXEL_BITS :: a
$mGL_SUBPIXEL_BITS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SUBPIXEL_BITS = 0x0D50

pattern $bGL_SYNC_CONDITION :: a
$mGL_SYNC_CONDITION :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SYNC_CONDITION = 0x9113

pattern $bGL_SYNC_FENCE :: a
$mGL_SYNC_FENCE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SYNC_FENCE = 0x9116

pattern $bGL_SYNC_FLAGS :: a
$mGL_SYNC_FLAGS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SYNC_FLAGS = 0x9115

pattern $bGL_SYNC_FLUSH_COMMANDS_BIT :: a
$mGL_SYNC_FLUSH_COMMANDS_BIT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SYNC_FLUSH_COMMANDS_BIT = 0x00000001

pattern $bGL_SYNC_GPU_COMMANDS_COMPLETE :: a
$mGL_SYNC_GPU_COMMANDS_COMPLETE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SYNC_GPU_COMMANDS_COMPLETE = 0x9117

pattern $bGL_SYNC_STATUS :: a
$mGL_SYNC_STATUS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SYNC_STATUS = 0x9114

pattern $bGL_TEXTURE :: a
$mGL_TEXTURE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE = 0x1702

pattern $bGL_TEXTURE0 :: a
$mGL_TEXTURE0 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE0 = 0x84C0

pattern $bGL_TEXTURE1 :: a
$mGL_TEXTURE1 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE1 = 0x84C1

pattern $bGL_TEXTURE10 :: a
$mGL_TEXTURE10 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE10 = 0x84CA

pattern $bGL_TEXTURE11 :: a
$mGL_TEXTURE11 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE11 = 0x84CB

pattern $bGL_TEXTURE12 :: a
$mGL_TEXTURE12 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE12 = 0x84CC

pattern $bGL_TEXTURE13 :: a
$mGL_TEXTURE13 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE13 = 0x84CD

pattern $bGL_TEXTURE14 :: a
$mGL_TEXTURE14 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE14 = 0x84CE

pattern $bGL_TEXTURE15 :: a
$mGL_TEXTURE15 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE15 = 0x84CF

pattern $bGL_TEXTURE16 :: a
$mGL_TEXTURE16 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE16 = 0x84D0

pattern $bGL_TEXTURE17 :: a
$mGL_TEXTURE17 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE17 = 0x84D1

pattern $bGL_TEXTURE18 :: a
$mGL_TEXTURE18 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE18 = 0x84D2

pattern $bGL_TEXTURE19 :: a
$mGL_TEXTURE19 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE19 = 0x84D3

pattern $bGL_TEXTURE2 :: a
$mGL_TEXTURE2 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE2 = 0x84C2

pattern $bGL_TEXTURE20 :: a
$mGL_TEXTURE20 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE20 = 0x84D4

pattern $bGL_TEXTURE21 :: a
$mGL_TEXTURE21 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE21 = 0x84D5

pattern $bGL_TEXTURE22 :: a
$mGL_TEXTURE22 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE22 = 0x84D6

pattern $bGL_TEXTURE23 :: a
$mGL_TEXTURE23 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE23 = 0x84D7

pattern $bGL_TEXTURE24 :: a
$mGL_TEXTURE24 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE24 = 0x84D8

pattern $bGL_TEXTURE25 :: a
$mGL_TEXTURE25 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE25 = 0x84D9

pattern $bGL_TEXTURE26 :: a
$mGL_TEXTURE26 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE26 = 0x84DA

pattern $bGL_TEXTURE27 :: a
$mGL_TEXTURE27 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE27 = 0x84DB

pattern $bGL_TEXTURE28 :: a
$mGL_TEXTURE28 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE28 = 0x84DC

pattern $bGL_TEXTURE29 :: a
$mGL_TEXTURE29 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE29 = 0x84DD

pattern $bGL_TEXTURE3 :: a
$mGL_TEXTURE3 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE3 = 0x84C3

pattern $bGL_TEXTURE30 :: a
$mGL_TEXTURE30 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE30 = 0x84DE

pattern $bGL_TEXTURE31 :: a
$mGL_TEXTURE31 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE31 = 0x84DF

pattern $bGL_TEXTURE4 :: a
$mGL_TEXTURE4 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE4 = 0x84C4

pattern $bGL_TEXTURE5 :: a
$mGL_TEXTURE5 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE5 = 0x84C5

pattern $bGL_TEXTURE6 :: a
$mGL_TEXTURE6 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE6 = 0x84C6

pattern $bGL_TEXTURE7 :: a
$mGL_TEXTURE7 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE7 = 0x84C7

pattern $bGL_TEXTURE8 :: a
$mGL_TEXTURE8 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE8 = 0x84C8

pattern $bGL_TEXTURE9 :: a
$mGL_TEXTURE9 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE9 = 0x84C9

pattern $bGL_TEXTURE_1D :: a
$mGL_TEXTURE_1D :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_1D = 0x0DE0

pattern $bGL_TEXTURE_1D_ARRAY :: a
$mGL_TEXTURE_1D_ARRAY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_1D_ARRAY = 0x8C18

pattern $bGL_TEXTURE_2D :: a
$mGL_TEXTURE_2D :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_2D = 0x0DE1

pattern $bGL_TEXTURE_2D_ARRAY :: a
$mGL_TEXTURE_2D_ARRAY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_2D_ARRAY = 0x8C1A

pattern $bGL_TEXTURE_2D_MULTISAMPLE :: a
$mGL_TEXTURE_2D_MULTISAMPLE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_2D_MULTISAMPLE = 0x9100

pattern $bGL_TEXTURE_2D_MULTISAMPLE_ARRAY :: a
$mGL_TEXTURE_2D_MULTISAMPLE_ARRAY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_2D_MULTISAMPLE_ARRAY = 0x9102

pattern $bGL_TEXTURE_3D :: a
$mGL_TEXTURE_3D :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_3D = 0x806F

pattern $bGL_TEXTURE_ALPHA_SIZE :: a
$mGL_TEXTURE_ALPHA_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_ALPHA_SIZE = 0x805F

pattern $bGL_TEXTURE_ALPHA_TYPE :: a
$mGL_TEXTURE_ALPHA_TYPE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_ALPHA_TYPE = 0x8C13

pattern $bGL_TEXTURE_BASE_LEVEL :: a
$mGL_TEXTURE_BASE_LEVEL :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_BASE_LEVEL = 0x813C

pattern $bGL_TEXTURE_BINDING_1D :: a
$mGL_TEXTURE_BINDING_1D :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_BINDING_1D = 0x8068

pattern $bGL_TEXTURE_BINDING_1D_ARRAY :: a
$mGL_TEXTURE_BINDING_1D_ARRAY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_BINDING_1D_ARRAY = 0x8C1C

pattern $bGL_TEXTURE_BINDING_2D :: a
$mGL_TEXTURE_BINDING_2D :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_BINDING_2D = 0x8069

pattern $bGL_TEXTURE_BINDING_2D_ARRAY :: a
$mGL_TEXTURE_BINDING_2D_ARRAY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_BINDING_2D_ARRAY = 0x8C1D

pattern $bGL_TEXTURE_BINDING_2D_MULTISAMPLE :: a
$mGL_TEXTURE_BINDING_2D_MULTISAMPLE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_BINDING_2D_MULTISAMPLE = 0x9104

pattern $bGL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY :: a
$mGL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY = 0x9105

pattern $bGL_TEXTURE_BINDING_3D :: a
$mGL_TEXTURE_BINDING_3D :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_BINDING_3D = 0x806A

pattern $bGL_TEXTURE_BINDING_BUFFER :: a
$mGL_TEXTURE_BINDING_BUFFER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_BINDING_BUFFER = 0x8C2C

pattern $bGL_TEXTURE_BINDING_CUBE_MAP :: a
$mGL_TEXTURE_BINDING_CUBE_MAP :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_BINDING_CUBE_MAP = 0x8514

pattern $bGL_TEXTURE_BINDING_RECTANGLE :: a
$mGL_TEXTURE_BINDING_RECTANGLE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_BINDING_RECTANGLE = 0x84F6

pattern $bGL_TEXTURE_BLUE_SIZE :: a
$mGL_TEXTURE_BLUE_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_BLUE_SIZE = 0x805E

pattern $bGL_TEXTURE_BLUE_TYPE :: a
$mGL_TEXTURE_BLUE_TYPE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_BLUE_TYPE = 0x8C12

pattern $bGL_TEXTURE_BORDER_COLOR :: a
$mGL_TEXTURE_BORDER_COLOR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_BORDER_COLOR = 0x1004

pattern $bGL_TEXTURE_BUFFER :: a
$mGL_TEXTURE_BUFFER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_BUFFER = 0x8C2A

pattern $bGL_TEXTURE_BUFFER_DATA_STORE_BINDING :: a
$mGL_TEXTURE_BUFFER_DATA_STORE_BINDING :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_BUFFER_DATA_STORE_BINDING = 0x8C2D

pattern $bGL_TEXTURE_COMPARE_FUNC :: a
$mGL_TEXTURE_COMPARE_FUNC :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_COMPARE_FUNC = 0x884D

pattern $bGL_TEXTURE_COMPARE_MODE :: a
$mGL_TEXTURE_COMPARE_MODE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_COMPARE_MODE = 0x884C

pattern $bGL_TEXTURE_COMPRESSED :: a
$mGL_TEXTURE_COMPRESSED :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_COMPRESSED = 0x86A1

pattern $bGL_TEXTURE_COMPRESSED_IMAGE_SIZE :: a
$mGL_TEXTURE_COMPRESSED_IMAGE_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_COMPRESSED_IMAGE_SIZE = 0x86A0

pattern $bGL_TEXTURE_COMPRESSION_HINT :: a
$mGL_TEXTURE_COMPRESSION_HINT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_COMPRESSION_HINT = 0x84EF

pattern $bGL_TEXTURE_CUBE_MAP :: a
$mGL_TEXTURE_CUBE_MAP :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_CUBE_MAP = 0x8513

pattern $bGL_TEXTURE_CUBE_MAP_NEGATIVE_X :: a
$mGL_TEXTURE_CUBE_MAP_NEGATIVE_X :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_CUBE_MAP_NEGATIVE_X = 0x8516

pattern $bGL_TEXTURE_CUBE_MAP_NEGATIVE_Y :: a
$mGL_TEXTURE_CUBE_MAP_NEGATIVE_Y :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_CUBE_MAP_NEGATIVE_Y = 0x8518

pattern $bGL_TEXTURE_CUBE_MAP_NEGATIVE_Z :: a
$mGL_TEXTURE_CUBE_MAP_NEGATIVE_Z :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_CUBE_MAP_NEGATIVE_Z = 0x851A

pattern $bGL_TEXTURE_CUBE_MAP_POSITIVE_X :: a
$mGL_TEXTURE_CUBE_MAP_POSITIVE_X :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_CUBE_MAP_POSITIVE_X = 0x8515

pattern $bGL_TEXTURE_CUBE_MAP_POSITIVE_Y :: a
$mGL_TEXTURE_CUBE_MAP_POSITIVE_Y :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_CUBE_MAP_POSITIVE_Y = 0x8517

pattern $bGL_TEXTURE_CUBE_MAP_POSITIVE_Z :: a
$mGL_TEXTURE_CUBE_MAP_POSITIVE_Z :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_CUBE_MAP_POSITIVE_Z = 0x8519

pattern $bGL_TEXTURE_CUBE_MAP_SEAMLESS :: a
$mGL_TEXTURE_CUBE_MAP_SEAMLESS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_CUBE_MAP_SEAMLESS = 0x884F

pattern $bGL_TEXTURE_DEPTH :: a
$mGL_TEXTURE_DEPTH :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_DEPTH = 0x8071

pattern $bGL_TEXTURE_DEPTH_SIZE :: a
$mGL_TEXTURE_DEPTH_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_DEPTH_SIZE = 0x884A

pattern $bGL_TEXTURE_DEPTH_TYPE :: a
$mGL_TEXTURE_DEPTH_TYPE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_DEPTH_TYPE = 0x8C16

pattern $bGL_TEXTURE_FIXED_SAMPLE_LOCATIONS :: a
$mGL_TEXTURE_FIXED_SAMPLE_LOCATIONS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_FIXED_SAMPLE_LOCATIONS = 0x9107

pattern $bGL_TEXTURE_GREEN_SIZE :: a
$mGL_TEXTURE_GREEN_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_GREEN_SIZE = 0x805D

pattern $bGL_TEXTURE_GREEN_TYPE :: a
$mGL_TEXTURE_GREEN_TYPE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_GREEN_TYPE = 0x8C11

pattern $bGL_TEXTURE_HEIGHT :: a
$mGL_TEXTURE_HEIGHT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_HEIGHT = 0x1001

pattern $bGL_TEXTURE_INTERNAL_FORMAT :: a
$mGL_TEXTURE_INTERNAL_FORMAT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_INTERNAL_FORMAT = 0x1003

pattern $bGL_TEXTURE_LOD_BIAS :: a
$mGL_TEXTURE_LOD_BIAS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_LOD_BIAS = 0x8501

pattern $bGL_TEXTURE_MAG_FILTER :: a
$mGL_TEXTURE_MAG_FILTER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_MAG_FILTER = 0x2800

pattern $bGL_TEXTURE_MAX_LEVEL :: a
$mGL_TEXTURE_MAX_LEVEL :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_MAX_LEVEL = 0x813D

pattern $bGL_TEXTURE_MAX_LOD :: a
$mGL_TEXTURE_MAX_LOD :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_MAX_LOD = 0x813B

pattern $bGL_TEXTURE_MIN_FILTER :: a
$mGL_TEXTURE_MIN_FILTER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_MIN_FILTER = 0x2801

pattern $bGL_TEXTURE_MIN_LOD :: a
$mGL_TEXTURE_MIN_LOD :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_MIN_LOD = 0x813A

pattern $bGL_TEXTURE_RECTANGLE :: a
$mGL_TEXTURE_RECTANGLE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_RECTANGLE = 0x84F5

pattern $bGL_TEXTURE_RED_SIZE :: a
$mGL_TEXTURE_RED_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_RED_SIZE = 0x805C

pattern $bGL_TEXTURE_RED_TYPE :: a
$mGL_TEXTURE_RED_TYPE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_RED_TYPE = 0x8C10

pattern $bGL_TEXTURE_SAMPLES :: a
$mGL_TEXTURE_SAMPLES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_SAMPLES = 0x9106

pattern $bGL_TEXTURE_SHARED_SIZE :: a
$mGL_TEXTURE_SHARED_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_SHARED_SIZE = 0x8C3F

pattern $bGL_TEXTURE_STENCIL_SIZE :: a
$mGL_TEXTURE_STENCIL_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_STENCIL_SIZE = 0x88F1

pattern $bGL_TEXTURE_WIDTH :: a
$mGL_TEXTURE_WIDTH :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_WIDTH = 0x1000

pattern $bGL_TEXTURE_WRAP_R :: a
$mGL_TEXTURE_WRAP_R :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_WRAP_R = 0x8072

pattern $bGL_TEXTURE_WRAP_S :: a
$mGL_TEXTURE_WRAP_S :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_WRAP_S = 0x2802

pattern $bGL_TEXTURE_WRAP_T :: a
$mGL_TEXTURE_WRAP_T :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_WRAP_T = 0x2803

pattern $bGL_TIMEOUT_EXPIRED :: a
$mGL_TIMEOUT_EXPIRED :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TIMEOUT_EXPIRED = 0x911B

pattern $bGL_TIMEOUT_IGNORED :: a
$mGL_TIMEOUT_IGNORED :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TIMEOUT_IGNORED = 0xFFFFFFFFFFFFFFFF

pattern $bGL_TRANSFORM_FEEDBACK_BUFFER :: a
$mGL_TRANSFORM_FEEDBACK_BUFFER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TRANSFORM_FEEDBACK_BUFFER = 0x8C8E

pattern $bGL_TRANSFORM_FEEDBACK_BUFFER_BINDING :: a
$mGL_TRANSFORM_FEEDBACK_BUFFER_BINDING :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TRANSFORM_FEEDBACK_BUFFER_BINDING = 0x8C8F

pattern $bGL_TRANSFORM_FEEDBACK_BUFFER_MODE :: a
$mGL_TRANSFORM_FEEDBACK_BUFFER_MODE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TRANSFORM_FEEDBACK_BUFFER_MODE = 0x8C7F

pattern $bGL_TRANSFORM_FEEDBACK_BUFFER_SIZE :: a
$mGL_TRANSFORM_FEEDBACK_BUFFER_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TRANSFORM_FEEDBACK_BUFFER_SIZE = 0x8C85

pattern $bGL_TRANSFORM_FEEDBACK_BUFFER_START :: a
$mGL_TRANSFORM_FEEDBACK_BUFFER_START :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TRANSFORM_FEEDBACK_BUFFER_START = 0x8C84

pattern $bGL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN :: a
$mGL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN = 0x8C88

pattern $bGL_TRANSFORM_FEEDBACK_VARYINGS :: a
$mGL_TRANSFORM_FEEDBACK_VARYINGS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TRANSFORM_FEEDBACK_VARYINGS = 0x8C83

pattern $bGL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH :: a
$mGL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH = 0x8C76

pattern $bGL_TRIANGLES :: a
$mGL_TRIANGLES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TRIANGLES = 0x0004

pattern $bGL_TRIANGLES_ADJACENCY :: a
$mGL_TRIANGLES_ADJACENCY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TRIANGLES_ADJACENCY = 0x000C

pattern $bGL_TRIANGLE_FAN :: a
$mGL_TRIANGLE_FAN :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TRIANGLE_FAN = 0x0006

pattern $bGL_TRIANGLE_STRIP :: a
$mGL_TRIANGLE_STRIP :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TRIANGLE_STRIP = 0x0005

pattern $bGL_TRIANGLE_STRIP_ADJACENCY :: a
$mGL_TRIANGLE_STRIP_ADJACENCY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TRIANGLE_STRIP_ADJACENCY = 0x000D

pattern $bGL_TRUE :: a
$mGL_TRUE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TRUE = 1

pattern $bGL_UNIFORM_ARRAY_STRIDE :: a
$mGL_UNIFORM_ARRAY_STRIDE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNIFORM_ARRAY_STRIDE = 0x8A3C

pattern $bGL_UNIFORM_BLOCK_ACTIVE_UNIFORMS :: a
$mGL_UNIFORM_BLOCK_ACTIVE_UNIFORMS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS = 0x8A42

pattern $bGL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES :: a
$mGL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = 0x8A43

pattern $bGL_UNIFORM_BLOCK_BINDING :: a
$mGL_UNIFORM_BLOCK_BINDING :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNIFORM_BLOCK_BINDING = 0x8A3F

pattern $bGL_UNIFORM_BLOCK_DATA_SIZE :: a
$mGL_UNIFORM_BLOCK_DATA_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNIFORM_BLOCK_DATA_SIZE = 0x8A40

pattern $bGL_UNIFORM_BLOCK_INDEX :: a
$mGL_UNIFORM_BLOCK_INDEX :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNIFORM_BLOCK_INDEX = 0x8A3A

pattern $bGL_UNIFORM_BLOCK_NAME_LENGTH :: a
$mGL_UNIFORM_BLOCK_NAME_LENGTH :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNIFORM_BLOCK_NAME_LENGTH = 0x8A41

pattern $bGL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER :: a
$mGL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = 0x8A46

pattern $bGL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER :: a
$mGL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER = 0x8A45

pattern $bGL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER :: a
$mGL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = 0x8A44

pattern $bGL_UNIFORM_BUFFER :: a
$mGL_UNIFORM_BUFFER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNIFORM_BUFFER = 0x8A11

pattern $bGL_UNIFORM_BUFFER_BINDING :: a
$mGL_UNIFORM_BUFFER_BINDING :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNIFORM_BUFFER_BINDING = 0x8A28

pattern $bGL_UNIFORM_BUFFER_OFFSET_ALIGNMENT :: a
$mGL_UNIFORM_BUFFER_OFFSET_ALIGNMENT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT = 0x8A34

pattern $bGL_UNIFORM_BUFFER_SIZE :: a
$mGL_UNIFORM_BUFFER_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNIFORM_BUFFER_SIZE = 0x8A2A

pattern $bGL_UNIFORM_BUFFER_START :: a
$mGL_UNIFORM_BUFFER_START :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNIFORM_BUFFER_START = 0x8A29

pattern $bGL_UNIFORM_IS_ROW_MAJOR :: a
$mGL_UNIFORM_IS_ROW_MAJOR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNIFORM_IS_ROW_MAJOR = 0x8A3E

pattern $bGL_UNIFORM_MATRIX_STRIDE :: a
$mGL_UNIFORM_MATRIX_STRIDE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNIFORM_MATRIX_STRIDE = 0x8A3D

pattern $bGL_UNIFORM_NAME_LENGTH :: a
$mGL_UNIFORM_NAME_LENGTH :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNIFORM_NAME_LENGTH = 0x8A39

pattern $bGL_UNIFORM_OFFSET :: a
$mGL_UNIFORM_OFFSET :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNIFORM_OFFSET = 0x8A3B

pattern $bGL_UNIFORM_SIZE :: a
$mGL_UNIFORM_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNIFORM_SIZE = 0x8A38

pattern $bGL_UNIFORM_TYPE :: a
$mGL_UNIFORM_TYPE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNIFORM_TYPE = 0x8A37

pattern $bGL_UNPACK_ALIGNMENT :: a
$mGL_UNPACK_ALIGNMENT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNPACK_ALIGNMENT = 0x0CF5

pattern $bGL_UNPACK_IMAGE_HEIGHT :: a
$mGL_UNPACK_IMAGE_HEIGHT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNPACK_IMAGE_HEIGHT = 0x806E

pattern $bGL_UNPACK_LSB_FIRST :: a
$mGL_UNPACK_LSB_FIRST :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNPACK_LSB_FIRST = 0x0CF1

pattern $bGL_UNPACK_ROW_LENGTH :: a
$mGL_UNPACK_ROW_LENGTH :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNPACK_ROW_LENGTH = 0x0CF2

pattern $bGL_UNPACK_SKIP_IMAGES :: a
$mGL_UNPACK_SKIP_IMAGES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNPACK_SKIP_IMAGES = 0x806D

pattern $bGL_UNPACK_SKIP_PIXELS :: a
$mGL_UNPACK_SKIP_PIXELS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNPACK_SKIP_PIXELS = 0x0CF4

pattern $bGL_UNPACK_SKIP_ROWS :: a
$mGL_UNPACK_SKIP_ROWS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNPACK_SKIP_ROWS = 0x0CF3

pattern $bGL_UNPACK_SWAP_BYTES :: a
$mGL_UNPACK_SWAP_BYTES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNPACK_SWAP_BYTES = 0x0CF0

pattern $bGL_UNSIGNALED :: a
$mGL_UNSIGNALED :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNALED = 0x9118

pattern $bGL_UNSIGNED_BYTE :: a
$mGL_UNSIGNED_BYTE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNED_BYTE = 0x1401

pattern $bGL_UNSIGNED_BYTE_2_3_3_REV :: a
$mGL_UNSIGNED_BYTE_2_3_3_REV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNED_BYTE_2_3_3_REV = 0x8362

pattern $bGL_UNSIGNED_BYTE_3_3_2 :: a
$mGL_UNSIGNED_BYTE_3_3_2 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNED_BYTE_3_3_2 = 0x8032

pattern $bGL_UNSIGNED_INT :: a
$mGL_UNSIGNED_INT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNED_INT = 0x1405

pattern $bGL_UNSIGNED_INT_10F_11F_11F_REV :: a
$mGL_UNSIGNED_INT_10F_11F_11F_REV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNED_INT_10F_11F_11F_REV = 0x8C3B

pattern $bGL_UNSIGNED_INT_10_10_10_2 :: a
$mGL_UNSIGNED_INT_10_10_10_2 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNED_INT_10_10_10_2 = 0x8036

pattern $bGL_UNSIGNED_INT_24_8 :: a
$mGL_UNSIGNED_INT_24_8 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNED_INT_24_8 = 0x84FA

pattern $bGL_UNSIGNED_INT_2_10_10_10_REV :: a
$mGL_UNSIGNED_INT_2_10_10_10_REV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNED_INT_2_10_10_10_REV = 0x8368

pattern $bGL_UNSIGNED_INT_5_9_9_9_REV :: a
$mGL_UNSIGNED_INT_5_9_9_9_REV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNED_INT_5_9_9_9_REV = 0x8C3E

pattern $bGL_UNSIGNED_INT_8_8_8_8 :: a
$mGL_UNSIGNED_INT_8_8_8_8 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNED_INT_8_8_8_8 = 0x8035

pattern $bGL_UNSIGNED_INT_8_8_8_8_REV :: a
$mGL_UNSIGNED_INT_8_8_8_8_REV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNED_INT_8_8_8_8_REV = 0x8367

pattern $bGL_UNSIGNED_INT_SAMPLER_1D :: a
$mGL_UNSIGNED_INT_SAMPLER_1D :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNED_INT_SAMPLER_1D = 0x8DD1

pattern $bGL_UNSIGNED_INT_SAMPLER_1D_ARRAY :: a
$mGL_UNSIGNED_INT_SAMPLER_1D_ARRAY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNED_INT_SAMPLER_1D_ARRAY = 0x8DD6

pattern $bGL_UNSIGNED_INT_SAMPLER_2D :: a
$mGL_UNSIGNED_INT_SAMPLER_2D :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNED_INT_SAMPLER_2D = 0x8DD2

pattern $bGL_UNSIGNED_INT_SAMPLER_2D_ARRAY :: a
$mGL_UNSIGNED_INT_SAMPLER_2D_ARRAY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNED_INT_SAMPLER_2D_ARRAY = 0x8DD7

pattern $bGL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE :: a
$mGL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE = 0x910A

pattern $bGL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY :: a
$mGL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910D

pattern $bGL_UNSIGNED_INT_SAMPLER_2D_RECT :: a
$mGL_UNSIGNED_INT_SAMPLER_2D_RECT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNED_INT_SAMPLER_2D_RECT = 0x8DD5

pattern $bGL_UNSIGNED_INT_SAMPLER_3D :: a
$mGL_UNSIGNED_INT_SAMPLER_3D :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNED_INT_SAMPLER_3D = 0x8DD3

pattern $bGL_UNSIGNED_INT_SAMPLER_BUFFER :: a
$mGL_UNSIGNED_INT_SAMPLER_BUFFER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNED_INT_SAMPLER_BUFFER = 0x8DD8

pattern $bGL_UNSIGNED_INT_SAMPLER_CUBE :: a
$mGL_UNSIGNED_INT_SAMPLER_CUBE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNED_INT_SAMPLER_CUBE = 0x8DD4

pattern $bGL_UNSIGNED_INT_VEC2 :: a
$mGL_UNSIGNED_INT_VEC2 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNED_INT_VEC2 = 0x8DC6

pattern $bGL_UNSIGNED_INT_VEC3 :: a
$mGL_UNSIGNED_INT_VEC3 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNED_INT_VEC3 = 0x8DC7

pattern $bGL_UNSIGNED_INT_VEC4 :: a
$mGL_UNSIGNED_INT_VEC4 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNED_INT_VEC4 = 0x8DC8

pattern $bGL_UNSIGNED_NORMALIZED :: a
$mGL_UNSIGNED_NORMALIZED :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNED_NORMALIZED = 0x8C17

pattern $bGL_UNSIGNED_SHORT :: a
$mGL_UNSIGNED_SHORT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNED_SHORT = 0x1403

pattern $bGL_UNSIGNED_SHORT_1_5_5_5_REV :: a
$mGL_UNSIGNED_SHORT_1_5_5_5_REV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNED_SHORT_1_5_5_5_REV = 0x8366

pattern $bGL_UNSIGNED_SHORT_4_4_4_4 :: a
$mGL_UNSIGNED_SHORT_4_4_4_4 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNED_SHORT_4_4_4_4 = 0x8033

pattern $bGL_UNSIGNED_SHORT_4_4_4_4_REV :: a
$mGL_UNSIGNED_SHORT_4_4_4_4_REV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNED_SHORT_4_4_4_4_REV = 0x8365

pattern $bGL_UNSIGNED_SHORT_5_5_5_1 :: a
$mGL_UNSIGNED_SHORT_5_5_5_1 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNED_SHORT_5_5_5_1 = 0x8034

pattern $bGL_UNSIGNED_SHORT_5_6_5 :: a
$mGL_UNSIGNED_SHORT_5_6_5 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNED_SHORT_5_6_5 = 0x8363

pattern $bGL_UNSIGNED_SHORT_5_6_5_REV :: a
$mGL_UNSIGNED_SHORT_5_6_5_REV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNED_SHORT_5_6_5_REV = 0x8364

pattern $bGL_UPPER_LEFT :: a
$mGL_UPPER_LEFT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UPPER_LEFT = 0x8CA2

pattern $bGL_VALIDATE_STATUS :: a
$mGL_VALIDATE_STATUS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VALIDATE_STATUS = 0x8B83

pattern $bGL_VENDOR :: a
$mGL_VENDOR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VENDOR = 0x1F00

pattern $bGL_VERSION :: a
$mGL_VERSION :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERSION = 0x1F02

pattern $bGL_VERTEX_ARRAY_BINDING :: a
$mGL_VERTEX_ARRAY_BINDING :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_ARRAY_BINDING = 0x85B5

pattern $bGL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING :: a
$mGL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = 0x889F

pattern $bGL_VERTEX_ATTRIB_ARRAY_ENABLED :: a
$mGL_VERTEX_ATTRIB_ARRAY_ENABLED :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_ATTRIB_ARRAY_ENABLED = 0x8622

pattern $bGL_VERTEX_ATTRIB_ARRAY_INTEGER :: a
$mGL_VERTEX_ATTRIB_ARRAY_INTEGER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_ATTRIB_ARRAY_INTEGER = 0x88FD

pattern $bGL_VERTEX_ATTRIB_ARRAY_NORMALIZED :: a
$mGL_VERTEX_ATTRIB_ARRAY_NORMALIZED :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_ATTRIB_ARRAY_NORMALIZED = 0x886A

pattern $bGL_VERTEX_ATTRIB_ARRAY_POINTER :: a
$mGL_VERTEX_ATTRIB_ARRAY_POINTER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_ATTRIB_ARRAY_POINTER = 0x8645

pattern $bGL_VERTEX_ATTRIB_ARRAY_SIZE :: a
$mGL_VERTEX_ATTRIB_ARRAY_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_ATTRIB_ARRAY_SIZE = 0x8623

pattern $bGL_VERTEX_ATTRIB_ARRAY_STRIDE :: a
$mGL_VERTEX_ATTRIB_ARRAY_STRIDE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_ATTRIB_ARRAY_STRIDE = 0x8624

pattern $bGL_VERTEX_ATTRIB_ARRAY_TYPE :: a
$mGL_VERTEX_ATTRIB_ARRAY_TYPE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_ATTRIB_ARRAY_TYPE = 0x8625

pattern $bGL_VERTEX_PROGRAM_POINT_SIZE :: a
$mGL_VERTEX_PROGRAM_POINT_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_PROGRAM_POINT_SIZE = 0x8642

pattern $bGL_VERTEX_SHADER :: a
$mGL_VERTEX_SHADER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_SHADER = 0x8B31

pattern $bGL_VIEWPORT :: a
$mGL_VIEWPORT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VIEWPORT = 0x0BA2

pattern $bGL_WAIT_FAILED :: a
$mGL_WAIT_FAILED :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_WAIT_FAILED = 0x911D

pattern $bGL_WRITE_ONLY :: a
$mGL_WRITE_ONLY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_WRITE_ONLY = 0x88B9

pattern $bGL_XOR :: a
$mGL_XOR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_XOR = 0x1506

pattern $bGL_ZERO :: a
$mGL_ZERO :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ZERO = 0

-- | Usage: @'glBindFragDataLocationIndexed' program colorNumber index name@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glBindFragDataLocationIndexed.xhtml>


glBindFragDataLocationIndexed :: MonadIO m => GLuint -> GLuint -> GLuint -> Ptr GLchar -> m ()
glBindFragDataLocationIndexed :: GLenum -> GLenum -> GLenum -> Ptr GLchar -> m ()
glBindFragDataLocationIndexed = FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLchar -> IO ())
-> GLenum -> GLenum -> GLenum -> Ptr GLchar -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLchar -> IO ())
-> GLenum -> GLenum -> GLenum -> Ptr GLchar -> m ()
ffiuintuintuintPtrcharIOV FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLchar -> IO ())
glBindFragDataLocationIndexedFunPtr

glBindFragDataLocationIndexedFunPtr :: FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLchar -> IO ())
glBindFragDataLocationIndexedFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLchar -> IO ())
glBindFragDataLocationIndexedFunPtr = IO (FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLchar -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLchar -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLchar -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glBindFragDataLocationIndexed")

{-# NOINLINE glBindFragDataLocationIndexedFunPtr #-}

-- | Usage: @'glBindSampler' unit sampler@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glBindSampler.xhtml>


glBindSampler :: MonadIO m => GLuint -> GLuint -> m ()
glBindSampler :: GLenum -> GLenum -> m ()
glBindSampler = FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
ffiuintuintIOV FunPtr (GLenum -> GLenum -> IO ())
glBindSamplerFunPtr

glBindSamplerFunPtr :: FunPtr (GLuint -> GLuint -> IO ())
glBindSamplerFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glBindSamplerFunPtr = IO (FunPtr (GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glBindSampler")

{-# NOINLINE glBindSamplerFunPtr #-}

-- | Usage: @'glDeleteSamplers' count samplers@
--
-- The length of @samplers@ should be @count@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glDeleteSamplers.xhtml>


glDeleteSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glDeleteSamplers :: GLsizei -> Ptr GLenum -> m ()
glDeleteSamplers = FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
ffisizeiPtruintIOV FunPtr (GLsizei -> Ptr GLenum -> IO ())
glDeleteSamplersFunPtr

glDeleteSamplersFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glDeleteSamplersFunPtr :: FunPtr (GLsizei -> Ptr GLenum -> IO ())
glDeleteSamplersFunPtr = IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glDeleteSamplers")

{-# NOINLINE glDeleteSamplersFunPtr #-}

-- | Usage: @'glGenSamplers' count samplers@
--
-- The length of @samplers@ should be @count@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glGenSamplers.xhtml>


glGenSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGenSamplers :: GLsizei -> Ptr GLenum -> m ()
glGenSamplers = FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
ffisizeiPtruintIOV FunPtr (GLsizei -> Ptr GLenum -> IO ())
glGenSamplersFunPtr

glGenSamplersFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glGenSamplersFunPtr :: FunPtr (GLsizei -> Ptr GLenum -> IO ())
glGenSamplersFunPtr = IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGenSamplers")

{-# NOINLINE glGenSamplersFunPtr #-}

-- | Usage: @'glGetFragDataIndex' program name@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glGetFragDataIndex.xhtml>


glGetFragDataIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLint
glGetFragDataIndex :: GLenum -> Ptr GLchar -> m GLsizei
glGetFragDataIndex = FunPtr (GLenum -> Ptr GLchar -> IO GLsizei)
-> GLenum -> Ptr GLchar -> m GLsizei
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLchar -> IO GLsizei)
-> GLenum -> Ptr GLchar -> m GLsizei
ffiuintPtrcharIOint FunPtr (GLenum -> Ptr GLchar -> IO GLsizei)
glGetFragDataIndexFunPtr

glGetFragDataIndexFunPtr :: FunPtr (GLuint -> Ptr GLchar -> IO GLint)
glGetFragDataIndexFunPtr :: FunPtr (GLenum -> Ptr GLchar -> IO GLsizei)
glGetFragDataIndexFunPtr = IO (FunPtr (GLenum -> Ptr GLchar -> IO GLsizei))
-> FunPtr (GLenum -> Ptr GLchar -> IO GLsizei)
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLchar -> IO GLsizei))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetFragDataIndex")

{-# NOINLINE glGetFragDataIndexFunPtr #-}

-- | Usage: @'glGetQueryObjecti64v' id pname params@
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glGetQueryObjecti64v :: MonadIO m => GLuint -> GLenum -> Ptr GLint64 -> m ()
glGetQueryObjecti64v :: GLenum -> GLenum -> Ptr GLint64 -> m ()
glGetQueryObjecti64v = FunPtr (GLenum -> GLenum -> Ptr GLint64 -> IO ())
-> GLenum -> GLenum -> Ptr GLint64 -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLint64 -> IO ())
-> GLenum -> GLenum -> Ptr GLint64 -> m ()
ffiuintenumPtrint64IOV FunPtr (GLenum -> GLenum -> Ptr GLint64 -> IO ())
glGetQueryObjecti64vFunPtr

glGetQueryObjecti64vFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLint64 -> IO ())
glGetQueryObjecti64vFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLint64 -> IO ())
glGetQueryObjecti64vFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLint64 -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLint64 -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLint64 -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetQueryObjecti64v")

{-# NOINLINE glGetQueryObjecti64vFunPtr #-}

-- | Usage: @'glGetQueryObjectui64v' id pname params@
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glGetQueryObjectui64v :: MonadIO m => GLuint -> GLenum -> Ptr GLuint64 -> m ()
glGetQueryObjectui64v :: GLenum -> GLenum -> Ptr GLuint64 -> m ()
glGetQueryObjectui64v = FunPtr (GLenum -> GLenum -> Ptr GLuint64 -> IO ())
-> GLenum -> GLenum -> Ptr GLuint64 -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLuint64 -> IO ())
-> GLenum -> GLenum -> Ptr GLuint64 -> m ()
ffiuintenumPtruint64IOV FunPtr (GLenum -> GLenum -> Ptr GLuint64 -> IO ())
glGetQueryObjectui64vFunPtr

glGetQueryObjectui64vFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLuint64 -> IO ())
glGetQueryObjectui64vFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLuint64 -> IO ())
glGetQueryObjectui64vFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLuint64 -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLuint64 -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLuint64 -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetQueryObjectui64v")

{-# NOINLINE glGetQueryObjectui64vFunPtr #-}

-- | Usage: @'glGetSamplerParameterIiv' sampler pname params@
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glGetSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetSamplerParameterIiv :: GLenum -> GLenum -> Ptr GLsizei -> m ()
glGetSamplerParameterIiv = FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
ffiuintenumPtrintIOV FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetSamplerParameterIivFunPtr

glGetSamplerParameterIivFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
glGetSamplerParameterIivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetSamplerParameterIivFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetSamplerParameterIiv")

{-# NOINLINE glGetSamplerParameterIivFunPtr #-}

-- | Usage: @'glGetSamplerParameterIuiv' sampler pname params@
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glGetSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()
glGetSamplerParameterIuiv :: GLenum -> GLenum -> Ptr GLenum -> m ()
glGetSamplerParameterIuiv = FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
-> GLenum -> GLenum -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
-> GLenum -> GLenum -> Ptr GLenum -> m ()
ffiuintenumPtruintIOV FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
glGetSamplerParameterIuivFunPtr

glGetSamplerParameterIuivFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ())
glGetSamplerParameterIuivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
glGetSamplerParameterIuivFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetSamplerParameterIuiv")

{-# NOINLINE glGetSamplerParameterIuivFunPtr #-}

-- | Usage: @'glGetSamplerParameterfv' sampler pname params@
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glGetSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()
glGetSamplerParameterfv :: GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetSamplerParameterfv = FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> GLenum -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> GLenum -> Ptr GLfloat -> m ()
ffiuintenumPtrfloatIOV FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glGetSamplerParameterfvFunPtr

glGetSamplerParameterfvFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
glGetSamplerParameterfvFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glGetSamplerParameterfvFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetSamplerParameterfv")

{-# NOINLINE glGetSamplerParameterfvFunPtr #-}

-- | Usage: @'glGetSamplerParameteriv' sampler pname params@
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glGetSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetSamplerParameteriv :: GLenum -> GLenum -> Ptr GLsizei -> m ()
glGetSamplerParameteriv = FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
ffiuintenumPtrintIOV FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetSamplerParameterivFunPtr

glGetSamplerParameterivFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
glGetSamplerParameterivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetSamplerParameterivFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetSamplerParameteriv")

{-# NOINLINE glGetSamplerParameterivFunPtr #-}

-- | Usage: @'glIsSampler' sampler@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glIsSampler.xhtml>


glIsSampler :: MonadIO m => GLuint -> m GLboolean
glIsSampler :: GLenum -> m GLboolean
glIsSampler = FunPtr (GLenum -> IO GLboolean) -> GLenum -> m GLboolean
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO GLboolean) -> GLenum -> m GLboolean
ffiuintIOboolean FunPtr (GLenum -> IO GLboolean)
glIsSamplerFunPtr

glIsSamplerFunPtr :: FunPtr (GLuint -> IO GLboolean)
glIsSamplerFunPtr :: FunPtr (GLenum -> IO GLboolean)
glIsSamplerFunPtr = IO (FunPtr (GLenum -> IO GLboolean))
-> FunPtr (GLenum -> IO GLboolean)
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO GLboolean))
forall a. String -> IO (FunPtr a)
getProcAddress "glIsSampler")

{-# NOINLINE glIsSamplerFunPtr #-}

-- | Usage: @'glQueryCounter' id target@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glQueryCounter.xhtml>


glQueryCounter :: MonadIO m => GLuint -> GLenum -> m ()
glQueryCounter :: GLenum -> GLenum -> m ()
glQueryCounter = FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
ffiuintenumIOV FunPtr (GLenum -> GLenum -> IO ())
glQueryCounterFunPtr

glQueryCounterFunPtr :: FunPtr (GLuint -> GLenum -> IO ())
glQueryCounterFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glQueryCounterFunPtr = IO (FunPtr (GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glQueryCounter")

{-# NOINLINE glQueryCounterFunPtr #-}

-- | Usage: @'glSamplerParameterIiv' sampler pname param@
--
-- The length of @param@ should be @COMPSIZE(pname)@.


glSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glSamplerParameterIiv :: GLenum -> GLenum -> Ptr GLsizei -> m ()
glSamplerParameterIiv = FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
ffiuintenumPtrintIOV FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glSamplerParameterIivFunPtr

glSamplerParameterIivFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
glSamplerParameterIivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glSamplerParameterIivFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glSamplerParameterIiv")

{-# NOINLINE glSamplerParameterIivFunPtr #-}

-- | Usage: @'glSamplerParameterIuiv' sampler pname param@
--
-- The length of @param@ should be @COMPSIZE(pname)@.


glSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()
glSamplerParameterIuiv :: GLenum -> GLenum -> Ptr GLenum -> m ()
glSamplerParameterIuiv = FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
-> GLenum -> GLenum -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
-> GLenum -> GLenum -> Ptr GLenum -> m ()
ffiuintenumPtruintIOV FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
glSamplerParameterIuivFunPtr

glSamplerParameterIuivFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ())
glSamplerParameterIuivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
glSamplerParameterIuivFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glSamplerParameterIuiv")

{-# NOINLINE glSamplerParameterIuivFunPtr #-}

-- | Usage: @'glSamplerParameterf' sampler pname param@


glSamplerParameterf :: MonadIO m => GLuint -> GLenum -> GLfloat -> m ()
glSamplerParameterf :: GLenum -> GLenum -> GLfloat -> m ()
glSamplerParameterf = FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
-> GLenum -> GLenum -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
-> GLenum -> GLenum -> GLfloat -> m ()
ffiuintenumfloatIOV FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
glSamplerParameterfFunPtr

glSamplerParameterfFunPtr :: FunPtr (GLuint -> GLenum -> GLfloat -> IO ())
glSamplerParameterfFunPtr :: FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
glSamplerParameterfFunPtr = IO (FunPtr (GLenum -> GLenum -> GLfloat -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glSamplerParameterf")

{-# NOINLINE glSamplerParameterfFunPtr #-}

-- | Usage: @'glSamplerParameterfv' sampler pname param@
--
-- The length of @param@ should be @COMPSIZE(pname)@.


glSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()
glSamplerParameterfv :: GLenum -> GLenum -> Ptr GLfloat -> m ()
glSamplerParameterfv = FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> GLenum -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> GLenum -> Ptr GLfloat -> m ()
ffiuintenumPtrfloatIOV FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glSamplerParameterfvFunPtr

glSamplerParameterfvFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
glSamplerParameterfvFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glSamplerParameterfvFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glSamplerParameterfv")

{-# NOINLINE glSamplerParameterfvFunPtr #-}

-- | Usage: @'glSamplerParameteri' sampler pname param@


glSamplerParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()
glSamplerParameteri :: GLenum -> GLenum -> GLsizei -> m ()
glSamplerParameteri = FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
-> GLenum -> GLenum -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
-> GLenum -> GLenum -> GLsizei -> m ()
ffiuintenumintIOV FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
glSamplerParameteriFunPtr

glSamplerParameteriFunPtr :: FunPtr (GLuint -> GLenum -> GLint -> IO ())
glSamplerParameteriFunPtr :: FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
glSamplerParameteriFunPtr = IO (FunPtr (GLenum -> GLenum -> GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glSamplerParameteri")

{-# NOINLINE glSamplerParameteriFunPtr #-}

-- | Usage: @'glSamplerParameteriv' sampler pname param@
--
-- The length of @param@ should be @COMPSIZE(pname)@.


glSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glSamplerParameteriv :: GLenum -> GLenum -> Ptr GLsizei -> m ()
glSamplerParameteriv = FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
ffiuintenumPtrintIOV FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glSamplerParameterivFunPtr

glSamplerParameterivFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
glSamplerParameterivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glSamplerParameterivFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glSamplerParameteriv")

{-# NOINLINE glSamplerParameterivFunPtr #-}

-- | Usage: @'glVertexAttribDivisor' index divisor@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glVertexAttribDivisor.xhtml>


glVertexAttribDivisor :: MonadIO m => GLuint -> GLuint -> m ()
glVertexAttribDivisor :: GLenum -> GLenum -> m ()
glVertexAttribDivisor = FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
ffiuintuintIOV FunPtr (GLenum -> GLenum -> IO ())
glVertexAttribDivisorFunPtr

glVertexAttribDivisorFunPtr :: FunPtr (GLuint -> GLuint -> IO ())
glVertexAttribDivisorFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glVertexAttribDivisorFunPtr = IO (FunPtr (GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttribDivisor")

{-# NOINLINE glVertexAttribDivisorFunPtr #-}

-- | Usage: @'glVertexAttribP1ui' index type normalized value@
--
-- The parameter @normalized@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.


glVertexAttribP1ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP1ui :: GLenum -> GLenum -> GLboolean -> GLenum -> m ()
glVertexAttribP1ui = FunPtr (GLenum -> GLenum -> GLboolean -> GLenum -> IO ())
-> GLenum -> GLenum -> GLboolean -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLboolean -> GLenum -> IO ())
-> GLenum -> GLenum -> GLboolean -> GLenum -> m ()
ffiuintenumbooleanuintIOV FunPtr (GLenum -> GLenum -> GLboolean -> GLenum -> IO ())
glVertexAttribP1uiFunPtr

glVertexAttribP1uiFunPtr :: FunPtr (GLuint -> GLenum -> GLboolean -> GLuint -> IO ())
glVertexAttribP1uiFunPtr :: FunPtr (GLenum -> GLenum -> GLboolean -> GLenum -> IO ())
glVertexAttribP1uiFunPtr = IO (FunPtr (GLenum -> GLenum -> GLboolean -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLboolean -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLenum -> GLboolean -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttribP1ui")

{-# NOINLINE glVertexAttribP1uiFunPtr #-}

-- | Usage: @'glVertexAttribP1uiv' index type normalized value@
--
-- The parameter @normalized@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @value@ should be @1@.


glVertexAttribP1uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()
glVertexAttribP1uiv :: GLenum -> GLenum -> GLboolean -> Ptr GLenum -> m ()
glVertexAttribP1uiv = FunPtr (GLenum -> GLenum -> GLboolean -> Ptr GLenum -> IO ())
-> GLenum -> GLenum -> GLboolean -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLboolean -> Ptr GLenum -> IO ())
-> GLenum -> GLenum -> GLboolean -> Ptr GLenum -> m ()
ffiuintenumbooleanPtruintIOV FunPtr (GLenum -> GLenum -> GLboolean -> Ptr GLenum -> IO ())
glVertexAttribP1uivFunPtr

glVertexAttribP1uivFunPtr :: FunPtr (GLuint -> GLenum -> GLboolean -> Ptr GLuint -> IO ())
glVertexAttribP1uivFunPtr :: FunPtr (GLenum -> GLenum -> GLboolean -> Ptr GLenum -> IO ())
glVertexAttribP1uivFunPtr = IO (FunPtr (GLenum -> GLenum -> GLboolean -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLboolean -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLenum -> GLboolean -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttribP1uiv")

{-# NOINLINE glVertexAttribP1uivFunPtr #-}

-- | Usage: @'glVertexAttribP2ui' index type normalized value@
--
-- The parameter @normalized@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.


glVertexAttribP2ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP2ui :: GLenum -> GLenum -> GLboolean -> GLenum -> m ()
glVertexAttribP2ui = FunPtr (GLenum -> GLenum -> GLboolean -> GLenum -> IO ())
-> GLenum -> GLenum -> GLboolean -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLboolean -> GLenum -> IO ())
-> GLenum -> GLenum -> GLboolean -> GLenum -> m ()
ffiuintenumbooleanuintIOV FunPtr (GLenum -> GLenum -> GLboolean -> GLenum -> IO ())
glVertexAttribP2uiFunPtr

glVertexAttribP2uiFunPtr :: FunPtr (GLuint -> GLenum -> GLboolean -> GLuint -> IO ())
glVertexAttribP2uiFunPtr :: FunPtr (GLenum -> GLenum -> GLboolean -> GLenum -> IO ())
glVertexAttribP2uiFunPtr = IO (FunPtr (GLenum -> GLenum -> GLboolean -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLboolean -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLenum -> GLboolean -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttribP2ui")

{-# NOINLINE glVertexAttribP2uiFunPtr #-}

-- | Usage: @'glVertexAttribP2uiv' index type normalized value@
--
-- The parameter @normalized@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @value@ should be @1@.


glVertexAttribP2uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()
glVertexAttribP2uiv :: GLenum -> GLenum -> GLboolean -> Ptr GLenum -> m ()
glVertexAttribP2uiv = FunPtr (GLenum -> GLenum -> GLboolean -> Ptr GLenum -> IO ())
-> GLenum -> GLenum -> GLboolean -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLboolean -> Ptr GLenum -> IO ())
-> GLenum -> GLenum -> GLboolean -> Ptr GLenum -> m ()
ffiuintenumbooleanPtruintIOV FunPtr (GLenum -> GLenum -> GLboolean -> Ptr GLenum -> IO ())
glVertexAttribP2uivFunPtr

glVertexAttribP2uivFunPtr :: FunPtr (GLuint -> GLenum -> GLboolean -> Ptr GLuint -> IO ())
glVertexAttribP2uivFunPtr :: FunPtr (GLenum -> GLenum -> GLboolean -> Ptr GLenum -> IO ())
glVertexAttribP2uivFunPtr = IO (FunPtr (GLenum -> GLenum -> GLboolean -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLboolean -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLenum -> GLboolean -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttribP2uiv")

{-# NOINLINE glVertexAttribP2uivFunPtr #-}

-- | Usage: @'glVertexAttribP3ui' index type normalized value@
--
-- The parameter @normalized@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.


glVertexAttribP3ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP3ui :: GLenum -> GLenum -> GLboolean -> GLenum -> m ()
glVertexAttribP3ui = FunPtr (GLenum -> GLenum -> GLboolean -> GLenum -> IO ())
-> GLenum -> GLenum -> GLboolean -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLboolean -> GLenum -> IO ())
-> GLenum -> GLenum -> GLboolean -> GLenum -> m ()
ffiuintenumbooleanuintIOV FunPtr (GLenum -> GLenum -> GLboolean -> GLenum -> IO ())
glVertexAttribP3uiFunPtr

glVertexAttribP3uiFunPtr :: FunPtr (GLuint -> GLenum -> GLboolean -> GLuint -> IO ())
glVertexAttribP3uiFunPtr :: FunPtr (GLenum -> GLenum -> GLboolean -> GLenum -> IO ())
glVertexAttribP3uiFunPtr = IO (FunPtr (GLenum -> GLenum -> GLboolean -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLboolean -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLenum -> GLboolean -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttribP3ui")

{-# NOINLINE glVertexAttribP3uiFunPtr #-}

-- | Usage: @'glVertexAttribP3uiv' index type normalized value@
--
-- The parameter @normalized@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @value@ should be @1@.


glVertexAttribP3uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()
glVertexAttribP3uiv :: GLenum -> GLenum -> GLboolean -> Ptr GLenum -> m ()
glVertexAttribP3uiv = FunPtr (GLenum -> GLenum -> GLboolean -> Ptr GLenum -> IO ())
-> GLenum -> GLenum -> GLboolean -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLboolean -> Ptr GLenum -> IO ())
-> GLenum -> GLenum -> GLboolean -> Ptr GLenum -> m ()
ffiuintenumbooleanPtruintIOV FunPtr (GLenum -> GLenum -> GLboolean -> Ptr GLenum -> IO ())
glVertexAttribP3uivFunPtr

glVertexAttribP3uivFunPtr :: FunPtr (GLuint -> GLenum -> GLboolean -> Ptr GLuint -> IO ())
glVertexAttribP3uivFunPtr :: FunPtr (GLenum -> GLenum -> GLboolean -> Ptr GLenum -> IO ())
glVertexAttribP3uivFunPtr = IO (FunPtr (GLenum -> GLenum -> GLboolean -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLboolean -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLenum -> GLboolean -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttribP3uiv")

{-# NOINLINE glVertexAttribP3uivFunPtr #-}

-- | Usage: @'glVertexAttribP4ui' index type normalized value@
--
-- The parameter @normalized@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.


glVertexAttribP4ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP4ui :: GLenum -> GLenum -> GLboolean -> GLenum -> m ()
glVertexAttribP4ui = FunPtr (GLenum -> GLenum -> GLboolean -> GLenum -> IO ())
-> GLenum -> GLenum -> GLboolean -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLboolean -> GLenum -> IO ())
-> GLenum -> GLenum -> GLboolean -> GLenum -> m ()
ffiuintenumbooleanuintIOV FunPtr (GLenum -> GLenum -> GLboolean -> GLenum -> IO ())
glVertexAttribP4uiFunPtr

glVertexAttribP4uiFunPtr :: FunPtr (GLuint -> GLenum -> GLboolean -> GLuint -> IO ())
glVertexAttribP4uiFunPtr :: FunPtr (GLenum -> GLenum -> GLboolean -> GLenum -> IO ())
glVertexAttribP4uiFunPtr = IO (FunPtr (GLenum -> GLenum -> GLboolean -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLboolean -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLenum -> GLboolean -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttribP4ui")

{-# NOINLINE glVertexAttribP4uiFunPtr #-}

-- | Usage: @'glVertexAttribP4uiv' index type normalized value@
--
-- The parameter @normalized@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @value@ should be @1@.


glVertexAttribP4uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()
glVertexAttribP4uiv :: GLenum -> GLenum -> GLboolean -> Ptr GLenum -> m ()
glVertexAttribP4uiv = FunPtr (GLenum -> GLenum -> GLboolean -> Ptr GLenum -> IO ())
-> GLenum -> GLenum -> GLboolean -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLboolean -> Ptr GLenum -> IO ())
-> GLenum -> GLenum -> GLboolean -> Ptr GLenum -> m ()
ffiuintenumbooleanPtruintIOV FunPtr (GLenum -> GLenum -> GLboolean -> Ptr GLenum -> IO ())
glVertexAttribP4uivFunPtr

glVertexAttribP4uivFunPtr :: FunPtr (GLuint -> GLenum -> GLboolean -> Ptr GLuint -> IO ())
glVertexAttribP4uivFunPtr :: FunPtr (GLenum -> GLenum -> GLboolean -> Ptr GLenum -> IO ())
glVertexAttribP4uivFunPtr = IO (FunPtr (GLenum -> GLenum -> GLboolean -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLboolean -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLenum -> GLboolean -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttribP4uiv")

{-# NOINLINE glVertexAttribP4uivFunPtr #-}

pattern $bGL_ANY_SAMPLES_PASSED :: a
$mGL_ANY_SAMPLES_PASSED :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ANY_SAMPLES_PASSED = 0x8C2F

pattern $bGL_INT_2_10_10_10_REV :: a
$mGL_INT_2_10_10_10_REV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INT_2_10_10_10_REV = 0x8D9F

pattern $bGL_MAX_DUAL_SOURCE_DRAW_BUFFERS :: a
$mGL_MAX_DUAL_SOURCE_DRAW_BUFFERS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_DUAL_SOURCE_DRAW_BUFFERS = 0x88FC

pattern $bGL_ONE_MINUS_SRC1_ALPHA :: a
$mGL_ONE_MINUS_SRC1_ALPHA :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ONE_MINUS_SRC1_ALPHA = 0x88FB

pattern $bGL_ONE_MINUS_SRC1_COLOR :: a
$mGL_ONE_MINUS_SRC1_COLOR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ONE_MINUS_SRC1_COLOR = 0x88FA

pattern $bGL_RGB10_A2UI :: a
$mGL_RGB10_A2UI :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGB10_A2UI = 0x906F

pattern $bGL_SAMPLER_BINDING :: a
$mGL_SAMPLER_BINDING :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SAMPLER_BINDING = 0x8919

pattern $bGL_SRC1_COLOR :: a
$mGL_SRC1_COLOR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SRC1_COLOR = 0x88F9

pattern $bGL_TEXTURE_SWIZZLE_A :: a
$mGL_TEXTURE_SWIZZLE_A :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_SWIZZLE_A = 0x8E45

pattern $bGL_TEXTURE_SWIZZLE_B :: a
$mGL_TEXTURE_SWIZZLE_B :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_SWIZZLE_B = 0x8E44

pattern $bGL_TEXTURE_SWIZZLE_G :: a
$mGL_TEXTURE_SWIZZLE_G :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_SWIZZLE_G = 0x8E43

pattern $bGL_TEXTURE_SWIZZLE_R :: a
$mGL_TEXTURE_SWIZZLE_R :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_SWIZZLE_R = 0x8E42

pattern $bGL_TEXTURE_SWIZZLE_RGBA :: a
$mGL_TEXTURE_SWIZZLE_RGBA :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_SWIZZLE_RGBA = 0x8E46

pattern $bGL_TIMESTAMP :: a
$mGL_TIMESTAMP :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TIMESTAMP = 0x8E28

pattern $bGL_TIME_ELAPSED :: a
$mGL_TIME_ELAPSED :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TIME_ELAPSED = 0x88BF

pattern $bGL_VERTEX_ATTRIB_ARRAY_DIVISOR :: a
$mGL_VERTEX_ATTRIB_ARRAY_DIVISOR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_ATTRIB_ARRAY_DIVISOR = 0x88FE

-- | Usage: @'glBeginQueryIndexed' target index id@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glBeginQueryIndexed.xhtml>


glBeginQueryIndexed :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()
glBeginQueryIndexed :: GLenum -> GLenum -> GLenum -> m ()
glBeginQueryIndexed = FunPtr (GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> m ()
ffienumuintuintIOV FunPtr (GLenum -> GLenum -> GLenum -> IO ())
glBeginQueryIndexedFunPtr

glBeginQueryIndexedFunPtr :: FunPtr (GLenum -> GLuint -> GLuint -> IO ())
glBeginQueryIndexedFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> IO ())
glBeginQueryIndexedFunPtr = IO (FunPtr (GLenum -> GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glBeginQueryIndexed")

{-# NOINLINE glBeginQueryIndexedFunPtr #-}

-- | Usage: @'glBindTransformFeedback' target id@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glBindTransformFeedback.xhtml>


glBindTransformFeedback :: MonadIO m => GLenum -> GLuint -> m ()
glBindTransformFeedback :: GLenum -> GLenum -> m ()
glBindTransformFeedback = FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
ffienumuintIOV FunPtr (GLenum -> GLenum -> IO ())
glBindTransformFeedbackFunPtr

glBindTransformFeedbackFunPtr :: FunPtr (GLenum -> GLuint -> IO ())
glBindTransformFeedbackFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glBindTransformFeedbackFunPtr = IO (FunPtr (GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glBindTransformFeedback")

{-# NOINLINE glBindTransformFeedbackFunPtr #-}

-- | Usage: @'glBlendEquationSeparatei' buf modeRGB modeAlpha@


glBlendEquationSeparatei :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()
glBlendEquationSeparatei :: GLenum -> GLenum -> GLenum -> m ()
glBlendEquationSeparatei = FunPtr (GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> m ()
ffiuintenumenumIOV FunPtr (GLenum -> GLenum -> GLenum -> IO ())
glBlendEquationSeparateiFunPtr

glBlendEquationSeparateiFunPtr :: FunPtr (GLuint -> GLenum -> GLenum -> IO ())
glBlendEquationSeparateiFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> IO ())
glBlendEquationSeparateiFunPtr = IO (FunPtr (GLenum -> GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glBlendEquationSeparatei")

{-# NOINLINE glBlendEquationSeparateiFunPtr #-}

-- | Usage: @'glBlendEquationi' buf mode@


glBlendEquationi :: MonadIO m => GLuint -> GLenum -> m ()
glBlendEquationi :: GLenum -> GLenum -> m ()
glBlendEquationi = FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
ffiuintenumIOV FunPtr (GLenum -> GLenum -> IO ())
glBlendEquationiFunPtr

glBlendEquationiFunPtr :: FunPtr (GLuint -> GLenum -> IO ())
glBlendEquationiFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glBlendEquationiFunPtr = IO (FunPtr (GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glBlendEquationi")

{-# NOINLINE glBlendEquationiFunPtr #-}

-- | Usage: @'glBlendFuncSeparatei' buf srcRGB dstRGB srcAlpha dstAlpha@


glBlendFuncSeparatei :: MonadIO m => GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> m ()
glBlendFuncSeparatei :: GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> m ()
glBlendFuncSeparatei = FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> m ()
ffiuintenumenumenumenumIOV FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
glBlendFuncSeparateiFunPtr

glBlendFuncSeparateiFunPtr :: FunPtr (GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
glBlendFuncSeparateiFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
glBlendFuncSeparateiFunPtr = IO
  (FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glBlendFuncSeparatei")

{-# NOINLINE glBlendFuncSeparateiFunPtr #-}

-- | Usage: @'glBlendFunci' buf src dst@


glBlendFunci :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()
glBlendFunci :: GLenum -> GLenum -> GLenum -> m ()
glBlendFunci = FunPtr (GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> m ()
ffiuintenumenumIOV FunPtr (GLenum -> GLenum -> GLenum -> IO ())
glBlendFunciFunPtr

glBlendFunciFunPtr :: FunPtr (GLuint -> GLenum -> GLenum -> IO ())
glBlendFunciFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> IO ())
glBlendFunciFunPtr = IO (FunPtr (GLenum -> GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glBlendFunci")

{-# NOINLINE glBlendFunciFunPtr #-}

-- | Usage: @'glDeleteTransformFeedbacks' n ids@
--
-- The length of @ids@ should be @n@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glDeleteTransformFeedbacks.xhtml>


glDeleteTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glDeleteTransformFeedbacks :: GLsizei -> Ptr GLenum -> m ()
glDeleteTransformFeedbacks = FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
ffisizeiPtruintIOV FunPtr (GLsizei -> Ptr GLenum -> IO ())
glDeleteTransformFeedbacksFunPtr

glDeleteTransformFeedbacksFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glDeleteTransformFeedbacksFunPtr :: FunPtr (GLsizei -> Ptr GLenum -> IO ())
glDeleteTransformFeedbacksFunPtr = IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glDeleteTransformFeedbacks")

{-# NOINLINE glDeleteTransformFeedbacksFunPtr #-}

-- | Usage: @'glDrawArraysIndirect' mode indirect@
--
-- The parameter @mode@ is a @PrimitiveType@, one of: 'Graphics.GL.Internal.Shared.GL_LINES', 'Graphics.GL.Internal.Shared.GL_LINES_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_LINES_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_LINES_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_LINE_LOOP', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_LINE_STRIP_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_PATCHES', 'Graphics.GL.Ext.EXT.TessellationShader.GL_PATCHES_EXT', 'Graphics.GL.Internal.Shared.GL_POINTS', 'Graphics.GL.Internal.Shared.GL_POLYGON', 'Graphics.GL.Internal.Shared.GL_QUADS', 'Graphics.GL.Ext.EXT.TessellationShader.GL_QUADS_EXT', 'Graphics.GL.Internal.Shared.GL_QUAD_STRIP', 'Graphics.GL.Internal.Shared.GL_TRIANGLES', 'Graphics.GL.Internal.Shared.GL_TRIANGLES_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_TRIANGLES_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_TRIANGLES_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_FAN', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_TRIANGLE_STRIP_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP_ADJACENCY_EXT'.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glDrawArraysIndirect.xhtml>


glDrawArraysIndirect :: MonadIO m => GLenum -> Ptr () -> m ()
glDrawArraysIndirect :: GLenum -> Ptr () -> m ()
glDrawArraysIndirect = FunPtr (GLenum -> Ptr () -> IO ()) -> GLenum -> Ptr () -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr () -> IO ()) -> GLenum -> Ptr () -> m ()
ffienumPtrVIOV FunPtr (GLenum -> Ptr () -> IO ())
glDrawArraysIndirectFunPtr

glDrawArraysIndirectFunPtr :: FunPtr (GLenum -> Ptr () -> IO ())
glDrawArraysIndirectFunPtr :: FunPtr (GLenum -> Ptr () -> IO ())
glDrawArraysIndirectFunPtr = IO (FunPtr (GLenum -> Ptr () -> IO ()))
-> FunPtr (GLenum -> Ptr () -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr () -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glDrawArraysIndirect")

{-# NOINLINE glDrawArraysIndirectFunPtr #-}

-- | Usage: @'glDrawElementsIndirect' mode type indirect@
--
-- The parameter @mode@ is a @PrimitiveType@, one of: 'Graphics.GL.Internal.Shared.GL_LINES', 'Graphics.GL.Internal.Shared.GL_LINES_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_LINES_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_LINES_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_LINE_LOOP', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_LINE_STRIP_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_PATCHES', 'Graphics.GL.Ext.EXT.TessellationShader.GL_PATCHES_EXT', 'Graphics.GL.Internal.Shared.GL_POINTS', 'Graphics.GL.Internal.Shared.GL_POLYGON', 'Graphics.GL.Internal.Shared.GL_QUADS', 'Graphics.GL.Ext.EXT.TessellationShader.GL_QUADS_EXT', 'Graphics.GL.Internal.Shared.GL_QUAD_STRIP', 'Graphics.GL.Internal.Shared.GL_TRIANGLES', 'Graphics.GL.Internal.Shared.GL_TRIANGLES_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_TRIANGLES_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_TRIANGLES_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_FAN', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_TRIANGLE_STRIP_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP_ADJACENCY_EXT'.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glDrawElementsIndirect.xhtml>


glDrawElementsIndirect :: MonadIO m => GLenum -> GLenum -> Ptr () -> m ()
glDrawElementsIndirect :: GLenum -> GLenum -> Ptr () -> m ()
glDrawElementsIndirect = FunPtr (GLenum -> GLenum -> Ptr () -> IO ())
-> GLenum -> GLenum -> Ptr () -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr () -> IO ())
-> GLenum -> GLenum -> Ptr () -> m ()
ffienumenumPtrVIOV FunPtr (GLenum -> GLenum -> Ptr () -> IO ())
glDrawElementsIndirectFunPtr

glDrawElementsIndirectFunPtr :: FunPtr (GLenum -> GLenum -> Ptr () -> IO ())
glDrawElementsIndirectFunPtr :: FunPtr (GLenum -> GLenum -> Ptr () -> IO ())
glDrawElementsIndirectFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr () -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr () -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr () -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glDrawElementsIndirect")

{-# NOINLINE glDrawElementsIndirectFunPtr #-}

-- | Usage: @'glDrawTransformFeedback' mode id@
--
-- The parameter @mode@ is a @PrimitiveType@, one of: 'Graphics.GL.Internal.Shared.GL_LINES', 'Graphics.GL.Internal.Shared.GL_LINES_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_LINES_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_LINES_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_LINE_LOOP', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_LINE_STRIP_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_PATCHES', 'Graphics.GL.Ext.EXT.TessellationShader.GL_PATCHES_EXT', 'Graphics.GL.Internal.Shared.GL_POINTS', 'Graphics.GL.Internal.Shared.GL_POLYGON', 'Graphics.GL.Internal.Shared.GL_QUADS', 'Graphics.GL.Ext.EXT.TessellationShader.GL_QUADS_EXT', 'Graphics.GL.Internal.Shared.GL_QUAD_STRIP', 'Graphics.GL.Internal.Shared.GL_TRIANGLES', 'Graphics.GL.Internal.Shared.GL_TRIANGLES_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_TRIANGLES_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_TRIANGLES_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_FAN', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_TRIANGLE_STRIP_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP_ADJACENCY_EXT'.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glDrawTransformFeedback.xhtml>


glDrawTransformFeedback :: MonadIO m => GLenum -> GLuint -> m ()
glDrawTransformFeedback :: GLenum -> GLenum -> m ()
glDrawTransformFeedback = FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
ffienumuintIOV FunPtr (GLenum -> GLenum -> IO ())
glDrawTransformFeedbackFunPtr

glDrawTransformFeedbackFunPtr :: FunPtr (GLenum -> GLuint -> IO ())
glDrawTransformFeedbackFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glDrawTransformFeedbackFunPtr = IO (FunPtr (GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glDrawTransformFeedback")

{-# NOINLINE glDrawTransformFeedbackFunPtr #-}

-- | Usage: @'glDrawTransformFeedbackStream' mode id stream@
--
-- The parameter @mode@ is a @PrimitiveType@, one of: 'Graphics.GL.Internal.Shared.GL_LINES', 'Graphics.GL.Internal.Shared.GL_LINES_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_LINES_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_LINES_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_LINE_LOOP', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_LINE_STRIP_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_PATCHES', 'Graphics.GL.Ext.EXT.TessellationShader.GL_PATCHES_EXT', 'Graphics.GL.Internal.Shared.GL_POINTS', 'Graphics.GL.Internal.Shared.GL_POLYGON', 'Graphics.GL.Internal.Shared.GL_QUADS', 'Graphics.GL.Ext.EXT.TessellationShader.GL_QUADS_EXT', 'Graphics.GL.Internal.Shared.GL_QUAD_STRIP', 'Graphics.GL.Internal.Shared.GL_TRIANGLES', 'Graphics.GL.Internal.Shared.GL_TRIANGLES_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_TRIANGLES_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_TRIANGLES_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_FAN', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_TRIANGLE_STRIP_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP_ADJACENCY_EXT'.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glDrawTransformFeedbackStream.xhtml>


glDrawTransformFeedbackStream :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()
glDrawTransformFeedbackStream :: GLenum -> GLenum -> GLenum -> m ()
glDrawTransformFeedbackStream = FunPtr (GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> m ()
ffienumuintuintIOV FunPtr (GLenum -> GLenum -> GLenum -> IO ())
glDrawTransformFeedbackStreamFunPtr

glDrawTransformFeedbackStreamFunPtr :: FunPtr (GLenum -> GLuint -> GLuint -> IO ())
glDrawTransformFeedbackStreamFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> IO ())
glDrawTransformFeedbackStreamFunPtr = IO (FunPtr (GLenum -> GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glDrawTransformFeedbackStream")

{-# NOINLINE glDrawTransformFeedbackStreamFunPtr #-}

-- | Usage: @'glEndQueryIndexed' target index@


glEndQueryIndexed :: MonadIO m => GLenum -> GLuint -> m ()
glEndQueryIndexed :: GLenum -> GLenum -> m ()
glEndQueryIndexed = FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
ffienumuintIOV FunPtr (GLenum -> GLenum -> IO ())
glEndQueryIndexedFunPtr

glEndQueryIndexedFunPtr :: FunPtr (GLenum -> GLuint -> IO ())
glEndQueryIndexedFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glEndQueryIndexedFunPtr = IO (FunPtr (GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glEndQueryIndexed")

{-# NOINLINE glEndQueryIndexedFunPtr #-}

-- | Usage: @'glGenTransformFeedbacks' n ids@
--
-- The length of @ids@ should be @n@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glGenTransformFeedbacks.xhtml>


glGenTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGenTransformFeedbacks :: GLsizei -> Ptr GLenum -> m ()
glGenTransformFeedbacks = FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
ffisizeiPtruintIOV FunPtr (GLsizei -> Ptr GLenum -> IO ())
glGenTransformFeedbacksFunPtr

glGenTransformFeedbacksFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glGenTransformFeedbacksFunPtr :: FunPtr (GLsizei -> Ptr GLenum -> IO ())
glGenTransformFeedbacksFunPtr = IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGenTransformFeedbacks")

{-# NOINLINE glGenTransformFeedbacksFunPtr #-}

-- | Usage: @'glGetActiveSubroutineName' program shadertype index bufsize length name@
--
-- The length of @length@ should be @1@.
--
-- The length of @name@ should be @bufsize@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glGetActiveSubroutineName.xhtml>


glGetActiveSubroutineName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
glGetActiveSubroutineName :: GLenum
-> GLenum -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
glGetActiveSubroutineName = FunPtr
  (GLenum
   -> GLenum
   -> GLenum
   -> GLsizei
   -> Ptr GLsizei
   -> Ptr GLchar
   -> IO ())
-> GLenum
-> GLenum
-> GLenum
-> GLsizei
-> Ptr GLsizei
-> Ptr GLchar
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLenum
   -> GLenum
   -> GLsizei
   -> Ptr GLsizei
   -> Ptr GLchar
   -> IO ())
-> GLenum
-> GLenum
-> GLenum
-> GLsizei
-> Ptr GLsizei
-> Ptr GLchar
-> m ()
ffiuintenumuintsizeiPtrsizeiPtrcharIOV FunPtr
  (GLenum
   -> GLenum
   -> GLenum
   -> GLsizei
   -> Ptr GLsizei
   -> Ptr GLchar
   -> IO ())
glGetActiveSubroutineNameFunPtr

glGetActiveSubroutineNameFunPtr :: FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
glGetActiveSubroutineNameFunPtr :: FunPtr
  (GLenum
   -> GLenum
   -> GLenum
   -> GLsizei
   -> Ptr GLsizei
   -> Ptr GLchar
   -> IO ())
glGetActiveSubroutineNameFunPtr = IO
  (FunPtr
     (GLenum
      -> GLenum
      -> GLenum
      -> GLsizei
      -> Ptr GLsizei
      -> Ptr GLchar
      -> IO ()))
-> FunPtr
     (GLenum
      -> GLenum
      -> GLenum
      -> GLsizei
      -> Ptr GLsizei
      -> Ptr GLchar
      -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLenum
         -> GLenum
         -> GLsizei
         -> Ptr GLsizei
         -> Ptr GLchar
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetActiveSubroutineName")

{-# NOINLINE glGetActiveSubroutineNameFunPtr #-}

-- | Usage: @'glGetActiveSubroutineUniformName' program shadertype index bufsize length name@
--
-- The length of @length@ should be @1@.
--
-- The length of @name@ should be @bufsize@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glGetActiveSubroutineUniformName.xhtml>


glGetActiveSubroutineUniformName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
glGetActiveSubroutineUniformName :: GLenum
-> GLenum -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
glGetActiveSubroutineUniformName = FunPtr
  (GLenum
   -> GLenum
   -> GLenum
   -> GLsizei
   -> Ptr GLsizei
   -> Ptr GLchar
   -> IO ())
-> GLenum
-> GLenum
-> GLenum
-> GLsizei
-> Ptr GLsizei
-> Ptr GLchar
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLenum
   -> GLenum
   -> GLsizei
   -> Ptr GLsizei
   -> Ptr GLchar
   -> IO ())
-> GLenum
-> GLenum
-> GLenum
-> GLsizei
-> Ptr GLsizei
-> Ptr GLchar
-> m ()
ffiuintenumuintsizeiPtrsizeiPtrcharIOV FunPtr
  (GLenum
   -> GLenum
   -> GLenum
   -> GLsizei
   -> Ptr GLsizei
   -> Ptr GLchar
   -> IO ())
glGetActiveSubroutineUniformNameFunPtr

glGetActiveSubroutineUniformNameFunPtr :: FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
glGetActiveSubroutineUniformNameFunPtr :: FunPtr
  (GLenum
   -> GLenum
   -> GLenum
   -> GLsizei
   -> Ptr GLsizei
   -> Ptr GLchar
   -> IO ())
glGetActiveSubroutineUniformNameFunPtr = IO
  (FunPtr
     (GLenum
      -> GLenum
      -> GLenum
      -> GLsizei
      -> Ptr GLsizei
      -> Ptr GLchar
      -> IO ()))
-> FunPtr
     (GLenum
      -> GLenum
      -> GLenum
      -> GLsizei
      -> Ptr GLsizei
      -> Ptr GLchar
      -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLenum
         -> GLenum
         -> GLsizei
         -> Ptr GLsizei
         -> Ptr GLchar
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetActiveSubroutineUniformName")

{-# NOINLINE glGetActiveSubroutineUniformNameFunPtr #-}

-- | Usage: @'glGetActiveSubroutineUniformiv' program shadertype index pname values@
--
-- The length of @values@ should be @COMPSIZE(pname)@.


glGetActiveSubroutineUniformiv :: MonadIO m => GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()
glGetActiveSubroutineUniformiv :: GLenum -> GLenum -> GLenum -> GLenum -> Ptr GLsizei -> m ()
glGetActiveSubroutineUniformiv = FunPtr
  (GLenum -> GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> GLenum -> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum -> GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> GLenum -> GLenum -> Ptr GLsizei -> m ()
ffiuintenumuintenumPtrintIOV FunPtr
  (GLenum -> GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetActiveSubroutineUniformivFunPtr

glGetActiveSubroutineUniformivFunPtr :: FunPtr (GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLint -> IO ())
glGetActiveSubroutineUniformivFunPtr :: FunPtr
  (GLenum -> GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetActiveSubroutineUniformivFunPtr = IO
  (FunPtr
     (GLenum -> GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr
     (GLenum -> GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum -> GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetActiveSubroutineUniformiv")

{-# NOINLINE glGetActiveSubroutineUniformivFunPtr #-}

-- | Usage: @'glGetProgramStageiv' program shadertype pname values@
--
-- The length of @values@ should be @1@.


glGetProgramStageiv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()
glGetProgramStageiv :: GLenum -> GLenum -> GLenum -> Ptr GLsizei -> m ()
glGetProgramStageiv = FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> GLenum -> Ptr GLsizei -> m ()
ffiuintenumenumPtrintIOV FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetProgramStageivFunPtr

glGetProgramStageivFunPtr :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ())
glGetProgramStageivFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetProgramStageivFunPtr = IO (FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetProgramStageiv")

{-# NOINLINE glGetProgramStageivFunPtr #-}

-- | Usage: @'glGetQueryIndexediv' target index pname params@
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glGetQueryIndexediv :: MonadIO m => GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()
glGetQueryIndexediv :: GLenum -> GLenum -> GLenum -> Ptr GLsizei -> m ()
glGetQueryIndexediv = FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> GLenum -> Ptr GLsizei -> m ()
ffienumuintenumPtrintIOV FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetQueryIndexedivFunPtr

glGetQueryIndexedivFunPtr :: FunPtr (GLenum -> GLuint -> GLenum -> Ptr GLint -> IO ())
glGetQueryIndexedivFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetQueryIndexedivFunPtr = IO (FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetQueryIndexediv")

{-# NOINLINE glGetQueryIndexedivFunPtr #-}

-- | Usage: @'glGetSubroutineIndex' program shadertype name@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glGetSubroutineIndex.xhtml>


glGetSubroutineIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLuint
glGetSubroutineIndex :: GLenum -> GLenum -> Ptr GLchar -> m GLenum
glGetSubroutineIndex = FunPtr (GLenum -> GLenum -> Ptr GLchar -> IO GLenum)
-> GLenum -> GLenum -> Ptr GLchar -> m GLenum
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLchar -> IO GLenum)
-> GLenum -> GLenum -> Ptr GLchar -> m GLenum
ffiuintenumPtrcharIOuint FunPtr (GLenum -> GLenum -> Ptr GLchar -> IO GLenum)
glGetSubroutineIndexFunPtr

glGetSubroutineIndexFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLchar -> IO GLuint)
glGetSubroutineIndexFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLchar -> IO GLenum)
glGetSubroutineIndexFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLchar -> IO GLenum))
-> FunPtr (GLenum -> GLenum -> Ptr GLchar -> IO GLenum)
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLchar -> IO GLenum))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetSubroutineIndex")

{-# NOINLINE glGetSubroutineIndexFunPtr #-}

-- | Usage: @'glGetSubroutineUniformLocation' program shadertype name@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glGetSubroutineUniformLocation.xhtml>


glGetSubroutineUniformLocation :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint
glGetSubroutineUniformLocation :: GLenum -> GLenum -> Ptr GLchar -> m GLsizei
glGetSubroutineUniformLocation = FunPtr (GLenum -> GLenum -> Ptr GLchar -> IO GLsizei)
-> GLenum -> GLenum -> Ptr GLchar -> m GLsizei
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLchar -> IO GLsizei)
-> GLenum -> GLenum -> Ptr GLchar -> m GLsizei
ffiuintenumPtrcharIOint FunPtr (GLenum -> GLenum -> Ptr GLchar -> IO GLsizei)
glGetSubroutineUniformLocationFunPtr

glGetSubroutineUniformLocationFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLchar -> IO GLint)
glGetSubroutineUniformLocationFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLchar -> IO GLsizei)
glGetSubroutineUniformLocationFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLchar -> IO GLsizei))
-> FunPtr (GLenum -> GLenum -> Ptr GLchar -> IO GLsizei)
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLenum -> Ptr GLchar -> IO GLsizei))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetSubroutineUniformLocation")

{-# NOINLINE glGetSubroutineUniformLocationFunPtr #-}

-- | Usage: @'glGetUniformSubroutineuiv' shadertype location params@
--
-- The length of @params@ should be @1@.


glGetUniformSubroutineuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()
glGetUniformSubroutineuiv :: GLenum -> GLsizei -> Ptr GLenum -> m ()
glGetUniformSubroutineuiv = FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
-> GLenum -> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
-> GLenum -> GLsizei -> Ptr GLenum -> m ()
ffienumintPtruintIOV FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
glGetUniformSubroutineuivFunPtr

glGetUniformSubroutineuivFunPtr :: FunPtr (GLenum -> GLint -> Ptr GLuint -> IO ())
glGetUniformSubroutineuivFunPtr :: FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
glGetUniformSubroutineuivFunPtr = IO (FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetUniformSubroutineuiv")

{-# NOINLINE glGetUniformSubroutineuivFunPtr #-}

-- | Usage: @'glGetUniformdv' program location params@
--
-- The length of @params@ should be @COMPSIZE(program,location)@.


glGetUniformdv :: MonadIO m => GLuint -> GLint -> Ptr GLdouble -> m ()
glGetUniformdv :: GLenum -> GLsizei -> Ptr GLdouble -> m ()
glGetUniformdv = FunPtr (GLenum -> GLsizei -> Ptr GLdouble -> IO ())
-> GLenum -> GLsizei -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> Ptr GLdouble -> IO ())
-> GLenum -> GLsizei -> Ptr GLdouble -> m ()
ffiuintintPtrdoubleIOV FunPtr (GLenum -> GLsizei -> Ptr GLdouble -> IO ())
glGetUniformdvFunPtr

glGetUniformdvFunPtr :: FunPtr (GLuint -> GLint -> Ptr GLdouble -> IO ())
glGetUniformdvFunPtr :: FunPtr (GLenum -> GLsizei -> Ptr GLdouble -> IO ())
glGetUniformdvFunPtr = IO (FunPtr (GLenum -> GLsizei -> Ptr GLdouble -> IO ()))
-> FunPtr (GLenum -> GLsizei -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLsizei -> Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetUniformdv")

{-# NOINLINE glGetUniformdvFunPtr #-}

-- | Usage: @'glIsTransformFeedback' id@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glIsTransformFeedback.xhtml>


glIsTransformFeedback :: MonadIO m => GLuint -> m GLboolean
glIsTransformFeedback :: GLenum -> m GLboolean
glIsTransformFeedback = FunPtr (GLenum -> IO GLboolean) -> GLenum -> m GLboolean
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO GLboolean) -> GLenum -> m GLboolean
ffiuintIOboolean FunPtr (GLenum -> IO GLboolean)
glIsTransformFeedbackFunPtr

glIsTransformFeedbackFunPtr :: FunPtr (GLuint -> IO GLboolean)
glIsTransformFeedbackFunPtr :: FunPtr (GLenum -> IO GLboolean)
glIsTransformFeedbackFunPtr = IO (FunPtr (GLenum -> IO GLboolean))
-> FunPtr (GLenum -> IO GLboolean)
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO GLboolean))
forall a. String -> IO (FunPtr a)
getProcAddress "glIsTransformFeedback")

{-# NOINLINE glIsTransformFeedbackFunPtr #-}

-- | Usage: @'glMinSampleShading' value@
--
-- The parameter @value@ is a @ColorF@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glMinSampleShading.xhtml>


glMinSampleShading :: MonadIO m => GLfloat -> m ()
glMinSampleShading :: GLfloat -> m ()
glMinSampleShading = FunPtr (GLfloat -> IO ()) -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLfloat -> IO ()) -> GLfloat -> m ()
ffifloatIOV FunPtr (GLfloat -> IO ())
glMinSampleShadingFunPtr

glMinSampleShadingFunPtr :: FunPtr (GLfloat -> IO ())
glMinSampleShadingFunPtr :: FunPtr (GLfloat -> IO ())
glMinSampleShadingFunPtr = IO (FunPtr (GLfloat -> IO ())) -> FunPtr (GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMinSampleShading")

{-# NOINLINE glMinSampleShadingFunPtr #-}

-- | Usage: @'glPatchParameterfv' pname values@
--
-- The length of @values@ should be @COMPSIZE(pname)@.


glPatchParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glPatchParameterfv :: GLenum -> Ptr GLfloat -> m ()
glPatchParameterfv = FunPtr (GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> Ptr GLfloat -> m ()
ffienumPtrfloatIOV FunPtr (GLenum -> Ptr GLfloat -> IO ())
glPatchParameterfvFunPtr

glPatchParameterfvFunPtr :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
glPatchParameterfvFunPtr :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
glPatchParameterfvFunPtr = IO (FunPtr (GLenum -> Ptr GLfloat -> IO ()))
-> FunPtr (GLenum -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glPatchParameterfv")

{-# NOINLINE glPatchParameterfvFunPtr #-}

-- | Usage: @'glPatchParameteri' pname value@


glPatchParameteri :: MonadIO m => GLenum -> GLint -> m ()
glPatchParameteri :: GLenum -> GLsizei -> m ()
glPatchParameteri = FunPtr (GLenum -> GLsizei -> IO ()) -> GLenum -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> IO ()) -> GLenum -> GLsizei -> m ()
ffienumintIOV FunPtr (GLenum -> GLsizei -> IO ())
glPatchParameteriFunPtr

glPatchParameteriFunPtr :: FunPtr (GLenum -> GLint -> IO ())
glPatchParameteriFunPtr :: FunPtr (GLenum -> GLsizei -> IO ())
glPatchParameteriFunPtr = IO (FunPtr (GLenum -> GLsizei -> IO ()))
-> FunPtr (GLenum -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glPatchParameteri")

{-# NOINLINE glPatchParameteriFunPtr #-}

-- | Usage: @'glPauseTransformFeedback'@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glPauseTransformFeedback.xhtml>


glPauseTransformFeedback :: MonadIO m => m ()
glPauseTransformFeedback :: m ()
glPauseTransformFeedback = FunPtr (IO ()) -> m ()
forall (m :: * -> *). MonadIO m => FunPtr (IO ()) -> m ()
ffiIOV FunPtr (IO ())
glPauseTransformFeedbackFunPtr

glPauseTransformFeedbackFunPtr :: FunPtr (IO ())
glPauseTransformFeedbackFunPtr :: FunPtr (IO ())
glPauseTransformFeedbackFunPtr = IO (FunPtr (IO ())) -> FunPtr (IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glPauseTransformFeedback")

{-# NOINLINE glPauseTransformFeedbackFunPtr #-}

-- | Usage: @'glResumeTransformFeedback'@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glResumeTransformFeedback.xhtml>


glResumeTransformFeedback :: MonadIO m => m ()
glResumeTransformFeedback :: m ()
glResumeTransformFeedback = FunPtr (IO ()) -> m ()
forall (m :: * -> *). MonadIO m => FunPtr (IO ()) -> m ()
ffiIOV FunPtr (IO ())
glResumeTransformFeedbackFunPtr

glResumeTransformFeedbackFunPtr :: FunPtr (IO ())
glResumeTransformFeedbackFunPtr :: FunPtr (IO ())
glResumeTransformFeedbackFunPtr = IO (FunPtr (IO ())) -> FunPtr (IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glResumeTransformFeedback")

{-# NOINLINE glResumeTransformFeedbackFunPtr #-}

-- | Usage: @'glUniform1d' location x@


glUniform1d :: MonadIO m => GLint -> GLdouble -> m ()
glUniform1d :: GLsizei -> GLdouble -> m ()
glUniform1d = FunPtr (GLsizei -> GLdouble -> IO ())
-> GLsizei -> GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLdouble -> IO ())
-> GLsizei -> GLdouble -> m ()
ffiintdoubleIOV FunPtr (GLsizei -> GLdouble -> IO ())
glUniform1dFunPtr

glUniform1dFunPtr :: FunPtr (GLint -> GLdouble -> IO ())
glUniform1dFunPtr :: FunPtr (GLsizei -> GLdouble -> IO ())
glUniform1dFunPtr = IO (FunPtr (GLsizei -> GLdouble -> IO ()))
-> FunPtr (GLsizei -> GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniform1d")

{-# NOINLINE glUniform1dFunPtr #-}

-- | Usage: @'glUniform1dv' location count value@
--
-- The length of @value@ should be @count*1@.


glUniform1dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()
glUniform1dv :: GLsizei -> GLsizei -> Ptr GLdouble -> m ()
glUniform1dv = FunPtr (GLsizei -> GLsizei -> Ptr GLdouble -> IO ())
-> GLsizei -> GLsizei -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> Ptr GLdouble -> IO ())
-> GLsizei -> GLsizei -> Ptr GLdouble -> m ()
ffiintsizeiPtrdoubleIOV FunPtr (GLsizei -> GLsizei -> Ptr GLdouble -> IO ())
glUniform1dvFunPtr

glUniform1dvFunPtr :: FunPtr (GLint -> GLsizei -> Ptr GLdouble -> IO ())
glUniform1dvFunPtr :: FunPtr (GLsizei -> GLsizei -> Ptr GLdouble -> IO ())
glUniform1dvFunPtr = IO (FunPtr (GLsizei -> GLsizei -> Ptr GLdouble -> IO ()))
-> FunPtr (GLsizei -> GLsizei -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> GLsizei -> Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniform1dv")

{-# NOINLINE glUniform1dvFunPtr #-}

-- | Usage: @'glUniform2d' location x y@


glUniform2d :: MonadIO m => GLint -> GLdouble -> GLdouble -> m ()
glUniform2d :: GLsizei -> GLdouble -> GLdouble -> m ()
glUniform2d = FunPtr (GLsizei -> GLdouble -> GLdouble -> IO ())
-> GLsizei -> GLdouble -> GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLdouble -> GLdouble -> IO ())
-> GLsizei -> GLdouble -> GLdouble -> m ()
ffiintdoubledoubleIOV FunPtr (GLsizei -> GLdouble -> GLdouble -> IO ())
glUniform2dFunPtr

glUniform2dFunPtr :: FunPtr (GLint -> GLdouble -> GLdouble -> IO ())
glUniform2dFunPtr :: FunPtr (GLsizei -> GLdouble -> GLdouble -> IO ())
glUniform2dFunPtr = IO (FunPtr (GLsizei -> GLdouble -> GLdouble -> IO ()))
-> FunPtr (GLsizei -> GLdouble -> GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> GLdouble -> GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniform2d")

{-# NOINLINE glUniform2dFunPtr #-}

-- | Usage: @'glUniform2dv' location count value@
--
-- The length of @value@ should be @count*2@.


glUniform2dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()
glUniform2dv :: GLsizei -> GLsizei -> Ptr GLdouble -> m ()
glUniform2dv = FunPtr (GLsizei -> GLsizei -> Ptr GLdouble -> IO ())
-> GLsizei -> GLsizei -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> Ptr GLdouble -> IO ())
-> GLsizei -> GLsizei -> Ptr GLdouble -> m ()
ffiintsizeiPtrdoubleIOV FunPtr (GLsizei -> GLsizei -> Ptr GLdouble -> IO ())
glUniform2dvFunPtr

glUniform2dvFunPtr :: FunPtr (GLint -> GLsizei -> Ptr GLdouble -> IO ())
glUniform2dvFunPtr :: FunPtr (GLsizei -> GLsizei -> Ptr GLdouble -> IO ())
glUniform2dvFunPtr = IO (FunPtr (GLsizei -> GLsizei -> Ptr GLdouble -> IO ()))
-> FunPtr (GLsizei -> GLsizei -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> GLsizei -> Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniform2dv")

{-# NOINLINE glUniform2dvFunPtr #-}

-- | Usage: @'glUniform3d' location x y z@


glUniform3d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLdouble -> m ()
glUniform3d :: GLsizei -> GLdouble -> GLdouble -> GLdouble -> m ()
glUniform3d = FunPtr (GLsizei -> GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLsizei -> GLdouble -> GLdouble -> GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLsizei -> GLdouble -> GLdouble -> GLdouble -> m ()
ffiintdoubledoubledoubleIOV FunPtr (GLsizei -> GLdouble -> GLdouble -> GLdouble -> IO ())
glUniform3dFunPtr

glUniform3dFunPtr :: FunPtr (GLint -> GLdouble -> GLdouble -> GLdouble -> IO ())
glUniform3dFunPtr :: FunPtr (GLsizei -> GLdouble -> GLdouble -> GLdouble -> IO ())
glUniform3dFunPtr = IO (FunPtr (GLsizei -> GLdouble -> GLdouble -> GLdouble -> IO ()))
-> FunPtr (GLsizei -> GLdouble -> GLdouble -> GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLsizei -> GLdouble -> GLdouble -> GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniform3d")

{-# NOINLINE glUniform3dFunPtr #-}

-- | Usage: @'glUniform3dv' location count value@
--
-- The length of @value@ should be @count*3@.


glUniform3dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()
glUniform3dv :: GLsizei -> GLsizei -> Ptr GLdouble -> m ()
glUniform3dv = FunPtr (GLsizei -> GLsizei -> Ptr GLdouble -> IO ())
-> GLsizei -> GLsizei -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> Ptr GLdouble -> IO ())
-> GLsizei -> GLsizei -> Ptr GLdouble -> m ()
ffiintsizeiPtrdoubleIOV FunPtr (GLsizei -> GLsizei -> Ptr GLdouble -> IO ())
glUniform3dvFunPtr

glUniform3dvFunPtr :: FunPtr (GLint -> GLsizei -> Ptr GLdouble -> IO ())
glUniform3dvFunPtr :: FunPtr (GLsizei -> GLsizei -> Ptr GLdouble -> IO ())
glUniform3dvFunPtr = IO (FunPtr (GLsizei -> GLsizei -> Ptr GLdouble -> IO ()))
-> FunPtr (GLsizei -> GLsizei -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> GLsizei -> Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniform3dv")

{-# NOINLINE glUniform3dvFunPtr #-}

-- | Usage: @'glUniform4d' location x y z w@


glUniform4d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glUniform4d :: GLsizei -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glUniform4d = FunPtr
  (GLsizei -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLsizei -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLsizei -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLsizei -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
ffiintdoubledoubledoubledoubleIOV FunPtr
  (GLsizei -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
glUniform4dFunPtr

glUniform4dFunPtr :: FunPtr (GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
glUniform4dFunPtr :: FunPtr
  (GLsizei -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
glUniform4dFunPtr = IO
  (FunPtr
     (GLsizei -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()))
-> FunPtr
     (GLsizei -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLsizei -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniform4d")

{-# NOINLINE glUniform4dFunPtr #-}

-- | Usage: @'glUniform4dv' location count value@
--
-- The length of @value@ should be @count*4@.


glUniform4dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()
glUniform4dv :: GLsizei -> GLsizei -> Ptr GLdouble -> m ()
glUniform4dv = FunPtr (GLsizei -> GLsizei -> Ptr GLdouble -> IO ())
-> GLsizei -> GLsizei -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> Ptr GLdouble -> IO ())
-> GLsizei -> GLsizei -> Ptr GLdouble -> m ()
ffiintsizeiPtrdoubleIOV FunPtr (GLsizei -> GLsizei -> Ptr GLdouble -> IO ())
glUniform4dvFunPtr

glUniform4dvFunPtr :: FunPtr (GLint -> GLsizei -> Ptr GLdouble -> IO ())
glUniform4dvFunPtr :: FunPtr (GLsizei -> GLsizei -> Ptr GLdouble -> IO ())
glUniform4dvFunPtr = IO (FunPtr (GLsizei -> GLsizei -> Ptr GLdouble -> IO ()))
-> FunPtr (GLsizei -> GLsizei -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> GLsizei -> Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniform4dv")

{-# NOINLINE glUniform4dvFunPtr #-}

-- | Usage: @'glUniformMatrix2dv' location count transpose value@
--
-- The parameter @transpose@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @value@ should be @count*4@.


glUniformMatrix2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glUniformMatrix2dv :: GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glUniformMatrix2dv = FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
ffiintsizeibooleanPtrdoubleIOV FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
glUniformMatrix2dvFunPtr

glUniformMatrix2dvFunPtr :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
glUniformMatrix2dvFunPtr :: FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
glUniformMatrix2dvFunPtr = IO
  (FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ()))
-> FunPtr
     (GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniformMatrix2dv")

{-# NOINLINE glUniformMatrix2dvFunPtr #-}

-- | Usage: @'glUniformMatrix2x3dv' location count transpose value@
--
-- The parameter @transpose@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @value@ should be @count*6@.


glUniformMatrix2x3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glUniformMatrix2x3dv :: GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glUniformMatrix2x3dv = FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
ffiintsizeibooleanPtrdoubleIOV FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
glUniformMatrix2x3dvFunPtr

glUniformMatrix2x3dvFunPtr :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
glUniformMatrix2x3dvFunPtr :: FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
glUniformMatrix2x3dvFunPtr = IO
  (FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ()))
-> FunPtr
     (GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniformMatrix2x3dv")

{-# NOINLINE glUniformMatrix2x3dvFunPtr #-}

-- | Usage: @'glUniformMatrix2x4dv' location count transpose value@
--
-- The parameter @transpose@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @value@ should be @count*8@.


glUniformMatrix2x4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glUniformMatrix2x4dv :: GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glUniformMatrix2x4dv = FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
ffiintsizeibooleanPtrdoubleIOV FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
glUniformMatrix2x4dvFunPtr

glUniformMatrix2x4dvFunPtr :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
glUniformMatrix2x4dvFunPtr :: FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
glUniformMatrix2x4dvFunPtr = IO
  (FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ()))
-> FunPtr
     (GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniformMatrix2x4dv")

{-# NOINLINE glUniformMatrix2x4dvFunPtr #-}

-- | Usage: @'glUniformMatrix3dv' location count transpose value@
--
-- The parameter @transpose@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @value@ should be @count*9@.


glUniformMatrix3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glUniformMatrix3dv :: GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glUniformMatrix3dv = FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
ffiintsizeibooleanPtrdoubleIOV FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
glUniformMatrix3dvFunPtr

glUniformMatrix3dvFunPtr :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
glUniformMatrix3dvFunPtr :: FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
glUniformMatrix3dvFunPtr = IO
  (FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ()))
-> FunPtr
     (GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniformMatrix3dv")

{-# NOINLINE glUniformMatrix3dvFunPtr #-}

-- | Usage: @'glUniformMatrix3x2dv' location count transpose value@
--
-- The parameter @transpose@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @value@ should be @count*6@.


glUniformMatrix3x2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glUniformMatrix3x2dv :: GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glUniformMatrix3x2dv = FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
ffiintsizeibooleanPtrdoubleIOV FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
glUniformMatrix3x2dvFunPtr

glUniformMatrix3x2dvFunPtr :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
glUniformMatrix3x2dvFunPtr :: FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
glUniformMatrix3x2dvFunPtr = IO
  (FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ()))
-> FunPtr
     (GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniformMatrix3x2dv")

{-# NOINLINE glUniformMatrix3x2dvFunPtr #-}

-- | Usage: @'glUniformMatrix3x4dv' location count transpose value@
--
-- The parameter @transpose@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @value@ should be @count*12@.


glUniformMatrix3x4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glUniformMatrix3x4dv :: GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glUniformMatrix3x4dv = FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
ffiintsizeibooleanPtrdoubleIOV FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
glUniformMatrix3x4dvFunPtr

glUniformMatrix3x4dvFunPtr :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
glUniformMatrix3x4dvFunPtr :: FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
glUniformMatrix3x4dvFunPtr = IO
  (FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ()))
-> FunPtr
     (GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniformMatrix3x4dv")

{-# NOINLINE glUniformMatrix3x4dvFunPtr #-}

-- | Usage: @'glUniformMatrix4dv' location count transpose value@
--
-- The parameter @transpose@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @value@ should be @count*16@.


glUniformMatrix4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glUniformMatrix4dv :: GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glUniformMatrix4dv = FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
ffiintsizeibooleanPtrdoubleIOV FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
glUniformMatrix4dvFunPtr

glUniformMatrix4dvFunPtr :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
glUniformMatrix4dvFunPtr :: FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
glUniformMatrix4dvFunPtr = IO
  (FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ()))
-> FunPtr
     (GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniformMatrix4dv")

{-# NOINLINE glUniformMatrix4dvFunPtr #-}

-- | Usage: @'glUniformMatrix4x2dv' location count transpose value@
--
-- The parameter @transpose@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @value@ should be @count*8@.


glUniformMatrix4x2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glUniformMatrix4x2dv :: GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glUniformMatrix4x2dv = FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
ffiintsizeibooleanPtrdoubleIOV FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
glUniformMatrix4x2dvFunPtr

glUniformMatrix4x2dvFunPtr :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
glUniformMatrix4x2dvFunPtr :: FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
glUniformMatrix4x2dvFunPtr = IO
  (FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ()))
-> FunPtr
     (GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniformMatrix4x2dv")

{-# NOINLINE glUniformMatrix4x2dvFunPtr #-}

-- | Usage: @'glUniformMatrix4x3dv' location count transpose value@
--
-- The parameter @transpose@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @value@ should be @count*12@.


glUniformMatrix4x3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glUniformMatrix4x3dv :: GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glUniformMatrix4x3dv = FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
ffiintsizeibooleanPtrdoubleIOV FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
glUniformMatrix4x3dvFunPtr

glUniformMatrix4x3dvFunPtr :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
glUniformMatrix4x3dvFunPtr :: FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
glUniformMatrix4x3dvFunPtr = IO
  (FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ()))
-> FunPtr
     (GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniformMatrix4x3dv")

{-# NOINLINE glUniformMatrix4x3dvFunPtr #-}

-- | Usage: @'glUniformSubroutinesuiv' shadertype count indices@
--
-- The length of @indices@ should be @count@.


glUniformSubroutinesuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()
glUniformSubroutinesuiv :: GLenum -> GLsizei -> Ptr GLenum -> m ()
glUniformSubroutinesuiv = FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
-> GLenum -> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
-> GLenum -> GLsizei -> Ptr GLenum -> m ()
ffienumsizeiPtruintIOV FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
glUniformSubroutinesuivFunPtr

glUniformSubroutinesuivFunPtr :: FunPtr (GLenum -> GLsizei -> Ptr GLuint -> IO ())
glUniformSubroutinesuivFunPtr :: FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
glUniformSubroutinesuivFunPtr = IO (FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniformSubroutinesuiv")

{-# NOINLINE glUniformSubroutinesuivFunPtr #-}

pattern $bGL_ACTIVE_SUBROUTINES :: a
$mGL_ACTIVE_SUBROUTINES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ACTIVE_SUBROUTINES = 0x8DE5

pattern $bGL_ACTIVE_SUBROUTINE_MAX_LENGTH :: a
$mGL_ACTIVE_SUBROUTINE_MAX_LENGTH :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ACTIVE_SUBROUTINE_MAX_LENGTH = 0x8E48

pattern $bGL_ACTIVE_SUBROUTINE_UNIFORMS :: a
$mGL_ACTIVE_SUBROUTINE_UNIFORMS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ACTIVE_SUBROUTINE_UNIFORMS = 0x8DE6

pattern $bGL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS :: a
$mGL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS = 0x8E47

pattern $bGL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH :: a
$mGL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH = 0x8E49

pattern $bGL_COMPATIBLE_SUBROUTINES :: a
$mGL_COMPATIBLE_SUBROUTINES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPATIBLE_SUBROUTINES = 0x8E4B

pattern $bGL_DOUBLE_MAT2 :: a
$mGL_DOUBLE_MAT2 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DOUBLE_MAT2 = 0x8F46

pattern $bGL_DOUBLE_MAT2x3 :: a
$mGL_DOUBLE_MAT2x3 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DOUBLE_MAT2x3 = 0x8F49

pattern $bGL_DOUBLE_MAT2x4 :: a
$mGL_DOUBLE_MAT2x4 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DOUBLE_MAT2x4 = 0x8F4A

pattern $bGL_DOUBLE_MAT3 :: a
$mGL_DOUBLE_MAT3 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DOUBLE_MAT3 = 0x8F47

pattern $bGL_DOUBLE_MAT3x2 :: a
$mGL_DOUBLE_MAT3x2 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DOUBLE_MAT3x2 = 0x8F4B

pattern $bGL_DOUBLE_MAT3x4 :: a
$mGL_DOUBLE_MAT3x4 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DOUBLE_MAT3x4 = 0x8F4C

pattern $bGL_DOUBLE_MAT4 :: a
$mGL_DOUBLE_MAT4 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DOUBLE_MAT4 = 0x8F48

pattern $bGL_DOUBLE_MAT4x2 :: a
$mGL_DOUBLE_MAT4x2 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DOUBLE_MAT4x2 = 0x8F4D

pattern $bGL_DOUBLE_MAT4x3 :: a
$mGL_DOUBLE_MAT4x3 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DOUBLE_MAT4x3 = 0x8F4E

pattern $bGL_DOUBLE_VEC2 :: a
$mGL_DOUBLE_VEC2 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DOUBLE_VEC2 = 0x8FFC

pattern $bGL_DOUBLE_VEC3 :: a
$mGL_DOUBLE_VEC3 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DOUBLE_VEC3 = 0x8FFD

pattern $bGL_DOUBLE_VEC4 :: a
$mGL_DOUBLE_VEC4 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DOUBLE_VEC4 = 0x8FFE

pattern $bGL_DRAW_INDIRECT_BUFFER :: a
$mGL_DRAW_INDIRECT_BUFFER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DRAW_INDIRECT_BUFFER = 0x8F3F

pattern $bGL_DRAW_INDIRECT_BUFFER_BINDING :: a
$mGL_DRAW_INDIRECT_BUFFER_BINDING :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DRAW_INDIRECT_BUFFER_BINDING = 0x8F43

pattern $bGL_FRACTIONAL_EVEN :: a
$mGL_FRACTIONAL_EVEN :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRACTIONAL_EVEN = 0x8E7C

pattern $bGL_FRACTIONAL_ODD :: a
$mGL_FRACTIONAL_ODD :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRACTIONAL_ODD = 0x8E7B

pattern $bGL_FRAGMENT_INTERPOLATION_OFFSET_BITS :: a
$mGL_FRAGMENT_INTERPOLATION_OFFSET_BITS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAGMENT_INTERPOLATION_OFFSET_BITS = 0x8E5D

pattern $bGL_GEOMETRY_SHADER_INVOCATIONS :: a
$mGL_GEOMETRY_SHADER_INVOCATIONS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_GEOMETRY_SHADER_INVOCATIONS = 0x887F

pattern $bGL_INT_SAMPLER_CUBE_MAP_ARRAY :: a
$mGL_INT_SAMPLER_CUBE_MAP_ARRAY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INT_SAMPLER_CUBE_MAP_ARRAY = 0x900E

pattern $bGL_ISOLINES :: a
$mGL_ISOLINES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ISOLINES = 0x8E7A

pattern $bGL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS :: a
$mGL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS = 0x8E1E

pattern $bGL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS :: a
$mGL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS = 0x8E1F

pattern $bGL_MAX_FRAGMENT_INTERPOLATION_OFFSET :: a
$mGL_MAX_FRAGMENT_INTERPOLATION_OFFSET :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_FRAGMENT_INTERPOLATION_OFFSET = 0x8E5C

pattern $bGL_MAX_GEOMETRY_SHADER_INVOCATIONS :: a
$mGL_MAX_GEOMETRY_SHADER_INVOCATIONS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_GEOMETRY_SHADER_INVOCATIONS = 0x8E5A

pattern $bGL_MAX_PATCH_VERTICES :: a
$mGL_MAX_PATCH_VERTICES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_PATCH_VERTICES = 0x8E7D

pattern $bGL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET :: a
$mGL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET = 0x8E5F

pattern $bGL_MAX_SUBROUTINES :: a
$mGL_MAX_SUBROUTINES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_SUBROUTINES = 0x8DE7

pattern $bGL_MAX_SUBROUTINE_UNIFORM_LOCATIONS :: a
$mGL_MAX_SUBROUTINE_UNIFORM_LOCATIONS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS = 0x8DE8

pattern $bGL_MAX_TESS_CONTROL_INPUT_COMPONENTS :: a
$mGL_MAX_TESS_CONTROL_INPUT_COMPONENTS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_TESS_CONTROL_INPUT_COMPONENTS = 0x886C

pattern $bGL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS :: a
$mGL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS = 0x8E83

pattern $bGL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS :: a
$mGL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS = 0x8E81

pattern $bGL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS :: a
$mGL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS = 0x8E85

pattern $bGL_MAX_TESS_CONTROL_UNIFORM_BLOCKS :: a
$mGL_MAX_TESS_CONTROL_UNIFORM_BLOCKS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS = 0x8E89

pattern $bGL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS :: a
$mGL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS = 0x8E7F

pattern $bGL_MAX_TESS_EVALUATION_INPUT_COMPONENTS :: a
$mGL_MAX_TESS_EVALUATION_INPUT_COMPONENTS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS = 0x886D

pattern $bGL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS :: a
$mGL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS = 0x8E86

pattern $bGL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS :: a
$mGL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS = 0x8E82

pattern $bGL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS :: a
$mGL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS = 0x8E8A

pattern $bGL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS :: a
$mGL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS = 0x8E80

pattern $bGL_MAX_TESS_GEN_LEVEL :: a
$mGL_MAX_TESS_GEN_LEVEL :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_TESS_GEN_LEVEL = 0x8E7E

pattern $bGL_MAX_TESS_PATCH_COMPONENTS :: a
$mGL_MAX_TESS_PATCH_COMPONENTS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_TESS_PATCH_COMPONENTS = 0x8E84

pattern $bGL_MAX_TRANSFORM_FEEDBACK_BUFFERS :: a
$mGL_MAX_TRANSFORM_FEEDBACK_BUFFERS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_TRANSFORM_FEEDBACK_BUFFERS = 0x8E70

pattern $bGL_MAX_VERTEX_STREAMS :: a
$mGL_MAX_VERTEX_STREAMS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_VERTEX_STREAMS = 0x8E71

pattern $bGL_MIN_FRAGMENT_INTERPOLATION_OFFSET :: a
$mGL_MIN_FRAGMENT_INTERPOLATION_OFFSET :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MIN_FRAGMENT_INTERPOLATION_OFFSET = 0x8E5B

pattern $bGL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET :: a
$mGL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET = 0x8E5E

pattern $bGL_MIN_SAMPLE_SHADING_VALUE :: a
$mGL_MIN_SAMPLE_SHADING_VALUE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MIN_SAMPLE_SHADING_VALUE = 0x8C37

pattern $bGL_NUM_COMPATIBLE_SUBROUTINES :: a
$mGL_NUM_COMPATIBLE_SUBROUTINES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_NUM_COMPATIBLE_SUBROUTINES = 0x8E4A

pattern $bGL_PATCHES :: a
$mGL_PATCHES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PATCHES = 0x000E

pattern $bGL_PATCH_DEFAULT_INNER_LEVEL :: a
$mGL_PATCH_DEFAULT_INNER_LEVEL :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PATCH_DEFAULT_INNER_LEVEL = 0x8E73

pattern $bGL_PATCH_DEFAULT_OUTER_LEVEL :: a
$mGL_PATCH_DEFAULT_OUTER_LEVEL :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PATCH_DEFAULT_OUTER_LEVEL = 0x8E74

pattern $bGL_PATCH_VERTICES :: a
$mGL_PATCH_VERTICES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PATCH_VERTICES = 0x8E72

pattern $bGL_SAMPLER_CUBE_MAP_ARRAY :: a
$mGL_SAMPLER_CUBE_MAP_ARRAY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SAMPLER_CUBE_MAP_ARRAY = 0x900C

pattern $bGL_SAMPLER_CUBE_MAP_ARRAY_SHADOW :: a
$mGL_SAMPLER_CUBE_MAP_ARRAY_SHADOW :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW = 0x900D

pattern $bGL_SAMPLE_SHADING :: a
$mGL_SAMPLE_SHADING :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SAMPLE_SHADING = 0x8C36

pattern $bGL_TESS_CONTROL_OUTPUT_VERTICES :: a
$mGL_TESS_CONTROL_OUTPUT_VERTICES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TESS_CONTROL_OUTPUT_VERTICES = 0x8E75

pattern $bGL_TESS_CONTROL_SHADER :: a
$mGL_TESS_CONTROL_SHADER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TESS_CONTROL_SHADER = 0x8E88

pattern $bGL_TESS_EVALUATION_SHADER :: a
$mGL_TESS_EVALUATION_SHADER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TESS_EVALUATION_SHADER = 0x8E87

pattern $bGL_TESS_GEN_MODE :: a
$mGL_TESS_GEN_MODE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TESS_GEN_MODE = 0x8E76

pattern $bGL_TESS_GEN_POINT_MODE :: a
$mGL_TESS_GEN_POINT_MODE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TESS_GEN_POINT_MODE = 0x8E79

pattern $bGL_TESS_GEN_SPACING :: a
$mGL_TESS_GEN_SPACING :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TESS_GEN_SPACING = 0x8E77

pattern $bGL_TESS_GEN_VERTEX_ORDER :: a
$mGL_TESS_GEN_VERTEX_ORDER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TESS_GEN_VERTEX_ORDER = 0x8E78

pattern $bGL_TEXTURE_BINDING_CUBE_MAP_ARRAY :: a
$mGL_TEXTURE_BINDING_CUBE_MAP_ARRAY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_BINDING_CUBE_MAP_ARRAY = 0x900A

pattern $bGL_TEXTURE_CUBE_MAP_ARRAY :: a
$mGL_TEXTURE_CUBE_MAP_ARRAY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_CUBE_MAP_ARRAY = 0x9009

pattern $bGL_TRANSFORM_FEEDBACK :: a
$mGL_TRANSFORM_FEEDBACK :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TRANSFORM_FEEDBACK = 0x8E22

pattern $bGL_TRANSFORM_FEEDBACK_BINDING :: a
$mGL_TRANSFORM_FEEDBACK_BINDING :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TRANSFORM_FEEDBACK_BINDING = 0x8E25

pattern $bGL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE :: a
$mGL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE = 0x8E24

pattern $bGL_TRANSFORM_FEEDBACK_BUFFER_PAUSED :: a
$mGL_TRANSFORM_FEEDBACK_BUFFER_PAUSED :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED = 0x8E23

pattern $bGL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER :: a
$mGL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER = 0x84F0

pattern $bGL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER :: a
$mGL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER = 0x84F1

pattern $bGL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY :: a
$mGL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY = 0x900F

-- | Usage: @'glActiveShaderProgram' pipeline program@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glActiveShaderProgram.xhtml>


glActiveShaderProgram :: MonadIO m => GLuint -> GLuint -> m ()
glActiveShaderProgram :: GLenum -> GLenum -> m ()
glActiveShaderProgram = FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
ffiuintuintIOV FunPtr (GLenum -> GLenum -> IO ())
glActiveShaderProgramFunPtr

glActiveShaderProgramFunPtr :: FunPtr (GLuint -> GLuint -> IO ())
glActiveShaderProgramFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glActiveShaderProgramFunPtr = IO (FunPtr (GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glActiveShaderProgram")

{-# NOINLINE glActiveShaderProgramFunPtr #-}

-- | Usage: @'glBindProgramPipeline' pipeline@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glBindProgramPipeline.xhtml>


glBindProgramPipeline :: MonadIO m => GLuint -> m ()
glBindProgramPipeline :: GLenum -> m ()
glBindProgramPipeline = FunPtr (GLenum -> IO ()) -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO ()) -> GLenum -> m ()
ffiuintIOV FunPtr (GLenum -> IO ())
glBindProgramPipelineFunPtr

glBindProgramPipelineFunPtr :: FunPtr (GLuint -> IO ())
glBindProgramPipelineFunPtr :: FunPtr (GLenum -> IO ())
glBindProgramPipelineFunPtr = IO (FunPtr (GLenum -> IO ())) -> FunPtr (GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glBindProgramPipeline")

{-# NOINLINE glBindProgramPipelineFunPtr #-}

-- | Usage: @'glClearDepthf' d@


glClearDepthf :: MonadIO m => GLfloat -> m ()
glClearDepthf :: GLfloat -> m ()
glClearDepthf = FunPtr (GLfloat -> IO ()) -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLfloat -> IO ()) -> GLfloat -> m ()
ffifloatIOV FunPtr (GLfloat -> IO ())
glClearDepthfFunPtr

glClearDepthfFunPtr :: FunPtr (GLfloat -> IO ())
glClearDepthfFunPtr :: FunPtr (GLfloat -> IO ())
glClearDepthfFunPtr = IO (FunPtr (GLfloat -> IO ())) -> FunPtr (GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glClearDepthf")

{-# NOINLINE glClearDepthfFunPtr #-}

-- | Usage: @'glCreateShaderProgramv' type count strings@
--
-- The length of @strings@ should be @count@.


glCreateShaderProgramv :: MonadIO m => GLenum -> GLsizei -> Ptr (Ptr GLchar) -> m GLuint
glCreateShaderProgramv :: GLenum -> GLsizei -> Ptr (Ptr GLchar) -> m GLenum
glCreateShaderProgramv = FunPtr (GLenum -> GLsizei -> Ptr (Ptr GLchar) -> IO GLenum)
-> GLenum -> GLsizei -> Ptr (Ptr GLchar) -> m GLenum
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> Ptr (Ptr GLchar) -> IO GLenum)
-> GLenum -> GLsizei -> Ptr (Ptr GLchar) -> m GLenum
ffienumsizeiPtrPtrcharIOuint FunPtr (GLenum -> GLsizei -> Ptr (Ptr GLchar) -> IO GLenum)
glCreateShaderProgramvFunPtr

glCreateShaderProgramvFunPtr :: FunPtr (GLenum -> GLsizei -> Ptr (Ptr GLchar) -> IO GLuint)
glCreateShaderProgramvFunPtr :: FunPtr (GLenum -> GLsizei -> Ptr (Ptr GLchar) -> IO GLenum)
glCreateShaderProgramvFunPtr = IO (FunPtr (GLenum -> GLsizei -> Ptr (Ptr GLchar) -> IO GLenum))
-> FunPtr (GLenum -> GLsizei -> Ptr (Ptr GLchar) -> IO GLenum)
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLsizei -> Ptr (Ptr GLchar) -> IO GLenum))
forall a. String -> IO (FunPtr a)
getProcAddress "glCreateShaderProgramv")

{-# NOINLINE glCreateShaderProgramvFunPtr #-}

-- | Usage: @'glDeleteProgramPipelines' n pipelines@
--
-- The length of @pipelines@ should be @n@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glDeleteProgramPipelines.xhtml>


glDeleteProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glDeleteProgramPipelines :: GLsizei -> Ptr GLenum -> m ()
glDeleteProgramPipelines = FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
ffisizeiPtruintIOV FunPtr (GLsizei -> Ptr GLenum -> IO ())
glDeleteProgramPipelinesFunPtr

glDeleteProgramPipelinesFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glDeleteProgramPipelinesFunPtr :: FunPtr (GLsizei -> Ptr GLenum -> IO ())
glDeleteProgramPipelinesFunPtr = IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glDeleteProgramPipelines")

{-# NOINLINE glDeleteProgramPipelinesFunPtr #-}

-- | Usage: @'glDepthRangeArrayv' first count v@
--
-- The length of @v@ should be @COMPSIZE(count)@.


glDepthRangeArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLdouble -> m ()
glDepthRangeArrayv :: GLenum -> GLsizei -> Ptr GLdouble -> m ()
glDepthRangeArrayv = FunPtr (GLenum -> GLsizei -> Ptr GLdouble -> IO ())
-> GLenum -> GLsizei -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> Ptr GLdouble -> IO ())
-> GLenum -> GLsizei -> Ptr GLdouble -> m ()
ffiuintsizeiPtrdoubleIOV FunPtr (GLenum -> GLsizei -> Ptr GLdouble -> IO ())
glDepthRangeArrayvFunPtr

glDepthRangeArrayvFunPtr :: FunPtr (GLuint -> GLsizei -> Ptr GLdouble -> IO ())
glDepthRangeArrayvFunPtr :: FunPtr (GLenum -> GLsizei -> Ptr GLdouble -> IO ())
glDepthRangeArrayvFunPtr = IO (FunPtr (GLenum -> GLsizei -> Ptr GLdouble -> IO ()))
-> FunPtr (GLenum -> GLsizei -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLsizei -> Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glDepthRangeArrayv")

{-# NOINLINE glDepthRangeArrayvFunPtr #-}

-- | Usage: @'glDepthRangeIndexed' index n f@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glDepthRangeIndexed.xhtml>


glDepthRangeIndexed :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()
glDepthRangeIndexed :: GLenum -> GLdouble -> GLdouble -> m ()
glDepthRangeIndexed = FunPtr (GLenum -> GLdouble -> GLdouble -> IO ())
-> GLenum -> GLdouble -> GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLdouble -> GLdouble -> IO ())
-> GLenum -> GLdouble -> GLdouble -> m ()
ffiuintdoubledoubleIOV FunPtr (GLenum -> GLdouble -> GLdouble -> IO ())
glDepthRangeIndexedFunPtr

glDepthRangeIndexedFunPtr :: FunPtr (GLuint -> GLdouble -> GLdouble -> IO ())
glDepthRangeIndexedFunPtr :: FunPtr (GLenum -> GLdouble -> GLdouble -> IO ())
glDepthRangeIndexedFunPtr = IO (FunPtr (GLenum -> GLdouble -> GLdouble -> IO ()))
-> FunPtr (GLenum -> GLdouble -> GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLdouble -> GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glDepthRangeIndexed")

{-# NOINLINE glDepthRangeIndexedFunPtr #-}

-- | Usage: @'glDepthRangef' n f@


glDepthRangef :: MonadIO m => GLfloat -> GLfloat -> m ()
glDepthRangef :: GLfloat -> GLfloat -> m ()
glDepthRangef = FunPtr (GLfloat -> GLfloat -> IO ()) -> GLfloat -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLfloat -> GLfloat -> IO ()) -> GLfloat -> GLfloat -> m ()
ffifloatfloatIOV FunPtr (GLfloat -> GLfloat -> IO ())
glDepthRangefFunPtr

glDepthRangefFunPtr :: FunPtr (GLfloat -> GLfloat -> IO ())
glDepthRangefFunPtr :: FunPtr (GLfloat -> GLfloat -> IO ())
glDepthRangefFunPtr = IO (FunPtr (GLfloat -> GLfloat -> IO ()))
-> FunPtr (GLfloat -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLfloat -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glDepthRangef")

{-# NOINLINE glDepthRangefFunPtr #-}

-- | Usage: @'glGenProgramPipelines' n pipelines@
--
-- The length of @pipelines@ should be @n@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glGenProgramPipelines.xhtml>


glGenProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGenProgramPipelines :: GLsizei -> Ptr GLenum -> m ()
glGenProgramPipelines = FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
ffisizeiPtruintIOV FunPtr (GLsizei -> Ptr GLenum -> IO ())
glGenProgramPipelinesFunPtr

glGenProgramPipelinesFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glGenProgramPipelinesFunPtr :: FunPtr (GLsizei -> Ptr GLenum -> IO ())
glGenProgramPipelinesFunPtr = IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGenProgramPipelines")

{-# NOINLINE glGenProgramPipelinesFunPtr #-}

-- | Usage: @'glGetDoublei_v' target index data@
--
-- The length of @data@ should be @COMPSIZE(target)@.


glGetDoublei_v :: MonadIO m => GLenum -> GLuint -> Ptr GLdouble -> m ()
glGetDoublei_v :: GLenum -> GLenum -> Ptr GLdouble -> m ()
glGetDoublei_v = FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
-> GLenum -> GLenum -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
-> GLenum -> GLenum -> Ptr GLdouble -> m ()
ffienumuintPtrdoubleIOV FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
glGetDoublei_vFunPtr

glGetDoublei_vFunPtr :: FunPtr (GLenum -> GLuint -> Ptr GLdouble -> IO ())
glGetDoublei_vFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
glGetDoublei_vFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetDoublei_v")

{-# NOINLINE glGetDoublei_vFunPtr #-}

-- | Usage: @'glGetFloati_v' target index data@
--
-- The parameter @target@ is a @TypeEnum@.
--
-- The length of @data@ should be @COMPSIZE(target)@.


glGetFloati_v :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()
glGetFloati_v :: GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetFloati_v = FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> GLenum -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> GLenum -> Ptr GLfloat -> m ()
ffienumuintPtrfloatIOV FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glGetFloati_vFunPtr

glGetFloati_vFunPtr :: FunPtr (GLenum -> GLuint -> Ptr GLfloat -> IO ())
glGetFloati_vFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glGetFloati_vFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetFloati_v")

{-# NOINLINE glGetFloati_vFunPtr #-}

-- | Usage: @'glGetProgramBinary' program bufSize length binaryFormat binary@
--
-- The length of @length@ should be @1@.
--
-- The length of @binaryFormat@ should be @1@.
--
-- The length of @binary@ should be @bufSize@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glGetProgramBinary.xhtml>


glGetProgramBinary :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr () -> m ()
glGetProgramBinary :: GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr () -> m ()
glGetProgramBinary = FunPtr
  (GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr () -> IO ())
-> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr () -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr () -> IO ())
-> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr () -> m ()
ffiuintsizeiPtrsizeiPtrenumPtrVIOV FunPtr
  (GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr () -> IO ())
glGetProgramBinaryFunPtr

glGetProgramBinaryFunPtr :: FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr () -> IO ())
glGetProgramBinaryFunPtr :: FunPtr
  (GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr () -> IO ())
glGetProgramBinaryFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr () -> IO ()))
-> FunPtr
     (GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr () -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr () -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetProgramBinary")

{-# NOINLINE glGetProgramBinaryFunPtr #-}

-- | Usage: @'glGetProgramPipelineInfoLog' pipeline bufSize length infoLog@
--
-- The length of @length@ should be @1@.
--
-- The length of @infoLog@ should be @bufSize@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glGetProgramPipelineInfoLog.xhtml>


glGetProgramPipelineInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
glGetProgramPipelineInfoLog :: GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
glGetProgramPipelineInfoLog = FunPtr (GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
ffiuintsizeiPtrsizeiPtrcharIOV FunPtr (GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
glGetProgramPipelineInfoLogFunPtr

glGetProgramPipelineInfoLogFunPtr :: FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
glGetProgramPipelineInfoLogFunPtr :: FunPtr (GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
glGetProgramPipelineInfoLogFunPtr = IO
  (FunPtr (GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()))
-> FunPtr (GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetProgramPipelineInfoLog")

{-# NOINLINE glGetProgramPipelineInfoLogFunPtr #-}

-- | Usage: @'glGetProgramPipelineiv' pipeline pname params@
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glGetProgramPipelineiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetProgramPipelineiv :: GLenum -> GLenum -> Ptr GLsizei -> m ()
glGetProgramPipelineiv = FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
ffiuintenumPtrintIOV FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetProgramPipelineivFunPtr

glGetProgramPipelineivFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
glGetProgramPipelineivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetProgramPipelineivFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetProgramPipelineiv")

{-# NOINLINE glGetProgramPipelineivFunPtr #-}

-- | Usage: @'glGetShaderPrecisionFormat' shadertype precisiontype range precision@
--
-- The length of @range@ should be @2@.
--
-- The length of @precision@ should be @2@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glGetShaderPrecisionFormat.xhtml>


glGetShaderPrecisionFormat :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> Ptr GLint -> m ()
glGetShaderPrecisionFormat :: GLenum -> GLenum -> Ptr GLsizei -> Ptr GLsizei -> m ()
glGetShaderPrecisionFormat = FunPtr (GLenum -> GLenum -> Ptr GLsizei -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLsizei -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> Ptr GLsizei -> m ()
ffienumenumPtrintPtrintIOV FunPtr (GLenum -> GLenum -> Ptr GLsizei -> Ptr GLsizei -> IO ())
glGetShaderPrecisionFormatFunPtr

glGetShaderPrecisionFormatFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLint -> Ptr GLint -> IO ())
glGetShaderPrecisionFormatFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLsizei -> Ptr GLsizei -> IO ())
glGetShaderPrecisionFormatFunPtr = IO
  (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLsizei -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetShaderPrecisionFormat")

{-# NOINLINE glGetShaderPrecisionFormatFunPtr #-}

-- | Usage: @'glGetVertexAttribLdv' index pname params@
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glGetVertexAttribLdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()
glGetVertexAttribLdv :: GLenum -> GLenum -> Ptr GLdouble -> m ()
glGetVertexAttribLdv = FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
-> GLenum -> GLenum -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
-> GLenum -> GLenum -> Ptr GLdouble -> m ()
ffiuintenumPtrdoubleIOV FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
glGetVertexAttribLdvFunPtr

glGetVertexAttribLdvFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLdouble -> IO ())
glGetVertexAttribLdvFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
glGetVertexAttribLdvFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetVertexAttribLdv")

{-# NOINLINE glGetVertexAttribLdvFunPtr #-}

-- | Usage: @'glIsProgramPipeline' pipeline@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glIsProgramPipeline.xhtml>


glIsProgramPipeline :: MonadIO m => GLuint -> m GLboolean
glIsProgramPipeline :: GLenum -> m GLboolean
glIsProgramPipeline = FunPtr (GLenum -> IO GLboolean) -> GLenum -> m GLboolean
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO GLboolean) -> GLenum -> m GLboolean
ffiuintIOboolean FunPtr (GLenum -> IO GLboolean)
glIsProgramPipelineFunPtr

glIsProgramPipelineFunPtr :: FunPtr (GLuint -> IO GLboolean)
glIsProgramPipelineFunPtr :: FunPtr (GLenum -> IO GLboolean)
glIsProgramPipelineFunPtr = IO (FunPtr (GLenum -> IO GLboolean))
-> FunPtr (GLenum -> IO GLboolean)
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO GLboolean))
forall a. String -> IO (FunPtr a)
getProcAddress "glIsProgramPipeline")

{-# NOINLINE glIsProgramPipelineFunPtr #-}

-- | Usage: @'glProgramBinary' program binaryFormat binary length@
--
-- The length of @binary@ should be @length@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glProgramBinary.xhtml>


glProgramBinary :: MonadIO m => GLuint -> GLenum -> Ptr () -> GLsizei -> m ()
glProgramBinary :: GLenum -> GLenum -> Ptr () -> GLsizei -> m ()
glProgramBinary = FunPtr (GLenum -> GLenum -> Ptr () -> GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr () -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr () -> GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr () -> GLsizei -> m ()
ffiuintenumPtrVsizeiIOV FunPtr (GLenum -> GLenum -> Ptr () -> GLsizei -> IO ())
glProgramBinaryFunPtr

glProgramBinaryFunPtr :: FunPtr (GLuint -> GLenum -> Ptr () -> GLsizei -> IO ())
glProgramBinaryFunPtr :: FunPtr (GLenum -> GLenum -> Ptr () -> GLsizei -> IO ())
glProgramBinaryFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr () -> GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr () -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLenum -> Ptr () -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramBinary")

{-# NOINLINE glProgramBinaryFunPtr #-}

-- | Usage: @'glProgramParameteri' program pname value@
--
-- The parameter @pname@ is a @ProgramParameterPName@.


glProgramParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()
glProgramParameteri :: GLenum -> GLenum -> GLsizei -> m ()
glProgramParameteri = FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
-> GLenum -> GLenum -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
-> GLenum -> GLenum -> GLsizei -> m ()
ffiuintenumintIOV FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
glProgramParameteriFunPtr

glProgramParameteriFunPtr :: FunPtr (GLuint -> GLenum -> GLint -> IO ())
glProgramParameteriFunPtr :: FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
glProgramParameteriFunPtr = IO (FunPtr (GLenum -> GLenum -> GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramParameteri")

{-# NOINLINE glProgramParameteriFunPtr #-}

-- | Usage: @'glProgramUniform1d' program location v0@


glProgramUniform1d :: MonadIO m => GLuint -> GLint -> GLdouble -> m ()
glProgramUniform1d :: GLenum -> GLsizei -> GLdouble -> m ()
glProgramUniform1d = FunPtr (GLenum -> GLsizei -> GLdouble -> IO ())
-> GLenum -> GLsizei -> GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLdouble -> IO ())
-> GLenum -> GLsizei -> GLdouble -> m ()
ffiuintintdoubleIOV FunPtr (GLenum -> GLsizei -> GLdouble -> IO ())
glProgramUniform1dFunPtr

glProgramUniform1dFunPtr :: FunPtr (GLuint -> GLint -> GLdouble -> IO ())
glProgramUniform1dFunPtr :: FunPtr (GLenum -> GLsizei -> GLdouble -> IO ())
glProgramUniform1dFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLdouble -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLsizei -> GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform1d")

{-# NOINLINE glProgramUniform1dFunPtr #-}

-- | Usage: @'glProgramUniform1dv' program location count value@
--
-- The length of @value@ should be @count@.


glProgramUniform1dv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()
glProgramUniform1dv :: GLenum -> GLsizei -> GLsizei -> Ptr GLdouble -> m ()
glProgramUniform1dv = FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLdouble -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLdouble -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLdouble -> m ()
ffiuintintsizeiPtrdoubleIOV FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLdouble -> IO ())
glProgramUniform1dvFunPtr

glProgramUniform1dvFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLdouble -> IO ())
glProgramUniform1dvFunPtr :: FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLdouble -> IO ())
glProgramUniform1dvFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLdouble -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform1dv")

{-# NOINLINE glProgramUniform1dvFunPtr #-}

-- | Usage: @'glProgramUniform1f' program location v0@


glProgramUniform1f :: MonadIO m => GLuint -> GLint -> GLfloat -> m ()
glProgramUniform1f :: GLenum -> GLsizei -> GLfloat -> m ()
glProgramUniform1f = FunPtr (GLenum -> GLsizei -> GLfloat -> IO ())
-> GLenum -> GLsizei -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLfloat -> IO ())
-> GLenum -> GLsizei -> GLfloat -> m ()
ffiuintintfloatIOV FunPtr (GLenum -> GLsizei -> GLfloat -> IO ())
glProgramUniform1fFunPtr

glProgramUniform1fFunPtr :: FunPtr (GLuint -> GLint -> GLfloat -> IO ())
glProgramUniform1fFunPtr :: FunPtr (GLenum -> GLsizei -> GLfloat -> IO ())
glProgramUniform1fFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLfloat -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLsizei -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform1f")

{-# NOINLINE glProgramUniform1fFunPtr #-}

-- | Usage: @'glProgramUniform1fv' program location count value@
--
-- The length of @value@ should be @count@.


glProgramUniform1fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()
glProgramUniform1fv :: GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> m ()
glProgramUniform1fv = FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> m ()
ffiuintintsizeiPtrfloatIOV FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
glProgramUniform1fvFunPtr

glProgramUniform1fvFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
glProgramUniform1fvFunPtr :: FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
glProgramUniform1fvFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform1fv")

{-# NOINLINE glProgramUniform1fvFunPtr #-}

-- | Usage: @'glProgramUniform1i' program location v0@


glProgramUniform1i :: MonadIO m => GLuint -> GLint -> GLint -> m ()
glProgramUniform1i :: GLenum -> GLsizei -> GLsizei -> m ()
glProgramUniform1i = FunPtr (GLenum -> GLsizei -> GLsizei -> IO ())
-> GLenum -> GLsizei -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLsizei -> IO ())
-> GLenum -> GLsizei -> GLsizei -> m ()
ffiuintintintIOV FunPtr (GLenum -> GLsizei -> GLsizei -> IO ())
glProgramUniform1iFunPtr

glProgramUniform1iFunPtr :: FunPtr (GLuint -> GLint -> GLint -> IO ())
glProgramUniform1iFunPtr :: FunPtr (GLenum -> GLsizei -> GLsizei -> IO ())
glProgramUniform1iFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLsizei -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform1i")

{-# NOINLINE glProgramUniform1iFunPtr #-}

-- | Usage: @'glProgramUniform1iv' program location count value@
--
-- The length of @value@ should be @count@.


glProgramUniform1iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()
glProgramUniform1iv :: GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> m ()
glProgramUniform1iv = FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> m ()
ffiuintintsizeiPtrintIOV FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
glProgramUniform1ivFunPtr

glProgramUniform1ivFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
glProgramUniform1ivFunPtr :: FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
glProgramUniform1ivFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform1iv")

{-# NOINLINE glProgramUniform1ivFunPtr #-}

-- | Usage: @'glProgramUniform1ui' program location v0@


glProgramUniform1ui :: MonadIO m => GLuint -> GLint -> GLuint -> m ()
glProgramUniform1ui :: GLenum -> GLsizei -> GLenum -> m ()
glProgramUniform1ui = FunPtr (GLenum -> GLsizei -> GLenum -> IO ())
-> GLenum -> GLsizei -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLenum -> IO ())
-> GLenum -> GLsizei -> GLenum -> m ()
ffiuintintuintIOV FunPtr (GLenum -> GLsizei -> GLenum -> IO ())
glProgramUniform1uiFunPtr

glProgramUniform1uiFunPtr :: FunPtr (GLuint -> GLint -> GLuint -> IO ())
glProgramUniform1uiFunPtr :: FunPtr (GLenum -> GLsizei -> GLenum -> IO ())
glProgramUniform1uiFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLsizei -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform1ui")

{-# NOINLINE glProgramUniform1uiFunPtr #-}

-- | Usage: @'glProgramUniform1uiv' program location count value@
--
-- The length of @value@ should be @count@.


glProgramUniform1uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniform1uiv :: GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> m ()
glProgramUniform1uiv = FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> m ()
ffiuintintsizeiPtruintIOV FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> IO ())
glProgramUniform1uivFunPtr

glProgramUniform1uivFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ())
glProgramUniform1uivFunPtr :: FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> IO ())
glProgramUniform1uivFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform1uiv")

{-# NOINLINE glProgramUniform1uivFunPtr #-}

-- | Usage: @'glProgramUniform2d' program location v0 v1@


glProgramUniform2d :: MonadIO m => GLuint -> GLint -> GLdouble -> GLdouble -> m ()
glProgramUniform2d :: GLenum -> GLsizei -> GLdouble -> GLdouble -> m ()
glProgramUniform2d = FunPtr (GLenum -> GLsizei -> GLdouble -> GLdouble -> IO ())
-> GLenum -> GLsizei -> GLdouble -> GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLdouble -> GLdouble -> IO ())
-> GLenum -> GLsizei -> GLdouble -> GLdouble -> m ()
ffiuintintdoubledoubleIOV FunPtr (GLenum -> GLsizei -> GLdouble -> GLdouble -> IO ())
glProgramUniform2dFunPtr

glProgramUniform2dFunPtr :: FunPtr (GLuint -> GLint -> GLdouble -> GLdouble -> IO ())
glProgramUniform2dFunPtr :: FunPtr (GLenum -> GLsizei -> GLdouble -> GLdouble -> IO ())
glProgramUniform2dFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLdouble -> GLdouble -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLdouble -> GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLsizei -> GLdouble -> GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform2d")

{-# NOINLINE glProgramUniform2dFunPtr #-}

-- | Usage: @'glProgramUniform2dv' program location count value@
--
-- The length of @value@ should be @count*2@.


glProgramUniform2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()
glProgramUniform2dv :: GLenum -> GLsizei -> GLsizei -> Ptr GLdouble -> m ()
glProgramUniform2dv = FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLdouble -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLdouble -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLdouble -> m ()
ffiuintintsizeiPtrdoubleIOV FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLdouble -> IO ())
glProgramUniform2dvFunPtr

glProgramUniform2dvFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLdouble -> IO ())
glProgramUniform2dvFunPtr :: FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLdouble -> IO ())
glProgramUniform2dvFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLdouble -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform2dv")

{-# NOINLINE glProgramUniform2dvFunPtr #-}

-- | Usage: @'glProgramUniform2f' program location v0 v1@


glProgramUniform2f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> m ()
glProgramUniform2f :: GLenum -> GLsizei -> GLfloat -> GLfloat -> m ()
glProgramUniform2f = FunPtr (GLenum -> GLsizei -> GLfloat -> GLfloat -> IO ())
-> GLenum -> GLsizei -> GLfloat -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLfloat -> GLfloat -> IO ())
-> GLenum -> GLsizei -> GLfloat -> GLfloat -> m ()
ffiuintintfloatfloatIOV FunPtr (GLenum -> GLsizei -> GLfloat -> GLfloat -> IO ())
glProgramUniform2fFunPtr

glProgramUniform2fFunPtr :: FunPtr (GLuint -> GLint -> GLfloat -> GLfloat -> IO ())
glProgramUniform2fFunPtr :: FunPtr (GLenum -> GLsizei -> GLfloat -> GLfloat -> IO ())
glProgramUniform2fFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLfloat -> GLfloat -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLfloat -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLsizei -> GLfloat -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform2f")

{-# NOINLINE glProgramUniform2fFunPtr #-}

-- | Usage: @'glProgramUniform2fv' program location count value@
--
-- The length of @value@ should be @count*2@.


glProgramUniform2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()
glProgramUniform2fv :: GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> m ()
glProgramUniform2fv = FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> m ()
ffiuintintsizeiPtrfloatIOV FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
glProgramUniform2fvFunPtr

glProgramUniform2fvFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
glProgramUniform2fvFunPtr :: FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
glProgramUniform2fvFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform2fv")

{-# NOINLINE glProgramUniform2fvFunPtr #-}

-- | Usage: @'glProgramUniform2i' program location v0 v1@


glProgramUniform2i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()
glProgramUniform2i :: GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()
glProgramUniform2i = FunPtr (GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()
ffiuintintintintIOV FunPtr (GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
glProgramUniform2iFunPtr

glProgramUniform2iFunPtr :: FunPtr (GLuint -> GLint -> GLint -> GLint -> IO ())
glProgramUniform2iFunPtr :: FunPtr (GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
glProgramUniform2iFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform2i")

{-# NOINLINE glProgramUniform2iFunPtr #-}

-- | Usage: @'glProgramUniform2iv' program location count value@
--
-- The length of @value@ should be @count*2@.


glProgramUniform2iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()
glProgramUniform2iv :: GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> m ()
glProgramUniform2iv = FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> m ()
ffiuintintsizeiPtrintIOV FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
glProgramUniform2ivFunPtr

glProgramUniform2ivFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
glProgramUniform2ivFunPtr :: FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
glProgramUniform2ivFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform2iv")

{-# NOINLINE glProgramUniform2ivFunPtr #-}

-- | Usage: @'glProgramUniform2ui' program location v0 v1@


glProgramUniform2ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> m ()
glProgramUniform2ui :: GLenum -> GLsizei -> GLenum -> GLenum -> m ()
glProgramUniform2ui = FunPtr (GLenum -> GLsizei -> GLenum -> GLenum -> IO ())
-> GLenum -> GLsizei -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLenum -> GLenum -> IO ())
-> GLenum -> GLsizei -> GLenum -> GLenum -> m ()
ffiuintintuintuintIOV FunPtr (GLenum -> GLsizei -> GLenum -> GLenum -> IO ())
glProgramUniform2uiFunPtr

glProgramUniform2uiFunPtr :: FunPtr (GLuint -> GLint -> GLuint -> GLuint -> IO ())
glProgramUniform2uiFunPtr :: FunPtr (GLenum -> GLsizei -> GLenum -> GLenum -> IO ())
glProgramUniform2uiFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLsizei -> GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform2ui")

{-# NOINLINE glProgramUniform2uiFunPtr #-}

-- | Usage: @'glProgramUniform2uiv' program location count value@
--
-- The length of @value@ should be @count*2@.


glProgramUniform2uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniform2uiv :: GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> m ()
glProgramUniform2uiv = FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> m ()
ffiuintintsizeiPtruintIOV FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> IO ())
glProgramUniform2uivFunPtr

glProgramUniform2uivFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ())
glProgramUniform2uivFunPtr :: FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> IO ())
glProgramUniform2uivFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform2uiv")

{-# NOINLINE glProgramUniform2uivFunPtr #-}

-- | Usage: @'glProgramUniform3d' program location v0 v1 v2@


glProgramUniform3d :: MonadIO m => GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> m ()
glProgramUniform3d :: GLenum -> GLsizei -> GLdouble -> GLdouble -> GLdouble -> m ()
glProgramUniform3d = FunPtr
  (GLenum -> GLsizei -> GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLenum -> GLsizei -> GLdouble -> GLdouble -> GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum -> GLsizei -> GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLenum -> GLsizei -> GLdouble -> GLdouble -> GLdouble -> m ()
ffiuintintdoubledoubledoubleIOV FunPtr
  (GLenum -> GLsizei -> GLdouble -> GLdouble -> GLdouble -> IO ())
glProgramUniform3dFunPtr

glProgramUniform3dFunPtr :: FunPtr (GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> IO ())
glProgramUniform3dFunPtr :: FunPtr
  (GLenum -> GLsizei -> GLdouble -> GLdouble -> GLdouble -> IO ())
glProgramUniform3dFunPtr = IO
  (FunPtr
     (GLenum -> GLsizei -> GLdouble -> GLdouble -> GLdouble -> IO ()))
-> FunPtr
     (GLenum -> GLsizei -> GLdouble -> GLdouble -> GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum -> GLsizei -> GLdouble -> GLdouble -> GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform3d")

{-# NOINLINE glProgramUniform3dFunPtr #-}

-- | Usage: @'glProgramUniform3dv' program location count value@
--
-- The length of @value@ should be @count*3@.


glProgramUniform3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()
glProgramUniform3dv :: GLenum -> GLsizei -> GLsizei -> Ptr GLdouble -> m ()
glProgramUniform3dv = FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLdouble -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLdouble -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLdouble -> m ()
ffiuintintsizeiPtrdoubleIOV FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLdouble -> IO ())
glProgramUniform3dvFunPtr

glProgramUniform3dvFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLdouble -> IO ())
glProgramUniform3dvFunPtr :: FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLdouble -> IO ())
glProgramUniform3dvFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLdouble -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform3dv")

{-# NOINLINE glProgramUniform3dvFunPtr #-}

-- | Usage: @'glProgramUniform3f' program location v0 v1 v2@


glProgramUniform3f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> m ()
glProgramUniform3f :: GLenum -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> m ()
glProgramUniform3f = FunPtr
  (GLenum -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLenum -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLenum -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> m ()
ffiuintintfloatfloatfloatIOV FunPtr
  (GLenum -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> IO ())
glProgramUniform3fFunPtr

glProgramUniform3fFunPtr :: FunPtr (GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> IO ())
glProgramUniform3fFunPtr :: FunPtr
  (GLenum -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> IO ())
glProgramUniform3fFunPtr = IO
  (FunPtr
     (GLenum -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> IO ()))
-> FunPtr
     (GLenum -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform3f")

{-# NOINLINE glProgramUniform3fFunPtr #-}

-- | Usage: @'glProgramUniform3fv' program location count value@
--
-- The length of @value@ should be @count*3@.


glProgramUniform3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()
glProgramUniform3fv :: GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> m ()
glProgramUniform3fv = FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> m ()
ffiuintintsizeiPtrfloatIOV FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
glProgramUniform3fvFunPtr

glProgramUniform3fvFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
glProgramUniform3fvFunPtr :: FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
glProgramUniform3fvFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform3fv")

{-# NOINLINE glProgramUniform3fvFunPtr #-}

-- | Usage: @'glProgramUniform3i' program location v0 v1 v2@


glProgramUniform3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()
glProgramUniform3i :: GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> m ()
glProgramUniform3i = FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> m ()
ffiuintintintintintIOV FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
glProgramUniform3iFunPtr

glProgramUniform3iFunPtr :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> IO ())
glProgramUniform3iFunPtr :: FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
glProgramUniform3iFunPtr = IO
  (FunPtr
     (GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ()))
-> FunPtr
     (GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform3i")

{-# NOINLINE glProgramUniform3iFunPtr #-}

-- | Usage: @'glProgramUniform3iv' program location count value@
--
-- The length of @value@ should be @count*3@.


glProgramUniform3iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()
glProgramUniform3iv :: GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> m ()
glProgramUniform3iv = FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> m ()
ffiuintintsizeiPtrintIOV FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
glProgramUniform3ivFunPtr

glProgramUniform3ivFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
glProgramUniform3ivFunPtr :: FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
glProgramUniform3ivFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform3iv")

{-# NOINLINE glProgramUniform3ivFunPtr #-}

-- | Usage: @'glProgramUniform3ui' program location v0 v1 v2@


glProgramUniform3ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> m ()
glProgramUniform3ui :: GLenum -> GLsizei -> GLenum -> GLenum -> GLenum -> m ()
glProgramUniform3ui = FunPtr (GLenum -> GLsizei -> GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLsizei -> GLenum -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLsizei -> GLenum -> GLenum -> GLenum -> m ()
ffiuintintuintuintuintIOV FunPtr (GLenum -> GLsizei -> GLenum -> GLenum -> GLenum -> IO ())
glProgramUniform3uiFunPtr

glProgramUniform3uiFunPtr :: FunPtr (GLuint -> GLint -> GLuint -> GLuint -> GLuint -> IO ())
glProgramUniform3uiFunPtr :: FunPtr (GLenum -> GLsizei -> GLenum -> GLenum -> GLenum -> IO ())
glProgramUniform3uiFunPtr = IO
  (FunPtr (GLenum -> GLsizei -> GLenum -> GLenum -> GLenum -> IO ()))
-> FunPtr
     (GLenum -> GLsizei -> GLenum -> GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLsizei -> GLenum -> GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform3ui")

{-# NOINLINE glProgramUniform3uiFunPtr #-}

-- | Usage: @'glProgramUniform3uiv' program location count value@
--
-- The length of @value@ should be @count*3@.


glProgramUniform3uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniform3uiv :: GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> m ()
glProgramUniform3uiv = FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> m ()
ffiuintintsizeiPtruintIOV FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> IO ())
glProgramUniform3uivFunPtr

glProgramUniform3uivFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ())
glProgramUniform3uivFunPtr :: FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> IO ())
glProgramUniform3uivFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform3uiv")

{-# NOINLINE glProgramUniform3uivFunPtr #-}

-- | Usage: @'glProgramUniform4d' program location v0 v1 v2 v3@


glProgramUniform4d :: MonadIO m => GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glProgramUniform4d :: GLenum
-> GLsizei -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glProgramUniform4d = FunPtr
  (GLenum
   -> GLsizei
   -> GLdouble
   -> GLdouble
   -> GLdouble
   -> GLdouble
   -> IO ())
-> GLenum
-> GLsizei
-> GLdouble
-> GLdouble
-> GLdouble
-> GLdouble
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei
   -> GLdouble
   -> GLdouble
   -> GLdouble
   -> GLdouble
   -> IO ())
-> GLenum
-> GLsizei
-> GLdouble
-> GLdouble
-> GLdouble
-> GLdouble
-> m ()
ffiuintintdoubledoubledoubledoubleIOV FunPtr
  (GLenum
   -> GLsizei
   -> GLdouble
   -> GLdouble
   -> GLdouble
   -> GLdouble
   -> IO ())
glProgramUniform4dFunPtr

glProgramUniform4dFunPtr :: FunPtr (GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
glProgramUniform4dFunPtr :: FunPtr
  (GLenum
   -> GLsizei
   -> GLdouble
   -> GLdouble
   -> GLdouble
   -> GLdouble
   -> IO ())
glProgramUniform4dFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei
      -> GLdouble
      -> GLdouble
      -> GLdouble
      -> GLdouble
      -> IO ()))
-> FunPtr
     (GLenum
      -> GLsizei
      -> GLdouble
      -> GLdouble
      -> GLdouble
      -> GLdouble
      -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei
         -> GLdouble
         -> GLdouble
         -> GLdouble
         -> GLdouble
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform4d")

{-# NOINLINE glProgramUniform4dFunPtr #-}

-- | Usage: @'glProgramUniform4dv' program location count value@
--
-- The length of @value@ should be @count*4@.


glProgramUniform4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()
glProgramUniform4dv :: GLenum -> GLsizei -> GLsizei -> Ptr GLdouble -> m ()
glProgramUniform4dv = FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLdouble -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLdouble -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLdouble -> m ()
ffiuintintsizeiPtrdoubleIOV FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLdouble -> IO ())
glProgramUniform4dvFunPtr

glProgramUniform4dvFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLdouble -> IO ())
glProgramUniform4dvFunPtr :: FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLdouble -> IO ())
glProgramUniform4dvFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLdouble -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform4dv")

{-# NOINLINE glProgramUniform4dvFunPtr #-}

-- | Usage: @'glProgramUniform4f' program location v0 v1 v2 v3@


glProgramUniform4f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glProgramUniform4f :: GLenum
-> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glProgramUniform4f = FunPtr
  (GLenum
   -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLenum
-> GLsizei
-> GLfloat
-> GLfloat
-> GLfloat
-> GLfloat
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLenum
-> GLsizei
-> GLfloat
-> GLfloat
-> GLfloat
-> GLfloat
-> m ()
ffiuintintfloatfloatfloatfloatIOV FunPtr
  (GLenum
   -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glProgramUniform4fFunPtr

glProgramUniform4fFunPtr :: FunPtr (GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glProgramUniform4fFunPtr :: FunPtr
  (GLenum
   -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glProgramUniform4fFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()))
-> FunPtr
     (GLenum
      -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform4f")

{-# NOINLINE glProgramUniform4fFunPtr #-}

-- | Usage: @'glProgramUniform4fv' program location count value@
--
-- The length of @value@ should be @count*4@.


glProgramUniform4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()
glProgramUniform4fv :: GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> m ()
glProgramUniform4fv = FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> m ()
ffiuintintsizeiPtrfloatIOV FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
glProgramUniform4fvFunPtr

glProgramUniform4fvFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
glProgramUniform4fvFunPtr :: FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
glProgramUniform4fvFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform4fv")

{-# NOINLINE glProgramUniform4fvFunPtr #-}

-- | Usage: @'glProgramUniform4i' program location v0 v1 v2 v3@


glProgramUniform4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> m ()
glProgramUniform4i :: GLenum
-> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> m ()
glProgramUniform4i = FunPtr
  (GLenum
   -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> m ()
ffiuintintintintintintIOV FunPtr
  (GLenum
   -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
glProgramUniform4iFunPtr

glProgramUniform4iFunPtr :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> IO ())
glProgramUniform4iFunPtr :: FunPtr
  (GLenum
   -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
glProgramUniform4iFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ()))
-> FunPtr
     (GLenum
      -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform4i")

{-# NOINLINE glProgramUniform4iFunPtr #-}

-- | Usage: @'glProgramUniform4iv' program location count value@
--
-- The length of @value@ should be @count*4@.


glProgramUniform4iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()
glProgramUniform4iv :: GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> m ()
glProgramUniform4iv = FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> m ()
ffiuintintsizeiPtrintIOV FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
glProgramUniform4ivFunPtr

glProgramUniform4ivFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
glProgramUniform4ivFunPtr :: FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
glProgramUniform4ivFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform4iv")

{-# NOINLINE glProgramUniform4ivFunPtr #-}

-- | Usage: @'glProgramUniform4ui' program location v0 v1 v2 v3@


glProgramUniform4ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
glProgramUniform4ui :: GLenum -> GLsizei -> GLenum -> GLenum -> GLenum -> GLenum -> m ()
glProgramUniform4ui = FunPtr
  (GLenum
   -> GLsizei -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-> GLenum
-> GLsizei
-> GLenum
-> GLenum
-> GLenum
-> GLenum
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-> GLenum
-> GLsizei
-> GLenum
-> GLenum
-> GLenum
-> GLenum
-> m ()
ffiuintintuintuintuintuintIOV FunPtr
  (GLenum
   -> GLsizei -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
glProgramUniform4uiFunPtr

glProgramUniform4uiFunPtr :: FunPtr (GLuint -> GLint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
glProgramUniform4uiFunPtr :: FunPtr
  (GLenum
   -> GLsizei -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
glProgramUniform4uiFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei -> GLenum -> GLenum -> GLenum -> GLenum -> IO ()))
-> FunPtr
     (GLenum
      -> GLsizei -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei -> GLenum -> GLenum -> GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform4ui")

{-# NOINLINE glProgramUniform4uiFunPtr #-}

-- | Usage: @'glProgramUniform4uiv' program location count value@
--
-- The length of @value@ should be @count*4@.


glProgramUniform4uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniform4uiv :: GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> m ()
glProgramUniform4uiv = FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> m ()
ffiuintintsizeiPtruintIOV FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> IO ())
glProgramUniform4uivFunPtr

glProgramUniform4uivFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ())
glProgramUniform4uivFunPtr :: FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> IO ())
glProgramUniform4uivFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform4uiv")

{-# NOINLINE glProgramUniform4uivFunPtr #-}

-- | Usage: @'glProgramUniformMatrix2dv' program location count transpose value@
--
-- The parameter @transpose@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @value@ should be @count*4@.


glProgramUniformMatrix2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glProgramUniformMatrix2dv :: GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glProgramUniformMatrix2dv = FunPtr
  (GLenum
   -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLboolean
-> Ptr GLdouble
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLboolean
-> Ptr GLdouble
-> m ()
ffiuintintsizeibooleanPtrdoubleIOV FunPtr
  (GLenum
   -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
glProgramUniformMatrix2dvFunPtr

glProgramUniformMatrix2dvFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
glProgramUniformMatrix2dvFunPtr :: FunPtr
  (GLenum
   -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
glProgramUniformMatrix2dvFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ()))
-> FunPtr
     (GLenum
      -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniformMatrix2dv")

{-# NOINLINE glProgramUniformMatrix2dvFunPtr #-}

-- | Usage: @'glProgramUniformMatrix2fv' program location count transpose value@
--
-- The parameter @transpose@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @value@ should be @count*4@.


glProgramUniformMatrix2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2fv :: GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2fv = FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
ffiuintintsizeibooleanPtrfloatIOV FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glProgramUniformMatrix2fvFunPtr

glProgramUniformMatrix2fvFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glProgramUniformMatrix2fvFunPtr :: FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glProgramUniformMatrix2fvFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()))
-> FunPtr
     (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniformMatrix2fv")

{-# NOINLINE glProgramUniformMatrix2fvFunPtr #-}

-- | Usage: @'glProgramUniformMatrix2x3dv' program location count transpose value@
--
-- The parameter @transpose@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @value@ should be @count*6@.


glProgramUniformMatrix2x3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glProgramUniformMatrix2x3dv :: GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glProgramUniformMatrix2x3dv = FunPtr
  (GLenum
   -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLboolean
-> Ptr GLdouble
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLboolean
-> Ptr GLdouble
-> m ()
ffiuintintsizeibooleanPtrdoubleIOV FunPtr
  (GLenum
   -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
glProgramUniformMatrix2x3dvFunPtr

glProgramUniformMatrix2x3dvFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
glProgramUniformMatrix2x3dvFunPtr :: FunPtr
  (GLenum
   -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
glProgramUniformMatrix2x3dvFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ()))
-> FunPtr
     (GLenum
      -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniformMatrix2x3dv")

{-# NOINLINE glProgramUniformMatrix2x3dvFunPtr #-}

-- | Usage: @'glProgramUniformMatrix2x3fv' program location count transpose value@
--
-- The parameter @transpose@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @value@ should be @count*6@.


glProgramUniformMatrix2x3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x3fv :: GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x3fv = FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
ffiuintintsizeibooleanPtrfloatIOV FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glProgramUniformMatrix2x3fvFunPtr

glProgramUniformMatrix2x3fvFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glProgramUniformMatrix2x3fvFunPtr :: FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glProgramUniformMatrix2x3fvFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()))
-> FunPtr
     (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniformMatrix2x3fv")

{-# NOINLINE glProgramUniformMatrix2x3fvFunPtr #-}

-- | Usage: @'glProgramUniformMatrix2x4dv' program location count transpose value@
--
-- The parameter @transpose@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @value@ should be @count*8@.


glProgramUniformMatrix2x4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glProgramUniformMatrix2x4dv :: GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glProgramUniformMatrix2x4dv = FunPtr
  (GLenum
   -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLboolean
-> Ptr GLdouble
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLboolean
-> Ptr GLdouble
-> m ()
ffiuintintsizeibooleanPtrdoubleIOV FunPtr
  (GLenum
   -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
glProgramUniformMatrix2x4dvFunPtr

glProgramUniformMatrix2x4dvFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
glProgramUniformMatrix2x4dvFunPtr :: FunPtr
  (GLenum
   -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
glProgramUniformMatrix2x4dvFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ()))
-> FunPtr
     (GLenum
      -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniformMatrix2x4dv")

{-# NOINLINE glProgramUniformMatrix2x4dvFunPtr #-}

-- | Usage: @'glProgramUniformMatrix2x4fv' program location count transpose value@
--
-- The parameter @transpose@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @value@ should be @count*8@.


glProgramUniformMatrix2x4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x4fv :: GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x4fv = FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
ffiuintintsizeibooleanPtrfloatIOV FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glProgramUniformMatrix2x4fvFunPtr

glProgramUniformMatrix2x4fvFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glProgramUniformMatrix2x4fvFunPtr :: FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glProgramUniformMatrix2x4fvFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()))
-> FunPtr
     (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniformMatrix2x4fv")

{-# NOINLINE glProgramUniformMatrix2x4fvFunPtr #-}

-- | Usage: @'glProgramUniformMatrix3dv' program location count transpose value@
--
-- The parameter @transpose@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @value@ should be @count*9@.


glProgramUniformMatrix3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glProgramUniformMatrix3dv :: GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glProgramUniformMatrix3dv = FunPtr
  (GLenum
   -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLboolean
-> Ptr GLdouble
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLboolean
-> Ptr GLdouble
-> m ()
ffiuintintsizeibooleanPtrdoubleIOV FunPtr
  (GLenum
   -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
glProgramUniformMatrix3dvFunPtr

glProgramUniformMatrix3dvFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
glProgramUniformMatrix3dvFunPtr :: FunPtr
  (GLenum
   -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
glProgramUniformMatrix3dvFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ()))
-> FunPtr
     (GLenum
      -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniformMatrix3dv")

{-# NOINLINE glProgramUniformMatrix3dvFunPtr #-}

-- | Usage: @'glProgramUniformMatrix3fv' program location count transpose value@
--
-- The parameter @transpose@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @value@ should be @count*9@.


glProgramUniformMatrix3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3fv :: GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3fv = FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
ffiuintintsizeibooleanPtrfloatIOV FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glProgramUniformMatrix3fvFunPtr

glProgramUniformMatrix3fvFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glProgramUniformMatrix3fvFunPtr :: FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glProgramUniformMatrix3fvFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()))
-> FunPtr
     (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniformMatrix3fv")

{-# NOINLINE glProgramUniformMatrix3fvFunPtr #-}

-- | Usage: @'glProgramUniformMatrix3x2dv' program location count transpose value@
--
-- The parameter @transpose@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @value@ should be @count*6@.


glProgramUniformMatrix3x2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glProgramUniformMatrix3x2dv :: GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glProgramUniformMatrix3x2dv = FunPtr
  (GLenum
   -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLboolean
-> Ptr GLdouble
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLboolean
-> Ptr GLdouble
-> m ()
ffiuintintsizeibooleanPtrdoubleIOV FunPtr
  (GLenum
   -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
glProgramUniformMatrix3x2dvFunPtr

glProgramUniformMatrix3x2dvFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
glProgramUniformMatrix3x2dvFunPtr :: FunPtr
  (GLenum
   -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
glProgramUniformMatrix3x2dvFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ()))
-> FunPtr
     (GLenum
      -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniformMatrix3x2dv")

{-# NOINLINE glProgramUniformMatrix3x2dvFunPtr #-}

-- | Usage: @'glProgramUniformMatrix3x2fv' program location count transpose value@
--
-- The parameter @transpose@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @value@ should be @count*6@.


glProgramUniformMatrix3x2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x2fv :: GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x2fv = FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
ffiuintintsizeibooleanPtrfloatIOV FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glProgramUniformMatrix3x2fvFunPtr

glProgramUniformMatrix3x2fvFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glProgramUniformMatrix3x2fvFunPtr :: FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glProgramUniformMatrix3x2fvFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()))
-> FunPtr
     (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniformMatrix3x2fv")

{-# NOINLINE glProgramUniformMatrix3x2fvFunPtr #-}

-- | Usage: @'glProgramUniformMatrix3x4dv' program location count transpose value@
--
-- The parameter @transpose@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @value@ should be @count*12@.


glProgramUniformMatrix3x4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glProgramUniformMatrix3x4dv :: GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glProgramUniformMatrix3x4dv = FunPtr
  (GLenum
   -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLboolean
-> Ptr GLdouble
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLboolean
-> Ptr GLdouble
-> m ()
ffiuintintsizeibooleanPtrdoubleIOV FunPtr
  (GLenum
   -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
glProgramUniformMatrix3x4dvFunPtr

glProgramUniformMatrix3x4dvFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
glProgramUniformMatrix3x4dvFunPtr :: FunPtr
  (GLenum
   -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
glProgramUniformMatrix3x4dvFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ()))
-> FunPtr
     (GLenum
      -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniformMatrix3x4dv")

{-# NOINLINE glProgramUniformMatrix3x4dvFunPtr #-}

-- | Usage: @'glProgramUniformMatrix3x4fv' program location count transpose value@
--
-- The parameter @transpose@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @value@ should be @count*12@.


glProgramUniformMatrix3x4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x4fv :: GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x4fv = FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
ffiuintintsizeibooleanPtrfloatIOV FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glProgramUniformMatrix3x4fvFunPtr

glProgramUniformMatrix3x4fvFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glProgramUniformMatrix3x4fvFunPtr :: FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glProgramUniformMatrix3x4fvFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()))
-> FunPtr
     (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniformMatrix3x4fv")

{-# NOINLINE glProgramUniformMatrix3x4fvFunPtr #-}

-- | Usage: @'glProgramUniformMatrix4dv' program location count transpose value@
--
-- The parameter @transpose@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @value@ should be @count*16@.


glProgramUniformMatrix4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glProgramUniformMatrix4dv :: GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glProgramUniformMatrix4dv = FunPtr
  (GLenum
   -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLboolean
-> Ptr GLdouble
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLboolean
-> Ptr GLdouble
-> m ()
ffiuintintsizeibooleanPtrdoubleIOV FunPtr
  (GLenum
   -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
glProgramUniformMatrix4dvFunPtr

glProgramUniformMatrix4dvFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
glProgramUniformMatrix4dvFunPtr :: FunPtr
  (GLenum
   -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
glProgramUniformMatrix4dvFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ()))
-> FunPtr
     (GLenum
      -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniformMatrix4dv")

{-# NOINLINE glProgramUniformMatrix4dvFunPtr #-}

-- | Usage: @'glProgramUniformMatrix4fv' program location count transpose value@
--
-- The parameter @transpose@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @value@ should be @count*16@.


glProgramUniformMatrix4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4fv :: GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4fv = FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
ffiuintintsizeibooleanPtrfloatIOV FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glProgramUniformMatrix4fvFunPtr

glProgramUniformMatrix4fvFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glProgramUniformMatrix4fvFunPtr :: FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glProgramUniformMatrix4fvFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()))
-> FunPtr
     (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniformMatrix4fv")

{-# NOINLINE glProgramUniformMatrix4fvFunPtr #-}

-- | Usage: @'glProgramUniformMatrix4x2dv' program location count transpose value@
--
-- The parameter @transpose@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @value@ should be @count*8@.


glProgramUniformMatrix4x2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glProgramUniformMatrix4x2dv :: GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glProgramUniformMatrix4x2dv = FunPtr
  (GLenum
   -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLboolean
-> Ptr GLdouble
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLboolean
-> Ptr GLdouble
-> m ()
ffiuintintsizeibooleanPtrdoubleIOV FunPtr
  (GLenum
   -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
glProgramUniformMatrix4x2dvFunPtr

glProgramUniformMatrix4x2dvFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
glProgramUniformMatrix4x2dvFunPtr :: FunPtr
  (GLenum
   -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
glProgramUniformMatrix4x2dvFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ()))
-> FunPtr
     (GLenum
      -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniformMatrix4x2dv")

{-# NOINLINE glProgramUniformMatrix4x2dvFunPtr #-}

-- | Usage: @'glProgramUniformMatrix4x2fv' program location count transpose value@
--
-- The parameter @transpose@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @value@ should be @count*8@.


glProgramUniformMatrix4x2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x2fv :: GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x2fv = FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
ffiuintintsizeibooleanPtrfloatIOV FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glProgramUniformMatrix4x2fvFunPtr

glProgramUniformMatrix4x2fvFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glProgramUniformMatrix4x2fvFunPtr :: FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glProgramUniformMatrix4x2fvFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()))
-> FunPtr
     (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniformMatrix4x2fv")

{-# NOINLINE glProgramUniformMatrix4x2fvFunPtr #-}

-- | Usage: @'glProgramUniformMatrix4x3dv' program location count transpose value@
--
-- The parameter @transpose@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @value@ should be @count*12@.


glProgramUniformMatrix4x3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glProgramUniformMatrix4x3dv :: GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glProgramUniformMatrix4x3dv = FunPtr
  (GLenum
   -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLboolean
-> Ptr GLdouble
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLboolean
-> Ptr GLdouble
-> m ()
ffiuintintsizeibooleanPtrdoubleIOV FunPtr
  (GLenum
   -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
glProgramUniformMatrix4x3dvFunPtr

glProgramUniformMatrix4x3dvFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
glProgramUniformMatrix4x3dvFunPtr :: FunPtr
  (GLenum
   -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
glProgramUniformMatrix4x3dvFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ()))
-> FunPtr
     (GLenum
      -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniformMatrix4x3dv")

{-# NOINLINE glProgramUniformMatrix4x3dvFunPtr #-}

-- | Usage: @'glProgramUniformMatrix4x3fv' program location count transpose value@
--
-- The parameter @transpose@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @value@ should be @count*12@.


glProgramUniformMatrix4x3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x3fv :: GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x3fv = FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
ffiuintintsizeibooleanPtrfloatIOV FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glProgramUniformMatrix4x3fvFunPtr

glProgramUniformMatrix4x3fvFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glProgramUniformMatrix4x3fvFunPtr :: FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glProgramUniformMatrix4x3fvFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()))
-> FunPtr
     (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniformMatrix4x3fv")

{-# NOINLINE glProgramUniformMatrix4x3fvFunPtr #-}

-- | Usage: @'glReleaseShaderCompiler'@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glReleaseShaderCompiler.xhtml>


glReleaseShaderCompiler :: MonadIO m => m ()
glReleaseShaderCompiler :: m ()
glReleaseShaderCompiler = FunPtr (IO ()) -> m ()
forall (m :: * -> *). MonadIO m => FunPtr (IO ()) -> m ()
ffiIOV FunPtr (IO ())
glReleaseShaderCompilerFunPtr

glReleaseShaderCompilerFunPtr :: FunPtr (IO ())
glReleaseShaderCompilerFunPtr :: FunPtr (IO ())
glReleaseShaderCompilerFunPtr = IO (FunPtr (IO ())) -> FunPtr (IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glReleaseShaderCompiler")

{-# NOINLINE glReleaseShaderCompilerFunPtr #-}

-- | Usage: @'glScissorArrayv' first count v@
--
-- The length of @v@ should be @COMPSIZE(count)@.


glScissorArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLint -> m ()
glScissorArrayv :: GLenum -> GLsizei -> Ptr GLsizei -> m ()
glScissorArrayv = FunPtr (GLenum -> GLsizei -> Ptr GLsizei -> IO ())
-> GLenum -> GLsizei -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> Ptr GLsizei -> IO ())
-> GLenum -> GLsizei -> Ptr GLsizei -> m ()
ffiuintsizeiPtrintIOV FunPtr (GLenum -> GLsizei -> Ptr GLsizei -> IO ())
glScissorArrayvFunPtr

glScissorArrayvFunPtr :: FunPtr (GLuint -> GLsizei -> Ptr GLint -> IO ())
glScissorArrayvFunPtr :: FunPtr (GLenum -> GLsizei -> Ptr GLsizei -> IO ())
glScissorArrayvFunPtr = IO (FunPtr (GLenum -> GLsizei -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLsizei -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLsizei -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glScissorArrayv")

{-# NOINLINE glScissorArrayvFunPtr #-}

-- | Usage: @'glScissorIndexed' index left bottom width height@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glScissorIndexed.xhtml>


glScissorIndexed :: MonadIO m => GLuint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()
glScissorIndexed :: GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> m ()
glScissorIndexed = FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> m ()
ffiuintintintsizeisizeiIOV FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
glScissorIndexedFunPtr

glScissorIndexedFunPtr :: FunPtr (GLuint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
glScissorIndexedFunPtr :: FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
glScissorIndexedFunPtr = IO
  (FunPtr
     (GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ()))
-> FunPtr
     (GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glScissorIndexed")

{-# NOINLINE glScissorIndexedFunPtr #-}

-- | Usage: @'glScissorIndexedv' index v@
--
-- The length of @v@ should be @4@.


glScissorIndexedv :: MonadIO m => GLuint -> Ptr GLint -> m ()
glScissorIndexedv :: GLenum -> Ptr GLsizei -> m ()
glScissorIndexedv = FunPtr (GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> Ptr GLsizei -> m ()
ffiuintPtrintIOV FunPtr (GLenum -> Ptr GLsizei -> IO ())
glScissorIndexedvFunPtr

glScissorIndexedvFunPtr :: FunPtr (GLuint -> Ptr GLint -> IO ())
glScissorIndexedvFunPtr :: FunPtr (GLenum -> Ptr GLsizei -> IO ())
glScissorIndexedvFunPtr = IO (FunPtr (GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glScissorIndexedv")

{-# NOINLINE glScissorIndexedvFunPtr #-}

-- | Usage: @'glShaderBinary' count shaders binaryformat binary length@
--
-- The length of @shaders@ should be @count@.
--
-- The length of @binary@ should be @length@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glShaderBinary.xhtml>


glShaderBinary :: MonadIO m => GLsizei -> Ptr GLuint -> GLenum -> Ptr () -> GLsizei -> m ()
glShaderBinary :: GLsizei -> Ptr GLenum -> GLenum -> Ptr () -> GLsizei -> m ()
glShaderBinary = FunPtr
  (GLsizei -> Ptr GLenum -> GLenum -> Ptr () -> GLsizei -> IO ())
-> GLsizei -> Ptr GLenum -> GLenum -> Ptr () -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLsizei -> Ptr GLenum -> GLenum -> Ptr () -> GLsizei -> IO ())
-> GLsizei -> Ptr GLenum -> GLenum -> Ptr () -> GLsizei -> m ()
ffisizeiPtruintenumPtrVsizeiIOV FunPtr
  (GLsizei -> Ptr GLenum -> GLenum -> Ptr () -> GLsizei -> IO ())
glShaderBinaryFunPtr

glShaderBinaryFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> GLenum -> Ptr () -> GLsizei -> IO ())
glShaderBinaryFunPtr :: FunPtr
  (GLsizei -> Ptr GLenum -> GLenum -> Ptr () -> GLsizei -> IO ())
glShaderBinaryFunPtr = IO
  (FunPtr
     (GLsizei -> Ptr GLenum -> GLenum -> Ptr () -> GLsizei -> IO ()))
-> FunPtr
     (GLsizei -> Ptr GLenum -> GLenum -> Ptr () -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLsizei -> Ptr GLenum -> GLenum -> Ptr () -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glShaderBinary")

{-# NOINLINE glShaderBinaryFunPtr #-}

-- | Usage: @'glUseProgramStages' pipeline stages program@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glUseProgramStages.xhtml>


glUseProgramStages :: MonadIO m => GLuint -> GLbitfield -> GLuint -> m ()
glUseProgramStages :: GLenum -> GLenum -> GLenum -> m ()
glUseProgramStages = FunPtr (GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> m ()
ffiuintbitfielduintIOV FunPtr (GLenum -> GLenum -> GLenum -> IO ())
glUseProgramStagesFunPtr

glUseProgramStagesFunPtr :: FunPtr (GLuint -> GLbitfield -> GLuint -> IO ())
glUseProgramStagesFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> IO ())
glUseProgramStagesFunPtr = IO (FunPtr (GLenum -> GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUseProgramStages")

{-# NOINLINE glUseProgramStagesFunPtr #-}

-- | Usage: @'glValidateProgramPipeline' pipeline@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glValidateProgramPipeline.xhtml>


glValidateProgramPipeline :: MonadIO m => GLuint -> m ()
glValidateProgramPipeline :: GLenum -> m ()
glValidateProgramPipeline = FunPtr (GLenum -> IO ()) -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO ()) -> GLenum -> m ()
ffiuintIOV FunPtr (GLenum -> IO ())
glValidateProgramPipelineFunPtr

glValidateProgramPipelineFunPtr :: FunPtr (GLuint -> IO ())
glValidateProgramPipelineFunPtr :: FunPtr (GLenum -> IO ())
glValidateProgramPipelineFunPtr = IO (FunPtr (GLenum -> IO ())) -> FunPtr (GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glValidateProgramPipeline")

{-# NOINLINE glValidateProgramPipelineFunPtr #-}

-- | Usage: @'glVertexAttribL1d' index x@


glVertexAttribL1d :: MonadIO m => GLuint -> GLdouble -> m ()
glVertexAttribL1d :: GLenum -> GLdouble -> m ()
glVertexAttribL1d = FunPtr (GLenum -> GLdouble -> IO ()) -> GLenum -> GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLdouble -> IO ()) -> GLenum -> GLdouble -> m ()
ffiuintdoubleIOV FunPtr (GLenum -> GLdouble -> IO ())
glVertexAttribL1dFunPtr

glVertexAttribL1dFunPtr :: FunPtr (GLuint -> GLdouble -> IO ())
glVertexAttribL1dFunPtr :: FunPtr (GLenum -> GLdouble -> IO ())
glVertexAttribL1dFunPtr = IO (FunPtr (GLenum -> GLdouble -> IO ()))
-> FunPtr (GLenum -> GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttribL1d")

{-# NOINLINE glVertexAttribL1dFunPtr #-}

-- | Usage: @'glVertexAttribL1dv' index v@
--
-- The length of @v@ should be @1@.


glVertexAttribL1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()
glVertexAttribL1dv :: GLenum -> Ptr GLdouble -> m ()
glVertexAttribL1dv = FunPtr (GLenum -> Ptr GLdouble -> IO ())
-> GLenum -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLdouble -> IO ())
-> GLenum -> Ptr GLdouble -> m ()
ffiuintPtrdoubleIOV FunPtr (GLenum -> Ptr GLdouble -> IO ())
glVertexAttribL1dvFunPtr

glVertexAttribL1dvFunPtr :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
glVertexAttribL1dvFunPtr :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
glVertexAttribL1dvFunPtr = IO (FunPtr (GLenum -> Ptr GLdouble -> IO ()))
-> FunPtr (GLenum -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttribL1dv")

{-# NOINLINE glVertexAttribL1dvFunPtr #-}

-- | Usage: @'glVertexAttribL2d' index x y@


glVertexAttribL2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()
glVertexAttribL2d :: GLenum -> GLdouble -> GLdouble -> m ()
glVertexAttribL2d = FunPtr (GLenum -> GLdouble -> GLdouble -> IO ())
-> GLenum -> GLdouble -> GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLdouble -> GLdouble -> IO ())
-> GLenum -> GLdouble -> GLdouble -> m ()
ffiuintdoubledoubleIOV FunPtr (GLenum -> GLdouble -> GLdouble -> IO ())
glVertexAttribL2dFunPtr

glVertexAttribL2dFunPtr :: FunPtr (GLuint -> GLdouble -> GLdouble -> IO ())
glVertexAttribL2dFunPtr :: FunPtr (GLenum -> GLdouble -> GLdouble -> IO ())
glVertexAttribL2dFunPtr = IO (FunPtr (GLenum -> GLdouble -> GLdouble -> IO ()))
-> FunPtr (GLenum -> GLdouble -> GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLdouble -> GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttribL2d")

{-# NOINLINE glVertexAttribL2dFunPtr #-}

-- | Usage: @'glVertexAttribL2dv' index v@
--
-- The length of @v@ should be @2@.


glVertexAttribL2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()
glVertexAttribL2dv :: GLenum -> Ptr GLdouble -> m ()
glVertexAttribL2dv = FunPtr (GLenum -> Ptr GLdouble -> IO ())
-> GLenum -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLdouble -> IO ())
-> GLenum -> Ptr GLdouble -> m ()
ffiuintPtrdoubleIOV FunPtr (GLenum -> Ptr GLdouble -> IO ())
glVertexAttribL2dvFunPtr

glVertexAttribL2dvFunPtr :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
glVertexAttribL2dvFunPtr :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
glVertexAttribL2dvFunPtr = IO (FunPtr (GLenum -> Ptr GLdouble -> IO ()))
-> FunPtr (GLenum -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttribL2dv")

{-# NOINLINE glVertexAttribL2dvFunPtr #-}

-- | Usage: @'glVertexAttribL3d' index x y z@


glVertexAttribL3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()
glVertexAttribL3d :: GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()
glVertexAttribL3d = FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()
ffiuintdoubledoubledoubleIOV FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ())
glVertexAttribL3dFunPtr

glVertexAttribL3dFunPtr :: FunPtr (GLuint -> GLdouble -> GLdouble -> GLdouble -> IO ())
glVertexAttribL3dFunPtr :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ())
glVertexAttribL3dFunPtr = IO (FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ()))
-> FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttribL3d")

{-# NOINLINE glVertexAttribL3dFunPtr #-}

-- | Usage: @'glVertexAttribL3dv' index v@
--
-- The length of @v@ should be @3@.


glVertexAttribL3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()
glVertexAttribL3dv :: GLenum -> Ptr GLdouble -> m ()
glVertexAttribL3dv = FunPtr (GLenum -> Ptr GLdouble -> IO ())
-> GLenum -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLdouble -> IO ())
-> GLenum -> Ptr GLdouble -> m ()
ffiuintPtrdoubleIOV FunPtr (GLenum -> Ptr GLdouble -> IO ())
glVertexAttribL3dvFunPtr

glVertexAttribL3dvFunPtr :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
glVertexAttribL3dvFunPtr :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
glVertexAttribL3dvFunPtr = IO (FunPtr (GLenum -> Ptr GLdouble -> IO ()))
-> FunPtr (GLenum -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttribL3dv")

{-# NOINLINE glVertexAttribL3dvFunPtr #-}

-- | Usage: @'glVertexAttribL4d' index x y z w@


glVertexAttribL4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glVertexAttribL4d :: GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glVertexAttribL4d = FunPtr
  (GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
ffiuintdoubledoubledoubledoubleIOV FunPtr
  (GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
glVertexAttribL4dFunPtr

glVertexAttribL4dFunPtr :: FunPtr (GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
glVertexAttribL4dFunPtr :: FunPtr
  (GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
glVertexAttribL4dFunPtr = IO
  (FunPtr
     (GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()))
-> FunPtr
     (GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttribL4d")

{-# NOINLINE glVertexAttribL4dFunPtr #-}

-- | Usage: @'glVertexAttribL4dv' index v@
--
-- The length of @v@ should be @4@.


glVertexAttribL4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()
glVertexAttribL4dv :: GLenum -> Ptr GLdouble -> m ()
glVertexAttribL4dv = FunPtr (GLenum -> Ptr GLdouble -> IO ())
-> GLenum -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLdouble -> IO ())
-> GLenum -> Ptr GLdouble -> m ()
ffiuintPtrdoubleIOV FunPtr (GLenum -> Ptr GLdouble -> IO ())
glVertexAttribL4dvFunPtr

glVertexAttribL4dvFunPtr :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
glVertexAttribL4dvFunPtr :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
glVertexAttribL4dvFunPtr = IO (FunPtr (GLenum -> Ptr GLdouble -> IO ()))
-> FunPtr (GLenum -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttribL4dv")

{-# NOINLINE glVertexAttribL4dvFunPtr #-}

-- | Usage: @'glVertexAttribLPointer' index size type stride pointer@
--
-- The length of @pointer@ should be @size@.


glVertexAttribLPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr () -> m ()
glVertexAttribLPointer :: GLenum -> GLsizei -> GLenum -> GLsizei -> Ptr () -> m ()
glVertexAttribLPointer = FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ())
-> GLenum -> GLsizei -> GLenum -> GLsizei -> Ptr () -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ())
-> GLenum -> GLsizei -> GLenum -> GLsizei -> Ptr () -> m ()
ffiuintintenumsizeiPtrVIOV FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ())
glVertexAttribLPointerFunPtr

glVertexAttribLPointerFunPtr :: FunPtr (GLuint -> GLint -> GLenum -> GLsizei -> Ptr () -> IO ())
glVertexAttribLPointerFunPtr :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ())
glVertexAttribLPointerFunPtr = IO
  (FunPtr
     (GLenum -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()))
-> FunPtr
     (GLenum -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttribLPointer")

{-# NOINLINE glVertexAttribLPointerFunPtr #-}

-- | Usage: @'glViewportArrayv' first count v@
--
-- The length of @v@ should be @COMPSIZE(count)@.


glViewportArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLfloat -> m ()
glViewportArrayv :: GLenum -> GLsizei -> Ptr GLfloat -> m ()
glViewportArrayv = FunPtr (GLenum -> GLsizei -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> Ptr GLfloat -> m ()
ffiuintsizeiPtrfloatIOV FunPtr (GLenum -> GLsizei -> Ptr GLfloat -> IO ())
glViewportArrayvFunPtr

glViewportArrayvFunPtr :: FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ())
glViewportArrayvFunPtr :: FunPtr (GLenum -> GLsizei -> Ptr GLfloat -> IO ())
glViewportArrayvFunPtr = IO (FunPtr (GLenum -> GLsizei -> Ptr GLfloat -> IO ()))
-> FunPtr (GLenum -> GLsizei -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLsizei -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glViewportArrayv")

{-# NOINLINE glViewportArrayvFunPtr #-}

-- | Usage: @'glViewportIndexedf' index x y w h@


glViewportIndexedf :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glViewportIndexedf :: GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glViewportIndexedf = FunPtr
  (GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
ffiuintfloatfloatfloatfloatIOV FunPtr
  (GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glViewportIndexedfFunPtr

glViewportIndexedfFunPtr :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glViewportIndexedfFunPtr :: FunPtr
  (GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glViewportIndexedfFunPtr = IO
  (FunPtr
     (GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()))
-> FunPtr
     (GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glViewportIndexedf")

{-# NOINLINE glViewportIndexedfFunPtr #-}

-- | Usage: @'glViewportIndexedfv' index v@
--
-- The length of @v@ should be @4@.


glViewportIndexedfv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()
glViewportIndexedfv :: GLenum -> Ptr GLfloat -> m ()
glViewportIndexedfv = FunPtr (GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> Ptr GLfloat -> m ()
ffiuintPtrfloatIOV FunPtr (GLenum -> Ptr GLfloat -> IO ())
glViewportIndexedfvFunPtr

glViewportIndexedfvFunPtr :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
glViewportIndexedfvFunPtr :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
glViewportIndexedfvFunPtr = IO (FunPtr (GLenum -> Ptr GLfloat -> IO ()))
-> FunPtr (GLenum -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glViewportIndexedfv")

{-# NOINLINE glViewportIndexedfvFunPtr #-}

pattern $bGL_ACTIVE_PROGRAM :: a
$mGL_ACTIVE_PROGRAM :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ACTIVE_PROGRAM = 0x8259

pattern $bGL_ALL_SHADER_BITS :: a
$mGL_ALL_SHADER_BITS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ALL_SHADER_BITS = 0xFFFFFFFF

pattern $bGL_FIXED :: a
$mGL_FIXED :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FIXED = 0x140C

pattern $bGL_FRAGMENT_SHADER_BIT :: a
$mGL_FRAGMENT_SHADER_BIT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAGMENT_SHADER_BIT = 0x00000002

pattern $bGL_GEOMETRY_SHADER_BIT :: a
$mGL_GEOMETRY_SHADER_BIT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_GEOMETRY_SHADER_BIT = 0x00000004

pattern $bGL_HIGH_FLOAT :: a
$mGL_HIGH_FLOAT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_HIGH_FLOAT = 0x8DF2

pattern $bGL_HIGH_INT :: a
$mGL_HIGH_INT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_HIGH_INT = 0x8DF5

pattern $bGL_IMPLEMENTATION_COLOR_READ_FORMAT :: a
$mGL_IMPLEMENTATION_COLOR_READ_FORMAT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_IMPLEMENTATION_COLOR_READ_FORMAT = 0x8B9B

pattern $bGL_IMPLEMENTATION_COLOR_READ_TYPE :: a
$mGL_IMPLEMENTATION_COLOR_READ_TYPE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_IMPLEMENTATION_COLOR_READ_TYPE = 0x8B9A

pattern $bGL_LAYER_PROVOKING_VERTEX :: a
$mGL_LAYER_PROVOKING_VERTEX :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LAYER_PROVOKING_VERTEX = 0x825E

pattern $bGL_LOW_FLOAT :: a
$mGL_LOW_FLOAT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LOW_FLOAT = 0x8DF0

pattern $bGL_LOW_INT :: a
$mGL_LOW_INT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LOW_INT = 0x8DF3

pattern $bGL_MAX_FRAGMENT_UNIFORM_VECTORS :: a
$mGL_MAX_FRAGMENT_UNIFORM_VECTORS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_FRAGMENT_UNIFORM_VECTORS = 0x8DFD

pattern $bGL_MAX_VARYING_VECTORS :: a
$mGL_MAX_VARYING_VECTORS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_VARYING_VECTORS = 0x8DFC

pattern $bGL_MAX_VERTEX_UNIFORM_VECTORS :: a
$mGL_MAX_VERTEX_UNIFORM_VECTORS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_VERTEX_UNIFORM_VECTORS = 0x8DFB

pattern $bGL_MAX_VIEWPORTS :: a
$mGL_MAX_VIEWPORTS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_VIEWPORTS = 0x825B

pattern $bGL_MEDIUM_FLOAT :: a
$mGL_MEDIUM_FLOAT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MEDIUM_FLOAT = 0x8DF1

pattern $bGL_MEDIUM_INT :: a
$mGL_MEDIUM_INT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MEDIUM_INT = 0x8DF4

pattern $bGL_NUM_PROGRAM_BINARY_FORMATS :: a
$mGL_NUM_PROGRAM_BINARY_FORMATS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_NUM_PROGRAM_BINARY_FORMATS = 0x87FE

pattern $bGL_NUM_SHADER_BINARY_FORMATS :: a
$mGL_NUM_SHADER_BINARY_FORMATS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_NUM_SHADER_BINARY_FORMATS = 0x8DF9

pattern $bGL_PROGRAM_BINARY_FORMATS :: a
$mGL_PROGRAM_BINARY_FORMATS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PROGRAM_BINARY_FORMATS = 0x87FF

pattern $bGL_PROGRAM_BINARY_LENGTH :: a
$mGL_PROGRAM_BINARY_LENGTH :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PROGRAM_BINARY_LENGTH = 0x8741

pattern $bGL_PROGRAM_BINARY_RETRIEVABLE_HINT :: a
$mGL_PROGRAM_BINARY_RETRIEVABLE_HINT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PROGRAM_BINARY_RETRIEVABLE_HINT = 0x8257

pattern $bGL_PROGRAM_PIPELINE_BINDING :: a
$mGL_PROGRAM_PIPELINE_BINDING :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PROGRAM_PIPELINE_BINDING = 0x825A

pattern $bGL_PROGRAM_SEPARABLE :: a
$mGL_PROGRAM_SEPARABLE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PROGRAM_SEPARABLE = 0x8258

pattern $bGL_RGB565 :: a
$mGL_RGB565 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGB565 = 0x8D62

pattern $bGL_SHADER_BINARY_FORMATS :: a
$mGL_SHADER_BINARY_FORMATS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SHADER_BINARY_FORMATS = 0x8DF8

pattern $bGL_SHADER_COMPILER :: a
$mGL_SHADER_COMPILER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SHADER_COMPILER = 0x8DFA

pattern $bGL_TESS_CONTROL_SHADER_BIT :: a
$mGL_TESS_CONTROL_SHADER_BIT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TESS_CONTROL_SHADER_BIT = 0x00000008

pattern $bGL_TESS_EVALUATION_SHADER_BIT :: a
$mGL_TESS_EVALUATION_SHADER_BIT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TESS_EVALUATION_SHADER_BIT = 0x00000010

pattern $bGL_UNDEFINED_VERTEX :: a
$mGL_UNDEFINED_VERTEX :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNDEFINED_VERTEX = 0x8260

pattern $bGL_VERTEX_SHADER_BIT :: a
$mGL_VERTEX_SHADER_BIT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_SHADER_BIT = 0x00000001

pattern $bGL_VIEWPORT_BOUNDS_RANGE :: a
$mGL_VIEWPORT_BOUNDS_RANGE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VIEWPORT_BOUNDS_RANGE = 0x825D

pattern $bGL_VIEWPORT_INDEX_PROVOKING_VERTEX :: a
$mGL_VIEWPORT_INDEX_PROVOKING_VERTEX :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VIEWPORT_INDEX_PROVOKING_VERTEX = 0x825F

pattern $bGL_VIEWPORT_SUBPIXEL_BITS :: a
$mGL_VIEWPORT_SUBPIXEL_BITS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VIEWPORT_SUBPIXEL_BITS = 0x825C

-- | Usage: @'glBindImageTexture' unit texture level layered layer access format@
--
-- The parameter @layered@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glBindImageTexture.xhtml>


glBindImageTexture :: MonadIO m => GLuint -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> GLenum -> m ()
glBindImageTexture :: GLenum
-> GLenum
-> GLsizei
-> GLboolean
-> GLsizei
-> GLenum
-> GLenum
-> m ()
glBindImageTexture = FunPtr
  (GLenum
   -> GLenum
   -> GLsizei
   -> GLboolean
   -> GLsizei
   -> GLenum
   -> GLenum
   -> IO ())
-> GLenum
-> GLenum
-> GLsizei
-> GLboolean
-> GLsizei
-> GLenum
-> GLenum
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLenum
   -> GLsizei
   -> GLboolean
   -> GLsizei
   -> GLenum
   -> GLenum
   -> IO ())
-> GLenum
-> GLenum
-> GLsizei
-> GLboolean
-> GLsizei
-> GLenum
-> GLenum
-> m ()
ffiuintuintintbooleanintenumenumIOV FunPtr
  (GLenum
   -> GLenum
   -> GLsizei
   -> GLboolean
   -> GLsizei
   -> GLenum
   -> GLenum
   -> IO ())
glBindImageTextureFunPtr

glBindImageTextureFunPtr :: FunPtr (GLuint -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> GLenum -> IO ())
glBindImageTextureFunPtr :: FunPtr
  (GLenum
   -> GLenum
   -> GLsizei
   -> GLboolean
   -> GLsizei
   -> GLenum
   -> GLenum
   -> IO ())
glBindImageTextureFunPtr = 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 (String
-> IO
     (FunPtr
        (GLenum
         -> GLenum
         -> GLsizei
         -> GLboolean
         -> GLsizei
         -> GLenum
         -> GLenum
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glBindImageTexture")

{-# NOINLINE glBindImageTextureFunPtr #-}

-- | Usage: @'glDrawArraysInstancedBaseInstance' mode first count instancecount baseinstance@
--
-- The parameter @mode@ is a @PrimitiveType@, one of: 'Graphics.GL.Internal.Shared.GL_LINES', 'Graphics.GL.Internal.Shared.GL_LINES_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_LINES_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_LINES_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_LINE_LOOP', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_LINE_STRIP_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_PATCHES', 'Graphics.GL.Ext.EXT.TessellationShader.GL_PATCHES_EXT', 'Graphics.GL.Internal.Shared.GL_POINTS', 'Graphics.GL.Internal.Shared.GL_POLYGON', 'Graphics.GL.Internal.Shared.GL_QUADS', 'Graphics.GL.Ext.EXT.TessellationShader.GL_QUADS_EXT', 'Graphics.GL.Internal.Shared.GL_QUAD_STRIP', 'Graphics.GL.Internal.Shared.GL_TRIANGLES', 'Graphics.GL.Internal.Shared.GL_TRIANGLES_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_TRIANGLES_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_TRIANGLES_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_FAN', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_TRIANGLE_STRIP_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP_ADJACENCY_EXT'.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glDrawArraysInstancedBaseInstance.xhtml>


glDrawArraysInstancedBaseInstance :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> GLuint -> m ()
glDrawArraysInstancedBaseInstance :: GLenum -> GLsizei -> GLsizei -> GLsizei -> GLenum -> m ()
glDrawArraysInstancedBaseInstance = FunPtr (GLenum -> GLsizei -> GLsizei -> GLsizei -> GLenum -> IO ())
-> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLsizei -> GLsizei -> GLenum -> IO ())
-> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLenum -> m ()
ffienumintsizeisizeiuintIOV FunPtr (GLenum -> GLsizei -> GLsizei -> GLsizei -> GLenum -> IO ())
glDrawArraysInstancedBaseInstanceFunPtr

glDrawArraysInstancedBaseInstanceFunPtr :: FunPtr (GLenum -> GLint -> GLsizei -> GLsizei -> GLuint -> IO ())
glDrawArraysInstancedBaseInstanceFunPtr :: FunPtr (GLenum -> GLsizei -> GLsizei -> GLsizei -> GLenum -> IO ())
glDrawArraysInstancedBaseInstanceFunPtr = IO
  (FunPtr
     (GLenum -> GLsizei -> GLsizei -> GLsizei -> GLenum -> IO ()))
-> FunPtr
     (GLenum -> GLsizei -> GLsizei -> GLsizei -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum -> GLsizei -> GLsizei -> GLsizei -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glDrawArraysInstancedBaseInstance")

{-# NOINLINE glDrawArraysInstancedBaseInstanceFunPtr #-}

-- | Usage: @'glDrawElementsInstancedBaseInstance' mode count type indices instancecount baseinstance@
--
-- The parameter @mode@ is a @PrimitiveType@, one of: 'Graphics.GL.Internal.Shared.GL_LINES', 'Graphics.GL.Internal.Shared.GL_LINES_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_LINES_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_LINES_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_LINE_LOOP', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_LINE_STRIP_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_PATCHES', 'Graphics.GL.Ext.EXT.TessellationShader.GL_PATCHES_EXT', 'Graphics.GL.Internal.Shared.GL_POINTS', 'Graphics.GL.Internal.Shared.GL_POLYGON', 'Graphics.GL.Internal.Shared.GL_QUADS', 'Graphics.GL.Ext.EXT.TessellationShader.GL_QUADS_EXT', 'Graphics.GL.Internal.Shared.GL_QUAD_STRIP', 'Graphics.GL.Internal.Shared.GL_TRIANGLES', 'Graphics.GL.Internal.Shared.GL_TRIANGLES_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_TRIANGLES_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_TRIANGLES_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_FAN', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_TRIANGLE_STRIP_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP_ADJACENCY_EXT'.
--
-- The length of @indices@ should be @count@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glDrawElementsInstancedBaseInstance.xhtml>


glDrawElementsInstancedBaseInstance :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> GLuint -> m ()
glDrawElementsInstancedBaseInstance :: GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> GLenum -> m ()
glDrawElementsInstancedBaseInstance = FunPtr
  (GLenum
   -> GLsizei -> GLenum -> Ptr () -> GLsizei -> GLenum -> IO ())
-> GLenum
-> GLsizei
-> GLenum
-> Ptr ()
-> GLsizei
-> GLenum
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei -> GLenum -> Ptr () -> GLsizei -> GLenum -> IO ())
-> GLenum
-> GLsizei
-> GLenum
-> Ptr ()
-> GLsizei
-> GLenum
-> m ()
ffienumsizeienumPtrVsizeiuintIOV FunPtr
  (GLenum
   -> GLsizei -> GLenum -> Ptr () -> GLsizei -> GLenum -> IO ())
glDrawElementsInstancedBaseInstanceFunPtr

glDrawElementsInstancedBaseInstanceFunPtr :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> GLuint -> IO ())
glDrawElementsInstancedBaseInstanceFunPtr :: FunPtr
  (GLenum
   -> GLsizei -> GLenum -> Ptr () -> GLsizei -> GLenum -> IO ())
glDrawElementsInstancedBaseInstanceFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei -> GLenum -> Ptr () -> GLsizei -> GLenum -> IO ()))
-> FunPtr
     (GLenum
      -> GLsizei -> GLenum -> Ptr () -> GLsizei -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei -> GLenum -> Ptr () -> GLsizei -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glDrawElementsInstancedBaseInstance")

{-# NOINLINE glDrawElementsInstancedBaseInstanceFunPtr #-}

-- | Usage: @'glDrawElementsInstancedBaseVertexBaseInstance' mode count type indices instancecount basevertex baseinstance@
--
-- The parameter @mode@ is a @PrimitiveType@, one of: 'Graphics.GL.Internal.Shared.GL_LINES', 'Graphics.GL.Internal.Shared.GL_LINES_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_LINES_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_LINES_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_LINE_LOOP', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_LINE_STRIP_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_PATCHES', 'Graphics.GL.Ext.EXT.TessellationShader.GL_PATCHES_EXT', 'Graphics.GL.Internal.Shared.GL_POINTS', 'Graphics.GL.Internal.Shared.GL_POLYGON', 'Graphics.GL.Internal.Shared.GL_QUADS', 'Graphics.GL.Ext.EXT.TessellationShader.GL_QUADS_EXT', 'Graphics.GL.Internal.Shared.GL_QUAD_STRIP', 'Graphics.GL.Internal.Shared.GL_TRIANGLES', 'Graphics.GL.Internal.Shared.GL_TRIANGLES_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_TRIANGLES_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_TRIANGLES_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_FAN', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_TRIANGLE_STRIP_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP_ADJACENCY_EXT'.
--
-- The length of @indices@ should be @count@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glDrawElementsInstancedBaseVertexBaseInstance.xhtml>


glDrawElementsInstancedBaseVertexBaseInstance :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> GLint -> GLuint -> m ()
glDrawElementsInstancedBaseVertexBaseInstance :: GLenum
-> GLsizei
-> GLenum
-> Ptr ()
-> GLsizei
-> GLsizei
-> GLenum
-> m ()
glDrawElementsInstancedBaseVertexBaseInstance = FunPtr
  (GLenum
   -> GLsizei
   -> GLenum
   -> Ptr ()
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> IO ())
-> GLenum
-> GLsizei
-> GLenum
-> Ptr ()
-> GLsizei
-> GLsizei
-> GLenum
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei
   -> GLenum
   -> Ptr ()
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> IO ())
-> GLenum
-> GLsizei
-> GLenum
-> Ptr ()
-> GLsizei
-> GLsizei
-> GLenum
-> m ()
ffienumsizeienumPtrVsizeiintuintIOV FunPtr
  (GLenum
   -> GLsizei
   -> GLenum
   -> Ptr ()
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> IO ())
glDrawElementsInstancedBaseVertexBaseInstanceFunPtr

glDrawElementsInstancedBaseVertexBaseInstanceFunPtr :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> GLint -> GLuint -> IO ())
glDrawElementsInstancedBaseVertexBaseInstanceFunPtr :: FunPtr
  (GLenum
   -> GLsizei
   -> GLenum
   -> Ptr ()
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> IO ())
glDrawElementsInstancedBaseVertexBaseInstanceFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei
      -> GLenum
      -> Ptr ()
      -> GLsizei
      -> GLsizei
      -> GLenum
      -> IO ()))
-> FunPtr
     (GLenum
      -> GLsizei
      -> GLenum
      -> Ptr ()
      -> GLsizei
      -> GLsizei
      -> GLenum
      -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei
         -> GLenum
         -> Ptr ()
         -> GLsizei
         -> GLsizei
         -> GLenum
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glDrawElementsInstancedBaseVertexBaseInstance")

{-# NOINLINE glDrawElementsInstancedBaseVertexBaseInstanceFunPtr #-}

-- | Usage: @'glDrawTransformFeedbackInstanced' mode id instancecount@
--
-- The parameter @mode@ is a @PrimitiveType@, one of: 'Graphics.GL.Internal.Shared.GL_LINES', 'Graphics.GL.Internal.Shared.GL_LINES_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_LINES_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_LINES_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_LINE_LOOP', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_LINE_STRIP_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_PATCHES', 'Graphics.GL.Ext.EXT.TessellationShader.GL_PATCHES_EXT', 'Graphics.GL.Internal.Shared.GL_POINTS', 'Graphics.GL.Internal.Shared.GL_POLYGON', 'Graphics.GL.Internal.Shared.GL_QUADS', 'Graphics.GL.Ext.EXT.TessellationShader.GL_QUADS_EXT', 'Graphics.GL.Internal.Shared.GL_QUAD_STRIP', 'Graphics.GL.Internal.Shared.GL_TRIANGLES', 'Graphics.GL.Internal.Shared.GL_TRIANGLES_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_TRIANGLES_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_TRIANGLES_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_FAN', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_TRIANGLE_STRIP_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP_ADJACENCY_EXT'.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glDrawTransformFeedbackInstanced.xhtml>


glDrawTransformFeedbackInstanced :: MonadIO m => GLenum -> GLuint -> GLsizei -> m ()
glDrawTransformFeedbackInstanced :: GLenum -> GLenum -> GLsizei -> m ()
glDrawTransformFeedbackInstanced = FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
-> GLenum -> GLenum -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
-> GLenum -> GLenum -> GLsizei -> m ()
ffienumuintsizeiIOV FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
glDrawTransformFeedbackInstancedFunPtr

glDrawTransformFeedbackInstancedFunPtr :: FunPtr (GLenum -> GLuint -> GLsizei -> IO ())
glDrawTransformFeedbackInstancedFunPtr :: FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
glDrawTransformFeedbackInstancedFunPtr = IO (FunPtr (GLenum -> GLenum -> GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glDrawTransformFeedbackInstanced")

{-# NOINLINE glDrawTransformFeedbackInstancedFunPtr #-}

-- | Usage: @'glDrawTransformFeedbackStreamInstanced' mode id stream instancecount@
--
-- The parameter @mode@ is a @PrimitiveType@, one of: 'Graphics.GL.Internal.Shared.GL_LINES', 'Graphics.GL.Internal.Shared.GL_LINES_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_LINES_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_LINES_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_LINE_LOOP', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_LINE_STRIP_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_PATCHES', 'Graphics.GL.Ext.EXT.TessellationShader.GL_PATCHES_EXT', 'Graphics.GL.Internal.Shared.GL_POINTS', 'Graphics.GL.Internal.Shared.GL_POLYGON', 'Graphics.GL.Internal.Shared.GL_QUADS', 'Graphics.GL.Ext.EXT.TessellationShader.GL_QUADS_EXT', 'Graphics.GL.Internal.Shared.GL_QUAD_STRIP', 'Graphics.GL.Internal.Shared.GL_TRIANGLES', 'Graphics.GL.Internal.Shared.GL_TRIANGLES_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_TRIANGLES_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_TRIANGLES_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_FAN', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_TRIANGLE_STRIP_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP_ADJACENCY_EXT'.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glDrawTransformFeedbackStreamInstanced.xhtml>


glDrawTransformFeedbackStreamInstanced :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> m ()
glDrawTransformFeedbackStreamInstanced :: GLenum -> GLenum -> GLenum -> GLsizei -> m ()
glDrawTransformFeedbackStreamInstanced = FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> IO ())
-> GLenum -> GLenum -> GLenum -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> IO ())
-> GLenum -> GLenum -> GLenum -> GLsizei -> m ()
ffienumuintuintsizeiIOV FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> IO ())
glDrawTransformFeedbackStreamInstancedFunPtr

glDrawTransformFeedbackStreamInstancedFunPtr :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> IO ())
glDrawTransformFeedbackStreamInstancedFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> IO ())
glDrawTransformFeedbackStreamInstancedFunPtr = IO (FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glDrawTransformFeedbackStreamInstanced")

{-# NOINLINE glDrawTransformFeedbackStreamInstancedFunPtr #-}

-- | Usage: @'glGetActiveAtomicCounterBufferiv' program bufferIndex pname params@
--
-- The length of @params@ should be @COMPSIZE(pname)@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glGetActiveAtomicCounterBufferiv.xhtml>


glGetActiveAtomicCounterBufferiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()
glGetActiveAtomicCounterBufferiv :: GLenum -> GLenum -> GLenum -> Ptr GLsizei -> m ()
glGetActiveAtomicCounterBufferiv = FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> GLenum -> Ptr GLsizei -> m ()
ffiuintuintenumPtrintIOV FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetActiveAtomicCounterBufferivFunPtr

glGetActiveAtomicCounterBufferivFunPtr :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLint -> IO ())
glGetActiveAtomicCounterBufferivFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetActiveAtomicCounterBufferivFunPtr = IO (FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetActiveAtomicCounterBufferiv")

{-# NOINLINE glGetActiveAtomicCounterBufferivFunPtr #-}

-- | Usage: @'glGetInternalformativ' target internalformat pname bufSize params@
--
-- The length of @params@ should be @bufSize@.


glGetInternalformativ :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint -> m ()
glGetInternalformativ :: GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLsizei -> m ()
glGetInternalformativ = FunPtr
  (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLsizei -> m ()
ffienumenumenumsizeiPtrintIOV FunPtr
  (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLsizei -> IO ())
glGetInternalformativFunPtr

glGetInternalformativFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint -> IO ())
glGetInternalformativFunPtr :: FunPtr
  (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLsizei -> IO ())
glGetInternalformativFunPtr = IO
  (FunPtr
     (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLsizei -> IO ()))
-> FunPtr
     (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetInternalformativ")

{-# NOINLINE glGetInternalformativFunPtr #-}

-- | Usage: @'glMemoryBarrier' barriers@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glMemoryBarrier.xhtml>


glMemoryBarrier :: MonadIO m => GLbitfield -> m ()
glMemoryBarrier :: GLenum -> m ()
glMemoryBarrier = FunPtr (GLenum -> IO ()) -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO ()) -> GLenum -> m ()
ffibitfieldIOV FunPtr (GLenum -> IO ())
glMemoryBarrierFunPtr

glMemoryBarrierFunPtr :: FunPtr (GLbitfield -> IO ())
glMemoryBarrierFunPtr :: FunPtr (GLenum -> IO ())
glMemoryBarrierFunPtr = IO (FunPtr (GLenum -> IO ())) -> FunPtr (GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMemoryBarrier")

{-# NOINLINE glMemoryBarrierFunPtr #-}

-- | Usage: @'glTexStorage1D' target levels internalformat width@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glTexStorage1D.xhtml>


glTexStorage1D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> m ()
glTexStorage1D :: GLenum -> GLsizei -> GLenum -> GLsizei -> m ()
glTexStorage1D = FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> IO ())
-> GLenum -> GLsizei -> GLenum -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> IO ())
-> GLenum -> GLsizei -> GLenum -> GLsizei -> m ()
ffienumsizeienumsizeiIOV FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> IO ())
glTexStorage1DFunPtr

glTexStorage1DFunPtr :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> IO ())
glTexStorage1DFunPtr :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> IO ())
glTexStorage1DFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexStorage1D")

{-# NOINLINE glTexStorage1DFunPtr #-}

-- | Usage: @'glTexStorage2D' target levels internalformat width height@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glTexStorage2D.xhtml>


glTexStorage2D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()
glTexStorage2D :: GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()
glTexStorage2D = FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
-> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
-> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()
ffienumsizeienumsizeisizeiIOV FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
glTexStorage2DFunPtr

glTexStorage2DFunPtr :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
glTexStorage2DFunPtr :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
glTexStorage2DFunPtr = IO
  (FunPtr
     (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ()))
-> FunPtr
     (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexStorage2D")

{-# NOINLINE glTexStorage2DFunPtr #-}

-- | Usage: @'glTexStorage3D' target levels internalformat width height depth@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glTexStorage3D.xhtml>


glTexStorage3D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()
glTexStorage3D :: GLenum
-> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()
glTexStorage3D = FunPtr
  (GLenum
   -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLenum
-> GLsizei
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLenum
-> GLsizei
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> m ()
ffienumsizeienumsizeisizeisizeiIOV FunPtr
  (GLenum
   -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
glTexStorage3DFunPtr

glTexStorage3DFunPtr :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
glTexStorage3DFunPtr :: FunPtr
  (GLenum
   -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
glTexStorage3DFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ()))
-> FunPtr
     (GLenum
      -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexStorage3D")

{-# NOINLINE glTexStorage3DFunPtr #-}

pattern $bGL_ACTIVE_ATOMIC_COUNTER_BUFFERS :: a
$mGL_ACTIVE_ATOMIC_COUNTER_BUFFERS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ACTIVE_ATOMIC_COUNTER_BUFFERS = 0x92D9

pattern $bGL_ALL_BARRIER_BITS :: a
$mGL_ALL_BARRIER_BITS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ALL_BARRIER_BITS = 0xFFFFFFFF

pattern $bGL_ATOMIC_COUNTER_BARRIER_BIT :: a
$mGL_ATOMIC_COUNTER_BARRIER_BIT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ATOMIC_COUNTER_BARRIER_BIT = 0x00001000

pattern $bGL_ATOMIC_COUNTER_BUFFER :: a
$mGL_ATOMIC_COUNTER_BUFFER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ATOMIC_COUNTER_BUFFER = 0x92C0

pattern $bGL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS :: a
$mGL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS = 0x92C5

pattern $bGL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES :: a
$mGL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES = 0x92C6

pattern $bGL_ATOMIC_COUNTER_BUFFER_BINDING :: a
$mGL_ATOMIC_COUNTER_BUFFER_BINDING :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ATOMIC_COUNTER_BUFFER_BINDING = 0x92C1

pattern $bGL_ATOMIC_COUNTER_BUFFER_DATA_SIZE :: a
$mGL_ATOMIC_COUNTER_BUFFER_DATA_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE = 0x92C4

pattern $bGL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER :: a
$mGL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER = 0x92CB

pattern $bGL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER :: a
$mGL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER = 0x92CA

pattern $bGL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER :: a
$mGL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER = 0x92C8

pattern $bGL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER :: a
$mGL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER = 0x92C9

pattern $bGL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER :: a
$mGL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER = 0x92C7

pattern $bGL_ATOMIC_COUNTER_BUFFER_SIZE :: a
$mGL_ATOMIC_COUNTER_BUFFER_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ATOMIC_COUNTER_BUFFER_SIZE = 0x92C3

pattern $bGL_ATOMIC_COUNTER_BUFFER_START :: a
$mGL_ATOMIC_COUNTER_BUFFER_START :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ATOMIC_COUNTER_BUFFER_START = 0x92C2

pattern $bGL_BUFFER_UPDATE_BARRIER_BIT :: a
$mGL_BUFFER_UPDATE_BARRIER_BIT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_BUFFER_UPDATE_BARRIER_BIT = 0x00000200

pattern $bGL_COMMAND_BARRIER_BIT :: a
$mGL_COMMAND_BARRIER_BIT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMMAND_BARRIER_BIT = 0x00000040

pattern $bGL_COPY_READ_BUFFER_BINDING :: a
$mGL_COPY_READ_BUFFER_BINDING :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COPY_READ_BUFFER_BINDING = 0x8F36

pattern $bGL_COPY_WRITE_BUFFER_BINDING :: a
$mGL_COPY_WRITE_BUFFER_BINDING :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COPY_WRITE_BUFFER_BINDING = 0x8F37

pattern $bGL_ELEMENT_ARRAY_BARRIER_BIT :: a
$mGL_ELEMENT_ARRAY_BARRIER_BIT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ELEMENT_ARRAY_BARRIER_BIT = 0x00000002

pattern $bGL_FRAMEBUFFER_BARRIER_BIT :: a
$mGL_FRAMEBUFFER_BARRIER_BIT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAMEBUFFER_BARRIER_BIT = 0x00000400

pattern $bGL_IMAGE_1D :: a
$mGL_IMAGE_1D :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_IMAGE_1D = 0x904C

pattern $bGL_IMAGE_1D_ARRAY :: a
$mGL_IMAGE_1D_ARRAY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_IMAGE_1D_ARRAY = 0x9052

pattern $bGL_IMAGE_2D :: a
$mGL_IMAGE_2D :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_IMAGE_2D = 0x904D

pattern $bGL_IMAGE_2D_ARRAY :: a
$mGL_IMAGE_2D_ARRAY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_IMAGE_2D_ARRAY = 0x9053

pattern $bGL_IMAGE_2D_MULTISAMPLE :: a
$mGL_IMAGE_2D_MULTISAMPLE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_IMAGE_2D_MULTISAMPLE = 0x9055

pattern $bGL_IMAGE_2D_MULTISAMPLE_ARRAY :: a
$mGL_IMAGE_2D_MULTISAMPLE_ARRAY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_IMAGE_2D_MULTISAMPLE_ARRAY = 0x9056

pattern $bGL_IMAGE_2D_RECT :: a
$mGL_IMAGE_2D_RECT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_IMAGE_2D_RECT = 0x904F

pattern $bGL_IMAGE_3D :: a
$mGL_IMAGE_3D :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_IMAGE_3D = 0x904E

pattern $bGL_IMAGE_BINDING_ACCESS :: a
$mGL_IMAGE_BINDING_ACCESS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_IMAGE_BINDING_ACCESS = 0x8F3E

pattern $bGL_IMAGE_BINDING_FORMAT :: a
$mGL_IMAGE_BINDING_FORMAT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_IMAGE_BINDING_FORMAT = 0x906E

pattern $bGL_IMAGE_BINDING_LAYER :: a
$mGL_IMAGE_BINDING_LAYER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_IMAGE_BINDING_LAYER = 0x8F3D

pattern $bGL_IMAGE_BINDING_LAYERED :: a
$mGL_IMAGE_BINDING_LAYERED :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_IMAGE_BINDING_LAYERED = 0x8F3C

pattern $bGL_IMAGE_BINDING_LEVEL :: a
$mGL_IMAGE_BINDING_LEVEL :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_IMAGE_BINDING_LEVEL = 0x8F3B

pattern $bGL_IMAGE_BINDING_NAME :: a
$mGL_IMAGE_BINDING_NAME :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_IMAGE_BINDING_NAME = 0x8F3A

pattern $bGL_IMAGE_BUFFER :: a
$mGL_IMAGE_BUFFER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_IMAGE_BUFFER = 0x9051

pattern $bGL_IMAGE_CUBE :: a
$mGL_IMAGE_CUBE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_IMAGE_CUBE = 0x9050

pattern $bGL_IMAGE_CUBE_MAP_ARRAY :: a
$mGL_IMAGE_CUBE_MAP_ARRAY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_IMAGE_CUBE_MAP_ARRAY = 0x9054

pattern $bGL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS :: a
$mGL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS = 0x90C9

pattern $bGL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE :: a
$mGL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE = 0x90C8

pattern $bGL_IMAGE_FORMAT_COMPATIBILITY_TYPE :: a
$mGL_IMAGE_FORMAT_COMPATIBILITY_TYPE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_IMAGE_FORMAT_COMPATIBILITY_TYPE = 0x90C7

pattern $bGL_INT_IMAGE_1D :: a
$mGL_INT_IMAGE_1D :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INT_IMAGE_1D = 0x9057

pattern $bGL_INT_IMAGE_1D_ARRAY :: a
$mGL_INT_IMAGE_1D_ARRAY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INT_IMAGE_1D_ARRAY = 0x905D

pattern $bGL_INT_IMAGE_2D :: a
$mGL_INT_IMAGE_2D :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INT_IMAGE_2D = 0x9058

pattern $bGL_INT_IMAGE_2D_ARRAY :: a
$mGL_INT_IMAGE_2D_ARRAY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INT_IMAGE_2D_ARRAY = 0x905E

pattern $bGL_INT_IMAGE_2D_MULTISAMPLE :: a
$mGL_INT_IMAGE_2D_MULTISAMPLE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INT_IMAGE_2D_MULTISAMPLE = 0x9060

pattern $bGL_INT_IMAGE_2D_MULTISAMPLE_ARRAY :: a
$mGL_INT_IMAGE_2D_MULTISAMPLE_ARRAY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY = 0x9061

pattern $bGL_INT_IMAGE_2D_RECT :: a
$mGL_INT_IMAGE_2D_RECT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INT_IMAGE_2D_RECT = 0x905A

pattern $bGL_INT_IMAGE_3D :: a
$mGL_INT_IMAGE_3D :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INT_IMAGE_3D = 0x9059

pattern $bGL_INT_IMAGE_BUFFER :: a
$mGL_INT_IMAGE_BUFFER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INT_IMAGE_BUFFER = 0x905C

pattern $bGL_INT_IMAGE_CUBE :: a
$mGL_INT_IMAGE_CUBE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INT_IMAGE_CUBE = 0x905B

pattern $bGL_INT_IMAGE_CUBE_MAP_ARRAY :: a
$mGL_INT_IMAGE_CUBE_MAP_ARRAY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INT_IMAGE_CUBE_MAP_ARRAY = 0x905F

pattern $bGL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS :: a
$mGL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS = 0x92DC

pattern $bGL_MAX_ATOMIC_COUNTER_BUFFER_SIZE :: a
$mGL_MAX_ATOMIC_COUNTER_BUFFER_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE = 0x92D8

pattern $bGL_MAX_COMBINED_ATOMIC_COUNTERS :: a
$mGL_MAX_COMBINED_ATOMIC_COUNTERS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_COMBINED_ATOMIC_COUNTERS = 0x92D7

pattern $bGL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS :: a
$mGL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS = 0x92D1

pattern $bGL_MAX_COMBINED_IMAGE_UNIFORMS :: a
$mGL_MAX_COMBINED_IMAGE_UNIFORMS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_COMBINED_IMAGE_UNIFORMS = 0x90CF

pattern $bGL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS :: a
$mGL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS = 0x8F39

pattern $bGL_MAX_FRAGMENT_ATOMIC_COUNTERS :: a
$mGL_MAX_FRAGMENT_ATOMIC_COUNTERS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_FRAGMENT_ATOMIC_COUNTERS = 0x92D6

pattern $bGL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS :: a
$mGL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS = 0x92D0

pattern $bGL_MAX_FRAGMENT_IMAGE_UNIFORMS :: a
$mGL_MAX_FRAGMENT_IMAGE_UNIFORMS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_FRAGMENT_IMAGE_UNIFORMS = 0x90CE

pattern $bGL_MAX_GEOMETRY_ATOMIC_COUNTERS :: a
$mGL_MAX_GEOMETRY_ATOMIC_COUNTERS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_GEOMETRY_ATOMIC_COUNTERS = 0x92D5

pattern $bGL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS :: a
$mGL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS = 0x92CF

pattern $bGL_MAX_GEOMETRY_IMAGE_UNIFORMS :: a
$mGL_MAX_GEOMETRY_IMAGE_UNIFORMS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_GEOMETRY_IMAGE_UNIFORMS = 0x90CD

pattern $bGL_MAX_IMAGE_SAMPLES :: a
$mGL_MAX_IMAGE_SAMPLES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_IMAGE_SAMPLES = 0x906D

pattern $bGL_MAX_IMAGE_UNITS :: a
$mGL_MAX_IMAGE_UNITS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_IMAGE_UNITS = 0x8F38

pattern $bGL_MAX_TESS_CONTROL_ATOMIC_COUNTERS :: a
$mGL_MAX_TESS_CONTROL_ATOMIC_COUNTERS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS = 0x92D3

pattern $bGL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS :: a
$mGL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS = 0x92CD

pattern $bGL_MAX_TESS_CONTROL_IMAGE_UNIFORMS :: a
$mGL_MAX_TESS_CONTROL_IMAGE_UNIFORMS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS = 0x90CB

pattern $bGL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS :: a
$mGL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS = 0x92D4

pattern $bGL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS :: a
$mGL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS = 0x92CE

pattern $bGL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS :: a
$mGL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS = 0x90CC

pattern $bGL_MAX_VERTEX_ATOMIC_COUNTERS :: a
$mGL_MAX_VERTEX_ATOMIC_COUNTERS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_VERTEX_ATOMIC_COUNTERS = 0x92D2

pattern $bGL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS :: a
$mGL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS = 0x92CC

pattern $bGL_MAX_VERTEX_IMAGE_UNIFORMS :: a
$mGL_MAX_VERTEX_IMAGE_UNIFORMS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_VERTEX_IMAGE_UNIFORMS = 0x90CA

pattern $bGL_MIN_MAP_BUFFER_ALIGNMENT :: a
$mGL_MIN_MAP_BUFFER_ALIGNMENT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MIN_MAP_BUFFER_ALIGNMENT = 0x90BC

pattern $bGL_NUM_SAMPLE_COUNTS :: a
$mGL_NUM_SAMPLE_COUNTS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_NUM_SAMPLE_COUNTS = 0x9380

pattern $bGL_PACK_COMPRESSED_BLOCK_DEPTH :: a
$mGL_PACK_COMPRESSED_BLOCK_DEPTH :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PACK_COMPRESSED_BLOCK_DEPTH = 0x912D

pattern $bGL_PACK_COMPRESSED_BLOCK_HEIGHT :: a
$mGL_PACK_COMPRESSED_BLOCK_HEIGHT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PACK_COMPRESSED_BLOCK_HEIGHT = 0x912C

pattern $bGL_PACK_COMPRESSED_BLOCK_SIZE :: a
$mGL_PACK_COMPRESSED_BLOCK_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PACK_COMPRESSED_BLOCK_SIZE = 0x912E

pattern $bGL_PACK_COMPRESSED_BLOCK_WIDTH :: a
$mGL_PACK_COMPRESSED_BLOCK_WIDTH :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PACK_COMPRESSED_BLOCK_WIDTH = 0x912B

pattern $bGL_PIXEL_BUFFER_BARRIER_BIT :: a
$mGL_PIXEL_BUFFER_BARRIER_BIT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PIXEL_BUFFER_BARRIER_BIT = 0x00000080

pattern $bGL_SHADER_IMAGE_ACCESS_BARRIER_BIT :: a
$mGL_SHADER_IMAGE_ACCESS_BARRIER_BIT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SHADER_IMAGE_ACCESS_BARRIER_BIT = 0x00000020

pattern $bGL_TEXTURE_FETCH_BARRIER_BIT :: a
$mGL_TEXTURE_FETCH_BARRIER_BIT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_FETCH_BARRIER_BIT = 0x00000008

pattern $bGL_TEXTURE_IMMUTABLE_FORMAT :: a
$mGL_TEXTURE_IMMUTABLE_FORMAT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_IMMUTABLE_FORMAT = 0x912F

pattern $bGL_TEXTURE_UPDATE_BARRIER_BIT :: a
$mGL_TEXTURE_UPDATE_BARRIER_BIT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_UPDATE_BARRIER_BIT = 0x00000100

pattern $bGL_TRANSFORM_FEEDBACK_ACTIVE :: a
$mGL_TRANSFORM_FEEDBACK_ACTIVE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TRANSFORM_FEEDBACK_ACTIVE = 0x8E24

pattern $bGL_TRANSFORM_FEEDBACK_BARRIER_BIT :: a
$mGL_TRANSFORM_FEEDBACK_BARRIER_BIT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TRANSFORM_FEEDBACK_BARRIER_BIT = 0x00000800

pattern $bGL_TRANSFORM_FEEDBACK_PAUSED :: a
$mGL_TRANSFORM_FEEDBACK_PAUSED :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TRANSFORM_FEEDBACK_PAUSED = 0x8E23

pattern $bGL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX :: a
$mGL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX = 0x92DA

pattern $bGL_UNIFORM_BARRIER_BIT :: a
$mGL_UNIFORM_BARRIER_BIT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNIFORM_BARRIER_BIT = 0x00000004

pattern $bGL_UNPACK_COMPRESSED_BLOCK_DEPTH :: a
$mGL_UNPACK_COMPRESSED_BLOCK_DEPTH :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNPACK_COMPRESSED_BLOCK_DEPTH = 0x9129

pattern $bGL_UNPACK_COMPRESSED_BLOCK_HEIGHT :: a
$mGL_UNPACK_COMPRESSED_BLOCK_HEIGHT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNPACK_COMPRESSED_BLOCK_HEIGHT = 0x9128

pattern $bGL_UNPACK_COMPRESSED_BLOCK_SIZE :: a
$mGL_UNPACK_COMPRESSED_BLOCK_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNPACK_COMPRESSED_BLOCK_SIZE = 0x912A

pattern $bGL_UNPACK_COMPRESSED_BLOCK_WIDTH :: a
$mGL_UNPACK_COMPRESSED_BLOCK_WIDTH :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNPACK_COMPRESSED_BLOCK_WIDTH = 0x9127

pattern $bGL_UNSIGNED_INT_ATOMIC_COUNTER :: a
$mGL_UNSIGNED_INT_ATOMIC_COUNTER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNED_INT_ATOMIC_COUNTER = 0x92DB

pattern $bGL_UNSIGNED_INT_IMAGE_1D :: a
$mGL_UNSIGNED_INT_IMAGE_1D :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNED_INT_IMAGE_1D = 0x9062

pattern $bGL_UNSIGNED_INT_IMAGE_1D_ARRAY :: a
$mGL_UNSIGNED_INT_IMAGE_1D_ARRAY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNED_INT_IMAGE_1D_ARRAY = 0x9068

pattern $bGL_UNSIGNED_INT_IMAGE_2D :: a
$mGL_UNSIGNED_INT_IMAGE_2D :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNED_INT_IMAGE_2D = 0x9063

pattern $bGL_UNSIGNED_INT_IMAGE_2D_ARRAY :: a
$mGL_UNSIGNED_INT_IMAGE_2D_ARRAY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNED_INT_IMAGE_2D_ARRAY = 0x9069

pattern $bGL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE :: a
$mGL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE = 0x906B

pattern $bGL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY :: a
$mGL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY = 0x906C

pattern $bGL_UNSIGNED_INT_IMAGE_2D_RECT :: a
$mGL_UNSIGNED_INT_IMAGE_2D_RECT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNED_INT_IMAGE_2D_RECT = 0x9065

pattern $bGL_UNSIGNED_INT_IMAGE_3D :: a
$mGL_UNSIGNED_INT_IMAGE_3D :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNED_INT_IMAGE_3D = 0x9064

pattern $bGL_UNSIGNED_INT_IMAGE_BUFFER :: a
$mGL_UNSIGNED_INT_IMAGE_BUFFER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNED_INT_IMAGE_BUFFER = 0x9067

pattern $bGL_UNSIGNED_INT_IMAGE_CUBE :: a
$mGL_UNSIGNED_INT_IMAGE_CUBE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNED_INT_IMAGE_CUBE = 0x9066

pattern $bGL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY :: a
$mGL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY = 0x906A

pattern $bGL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT :: a
$mGL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT = 0x00000001

-- | Usage: @'glBindVertexBuffer' bindingindex buffer offset stride@
--
-- The parameter @offset@ is a @BufferOffset@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glBindVertexBuffer.xhtml>


glBindVertexBuffer :: MonadIO m => GLuint -> GLuint -> GLintptr -> GLsizei -> m ()
glBindVertexBuffer :: GLenum -> GLenum -> GLintptr -> GLsizei -> m ()
glBindVertexBuffer = FunPtr (GLenum -> GLenum -> GLintptr -> GLsizei -> IO ())
-> GLenum -> GLenum -> GLintptr -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLintptr -> GLsizei -> IO ())
-> GLenum -> GLenum -> GLintptr -> GLsizei -> m ()
ffiuintuintintptrsizeiIOV FunPtr (GLenum -> GLenum -> GLintptr -> GLsizei -> IO ())
glBindVertexBufferFunPtr

glBindVertexBufferFunPtr :: FunPtr (GLuint -> GLuint -> GLintptr -> GLsizei -> IO ())
glBindVertexBufferFunPtr :: FunPtr (GLenum -> GLenum -> GLintptr -> GLsizei -> IO ())
glBindVertexBufferFunPtr = IO (FunPtr (GLenum -> GLenum -> GLintptr -> GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLintptr -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLenum -> GLintptr -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glBindVertexBuffer")

{-# NOINLINE glBindVertexBufferFunPtr #-}

-- | Usage: @'glClearBufferData' target internalformat format type data@
--
-- The length of @data@ should be @COMPSIZE(format,type)@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glClearBufferData.xhtml>


glClearBufferData :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> Ptr () -> m ()
glClearBufferData :: GLenum -> GLenum -> GLenum -> GLenum -> Ptr () -> m ()
glClearBufferData = FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> Ptr () -> IO ())
-> GLenum -> GLenum -> GLenum -> GLenum -> Ptr () -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> Ptr () -> IO ())
-> GLenum -> GLenum -> GLenum -> GLenum -> Ptr () -> m ()
ffienumenumenumenumPtrVIOV FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> Ptr () -> IO ())
glClearBufferDataFunPtr

glClearBufferDataFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> Ptr () -> IO ())
glClearBufferDataFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> Ptr () -> IO ())
glClearBufferDataFunPtr = IO
  (FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> Ptr () -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> Ptr () -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> Ptr () -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glClearBufferData")

{-# NOINLINE glClearBufferDataFunPtr #-}

-- | Usage: @'glClearBufferSubData' target internalformat offset size format type data@
--
-- The parameter @offset@ is a @BufferOffset@.
--
-- The parameter @size@ is a @BufferSize@.
--
-- The length of @data@ should be @COMPSIZE(format,type)@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glClearBufferSubData.xhtml>


glClearBufferSubData :: MonadIO m => GLenum -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr () -> m ()
glClearBufferSubData :: GLenum
-> GLenum
-> GLintptr
-> GLintptr
-> GLenum
-> GLenum
-> Ptr ()
-> m ()
glClearBufferSubData = FunPtr
  (GLenum
   -> GLenum
   -> GLintptr
   -> GLintptr
   -> GLenum
   -> GLenum
   -> Ptr ()
   -> IO ())
-> GLenum
-> GLenum
-> GLintptr
-> GLintptr
-> GLenum
-> GLenum
-> Ptr ()
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLenum
   -> GLintptr
   -> GLintptr
   -> GLenum
   -> GLenum
   -> Ptr ()
   -> IO ())
-> GLenum
-> GLenum
-> GLintptr
-> GLintptr
-> GLenum
-> GLenum
-> Ptr ()
-> m ()
ffienumenumintptrsizeiptrenumenumPtrVIOV FunPtr
  (GLenum
   -> GLenum
   -> GLintptr
   -> GLintptr
   -> GLenum
   -> GLenum
   -> Ptr ()
   -> IO ())
glClearBufferSubDataFunPtr

glClearBufferSubDataFunPtr :: FunPtr (GLenum -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr () -> IO ())
glClearBufferSubDataFunPtr :: FunPtr
  (GLenum
   -> GLenum
   -> GLintptr
   -> GLintptr
   -> GLenum
   -> GLenum
   -> Ptr ()
   -> IO ())
glClearBufferSubDataFunPtr = IO
  (FunPtr
     (GLenum
      -> GLenum
      -> GLintptr
      -> GLintptr
      -> GLenum
      -> GLenum
      -> Ptr ()
      -> IO ()))
-> FunPtr
     (GLenum
      -> GLenum
      -> GLintptr
      -> GLintptr
      -> GLenum
      -> GLenum
      -> Ptr ()
      -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLenum
         -> GLintptr
         -> GLintptr
         -> GLenum
         -> GLenum
         -> Ptr ()
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glClearBufferSubData")

{-# NOINLINE glClearBufferSubDataFunPtr #-}

-- | Usage: @'glCopyImageSubData' srcName srcTarget srcLevel srcX srcY srcZ dstName dstTarget dstLevel dstX dstY dstZ srcWidth srcHeight srcDepth@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glCopyImageSubData.xhtml>


glCopyImageSubData :: MonadIO m => GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> m ()
glCopyImageSubData :: GLenum
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> m ()
glCopyImageSubData = FunPtr
  (GLenum
   -> GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> IO ())
-> GLenum
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> IO ())
-> GLenum
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> m ()
ffiuintenumintintintintuintenumintintintintsizeisizeisizeiIOV FunPtr
  (GLenum
   -> GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> IO ())
glCopyImageSubDataFunPtr

glCopyImageSubDataFunPtr :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> IO ())
glCopyImageSubDataFunPtr :: FunPtr
  (GLenum
   -> GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> IO ())
glCopyImageSubDataFunPtr = IO
  (FunPtr
     (GLenum
      -> GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLenum
      -> GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> IO ()))
-> FunPtr
     (GLenum
      -> GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLenum
      -> GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLenum
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLenum
         -> GLenum
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glCopyImageSubData")

{-# NOINLINE glCopyImageSubDataFunPtr #-}

-- | Usage: @'glDebugMessageCallback' callback userParam@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glDebugMessageCallback.xhtml>


glDebugMessageCallback :: MonadIO m => GLDEBUGPROC -> Ptr () -> m ()
glDebugMessageCallback :: GLDEBUGPROC -> Ptr () -> m ()
glDebugMessageCallback = FunPtr (GLDEBUGPROC -> Ptr () -> IO ())
-> GLDEBUGPROC -> Ptr () -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLDEBUGPROC -> Ptr () -> IO ())
-> GLDEBUGPROC -> Ptr () -> m ()
ffiDEBUGPROCPtrVIOV FunPtr (GLDEBUGPROC -> Ptr () -> IO ())
glDebugMessageCallbackFunPtr

glDebugMessageCallbackFunPtr :: FunPtr (GLDEBUGPROC -> Ptr () -> IO ())
glDebugMessageCallbackFunPtr :: FunPtr (GLDEBUGPROC -> Ptr () -> IO ())
glDebugMessageCallbackFunPtr = IO (FunPtr (GLDEBUGPROC -> Ptr () -> IO ()))
-> FunPtr (GLDEBUGPROC -> Ptr () -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLDEBUGPROC -> Ptr () -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glDebugMessageCallback")

{-# NOINLINE glDebugMessageCallbackFunPtr #-}

-- | Usage: @'glDebugMessageControl' source type severity count ids enabled@
--
-- The parameter @enabled@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @ids@ should be @count@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glDebugMessageControl.xhtml>


glDebugMessageControl :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> m ()
glDebugMessageControl :: GLenum
-> GLenum -> GLenum -> GLsizei -> Ptr GLenum -> GLboolean -> m ()
glDebugMessageControl = FunPtr
  (GLenum
   -> GLenum -> GLenum -> GLsizei -> Ptr GLenum -> GLboolean -> IO ())
-> GLenum
-> GLenum
-> GLenum
-> GLsizei
-> Ptr GLenum
-> GLboolean
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLenum -> GLenum -> GLsizei -> Ptr GLenum -> GLboolean -> IO ())
-> GLenum
-> GLenum
-> GLenum
-> GLsizei
-> Ptr GLenum
-> GLboolean
-> m ()
ffienumenumenumsizeiPtruintbooleanIOV FunPtr
  (GLenum
   -> GLenum -> GLenum -> GLsizei -> Ptr GLenum -> GLboolean -> IO ())
glDebugMessageControlFunPtr

glDebugMessageControlFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> IO ())
glDebugMessageControlFunPtr :: FunPtr
  (GLenum
   -> GLenum -> GLenum -> GLsizei -> Ptr GLenum -> GLboolean -> IO ())
glDebugMessageControlFunPtr = IO
  (FunPtr
     (GLenum
      -> GLenum
      -> GLenum
      -> GLsizei
      -> Ptr GLenum
      -> GLboolean
      -> IO ()))
-> FunPtr
     (GLenum
      -> GLenum -> GLenum -> GLsizei -> Ptr GLenum -> GLboolean -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLenum
         -> GLenum
         -> GLsizei
         -> Ptr GLenum
         -> GLboolean
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glDebugMessageControl")

{-# NOINLINE glDebugMessageControlFunPtr #-}

-- | Usage: @'glDebugMessageInsert' source type id severity length buf@
--
-- The length of @buf@ should be @COMPSIZE(buf,length)@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glDebugMessageInsert.xhtml>


glDebugMessageInsert :: MonadIO m => GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> m ()
glDebugMessageInsert :: GLenum
-> GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLchar -> m ()
glDebugMessageInsert = FunPtr
  (GLenum
   -> GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLchar -> IO ())
-> GLenum
-> GLenum
-> GLenum
-> GLenum
-> GLsizei
-> Ptr GLchar
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLchar -> IO ())
-> GLenum
-> GLenum
-> GLenum
-> GLenum
-> GLsizei
-> Ptr GLchar
-> m ()
ffienumenumuintenumsizeiPtrcharIOV FunPtr
  (GLenum
   -> GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLchar -> IO ())
glDebugMessageInsertFunPtr

glDebugMessageInsertFunPtr :: FunPtr (GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> IO ())
glDebugMessageInsertFunPtr :: FunPtr
  (GLenum
   -> GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLchar -> IO ())
glDebugMessageInsertFunPtr = IO
  (FunPtr
     (GLenum
      -> GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLchar -> IO ()))
-> FunPtr
     (GLenum
      -> GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLchar -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLchar -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glDebugMessageInsert")

{-# NOINLINE glDebugMessageInsertFunPtr #-}

-- | Usage: @'glDispatchCompute' num_groups_x num_groups_y num_groups_z@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glDispatchCompute.xhtml>


glDispatchCompute :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()
glDispatchCompute :: GLenum -> GLenum -> GLenum -> m ()
glDispatchCompute = FunPtr (GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> m ()
ffiuintuintuintIOV FunPtr (GLenum -> GLenum -> GLenum -> IO ())
glDispatchComputeFunPtr

glDispatchComputeFunPtr :: FunPtr (GLuint -> GLuint -> GLuint -> IO ())
glDispatchComputeFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> IO ())
glDispatchComputeFunPtr = IO (FunPtr (GLenum -> GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glDispatchCompute")

{-# NOINLINE glDispatchComputeFunPtr #-}

-- | Usage: @'glDispatchComputeIndirect' indirect@
--
-- The parameter @indirect@ is a @BufferOffset@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glDispatchComputeIndirect.xhtml>


glDispatchComputeIndirect :: MonadIO m => GLintptr -> m ()
glDispatchComputeIndirect :: GLintptr -> m ()
glDispatchComputeIndirect = FunPtr (GLintptr -> IO ()) -> GLintptr -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLintptr -> IO ()) -> GLintptr -> m ()
ffiintptrIOV FunPtr (GLintptr -> IO ())
glDispatchComputeIndirectFunPtr

glDispatchComputeIndirectFunPtr :: FunPtr (GLintptr -> IO ())
glDispatchComputeIndirectFunPtr :: FunPtr (GLintptr -> IO ())
glDispatchComputeIndirectFunPtr = IO (FunPtr (GLintptr -> IO ())) -> FunPtr (GLintptr -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLintptr -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glDispatchComputeIndirect")

{-# NOINLINE glDispatchComputeIndirectFunPtr #-}

-- | Usage: @'glFramebufferParameteri' target pname param@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glFramebufferParameteri.xhtml>


glFramebufferParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()
glFramebufferParameteri :: GLenum -> GLenum -> GLsizei -> m ()
glFramebufferParameteri = FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
-> GLenum -> GLenum -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
-> GLenum -> GLenum -> GLsizei -> m ()
ffienumenumintIOV FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
glFramebufferParameteriFunPtr

glFramebufferParameteriFunPtr :: FunPtr (GLenum -> GLenum -> GLint -> IO ())
glFramebufferParameteriFunPtr :: FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
glFramebufferParameteriFunPtr = IO (FunPtr (GLenum -> GLenum -> GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glFramebufferParameteri")

{-# NOINLINE glFramebufferParameteriFunPtr #-}

-- | Usage: @'glGetDebugMessageLog' count bufSize sources types ids severities lengths messageLog@
--
-- The length of @sources@ should be @count@.
--
-- The length of @types@ should be @count@.
--
-- The length of @ids@ should be @count@.
--
-- The length of @severities@ should be @count@.
--
-- The length of @lengths@ should be @count@.
--
-- The length of @messageLog@ should be @bufSize@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glGetDebugMessageLog.xhtml>


glGetDebugMessageLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> Ptr GLenum -> Ptr GLuint -> Ptr GLenum -> Ptr GLsizei -> Ptr GLchar -> m GLuint
glGetDebugMessageLog :: GLenum
-> GLsizei
-> Ptr GLenum
-> Ptr GLenum
-> Ptr GLenum
-> Ptr GLenum
-> Ptr GLsizei
-> Ptr GLchar
-> m GLenum
glGetDebugMessageLog = FunPtr
  (GLenum
   -> GLsizei
   -> Ptr GLenum
   -> Ptr GLenum
   -> Ptr GLenum
   -> Ptr GLenum
   -> Ptr GLsizei
   -> Ptr GLchar
   -> IO GLenum)
-> GLenum
-> GLsizei
-> Ptr GLenum
-> Ptr GLenum
-> Ptr GLenum
-> Ptr GLenum
-> Ptr GLsizei
-> Ptr GLchar
-> m GLenum
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei
   -> Ptr GLenum
   -> Ptr GLenum
   -> Ptr GLenum
   -> Ptr GLenum
   -> Ptr GLsizei
   -> Ptr GLchar
   -> IO GLenum)
-> GLenum
-> GLsizei
-> Ptr GLenum
-> Ptr GLenum
-> Ptr GLenum
-> Ptr GLenum
-> Ptr GLsizei
-> Ptr GLchar
-> m GLenum
ffiuintsizeiPtrenumPtrenumPtruintPtrenumPtrsizeiPtrcharIOuint FunPtr
  (GLenum
   -> GLsizei
   -> Ptr GLenum
   -> Ptr GLenum
   -> Ptr GLenum
   -> Ptr GLenum
   -> Ptr GLsizei
   -> Ptr GLchar
   -> IO GLenum)
glGetDebugMessageLogFunPtr

glGetDebugMessageLogFunPtr :: FunPtr (GLuint -> GLsizei -> Ptr GLenum -> Ptr GLenum -> Ptr GLuint -> Ptr GLenum -> Ptr GLsizei -> Ptr GLchar -> IO GLuint)
glGetDebugMessageLogFunPtr :: FunPtr
  (GLenum
   -> GLsizei
   -> Ptr GLenum
   -> Ptr GLenum
   -> Ptr GLenum
   -> Ptr GLenum
   -> Ptr GLsizei
   -> Ptr GLchar
   -> IO GLenum)
glGetDebugMessageLogFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei
      -> Ptr GLenum
      -> Ptr GLenum
      -> Ptr GLenum
      -> Ptr GLenum
      -> Ptr GLsizei
      -> Ptr GLchar
      -> IO GLenum))
-> FunPtr
     (GLenum
      -> GLsizei
      -> Ptr GLenum
      -> Ptr GLenum
      -> Ptr GLenum
      -> Ptr GLenum
      -> Ptr GLsizei
      -> Ptr GLchar
      -> IO GLenum)
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei
         -> Ptr GLenum
         -> Ptr GLenum
         -> Ptr GLenum
         -> Ptr GLenum
         -> Ptr GLsizei
         -> Ptr GLchar
         -> IO GLenum))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetDebugMessageLog")

{-# NOINLINE glGetDebugMessageLogFunPtr #-}

-- | Usage: @'glGetFramebufferParameteriv' target pname params@
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glGetFramebufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetFramebufferParameteriv :: GLenum -> GLenum -> Ptr GLsizei -> m ()
glGetFramebufferParameteriv = FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
ffienumenumPtrintIOV FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetFramebufferParameterivFunPtr

glGetFramebufferParameterivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
glGetFramebufferParameterivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetFramebufferParameterivFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetFramebufferParameteriv")

{-# NOINLINE glGetFramebufferParameterivFunPtr #-}

-- | Usage: @'glGetInternalformati64v' target internalformat pname bufSize params@
--
-- The length of @params@ should be @bufSize@.


glGetInternalformati64v :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint64 -> m ()
glGetInternalformati64v :: GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint64 -> m ()
glGetInternalformati64v = FunPtr
  (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint64 -> IO ())
-> GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint64 -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint64 -> IO ())
-> GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint64 -> m ()
ffienumenumenumsizeiPtrint64IOV FunPtr
  (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint64 -> IO ())
glGetInternalformati64vFunPtr

glGetInternalformati64vFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint64 -> IO ())
glGetInternalformati64vFunPtr :: FunPtr
  (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint64 -> IO ())
glGetInternalformati64vFunPtr = IO
  (FunPtr
     (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint64 -> IO ()))
-> FunPtr
     (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint64 -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint64 -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetInternalformati64v")

{-# NOINLINE glGetInternalformati64vFunPtr #-}

-- | Usage: @'glGetObjectLabel' identifier name bufSize length label@
--
-- The length of @length@ should be @1@.
--
-- The length of @label@ should be @bufSize@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glGetObjectLabel.xhtml>


glGetObjectLabel :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
glGetObjectLabel :: GLenum -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
glGetObjectLabel = FunPtr
  (GLenum -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-> GLenum -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-> GLenum -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
ffienumuintsizeiPtrsizeiPtrcharIOV FunPtr
  (GLenum -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
glGetObjectLabelFunPtr

glGetObjectLabelFunPtr :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
glGetObjectLabelFunPtr :: FunPtr
  (GLenum -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
glGetObjectLabelFunPtr = IO
  (FunPtr
     (GLenum
      -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()))
-> FunPtr
     (GLenum -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetObjectLabel")

{-# NOINLINE glGetObjectLabelFunPtr #-}

-- | Usage: @'glGetObjectPtrLabel' ptr bufSize length label@
--
-- The length of @length@ should be @1@.
--
-- The length of @label@ should be @bufSize@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glGetObjectPtrLabel.xhtml>


glGetObjectPtrLabel :: MonadIO m => Ptr () -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
glGetObjectPtrLabel :: Ptr () -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
glGetObjectPtrLabel = FunPtr (Ptr () -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-> Ptr () -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr () -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-> Ptr () -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
ffiPtrVsizeiPtrsizeiPtrcharIOV FunPtr (Ptr () -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
glGetObjectPtrLabelFunPtr

glGetObjectPtrLabelFunPtr :: FunPtr (Ptr () -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
glGetObjectPtrLabelFunPtr :: FunPtr (Ptr () -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
glGetObjectPtrLabelFunPtr = IO
  (FunPtr (Ptr () -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()))
-> FunPtr (Ptr () -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (Ptr () -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetObjectPtrLabel")

{-# NOINLINE glGetObjectPtrLabelFunPtr #-}

-- | Usage: @'glGetProgramInterfaceiv' program programInterface pname params@
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glGetProgramInterfaceiv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()
glGetProgramInterfaceiv :: GLenum -> GLenum -> GLenum -> Ptr GLsizei -> m ()
glGetProgramInterfaceiv = FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> GLenum -> Ptr GLsizei -> m ()
ffiuintenumenumPtrintIOV FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetProgramInterfaceivFunPtr

glGetProgramInterfaceivFunPtr :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ())
glGetProgramInterfaceivFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetProgramInterfaceivFunPtr = IO (FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetProgramInterfaceiv")

{-# NOINLINE glGetProgramInterfaceivFunPtr #-}

-- | Usage: @'glGetProgramResourceIndex' program programInterface name@
--
-- The length of @name@ should be @COMPSIZE(name)@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glGetProgramResourceIndex.xhtml>


glGetProgramResourceIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLuint
glGetProgramResourceIndex :: GLenum -> GLenum -> Ptr GLchar -> m GLenum
glGetProgramResourceIndex = FunPtr (GLenum -> GLenum -> Ptr GLchar -> IO GLenum)
-> GLenum -> GLenum -> Ptr GLchar -> m GLenum
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLchar -> IO GLenum)
-> GLenum -> GLenum -> Ptr GLchar -> m GLenum
ffiuintenumPtrcharIOuint FunPtr (GLenum -> GLenum -> Ptr GLchar -> IO GLenum)
glGetProgramResourceIndexFunPtr

glGetProgramResourceIndexFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLchar -> IO GLuint)
glGetProgramResourceIndexFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLchar -> IO GLenum)
glGetProgramResourceIndexFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLchar -> IO GLenum))
-> FunPtr (GLenum -> GLenum -> Ptr GLchar -> IO GLenum)
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLchar -> IO GLenum))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetProgramResourceIndex")

{-# NOINLINE glGetProgramResourceIndexFunPtr #-}

-- | Usage: @'glGetProgramResourceLocation' program programInterface name@
--
-- The length of @name@ should be @COMPSIZE(name)@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glGetProgramResourceLocation.xhtml>


glGetProgramResourceLocation :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint
glGetProgramResourceLocation :: GLenum -> GLenum -> Ptr GLchar -> m GLsizei
glGetProgramResourceLocation = FunPtr (GLenum -> GLenum -> Ptr GLchar -> IO GLsizei)
-> GLenum -> GLenum -> Ptr GLchar -> m GLsizei
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLchar -> IO GLsizei)
-> GLenum -> GLenum -> Ptr GLchar -> m GLsizei
ffiuintenumPtrcharIOint FunPtr (GLenum -> GLenum -> Ptr GLchar -> IO GLsizei)
glGetProgramResourceLocationFunPtr

glGetProgramResourceLocationFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLchar -> IO GLint)
glGetProgramResourceLocationFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLchar -> IO GLsizei)
glGetProgramResourceLocationFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLchar -> IO GLsizei))
-> FunPtr (GLenum -> GLenum -> Ptr GLchar -> IO GLsizei)
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLenum -> Ptr GLchar -> IO GLsizei))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetProgramResourceLocation")

{-# NOINLINE glGetProgramResourceLocationFunPtr #-}

-- | Usage: @'glGetProgramResourceLocationIndex' program programInterface name@
--
-- The length of @name@ should be @COMPSIZE(name)@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glGetProgramResourceLocationIndex.xhtml>


glGetProgramResourceLocationIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint
glGetProgramResourceLocationIndex :: GLenum -> GLenum -> Ptr GLchar -> m GLsizei
glGetProgramResourceLocationIndex = FunPtr (GLenum -> GLenum -> Ptr GLchar -> IO GLsizei)
-> GLenum -> GLenum -> Ptr GLchar -> m GLsizei
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLchar -> IO GLsizei)
-> GLenum -> GLenum -> Ptr GLchar -> m GLsizei
ffiuintenumPtrcharIOint FunPtr (GLenum -> GLenum -> Ptr GLchar -> IO GLsizei)
glGetProgramResourceLocationIndexFunPtr

glGetProgramResourceLocationIndexFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLchar -> IO GLint)
glGetProgramResourceLocationIndexFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLchar -> IO GLsizei)
glGetProgramResourceLocationIndexFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLchar -> IO GLsizei))
-> FunPtr (GLenum -> GLenum -> Ptr GLchar -> IO GLsizei)
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLenum -> Ptr GLchar -> IO GLsizei))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetProgramResourceLocationIndex")

{-# NOINLINE glGetProgramResourceLocationIndexFunPtr #-}

-- | Usage: @'glGetProgramResourceName' program programInterface index bufSize length name@
--
-- The length of @length@ should be @1@.
--
-- The length of @name@ should be @bufSize@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glGetProgramResourceName.xhtml>


glGetProgramResourceName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
glGetProgramResourceName :: GLenum
-> GLenum -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
glGetProgramResourceName = FunPtr
  (GLenum
   -> GLenum
   -> GLenum
   -> GLsizei
   -> Ptr GLsizei
   -> Ptr GLchar
   -> IO ())
-> GLenum
-> GLenum
-> GLenum
-> GLsizei
-> Ptr GLsizei
-> Ptr GLchar
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLenum
   -> GLenum
   -> GLsizei
   -> Ptr GLsizei
   -> Ptr GLchar
   -> IO ())
-> GLenum
-> GLenum
-> GLenum
-> GLsizei
-> Ptr GLsizei
-> Ptr GLchar
-> m ()
ffiuintenumuintsizeiPtrsizeiPtrcharIOV FunPtr
  (GLenum
   -> GLenum
   -> GLenum
   -> GLsizei
   -> Ptr GLsizei
   -> Ptr GLchar
   -> IO ())
glGetProgramResourceNameFunPtr

glGetProgramResourceNameFunPtr :: FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
glGetProgramResourceNameFunPtr :: FunPtr
  (GLenum
   -> GLenum
   -> GLenum
   -> GLsizei
   -> Ptr GLsizei
   -> Ptr GLchar
   -> IO ())
glGetProgramResourceNameFunPtr = IO
  (FunPtr
     (GLenum
      -> GLenum
      -> GLenum
      -> GLsizei
      -> Ptr GLsizei
      -> Ptr GLchar
      -> IO ()))
-> FunPtr
     (GLenum
      -> GLenum
      -> GLenum
      -> GLsizei
      -> Ptr GLsizei
      -> Ptr GLchar
      -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLenum
         -> GLenum
         -> GLsizei
         -> Ptr GLsizei
         -> Ptr GLchar
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetProgramResourceName")

{-# NOINLINE glGetProgramResourceNameFunPtr #-}

-- | Usage: @'glGetProgramResourceiv' program programInterface index propCount props bufSize length params@
--
-- The length of @props@ should be @propCount@.
--
-- The length of @length@ should be @1@.
--
-- The length of @params@ should be @bufSize@.


glGetProgramResourceiv :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()
glGetProgramResourceiv :: GLenum
-> GLenum
-> GLenum
-> GLsizei
-> Ptr GLenum
-> GLsizei
-> Ptr GLsizei
-> Ptr GLsizei
-> m ()
glGetProgramResourceiv = FunPtr
  (GLenum
   -> GLenum
   -> GLenum
   -> GLsizei
   -> Ptr GLenum
   -> GLsizei
   -> Ptr GLsizei
   -> Ptr GLsizei
   -> IO ())
-> GLenum
-> GLenum
-> GLenum
-> GLsizei
-> Ptr GLenum
-> GLsizei
-> Ptr GLsizei
-> Ptr GLsizei
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLenum
   -> GLenum
   -> GLsizei
   -> Ptr GLenum
   -> GLsizei
   -> Ptr GLsizei
   -> Ptr GLsizei
   -> IO ())
-> GLenum
-> GLenum
-> GLenum
-> GLsizei
-> Ptr GLenum
-> GLsizei
-> Ptr GLsizei
-> Ptr GLsizei
-> m ()
ffiuintenumuintsizeiPtrenumsizeiPtrsizeiPtrintIOV FunPtr
  (GLenum
   -> GLenum
   -> GLenum
   -> GLsizei
   -> Ptr GLenum
   -> GLsizei
   -> Ptr GLsizei
   -> Ptr GLsizei
   -> IO ())
glGetProgramResourceivFunPtr

glGetProgramResourceivFunPtr :: FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> IO ())
glGetProgramResourceivFunPtr :: FunPtr
  (GLenum
   -> GLenum
   -> GLenum
   -> GLsizei
   -> Ptr GLenum
   -> GLsizei
   -> Ptr GLsizei
   -> Ptr GLsizei
   -> IO ())
glGetProgramResourceivFunPtr = IO
  (FunPtr
     (GLenum
      -> GLenum
      -> GLenum
      -> GLsizei
      -> Ptr GLenum
      -> GLsizei
      -> Ptr GLsizei
      -> Ptr GLsizei
      -> IO ()))
-> FunPtr
     (GLenum
      -> GLenum
      -> GLenum
      -> GLsizei
      -> Ptr GLenum
      -> GLsizei
      -> Ptr GLsizei
      -> Ptr GLsizei
      -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLenum
         -> GLenum
         -> GLsizei
         -> Ptr GLenum
         -> GLsizei
         -> Ptr GLsizei
         -> Ptr GLsizei
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetProgramResourceiv")

{-# NOINLINE glGetProgramResourceivFunPtr #-}

-- | Usage: @'glInvalidateBufferData' buffer@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glInvalidateBufferData.xhtml>


glInvalidateBufferData :: MonadIO m => GLuint -> m ()
glInvalidateBufferData :: GLenum -> m ()
glInvalidateBufferData = FunPtr (GLenum -> IO ()) -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO ()) -> GLenum -> m ()
ffiuintIOV FunPtr (GLenum -> IO ())
glInvalidateBufferDataFunPtr

glInvalidateBufferDataFunPtr :: FunPtr (GLuint -> IO ())
glInvalidateBufferDataFunPtr :: FunPtr (GLenum -> IO ())
glInvalidateBufferDataFunPtr = IO (FunPtr (GLenum -> IO ())) -> FunPtr (GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glInvalidateBufferData")

{-# NOINLINE glInvalidateBufferDataFunPtr #-}

-- | Usage: @'glInvalidateBufferSubData' buffer offset length@
--
-- The parameter @offset@ is a @BufferOffset@.
--
-- The parameter @length@ is a @BufferSize@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glInvalidateBufferSubData.xhtml>


glInvalidateBufferSubData :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> m ()
glInvalidateBufferSubData :: GLenum -> GLintptr -> GLintptr -> m ()
glInvalidateBufferSubData = FunPtr (GLenum -> GLintptr -> GLintptr -> IO ())
-> GLenum -> GLintptr -> GLintptr -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLintptr -> GLintptr -> IO ())
-> GLenum -> GLintptr -> GLintptr -> m ()
ffiuintintptrsizeiptrIOV FunPtr (GLenum -> GLintptr -> GLintptr -> IO ())
glInvalidateBufferSubDataFunPtr

glInvalidateBufferSubDataFunPtr :: FunPtr (GLuint -> GLintptr -> GLsizeiptr -> IO ())
glInvalidateBufferSubDataFunPtr :: FunPtr (GLenum -> GLintptr -> GLintptr -> IO ())
glInvalidateBufferSubDataFunPtr = IO (FunPtr (GLenum -> GLintptr -> GLintptr -> IO ()))
-> FunPtr (GLenum -> GLintptr -> GLintptr -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLintptr -> GLintptr -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glInvalidateBufferSubData")

{-# NOINLINE glInvalidateBufferSubDataFunPtr #-}

-- | Usage: @'glInvalidateFramebuffer' target numAttachments attachments@
--
-- The length of @attachments@ should be @numAttachments@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glInvalidateFramebuffer.xhtml>


glInvalidateFramebuffer :: MonadIO m => GLenum -> GLsizei -> Ptr GLenum -> m ()
glInvalidateFramebuffer :: GLenum -> GLsizei -> Ptr GLenum -> m ()
glInvalidateFramebuffer = FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
-> GLenum -> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
-> GLenum -> GLsizei -> Ptr GLenum -> m ()
ffienumsizeiPtrenumIOV FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
glInvalidateFramebufferFunPtr

glInvalidateFramebufferFunPtr :: FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
glInvalidateFramebufferFunPtr :: FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
glInvalidateFramebufferFunPtr = IO (FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glInvalidateFramebuffer")

{-# NOINLINE glInvalidateFramebufferFunPtr #-}

-- | Usage: @'glInvalidateSubFramebuffer' target numAttachments attachments x y width height@
--
-- The length of @attachments@ should be @numAttachments@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glInvalidateSubFramebuffer.xhtml>


glInvalidateSubFramebuffer :: MonadIO m => GLenum -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> m ()
glInvalidateSubFramebuffer :: GLenum
-> GLsizei
-> Ptr GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> m ()
glInvalidateSubFramebuffer = FunPtr
  (GLenum
   -> GLsizei
   -> Ptr GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> IO ())
-> GLenum
-> GLsizei
-> Ptr GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei
   -> Ptr GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> IO ())
-> GLenum
-> GLsizei
-> Ptr GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> m ()
ffienumsizeiPtrenumintintsizeisizeiIOV FunPtr
  (GLenum
   -> GLsizei
   -> Ptr GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> IO ())
glInvalidateSubFramebufferFunPtr

glInvalidateSubFramebufferFunPtr :: FunPtr (GLenum -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
glInvalidateSubFramebufferFunPtr :: FunPtr
  (GLenum
   -> GLsizei
   -> Ptr GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> IO ())
glInvalidateSubFramebufferFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei
      -> Ptr GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> IO ()))
-> FunPtr
     (GLenum
      -> GLsizei
      -> Ptr GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei
         -> Ptr GLenum
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glInvalidateSubFramebuffer")

{-# NOINLINE glInvalidateSubFramebufferFunPtr #-}

-- | Usage: @'glInvalidateTexImage' texture level@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glInvalidateTexImage.xhtml>


glInvalidateTexImage :: MonadIO m => GLuint -> GLint -> m ()
glInvalidateTexImage :: GLenum -> GLsizei -> m ()
glInvalidateTexImage = FunPtr (GLenum -> GLsizei -> IO ()) -> GLenum -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> IO ()) -> GLenum -> GLsizei -> m ()
ffiuintintIOV FunPtr (GLenum -> GLsizei -> IO ())
glInvalidateTexImageFunPtr

glInvalidateTexImageFunPtr :: FunPtr (GLuint -> GLint -> IO ())
glInvalidateTexImageFunPtr :: FunPtr (GLenum -> GLsizei -> IO ())
glInvalidateTexImageFunPtr = IO (FunPtr (GLenum -> GLsizei -> IO ()))
-> FunPtr (GLenum -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glInvalidateTexImage")

{-# NOINLINE glInvalidateTexImageFunPtr #-}

-- | Usage: @'glInvalidateTexSubImage' texture level xoffset yoffset zoffset width height depth@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glInvalidateTexSubImage.xhtml>


glInvalidateTexSubImage :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> m ()
glInvalidateTexSubImage :: GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> m ()
glInvalidateTexSubImage = FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> m ()
ffiuintintintintintsizeisizeisizeiIOV FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> IO ())
glInvalidateTexSubImageFunPtr

glInvalidateTexSubImageFunPtr :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> IO ())
glInvalidateTexSubImageFunPtr :: FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> IO ())
glInvalidateTexSubImageFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> IO ()))
-> FunPtr
     (GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glInvalidateTexSubImage")

{-# NOINLINE glInvalidateTexSubImageFunPtr #-}

-- | Usage: @'glMultiDrawArraysIndirect' mode indirect drawcount stride@
--
-- The length of @indirect@ should be @COMPSIZE(drawcount,stride)@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glMultiDrawArraysIndirect.xhtml>


glMultiDrawArraysIndirect :: MonadIO m => GLenum -> Ptr () -> GLsizei -> GLsizei -> m ()
glMultiDrawArraysIndirect :: GLenum -> Ptr () -> GLsizei -> GLsizei -> m ()
glMultiDrawArraysIndirect = FunPtr (GLenum -> Ptr () -> GLsizei -> GLsizei -> IO ())
-> GLenum -> Ptr () -> GLsizei -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr () -> GLsizei -> GLsizei -> IO ())
-> GLenum -> Ptr () -> GLsizei -> GLsizei -> m ()
ffienumPtrVsizeisizeiIOV FunPtr (GLenum -> Ptr () -> GLsizei -> GLsizei -> IO ())
glMultiDrawArraysIndirectFunPtr

glMultiDrawArraysIndirectFunPtr :: FunPtr (GLenum -> Ptr () -> GLsizei -> GLsizei -> IO ())
glMultiDrawArraysIndirectFunPtr :: FunPtr (GLenum -> Ptr () -> GLsizei -> GLsizei -> IO ())
glMultiDrawArraysIndirectFunPtr = IO (FunPtr (GLenum -> Ptr () -> GLsizei -> GLsizei -> IO ()))
-> FunPtr (GLenum -> Ptr () -> GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> Ptr () -> GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMultiDrawArraysIndirect")

{-# NOINLINE glMultiDrawArraysIndirectFunPtr #-}

-- | Usage: @'glMultiDrawElementsIndirect' mode type indirect drawcount stride@
--
-- The length of @indirect@ should be @COMPSIZE(drawcount,stride)@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glMultiDrawElementsIndirect.xhtml>


glMultiDrawElementsIndirect :: MonadIO m => GLenum -> GLenum -> Ptr () -> GLsizei -> GLsizei -> m ()
glMultiDrawElementsIndirect :: GLenum -> GLenum -> Ptr () -> GLsizei -> GLsizei -> m ()
glMultiDrawElementsIndirect = FunPtr (GLenum -> GLenum -> Ptr () -> GLsizei -> GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr () -> GLsizei -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr () -> GLsizei -> GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr () -> GLsizei -> GLsizei -> m ()
ffienumenumPtrVsizeisizeiIOV FunPtr (GLenum -> GLenum -> Ptr () -> GLsizei -> GLsizei -> IO ())
glMultiDrawElementsIndirectFunPtr

glMultiDrawElementsIndirectFunPtr :: FunPtr (GLenum -> GLenum -> Ptr () -> GLsizei -> GLsizei -> IO ())
glMultiDrawElementsIndirectFunPtr :: FunPtr (GLenum -> GLenum -> Ptr () -> GLsizei -> GLsizei -> IO ())
glMultiDrawElementsIndirectFunPtr = IO
  (FunPtr
     (GLenum -> GLenum -> Ptr () -> GLsizei -> GLsizei -> IO ()))
-> FunPtr
     (GLenum -> GLenum -> Ptr () -> GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum -> GLenum -> Ptr () -> GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMultiDrawElementsIndirect")

{-# NOINLINE glMultiDrawElementsIndirectFunPtr #-}

-- | Usage: @'glObjectLabel' identifier name length label@
--
-- The length of @label@ should be @COMPSIZE(label,length)@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glObjectLabel.xhtml>


glObjectLabel :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLchar -> m ()
glObjectLabel :: GLenum -> GLenum -> GLsizei -> Ptr GLchar -> m ()
glObjectLabel = FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLchar -> IO ())
-> GLenum -> GLenum -> GLsizei -> Ptr GLchar -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLchar -> IO ())
-> GLenum -> GLenum -> GLsizei -> Ptr GLchar -> m ()
ffienumuintsizeiPtrcharIOV FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLchar -> IO ())
glObjectLabelFunPtr

glObjectLabelFunPtr :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLchar -> IO ())
glObjectLabelFunPtr :: FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLchar -> IO ())
glObjectLabelFunPtr = IO (FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLchar -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLchar -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLchar -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glObjectLabel")

{-# NOINLINE glObjectLabelFunPtr #-}

-- | Usage: @'glObjectPtrLabel' ptr length label@
--
-- The length of @label@ should be @COMPSIZE(label,length)@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glObjectPtrLabel.xhtml>


glObjectPtrLabel :: MonadIO m => Ptr () -> GLsizei -> Ptr GLchar -> m ()
glObjectPtrLabel :: Ptr () -> GLsizei -> Ptr GLchar -> m ()
glObjectPtrLabel = FunPtr (Ptr () -> GLsizei -> Ptr GLchar -> IO ())
-> Ptr () -> GLsizei -> Ptr GLchar -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr () -> GLsizei -> Ptr GLchar -> IO ())
-> Ptr () -> GLsizei -> Ptr GLchar -> m ()
ffiPtrVsizeiPtrcharIOV FunPtr (Ptr () -> GLsizei -> Ptr GLchar -> IO ())
glObjectPtrLabelFunPtr

glObjectPtrLabelFunPtr :: FunPtr (Ptr () -> GLsizei -> Ptr GLchar -> IO ())
glObjectPtrLabelFunPtr :: FunPtr (Ptr () -> GLsizei -> Ptr GLchar -> IO ())
glObjectPtrLabelFunPtr = IO (FunPtr (Ptr () -> GLsizei -> Ptr GLchar -> IO ()))
-> FunPtr (Ptr () -> GLsizei -> Ptr GLchar -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (Ptr () -> GLsizei -> Ptr GLchar -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glObjectPtrLabel")

{-# NOINLINE glObjectPtrLabelFunPtr #-}

-- | Usage: @'glPopDebugGroup'@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glPopDebugGroup.xhtml>


glPopDebugGroup :: MonadIO m => m ()
glPopDebugGroup :: m ()
glPopDebugGroup = FunPtr (IO ()) -> m ()
forall (m :: * -> *). MonadIO m => FunPtr (IO ()) -> m ()
ffiIOV FunPtr (IO ())
glPopDebugGroupFunPtr

glPopDebugGroupFunPtr :: FunPtr (IO ())
glPopDebugGroupFunPtr :: FunPtr (IO ())
glPopDebugGroupFunPtr = IO (FunPtr (IO ())) -> FunPtr (IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glPopDebugGroup")

{-# NOINLINE glPopDebugGroupFunPtr #-}

-- | Usage: @'glPushDebugGroup' source id length message@
--
-- The length of @message@ should be @COMPSIZE(message,length)@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glPushDebugGroup.xhtml>


glPushDebugGroup :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLchar -> m ()
glPushDebugGroup :: GLenum -> GLenum -> GLsizei -> Ptr GLchar -> m ()
glPushDebugGroup = FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLchar -> IO ())
-> GLenum -> GLenum -> GLsizei -> Ptr GLchar -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLchar -> IO ())
-> GLenum -> GLenum -> GLsizei -> Ptr GLchar -> m ()
ffienumuintsizeiPtrcharIOV FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLchar -> IO ())
glPushDebugGroupFunPtr

glPushDebugGroupFunPtr :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLchar -> IO ())
glPushDebugGroupFunPtr :: FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLchar -> IO ())
glPushDebugGroupFunPtr = IO (FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLchar -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLchar -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLchar -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glPushDebugGroup")

{-# NOINLINE glPushDebugGroupFunPtr #-}

-- | Usage: @'glShaderStorageBlockBinding' program storageBlockIndex storageBlockBinding@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glShaderStorageBlockBinding.xhtml>


glShaderStorageBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()
glShaderStorageBlockBinding :: GLenum -> GLenum -> GLenum -> m ()
glShaderStorageBlockBinding = FunPtr (GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> m ()
ffiuintuintuintIOV FunPtr (GLenum -> GLenum -> GLenum -> IO ())
glShaderStorageBlockBindingFunPtr

glShaderStorageBlockBindingFunPtr :: FunPtr (GLuint -> GLuint -> GLuint -> IO ())
glShaderStorageBlockBindingFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> IO ())
glShaderStorageBlockBindingFunPtr = IO (FunPtr (GLenum -> GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glShaderStorageBlockBinding")

{-# NOINLINE glShaderStorageBlockBindingFunPtr #-}

-- | Usage: @'glTexBufferRange' target internalformat buffer offset size@
--
-- The parameter @offset@ is a @BufferOffset@.
--
-- The parameter @size@ is a @BufferSize@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glTexBufferRange.xhtml>


glTexBufferRange :: MonadIO m => GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> m ()
glTexBufferRange :: GLenum -> GLenum -> GLenum -> GLintptr -> GLintptr -> m ()
glTexBufferRange = FunPtr
  (GLenum -> GLenum -> GLenum -> GLintptr -> GLintptr -> IO ())
-> GLenum -> GLenum -> GLenum -> GLintptr -> GLintptr -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum -> GLenum -> GLenum -> GLintptr -> GLintptr -> IO ())
-> GLenum -> GLenum -> GLenum -> GLintptr -> GLintptr -> m ()
ffienumenumuintintptrsizeiptrIOV FunPtr
  (GLenum -> GLenum -> GLenum -> GLintptr -> GLintptr -> IO ())
glTexBufferRangeFunPtr

glTexBufferRangeFunPtr :: FunPtr (GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> IO ())
glTexBufferRangeFunPtr :: FunPtr
  (GLenum -> GLenum -> GLenum -> GLintptr -> GLintptr -> IO ())
glTexBufferRangeFunPtr = IO
  (FunPtr
     (GLenum -> GLenum -> GLenum -> GLintptr -> GLintptr -> IO ()))
-> FunPtr
     (GLenum -> GLenum -> GLenum -> GLintptr -> GLintptr -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum -> GLenum -> GLenum -> GLintptr -> GLintptr -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexBufferRange")

{-# NOINLINE glTexBufferRangeFunPtr #-}

-- | Usage: @'glTexStorage2DMultisample' target samples internalformat width height fixedsamplelocations@
--
-- The parameter @fixedsamplelocations@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glTexStorage2DMultisample.xhtml>


glTexStorage2DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()
glTexStorage2DMultisample :: GLenum
-> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()
glTexStorage2DMultisample = FunPtr
  (GLenum
   -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ())
-> GLenum
-> GLsizei
-> GLenum
-> GLsizei
-> GLsizei
-> GLboolean
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ())
-> GLenum
-> GLsizei
-> GLenum
-> GLsizei
-> GLsizei
-> GLboolean
-> m ()
ffienumsizeienumsizeisizeibooleanIOV FunPtr
  (GLenum
   -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ())
glTexStorage2DMultisampleFunPtr

glTexStorage2DMultisampleFunPtr :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ())
glTexStorage2DMultisampleFunPtr :: FunPtr
  (GLenum
   -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ())
glTexStorage2DMultisampleFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ()))
-> FunPtr
     (GLenum
      -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexStorage2DMultisample")

{-# NOINLINE glTexStorage2DMultisampleFunPtr #-}

-- | Usage: @'glTexStorage3DMultisample' target samples internalformat width height depth fixedsamplelocations@
--
-- The parameter @fixedsamplelocations@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glTexStorage3DMultisample.xhtml>


glTexStorage3DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()
glTexStorage3DMultisample :: GLenum
-> GLsizei
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLboolean
-> m ()
glTexStorage3DMultisample = FunPtr
  (GLenum
   -> GLsizei
   -> GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLboolean
   -> IO ())
-> GLenum
-> GLsizei
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLboolean
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei
   -> GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLboolean
   -> IO ())
-> GLenum
-> GLsizei
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLboolean
-> m ()
ffienumsizeienumsizeisizeisizeibooleanIOV FunPtr
  (GLenum
   -> GLsizei
   -> GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLboolean
   -> IO ())
glTexStorage3DMultisampleFunPtr

glTexStorage3DMultisampleFunPtr :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
glTexStorage3DMultisampleFunPtr :: FunPtr
  (GLenum
   -> GLsizei
   -> GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLboolean
   -> IO ())
glTexStorage3DMultisampleFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei
      -> GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLboolean
      -> IO ()))
-> FunPtr
     (GLenum
      -> GLsizei
      -> GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLboolean
      -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei
         -> GLenum
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLboolean
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexStorage3DMultisample")

{-# NOINLINE glTexStorage3DMultisampleFunPtr #-}

-- | Usage: @'glTextureView' texture target origtexture internalformat minlevel numlevels minlayer numlayers@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glTextureView.xhtml>


glTextureView :: MonadIO m => GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
glTextureView :: GLenum
-> GLenum
-> GLenum
-> GLenum
-> GLenum
-> GLenum
-> GLenum
-> GLenum
-> m ()
glTextureView = FunPtr
  (GLenum
   -> GLenum
   -> GLenum
   -> GLenum
   -> GLenum
   -> GLenum
   -> GLenum
   -> GLenum
   -> IO ())
-> GLenum
-> GLenum
-> GLenum
-> GLenum
-> GLenum
-> GLenum
-> GLenum
-> GLenum
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLenum
   -> GLenum
   -> GLenum
   -> GLenum
   -> GLenum
   -> GLenum
   -> GLenum
   -> IO ())
-> GLenum
-> GLenum
-> GLenum
-> GLenum
-> GLenum
-> GLenum
-> GLenum
-> GLenum
-> m ()
ffiuintenumuintenumuintuintuintuintIOV FunPtr
  (GLenum
   -> GLenum
   -> GLenum
   -> GLenum
   -> GLenum
   -> GLenum
   -> GLenum
   -> GLenum
   -> IO ())
glTextureViewFunPtr

glTextureViewFunPtr :: FunPtr (GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
glTextureViewFunPtr :: FunPtr
  (GLenum
   -> GLenum
   -> GLenum
   -> GLenum
   -> GLenum
   -> GLenum
   -> GLenum
   -> GLenum
   -> IO ())
glTextureViewFunPtr = IO
  (FunPtr
     (GLenum
      -> GLenum
      -> GLenum
      -> GLenum
      -> GLenum
      -> GLenum
      -> GLenum
      -> GLenum
      -> IO ()))
-> FunPtr
     (GLenum
      -> GLenum
      -> GLenum
      -> GLenum
      -> GLenum
      -> GLenum
      -> GLenum
      -> GLenum
      -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLenum
         -> GLenum
         -> GLenum
         -> GLenum
         -> GLenum
         -> GLenum
         -> GLenum
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTextureView")

{-# NOINLINE glTextureViewFunPtr #-}

-- | Usage: @'glVertexAttribBinding' attribindex bindingindex@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glVertexAttribBinding.xhtml>


glVertexAttribBinding :: MonadIO m => GLuint -> GLuint -> m ()
glVertexAttribBinding :: GLenum -> GLenum -> m ()
glVertexAttribBinding = FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
ffiuintuintIOV FunPtr (GLenum -> GLenum -> IO ())
glVertexAttribBindingFunPtr

glVertexAttribBindingFunPtr :: FunPtr (GLuint -> GLuint -> IO ())
glVertexAttribBindingFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glVertexAttribBindingFunPtr = IO (FunPtr (GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttribBinding")

{-# NOINLINE glVertexAttribBindingFunPtr #-}

-- | Usage: @'glVertexAttribFormat' attribindex size type normalized relativeoffset@
--
-- The parameter @normalized@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glVertexAttribFormat.xhtml>


glVertexAttribFormat :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribFormat :: GLenum -> GLsizei -> GLenum -> GLboolean -> GLenum -> m ()
glVertexAttribFormat = FunPtr
  (GLenum -> GLsizei -> GLenum -> GLboolean -> GLenum -> IO ())
-> GLenum -> GLsizei -> GLenum -> GLboolean -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum -> GLsizei -> GLenum -> GLboolean -> GLenum -> IO ())
-> GLenum -> GLsizei -> GLenum -> GLboolean -> GLenum -> m ()
ffiuintintenumbooleanuintIOV FunPtr
  (GLenum -> GLsizei -> GLenum -> GLboolean -> GLenum -> IO ())
glVertexAttribFormatFunPtr

glVertexAttribFormatFunPtr :: FunPtr (GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> IO ())
glVertexAttribFormatFunPtr :: FunPtr
  (GLenum -> GLsizei -> GLenum -> GLboolean -> GLenum -> IO ())
glVertexAttribFormatFunPtr = IO
  (FunPtr
     (GLenum -> GLsizei -> GLenum -> GLboolean -> GLenum -> IO ()))
-> FunPtr
     (GLenum -> GLsizei -> GLenum -> GLboolean -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum -> GLsizei -> GLenum -> GLboolean -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttribFormat")

{-# NOINLINE glVertexAttribFormatFunPtr #-}

-- | Usage: @'glVertexAttribIFormat' attribindex size type relativeoffset@


glVertexAttribIFormat :: MonadIO m => GLuint -> GLint -> GLenum -> GLuint -> m ()
glVertexAttribIFormat :: GLenum -> GLsizei -> GLenum -> GLenum -> m ()
glVertexAttribIFormat = FunPtr (GLenum -> GLsizei -> GLenum -> GLenum -> IO ())
-> GLenum -> GLsizei -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLenum -> GLenum -> IO ())
-> GLenum -> GLsizei -> GLenum -> GLenum -> m ()
ffiuintintenumuintIOV FunPtr (GLenum -> GLsizei -> GLenum -> GLenum -> IO ())
glVertexAttribIFormatFunPtr

glVertexAttribIFormatFunPtr :: FunPtr (GLuint -> GLint -> GLenum -> GLuint -> IO ())
glVertexAttribIFormatFunPtr :: FunPtr (GLenum -> GLsizei -> GLenum -> GLenum -> IO ())
glVertexAttribIFormatFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLsizei -> GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttribIFormat")

{-# NOINLINE glVertexAttribIFormatFunPtr #-}

-- | Usage: @'glVertexAttribLFormat' attribindex size type relativeoffset@


glVertexAttribLFormat :: MonadIO m => GLuint -> GLint -> GLenum -> GLuint -> m ()
glVertexAttribLFormat :: GLenum -> GLsizei -> GLenum -> GLenum -> m ()
glVertexAttribLFormat = FunPtr (GLenum -> GLsizei -> GLenum -> GLenum -> IO ())
-> GLenum -> GLsizei -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLenum -> GLenum -> IO ())
-> GLenum -> GLsizei -> GLenum -> GLenum -> m ()
ffiuintintenumuintIOV FunPtr (GLenum -> GLsizei -> GLenum -> GLenum -> IO ())
glVertexAttribLFormatFunPtr

glVertexAttribLFormatFunPtr :: FunPtr (GLuint -> GLint -> GLenum -> GLuint -> IO ())
glVertexAttribLFormatFunPtr :: FunPtr (GLenum -> GLsizei -> GLenum -> GLenum -> IO ())
glVertexAttribLFormatFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLsizei -> GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttribLFormat")

{-# NOINLINE glVertexAttribLFormatFunPtr #-}

-- | Usage: @'glVertexBindingDivisor' bindingindex divisor@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glVertexBindingDivisor.xhtml>


glVertexBindingDivisor :: MonadIO m => GLuint -> GLuint -> m ()
glVertexBindingDivisor :: GLenum -> GLenum -> m ()
glVertexBindingDivisor = FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
ffiuintuintIOV FunPtr (GLenum -> GLenum -> IO ())
glVertexBindingDivisorFunPtr

glVertexBindingDivisorFunPtr :: FunPtr (GLuint -> GLuint -> IO ())
glVertexBindingDivisorFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glVertexBindingDivisorFunPtr = IO (FunPtr (GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexBindingDivisor")

{-# NOINLINE glVertexBindingDivisorFunPtr #-}

pattern $bGL_ACTIVE_RESOURCES :: a
$mGL_ACTIVE_RESOURCES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ACTIVE_RESOURCES = 0x92F5

pattern $bGL_ACTIVE_VARIABLES :: a
$mGL_ACTIVE_VARIABLES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ACTIVE_VARIABLES = 0x9305

pattern $bGL_ANY_SAMPLES_PASSED_CONSERVATIVE :: a
$mGL_ANY_SAMPLES_PASSED_CONSERVATIVE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ANY_SAMPLES_PASSED_CONSERVATIVE = 0x8D6A

pattern $bGL_ARRAY_SIZE :: a
$mGL_ARRAY_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ARRAY_SIZE = 0x92FB

pattern $bGL_ARRAY_STRIDE :: a
$mGL_ARRAY_STRIDE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ARRAY_STRIDE = 0x92FE

pattern $bGL_ATOMIC_COUNTER_BUFFER_INDEX :: a
$mGL_ATOMIC_COUNTER_BUFFER_INDEX :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ATOMIC_COUNTER_BUFFER_INDEX = 0x9301

pattern $bGL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER :: a
$mGL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER = 0x90ED

pattern $bGL_AUTO_GENERATE_MIPMAP :: a
$mGL_AUTO_GENERATE_MIPMAP :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_AUTO_GENERATE_MIPMAP = 0x8295

pattern $bGL_BLOCK_INDEX :: a
$mGL_BLOCK_INDEX :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_BLOCK_INDEX = 0x92FD

pattern $bGL_BUFFER :: a
$mGL_BUFFER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_BUFFER = 0x82E0

pattern $bGL_BUFFER_BINDING :: a
$mGL_BUFFER_BINDING :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_BUFFER_BINDING = 0x9302

pattern $bGL_BUFFER_DATA_SIZE :: a
$mGL_BUFFER_DATA_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_BUFFER_DATA_SIZE = 0x9303

pattern $bGL_BUFFER_VARIABLE :: a
$mGL_BUFFER_VARIABLE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_BUFFER_VARIABLE = 0x92E5

pattern $bGL_CAVEAT_SUPPORT :: a
$mGL_CAVEAT_SUPPORT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CAVEAT_SUPPORT = 0x82B8

pattern $bGL_CLEAR_BUFFER :: a
$mGL_CLEAR_BUFFER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CLEAR_BUFFER = 0x82B4

pattern $bGL_COLOR_COMPONENTS :: a
$mGL_COLOR_COMPONENTS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_COMPONENTS = 0x8283

pattern $bGL_COLOR_ENCODING :: a
$mGL_COLOR_ENCODING :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ENCODING = 0x8296

pattern $bGL_COLOR_RENDERABLE :: a
$mGL_COLOR_RENDERABLE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_RENDERABLE = 0x8286

pattern $bGL_COMPRESSED_R11_EAC :: a
$mGL_COMPRESSED_R11_EAC :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPRESSED_R11_EAC = 0x9270

pattern $bGL_COMPRESSED_RG11_EAC :: a
$mGL_COMPRESSED_RG11_EAC :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPRESSED_RG11_EAC = 0x9272

pattern $bGL_COMPRESSED_RGB8_ETC2 :: a
$mGL_COMPRESSED_RGB8_ETC2 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPRESSED_RGB8_ETC2 = 0x9274

pattern $bGL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 :: a
$mGL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9276

pattern $bGL_COMPRESSED_RGBA8_ETC2_EAC :: a
$mGL_COMPRESSED_RGBA8_ETC2_EAC :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPRESSED_RGBA8_ETC2_EAC = 0x9278

pattern $bGL_COMPRESSED_SIGNED_R11_EAC :: a
$mGL_COMPRESSED_SIGNED_R11_EAC :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPRESSED_SIGNED_R11_EAC = 0x9271

pattern $bGL_COMPRESSED_SIGNED_RG11_EAC :: a
$mGL_COMPRESSED_SIGNED_RG11_EAC :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPRESSED_SIGNED_RG11_EAC = 0x9273

pattern $bGL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC :: a
$mGL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC = 0x9279

pattern $bGL_COMPRESSED_SRGB8_ETC2 :: a
$mGL_COMPRESSED_SRGB8_ETC2 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPRESSED_SRGB8_ETC2 = 0x9275

pattern $bGL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 :: a
$mGL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9277

pattern $bGL_COMPUTE_SHADER :: a
$mGL_COMPUTE_SHADER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPUTE_SHADER = 0x91B9

pattern $bGL_COMPUTE_SHADER_BIT :: a
$mGL_COMPUTE_SHADER_BIT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPUTE_SHADER_BIT = 0x00000020

pattern $bGL_COMPUTE_SUBROUTINE :: a
$mGL_COMPUTE_SUBROUTINE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPUTE_SUBROUTINE = 0x92ED

pattern $bGL_COMPUTE_SUBROUTINE_UNIFORM :: a
$mGL_COMPUTE_SUBROUTINE_UNIFORM :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPUTE_SUBROUTINE_UNIFORM = 0x92F3

pattern $bGL_COMPUTE_TEXTURE :: a
$mGL_COMPUTE_TEXTURE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPUTE_TEXTURE = 0x82A0

pattern $bGL_COMPUTE_WORK_GROUP_SIZE :: a
$mGL_COMPUTE_WORK_GROUP_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPUTE_WORK_GROUP_SIZE = 0x8267

pattern $bGL_CONTEXT_FLAG_DEBUG_BIT :: a
$mGL_CONTEXT_FLAG_DEBUG_BIT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CONTEXT_FLAG_DEBUG_BIT = 0x00000002

pattern $bGL_DEBUG_CALLBACK_FUNCTION :: a
$mGL_DEBUG_CALLBACK_FUNCTION :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DEBUG_CALLBACK_FUNCTION = 0x8244

pattern $bGL_DEBUG_CALLBACK_USER_PARAM :: a
$mGL_DEBUG_CALLBACK_USER_PARAM :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DEBUG_CALLBACK_USER_PARAM = 0x8245

pattern $bGL_DEBUG_GROUP_STACK_DEPTH :: a
$mGL_DEBUG_GROUP_STACK_DEPTH :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DEBUG_GROUP_STACK_DEPTH = 0x826D

pattern $bGL_DEBUG_LOGGED_MESSAGES :: a
$mGL_DEBUG_LOGGED_MESSAGES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DEBUG_LOGGED_MESSAGES = 0x9145

pattern $bGL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH :: a
$mGL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH = 0x8243

pattern $bGL_DEBUG_OUTPUT :: a
$mGL_DEBUG_OUTPUT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DEBUG_OUTPUT = 0x92E0

pattern $bGL_DEBUG_OUTPUT_SYNCHRONOUS :: a
$mGL_DEBUG_OUTPUT_SYNCHRONOUS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DEBUG_OUTPUT_SYNCHRONOUS = 0x8242

pattern $bGL_DEBUG_SEVERITY_HIGH :: a
$mGL_DEBUG_SEVERITY_HIGH :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DEBUG_SEVERITY_HIGH = 0x9146

pattern $bGL_DEBUG_SEVERITY_LOW :: a
$mGL_DEBUG_SEVERITY_LOW :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DEBUG_SEVERITY_LOW = 0x9148

pattern $bGL_DEBUG_SEVERITY_MEDIUM :: a
$mGL_DEBUG_SEVERITY_MEDIUM :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DEBUG_SEVERITY_MEDIUM = 0x9147

pattern $bGL_DEBUG_SEVERITY_NOTIFICATION :: a
$mGL_DEBUG_SEVERITY_NOTIFICATION :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DEBUG_SEVERITY_NOTIFICATION = 0x826B

pattern $bGL_DEBUG_SOURCE_API :: a
$mGL_DEBUG_SOURCE_API :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DEBUG_SOURCE_API = 0x8246

pattern $bGL_DEBUG_SOURCE_APPLICATION :: a
$mGL_DEBUG_SOURCE_APPLICATION :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DEBUG_SOURCE_APPLICATION = 0x824A

pattern $bGL_DEBUG_SOURCE_OTHER :: a
$mGL_DEBUG_SOURCE_OTHER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DEBUG_SOURCE_OTHER = 0x824B

pattern $bGL_DEBUG_SOURCE_SHADER_COMPILER :: a
$mGL_DEBUG_SOURCE_SHADER_COMPILER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DEBUG_SOURCE_SHADER_COMPILER = 0x8248

pattern $bGL_DEBUG_SOURCE_THIRD_PARTY :: a
$mGL_DEBUG_SOURCE_THIRD_PARTY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DEBUG_SOURCE_THIRD_PARTY = 0x8249

pattern $bGL_DEBUG_SOURCE_WINDOW_SYSTEM :: a
$mGL_DEBUG_SOURCE_WINDOW_SYSTEM :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DEBUG_SOURCE_WINDOW_SYSTEM = 0x8247

pattern $bGL_DEBUG_TYPE_DEPRECATED_BEHAVIOR :: a
$mGL_DEBUG_TYPE_DEPRECATED_BEHAVIOR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR = 0x824D

pattern $bGL_DEBUG_TYPE_ERROR :: a
$mGL_DEBUG_TYPE_ERROR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DEBUG_TYPE_ERROR = 0x824C

pattern $bGL_DEBUG_TYPE_MARKER :: a
$mGL_DEBUG_TYPE_MARKER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DEBUG_TYPE_MARKER = 0x8268

pattern $bGL_DEBUG_TYPE_OTHER :: a
$mGL_DEBUG_TYPE_OTHER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DEBUG_TYPE_OTHER = 0x8251

pattern $bGL_DEBUG_TYPE_PERFORMANCE :: a
$mGL_DEBUG_TYPE_PERFORMANCE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DEBUG_TYPE_PERFORMANCE = 0x8250

pattern $bGL_DEBUG_TYPE_POP_GROUP :: a
$mGL_DEBUG_TYPE_POP_GROUP :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DEBUG_TYPE_POP_GROUP = 0x826A

pattern $bGL_DEBUG_TYPE_PORTABILITY :: a
$mGL_DEBUG_TYPE_PORTABILITY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DEBUG_TYPE_PORTABILITY = 0x824F

pattern $bGL_DEBUG_TYPE_PUSH_GROUP :: a
$mGL_DEBUG_TYPE_PUSH_GROUP :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DEBUG_TYPE_PUSH_GROUP = 0x8269

pattern $bGL_DEBUG_TYPE_UNDEFINED_BEHAVIOR :: a
$mGL_DEBUG_TYPE_UNDEFINED_BEHAVIOR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR = 0x824E

pattern $bGL_DEPTH_COMPONENTS :: a
$mGL_DEPTH_COMPONENTS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DEPTH_COMPONENTS = 0x8284

pattern $bGL_DEPTH_RENDERABLE :: a
$mGL_DEPTH_RENDERABLE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DEPTH_RENDERABLE = 0x8287

pattern $bGL_DEPTH_STENCIL_TEXTURE_MODE :: a
$mGL_DEPTH_STENCIL_TEXTURE_MODE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DEPTH_STENCIL_TEXTURE_MODE = 0x90EA

pattern $bGL_DISPATCH_INDIRECT_BUFFER :: a
$mGL_DISPATCH_INDIRECT_BUFFER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DISPATCH_INDIRECT_BUFFER = 0x90EE

pattern $bGL_DISPATCH_INDIRECT_BUFFER_BINDING :: a
$mGL_DISPATCH_INDIRECT_BUFFER_BINDING :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DISPATCH_INDIRECT_BUFFER_BINDING = 0x90EF

pattern $bGL_FILTER :: a
$mGL_FILTER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FILTER = 0x829A

pattern $bGL_FRAGMENT_SUBROUTINE :: a
$mGL_FRAGMENT_SUBROUTINE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAGMENT_SUBROUTINE = 0x92EC

pattern $bGL_FRAGMENT_SUBROUTINE_UNIFORM :: a
$mGL_FRAGMENT_SUBROUTINE_UNIFORM :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAGMENT_SUBROUTINE_UNIFORM = 0x92F2

pattern $bGL_FRAGMENT_TEXTURE :: a
$mGL_FRAGMENT_TEXTURE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAGMENT_TEXTURE = 0x829F

pattern $bGL_FRAMEBUFFER_BLEND :: a
$mGL_FRAMEBUFFER_BLEND :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAMEBUFFER_BLEND = 0x828B

pattern $bGL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS :: a
$mGL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS = 0x9314

pattern $bGL_FRAMEBUFFER_DEFAULT_HEIGHT :: a
$mGL_FRAMEBUFFER_DEFAULT_HEIGHT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAMEBUFFER_DEFAULT_HEIGHT = 0x9311

pattern $bGL_FRAMEBUFFER_DEFAULT_LAYERS :: a
$mGL_FRAMEBUFFER_DEFAULT_LAYERS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAMEBUFFER_DEFAULT_LAYERS = 0x9312

pattern $bGL_FRAMEBUFFER_DEFAULT_SAMPLES :: a
$mGL_FRAMEBUFFER_DEFAULT_SAMPLES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAMEBUFFER_DEFAULT_SAMPLES = 0x9313

pattern $bGL_FRAMEBUFFER_DEFAULT_WIDTH :: a
$mGL_FRAMEBUFFER_DEFAULT_WIDTH :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAMEBUFFER_DEFAULT_WIDTH = 0x9310

pattern $bGL_FRAMEBUFFER_RENDERABLE :: a
$mGL_FRAMEBUFFER_RENDERABLE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAMEBUFFER_RENDERABLE = 0x8289

pattern $bGL_FRAMEBUFFER_RENDERABLE_LAYERED :: a
$mGL_FRAMEBUFFER_RENDERABLE_LAYERED :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAMEBUFFER_RENDERABLE_LAYERED = 0x828A

pattern $bGL_FULL_SUPPORT :: a
$mGL_FULL_SUPPORT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FULL_SUPPORT = 0x82B7

pattern $bGL_GEOMETRY_SUBROUTINE :: a
$mGL_GEOMETRY_SUBROUTINE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_GEOMETRY_SUBROUTINE = 0x92EB

pattern $bGL_GEOMETRY_SUBROUTINE_UNIFORM :: a
$mGL_GEOMETRY_SUBROUTINE_UNIFORM :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_GEOMETRY_SUBROUTINE_UNIFORM = 0x92F1

pattern $bGL_GEOMETRY_TEXTURE :: a
$mGL_GEOMETRY_TEXTURE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_GEOMETRY_TEXTURE = 0x829E

pattern $bGL_GET_TEXTURE_IMAGE_FORMAT :: a
$mGL_GET_TEXTURE_IMAGE_FORMAT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_GET_TEXTURE_IMAGE_FORMAT = 0x8291

pattern $bGL_GET_TEXTURE_IMAGE_TYPE :: a
$mGL_GET_TEXTURE_IMAGE_TYPE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_GET_TEXTURE_IMAGE_TYPE = 0x8292

pattern $bGL_IMAGE_CLASS_10_10_10_2 :: a
$mGL_IMAGE_CLASS_10_10_10_2 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_IMAGE_CLASS_10_10_10_2 = 0x82C3

pattern $bGL_IMAGE_CLASS_11_11_10 :: a
$mGL_IMAGE_CLASS_11_11_10 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_IMAGE_CLASS_11_11_10 = 0x82C2

pattern $bGL_IMAGE_CLASS_1_X_16 :: a
$mGL_IMAGE_CLASS_1_X_16 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_IMAGE_CLASS_1_X_16 = 0x82BE

pattern $bGL_IMAGE_CLASS_1_X_32 :: a
$mGL_IMAGE_CLASS_1_X_32 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_IMAGE_CLASS_1_X_32 = 0x82BB

pattern $bGL_IMAGE_CLASS_1_X_8 :: a
$mGL_IMAGE_CLASS_1_X_8 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_IMAGE_CLASS_1_X_8 = 0x82C1

pattern $bGL_IMAGE_CLASS_2_X_16 :: a
$mGL_IMAGE_CLASS_2_X_16 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_IMAGE_CLASS_2_X_16 = 0x82BD

pattern $bGL_IMAGE_CLASS_2_X_32 :: a
$mGL_IMAGE_CLASS_2_X_32 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_IMAGE_CLASS_2_X_32 = 0x82BA

pattern $bGL_IMAGE_CLASS_2_X_8 :: a
$mGL_IMAGE_CLASS_2_X_8 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_IMAGE_CLASS_2_X_8 = 0x82C0

pattern $bGL_IMAGE_CLASS_4_X_16 :: a
$mGL_IMAGE_CLASS_4_X_16 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_IMAGE_CLASS_4_X_16 = 0x82BC

pattern $bGL_IMAGE_CLASS_4_X_32 :: a
$mGL_IMAGE_CLASS_4_X_32 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_IMAGE_CLASS_4_X_32 = 0x82B9

pattern $bGL_IMAGE_CLASS_4_X_8 :: a
$mGL_IMAGE_CLASS_4_X_8 :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_IMAGE_CLASS_4_X_8 = 0x82BF

pattern $bGL_IMAGE_COMPATIBILITY_CLASS :: a
$mGL_IMAGE_COMPATIBILITY_CLASS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_IMAGE_COMPATIBILITY_CLASS = 0x82A8

pattern $bGL_IMAGE_PIXEL_FORMAT :: a
$mGL_IMAGE_PIXEL_FORMAT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_IMAGE_PIXEL_FORMAT = 0x82A9

pattern $bGL_IMAGE_PIXEL_TYPE :: a
$mGL_IMAGE_PIXEL_TYPE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_IMAGE_PIXEL_TYPE = 0x82AA

pattern $bGL_IMAGE_TEXEL_SIZE :: a
$mGL_IMAGE_TEXEL_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_IMAGE_TEXEL_SIZE = 0x82A7

pattern $bGL_INTERNALFORMAT_ALPHA_SIZE :: a
$mGL_INTERNALFORMAT_ALPHA_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INTERNALFORMAT_ALPHA_SIZE = 0x8274

pattern $bGL_INTERNALFORMAT_ALPHA_TYPE :: a
$mGL_INTERNALFORMAT_ALPHA_TYPE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INTERNALFORMAT_ALPHA_TYPE = 0x827B

pattern $bGL_INTERNALFORMAT_BLUE_SIZE :: a
$mGL_INTERNALFORMAT_BLUE_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INTERNALFORMAT_BLUE_SIZE = 0x8273

pattern $bGL_INTERNALFORMAT_BLUE_TYPE :: a
$mGL_INTERNALFORMAT_BLUE_TYPE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INTERNALFORMAT_BLUE_TYPE = 0x827A

pattern $bGL_INTERNALFORMAT_DEPTH_SIZE :: a
$mGL_INTERNALFORMAT_DEPTH_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INTERNALFORMAT_DEPTH_SIZE = 0x8275

pattern $bGL_INTERNALFORMAT_DEPTH_TYPE :: a
$mGL_INTERNALFORMAT_DEPTH_TYPE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INTERNALFORMAT_DEPTH_TYPE = 0x827C

pattern $bGL_INTERNALFORMAT_GREEN_SIZE :: a
$mGL_INTERNALFORMAT_GREEN_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INTERNALFORMAT_GREEN_SIZE = 0x8272

pattern $bGL_INTERNALFORMAT_GREEN_TYPE :: a
$mGL_INTERNALFORMAT_GREEN_TYPE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INTERNALFORMAT_GREEN_TYPE = 0x8279

pattern $bGL_INTERNALFORMAT_PREFERRED :: a
$mGL_INTERNALFORMAT_PREFERRED :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INTERNALFORMAT_PREFERRED = 0x8270

pattern $bGL_INTERNALFORMAT_RED_SIZE :: a
$mGL_INTERNALFORMAT_RED_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INTERNALFORMAT_RED_SIZE = 0x8271

pattern $bGL_INTERNALFORMAT_RED_TYPE :: a
$mGL_INTERNALFORMAT_RED_TYPE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INTERNALFORMAT_RED_TYPE = 0x8278

pattern $bGL_INTERNALFORMAT_SHARED_SIZE :: a
$mGL_INTERNALFORMAT_SHARED_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INTERNALFORMAT_SHARED_SIZE = 0x8277

pattern $bGL_INTERNALFORMAT_STENCIL_SIZE :: a
$mGL_INTERNALFORMAT_STENCIL_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INTERNALFORMAT_STENCIL_SIZE = 0x8276

pattern $bGL_INTERNALFORMAT_STENCIL_TYPE :: a
$mGL_INTERNALFORMAT_STENCIL_TYPE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INTERNALFORMAT_STENCIL_TYPE = 0x827D

pattern $bGL_INTERNALFORMAT_SUPPORTED :: a
$mGL_INTERNALFORMAT_SUPPORTED :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INTERNALFORMAT_SUPPORTED = 0x826F

pattern $bGL_IS_PER_PATCH :: a
$mGL_IS_PER_PATCH :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_IS_PER_PATCH = 0x92E7

pattern $bGL_IS_ROW_MAJOR :: a
$mGL_IS_ROW_MAJOR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_IS_ROW_MAJOR = 0x9300

pattern $bGL_LOCATION :: a
$mGL_LOCATION :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LOCATION = 0x930E

pattern $bGL_LOCATION_INDEX :: a
$mGL_LOCATION_INDEX :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LOCATION_INDEX = 0x930F

pattern $bGL_MANUAL_GENERATE_MIPMAP :: a
$mGL_MANUAL_GENERATE_MIPMAP :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MANUAL_GENERATE_MIPMAP = 0x8294

pattern $bGL_MATRIX_STRIDE :: a
$mGL_MATRIX_STRIDE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MATRIX_STRIDE = 0x92FF

pattern $bGL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS :: a
$mGL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS = 0x8266

pattern $bGL_MAX_COMBINED_DIMENSIONS :: a
$mGL_MAX_COMBINED_DIMENSIONS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_COMBINED_DIMENSIONS = 0x8282

pattern $bGL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES :: a
$mGL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES = 0x8F39

pattern $bGL_MAX_COMBINED_SHADER_STORAGE_BLOCKS :: a
$mGL_MAX_COMBINED_SHADER_STORAGE_BLOCKS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS = 0x90DC

pattern $bGL_MAX_COMPUTE_ATOMIC_COUNTERS :: a
$mGL_MAX_COMPUTE_ATOMIC_COUNTERS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_COMPUTE_ATOMIC_COUNTERS = 0x8265

pattern $bGL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS :: a
$mGL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS = 0x8264

pattern $bGL_MAX_COMPUTE_IMAGE_UNIFORMS :: a
$mGL_MAX_COMPUTE_IMAGE_UNIFORMS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_COMPUTE_IMAGE_UNIFORMS = 0x91BD

pattern $bGL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS :: a
$mGL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS = 0x90DB

pattern $bGL_MAX_COMPUTE_SHARED_MEMORY_SIZE :: a
$mGL_MAX_COMPUTE_SHARED_MEMORY_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_COMPUTE_SHARED_MEMORY_SIZE = 0x8262

pattern $bGL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS :: a
$mGL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS = 0x91BC

pattern $bGL_MAX_COMPUTE_UNIFORM_BLOCKS :: a
$mGL_MAX_COMPUTE_UNIFORM_BLOCKS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_COMPUTE_UNIFORM_BLOCKS = 0x91BB

pattern $bGL_MAX_COMPUTE_UNIFORM_COMPONENTS :: a
$mGL_MAX_COMPUTE_UNIFORM_COMPONENTS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_COMPUTE_UNIFORM_COMPONENTS = 0x8263

pattern $bGL_MAX_COMPUTE_WORK_GROUP_COUNT :: a
$mGL_MAX_COMPUTE_WORK_GROUP_COUNT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_COMPUTE_WORK_GROUP_COUNT = 0x91BE

pattern $bGL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS :: a
$mGL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS = 0x90EB

pattern $bGL_MAX_COMPUTE_WORK_GROUP_SIZE :: a
$mGL_MAX_COMPUTE_WORK_GROUP_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_COMPUTE_WORK_GROUP_SIZE = 0x91BF

pattern $bGL_MAX_DEBUG_GROUP_STACK_DEPTH :: a
$mGL_MAX_DEBUG_GROUP_STACK_DEPTH :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_DEBUG_GROUP_STACK_DEPTH = 0x826C

pattern $bGL_MAX_DEBUG_LOGGED_MESSAGES :: a
$mGL_MAX_DEBUG_LOGGED_MESSAGES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_DEBUG_LOGGED_MESSAGES = 0x9144

pattern $bGL_MAX_DEBUG_MESSAGE_LENGTH :: a
$mGL_MAX_DEBUG_MESSAGE_LENGTH :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_DEBUG_MESSAGE_LENGTH = 0x9143

pattern $bGL_MAX_DEPTH :: a
$mGL_MAX_DEPTH :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_DEPTH = 0x8280

pattern $bGL_MAX_ELEMENT_INDEX :: a
$mGL_MAX_ELEMENT_INDEX :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_ELEMENT_INDEX = 0x8D6B

pattern $bGL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS :: a
$mGL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS = 0x90DA

pattern $bGL_MAX_FRAMEBUFFER_HEIGHT :: a
$mGL_MAX_FRAMEBUFFER_HEIGHT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_FRAMEBUFFER_HEIGHT = 0x9316

pattern $bGL_MAX_FRAMEBUFFER_LAYERS :: a
$mGL_MAX_FRAMEBUFFER_LAYERS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_FRAMEBUFFER_LAYERS = 0x9317

pattern $bGL_MAX_FRAMEBUFFER_SAMPLES :: a
$mGL_MAX_FRAMEBUFFER_SAMPLES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_FRAMEBUFFER_SAMPLES = 0x9318

pattern $bGL_MAX_FRAMEBUFFER_WIDTH :: a
$mGL_MAX_FRAMEBUFFER_WIDTH :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_FRAMEBUFFER_WIDTH = 0x9315

pattern $bGL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS :: a
$mGL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS = 0x90D7

pattern $bGL_MAX_HEIGHT :: a
$mGL_MAX_HEIGHT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_HEIGHT = 0x827F

pattern $bGL_MAX_LABEL_LENGTH :: a
$mGL_MAX_LABEL_LENGTH :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_LABEL_LENGTH = 0x82E8

pattern $bGL_MAX_LAYERS :: a
$mGL_MAX_LAYERS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_LAYERS = 0x8281

pattern $bGL_MAX_NAME_LENGTH :: a
$mGL_MAX_NAME_LENGTH :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_NAME_LENGTH = 0x92F6

pattern $bGL_MAX_NUM_ACTIVE_VARIABLES :: a
$mGL_MAX_NUM_ACTIVE_VARIABLES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_NUM_ACTIVE_VARIABLES = 0x92F7

pattern $bGL_MAX_NUM_COMPATIBLE_SUBROUTINES :: a
$mGL_MAX_NUM_COMPATIBLE_SUBROUTINES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_NUM_COMPATIBLE_SUBROUTINES = 0x92F8

pattern $bGL_MAX_SHADER_STORAGE_BLOCK_SIZE :: a
$mGL_MAX_SHADER_STORAGE_BLOCK_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_SHADER_STORAGE_BLOCK_SIZE = 0x90DE

pattern $bGL_MAX_SHADER_STORAGE_BUFFER_BINDINGS :: a
$mGL_MAX_SHADER_STORAGE_BUFFER_BINDINGS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS = 0x90DD

pattern $bGL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS :: a
$mGL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS = 0x90D8

pattern $bGL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS :: a
$mGL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS = 0x90D9

pattern $bGL_MAX_UNIFORM_LOCATIONS :: a
$mGL_MAX_UNIFORM_LOCATIONS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_UNIFORM_LOCATIONS = 0x826E

pattern $bGL_MAX_VERTEX_ATTRIB_BINDINGS :: a
$mGL_MAX_VERTEX_ATTRIB_BINDINGS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_VERTEX_ATTRIB_BINDINGS = 0x82DA

pattern $bGL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET :: a
$mGL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET = 0x82D9

pattern $bGL_MAX_VERTEX_SHADER_STORAGE_BLOCKS :: a
$mGL_MAX_VERTEX_SHADER_STORAGE_BLOCKS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS = 0x90D6

pattern $bGL_MAX_WIDTH :: a
$mGL_MAX_WIDTH :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_WIDTH = 0x827E

pattern $bGL_MIPMAP :: a
$mGL_MIPMAP :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MIPMAP = 0x8293

pattern $bGL_NAME_LENGTH :: a
$mGL_NAME_LENGTH :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_NAME_LENGTH = 0x92F9

pattern $bGL_NUM_ACTIVE_VARIABLES :: a
$mGL_NUM_ACTIVE_VARIABLES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_NUM_ACTIVE_VARIABLES = 0x9304

pattern $bGL_OFFSET :: a
$mGL_OFFSET :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_OFFSET = 0x92FC

pattern $bGL_PRIMITIVE_RESTART_FIXED_INDEX :: a
$mGL_PRIMITIVE_RESTART_FIXED_INDEX :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PRIMITIVE_RESTART_FIXED_INDEX = 0x8D69

pattern $bGL_PROGRAM :: a
$mGL_PROGRAM :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PROGRAM = 0x82E2

pattern $bGL_PROGRAM_INPUT :: a
$mGL_PROGRAM_INPUT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PROGRAM_INPUT = 0x92E3

pattern $bGL_PROGRAM_OUTPUT :: a
$mGL_PROGRAM_OUTPUT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PROGRAM_OUTPUT = 0x92E4

pattern $bGL_PROGRAM_PIPELINE :: a
$mGL_PROGRAM_PIPELINE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PROGRAM_PIPELINE = 0x82E4

pattern $bGL_QUERY :: a
$mGL_QUERY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_QUERY = 0x82E3

pattern $bGL_READ_PIXELS :: a
$mGL_READ_PIXELS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_READ_PIXELS = 0x828C

pattern $bGL_READ_PIXELS_FORMAT :: a
$mGL_READ_PIXELS_FORMAT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_READ_PIXELS_FORMAT = 0x828D

pattern $bGL_READ_PIXELS_TYPE :: a
$mGL_READ_PIXELS_TYPE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_READ_PIXELS_TYPE = 0x828E

pattern $bGL_REFERENCED_BY_COMPUTE_SHADER :: a
$mGL_REFERENCED_BY_COMPUTE_SHADER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_REFERENCED_BY_COMPUTE_SHADER = 0x930B

pattern $bGL_REFERENCED_BY_FRAGMENT_SHADER :: a
$mGL_REFERENCED_BY_FRAGMENT_SHADER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_REFERENCED_BY_FRAGMENT_SHADER = 0x930A

pattern $bGL_REFERENCED_BY_GEOMETRY_SHADER :: a
$mGL_REFERENCED_BY_GEOMETRY_SHADER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_REFERENCED_BY_GEOMETRY_SHADER = 0x9309

pattern $bGL_REFERENCED_BY_TESS_CONTROL_SHADER :: a
$mGL_REFERENCED_BY_TESS_CONTROL_SHADER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_REFERENCED_BY_TESS_CONTROL_SHADER = 0x9307

pattern $bGL_REFERENCED_BY_TESS_EVALUATION_SHADER :: a
$mGL_REFERENCED_BY_TESS_EVALUATION_SHADER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_REFERENCED_BY_TESS_EVALUATION_SHADER = 0x9308

pattern $bGL_REFERENCED_BY_VERTEX_SHADER :: a
$mGL_REFERENCED_BY_VERTEX_SHADER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_REFERENCED_BY_VERTEX_SHADER = 0x9306

pattern $bGL_SAMPLER :: a
$mGL_SAMPLER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SAMPLER = 0x82E6

pattern $bGL_SHADER :: a
$mGL_SHADER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SHADER = 0x82E1

pattern $bGL_SHADER_IMAGE_ATOMIC :: a
$mGL_SHADER_IMAGE_ATOMIC :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SHADER_IMAGE_ATOMIC = 0x82A6

pattern $bGL_SHADER_IMAGE_LOAD :: a
$mGL_SHADER_IMAGE_LOAD :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SHADER_IMAGE_LOAD = 0x82A4

pattern $bGL_SHADER_IMAGE_STORE :: a
$mGL_SHADER_IMAGE_STORE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SHADER_IMAGE_STORE = 0x82A5

pattern $bGL_SHADER_STORAGE_BARRIER_BIT :: a
$mGL_SHADER_STORAGE_BARRIER_BIT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SHADER_STORAGE_BARRIER_BIT = 0x00002000

pattern $bGL_SHADER_STORAGE_BLOCK :: a
$mGL_SHADER_STORAGE_BLOCK :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SHADER_STORAGE_BLOCK = 0x92E6

pattern $bGL_SHADER_STORAGE_BUFFER :: a
$mGL_SHADER_STORAGE_BUFFER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SHADER_STORAGE_BUFFER = 0x90D2

pattern $bGL_SHADER_STORAGE_BUFFER_BINDING :: a
$mGL_SHADER_STORAGE_BUFFER_BINDING :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SHADER_STORAGE_BUFFER_BINDING = 0x90D3

pattern $bGL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT :: a
$mGL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT = 0x90DF

pattern $bGL_SHADER_STORAGE_BUFFER_SIZE :: a
$mGL_SHADER_STORAGE_BUFFER_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SHADER_STORAGE_BUFFER_SIZE = 0x90D5

pattern $bGL_SHADER_STORAGE_BUFFER_START :: a
$mGL_SHADER_STORAGE_BUFFER_START :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SHADER_STORAGE_BUFFER_START = 0x90D4

pattern $bGL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST :: a
$mGL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST = 0x82AC

pattern $bGL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE :: a
$mGL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE = 0x82AE

pattern $bGL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST :: a
$mGL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST = 0x82AD

pattern $bGL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE :: a
$mGL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE = 0x82AF

pattern $bGL_SRGB_READ :: a
$mGL_SRGB_READ :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SRGB_READ = 0x8297

pattern $bGL_SRGB_WRITE :: a
$mGL_SRGB_WRITE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SRGB_WRITE = 0x8298

pattern $bGL_STENCIL_COMPONENTS :: a
$mGL_STENCIL_COMPONENTS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_STENCIL_COMPONENTS = 0x8285

pattern $bGL_STENCIL_RENDERABLE :: a
$mGL_STENCIL_RENDERABLE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_STENCIL_RENDERABLE = 0x8288

pattern $bGL_TESS_CONTROL_SUBROUTINE :: a
$mGL_TESS_CONTROL_SUBROUTINE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TESS_CONTROL_SUBROUTINE = 0x92E9

pattern $bGL_TESS_CONTROL_SUBROUTINE_UNIFORM :: a
$mGL_TESS_CONTROL_SUBROUTINE_UNIFORM :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TESS_CONTROL_SUBROUTINE_UNIFORM = 0x92EF

pattern $bGL_TESS_CONTROL_TEXTURE :: a
$mGL_TESS_CONTROL_TEXTURE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TESS_CONTROL_TEXTURE = 0x829C

pattern $bGL_TESS_EVALUATION_SUBROUTINE :: a
$mGL_TESS_EVALUATION_SUBROUTINE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TESS_EVALUATION_SUBROUTINE = 0x92EA

pattern $bGL_TESS_EVALUATION_SUBROUTINE_UNIFORM :: a
$mGL_TESS_EVALUATION_SUBROUTINE_UNIFORM :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TESS_EVALUATION_SUBROUTINE_UNIFORM = 0x92F0

pattern $bGL_TESS_EVALUATION_TEXTURE :: a
$mGL_TESS_EVALUATION_TEXTURE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TESS_EVALUATION_TEXTURE = 0x829D

pattern $bGL_TEXTURE_BUFFER_OFFSET :: a
$mGL_TEXTURE_BUFFER_OFFSET :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_BUFFER_OFFSET = 0x919D

pattern $bGL_TEXTURE_BUFFER_OFFSET_ALIGNMENT :: a
$mGL_TEXTURE_BUFFER_OFFSET_ALIGNMENT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT = 0x919F

pattern $bGL_TEXTURE_BUFFER_SIZE :: a
$mGL_TEXTURE_BUFFER_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_BUFFER_SIZE = 0x919E

pattern $bGL_TEXTURE_COMPRESSED_BLOCK_HEIGHT :: a
$mGL_TEXTURE_COMPRESSED_BLOCK_HEIGHT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT = 0x82B2

pattern $bGL_TEXTURE_COMPRESSED_BLOCK_SIZE :: a
$mGL_TEXTURE_COMPRESSED_BLOCK_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_COMPRESSED_BLOCK_SIZE = 0x82B3

pattern $bGL_TEXTURE_COMPRESSED_BLOCK_WIDTH :: a
$mGL_TEXTURE_COMPRESSED_BLOCK_WIDTH :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_COMPRESSED_BLOCK_WIDTH = 0x82B1

pattern $bGL_TEXTURE_GATHER :: a
$mGL_TEXTURE_GATHER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_GATHER = 0x82A2

pattern $bGL_TEXTURE_GATHER_SHADOW :: a
$mGL_TEXTURE_GATHER_SHADOW :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_GATHER_SHADOW = 0x82A3

pattern $bGL_TEXTURE_IMAGE_FORMAT :: a
$mGL_TEXTURE_IMAGE_FORMAT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_IMAGE_FORMAT = 0x828F

pattern $bGL_TEXTURE_IMAGE_TYPE :: a
$mGL_TEXTURE_IMAGE_TYPE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_IMAGE_TYPE = 0x8290

pattern $bGL_TEXTURE_IMMUTABLE_LEVELS :: a
$mGL_TEXTURE_IMMUTABLE_LEVELS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_IMMUTABLE_LEVELS = 0x82DF

pattern $bGL_TEXTURE_SHADOW :: a
$mGL_TEXTURE_SHADOW :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_SHADOW = 0x82A1

pattern $bGL_TEXTURE_VIEW :: a
$mGL_TEXTURE_VIEW :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_VIEW = 0x82B5

pattern $bGL_TEXTURE_VIEW_MIN_LAYER :: a
$mGL_TEXTURE_VIEW_MIN_LAYER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_VIEW_MIN_LAYER = 0x82DD

pattern $bGL_TEXTURE_VIEW_MIN_LEVEL :: a
$mGL_TEXTURE_VIEW_MIN_LEVEL :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_VIEW_MIN_LEVEL = 0x82DB

pattern $bGL_TEXTURE_VIEW_NUM_LAYERS :: a
$mGL_TEXTURE_VIEW_NUM_LAYERS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_VIEW_NUM_LAYERS = 0x82DE

pattern $bGL_TEXTURE_VIEW_NUM_LEVELS :: a
$mGL_TEXTURE_VIEW_NUM_LEVELS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_VIEW_NUM_LEVELS = 0x82DC

pattern $bGL_TOP_LEVEL_ARRAY_SIZE :: a
$mGL_TOP_LEVEL_ARRAY_SIZE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TOP_LEVEL_ARRAY_SIZE = 0x930C

pattern $bGL_TOP_LEVEL_ARRAY_STRIDE :: a
$mGL_TOP_LEVEL_ARRAY_STRIDE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TOP_LEVEL_ARRAY_STRIDE = 0x930D

pattern $bGL_TRANSFORM_FEEDBACK_VARYING :: a
$mGL_TRANSFORM_FEEDBACK_VARYING :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TRANSFORM_FEEDBACK_VARYING = 0x92F4

pattern $bGL_TYPE :: a
$mGL_TYPE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TYPE = 0x92FA

pattern $bGL_UNIFORM :: a
$mGL_UNIFORM :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNIFORM = 0x92E1

pattern $bGL_UNIFORM_BLOCK :: a
$mGL_UNIFORM_BLOCK :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNIFORM_BLOCK = 0x92E2

pattern $bGL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER :: a
$mGL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER = 0x90EC

pattern $bGL_VERTEX_ATTRIB_BINDING :: a
$mGL_VERTEX_ATTRIB_BINDING :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_ATTRIB_BINDING = 0x82D4

pattern $bGL_VERTEX_ATTRIB_RELATIVE_OFFSET :: a
$mGL_VERTEX_ATTRIB_RELATIVE_OFFSET :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_ATTRIB_RELATIVE_OFFSET = 0x82D5

pattern $bGL_VERTEX_BINDING_BUFFER :: a
$mGL_VERTEX_BINDING_BUFFER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_BINDING_BUFFER = 0x8F4F

pattern $bGL_VERTEX_BINDING_DIVISOR :: a
$mGL_VERTEX_BINDING_DIVISOR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_BINDING_DIVISOR = 0x82D6

pattern $bGL_VERTEX_BINDING_OFFSET :: a
$mGL_VERTEX_BINDING_OFFSET :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_BINDING_OFFSET = 0x82D7

pattern $bGL_VERTEX_BINDING_STRIDE :: a
$mGL_VERTEX_BINDING_STRIDE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_BINDING_STRIDE = 0x82D8

pattern $bGL_VERTEX_SUBROUTINE :: a
$mGL_VERTEX_SUBROUTINE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_SUBROUTINE = 0x92E8

pattern $bGL_VERTEX_SUBROUTINE_UNIFORM :: a
$mGL_VERTEX_SUBROUTINE_UNIFORM :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_SUBROUTINE_UNIFORM = 0x92EE

pattern $bGL_VERTEX_TEXTURE :: a
$mGL_VERTEX_TEXTURE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_TEXTURE = 0x829B

pattern $bGL_VIEW_CLASS_128_BITS :: a
$mGL_VIEW_CLASS_128_BITS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VIEW_CLASS_128_BITS = 0x82C4

pattern $bGL_VIEW_CLASS_16_BITS :: a
$mGL_VIEW_CLASS_16_BITS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VIEW_CLASS_16_BITS = 0x82CA

pattern $bGL_VIEW_CLASS_24_BITS :: a
$mGL_VIEW_CLASS_24_BITS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VIEW_CLASS_24_BITS = 0x82C9

pattern $bGL_VIEW_CLASS_32_BITS :: a
$mGL_VIEW_CLASS_32_BITS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VIEW_CLASS_32_BITS = 0x82C8

pattern $bGL_VIEW_CLASS_48_BITS :: a
$mGL_VIEW_CLASS_48_BITS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VIEW_CLASS_48_BITS = 0x82C7

pattern $bGL_VIEW_CLASS_64_BITS :: a
$mGL_VIEW_CLASS_64_BITS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VIEW_CLASS_64_BITS = 0x82C6

pattern $bGL_VIEW_CLASS_8_BITS :: a
$mGL_VIEW_CLASS_8_BITS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VIEW_CLASS_8_BITS = 0x82CB

pattern $bGL_VIEW_CLASS_96_BITS :: a
$mGL_VIEW_CLASS_96_BITS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VIEW_CLASS_96_BITS = 0x82C5

pattern $bGL_VIEW_CLASS_BPTC_FLOAT :: a
$mGL_VIEW_CLASS_BPTC_FLOAT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VIEW_CLASS_BPTC_FLOAT = 0x82D3

pattern $bGL_VIEW_CLASS_BPTC_UNORM :: a
$mGL_VIEW_CLASS_BPTC_UNORM :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VIEW_CLASS_BPTC_UNORM = 0x82D2

pattern $bGL_VIEW_CLASS_RGTC1_RED :: a
$mGL_VIEW_CLASS_RGTC1_RED :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VIEW_CLASS_RGTC1_RED = 0x82D0

pattern $bGL_VIEW_CLASS_RGTC2_RG :: a
$mGL_VIEW_CLASS_RGTC2_RG :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VIEW_CLASS_RGTC2_RG = 0x82D1

pattern $bGL_VIEW_CLASS_S3TC_DXT1_RGB :: a
$mGL_VIEW_CLASS_S3TC_DXT1_RGB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VIEW_CLASS_S3TC_DXT1_RGB = 0x82CC

pattern $bGL_VIEW_CLASS_S3TC_DXT1_RGBA :: a
$mGL_VIEW_CLASS_S3TC_DXT1_RGBA :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VIEW_CLASS_S3TC_DXT1_RGBA = 0x82CD

pattern $bGL_VIEW_CLASS_S3TC_DXT3_RGBA :: a
$mGL_VIEW_CLASS_S3TC_DXT3_RGBA :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VIEW_CLASS_S3TC_DXT3_RGBA = 0x82CE

pattern $bGL_VIEW_CLASS_S3TC_DXT5_RGBA :: a
$mGL_VIEW_CLASS_S3TC_DXT5_RGBA :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VIEW_CLASS_S3TC_DXT5_RGBA = 0x82CF

pattern $bGL_VIEW_COMPATIBILITY_CLASS :: a
$mGL_VIEW_COMPATIBILITY_CLASS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VIEW_COMPATIBILITY_CLASS = 0x82B6

-- | Usage: @'glBindBuffersBase' target first count buffers@
--
-- The length of @buffers@ should be @count@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glBindBuffersBase.xhtml>


glBindBuffersBase :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLuint -> m ()
glBindBuffersBase :: GLenum -> GLenum -> GLsizei -> Ptr GLenum -> m ()
glBindBuffersBase = FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLenum -> IO ())
-> GLenum -> GLenum -> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLenum -> IO ())
-> GLenum -> GLenum -> GLsizei -> Ptr GLenum -> m ()
ffienumuintsizeiPtruintIOV FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLenum -> IO ())
glBindBuffersBaseFunPtr

glBindBuffersBaseFunPtr :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLuint -> IO ())
glBindBuffersBaseFunPtr :: FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLenum -> IO ())
glBindBuffersBaseFunPtr = IO (FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glBindBuffersBase")

{-# NOINLINE glBindBuffersBaseFunPtr #-}

-- | Usage: @'glBindBuffersRange' target first count buffers offsets sizes@
--
-- The length of @buffers@ should be @count@.
--
-- The length of @offsets@ should be @count@.
--
-- The length of @sizes@ should be @count@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glBindBuffersRange.xhtml>


glBindBuffersRange :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizeiptr -> m ()
glBindBuffersRange :: GLenum
-> GLenum
-> GLsizei
-> Ptr GLenum
-> Ptr GLintptr
-> Ptr GLintptr
-> m ()
glBindBuffersRange = FunPtr
  (GLenum
   -> GLenum
   -> GLsizei
   -> Ptr GLenum
   -> Ptr GLintptr
   -> Ptr GLintptr
   -> IO ())
-> GLenum
-> GLenum
-> GLsizei
-> Ptr GLenum
-> Ptr GLintptr
-> Ptr GLintptr
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLenum
   -> GLsizei
   -> Ptr GLenum
   -> Ptr GLintptr
   -> Ptr GLintptr
   -> IO ())
-> GLenum
-> GLenum
-> GLsizei
-> Ptr GLenum
-> Ptr GLintptr
-> Ptr GLintptr
-> m ()
ffienumuintsizeiPtruintPtrintptrPtrsizeiptrIOV FunPtr
  (GLenum
   -> GLenum
   -> GLsizei
   -> Ptr GLenum
   -> Ptr GLintptr
   -> Ptr GLintptr
   -> IO ())
glBindBuffersRangeFunPtr

glBindBuffersRangeFunPtr :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizeiptr -> IO ())
glBindBuffersRangeFunPtr :: FunPtr
  (GLenum
   -> GLenum
   -> GLsizei
   -> Ptr GLenum
   -> Ptr GLintptr
   -> Ptr GLintptr
   -> IO ())
glBindBuffersRangeFunPtr = 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 (String
-> IO
     (FunPtr
        (GLenum
         -> GLenum
         -> GLsizei
         -> Ptr GLenum
         -> Ptr GLintptr
         -> Ptr GLintptr
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glBindBuffersRange")

{-# NOINLINE glBindBuffersRangeFunPtr #-}

-- | Usage: @'glBindImageTextures' first count textures@
--
-- The length of @textures@ should be @count@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glBindImageTextures.xhtml>


glBindImageTextures :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> m ()
glBindImageTextures :: GLenum -> GLsizei -> Ptr GLenum -> m ()
glBindImageTextures = FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
-> GLenum -> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
-> GLenum -> GLsizei -> Ptr GLenum -> m ()
ffiuintsizeiPtruintIOV FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
glBindImageTexturesFunPtr

glBindImageTexturesFunPtr :: FunPtr (GLuint -> GLsizei -> Ptr GLuint -> IO ())
glBindImageTexturesFunPtr :: FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
glBindImageTexturesFunPtr = IO (FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glBindImageTextures")

{-# NOINLINE glBindImageTexturesFunPtr #-}

-- | Usage: @'glBindSamplers' first count samplers@
--
-- The length of @samplers@ should be @count@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glBindSamplers.xhtml>


glBindSamplers :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> m ()
glBindSamplers :: GLenum -> GLsizei -> Ptr GLenum -> m ()
glBindSamplers = FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
-> GLenum -> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
-> GLenum -> GLsizei -> Ptr GLenum -> m ()
ffiuintsizeiPtruintIOV FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
glBindSamplersFunPtr

glBindSamplersFunPtr :: FunPtr (GLuint -> GLsizei -> Ptr GLuint -> IO ())
glBindSamplersFunPtr :: FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
glBindSamplersFunPtr = IO (FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glBindSamplers")

{-# NOINLINE glBindSamplersFunPtr #-}

-- | Usage: @'glBindTextures' first count textures@
--
-- The length of @textures@ should be @count@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glBindTextures.xhtml>


glBindTextures :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> m ()
glBindTextures :: GLenum -> GLsizei -> Ptr GLenum -> m ()
glBindTextures = FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
-> GLenum -> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
-> GLenum -> GLsizei -> Ptr GLenum -> m ()
ffiuintsizeiPtruintIOV FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
glBindTexturesFunPtr

glBindTexturesFunPtr :: FunPtr (GLuint -> GLsizei -> Ptr GLuint -> IO ())
glBindTexturesFunPtr :: FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
glBindTexturesFunPtr = IO (FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glBindTextures")

{-# NOINLINE glBindTexturesFunPtr #-}

-- | Usage: @'glBindVertexBuffers' first count buffers offsets strides@
--
-- The length of @buffers@ should be @count@.
--
-- The length of @offsets@ should be @count@.
--
-- The length of @strides@ should be @count@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glBindVertexBuffers.xhtml>


glBindVertexBuffers :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> m ()
glBindVertexBuffers :: GLenum
-> GLsizei -> Ptr GLenum -> Ptr GLintptr -> Ptr GLsizei -> m ()
glBindVertexBuffers = FunPtr
  (GLenum
   -> GLsizei -> Ptr GLenum -> Ptr GLintptr -> Ptr GLsizei -> IO ())
-> GLenum
-> GLsizei
-> Ptr GLenum
-> Ptr GLintptr
-> Ptr GLsizei
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei -> Ptr GLenum -> Ptr GLintptr -> Ptr GLsizei -> IO ())
-> GLenum
-> GLsizei
-> Ptr GLenum
-> Ptr GLintptr
-> Ptr GLsizei
-> m ()
ffiuintsizeiPtruintPtrintptrPtrsizeiIOV FunPtr
  (GLenum
   -> GLsizei -> Ptr GLenum -> Ptr GLintptr -> Ptr GLsizei -> IO ())
glBindVertexBuffersFunPtr

glBindVertexBuffersFunPtr :: FunPtr (GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> IO ())
glBindVertexBuffersFunPtr :: FunPtr
  (GLenum
   -> GLsizei -> Ptr GLenum -> Ptr GLintptr -> Ptr GLsizei -> IO ())
glBindVertexBuffersFunPtr = 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 (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei -> Ptr GLenum -> Ptr GLintptr -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glBindVertexBuffers")

{-# NOINLINE glBindVertexBuffersFunPtr #-}

-- | Usage: @'glBufferStorage' target size data flags@
--
-- The length of @data@ should be @size@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glBufferStorage.xhtml>


glBufferStorage :: MonadIO m => GLenum -> GLsizeiptr -> Ptr () -> GLbitfield -> m ()
glBufferStorage :: GLenum -> GLintptr -> Ptr () -> GLenum -> m ()
glBufferStorage = FunPtr (GLenum -> GLintptr -> Ptr () -> GLenum -> IO ())
-> GLenum -> GLintptr -> Ptr () -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLintptr -> Ptr () -> GLenum -> IO ())
-> GLenum -> GLintptr -> Ptr () -> GLenum -> m ()
ffienumsizeiptrPtrVbitfieldIOV FunPtr (GLenum -> GLintptr -> Ptr () -> GLenum -> IO ())
glBufferStorageFunPtr

glBufferStorageFunPtr :: FunPtr (GLenum -> GLsizeiptr -> Ptr () -> GLbitfield -> IO ())
glBufferStorageFunPtr :: FunPtr (GLenum -> GLintptr -> Ptr () -> GLenum -> IO ())
glBufferStorageFunPtr = IO (FunPtr (GLenum -> GLintptr -> Ptr () -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLintptr -> Ptr () -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLintptr -> Ptr () -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glBufferStorage")

{-# NOINLINE glBufferStorageFunPtr #-}

-- | Usage: @'glClearTexImage' texture level format type data@
--
-- The length of @data@ should be @COMPSIZE(format,type)@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glClearTexImage.xhtml>


glClearTexImage :: MonadIO m => GLuint -> GLint -> GLenum -> GLenum -> Ptr () -> m ()
glClearTexImage :: GLenum -> GLsizei -> GLenum -> GLenum -> Ptr () -> m ()
glClearTexImage = FunPtr (GLenum -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ())
-> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr () -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ())
-> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr () -> m ()
ffiuintintenumenumPtrVIOV FunPtr (GLenum -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ())
glClearTexImageFunPtr

glClearTexImageFunPtr :: FunPtr (GLuint -> GLint -> GLenum -> GLenum -> Ptr () -> IO ())
glClearTexImageFunPtr :: FunPtr (GLenum -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ())
glClearTexImageFunPtr = IO
  (FunPtr (GLenum -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()))
-> FunPtr
     (GLenum -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glClearTexImage")

{-# NOINLINE glClearTexImageFunPtr #-}

-- | Usage: @'glClearTexSubImage' texture level xoffset yoffset zoffset width height depth format type data@
--
-- The length of @data@ should be @COMPSIZE(format,type)@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glClearTexSubImage.xhtml>


glClearTexSubImage :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> m ()
glClearTexSubImage :: GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLenum
-> Ptr ()
-> m ()
glClearTexSubImage = FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> Ptr ()
   -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLenum
-> Ptr ()
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> Ptr ()
   -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLenum
-> Ptr ()
-> m ()
ffiuintintintintintsizeisizeisizeienumenumPtrVIOV FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> Ptr ()
   -> IO ())
glClearTexSubImageFunPtr

glClearTexSubImageFunPtr :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ())
glClearTexSubImageFunPtr :: FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> Ptr ()
   -> IO ())
glClearTexSubImageFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLenum
      -> GLenum
      -> Ptr ()
      -> IO ()))
-> FunPtr
     (GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLenum
      -> GLenum
      -> Ptr ()
      -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLenum
         -> GLenum
         -> Ptr ()
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glClearTexSubImage")

{-# NOINLINE glClearTexSubImageFunPtr #-}

pattern $bGL_BUFFER_IMMUTABLE_STORAGE :: a
$mGL_BUFFER_IMMUTABLE_STORAGE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_BUFFER_IMMUTABLE_STORAGE = 0x821F

pattern $bGL_BUFFER_STORAGE_FLAGS :: a
$mGL_BUFFER_STORAGE_FLAGS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_BUFFER_STORAGE_FLAGS = 0x8220

pattern $bGL_CLEAR_TEXTURE :: a
$mGL_CLEAR_TEXTURE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CLEAR_TEXTURE = 0x9365

pattern $bGL_CLIENT_MAPPED_BUFFER_BARRIER_BIT :: a
$mGL_CLIENT_MAPPED_BUFFER_BARRIER_BIT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT = 0x00004000

pattern $bGL_CLIENT_STORAGE_BIT :: a
$mGL_CLIENT_STORAGE_BIT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CLIENT_STORAGE_BIT = 0x0200

pattern $bGL_DYNAMIC_STORAGE_BIT :: a
$mGL_DYNAMIC_STORAGE_BIT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DYNAMIC_STORAGE_BIT = 0x0100

pattern $bGL_LOCATION_COMPONENT :: a
$mGL_LOCATION_COMPONENT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LOCATION_COMPONENT = 0x934A

pattern $bGL_MAP_COHERENT_BIT :: a
$mGL_MAP_COHERENT_BIT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAP_COHERENT_BIT = 0x0080

pattern $bGL_MAP_PERSISTENT_BIT :: a
$mGL_MAP_PERSISTENT_BIT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAP_PERSISTENT_BIT = 0x0040

pattern $bGL_MAX_VERTEX_ATTRIB_STRIDE :: a
$mGL_MAX_VERTEX_ATTRIB_STRIDE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_VERTEX_ATTRIB_STRIDE = 0x82E5

pattern $bGL_MIRROR_CLAMP_TO_EDGE :: a
$mGL_MIRROR_CLAMP_TO_EDGE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MIRROR_CLAMP_TO_EDGE = 0x8743

pattern $bGL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED :: a
$mGL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED = 0x8221

pattern $bGL_QUERY_BUFFER :: a
$mGL_QUERY_BUFFER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_QUERY_BUFFER = 0x9192

pattern $bGL_QUERY_BUFFER_BARRIER_BIT :: a
$mGL_QUERY_BUFFER_BARRIER_BIT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_QUERY_BUFFER_BARRIER_BIT = 0x00008000

pattern $bGL_QUERY_BUFFER_BINDING :: a
$mGL_QUERY_BUFFER_BINDING :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_QUERY_BUFFER_BINDING = 0x9193

pattern $bGL_QUERY_RESULT_NO_WAIT :: a
$mGL_QUERY_RESULT_NO_WAIT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_QUERY_RESULT_NO_WAIT = 0x9194

pattern $bGL_TEXTURE_BUFFER_BINDING :: a
$mGL_TEXTURE_BUFFER_BINDING :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_BUFFER_BINDING = 0x8C2A

pattern $bGL_TRANSFORM_FEEDBACK_BUFFER_INDEX :: a
$mGL_TRANSFORM_FEEDBACK_BUFFER_INDEX :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TRANSFORM_FEEDBACK_BUFFER_INDEX = 0x934B

pattern $bGL_TRANSFORM_FEEDBACK_BUFFER_STRIDE :: a
$mGL_TRANSFORM_FEEDBACK_BUFFER_STRIDE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE = 0x934C

-- | Usage: @'glBindTextureUnit' unit texture@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glBindTextureUnit.xhtml>


glBindTextureUnit :: MonadIO m => GLuint -> GLuint -> m ()
glBindTextureUnit :: GLenum -> GLenum -> m ()
glBindTextureUnit = FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
ffiuintuintIOV FunPtr (GLenum -> GLenum -> IO ())
glBindTextureUnitFunPtr

glBindTextureUnitFunPtr :: FunPtr (GLuint -> GLuint -> IO ())
glBindTextureUnitFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glBindTextureUnitFunPtr = IO (FunPtr (GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glBindTextureUnit")

{-# NOINLINE glBindTextureUnitFunPtr #-}

-- | Usage: @'glBlitNamedFramebuffer' readFramebuffer drawFramebuffer srcX0 srcY0 srcX1 srcY1 dstX0 dstY0 dstX1 dstY1 mask filter@


glBlitNamedFramebuffer :: MonadIO m => GLuint -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()
glBlitNamedFramebuffer :: GLenum
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLenum
-> m ()
glBlitNamedFramebuffer = FunPtr
  (GLenum
   -> GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> IO ())
-> GLenum
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLenum
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> IO ())
-> GLenum
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLenum
-> m ()
ffiuintuintintintintintintintintintbitfieldenumIOV FunPtr
  (GLenum
   -> GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> IO ())
glBlitNamedFramebufferFunPtr

glBlitNamedFramebufferFunPtr :: FunPtr (GLuint -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> IO ())
glBlitNamedFramebufferFunPtr :: FunPtr
  (GLenum
   -> GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> IO ())
glBlitNamedFramebufferFunPtr = IO
  (FunPtr
     (GLenum
      -> GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLenum
      -> GLenum
      -> IO ()))
-> FunPtr
     (GLenum
      -> GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLenum
      -> GLenum
      -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLenum
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLenum
         -> GLenum
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glBlitNamedFramebuffer")

{-# NOINLINE glBlitNamedFramebufferFunPtr #-}

-- | Usage: @'glCheckNamedFramebufferStatus' framebuffer target@


glCheckNamedFramebufferStatus :: MonadIO m => GLuint -> GLenum -> m GLenum
glCheckNamedFramebufferStatus :: GLenum -> GLenum -> m GLenum
glCheckNamedFramebufferStatus = FunPtr (GLenum -> GLenum -> IO GLenum)
-> GLenum -> GLenum -> m GLenum
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO GLenum)
-> GLenum -> GLenum -> m GLenum
ffiuintenumIOenum FunPtr (GLenum -> GLenum -> IO GLenum)
glCheckNamedFramebufferStatusFunPtr

glCheckNamedFramebufferStatusFunPtr :: FunPtr (GLuint -> GLenum -> IO GLenum)
glCheckNamedFramebufferStatusFunPtr :: FunPtr (GLenum -> GLenum -> IO GLenum)
glCheckNamedFramebufferStatusFunPtr = IO (FunPtr (GLenum -> GLenum -> IO GLenum))
-> FunPtr (GLenum -> GLenum -> IO GLenum)
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO GLenum))
forall a. String -> IO (FunPtr a)
getProcAddress "glCheckNamedFramebufferStatus")

{-# NOINLINE glCheckNamedFramebufferStatusFunPtr #-}

-- | Usage: @'glClearNamedBufferData' buffer internalformat format type data@


glClearNamedBufferData :: MonadIO m => GLuint -> GLenum -> GLenum -> GLenum -> Ptr () -> m ()
glClearNamedBufferData :: GLenum -> GLenum -> GLenum -> GLenum -> Ptr () -> m ()
glClearNamedBufferData = FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> Ptr () -> IO ())
-> GLenum -> GLenum -> GLenum -> GLenum -> Ptr () -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> Ptr () -> IO ())
-> GLenum -> GLenum -> GLenum -> GLenum -> Ptr () -> m ()
ffiuintenumenumenumPtrVIOV FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> Ptr () -> IO ())
glClearNamedBufferDataFunPtr

glClearNamedBufferDataFunPtr :: FunPtr (GLuint -> GLenum -> GLenum -> GLenum -> Ptr () -> IO ())
glClearNamedBufferDataFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> Ptr () -> IO ())
glClearNamedBufferDataFunPtr = IO
  (FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> Ptr () -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> Ptr () -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> Ptr () -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glClearNamedBufferData")

{-# NOINLINE glClearNamedBufferDataFunPtr #-}

-- | Usage: @'glClearNamedBufferSubData' buffer internalformat offset size format type data@
--
-- The parameter @size@ is a @BufferSize@.


glClearNamedBufferSubData :: MonadIO m => GLuint -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr () -> m ()
glClearNamedBufferSubData :: GLenum
-> GLenum
-> GLintptr
-> GLintptr
-> GLenum
-> GLenum
-> Ptr ()
-> m ()
glClearNamedBufferSubData = FunPtr
  (GLenum
   -> GLenum
   -> GLintptr
   -> GLintptr
   -> GLenum
   -> GLenum
   -> Ptr ()
   -> IO ())
-> GLenum
-> GLenum
-> GLintptr
-> GLintptr
-> GLenum
-> GLenum
-> Ptr ()
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLenum
   -> GLintptr
   -> GLintptr
   -> GLenum
   -> GLenum
   -> Ptr ()
   -> IO ())
-> GLenum
-> GLenum
-> GLintptr
-> GLintptr
-> GLenum
-> GLenum
-> Ptr ()
-> m ()
ffiuintenumintptrsizeiptrenumenumPtrVIOV FunPtr
  (GLenum
   -> GLenum
   -> GLintptr
   -> GLintptr
   -> GLenum
   -> GLenum
   -> Ptr ()
   -> IO ())
glClearNamedBufferSubDataFunPtr

glClearNamedBufferSubDataFunPtr :: FunPtr (GLuint -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr () -> IO ())
glClearNamedBufferSubDataFunPtr :: FunPtr
  (GLenum
   -> GLenum
   -> GLintptr
   -> GLintptr
   -> GLenum
   -> GLenum
   -> Ptr ()
   -> IO ())
glClearNamedBufferSubDataFunPtr = IO
  (FunPtr
     (GLenum
      -> GLenum
      -> GLintptr
      -> GLintptr
      -> GLenum
      -> GLenum
      -> Ptr ()
      -> IO ()))
-> FunPtr
     (GLenum
      -> GLenum
      -> GLintptr
      -> GLintptr
      -> GLenum
      -> GLenum
      -> Ptr ()
      -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLenum
         -> GLintptr
         -> GLintptr
         -> GLenum
         -> GLenum
         -> Ptr ()
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glClearNamedBufferSubData")

{-# NOINLINE glClearNamedBufferSubDataFunPtr #-}

-- | Usage: @'glClearNamedFramebufferfi' framebuffer buffer drawbuffer depth stencil@


glClearNamedFramebufferfi :: MonadIO m => GLuint -> GLenum -> GLint -> GLfloat -> GLint -> m ()
glClearNamedFramebufferfi :: GLenum -> GLenum -> GLsizei -> GLfloat -> GLsizei -> m ()
glClearNamedFramebufferfi = FunPtr (GLenum -> GLenum -> GLsizei -> GLfloat -> GLsizei -> IO ())
-> GLenum -> GLenum -> GLsizei -> GLfloat -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLsizei -> GLfloat -> GLsizei -> IO ())
-> GLenum -> GLenum -> GLsizei -> GLfloat -> GLsizei -> m ()
ffiuintenumintfloatintIOV FunPtr (GLenum -> GLenum -> GLsizei -> GLfloat -> GLsizei -> IO ())
glClearNamedFramebufferfiFunPtr

glClearNamedFramebufferfiFunPtr :: FunPtr (GLuint -> GLenum -> GLint -> GLfloat -> GLint -> IO ())
glClearNamedFramebufferfiFunPtr :: FunPtr (GLenum -> GLenum -> GLsizei -> GLfloat -> GLsizei -> IO ())
glClearNamedFramebufferfiFunPtr = IO
  (FunPtr
     (GLenum -> GLenum -> GLsizei -> GLfloat -> GLsizei -> IO ()))
-> FunPtr
     (GLenum -> GLenum -> GLsizei -> GLfloat -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum -> GLenum -> GLsizei -> GLfloat -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glClearNamedFramebufferfi")

{-# NOINLINE glClearNamedFramebufferfiFunPtr #-}

-- | Usage: @'glClearNamedFramebufferfv' framebuffer buffer drawbuffer value@


glClearNamedFramebufferfv :: MonadIO m => GLuint -> GLenum -> GLint -> Ptr GLfloat -> m ()
glClearNamedFramebufferfv :: GLenum -> GLenum -> GLsizei -> Ptr GLfloat -> m ()
glClearNamedFramebufferfv = FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLfloat -> IO ())
-> GLenum -> GLenum -> GLsizei -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLfloat -> IO ())
-> GLenum -> GLenum -> GLsizei -> Ptr GLfloat -> m ()
ffiuintenumintPtrfloatIOV FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLfloat -> IO ())
glClearNamedFramebufferfvFunPtr

glClearNamedFramebufferfvFunPtr :: FunPtr (GLuint -> GLenum -> GLint -> Ptr GLfloat -> IO ())
glClearNamedFramebufferfvFunPtr :: FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLfloat -> IO ())
glClearNamedFramebufferfvFunPtr = IO (FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLfloat -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glClearNamedFramebufferfv")

{-# NOINLINE glClearNamedFramebufferfvFunPtr #-}

-- | Usage: @'glClearNamedFramebufferiv' framebuffer buffer drawbuffer value@


glClearNamedFramebufferiv :: MonadIO m => GLuint -> GLenum -> GLint -> Ptr GLint -> m ()
glClearNamedFramebufferiv :: GLenum -> GLenum -> GLsizei -> Ptr GLsizei -> m ()
glClearNamedFramebufferiv = FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> GLsizei -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> GLsizei -> Ptr GLsizei -> m ()
ffiuintenumintPtrintIOV FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLsizei -> IO ())
glClearNamedFramebufferivFunPtr

glClearNamedFramebufferivFunPtr :: FunPtr (GLuint -> GLenum -> GLint -> Ptr GLint -> IO ())
glClearNamedFramebufferivFunPtr :: FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLsizei -> IO ())
glClearNamedFramebufferivFunPtr = IO (FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glClearNamedFramebufferiv")

{-# NOINLINE glClearNamedFramebufferivFunPtr #-}

-- | Usage: @'glClearNamedFramebufferuiv' framebuffer buffer drawbuffer value@


glClearNamedFramebufferuiv :: MonadIO m => GLuint -> GLenum -> GLint -> Ptr GLuint -> m ()
glClearNamedFramebufferuiv :: GLenum -> GLenum -> GLsizei -> Ptr GLenum -> m ()
glClearNamedFramebufferuiv = FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLenum -> IO ())
-> GLenum -> GLenum -> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLenum -> IO ())
-> GLenum -> GLenum -> GLsizei -> Ptr GLenum -> m ()
ffiuintenumintPtruintIOV FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLenum -> IO ())
glClearNamedFramebufferuivFunPtr

glClearNamedFramebufferuivFunPtr :: FunPtr (GLuint -> GLenum -> GLint -> Ptr GLuint -> IO ())
glClearNamedFramebufferuivFunPtr :: FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLenum -> IO ())
glClearNamedFramebufferuivFunPtr = IO (FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glClearNamedFramebufferuiv")

{-# NOINLINE glClearNamedFramebufferuivFunPtr #-}

-- | Usage: @'glClipControl' origin depth@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glClipControl.xhtml>


glClipControl :: MonadIO m => GLenum -> GLenum -> m ()
glClipControl :: GLenum -> GLenum -> m ()
glClipControl = FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
ffienumenumIOV FunPtr (GLenum -> GLenum -> IO ())
glClipControlFunPtr

glClipControlFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glClipControlFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glClipControlFunPtr = IO (FunPtr (GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glClipControl")

{-# NOINLINE glClipControlFunPtr #-}

-- | Usage: @'glCompressedTextureSubImage1D' texture level xoffset width format imageSize data@


glCompressedTextureSubImage1D :: MonadIO m => GLuint -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr () -> m ()
glCompressedTextureSubImage1D :: GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLsizei
-> Ptr ()
-> m ()
glCompressedTextureSubImage1D = FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLsizei
   -> Ptr ()
   -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLsizei
-> Ptr ()
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLsizei
   -> Ptr ()
   -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLsizei
-> Ptr ()
-> m ()
ffiuintintintsizeienumsizeiPtrVIOV FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLsizei
   -> Ptr ()
   -> IO ())
glCompressedTextureSubImage1DFunPtr

glCompressedTextureSubImage1DFunPtr :: FunPtr (GLuint -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ())
glCompressedTextureSubImage1DFunPtr :: FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLsizei
   -> Ptr ()
   -> IO ())
glCompressedTextureSubImage1DFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLenum
      -> GLsizei
      -> Ptr ()
      -> IO ()))
-> FunPtr
     (GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLenum
      -> GLsizei
      -> Ptr ()
      -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLenum
         -> GLsizei
         -> Ptr ()
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glCompressedTextureSubImage1D")

{-# NOINLINE glCompressedTextureSubImage1DFunPtr #-}

-- | Usage: @'glCompressedTextureSubImage2D' texture level xoffset yoffset width height format imageSize data@


glCompressedTextureSubImage2D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> m ()
glCompressedTextureSubImage2D :: GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLsizei
-> Ptr ()
-> m ()
glCompressedTextureSubImage2D = FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLsizei
   -> Ptr ()
   -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLsizei
-> Ptr ()
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLsizei
   -> Ptr ()
   -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLsizei
-> Ptr ()
-> m ()
ffiuintintintintsizeisizeienumsizeiPtrVIOV FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLsizei
   -> Ptr ()
   -> IO ())
glCompressedTextureSubImage2DFunPtr

glCompressedTextureSubImage2DFunPtr :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ())
glCompressedTextureSubImage2DFunPtr :: FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLsizei
   -> Ptr ()
   -> IO ())
glCompressedTextureSubImage2DFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLenum
      -> GLsizei
      -> Ptr ()
      -> IO ()))
-> FunPtr
     (GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLenum
      -> GLsizei
      -> Ptr ()
      -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLenum
         -> GLsizei
         -> Ptr ()
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glCompressedTextureSubImage2D")

{-# NOINLINE glCompressedTextureSubImage2DFunPtr #-}

-- | Usage: @'glCompressedTextureSubImage3D' texture level xoffset yoffset zoffset width height depth format imageSize data@


glCompressedTextureSubImage3D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> m ()
glCompressedTextureSubImage3D :: GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLsizei
-> Ptr ()
-> m ()
glCompressedTextureSubImage3D = FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLsizei
   -> Ptr ()
   -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLsizei
-> Ptr ()
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLsizei
   -> Ptr ()
   -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLsizei
-> Ptr ()
-> m ()
ffiuintintintintintsizeisizeisizeienumsizeiPtrVIOV FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLsizei
   -> Ptr ()
   -> IO ())
glCompressedTextureSubImage3DFunPtr

glCompressedTextureSubImage3DFunPtr :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ())
glCompressedTextureSubImage3DFunPtr :: FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLsizei
   -> Ptr ()
   -> IO ())
glCompressedTextureSubImage3DFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLenum
      -> GLsizei
      -> Ptr ()
      -> IO ()))
-> FunPtr
     (GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLenum
      -> GLsizei
      -> Ptr ()
      -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLenum
         -> GLsizei
         -> Ptr ()
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glCompressedTextureSubImage3D")

{-# NOINLINE glCompressedTextureSubImage3DFunPtr #-}

-- | Usage: @'glCopyNamedBufferSubData' readBuffer writeBuffer readOffset writeOffset size@
--
-- The parameter @size@ is a @BufferSize@.


glCopyNamedBufferSubData :: MonadIO m => GLuint -> GLuint -> GLintptr -> GLintptr -> GLsizeiptr -> m ()
glCopyNamedBufferSubData :: GLenum -> GLenum -> GLintptr -> GLintptr -> GLintptr -> m ()
glCopyNamedBufferSubData = FunPtr
  (GLenum -> GLenum -> GLintptr -> GLintptr -> GLintptr -> IO ())
-> GLenum -> GLenum -> GLintptr -> GLintptr -> GLintptr -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum -> GLenum -> GLintptr -> GLintptr -> GLintptr -> IO ())
-> GLenum -> GLenum -> GLintptr -> GLintptr -> GLintptr -> m ()
ffiuintuintintptrintptrsizeiptrIOV FunPtr
  (GLenum -> GLenum -> GLintptr -> GLintptr -> GLintptr -> IO ())
glCopyNamedBufferSubDataFunPtr

glCopyNamedBufferSubDataFunPtr :: FunPtr (GLuint -> GLuint -> GLintptr -> GLintptr -> GLsizeiptr -> IO ())
glCopyNamedBufferSubDataFunPtr :: FunPtr
  (GLenum -> GLenum -> GLintptr -> GLintptr -> GLintptr -> IO ())
glCopyNamedBufferSubDataFunPtr = IO
  (FunPtr
     (GLenum -> GLenum -> GLintptr -> GLintptr -> GLintptr -> IO ()))
-> FunPtr
     (GLenum -> GLenum -> GLintptr -> GLintptr -> GLintptr -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum -> GLenum -> GLintptr -> GLintptr -> GLintptr -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glCopyNamedBufferSubData")

{-# NOINLINE glCopyNamedBufferSubDataFunPtr #-}

-- | Usage: @'glCopyTextureSubImage1D' texture level xoffset x y width@


glCopyTextureSubImage1D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()
glCopyTextureSubImage1D :: GLenum
-> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> m ()
glCopyTextureSubImage1D = FunPtr
  (GLenum
   -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> m ()
ffiuintintintintintsizeiIOV FunPtr
  (GLenum
   -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
glCopyTextureSubImage1DFunPtr

glCopyTextureSubImage1DFunPtr :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ())
glCopyTextureSubImage1DFunPtr :: FunPtr
  (GLenum
   -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
glCopyTextureSubImage1DFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ()))
-> FunPtr
     (GLenum
      -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glCopyTextureSubImage1D")

{-# NOINLINE glCopyTextureSubImage1DFunPtr #-}

-- | Usage: @'glCopyTextureSubImage2D' texture level xoffset yoffset x y width height@


glCopyTextureSubImage2D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()
glCopyTextureSubImage2D :: GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> m ()
glCopyTextureSubImage2D = FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> m ()
ffiuintintintintintintsizeisizeiIOV FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> IO ())
glCopyTextureSubImage2DFunPtr

glCopyTextureSubImage2DFunPtr :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
glCopyTextureSubImage2DFunPtr :: FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> IO ())
glCopyTextureSubImage2DFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> IO ()))
-> FunPtr
     (GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glCopyTextureSubImage2D")

{-# NOINLINE glCopyTextureSubImage2DFunPtr #-}

-- | Usage: @'glCopyTextureSubImage3D' texture level xoffset yoffset zoffset x y width height@


glCopyTextureSubImage3D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()
glCopyTextureSubImage3D :: GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> m ()
glCopyTextureSubImage3D = FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> m ()
ffiuintintintintintintintsizeisizeiIOV FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> IO ())
glCopyTextureSubImage3DFunPtr

glCopyTextureSubImage3DFunPtr :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
glCopyTextureSubImage3DFunPtr :: FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> IO ())
glCopyTextureSubImage3DFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> IO ()))
-> FunPtr
     (GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glCopyTextureSubImage3D")

{-# NOINLINE glCopyTextureSubImage3DFunPtr #-}

-- | Usage: @'glCreateBuffers' n buffers@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glCreateBuffers.xhtml>


glCreateBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glCreateBuffers :: GLsizei -> Ptr GLenum -> m ()
glCreateBuffers = FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
ffisizeiPtruintIOV FunPtr (GLsizei -> Ptr GLenum -> IO ())
glCreateBuffersFunPtr

glCreateBuffersFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glCreateBuffersFunPtr :: FunPtr (GLsizei -> Ptr GLenum -> IO ())
glCreateBuffersFunPtr = IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glCreateBuffers")

{-# NOINLINE glCreateBuffersFunPtr #-}

-- | Usage: @'glCreateFramebuffers' n framebuffers@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glCreateFramebuffers.xhtml>


glCreateFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glCreateFramebuffers :: GLsizei -> Ptr GLenum -> m ()
glCreateFramebuffers = FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
ffisizeiPtruintIOV FunPtr (GLsizei -> Ptr GLenum -> IO ())
glCreateFramebuffersFunPtr

glCreateFramebuffersFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glCreateFramebuffersFunPtr :: FunPtr (GLsizei -> Ptr GLenum -> IO ())
glCreateFramebuffersFunPtr = IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glCreateFramebuffers")

{-# NOINLINE glCreateFramebuffersFunPtr #-}

-- | Usage: @'glCreateProgramPipelines' n pipelines@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glCreateProgramPipelines.xhtml>


glCreateProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glCreateProgramPipelines :: GLsizei -> Ptr GLenum -> m ()
glCreateProgramPipelines = FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
ffisizeiPtruintIOV FunPtr (GLsizei -> Ptr GLenum -> IO ())
glCreateProgramPipelinesFunPtr

glCreateProgramPipelinesFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glCreateProgramPipelinesFunPtr :: FunPtr (GLsizei -> Ptr GLenum -> IO ())
glCreateProgramPipelinesFunPtr = IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glCreateProgramPipelines")

{-# NOINLINE glCreateProgramPipelinesFunPtr #-}

-- | Usage: @'glCreateQueries' target n ids@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glCreateQueries.xhtml>


glCreateQueries :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()
glCreateQueries :: GLenum -> GLsizei -> Ptr GLenum -> m ()
glCreateQueries = FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
-> GLenum -> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
-> GLenum -> GLsizei -> Ptr GLenum -> m ()
ffienumsizeiPtruintIOV FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
glCreateQueriesFunPtr

glCreateQueriesFunPtr :: FunPtr (GLenum -> GLsizei -> Ptr GLuint -> IO ())
glCreateQueriesFunPtr :: FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
glCreateQueriesFunPtr = IO (FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glCreateQueries")

{-# NOINLINE glCreateQueriesFunPtr #-}

-- | Usage: @'glCreateRenderbuffers' n renderbuffers@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glCreateRenderbuffers.xhtml>


glCreateRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glCreateRenderbuffers :: GLsizei -> Ptr GLenum -> m ()
glCreateRenderbuffers = FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
ffisizeiPtruintIOV FunPtr (GLsizei -> Ptr GLenum -> IO ())
glCreateRenderbuffersFunPtr

glCreateRenderbuffersFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glCreateRenderbuffersFunPtr :: FunPtr (GLsizei -> Ptr GLenum -> IO ())
glCreateRenderbuffersFunPtr = IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glCreateRenderbuffers")

{-# NOINLINE glCreateRenderbuffersFunPtr #-}

-- | Usage: @'glCreateSamplers' n samplers@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glCreateSamplers.xhtml>


glCreateSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glCreateSamplers :: GLsizei -> Ptr GLenum -> m ()
glCreateSamplers = FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
ffisizeiPtruintIOV FunPtr (GLsizei -> Ptr GLenum -> IO ())
glCreateSamplersFunPtr

glCreateSamplersFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glCreateSamplersFunPtr :: FunPtr (GLsizei -> Ptr GLenum -> IO ())
glCreateSamplersFunPtr = IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glCreateSamplers")

{-# NOINLINE glCreateSamplersFunPtr #-}

-- | Usage: @'glCreateTextures' target n textures@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glCreateTextures.xhtml>


glCreateTextures :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()
glCreateTextures :: GLenum -> GLsizei -> Ptr GLenum -> m ()
glCreateTextures = FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
-> GLenum -> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
-> GLenum -> GLsizei -> Ptr GLenum -> m ()
ffienumsizeiPtruintIOV FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
glCreateTexturesFunPtr

glCreateTexturesFunPtr :: FunPtr (GLenum -> GLsizei -> Ptr GLuint -> IO ())
glCreateTexturesFunPtr :: FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
glCreateTexturesFunPtr = IO (FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glCreateTextures")

{-# NOINLINE glCreateTexturesFunPtr #-}

-- | Usage: @'glCreateTransformFeedbacks' n ids@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glCreateTransformFeedbacks.xhtml>


glCreateTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glCreateTransformFeedbacks :: GLsizei -> Ptr GLenum -> m ()
glCreateTransformFeedbacks = FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
ffisizeiPtruintIOV FunPtr (GLsizei -> Ptr GLenum -> IO ())
glCreateTransformFeedbacksFunPtr

glCreateTransformFeedbacksFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glCreateTransformFeedbacksFunPtr :: FunPtr (GLsizei -> Ptr GLenum -> IO ())
glCreateTransformFeedbacksFunPtr = IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glCreateTransformFeedbacks")

{-# NOINLINE glCreateTransformFeedbacksFunPtr #-}

-- | Usage: @'glCreateVertexArrays' n arrays@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glCreateVertexArrays.xhtml>


glCreateVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glCreateVertexArrays :: GLsizei -> Ptr GLenum -> m ()
glCreateVertexArrays = FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
ffisizeiPtruintIOV FunPtr (GLsizei -> Ptr GLenum -> IO ())
glCreateVertexArraysFunPtr

glCreateVertexArraysFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glCreateVertexArraysFunPtr :: FunPtr (GLsizei -> Ptr GLenum -> IO ())
glCreateVertexArraysFunPtr = IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glCreateVertexArrays")

{-# NOINLINE glCreateVertexArraysFunPtr #-}

-- | Usage: @'glDisableVertexArrayAttrib' vaobj index@


glDisableVertexArrayAttrib :: MonadIO m => GLuint -> GLuint -> m ()
glDisableVertexArrayAttrib :: GLenum -> GLenum -> m ()
glDisableVertexArrayAttrib = FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
ffiuintuintIOV FunPtr (GLenum -> GLenum -> IO ())
glDisableVertexArrayAttribFunPtr

glDisableVertexArrayAttribFunPtr :: FunPtr (GLuint -> GLuint -> IO ())
glDisableVertexArrayAttribFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glDisableVertexArrayAttribFunPtr = IO (FunPtr (GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glDisableVertexArrayAttrib")

{-# NOINLINE glDisableVertexArrayAttribFunPtr #-}

-- | Usage: @'glEnableVertexArrayAttrib' vaobj index@


glEnableVertexArrayAttrib :: MonadIO m => GLuint -> GLuint -> m ()
glEnableVertexArrayAttrib :: GLenum -> GLenum -> m ()
glEnableVertexArrayAttrib = FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
ffiuintuintIOV FunPtr (GLenum -> GLenum -> IO ())
glEnableVertexArrayAttribFunPtr

glEnableVertexArrayAttribFunPtr :: FunPtr (GLuint -> GLuint -> IO ())
glEnableVertexArrayAttribFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glEnableVertexArrayAttribFunPtr = IO (FunPtr (GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glEnableVertexArrayAttrib")

{-# NOINLINE glEnableVertexArrayAttribFunPtr #-}

-- | Usage: @'glFlushMappedNamedBufferRange' buffer offset length@
--
-- The parameter @length@ is a @BufferSize@.


glFlushMappedNamedBufferRange :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> m ()
glFlushMappedNamedBufferRange :: GLenum -> GLintptr -> GLintptr -> m ()
glFlushMappedNamedBufferRange = FunPtr (GLenum -> GLintptr -> GLintptr -> IO ())
-> GLenum -> GLintptr -> GLintptr -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLintptr -> GLintptr -> IO ())
-> GLenum -> GLintptr -> GLintptr -> m ()
ffiuintintptrsizeiptrIOV FunPtr (GLenum -> GLintptr -> GLintptr -> IO ())
glFlushMappedNamedBufferRangeFunPtr

glFlushMappedNamedBufferRangeFunPtr :: FunPtr (GLuint -> GLintptr -> GLsizeiptr -> IO ())
glFlushMappedNamedBufferRangeFunPtr :: FunPtr (GLenum -> GLintptr -> GLintptr -> IO ())
glFlushMappedNamedBufferRangeFunPtr = IO (FunPtr (GLenum -> GLintptr -> GLintptr -> IO ()))
-> FunPtr (GLenum -> GLintptr -> GLintptr -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLintptr -> GLintptr -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glFlushMappedNamedBufferRange")

{-# NOINLINE glFlushMappedNamedBufferRangeFunPtr #-}

-- | Usage: @'glGenerateTextureMipmap' texture@


glGenerateTextureMipmap :: MonadIO m => GLuint -> m ()
glGenerateTextureMipmap :: GLenum -> m ()
glGenerateTextureMipmap = FunPtr (GLenum -> IO ()) -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO ()) -> GLenum -> m ()
ffiuintIOV FunPtr (GLenum -> IO ())
glGenerateTextureMipmapFunPtr

glGenerateTextureMipmapFunPtr :: FunPtr (GLuint -> IO ())
glGenerateTextureMipmapFunPtr :: FunPtr (GLenum -> IO ())
glGenerateTextureMipmapFunPtr = IO (FunPtr (GLenum -> IO ())) -> FunPtr (GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGenerateTextureMipmap")

{-# NOINLINE glGenerateTextureMipmapFunPtr #-}

-- | Usage: @'glGetCompressedTextureImage' texture level bufSize pixels@


glGetCompressedTextureImage :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr () -> m ()
glGetCompressedTextureImage :: GLenum -> GLsizei -> GLsizei -> Ptr () -> m ()
glGetCompressedTextureImage = FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr () -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr () -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr () -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr () -> m ()
ffiuintintsizeiPtrVIOV FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr () -> IO ())
glGetCompressedTextureImageFunPtr

glGetCompressedTextureImageFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr () -> IO ())
glGetCompressedTextureImageFunPtr :: FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr () -> IO ())
glGetCompressedTextureImageFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr () -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr () -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr () -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetCompressedTextureImage")

{-# NOINLINE glGetCompressedTextureImageFunPtr #-}

-- | Usage: @'glGetCompressedTextureSubImage' texture level xoffset yoffset zoffset width height depth bufSize pixels@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glGetCompressedTextureSubImage.xhtml>


glGetCompressedTextureSubImage :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> Ptr () -> m ()
glGetCompressedTextureSubImage :: GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> Ptr ()
-> m ()
glGetCompressedTextureSubImage = FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> Ptr ()
   -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> Ptr ()
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> Ptr ()
   -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> Ptr ()
-> m ()
ffiuintintintintintsizeisizeisizeisizeiPtrVIOV FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> Ptr ()
   -> IO ())
glGetCompressedTextureSubImageFunPtr

glGetCompressedTextureSubImageFunPtr :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> Ptr () -> IO ())
glGetCompressedTextureSubImageFunPtr :: FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> Ptr ()
   -> IO ())
glGetCompressedTextureSubImageFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> Ptr ()
      -> IO ()))
-> FunPtr
     (GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> Ptr ()
      -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> Ptr ()
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetCompressedTextureSubImage")

{-# NOINLINE glGetCompressedTextureSubImageFunPtr #-}

-- | Usage: @'glGetGraphicsResetStatus'@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glGetGraphicsResetStatus.xhtml>


glGetGraphicsResetStatus :: MonadIO m => m GLenum
glGetGraphicsResetStatus :: m GLenum
glGetGraphicsResetStatus = FunPtr (IO GLenum) -> m GLenum
forall (m :: * -> *). MonadIO m => FunPtr (IO GLenum) -> m GLenum
ffiIOenum FunPtr (IO GLenum)
glGetGraphicsResetStatusFunPtr

glGetGraphicsResetStatusFunPtr :: FunPtr (IO GLenum)
glGetGraphicsResetStatusFunPtr :: FunPtr (IO GLenum)
glGetGraphicsResetStatusFunPtr = IO (FunPtr (IO GLenum)) -> FunPtr (IO GLenum)
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (IO GLenum))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetGraphicsResetStatus")

{-# NOINLINE glGetGraphicsResetStatusFunPtr #-}

-- | Usage: @'glGetNamedBufferParameteri64v' buffer pname params@


glGetNamedBufferParameteri64v :: MonadIO m => GLuint -> GLenum -> Ptr GLint64 -> m ()
glGetNamedBufferParameteri64v :: GLenum -> GLenum -> Ptr GLint64 -> m ()
glGetNamedBufferParameteri64v = FunPtr (GLenum -> GLenum -> Ptr GLint64 -> IO ())
-> GLenum -> GLenum -> Ptr GLint64 -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLint64 -> IO ())
-> GLenum -> GLenum -> Ptr GLint64 -> m ()
ffiuintenumPtrint64IOV FunPtr (GLenum -> GLenum -> Ptr GLint64 -> IO ())
glGetNamedBufferParameteri64vFunPtr

glGetNamedBufferParameteri64vFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLint64 -> IO ())
glGetNamedBufferParameteri64vFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLint64 -> IO ())
glGetNamedBufferParameteri64vFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLint64 -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLint64 -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLint64 -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetNamedBufferParameteri64v")

{-# NOINLINE glGetNamedBufferParameteri64vFunPtr #-}

-- | Usage: @'glGetNamedBufferParameteriv' buffer pname params@


glGetNamedBufferParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetNamedBufferParameteriv :: GLenum -> GLenum -> Ptr GLsizei -> m ()
glGetNamedBufferParameteriv = FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
ffiuintenumPtrintIOV FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetNamedBufferParameterivFunPtr

glGetNamedBufferParameterivFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
glGetNamedBufferParameterivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetNamedBufferParameterivFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetNamedBufferParameteriv")

{-# NOINLINE glGetNamedBufferParameterivFunPtr #-}

-- | Usage: @'glGetNamedBufferPointerv' buffer pname params@


glGetNamedBufferPointerv :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr ()) -> m ()
glGetNamedBufferPointerv :: GLenum -> GLenum -> Ptr (Ptr ()) -> m ()
glGetNamedBufferPointerv = FunPtr (GLenum -> GLenum -> Ptr (Ptr ()) -> IO ())
-> GLenum -> GLenum -> Ptr (Ptr ()) -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr (Ptr ()) -> IO ())
-> GLenum -> GLenum -> Ptr (Ptr ()) -> m ()
ffiuintenumPtrPtrVIOV FunPtr (GLenum -> GLenum -> Ptr (Ptr ()) -> IO ())
glGetNamedBufferPointervFunPtr

glGetNamedBufferPointervFunPtr :: FunPtr (GLuint -> GLenum -> Ptr (Ptr ()) -> IO ())
glGetNamedBufferPointervFunPtr :: FunPtr (GLenum -> GLenum -> Ptr (Ptr ()) -> IO ())
glGetNamedBufferPointervFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr (Ptr ()) -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr (Ptr ()) -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr (Ptr ()) -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetNamedBufferPointerv")

{-# NOINLINE glGetNamedBufferPointervFunPtr #-}

-- | Usage: @'glGetNamedBufferSubData' buffer offset size data@
--
-- The parameter @size@ is a @BufferSize@.


glGetNamedBufferSubData :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> Ptr () -> m ()
glGetNamedBufferSubData :: GLenum -> GLintptr -> GLintptr -> Ptr () -> m ()
glGetNamedBufferSubData = FunPtr (GLenum -> GLintptr -> GLintptr -> Ptr () -> IO ())
-> GLenum -> GLintptr -> GLintptr -> Ptr () -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLintptr -> GLintptr -> Ptr () -> IO ())
-> GLenum -> GLintptr -> GLintptr -> Ptr () -> m ()
ffiuintintptrsizeiptrPtrVIOV FunPtr (GLenum -> GLintptr -> GLintptr -> Ptr () -> IO ())
glGetNamedBufferSubDataFunPtr

glGetNamedBufferSubDataFunPtr :: FunPtr (GLuint -> GLintptr -> GLsizeiptr -> Ptr () -> IO ())
glGetNamedBufferSubDataFunPtr :: FunPtr (GLenum -> GLintptr -> GLintptr -> Ptr () -> IO ())
glGetNamedBufferSubDataFunPtr = IO (FunPtr (GLenum -> GLintptr -> GLintptr -> Ptr () -> IO ()))
-> FunPtr (GLenum -> GLintptr -> GLintptr -> Ptr () -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLintptr -> GLintptr -> Ptr () -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetNamedBufferSubData")

{-# NOINLINE glGetNamedBufferSubDataFunPtr #-}

-- | Usage: @'glGetNamedFramebufferAttachmentParameteriv' framebuffer attachment pname params@


glGetNamedFramebufferAttachmentParameteriv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()
glGetNamedFramebufferAttachmentParameteriv :: GLenum -> GLenum -> GLenum -> Ptr GLsizei -> m ()
glGetNamedFramebufferAttachmentParameteriv = FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> GLenum -> Ptr GLsizei -> m ()
ffiuintenumenumPtrintIOV FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetNamedFramebufferAttachmentParameterivFunPtr

glGetNamedFramebufferAttachmentParameterivFunPtr :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ())
glGetNamedFramebufferAttachmentParameterivFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetNamedFramebufferAttachmentParameterivFunPtr = IO (FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetNamedFramebufferAttachmentParameteriv")

{-# NOINLINE glGetNamedFramebufferAttachmentParameterivFunPtr #-}

-- | Usage: @'glGetNamedFramebufferParameteriv' framebuffer pname param@


glGetNamedFramebufferParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetNamedFramebufferParameteriv :: GLenum -> GLenum -> Ptr GLsizei -> m ()
glGetNamedFramebufferParameteriv = FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
ffiuintenumPtrintIOV FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetNamedFramebufferParameterivFunPtr

glGetNamedFramebufferParameterivFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
glGetNamedFramebufferParameterivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetNamedFramebufferParameterivFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetNamedFramebufferParameteriv")

{-# NOINLINE glGetNamedFramebufferParameterivFunPtr #-}

-- | Usage: @'glGetNamedRenderbufferParameteriv' renderbuffer pname params@


glGetNamedRenderbufferParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetNamedRenderbufferParameteriv :: GLenum -> GLenum -> Ptr GLsizei -> m ()
glGetNamedRenderbufferParameteriv = FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
ffiuintenumPtrintIOV FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetNamedRenderbufferParameterivFunPtr

glGetNamedRenderbufferParameterivFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
glGetNamedRenderbufferParameterivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetNamedRenderbufferParameterivFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetNamedRenderbufferParameteriv")

{-# NOINLINE glGetNamedRenderbufferParameterivFunPtr #-}

-- | Usage: @'glGetQueryBufferObjecti64v' id buffer pname offset@


glGetQueryBufferObjecti64v :: MonadIO m => GLuint -> GLuint -> GLenum -> GLintptr -> m ()
glGetQueryBufferObjecti64v :: GLenum -> GLenum -> GLenum -> GLintptr -> m ()
glGetQueryBufferObjecti64v = FunPtr (GLenum -> GLenum -> GLenum -> GLintptr -> IO ())
-> GLenum -> GLenum -> GLenum -> GLintptr -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> GLintptr -> IO ())
-> GLenum -> GLenum -> GLenum -> GLintptr -> m ()
ffiuintuintenumintptrIOV FunPtr (GLenum -> GLenum -> GLenum -> GLintptr -> IO ())
glGetQueryBufferObjecti64vFunPtr

glGetQueryBufferObjecti64vFunPtr :: FunPtr (GLuint -> GLuint -> GLenum -> GLintptr -> IO ())
glGetQueryBufferObjecti64vFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> GLintptr -> IO ())
glGetQueryBufferObjecti64vFunPtr = IO (FunPtr (GLenum -> GLenum -> GLenum -> GLintptr -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> GLintptr -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLenum -> GLenum -> GLintptr -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetQueryBufferObjecti64v")

{-# NOINLINE glGetQueryBufferObjecti64vFunPtr #-}

-- | Usage: @'glGetQueryBufferObjectiv' id buffer pname offset@


glGetQueryBufferObjectiv :: MonadIO m => GLuint -> GLuint -> GLenum -> GLintptr -> m ()
glGetQueryBufferObjectiv :: GLenum -> GLenum -> GLenum -> GLintptr -> m ()
glGetQueryBufferObjectiv = FunPtr (GLenum -> GLenum -> GLenum -> GLintptr -> IO ())
-> GLenum -> GLenum -> GLenum -> GLintptr -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> GLintptr -> IO ())
-> GLenum -> GLenum -> GLenum -> GLintptr -> m ()
ffiuintuintenumintptrIOV FunPtr (GLenum -> GLenum -> GLenum -> GLintptr -> IO ())
glGetQueryBufferObjectivFunPtr

glGetQueryBufferObjectivFunPtr :: FunPtr (GLuint -> GLuint -> GLenum -> GLintptr -> IO ())
glGetQueryBufferObjectivFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> GLintptr -> IO ())
glGetQueryBufferObjectivFunPtr = IO (FunPtr (GLenum -> GLenum -> GLenum -> GLintptr -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> GLintptr -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLenum -> GLenum -> GLintptr -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetQueryBufferObjectiv")

{-# NOINLINE glGetQueryBufferObjectivFunPtr #-}

-- | Usage: @'glGetQueryBufferObjectui64v' id buffer pname offset@


glGetQueryBufferObjectui64v :: MonadIO m => GLuint -> GLuint -> GLenum -> GLintptr -> m ()
glGetQueryBufferObjectui64v :: GLenum -> GLenum -> GLenum -> GLintptr -> m ()
glGetQueryBufferObjectui64v = FunPtr (GLenum -> GLenum -> GLenum -> GLintptr -> IO ())
-> GLenum -> GLenum -> GLenum -> GLintptr -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> GLintptr -> IO ())
-> GLenum -> GLenum -> GLenum -> GLintptr -> m ()
ffiuintuintenumintptrIOV FunPtr (GLenum -> GLenum -> GLenum -> GLintptr -> IO ())
glGetQueryBufferObjectui64vFunPtr

glGetQueryBufferObjectui64vFunPtr :: FunPtr (GLuint -> GLuint -> GLenum -> GLintptr -> IO ())
glGetQueryBufferObjectui64vFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> GLintptr -> IO ())
glGetQueryBufferObjectui64vFunPtr = IO (FunPtr (GLenum -> GLenum -> GLenum -> GLintptr -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> GLintptr -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLenum -> GLenum -> GLintptr -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetQueryBufferObjectui64v")

{-# NOINLINE glGetQueryBufferObjectui64vFunPtr #-}

-- | Usage: @'glGetQueryBufferObjectuiv' id buffer pname offset@


glGetQueryBufferObjectuiv :: MonadIO m => GLuint -> GLuint -> GLenum -> GLintptr -> m ()
glGetQueryBufferObjectuiv :: GLenum -> GLenum -> GLenum -> GLintptr -> m ()
glGetQueryBufferObjectuiv = FunPtr (GLenum -> GLenum -> GLenum -> GLintptr -> IO ())
-> GLenum -> GLenum -> GLenum -> GLintptr -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> GLintptr -> IO ())
-> GLenum -> GLenum -> GLenum -> GLintptr -> m ()
ffiuintuintenumintptrIOV FunPtr (GLenum -> GLenum -> GLenum -> GLintptr -> IO ())
glGetQueryBufferObjectuivFunPtr

glGetQueryBufferObjectuivFunPtr :: FunPtr (GLuint -> GLuint -> GLenum -> GLintptr -> IO ())
glGetQueryBufferObjectuivFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> GLintptr -> IO ())
glGetQueryBufferObjectuivFunPtr = IO (FunPtr (GLenum -> GLenum -> GLenum -> GLintptr -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> GLintptr -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLenum -> GLenum -> GLintptr -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetQueryBufferObjectuiv")

{-# NOINLINE glGetQueryBufferObjectuivFunPtr #-}

-- | Usage: @'glGetTextureImage' texture level format type bufSize pixels@


glGetTextureImage :: MonadIO m => GLuint -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr () -> m ()
glGetTextureImage :: GLenum -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr () -> m ()
glGetTextureImage = FunPtr
  (GLenum
   -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr () -> IO ())
-> GLenum
-> GLsizei
-> GLenum
-> GLenum
-> GLsizei
-> Ptr ()
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr () -> IO ())
-> GLenum
-> GLsizei
-> GLenum
-> GLenum
-> GLsizei
-> Ptr ()
-> m ()
ffiuintintenumenumsizeiPtrVIOV FunPtr
  (GLenum
   -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr () -> IO ())
glGetTextureImageFunPtr

glGetTextureImageFunPtr :: FunPtr (GLuint -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr () -> IO ())
glGetTextureImageFunPtr :: FunPtr
  (GLenum
   -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr () -> IO ())
glGetTextureImageFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr () -> IO ()))
-> FunPtr
     (GLenum
      -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr () -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr () -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetTextureImage")

{-# NOINLINE glGetTextureImageFunPtr #-}

-- | Usage: @'glGetTextureLevelParameterfv' texture level pname params@


glGetTextureLevelParameterfv :: MonadIO m => GLuint -> GLint -> GLenum -> Ptr GLfloat -> m ()
glGetTextureLevelParameterfv :: GLenum -> GLsizei -> GLenum -> Ptr GLfloat -> m ()
glGetTextureLevelParameterfv = FunPtr (GLenum -> GLsizei -> GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> GLenum -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> GLenum -> Ptr GLfloat -> m ()
ffiuintintenumPtrfloatIOV FunPtr (GLenum -> GLsizei -> GLenum -> Ptr GLfloat -> IO ())
glGetTextureLevelParameterfvFunPtr

glGetTextureLevelParameterfvFunPtr :: FunPtr (GLuint -> GLint -> GLenum -> Ptr GLfloat -> IO ())
glGetTextureLevelParameterfvFunPtr :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr GLfloat -> IO ())
glGetTextureLevelParameterfvFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLenum -> Ptr GLfloat -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLenum -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLsizei -> GLenum -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetTextureLevelParameterfv")

{-# NOINLINE glGetTextureLevelParameterfvFunPtr #-}

-- | Usage: @'glGetTextureLevelParameteriv' texture level pname params@


glGetTextureLevelParameteriv :: MonadIO m => GLuint -> GLint -> GLenum -> Ptr GLint -> m ()
glGetTextureLevelParameteriv :: GLenum -> GLsizei -> GLenum -> Ptr GLsizei -> m ()
glGetTextureLevelParameteriv = FunPtr (GLenum -> GLsizei -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLsizei -> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLsizei -> GLenum -> Ptr GLsizei -> m ()
ffiuintintenumPtrintIOV FunPtr (GLenum -> GLsizei -> GLenum -> Ptr GLsizei -> IO ())
glGetTextureLevelParameterivFunPtr

glGetTextureLevelParameterivFunPtr :: FunPtr (GLuint -> GLint -> GLenum -> Ptr GLint -> IO ())
glGetTextureLevelParameterivFunPtr :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr GLsizei -> IO ())
glGetTextureLevelParameterivFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLsizei -> GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetTextureLevelParameteriv")

{-# NOINLINE glGetTextureLevelParameterivFunPtr #-}

-- | Usage: @'glGetTextureParameterIiv' texture pname params@


glGetTextureParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetTextureParameterIiv :: GLenum -> GLenum -> Ptr GLsizei -> m ()
glGetTextureParameterIiv = FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
ffiuintenumPtrintIOV FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetTextureParameterIivFunPtr

glGetTextureParameterIivFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
glGetTextureParameterIivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetTextureParameterIivFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetTextureParameterIiv")

{-# NOINLINE glGetTextureParameterIivFunPtr #-}

-- | Usage: @'glGetTextureParameterIuiv' texture pname params@


glGetTextureParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()
glGetTextureParameterIuiv :: GLenum -> GLenum -> Ptr GLenum -> m ()
glGetTextureParameterIuiv = FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
-> GLenum -> GLenum -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
-> GLenum -> GLenum -> Ptr GLenum -> m ()
ffiuintenumPtruintIOV FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
glGetTextureParameterIuivFunPtr

glGetTextureParameterIuivFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ())
glGetTextureParameterIuivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
glGetTextureParameterIuivFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetTextureParameterIuiv")

{-# NOINLINE glGetTextureParameterIuivFunPtr #-}

-- | Usage: @'glGetTextureParameterfv' texture pname params@


glGetTextureParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()
glGetTextureParameterfv :: GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetTextureParameterfv = FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> GLenum -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> GLenum -> Ptr GLfloat -> m ()
ffiuintenumPtrfloatIOV FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glGetTextureParameterfvFunPtr

glGetTextureParameterfvFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
glGetTextureParameterfvFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glGetTextureParameterfvFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetTextureParameterfv")

{-# NOINLINE glGetTextureParameterfvFunPtr #-}

-- | Usage: @'glGetTextureParameteriv' texture pname params@


glGetTextureParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetTextureParameteriv :: GLenum -> GLenum -> Ptr GLsizei -> m ()
glGetTextureParameteriv = FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
ffiuintenumPtrintIOV FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetTextureParameterivFunPtr

glGetTextureParameterivFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
glGetTextureParameterivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetTextureParameterivFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetTextureParameteriv")

{-# NOINLINE glGetTextureParameterivFunPtr #-}

-- | Usage: @'glGetTextureSubImage' texture level xoffset yoffset zoffset width height depth format type bufSize pixels@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glGetTextureSubImage.xhtml>


glGetTextureSubImage :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr () -> m ()
glGetTextureSubImage :: GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLenum
-> GLsizei
-> Ptr ()
-> m ()
glGetTextureSubImage = FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> GLsizei
   -> Ptr ()
   -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLenum
-> GLsizei
-> Ptr ()
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> GLsizei
   -> Ptr ()
   -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLenum
-> GLsizei
-> Ptr ()
-> m ()
ffiuintintintintintsizeisizeisizeienumenumsizeiPtrVIOV FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> GLsizei
   -> Ptr ()
   -> IO ())
glGetTextureSubImageFunPtr

glGetTextureSubImageFunPtr :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr () -> IO ())
glGetTextureSubImageFunPtr :: FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> GLsizei
   -> Ptr ()
   -> IO ())
glGetTextureSubImageFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLenum
      -> GLenum
      -> GLsizei
      -> Ptr ()
      -> IO ()))
-> FunPtr
     (GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLenum
      -> GLenum
      -> GLsizei
      -> Ptr ()
      -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLenum
         -> GLenum
         -> GLsizei
         -> Ptr ()
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetTextureSubImage")

{-# NOINLINE glGetTextureSubImageFunPtr #-}

-- | Usage: @'glGetTransformFeedbacki64_v' xfb pname index param@


glGetTransformFeedbacki64_v :: MonadIO m => GLuint -> GLenum -> GLuint -> Ptr GLint64 -> m ()
glGetTransformFeedbacki64_v :: GLenum -> GLenum -> GLenum -> Ptr GLint64 -> m ()
glGetTransformFeedbacki64_v = FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint64 -> IO ())
-> GLenum -> GLenum -> GLenum -> Ptr GLint64 -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint64 -> IO ())
-> GLenum -> GLenum -> GLenum -> Ptr GLint64 -> m ()
ffiuintenumuintPtrint64IOV FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint64 -> IO ())
glGetTransformFeedbacki64_vFunPtr

glGetTransformFeedbacki64_vFunPtr :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLint64 -> IO ())
glGetTransformFeedbacki64_vFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint64 -> IO ())
glGetTransformFeedbacki64_vFunPtr = IO (FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint64 -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint64 -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint64 -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetTransformFeedbacki64_v")

{-# NOINLINE glGetTransformFeedbacki64_vFunPtr #-}

-- | Usage: @'glGetTransformFeedbacki_v' xfb pname index param@


glGetTransformFeedbacki_v :: MonadIO m => GLuint -> GLenum -> GLuint -> Ptr GLint -> m ()
glGetTransformFeedbacki_v :: GLenum -> GLenum -> GLenum -> Ptr GLsizei -> m ()
glGetTransformFeedbacki_v = FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> GLenum -> Ptr GLsizei -> m ()
ffiuintenumuintPtrintIOV FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetTransformFeedbacki_vFunPtr

glGetTransformFeedbacki_vFunPtr :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLint -> IO ())
glGetTransformFeedbacki_vFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetTransformFeedbacki_vFunPtr = IO (FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetTransformFeedbacki_v")

{-# NOINLINE glGetTransformFeedbacki_vFunPtr #-}

-- | Usage: @'glGetTransformFeedbackiv' xfb pname param@


glGetTransformFeedbackiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetTransformFeedbackiv :: GLenum -> GLenum -> Ptr GLsizei -> m ()
glGetTransformFeedbackiv = FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
ffiuintenumPtrintIOV FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetTransformFeedbackivFunPtr

glGetTransformFeedbackivFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
glGetTransformFeedbackivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetTransformFeedbackivFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetTransformFeedbackiv")

{-# NOINLINE glGetTransformFeedbackivFunPtr #-}

-- | Usage: @'glGetVertexArrayIndexed64iv' vaobj index pname param@


glGetVertexArrayIndexed64iv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint64 -> m ()
glGetVertexArrayIndexed64iv :: GLenum -> GLenum -> GLenum -> Ptr GLint64 -> m ()
glGetVertexArrayIndexed64iv = FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint64 -> IO ())
-> GLenum -> GLenum -> GLenum -> Ptr GLint64 -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint64 -> IO ())
-> GLenum -> GLenum -> GLenum -> Ptr GLint64 -> m ()
ffiuintuintenumPtrint64IOV FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint64 -> IO ())
glGetVertexArrayIndexed64ivFunPtr

glGetVertexArrayIndexed64ivFunPtr :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLint64 -> IO ())
glGetVertexArrayIndexed64ivFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint64 -> IO ())
glGetVertexArrayIndexed64ivFunPtr = IO (FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint64 -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint64 -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint64 -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetVertexArrayIndexed64iv")

{-# NOINLINE glGetVertexArrayIndexed64ivFunPtr #-}

-- | Usage: @'glGetVertexArrayIndexediv' vaobj index pname param@


glGetVertexArrayIndexediv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()
glGetVertexArrayIndexediv :: GLenum -> GLenum -> GLenum -> Ptr GLsizei -> m ()
glGetVertexArrayIndexediv = FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> GLenum -> Ptr GLsizei -> m ()
ffiuintuintenumPtrintIOV FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetVertexArrayIndexedivFunPtr

glGetVertexArrayIndexedivFunPtr :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLint -> IO ())
glGetVertexArrayIndexedivFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetVertexArrayIndexedivFunPtr = IO (FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetVertexArrayIndexediv")

{-# NOINLINE glGetVertexArrayIndexedivFunPtr #-}

-- | Usage: @'glGetVertexArrayiv' vaobj pname param@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glGetVertexArrayiv.xhtml>


glGetVertexArrayiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetVertexArrayiv :: GLenum -> GLenum -> Ptr GLsizei -> m ()
glGetVertexArrayiv = FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
ffiuintenumPtrintIOV FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetVertexArrayivFunPtr

glGetVertexArrayivFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
glGetVertexArrayivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetVertexArrayivFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetVertexArrayiv")

{-# NOINLINE glGetVertexArrayivFunPtr #-}

-- | Usage: @'glGetnUniformfv' program location bufSize params@


glGetnUniformfv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()
glGetnUniformfv :: GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> m ()
glGetnUniformfv = FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> m ()
ffiuintintsizeiPtrfloatIOV FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
glGetnUniformfvFunPtr

glGetnUniformfvFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
glGetnUniformfvFunPtr :: FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
glGetnUniformfvFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetnUniformfv")

{-# NOINLINE glGetnUniformfvFunPtr #-}

-- | Usage: @'glGetnUniformiv' program location bufSize params@


glGetnUniformiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()
glGetnUniformiv :: GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> m ()
glGetnUniformiv = FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> m ()
ffiuintintsizeiPtrintIOV FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
glGetnUniformivFunPtr

glGetnUniformivFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
glGetnUniformivFunPtr :: FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
glGetnUniformivFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetnUniformiv")

{-# NOINLINE glGetnUniformivFunPtr #-}

-- | Usage: @'glGetnUniformuiv' program location bufSize params@


glGetnUniformuiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glGetnUniformuiv :: GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> m ()
glGetnUniformuiv = FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> m ()
ffiuintintsizeiPtruintIOV FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> IO ())
glGetnUniformuivFunPtr

glGetnUniformuivFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ())
glGetnUniformuivFunPtr :: FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> IO ())
glGetnUniformuivFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetnUniformuiv")

{-# NOINLINE glGetnUniformuivFunPtr #-}

-- | Usage: @'glInvalidateNamedFramebufferData' framebuffer numAttachments attachments@


glInvalidateNamedFramebufferData :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> m ()
glInvalidateNamedFramebufferData :: GLenum -> GLsizei -> Ptr GLenum -> m ()
glInvalidateNamedFramebufferData = FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
-> GLenum -> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
-> GLenum -> GLsizei -> Ptr GLenum -> m ()
ffiuintsizeiPtrenumIOV FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
glInvalidateNamedFramebufferDataFunPtr

glInvalidateNamedFramebufferDataFunPtr :: FunPtr (GLuint -> GLsizei -> Ptr GLenum -> IO ())
glInvalidateNamedFramebufferDataFunPtr :: FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
glInvalidateNamedFramebufferDataFunPtr = IO (FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glInvalidateNamedFramebufferData")

{-# NOINLINE glInvalidateNamedFramebufferDataFunPtr #-}

-- | Usage: @'glInvalidateNamedFramebufferSubData' framebuffer numAttachments attachments x y width height@


glInvalidateNamedFramebufferSubData :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> m ()
glInvalidateNamedFramebufferSubData :: GLenum
-> GLsizei
-> Ptr GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> m ()
glInvalidateNamedFramebufferSubData = FunPtr
  (GLenum
   -> GLsizei
   -> Ptr GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> IO ())
-> GLenum
-> GLsizei
-> Ptr GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei
   -> Ptr GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> IO ())
-> GLenum
-> GLsizei
-> Ptr GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> m ()
ffiuintsizeiPtrenumintintsizeisizeiIOV FunPtr
  (GLenum
   -> GLsizei
   -> Ptr GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> IO ())
glInvalidateNamedFramebufferSubDataFunPtr

glInvalidateNamedFramebufferSubDataFunPtr :: FunPtr (GLuint -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
glInvalidateNamedFramebufferSubDataFunPtr :: FunPtr
  (GLenum
   -> GLsizei
   -> Ptr GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> IO ())
glInvalidateNamedFramebufferSubDataFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei
      -> Ptr GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> IO ()))
-> FunPtr
     (GLenum
      -> GLsizei
      -> Ptr GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei
         -> Ptr GLenum
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glInvalidateNamedFramebufferSubData")

{-# NOINLINE glInvalidateNamedFramebufferSubDataFunPtr #-}

-- | Usage: @'glMapNamedBuffer' buffer access@


glMapNamedBuffer :: MonadIO m => GLuint -> GLenum -> m (Ptr ())
glMapNamedBuffer :: GLenum -> GLenum -> m (Ptr ())
glMapNamedBuffer = FunPtr (GLenum -> GLenum -> IO (Ptr ()))
-> GLenum -> GLenum -> m (Ptr ())
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO (Ptr ()))
-> GLenum -> GLenum -> m (Ptr ())
ffiuintenumIOPtrV FunPtr (GLenum -> GLenum -> IO (Ptr ()))
glMapNamedBufferFunPtr

glMapNamedBufferFunPtr :: FunPtr (GLuint -> GLenum -> IO (Ptr ()))
glMapNamedBufferFunPtr :: FunPtr (GLenum -> GLenum -> IO (Ptr ()))
glMapNamedBufferFunPtr = IO (FunPtr (GLenum -> GLenum -> IO (Ptr ())))
-> FunPtr (GLenum -> GLenum -> IO (Ptr ()))
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO (Ptr ())))
forall a. String -> IO (FunPtr a)
getProcAddress "glMapNamedBuffer")

{-# NOINLINE glMapNamedBufferFunPtr #-}

-- | Usage: @'glMapNamedBufferRange' buffer offset length access@
--
-- The parameter @length@ is a @BufferSize@.


glMapNamedBufferRange :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr ())
glMapNamedBufferRange :: GLenum -> GLintptr -> GLintptr -> GLenum -> m (Ptr ())
glMapNamedBufferRange = FunPtr (GLenum -> GLintptr -> GLintptr -> GLenum -> IO (Ptr ()))
-> GLenum -> GLintptr -> GLintptr -> GLenum -> m (Ptr ())
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLintptr -> GLintptr -> GLenum -> IO (Ptr ()))
-> GLenum -> GLintptr -> GLintptr -> GLenum -> m (Ptr ())
ffiuintintptrsizeiptrbitfieldIOPtrV FunPtr (GLenum -> GLintptr -> GLintptr -> GLenum -> IO (Ptr ()))
glMapNamedBufferRangeFunPtr

glMapNamedBufferRangeFunPtr :: FunPtr (GLuint -> GLintptr -> GLsizeiptr -> GLbitfield -> IO (Ptr ()))
glMapNamedBufferRangeFunPtr :: FunPtr (GLenum -> GLintptr -> GLintptr -> GLenum -> IO (Ptr ()))
glMapNamedBufferRangeFunPtr = IO
  (FunPtr (GLenum -> GLintptr -> GLintptr -> GLenum -> IO (Ptr ())))
-> FunPtr (GLenum -> GLintptr -> GLintptr -> GLenum -> IO (Ptr ()))
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLintptr -> GLintptr -> GLenum -> IO (Ptr ())))
forall a. String -> IO (FunPtr a)
getProcAddress "glMapNamedBufferRange")

{-# NOINLINE glMapNamedBufferRangeFunPtr #-}

-- | Usage: @'glMemoryBarrierByRegion' barriers@


glMemoryBarrierByRegion :: MonadIO m => GLbitfield -> m ()
glMemoryBarrierByRegion :: GLenum -> m ()
glMemoryBarrierByRegion = FunPtr (GLenum -> IO ()) -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO ()) -> GLenum -> m ()
ffibitfieldIOV FunPtr (GLenum -> IO ())
glMemoryBarrierByRegionFunPtr

glMemoryBarrierByRegionFunPtr :: FunPtr (GLbitfield -> IO ())
glMemoryBarrierByRegionFunPtr :: FunPtr (GLenum -> IO ())
glMemoryBarrierByRegionFunPtr = IO (FunPtr (GLenum -> IO ())) -> FunPtr (GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glMemoryBarrierByRegion")

{-# NOINLINE glMemoryBarrierByRegionFunPtr #-}

-- | Usage: @'glNamedBufferData' buffer size data usage@
--
-- The parameter @size@ is a @BufferSize@.


glNamedBufferData :: MonadIO m => GLuint -> GLsizeiptr -> Ptr () -> GLenum -> m ()
glNamedBufferData :: GLenum -> GLintptr -> Ptr () -> GLenum -> m ()
glNamedBufferData = FunPtr (GLenum -> GLintptr -> Ptr () -> GLenum -> IO ())
-> GLenum -> GLintptr -> Ptr () -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLintptr -> Ptr () -> GLenum -> IO ())
-> GLenum -> GLintptr -> Ptr () -> GLenum -> m ()
ffiuintsizeiptrPtrVenumIOV FunPtr (GLenum -> GLintptr -> Ptr () -> GLenum -> IO ())
glNamedBufferDataFunPtr

glNamedBufferDataFunPtr :: FunPtr (GLuint -> GLsizeiptr -> Ptr () -> GLenum -> IO ())
glNamedBufferDataFunPtr :: FunPtr (GLenum -> GLintptr -> Ptr () -> GLenum -> IO ())
glNamedBufferDataFunPtr = IO (FunPtr (GLenum -> GLintptr -> Ptr () -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLintptr -> Ptr () -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLintptr -> Ptr () -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glNamedBufferData")

{-# NOINLINE glNamedBufferDataFunPtr #-}

-- | Usage: @'glNamedBufferStorage' buffer size data flags@
--
-- The parameter @size@ is a @BufferSize@.
--
-- The length of @data@ should be @size@.


glNamedBufferStorage :: MonadIO m => GLuint -> GLsizeiptr -> Ptr () -> GLbitfield -> m ()
glNamedBufferStorage :: GLenum -> GLintptr -> Ptr () -> GLenum -> m ()
glNamedBufferStorage = FunPtr (GLenum -> GLintptr -> Ptr () -> GLenum -> IO ())
-> GLenum -> GLintptr -> Ptr () -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLintptr -> Ptr () -> GLenum -> IO ())
-> GLenum -> GLintptr -> Ptr () -> GLenum -> m ()
ffiuintsizeiptrPtrVbitfieldIOV FunPtr (GLenum -> GLintptr -> Ptr () -> GLenum -> IO ())
glNamedBufferStorageFunPtr

glNamedBufferStorageFunPtr :: FunPtr (GLuint -> GLsizeiptr -> Ptr () -> GLbitfield -> IO ())
glNamedBufferStorageFunPtr :: FunPtr (GLenum -> GLintptr -> Ptr () -> GLenum -> IO ())
glNamedBufferStorageFunPtr = IO (FunPtr (GLenum -> GLintptr -> Ptr () -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLintptr -> Ptr () -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLintptr -> Ptr () -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glNamedBufferStorage")

{-# NOINLINE glNamedBufferStorageFunPtr #-}

-- | Usage: @'glNamedBufferSubData' buffer offset size data@
--
-- The parameter @size@ is a @BufferSize@.
--
-- The length of @data@ should be @COMPSIZE(size)@.


glNamedBufferSubData :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> Ptr () -> m ()
glNamedBufferSubData :: GLenum -> GLintptr -> GLintptr -> Ptr () -> m ()
glNamedBufferSubData = FunPtr (GLenum -> GLintptr -> GLintptr -> Ptr () -> IO ())
-> GLenum -> GLintptr -> GLintptr -> Ptr () -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLintptr -> GLintptr -> Ptr () -> IO ())
-> GLenum -> GLintptr -> GLintptr -> Ptr () -> m ()
ffiuintintptrsizeiptrPtrVIOV FunPtr (GLenum -> GLintptr -> GLintptr -> Ptr () -> IO ())
glNamedBufferSubDataFunPtr

glNamedBufferSubDataFunPtr :: FunPtr (GLuint -> GLintptr -> GLsizeiptr -> Ptr () -> IO ())
glNamedBufferSubDataFunPtr :: FunPtr (GLenum -> GLintptr -> GLintptr -> Ptr () -> IO ())
glNamedBufferSubDataFunPtr = IO (FunPtr (GLenum -> GLintptr -> GLintptr -> Ptr () -> IO ()))
-> FunPtr (GLenum -> GLintptr -> GLintptr -> Ptr () -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLintptr -> GLintptr -> Ptr () -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glNamedBufferSubData")

{-# NOINLINE glNamedBufferSubDataFunPtr #-}

-- | Usage: @'glNamedFramebufferDrawBuffer' framebuffer buf@


glNamedFramebufferDrawBuffer :: MonadIO m => GLuint -> GLenum -> m ()
glNamedFramebufferDrawBuffer :: GLenum -> GLenum -> m ()
glNamedFramebufferDrawBuffer = FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
ffiuintenumIOV FunPtr (GLenum -> GLenum -> IO ())
glNamedFramebufferDrawBufferFunPtr

glNamedFramebufferDrawBufferFunPtr :: FunPtr (GLuint -> GLenum -> IO ())
glNamedFramebufferDrawBufferFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glNamedFramebufferDrawBufferFunPtr = IO (FunPtr (GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glNamedFramebufferDrawBuffer")

{-# NOINLINE glNamedFramebufferDrawBufferFunPtr #-}

-- | Usage: @'glNamedFramebufferDrawBuffers' framebuffer n bufs@


glNamedFramebufferDrawBuffers :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> m ()
glNamedFramebufferDrawBuffers :: GLenum -> GLsizei -> Ptr GLenum -> m ()
glNamedFramebufferDrawBuffers = FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
-> GLenum -> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
-> GLenum -> GLsizei -> Ptr GLenum -> m ()
ffiuintsizeiPtrenumIOV FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
glNamedFramebufferDrawBuffersFunPtr

glNamedFramebufferDrawBuffersFunPtr :: FunPtr (GLuint -> GLsizei -> Ptr GLenum -> IO ())
glNamedFramebufferDrawBuffersFunPtr :: FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
glNamedFramebufferDrawBuffersFunPtr = IO (FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glNamedFramebufferDrawBuffers")

{-# NOINLINE glNamedFramebufferDrawBuffersFunPtr #-}

-- | Usage: @'glNamedFramebufferParameteri' framebuffer pname param@


glNamedFramebufferParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()
glNamedFramebufferParameteri :: GLenum -> GLenum -> GLsizei -> m ()
glNamedFramebufferParameteri = FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
-> GLenum -> GLenum -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
-> GLenum -> GLenum -> GLsizei -> m ()
ffiuintenumintIOV FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
glNamedFramebufferParameteriFunPtr

glNamedFramebufferParameteriFunPtr :: FunPtr (GLuint -> GLenum -> GLint -> IO ())
glNamedFramebufferParameteriFunPtr :: FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
glNamedFramebufferParameteriFunPtr = IO (FunPtr (GLenum -> GLenum -> GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glNamedFramebufferParameteri")

{-# NOINLINE glNamedFramebufferParameteriFunPtr #-}

-- | Usage: @'glNamedFramebufferReadBuffer' framebuffer src@


glNamedFramebufferReadBuffer :: MonadIO m => GLuint -> GLenum -> m ()
glNamedFramebufferReadBuffer :: GLenum -> GLenum -> m ()
glNamedFramebufferReadBuffer = FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
ffiuintenumIOV FunPtr (GLenum -> GLenum -> IO ())
glNamedFramebufferReadBufferFunPtr

glNamedFramebufferReadBufferFunPtr :: FunPtr (GLuint -> GLenum -> IO ())
glNamedFramebufferReadBufferFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glNamedFramebufferReadBufferFunPtr = IO (FunPtr (GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glNamedFramebufferReadBuffer")

{-# NOINLINE glNamedFramebufferReadBufferFunPtr #-}

-- | Usage: @'glNamedFramebufferRenderbuffer' framebuffer attachment renderbuffertarget renderbuffer@


glNamedFramebufferRenderbuffer :: MonadIO m => GLuint -> GLenum -> GLenum -> GLuint -> m ()
glNamedFramebufferRenderbuffer :: GLenum -> GLenum -> GLenum -> GLenum -> m ()
glNamedFramebufferRenderbuffer = FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> GLenum -> m ()
ffiuintenumenumuintIOV FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
glNamedFramebufferRenderbufferFunPtr

glNamedFramebufferRenderbufferFunPtr :: FunPtr (GLuint -> GLenum -> GLenum -> GLuint -> IO ())
glNamedFramebufferRenderbufferFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
glNamedFramebufferRenderbufferFunPtr = IO (FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glNamedFramebufferRenderbuffer")

{-# NOINLINE glNamedFramebufferRenderbufferFunPtr #-}

-- | Usage: @'glNamedFramebufferTexture' framebuffer attachment texture level@


glNamedFramebufferTexture :: MonadIO m => GLuint -> GLenum -> GLuint -> GLint -> m ()
glNamedFramebufferTexture :: GLenum -> GLenum -> GLenum -> GLsizei -> m ()
glNamedFramebufferTexture = FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> IO ())
-> GLenum -> GLenum -> GLenum -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> IO ())
-> GLenum -> GLenum -> GLenum -> GLsizei -> m ()
ffiuintenumuintintIOV FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> IO ())
glNamedFramebufferTextureFunPtr

glNamedFramebufferTextureFunPtr :: FunPtr (GLuint -> GLenum -> GLuint -> GLint -> IO ())
glNamedFramebufferTextureFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> IO ())
glNamedFramebufferTextureFunPtr = IO (FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glNamedFramebufferTexture")

{-# NOINLINE glNamedFramebufferTextureFunPtr #-}

-- | Usage: @'glNamedFramebufferTextureLayer' framebuffer attachment texture level layer@


glNamedFramebufferTextureLayer :: MonadIO m => GLuint -> GLenum -> GLuint -> GLint -> GLint -> m ()
glNamedFramebufferTextureLayer :: GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> m ()
glNamedFramebufferTextureLayer = FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
-> GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
-> GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> m ()
ffiuintenumuintintintIOV FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
glNamedFramebufferTextureLayerFunPtr

glNamedFramebufferTextureLayerFunPtr :: FunPtr (GLuint -> GLenum -> GLuint -> GLint -> GLint -> IO ())
glNamedFramebufferTextureLayerFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
glNamedFramebufferTextureLayerFunPtr = IO
  (FunPtr
     (GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> IO ()))
-> FunPtr
     (GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glNamedFramebufferTextureLayer")

{-# NOINLINE glNamedFramebufferTextureLayerFunPtr #-}

-- | Usage: @'glNamedRenderbufferStorage' renderbuffer internalformat width height@


glNamedRenderbufferStorage :: MonadIO m => GLuint -> GLenum -> GLsizei -> GLsizei -> m ()
glNamedRenderbufferStorage :: GLenum -> GLenum -> GLsizei -> GLsizei -> m ()
glNamedRenderbufferStorage = FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
-> GLenum -> GLenum -> GLsizei -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
-> GLenum -> GLenum -> GLsizei -> GLsizei -> m ()
ffiuintenumsizeisizeiIOV FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
glNamedRenderbufferStorageFunPtr

glNamedRenderbufferStorageFunPtr :: FunPtr (GLuint -> GLenum -> GLsizei -> GLsizei -> IO ())
glNamedRenderbufferStorageFunPtr :: FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
glNamedRenderbufferStorageFunPtr = IO (FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glNamedRenderbufferStorage")

{-# NOINLINE glNamedRenderbufferStorageFunPtr #-}

-- | Usage: @'glNamedRenderbufferStorageMultisample' renderbuffer samples internalformat width height@


glNamedRenderbufferStorageMultisample :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()
glNamedRenderbufferStorageMultisample :: GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()
glNamedRenderbufferStorageMultisample = FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
-> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
-> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()
ffiuintsizeienumsizeisizeiIOV FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
glNamedRenderbufferStorageMultisampleFunPtr

glNamedRenderbufferStorageMultisampleFunPtr :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
glNamedRenderbufferStorageMultisampleFunPtr :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
glNamedRenderbufferStorageMultisampleFunPtr = IO
  (FunPtr
     (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ()))
-> FunPtr
     (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glNamedRenderbufferStorageMultisample")

{-# NOINLINE glNamedRenderbufferStorageMultisampleFunPtr #-}

-- | Usage: @'glReadnPixels' x y width height format type bufSize data@


glReadnPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr () -> m ()
glReadnPixels :: GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLenum
-> GLsizei
-> Ptr ()
-> m ()
glReadnPixels = FunPtr
  (GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> GLsizei
   -> Ptr ()
   -> IO ())
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLenum
-> GLsizei
-> Ptr ()
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> GLsizei
   -> Ptr ()
   -> IO ())
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLenum
-> GLsizei
-> Ptr ()
-> m ()
ffiintintsizeisizeienumenumsizeiPtrVIOV FunPtr
  (GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> GLsizei
   -> Ptr ()
   -> IO ())
glReadnPixelsFunPtr

glReadnPixelsFunPtr :: FunPtr (GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr () -> IO ())
glReadnPixelsFunPtr :: FunPtr
  (GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> GLsizei
   -> Ptr ()
   -> IO ())
glReadnPixelsFunPtr = IO
  (FunPtr
     (GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLenum
      -> GLenum
      -> GLsizei
      -> Ptr ()
      -> IO ()))
-> FunPtr
     (GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLenum
      -> GLenum
      -> GLsizei
      -> Ptr ()
      -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLenum
         -> GLenum
         -> GLsizei
         -> Ptr ()
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glReadnPixels")

{-# NOINLINE glReadnPixelsFunPtr #-}

-- | Usage: @'glTextureBarrier'@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glTextureBarrier.xhtml>


glTextureBarrier :: MonadIO m => m ()
glTextureBarrier :: m ()
glTextureBarrier = FunPtr (IO ()) -> m ()
forall (m :: * -> *). MonadIO m => FunPtr (IO ()) -> m ()
ffiIOV FunPtr (IO ())
glTextureBarrierFunPtr

glTextureBarrierFunPtr :: FunPtr (IO ())
glTextureBarrierFunPtr :: FunPtr (IO ())
glTextureBarrierFunPtr = IO (FunPtr (IO ())) -> FunPtr (IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTextureBarrier")

{-# NOINLINE glTextureBarrierFunPtr #-}

-- | Usage: @'glTextureBuffer' texture internalformat buffer@


glTextureBuffer :: MonadIO m => GLuint -> GLenum -> GLuint -> m ()
glTextureBuffer :: GLenum -> GLenum -> GLenum -> m ()
glTextureBuffer = FunPtr (GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> m ()
ffiuintenumuintIOV FunPtr (GLenum -> GLenum -> GLenum -> IO ())
glTextureBufferFunPtr

glTextureBufferFunPtr :: FunPtr (GLuint -> GLenum -> GLuint -> IO ())
glTextureBufferFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> IO ())
glTextureBufferFunPtr = IO (FunPtr (GLenum -> GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTextureBuffer")

{-# NOINLINE glTextureBufferFunPtr #-}

-- | Usage: @'glTextureBufferRange' texture internalformat buffer offset size@
--
-- The parameter @size@ is a @BufferSize@.


glTextureBufferRange :: MonadIO m => GLuint -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> m ()
glTextureBufferRange :: GLenum -> GLenum -> GLenum -> GLintptr -> GLintptr -> m ()
glTextureBufferRange = FunPtr
  (GLenum -> GLenum -> GLenum -> GLintptr -> GLintptr -> IO ())
-> GLenum -> GLenum -> GLenum -> GLintptr -> GLintptr -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum -> GLenum -> GLenum -> GLintptr -> GLintptr -> IO ())
-> GLenum -> GLenum -> GLenum -> GLintptr -> GLintptr -> m ()
ffiuintenumuintintptrsizeiptrIOV FunPtr
  (GLenum -> GLenum -> GLenum -> GLintptr -> GLintptr -> IO ())
glTextureBufferRangeFunPtr

glTextureBufferRangeFunPtr :: FunPtr (GLuint -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> IO ())
glTextureBufferRangeFunPtr :: FunPtr
  (GLenum -> GLenum -> GLenum -> GLintptr -> GLintptr -> IO ())
glTextureBufferRangeFunPtr = IO
  (FunPtr
     (GLenum -> GLenum -> GLenum -> GLintptr -> GLintptr -> IO ()))
-> FunPtr
     (GLenum -> GLenum -> GLenum -> GLintptr -> GLintptr -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum -> GLenum -> GLenum -> GLintptr -> GLintptr -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTextureBufferRange")

{-# NOINLINE glTextureBufferRangeFunPtr #-}

-- | Usage: @'glTextureParameterIiv' texture pname params@


glTextureParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glTextureParameterIiv :: GLenum -> GLenum -> Ptr GLsizei -> m ()
glTextureParameterIiv = FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
ffiuintenumPtrintIOV FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glTextureParameterIivFunPtr

glTextureParameterIivFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
glTextureParameterIivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glTextureParameterIivFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTextureParameterIiv")

{-# NOINLINE glTextureParameterIivFunPtr #-}

-- | Usage: @'glTextureParameterIuiv' texture pname params@


glTextureParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()
glTextureParameterIuiv :: GLenum -> GLenum -> Ptr GLenum -> m ()
glTextureParameterIuiv = FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
-> GLenum -> GLenum -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
-> GLenum -> GLenum -> Ptr GLenum -> m ()
ffiuintenumPtruintIOV FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
glTextureParameterIuivFunPtr

glTextureParameterIuivFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ())
glTextureParameterIuivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
glTextureParameterIuivFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTextureParameterIuiv")

{-# NOINLINE glTextureParameterIuivFunPtr #-}

-- | Usage: @'glTextureParameterf' texture pname param@


glTextureParameterf :: MonadIO m => GLuint -> GLenum -> GLfloat -> m ()
glTextureParameterf :: GLenum -> GLenum -> GLfloat -> m ()
glTextureParameterf = FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
-> GLenum -> GLenum -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
-> GLenum -> GLenum -> GLfloat -> m ()
ffiuintenumfloatIOV FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
glTextureParameterfFunPtr

glTextureParameterfFunPtr :: FunPtr (GLuint -> GLenum -> GLfloat -> IO ())
glTextureParameterfFunPtr :: FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
glTextureParameterfFunPtr = IO (FunPtr (GLenum -> GLenum -> GLfloat -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTextureParameterf")

{-# NOINLINE glTextureParameterfFunPtr #-}

-- | Usage: @'glTextureParameterfv' texture pname param@


glTextureParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()
glTextureParameterfv :: GLenum -> GLenum -> Ptr GLfloat -> m ()
glTextureParameterfv = FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> GLenum -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> GLenum -> Ptr GLfloat -> m ()
ffiuintenumPtrfloatIOV FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glTextureParameterfvFunPtr

glTextureParameterfvFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
glTextureParameterfvFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glTextureParameterfvFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTextureParameterfv")

{-# NOINLINE glTextureParameterfvFunPtr #-}

-- | Usage: @'glTextureParameteri' texture pname param@


glTextureParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()
glTextureParameteri :: GLenum -> GLenum -> GLsizei -> m ()
glTextureParameteri = FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
-> GLenum -> GLenum -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
-> GLenum -> GLenum -> GLsizei -> m ()
ffiuintenumintIOV FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
glTextureParameteriFunPtr

glTextureParameteriFunPtr :: FunPtr (GLuint -> GLenum -> GLint -> IO ())
glTextureParameteriFunPtr :: FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
glTextureParameteriFunPtr = IO (FunPtr (GLenum -> GLenum -> GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTextureParameteri")

{-# NOINLINE glTextureParameteriFunPtr #-}

-- | Usage: @'glTextureParameteriv' texture pname param@


glTextureParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glTextureParameteriv :: GLenum -> GLenum -> Ptr GLsizei -> m ()
glTextureParameteriv = FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
ffiuintenumPtrintIOV FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glTextureParameterivFunPtr

glTextureParameterivFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
glTextureParameterivFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glTextureParameterivFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTextureParameteriv")

{-# NOINLINE glTextureParameterivFunPtr #-}

-- | Usage: @'glTextureStorage1D' texture levels internalformat width@


glTextureStorage1D :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> m ()
glTextureStorage1D :: GLenum -> GLsizei -> GLenum -> GLsizei -> m ()
glTextureStorage1D = FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> IO ())
-> GLenum -> GLsizei -> GLenum -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> IO ())
-> GLenum -> GLsizei -> GLenum -> GLsizei -> m ()
ffiuintsizeienumsizeiIOV FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> IO ())
glTextureStorage1DFunPtr

glTextureStorage1DFunPtr :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> IO ())
glTextureStorage1DFunPtr :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> IO ())
glTextureStorage1DFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTextureStorage1D")

{-# NOINLINE glTextureStorage1DFunPtr #-}

-- | Usage: @'glTextureStorage2D' texture levels internalformat width height@


glTextureStorage2D :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()
glTextureStorage2D :: GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()
glTextureStorage2D = FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
-> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
-> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()
ffiuintsizeienumsizeisizeiIOV FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
glTextureStorage2DFunPtr

glTextureStorage2DFunPtr :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
glTextureStorage2DFunPtr :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
glTextureStorage2DFunPtr = IO
  (FunPtr
     (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ()))
-> FunPtr
     (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTextureStorage2D")

{-# NOINLINE glTextureStorage2DFunPtr #-}

-- | Usage: @'glTextureStorage2DMultisample' texture samples internalformat width height fixedsamplelocations@


glTextureStorage2DMultisample :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()
glTextureStorage2DMultisample :: GLenum
-> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()
glTextureStorage2DMultisample = FunPtr
  (GLenum
   -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ())
-> GLenum
-> GLsizei
-> GLenum
-> GLsizei
-> GLsizei
-> GLboolean
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ())
-> GLenum
-> GLsizei
-> GLenum
-> GLsizei
-> GLsizei
-> GLboolean
-> m ()
ffiuintsizeienumsizeisizeibooleanIOV FunPtr
  (GLenum
   -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ())
glTextureStorage2DMultisampleFunPtr

glTextureStorage2DMultisampleFunPtr :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ())
glTextureStorage2DMultisampleFunPtr :: FunPtr
  (GLenum
   -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ())
glTextureStorage2DMultisampleFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ()))
-> FunPtr
     (GLenum
      -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTextureStorage2DMultisample")

{-# NOINLINE glTextureStorage2DMultisampleFunPtr #-}

-- | Usage: @'glTextureStorage3D' texture levels internalformat width height depth@


glTextureStorage3D :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()
glTextureStorage3D :: GLenum
-> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()
glTextureStorage3D = FunPtr
  (GLenum
   -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLenum
-> GLsizei
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLenum
-> GLsizei
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> m ()
ffiuintsizeienumsizeisizeisizeiIOV FunPtr
  (GLenum
   -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
glTextureStorage3DFunPtr

glTextureStorage3DFunPtr :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
glTextureStorage3DFunPtr :: FunPtr
  (GLenum
   -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
glTextureStorage3DFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ()))
-> FunPtr
     (GLenum
      -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTextureStorage3D")

{-# NOINLINE glTextureStorage3DFunPtr #-}

-- | Usage: @'glTextureStorage3DMultisample' texture samples internalformat width height depth fixedsamplelocations@


glTextureStorage3DMultisample :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()
glTextureStorage3DMultisample :: GLenum
-> GLsizei
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLboolean
-> m ()
glTextureStorage3DMultisample = FunPtr
  (GLenum
   -> GLsizei
   -> GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLboolean
   -> IO ())
-> GLenum
-> GLsizei
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLboolean
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei
   -> GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLboolean
   -> IO ())
-> GLenum
-> GLsizei
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLboolean
-> m ()
ffiuintsizeienumsizeisizeisizeibooleanIOV FunPtr
  (GLenum
   -> GLsizei
   -> GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLboolean
   -> IO ())
glTextureStorage3DMultisampleFunPtr

glTextureStorage3DMultisampleFunPtr :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
glTextureStorage3DMultisampleFunPtr :: FunPtr
  (GLenum
   -> GLsizei
   -> GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLboolean
   -> IO ())
glTextureStorage3DMultisampleFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei
      -> GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLboolean
      -> IO ()))
-> FunPtr
     (GLenum
      -> GLsizei
      -> GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLboolean
      -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei
         -> GLenum
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLboolean
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTextureStorage3DMultisample")

{-# NOINLINE glTextureStorage3DMultisampleFunPtr #-}

-- | Usage: @'glTextureSubImage1D' texture level xoffset width format type pixels@


glTextureSubImage1D :: MonadIO m => GLuint -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr () -> m ()
glTextureSubImage1D :: GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLenum
-> Ptr ()
-> m ()
glTextureSubImage1D = FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> Ptr ()
   -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLenum
-> Ptr ()
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> Ptr ()
   -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLenum
-> Ptr ()
-> m ()
ffiuintintintsizeienumenumPtrVIOV FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> Ptr ()
   -> IO ())
glTextureSubImage1DFunPtr

glTextureSubImage1DFunPtr :: FunPtr (GLuint -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ())
glTextureSubImage1DFunPtr :: FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> Ptr ()
   -> IO ())
glTextureSubImage1DFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLenum
      -> GLenum
      -> Ptr ()
      -> IO ()))
-> FunPtr
     (GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLenum
      -> GLenum
      -> Ptr ()
      -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLenum
         -> GLenum
         -> Ptr ()
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTextureSubImage1D")

{-# NOINLINE glTextureSubImage1DFunPtr #-}

-- | Usage: @'glTextureSubImage2D' texture level xoffset yoffset width height format type pixels@


glTextureSubImage2D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> m ()
glTextureSubImage2D :: GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLenum
-> Ptr ()
-> m ()
glTextureSubImage2D = FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> Ptr ()
   -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLenum
-> Ptr ()
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> Ptr ()
   -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLenum
-> Ptr ()
-> m ()
ffiuintintintintsizeisizeienumenumPtrVIOV FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> Ptr ()
   -> IO ())
glTextureSubImage2DFunPtr

glTextureSubImage2DFunPtr :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ())
glTextureSubImage2DFunPtr :: FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> Ptr ()
   -> IO ())
glTextureSubImage2DFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLenum
      -> GLenum
      -> Ptr ()
      -> IO ()))
-> FunPtr
     (GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLenum
      -> GLenum
      -> Ptr ()
      -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLenum
         -> GLenum
         -> Ptr ()
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTextureSubImage2D")

{-# NOINLINE glTextureSubImage2DFunPtr #-}

-- | Usage: @'glTextureSubImage3D' texture level xoffset yoffset zoffset width height depth format type pixels@


glTextureSubImage3D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> m ()
glTextureSubImage3D :: GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLenum
-> Ptr ()
-> m ()
glTextureSubImage3D = FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> Ptr ()
   -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLenum
-> Ptr ()
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> Ptr ()
   -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLenum
-> GLenum
-> Ptr ()
-> m ()
ffiuintintintintintsizeisizeisizeienumenumPtrVIOV FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> Ptr ()
   -> IO ())
glTextureSubImage3DFunPtr

glTextureSubImage3DFunPtr :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ())
glTextureSubImage3DFunPtr :: FunPtr
  (GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> GLenum
   -> GLenum
   -> Ptr ()
   -> IO ())
glTextureSubImage3DFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLenum
      -> GLenum
      -> Ptr ()
      -> IO ()))
-> FunPtr
     (GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> GLenum
      -> GLenum
      -> Ptr ()
      -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> GLenum
         -> GLenum
         -> Ptr ()
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTextureSubImage3D")

{-# NOINLINE glTextureSubImage3DFunPtr #-}

-- | Usage: @'glTransformFeedbackBufferBase' xfb index buffer@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glTransformFeedbackBufferBase.xhtml>


glTransformFeedbackBufferBase :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()
glTransformFeedbackBufferBase :: GLenum -> GLenum -> GLenum -> m ()
glTransformFeedbackBufferBase = FunPtr (GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> m ()
ffiuintuintuintIOV FunPtr (GLenum -> GLenum -> GLenum -> IO ())
glTransformFeedbackBufferBaseFunPtr

glTransformFeedbackBufferBaseFunPtr :: FunPtr (GLuint -> GLuint -> GLuint -> IO ())
glTransformFeedbackBufferBaseFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> IO ())
glTransformFeedbackBufferBaseFunPtr = IO (FunPtr (GLenum -> GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTransformFeedbackBufferBase")

{-# NOINLINE glTransformFeedbackBufferBaseFunPtr #-}

-- | Usage: @'glTransformFeedbackBufferRange' xfb index buffer offset size@
--
-- The parameter @size@ is a @BufferSize@.
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glTransformFeedbackBufferRange.xhtml>


glTransformFeedbackBufferRange :: MonadIO m => GLuint -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()
glTransformFeedbackBufferRange :: GLenum -> GLenum -> GLenum -> GLintptr -> GLintptr -> m ()
glTransformFeedbackBufferRange = FunPtr
  (GLenum -> GLenum -> GLenum -> GLintptr -> GLintptr -> IO ())
-> GLenum -> GLenum -> GLenum -> GLintptr -> GLintptr -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum -> GLenum -> GLenum -> GLintptr -> GLintptr -> IO ())
-> GLenum -> GLenum -> GLenum -> GLintptr -> GLintptr -> m ()
ffiuintuintuintintptrsizeiptrIOV FunPtr
  (GLenum -> GLenum -> GLenum -> GLintptr -> GLintptr -> IO ())
glTransformFeedbackBufferRangeFunPtr

glTransformFeedbackBufferRangeFunPtr :: FunPtr (GLuint -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> IO ())
glTransformFeedbackBufferRangeFunPtr :: FunPtr
  (GLenum -> GLenum -> GLenum -> GLintptr -> GLintptr -> IO ())
glTransformFeedbackBufferRangeFunPtr = IO
  (FunPtr
     (GLenum -> GLenum -> GLenum -> GLintptr -> GLintptr -> IO ()))
-> FunPtr
     (GLenum -> GLenum -> GLenum -> GLintptr -> GLintptr -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum -> GLenum -> GLenum -> GLintptr -> GLintptr -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTransformFeedbackBufferRange")

{-# NOINLINE glTransformFeedbackBufferRangeFunPtr #-}

-- | Usage: @'glUnmapNamedBuffer' buffer@


glUnmapNamedBuffer :: MonadIO m => GLuint -> m GLboolean
glUnmapNamedBuffer :: GLenum -> m GLboolean
glUnmapNamedBuffer = FunPtr (GLenum -> IO GLboolean) -> GLenum -> m GLboolean
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO GLboolean) -> GLenum -> m GLboolean
ffiuintIOboolean FunPtr (GLenum -> IO GLboolean)
glUnmapNamedBufferFunPtr

glUnmapNamedBufferFunPtr :: FunPtr (GLuint -> IO GLboolean)
glUnmapNamedBufferFunPtr :: FunPtr (GLenum -> IO GLboolean)
glUnmapNamedBufferFunPtr = IO (FunPtr (GLenum -> IO GLboolean))
-> FunPtr (GLenum -> IO GLboolean)
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO GLboolean))
forall a. String -> IO (FunPtr a)
getProcAddress "glUnmapNamedBuffer")

{-# NOINLINE glUnmapNamedBufferFunPtr #-}

-- | Usage: @'glVertexArrayAttribBinding' vaobj attribindex bindingindex@


glVertexArrayAttribBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()
glVertexArrayAttribBinding :: GLenum -> GLenum -> GLenum -> m ()
glVertexArrayAttribBinding = FunPtr (GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> m ()
ffiuintuintuintIOV FunPtr (GLenum -> GLenum -> GLenum -> IO ())
glVertexArrayAttribBindingFunPtr

glVertexArrayAttribBindingFunPtr :: FunPtr (GLuint -> GLuint -> GLuint -> IO ())
glVertexArrayAttribBindingFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> IO ())
glVertexArrayAttribBindingFunPtr = IO (FunPtr (GLenum -> GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexArrayAttribBinding")

{-# NOINLINE glVertexArrayAttribBindingFunPtr #-}

-- | Usage: @'glVertexArrayAttribFormat' vaobj attribindex size type normalized relativeoffset@


glVertexArrayAttribFormat :: MonadIO m => GLuint -> GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexArrayAttribFormat :: GLenum
-> GLenum -> GLsizei -> GLenum -> GLboolean -> GLenum -> m ()
glVertexArrayAttribFormat = FunPtr
  (GLenum
   -> GLenum -> GLsizei -> GLenum -> GLboolean -> GLenum -> IO ())
-> GLenum
-> GLenum
-> GLsizei
-> GLenum
-> GLboolean
-> GLenum
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLenum -> GLsizei -> GLenum -> GLboolean -> GLenum -> IO ())
-> GLenum
-> GLenum
-> GLsizei
-> GLenum
-> GLboolean
-> GLenum
-> m ()
ffiuintuintintenumbooleanuintIOV FunPtr
  (GLenum
   -> GLenum -> GLsizei -> GLenum -> GLboolean -> GLenum -> IO ())
glVertexArrayAttribFormatFunPtr

glVertexArrayAttribFormatFunPtr :: FunPtr (GLuint -> GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> IO ())
glVertexArrayAttribFormatFunPtr :: FunPtr
  (GLenum
   -> GLenum -> GLsizei -> GLenum -> GLboolean -> GLenum -> IO ())
glVertexArrayAttribFormatFunPtr = IO
  (FunPtr
     (GLenum
      -> GLenum -> GLsizei -> GLenum -> GLboolean -> GLenum -> IO ()))
-> FunPtr
     (GLenum
      -> GLenum -> GLsizei -> GLenum -> GLboolean -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLenum -> GLsizei -> GLenum -> GLboolean -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexArrayAttribFormat")

{-# NOINLINE glVertexArrayAttribFormatFunPtr #-}

-- | Usage: @'glVertexArrayAttribIFormat' vaobj attribindex size type relativeoffset@


glVertexArrayAttribIFormat :: MonadIO m => GLuint -> GLuint -> GLint -> GLenum -> GLuint -> m ()
glVertexArrayAttribIFormat :: GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> m ()
glVertexArrayAttribIFormat = FunPtr (GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> m ()
ffiuintuintintenumuintIOV FunPtr (GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> IO ())
glVertexArrayAttribIFormatFunPtr

glVertexArrayAttribIFormatFunPtr :: FunPtr (GLuint -> GLuint -> GLint -> GLenum -> GLuint -> IO ())
glVertexArrayAttribIFormatFunPtr :: FunPtr (GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> IO ())
glVertexArrayAttribIFormatFunPtr = IO
  (FunPtr (GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> IO ()))
-> FunPtr
     (GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexArrayAttribIFormat")

{-# NOINLINE glVertexArrayAttribIFormatFunPtr #-}

-- | Usage: @'glVertexArrayAttribLFormat' vaobj attribindex size type relativeoffset@


glVertexArrayAttribLFormat :: MonadIO m => GLuint -> GLuint -> GLint -> GLenum -> GLuint -> m ()
glVertexArrayAttribLFormat :: GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> m ()
glVertexArrayAttribLFormat = FunPtr (GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> m ()
ffiuintuintintenumuintIOV FunPtr (GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> IO ())
glVertexArrayAttribLFormatFunPtr

glVertexArrayAttribLFormatFunPtr :: FunPtr (GLuint -> GLuint -> GLint -> GLenum -> GLuint -> IO ())
glVertexArrayAttribLFormatFunPtr :: FunPtr (GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> IO ())
glVertexArrayAttribLFormatFunPtr = IO
  (FunPtr (GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> IO ()))
-> FunPtr
     (GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexArrayAttribLFormat")

{-# NOINLINE glVertexArrayAttribLFormatFunPtr #-}

-- | Usage: @'glVertexArrayBindingDivisor' vaobj bindingindex divisor@


glVertexArrayBindingDivisor :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()
glVertexArrayBindingDivisor :: GLenum -> GLenum -> GLenum -> m ()
glVertexArrayBindingDivisor = FunPtr (GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> m ()
ffiuintuintuintIOV FunPtr (GLenum -> GLenum -> GLenum -> IO ())
glVertexArrayBindingDivisorFunPtr

glVertexArrayBindingDivisorFunPtr :: FunPtr (GLuint -> GLuint -> GLuint -> IO ())
glVertexArrayBindingDivisorFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> IO ())
glVertexArrayBindingDivisorFunPtr = IO (FunPtr (GLenum -> GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexArrayBindingDivisor")

{-# NOINLINE glVertexArrayBindingDivisorFunPtr #-}

-- | Usage: @'glVertexArrayElementBuffer' vaobj buffer@
--
-- Manual page: <https://www.opengl.org/sdk/docs/man/html/glVertexArrayElementBuffer.xhtml>


glVertexArrayElementBuffer :: MonadIO m => GLuint -> GLuint -> m ()
glVertexArrayElementBuffer :: GLenum -> GLenum -> m ()
glVertexArrayElementBuffer = FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
ffiuintuintIOV FunPtr (GLenum -> GLenum -> IO ())
glVertexArrayElementBufferFunPtr

glVertexArrayElementBufferFunPtr :: FunPtr (GLuint -> GLuint -> IO ())
glVertexArrayElementBufferFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glVertexArrayElementBufferFunPtr = IO (FunPtr (GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexArrayElementBuffer")

{-# NOINLINE glVertexArrayElementBufferFunPtr #-}

-- | Usage: @'glVertexArrayVertexBuffer' vaobj bindingindex buffer offset stride@


glVertexArrayVertexBuffer :: MonadIO m => GLuint -> GLuint -> GLuint -> GLintptr -> GLsizei -> m ()
glVertexArrayVertexBuffer :: GLenum -> GLenum -> GLenum -> GLintptr -> GLsizei -> m ()
glVertexArrayVertexBuffer = FunPtr (GLenum -> GLenum -> GLenum -> GLintptr -> GLsizei -> IO ())
-> GLenum -> GLenum -> GLenum -> GLintptr -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> GLintptr -> GLsizei -> IO ())
-> GLenum -> GLenum -> GLenum -> GLintptr -> GLsizei -> m ()
ffiuintuintuintintptrsizeiIOV FunPtr (GLenum -> GLenum -> GLenum -> GLintptr -> GLsizei -> IO ())
glVertexArrayVertexBufferFunPtr

glVertexArrayVertexBufferFunPtr :: FunPtr (GLuint -> GLuint -> GLuint -> GLintptr -> GLsizei -> IO ())
glVertexArrayVertexBufferFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> GLintptr -> GLsizei -> IO ())
glVertexArrayVertexBufferFunPtr = IO
  (FunPtr
     (GLenum -> GLenum -> GLenum -> GLintptr -> GLsizei -> IO ()))
-> FunPtr
     (GLenum -> GLenum -> GLenum -> GLintptr -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum -> GLenum -> GLenum -> GLintptr -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexArrayVertexBuffer")

{-# NOINLINE glVertexArrayVertexBufferFunPtr #-}

-- | Usage: @'glVertexArrayVertexBuffers' vaobj first count buffers offsets strides@


glVertexArrayVertexBuffers :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> m ()
glVertexArrayVertexBuffers :: GLenum
-> GLenum
-> GLsizei
-> Ptr GLenum
-> Ptr GLintptr
-> Ptr GLsizei
-> m ()
glVertexArrayVertexBuffers = FunPtr
  (GLenum
   -> GLenum
   -> GLsizei
   -> Ptr GLenum
   -> Ptr GLintptr
   -> Ptr GLsizei
   -> IO ())
-> GLenum
-> GLenum
-> GLsizei
-> Ptr GLenum
-> Ptr GLintptr
-> Ptr GLsizei
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLenum
   -> GLsizei
   -> Ptr GLenum
   -> Ptr GLintptr
   -> Ptr GLsizei
   -> IO ())
-> GLenum
-> GLenum
-> GLsizei
-> Ptr GLenum
-> Ptr GLintptr
-> Ptr GLsizei
-> m ()
ffiuintuintsizeiPtruintPtrintptrPtrsizeiIOV FunPtr
  (GLenum
   -> GLenum
   -> GLsizei
   -> Ptr GLenum
   -> Ptr GLintptr
   -> Ptr GLsizei
   -> IO ())
glVertexArrayVertexBuffersFunPtr

glVertexArrayVertexBuffersFunPtr :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> IO ())
glVertexArrayVertexBuffersFunPtr :: FunPtr
  (GLenum
   -> GLenum
   -> GLsizei
   -> Ptr GLenum
   -> Ptr GLintptr
   -> Ptr GLsizei
   -> IO ())
glVertexArrayVertexBuffersFunPtr = IO
  (FunPtr
     (GLenum
      -> GLenum
      -> GLsizei
      -> Ptr GLenum
      -> Ptr GLintptr
      -> Ptr GLsizei
      -> IO ()))
-> FunPtr
     (GLenum
      -> GLenum
      -> GLsizei
      -> Ptr GLenum
      -> Ptr GLintptr
      -> Ptr GLsizei
      -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLenum
         -> GLsizei
         -> Ptr GLenum
         -> Ptr GLintptr
         -> Ptr GLsizei
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexArrayVertexBuffers")

{-# NOINLINE glVertexArrayVertexBuffersFunPtr #-}

pattern $bGL_CLIP_DEPTH_MODE :: a
$mGL_CLIP_DEPTH_MODE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CLIP_DEPTH_MODE = 0x935D

pattern $bGL_CLIP_ORIGIN :: a
$mGL_CLIP_ORIGIN :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CLIP_ORIGIN = 0x935C

pattern $bGL_CONTEXT_FLAG_ROBUST_ACCESS_BIT :: a
$mGL_CONTEXT_FLAG_ROBUST_ACCESS_BIT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT = 0x00000004

pattern $bGL_CONTEXT_LOST :: a
$mGL_CONTEXT_LOST :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CONTEXT_LOST = 0x0507

pattern $bGL_CONTEXT_RELEASE_BEHAVIOR :: a
$mGL_CONTEXT_RELEASE_BEHAVIOR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CONTEXT_RELEASE_BEHAVIOR = 0x82FB

pattern $bGL_CONTEXT_RELEASE_BEHAVIOR_FLUSH :: a
$mGL_CONTEXT_RELEASE_BEHAVIOR_FLUSH :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH = 0x82FC

pattern $bGL_GUILTY_CONTEXT_RESET :: a
$mGL_GUILTY_CONTEXT_RESET :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_GUILTY_CONTEXT_RESET = 0x8253

pattern $bGL_INNOCENT_CONTEXT_RESET :: a
$mGL_INNOCENT_CONTEXT_RESET :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INNOCENT_CONTEXT_RESET = 0x8254

pattern $bGL_LOSE_CONTEXT_ON_RESET :: a
$mGL_LOSE_CONTEXT_ON_RESET :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LOSE_CONTEXT_ON_RESET = 0x8252

pattern $bGL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES :: a
$mGL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES = 0x82FA

pattern $bGL_MAX_CULL_DISTANCES :: a
$mGL_MAX_CULL_DISTANCES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_CULL_DISTANCES = 0x82F9

pattern $bGL_NEGATIVE_ONE_TO_ONE :: a
$mGL_NEGATIVE_ONE_TO_ONE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_NEGATIVE_ONE_TO_ONE = 0x935E

pattern $bGL_NO_RESET_NOTIFICATION :: a
$mGL_NO_RESET_NOTIFICATION :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_NO_RESET_NOTIFICATION = 0x8261

pattern $bGL_QUERY_BY_REGION_NO_WAIT_INVERTED :: a
$mGL_QUERY_BY_REGION_NO_WAIT_INVERTED :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_QUERY_BY_REGION_NO_WAIT_INVERTED = 0x8E1A

pattern $bGL_QUERY_BY_REGION_WAIT_INVERTED :: a
$mGL_QUERY_BY_REGION_WAIT_INVERTED :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_QUERY_BY_REGION_WAIT_INVERTED = 0x8E19

pattern $bGL_QUERY_NO_WAIT_INVERTED :: a
$mGL_QUERY_NO_WAIT_INVERTED :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_QUERY_NO_WAIT_INVERTED = 0x8E18

pattern $bGL_QUERY_TARGET :: a
$mGL_QUERY_TARGET :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_QUERY_TARGET = 0x82EA

pattern $bGL_QUERY_WAIT_INVERTED :: a
$mGL_QUERY_WAIT_INVERTED :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_QUERY_WAIT_INVERTED = 0x8E17

pattern $bGL_RESET_NOTIFICATION_STRATEGY :: a
$mGL_RESET_NOTIFICATION_STRATEGY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RESET_NOTIFICATION_STRATEGY = 0x8256

pattern $bGL_TEXTURE_TARGET :: a
$mGL_TEXTURE_TARGET :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_TARGET = 0x1006

pattern $bGL_UNKNOWN_CONTEXT_RESET :: a
$mGL_UNKNOWN_CONTEXT_RESET :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNKNOWN_CONTEXT_RESET = 0x8255

pattern $bGL_ZERO_TO_ONE :: a
$mGL_ZERO_TO_ONE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ZERO_TO_ONE = 0x935F

pattern $bGL_BLEND_EQUATION :: a
$mGL_BLEND_EQUATION :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_BLEND_EQUATION = 0x8009

pattern $bGL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS :: a
$mGL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS = 0x8CD9

pattern $bGL_SUBSAMPLE_DISTANCE_AMD :: a
$mGL_SUBSAMPLE_DISTANCE_AMD :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SUBSAMPLE_DISTANCE_AMD = 0x883F

pattern $bGL_FLOAT16_NV :: a
$mGL_FLOAT16_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FLOAT16_NV = 0x8FF8

pattern $bGL_FLOAT16_VEC2_NV :: a
$mGL_FLOAT16_VEC2_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FLOAT16_VEC2_NV = 0x8FF9

pattern $bGL_FLOAT16_VEC3_NV :: a
$mGL_FLOAT16_VEC3_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FLOAT16_VEC3_NV = 0x8FFA

pattern $bGL_FLOAT16_VEC4_NV :: a
$mGL_FLOAT16_VEC4_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FLOAT16_VEC4_NV = 0x8FFB

-- | Usage: @'glGetUniformi64vNV' program location params@
--
-- The length of @params@ should be @COMPSIZE(program,location)@.


glGetUniformi64vNV :: MonadIO m => GLuint -> GLint -> Ptr GLint64EXT -> m ()
glGetUniformi64vNV :: GLenum -> GLsizei -> Ptr GLint64 -> m ()
glGetUniformi64vNV = FunPtr (GLenum -> GLsizei -> Ptr GLint64 -> IO ())
-> GLenum -> GLsizei -> Ptr GLint64 -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> Ptr GLint64 -> IO ())
-> GLenum -> GLsizei -> Ptr GLint64 -> m ()
ffiuintintPtrint64EXTIOV FunPtr (GLenum -> GLsizei -> Ptr GLint64 -> IO ())
glGetUniformi64vNVFunPtr

glGetUniformi64vNVFunPtr :: FunPtr (GLuint -> GLint -> Ptr GLint64EXT -> IO ())
glGetUniformi64vNVFunPtr :: FunPtr (GLenum -> GLsizei -> Ptr GLint64 -> IO ())
glGetUniformi64vNVFunPtr = IO (FunPtr (GLenum -> GLsizei -> Ptr GLint64 -> IO ()))
-> FunPtr (GLenum -> GLsizei -> Ptr GLint64 -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLsizei -> Ptr GLint64 -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetUniformi64vNV")

{-# NOINLINE glGetUniformi64vNVFunPtr #-}

-- | Usage: @'glGetUniformui64vNV' program location params@
--
-- The length of @params@ should be @COMPSIZE(program,location)@.


glGetUniformui64vNV :: MonadIO m => GLuint -> GLint -> Ptr GLuint64EXT -> m ()
glGetUniformui64vNV :: GLenum -> GLsizei -> Ptr GLuint64 -> m ()
glGetUniformui64vNV = FunPtr (GLenum -> GLsizei -> Ptr GLuint64 -> IO ())
-> GLenum -> GLsizei -> Ptr GLuint64 -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> Ptr GLuint64 -> IO ())
-> GLenum -> GLsizei -> Ptr GLuint64 -> m ()
ffiuintintPtruint64EXTIOV FunPtr (GLenum -> GLsizei -> Ptr GLuint64 -> IO ())
glGetUniformui64vNVFunPtr

glGetUniformui64vNVFunPtr :: FunPtr (GLuint -> GLint -> Ptr GLuint64EXT -> IO ())
glGetUniformui64vNVFunPtr :: FunPtr (GLenum -> GLsizei -> Ptr GLuint64 -> IO ())
glGetUniformui64vNVFunPtr = IO (FunPtr (GLenum -> GLsizei -> Ptr GLuint64 -> IO ()))
-> FunPtr (GLenum -> GLsizei -> Ptr GLuint64 -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLsizei -> Ptr GLuint64 -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetUniformui64vNV")

{-# NOINLINE glGetUniformui64vNVFunPtr #-}

-- | Usage: @'glProgramUniform1i64NV' program location x@


glProgramUniform1i64NV :: MonadIO m => GLuint -> GLint -> GLint64EXT -> m ()
glProgramUniform1i64NV :: GLenum -> GLsizei -> GLint64 -> m ()
glProgramUniform1i64NV = FunPtr (GLenum -> GLsizei -> GLint64 -> IO ())
-> GLenum -> GLsizei -> GLint64 -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLint64 -> IO ())
-> GLenum -> GLsizei -> GLint64 -> m ()
ffiuintintint64EXTIOV FunPtr (GLenum -> GLsizei -> GLint64 -> IO ())
glProgramUniform1i64NVFunPtr

glProgramUniform1i64NVFunPtr :: FunPtr (GLuint -> GLint -> GLint64EXT -> IO ())
glProgramUniform1i64NVFunPtr :: FunPtr (GLenum -> GLsizei -> GLint64 -> IO ())
glProgramUniform1i64NVFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLint64 -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLint64 -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLsizei -> GLint64 -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform1i64NV")

{-# NOINLINE glProgramUniform1i64NVFunPtr #-}

-- | Usage: @'glProgramUniform1i64vNV' program location count value@
--
-- The length of @value@ should be @count@.


glProgramUniform1i64vNV :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint64EXT -> m ()
glProgramUniform1i64vNV :: GLenum -> GLsizei -> GLsizei -> Ptr GLint64 -> m ()
glProgramUniform1i64vNV = FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLint64 -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLint64 -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLint64 -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLint64 -> m ()
ffiuintintsizeiPtrint64EXTIOV FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLint64 -> IO ())
glProgramUniform1i64vNVFunPtr

glProgramUniform1i64vNVFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint64EXT -> IO ())
glProgramUniform1i64vNVFunPtr :: FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLint64 -> IO ())
glProgramUniform1i64vNVFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLint64 -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLint64 -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLint64 -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform1i64vNV")

{-# NOINLINE glProgramUniform1i64vNVFunPtr #-}

-- | Usage: @'glProgramUniform1ui64NV' program location x@


glProgramUniform1ui64NV :: MonadIO m => GLuint -> GLint -> GLuint64EXT -> m ()
glProgramUniform1ui64NV :: GLenum -> GLsizei -> GLuint64 -> m ()
glProgramUniform1ui64NV = FunPtr (GLenum -> GLsizei -> GLuint64 -> IO ())
-> GLenum -> GLsizei -> GLuint64 -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLuint64 -> IO ())
-> GLenum -> GLsizei -> GLuint64 -> m ()
ffiuintintuint64EXTIOV FunPtr (GLenum -> GLsizei -> GLuint64 -> IO ())
glProgramUniform1ui64NVFunPtr

glProgramUniform1ui64NVFunPtr :: FunPtr (GLuint -> GLint -> GLuint64EXT -> IO ())
glProgramUniform1ui64NVFunPtr :: FunPtr (GLenum -> GLsizei -> GLuint64 -> IO ())
glProgramUniform1ui64NVFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLuint64 -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLuint64 -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLsizei -> GLuint64 -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform1ui64NV")

{-# NOINLINE glProgramUniform1ui64NVFunPtr #-}

-- | Usage: @'glProgramUniform1ui64vNV' program location count value@
--
-- The length of @value@ should be @count@.


glProgramUniform1ui64vNV :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint64EXT -> m ()
glProgramUniform1ui64vNV :: GLenum -> GLsizei -> GLsizei -> Ptr GLuint64 -> m ()
glProgramUniform1ui64vNV = FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLuint64 -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLuint64 -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLuint64 -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLuint64 -> m ()
ffiuintintsizeiPtruint64EXTIOV FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLuint64 -> IO ())
glProgramUniform1ui64vNVFunPtr

glProgramUniform1ui64vNVFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint64EXT -> IO ())
glProgramUniform1ui64vNVFunPtr :: FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLuint64 -> IO ())
glProgramUniform1ui64vNVFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLuint64 -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLuint64 -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLuint64 -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform1ui64vNV")

{-# NOINLINE glProgramUniform1ui64vNVFunPtr #-}

-- | Usage: @'glProgramUniform2i64NV' program location x y@


glProgramUniform2i64NV :: MonadIO m => GLuint -> GLint -> GLint64EXT -> GLint64EXT -> m ()
glProgramUniform2i64NV :: GLenum -> GLsizei -> GLint64 -> GLint64 -> m ()
glProgramUniform2i64NV = FunPtr (GLenum -> GLsizei -> GLint64 -> GLint64 -> IO ())
-> GLenum -> GLsizei -> GLint64 -> GLint64 -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLint64 -> GLint64 -> IO ())
-> GLenum -> GLsizei -> GLint64 -> GLint64 -> m ()
ffiuintintint64EXTint64EXTIOV FunPtr (GLenum -> GLsizei -> GLint64 -> GLint64 -> IO ())
glProgramUniform2i64NVFunPtr

glProgramUniform2i64NVFunPtr :: FunPtr (GLuint -> GLint -> GLint64EXT -> GLint64EXT -> IO ())
glProgramUniform2i64NVFunPtr :: FunPtr (GLenum -> GLsizei -> GLint64 -> GLint64 -> IO ())
glProgramUniform2i64NVFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLint64 -> GLint64 -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLint64 -> GLint64 -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLsizei -> GLint64 -> GLint64 -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform2i64NV")

{-# NOINLINE glProgramUniform2i64NVFunPtr #-}

-- | Usage: @'glProgramUniform2i64vNV' program location count value@
--
-- The length of @value@ should be @count*2@.


glProgramUniform2i64vNV :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint64EXT -> m ()
glProgramUniform2i64vNV :: GLenum -> GLsizei -> GLsizei -> Ptr GLint64 -> m ()
glProgramUniform2i64vNV = FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLint64 -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLint64 -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLint64 -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLint64 -> m ()
ffiuintintsizeiPtrint64EXTIOV FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLint64 -> IO ())
glProgramUniform2i64vNVFunPtr

glProgramUniform2i64vNVFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint64EXT -> IO ())
glProgramUniform2i64vNVFunPtr :: FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLint64 -> IO ())
glProgramUniform2i64vNVFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLint64 -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLint64 -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLint64 -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform2i64vNV")

{-# NOINLINE glProgramUniform2i64vNVFunPtr #-}

-- | Usage: @'glProgramUniform2ui64NV' program location x y@


glProgramUniform2ui64NV :: MonadIO m => GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> m ()
glProgramUniform2ui64NV :: GLenum -> GLsizei -> GLuint64 -> GLuint64 -> m ()
glProgramUniform2ui64NV = FunPtr (GLenum -> GLsizei -> GLuint64 -> GLuint64 -> IO ())
-> GLenum -> GLsizei -> GLuint64 -> GLuint64 -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLuint64 -> GLuint64 -> IO ())
-> GLenum -> GLsizei -> GLuint64 -> GLuint64 -> m ()
ffiuintintuint64EXTuint64EXTIOV FunPtr (GLenum -> GLsizei -> GLuint64 -> GLuint64 -> IO ())
glProgramUniform2ui64NVFunPtr

glProgramUniform2ui64NVFunPtr :: FunPtr (GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> IO ())
glProgramUniform2ui64NVFunPtr :: FunPtr (GLenum -> GLsizei -> GLuint64 -> GLuint64 -> IO ())
glProgramUniform2ui64NVFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLuint64 -> GLuint64 -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLuint64 -> GLuint64 -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLsizei -> GLuint64 -> GLuint64 -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform2ui64NV")

{-# NOINLINE glProgramUniform2ui64NVFunPtr #-}

-- | Usage: @'glProgramUniform2ui64vNV' program location count value@
--
-- The length of @value@ should be @count*2@.


glProgramUniform2ui64vNV :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint64EXT -> m ()
glProgramUniform2ui64vNV :: GLenum -> GLsizei -> GLsizei -> Ptr GLuint64 -> m ()
glProgramUniform2ui64vNV = FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLuint64 -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLuint64 -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLuint64 -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLuint64 -> m ()
ffiuintintsizeiPtruint64EXTIOV FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLuint64 -> IO ())
glProgramUniform2ui64vNVFunPtr

glProgramUniform2ui64vNVFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint64EXT -> IO ())
glProgramUniform2ui64vNVFunPtr :: FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLuint64 -> IO ())
glProgramUniform2ui64vNVFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLuint64 -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLuint64 -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLuint64 -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform2ui64vNV")

{-# NOINLINE glProgramUniform2ui64vNVFunPtr #-}

-- | Usage: @'glProgramUniform3i64NV' program location x y z@


glProgramUniform3i64NV :: MonadIO m => GLuint -> GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> m ()
glProgramUniform3i64NV :: GLenum -> GLsizei -> GLint64 -> GLint64 -> GLint64 -> m ()
glProgramUniform3i64NV = FunPtr
  (GLenum -> GLsizei -> GLint64 -> GLint64 -> GLint64 -> IO ())
-> GLenum -> GLsizei -> GLint64 -> GLint64 -> GLint64 -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum -> GLsizei -> GLint64 -> GLint64 -> GLint64 -> IO ())
-> GLenum -> GLsizei -> GLint64 -> GLint64 -> GLint64 -> m ()
ffiuintintint64EXTint64EXTint64EXTIOV FunPtr
  (GLenum -> GLsizei -> GLint64 -> GLint64 -> GLint64 -> IO ())
glProgramUniform3i64NVFunPtr

glProgramUniform3i64NVFunPtr :: FunPtr (GLuint -> GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ())
glProgramUniform3i64NVFunPtr :: FunPtr
  (GLenum -> GLsizei -> GLint64 -> GLint64 -> GLint64 -> IO ())
glProgramUniform3i64NVFunPtr = IO
  (FunPtr
     (GLenum -> GLsizei -> GLint64 -> GLint64 -> GLint64 -> IO ()))
-> FunPtr
     (GLenum -> GLsizei -> GLint64 -> GLint64 -> GLint64 -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum -> GLsizei -> GLint64 -> GLint64 -> GLint64 -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform3i64NV")

{-# NOINLINE glProgramUniform3i64NVFunPtr #-}

-- | Usage: @'glProgramUniform3i64vNV' program location count value@
--
-- The length of @value@ should be @count*3@.


glProgramUniform3i64vNV :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint64EXT -> m ()
glProgramUniform3i64vNV :: GLenum -> GLsizei -> GLsizei -> Ptr GLint64 -> m ()
glProgramUniform3i64vNV = FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLint64 -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLint64 -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLint64 -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLint64 -> m ()
ffiuintintsizeiPtrint64EXTIOV FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLint64 -> IO ())
glProgramUniform3i64vNVFunPtr

glProgramUniform3i64vNVFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint64EXT -> IO ())
glProgramUniform3i64vNVFunPtr :: FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLint64 -> IO ())
glProgramUniform3i64vNVFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLint64 -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLint64 -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLint64 -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform3i64vNV")

{-# NOINLINE glProgramUniform3i64vNVFunPtr #-}

-- | Usage: @'glProgramUniform3ui64NV' program location x y z@


glProgramUniform3ui64NV :: MonadIO m => GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> m ()
glProgramUniform3ui64NV :: GLenum -> GLsizei -> GLuint64 -> GLuint64 -> GLuint64 -> m ()
glProgramUniform3ui64NV = FunPtr
  (GLenum -> GLsizei -> GLuint64 -> GLuint64 -> GLuint64 -> IO ())
-> GLenum -> GLsizei -> GLuint64 -> GLuint64 -> GLuint64 -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum -> GLsizei -> GLuint64 -> GLuint64 -> GLuint64 -> IO ())
-> GLenum -> GLsizei -> GLuint64 -> GLuint64 -> GLuint64 -> m ()
ffiuintintuint64EXTuint64EXTuint64EXTIOV FunPtr
  (GLenum -> GLsizei -> GLuint64 -> GLuint64 -> GLuint64 -> IO ())
glProgramUniform3ui64NVFunPtr

glProgramUniform3ui64NVFunPtr :: FunPtr (GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ())
glProgramUniform3ui64NVFunPtr :: FunPtr
  (GLenum -> GLsizei -> GLuint64 -> GLuint64 -> GLuint64 -> IO ())
glProgramUniform3ui64NVFunPtr = IO
  (FunPtr
     (GLenum -> GLsizei -> GLuint64 -> GLuint64 -> GLuint64 -> IO ()))
-> FunPtr
     (GLenum -> GLsizei -> GLuint64 -> GLuint64 -> GLuint64 -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum -> GLsizei -> GLuint64 -> GLuint64 -> GLuint64 -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform3ui64NV")

{-# NOINLINE glProgramUniform3ui64NVFunPtr #-}

-- | Usage: @'glProgramUniform3ui64vNV' program location count value@
--
-- The length of @value@ should be @count*3@.


glProgramUniform3ui64vNV :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint64EXT -> m ()
glProgramUniform3ui64vNV :: GLenum -> GLsizei -> GLsizei -> Ptr GLuint64 -> m ()
glProgramUniform3ui64vNV = FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLuint64 -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLuint64 -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLuint64 -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLuint64 -> m ()
ffiuintintsizeiPtruint64EXTIOV FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLuint64 -> IO ())
glProgramUniform3ui64vNVFunPtr

glProgramUniform3ui64vNVFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint64EXT -> IO ())
glProgramUniform3ui64vNVFunPtr :: FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLuint64 -> IO ())
glProgramUniform3ui64vNVFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLuint64 -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLuint64 -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLuint64 -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform3ui64vNV")

{-# NOINLINE glProgramUniform3ui64vNVFunPtr #-}

-- | Usage: @'glProgramUniform4i64NV' program location x y z w@


glProgramUniform4i64NV :: MonadIO m => GLuint -> GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> m ()
glProgramUniform4i64NV :: GLenum
-> GLsizei -> GLint64 -> GLint64 -> GLint64 -> GLint64 -> m ()
glProgramUniform4i64NV = FunPtr
  (GLenum
   -> GLsizei -> GLint64 -> GLint64 -> GLint64 -> GLint64 -> IO ())
-> GLenum
-> GLsizei
-> GLint64
-> GLint64
-> GLint64
-> GLint64
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei -> GLint64 -> GLint64 -> GLint64 -> GLint64 -> IO ())
-> GLenum
-> GLsizei
-> GLint64
-> GLint64
-> GLint64
-> GLint64
-> m ()
ffiuintintint64EXTint64EXTint64EXTint64EXTIOV FunPtr
  (GLenum
   -> GLsizei -> GLint64 -> GLint64 -> GLint64 -> GLint64 -> IO ())
glProgramUniform4i64NVFunPtr

glProgramUniform4i64NVFunPtr :: FunPtr (GLuint -> GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ())
glProgramUniform4i64NVFunPtr :: FunPtr
  (GLenum
   -> GLsizei -> GLint64 -> GLint64 -> GLint64 -> GLint64 -> IO ())
glProgramUniform4i64NVFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei -> GLint64 -> GLint64 -> GLint64 -> GLint64 -> IO ()))
-> FunPtr
     (GLenum
      -> GLsizei -> GLint64 -> GLint64 -> GLint64 -> GLint64 -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei -> GLint64 -> GLint64 -> GLint64 -> GLint64 -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform4i64NV")

{-# NOINLINE glProgramUniform4i64NVFunPtr #-}

-- | Usage: @'glProgramUniform4i64vNV' program location count value@
--
-- The length of @value@ should be @count*4@.


glProgramUniform4i64vNV :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint64EXT -> m ()
glProgramUniform4i64vNV :: GLenum -> GLsizei -> GLsizei -> Ptr GLint64 -> m ()
glProgramUniform4i64vNV = FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLint64 -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLint64 -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLint64 -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLint64 -> m ()
ffiuintintsizeiPtrint64EXTIOV FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLint64 -> IO ())
glProgramUniform4i64vNVFunPtr

glProgramUniform4i64vNVFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint64EXT -> IO ())
glProgramUniform4i64vNVFunPtr :: FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLint64 -> IO ())
glProgramUniform4i64vNVFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLint64 -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLint64 -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLint64 -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform4i64vNV")

{-# NOINLINE glProgramUniform4i64vNVFunPtr #-}

-- | Usage: @'glProgramUniform4ui64NV' program location x y z w@


glProgramUniform4ui64NV :: MonadIO m => GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> m ()
glProgramUniform4ui64NV :: GLenum
-> GLsizei -> GLuint64 -> GLuint64 -> GLuint64 -> GLuint64 -> m ()
glProgramUniform4ui64NV = FunPtr
  (GLenum
   -> GLsizei
   -> GLuint64
   -> GLuint64
   -> GLuint64
   -> GLuint64
   -> IO ())
-> GLenum
-> GLsizei
-> GLuint64
-> GLuint64
-> GLuint64
-> GLuint64
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei
   -> GLuint64
   -> GLuint64
   -> GLuint64
   -> GLuint64
   -> IO ())
-> GLenum
-> GLsizei
-> GLuint64
-> GLuint64
-> GLuint64
-> GLuint64
-> m ()
ffiuintintuint64EXTuint64EXTuint64EXTuint64EXTIOV FunPtr
  (GLenum
   -> GLsizei
   -> GLuint64
   -> GLuint64
   -> GLuint64
   -> GLuint64
   -> IO ())
glProgramUniform4ui64NVFunPtr

glProgramUniform4ui64NVFunPtr :: FunPtr (GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ())
glProgramUniform4ui64NVFunPtr :: FunPtr
  (GLenum
   -> GLsizei
   -> GLuint64
   -> GLuint64
   -> GLuint64
   -> GLuint64
   -> IO ())
glProgramUniform4ui64NVFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei
      -> GLuint64
      -> GLuint64
      -> GLuint64
      -> GLuint64
      -> IO ()))
-> FunPtr
     (GLenum
      -> GLsizei
      -> GLuint64
      -> GLuint64
      -> GLuint64
      -> GLuint64
      -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei
         -> GLuint64
         -> GLuint64
         -> GLuint64
         -> GLuint64
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform4ui64NV")

{-# NOINLINE glProgramUniform4ui64NVFunPtr #-}

-- | Usage: @'glProgramUniform4ui64vNV' program location count value@
--
-- The length of @value@ should be @count*4@.


glProgramUniform4ui64vNV :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint64EXT -> m ()
glProgramUniform4ui64vNV :: GLenum -> GLsizei -> GLsizei -> Ptr GLuint64 -> m ()
glProgramUniform4ui64vNV = FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLuint64 -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLuint64 -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLuint64 -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLuint64 -> m ()
ffiuintintsizeiPtruint64EXTIOV FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLuint64 -> IO ())
glProgramUniform4ui64vNVFunPtr

glProgramUniform4ui64vNVFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint64EXT -> IO ())
glProgramUniform4ui64vNVFunPtr :: FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLuint64 -> IO ())
glProgramUniform4ui64vNVFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLuint64 -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLuint64 -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLuint64 -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform4ui64vNV")

{-# NOINLINE glProgramUniform4ui64vNVFunPtr #-}

-- | Usage: @'glUniform1i64NV' location x@


glUniform1i64NV :: MonadIO m => GLint -> GLint64EXT -> m ()
glUniform1i64NV :: GLsizei -> GLint64 -> m ()
glUniform1i64NV = FunPtr (GLsizei -> GLint64 -> IO ()) -> GLsizei -> GLint64 -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLint64 -> IO ()) -> GLsizei -> GLint64 -> m ()
ffiintint64EXTIOV FunPtr (GLsizei -> GLint64 -> IO ())
glUniform1i64NVFunPtr

glUniform1i64NVFunPtr :: FunPtr (GLint -> GLint64EXT -> IO ())
glUniform1i64NVFunPtr :: FunPtr (GLsizei -> GLint64 -> IO ())
glUniform1i64NVFunPtr = IO (FunPtr (GLsizei -> GLint64 -> IO ()))
-> FunPtr (GLsizei -> GLint64 -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> GLint64 -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniform1i64NV")

{-# NOINLINE glUniform1i64NVFunPtr #-}

-- | Usage: @'glUniform1i64vNV' location count value@
--
-- The length of @value@ should be @count*1@.


glUniform1i64vNV :: MonadIO m => GLint -> GLsizei -> Ptr GLint64EXT -> m ()
glUniform1i64vNV :: GLsizei -> GLsizei -> Ptr GLint64 -> m ()
glUniform1i64vNV = FunPtr (GLsizei -> GLsizei -> Ptr GLint64 -> IO ())
-> GLsizei -> GLsizei -> Ptr GLint64 -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> Ptr GLint64 -> IO ())
-> GLsizei -> GLsizei -> Ptr GLint64 -> m ()
ffiintsizeiPtrint64EXTIOV FunPtr (GLsizei -> GLsizei -> Ptr GLint64 -> IO ())
glUniform1i64vNVFunPtr

glUniform1i64vNVFunPtr :: FunPtr (GLint -> GLsizei -> Ptr GLint64EXT -> IO ())
glUniform1i64vNVFunPtr :: FunPtr (GLsizei -> GLsizei -> Ptr GLint64 -> IO ())
glUniform1i64vNVFunPtr = IO (FunPtr (GLsizei -> GLsizei -> Ptr GLint64 -> IO ()))
-> FunPtr (GLsizei -> GLsizei -> Ptr GLint64 -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> GLsizei -> Ptr GLint64 -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniform1i64vNV")

{-# NOINLINE glUniform1i64vNVFunPtr #-}

-- | Usage: @'glUniform1ui64NV' location x@


glUniform1ui64NV :: MonadIO m => GLint -> GLuint64EXT -> m ()
glUniform1ui64NV :: GLsizei -> GLuint64 -> m ()
glUniform1ui64NV = FunPtr (GLsizei -> GLuint64 -> IO ())
-> GLsizei -> GLuint64 -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLuint64 -> IO ())
-> GLsizei -> GLuint64 -> m ()
ffiintuint64EXTIOV FunPtr (GLsizei -> GLuint64 -> IO ())
glUniform1ui64NVFunPtr

glUniform1ui64NVFunPtr :: FunPtr (GLint -> GLuint64EXT -> IO ())
glUniform1ui64NVFunPtr :: FunPtr (GLsizei -> GLuint64 -> IO ())
glUniform1ui64NVFunPtr = IO (FunPtr (GLsizei -> GLuint64 -> IO ()))
-> FunPtr (GLsizei -> GLuint64 -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> GLuint64 -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniform1ui64NV")

{-# NOINLINE glUniform1ui64NVFunPtr #-}

-- | Usage: @'glUniform1ui64vNV' location count value@
--
-- The length of @value@ should be @count*1@.


glUniform1ui64vNV :: MonadIO m => GLint -> GLsizei -> Ptr GLuint64EXT -> m ()
glUniform1ui64vNV :: GLsizei -> GLsizei -> Ptr GLuint64 -> m ()
glUniform1ui64vNV = FunPtr (GLsizei -> GLsizei -> Ptr GLuint64 -> IO ())
-> GLsizei -> GLsizei -> Ptr GLuint64 -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> Ptr GLuint64 -> IO ())
-> GLsizei -> GLsizei -> Ptr GLuint64 -> m ()
ffiintsizeiPtruint64EXTIOV FunPtr (GLsizei -> GLsizei -> Ptr GLuint64 -> IO ())
glUniform1ui64vNVFunPtr

glUniform1ui64vNVFunPtr :: FunPtr (GLint -> GLsizei -> Ptr GLuint64EXT -> IO ())
glUniform1ui64vNVFunPtr :: FunPtr (GLsizei -> GLsizei -> Ptr GLuint64 -> IO ())
glUniform1ui64vNVFunPtr = IO (FunPtr (GLsizei -> GLsizei -> Ptr GLuint64 -> IO ()))
-> FunPtr (GLsizei -> GLsizei -> Ptr GLuint64 -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> GLsizei -> Ptr GLuint64 -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniform1ui64vNV")

{-# NOINLINE glUniform1ui64vNVFunPtr #-}

-- | Usage: @'glUniform2i64NV' location x y@


glUniform2i64NV :: MonadIO m => GLint -> GLint64EXT -> GLint64EXT -> m ()
glUniform2i64NV :: GLsizei -> GLint64 -> GLint64 -> m ()
glUniform2i64NV = FunPtr (GLsizei -> GLint64 -> GLint64 -> IO ())
-> GLsizei -> GLint64 -> GLint64 -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLint64 -> GLint64 -> IO ())
-> GLsizei -> GLint64 -> GLint64 -> m ()
ffiintint64EXTint64EXTIOV FunPtr (GLsizei -> GLint64 -> GLint64 -> IO ())
glUniform2i64NVFunPtr

glUniform2i64NVFunPtr :: FunPtr (GLint -> GLint64EXT -> GLint64EXT -> IO ())
glUniform2i64NVFunPtr :: FunPtr (GLsizei -> GLint64 -> GLint64 -> IO ())
glUniform2i64NVFunPtr = IO (FunPtr (GLsizei -> GLint64 -> GLint64 -> IO ()))
-> FunPtr (GLsizei -> GLint64 -> GLint64 -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> GLint64 -> GLint64 -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniform2i64NV")

{-# NOINLINE glUniform2i64NVFunPtr #-}

-- | Usage: @'glUniform2i64vNV' location count value@
--
-- The length of @value@ should be @count*2@.


glUniform2i64vNV :: MonadIO m => GLint -> GLsizei -> Ptr GLint64EXT -> m ()
glUniform2i64vNV :: GLsizei -> GLsizei -> Ptr GLint64 -> m ()
glUniform2i64vNV = FunPtr (GLsizei -> GLsizei -> Ptr GLint64 -> IO ())
-> GLsizei -> GLsizei -> Ptr GLint64 -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> Ptr GLint64 -> IO ())
-> GLsizei -> GLsizei -> Ptr GLint64 -> m ()
ffiintsizeiPtrint64EXTIOV FunPtr (GLsizei -> GLsizei -> Ptr GLint64 -> IO ())
glUniform2i64vNVFunPtr

glUniform2i64vNVFunPtr :: FunPtr (GLint -> GLsizei -> Ptr GLint64EXT -> IO ())
glUniform2i64vNVFunPtr :: FunPtr (GLsizei -> GLsizei -> Ptr GLint64 -> IO ())
glUniform2i64vNVFunPtr = IO (FunPtr (GLsizei -> GLsizei -> Ptr GLint64 -> IO ()))
-> FunPtr (GLsizei -> GLsizei -> Ptr GLint64 -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> GLsizei -> Ptr GLint64 -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniform2i64vNV")

{-# NOINLINE glUniform2i64vNVFunPtr #-}

-- | Usage: @'glUniform2ui64NV' location x y@


glUniform2ui64NV :: MonadIO m => GLint -> GLuint64EXT -> GLuint64EXT -> m ()
glUniform2ui64NV :: GLsizei -> GLuint64 -> GLuint64 -> m ()
glUniform2ui64NV = FunPtr (GLsizei -> GLuint64 -> GLuint64 -> IO ())
-> GLsizei -> GLuint64 -> GLuint64 -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLuint64 -> GLuint64 -> IO ())
-> GLsizei -> GLuint64 -> GLuint64 -> m ()
ffiintuint64EXTuint64EXTIOV FunPtr (GLsizei -> GLuint64 -> GLuint64 -> IO ())
glUniform2ui64NVFunPtr

glUniform2ui64NVFunPtr :: FunPtr (GLint -> GLuint64EXT -> GLuint64EXT -> IO ())
glUniform2ui64NVFunPtr :: FunPtr (GLsizei -> GLuint64 -> GLuint64 -> IO ())
glUniform2ui64NVFunPtr = IO (FunPtr (GLsizei -> GLuint64 -> GLuint64 -> IO ()))
-> FunPtr (GLsizei -> GLuint64 -> GLuint64 -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> GLuint64 -> GLuint64 -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniform2ui64NV")

{-# NOINLINE glUniform2ui64NVFunPtr #-}

-- | Usage: @'glUniform2ui64vNV' location count value@
--
-- The length of @value@ should be @count*2@.


glUniform2ui64vNV :: MonadIO m => GLint -> GLsizei -> Ptr GLuint64EXT -> m ()
glUniform2ui64vNV :: GLsizei -> GLsizei -> Ptr GLuint64 -> m ()
glUniform2ui64vNV = FunPtr (GLsizei -> GLsizei -> Ptr GLuint64 -> IO ())
-> GLsizei -> GLsizei -> Ptr GLuint64 -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> Ptr GLuint64 -> IO ())
-> GLsizei -> GLsizei -> Ptr GLuint64 -> m ()
ffiintsizeiPtruint64EXTIOV FunPtr (GLsizei -> GLsizei -> Ptr GLuint64 -> IO ())
glUniform2ui64vNVFunPtr

glUniform2ui64vNVFunPtr :: FunPtr (GLint -> GLsizei -> Ptr GLuint64EXT -> IO ())
glUniform2ui64vNVFunPtr :: FunPtr (GLsizei -> GLsizei -> Ptr GLuint64 -> IO ())
glUniform2ui64vNVFunPtr = IO (FunPtr (GLsizei -> GLsizei -> Ptr GLuint64 -> IO ()))
-> FunPtr (GLsizei -> GLsizei -> Ptr GLuint64 -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> GLsizei -> Ptr GLuint64 -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniform2ui64vNV")

{-# NOINLINE glUniform2ui64vNVFunPtr #-}

-- | Usage: @'glUniform3i64NV' location x y z@


glUniform3i64NV :: MonadIO m => GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> m ()
glUniform3i64NV :: GLsizei -> GLint64 -> GLint64 -> GLint64 -> m ()
glUniform3i64NV = FunPtr (GLsizei -> GLint64 -> GLint64 -> GLint64 -> IO ())
-> GLsizei -> GLint64 -> GLint64 -> GLint64 -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLint64 -> GLint64 -> GLint64 -> IO ())
-> GLsizei -> GLint64 -> GLint64 -> GLint64 -> m ()
ffiintint64EXTint64EXTint64EXTIOV FunPtr (GLsizei -> GLint64 -> GLint64 -> GLint64 -> IO ())
glUniform3i64NVFunPtr

glUniform3i64NVFunPtr :: FunPtr (GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ())
glUniform3i64NVFunPtr :: FunPtr (GLsizei -> GLint64 -> GLint64 -> GLint64 -> IO ())
glUniform3i64NVFunPtr = IO (FunPtr (GLsizei -> GLint64 -> GLint64 -> GLint64 -> IO ()))
-> FunPtr (GLsizei -> GLint64 -> GLint64 -> GLint64 -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLsizei -> GLint64 -> GLint64 -> GLint64 -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniform3i64NV")

{-# NOINLINE glUniform3i64NVFunPtr #-}

-- | Usage: @'glUniform3i64vNV' location count value@
--
-- The length of @value@ should be @count*3@.


glUniform3i64vNV :: MonadIO m => GLint -> GLsizei -> Ptr GLint64EXT -> m ()
glUniform3i64vNV :: GLsizei -> GLsizei -> Ptr GLint64 -> m ()
glUniform3i64vNV = FunPtr (GLsizei -> GLsizei -> Ptr GLint64 -> IO ())
-> GLsizei -> GLsizei -> Ptr GLint64 -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> Ptr GLint64 -> IO ())
-> GLsizei -> GLsizei -> Ptr GLint64 -> m ()
ffiintsizeiPtrint64EXTIOV FunPtr (GLsizei -> GLsizei -> Ptr GLint64 -> IO ())
glUniform3i64vNVFunPtr

glUniform3i64vNVFunPtr :: FunPtr (GLint -> GLsizei -> Ptr GLint64EXT -> IO ())
glUniform3i64vNVFunPtr :: FunPtr (GLsizei -> GLsizei -> Ptr GLint64 -> IO ())
glUniform3i64vNVFunPtr = IO (FunPtr (GLsizei -> GLsizei -> Ptr GLint64 -> IO ()))
-> FunPtr (GLsizei -> GLsizei -> Ptr GLint64 -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> GLsizei -> Ptr GLint64 -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniform3i64vNV")

{-# NOINLINE glUniform3i64vNVFunPtr #-}

-- | Usage: @'glUniform3ui64NV' location x y z@


glUniform3ui64NV :: MonadIO m => GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> m ()
glUniform3ui64NV :: GLsizei -> GLuint64 -> GLuint64 -> GLuint64 -> m ()
glUniform3ui64NV = FunPtr (GLsizei -> GLuint64 -> GLuint64 -> GLuint64 -> IO ())
-> GLsizei -> GLuint64 -> GLuint64 -> GLuint64 -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLuint64 -> GLuint64 -> GLuint64 -> IO ())
-> GLsizei -> GLuint64 -> GLuint64 -> GLuint64 -> m ()
ffiintuint64EXTuint64EXTuint64EXTIOV FunPtr (GLsizei -> GLuint64 -> GLuint64 -> GLuint64 -> IO ())
glUniform3ui64NVFunPtr

glUniform3ui64NVFunPtr :: FunPtr (GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ())
glUniform3ui64NVFunPtr :: FunPtr (GLsizei -> GLuint64 -> GLuint64 -> GLuint64 -> IO ())
glUniform3ui64NVFunPtr = IO (FunPtr (GLsizei -> GLuint64 -> GLuint64 -> GLuint64 -> IO ()))
-> FunPtr (GLsizei -> GLuint64 -> GLuint64 -> GLuint64 -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLsizei -> GLuint64 -> GLuint64 -> GLuint64 -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniform3ui64NV")

{-# NOINLINE glUniform3ui64NVFunPtr #-}

-- | Usage: @'glUniform3ui64vNV' location count value@
--
-- The length of @value@ should be @count*3@.


glUniform3ui64vNV :: MonadIO m => GLint -> GLsizei -> Ptr GLuint64EXT -> m ()
glUniform3ui64vNV :: GLsizei -> GLsizei -> Ptr GLuint64 -> m ()
glUniform3ui64vNV = FunPtr (GLsizei -> GLsizei -> Ptr GLuint64 -> IO ())
-> GLsizei -> GLsizei -> Ptr GLuint64 -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> Ptr GLuint64 -> IO ())
-> GLsizei -> GLsizei -> Ptr GLuint64 -> m ()
ffiintsizeiPtruint64EXTIOV FunPtr (GLsizei -> GLsizei -> Ptr GLuint64 -> IO ())
glUniform3ui64vNVFunPtr

glUniform3ui64vNVFunPtr :: FunPtr (GLint -> GLsizei -> Ptr GLuint64EXT -> IO ())
glUniform3ui64vNVFunPtr :: FunPtr (GLsizei -> GLsizei -> Ptr GLuint64 -> IO ())
glUniform3ui64vNVFunPtr = IO (FunPtr (GLsizei -> GLsizei -> Ptr GLuint64 -> IO ()))
-> FunPtr (GLsizei -> GLsizei -> Ptr GLuint64 -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> GLsizei -> Ptr GLuint64 -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniform3ui64vNV")

{-# NOINLINE glUniform3ui64vNVFunPtr #-}

-- | Usage: @'glUniform4i64NV' location x y z w@


glUniform4i64NV :: MonadIO m => GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> m ()
glUniform4i64NV :: GLsizei -> GLint64 -> GLint64 -> GLint64 -> GLint64 -> m ()
glUniform4i64NV = FunPtr
  (GLsizei -> GLint64 -> GLint64 -> GLint64 -> GLint64 -> IO ())
-> GLsizei -> GLint64 -> GLint64 -> GLint64 -> GLint64 -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLsizei -> GLint64 -> GLint64 -> GLint64 -> GLint64 -> IO ())
-> GLsizei -> GLint64 -> GLint64 -> GLint64 -> GLint64 -> m ()
ffiintint64EXTint64EXTint64EXTint64EXTIOV FunPtr
  (GLsizei -> GLint64 -> GLint64 -> GLint64 -> GLint64 -> IO ())
glUniform4i64NVFunPtr

glUniform4i64NVFunPtr :: FunPtr (GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ())
glUniform4i64NVFunPtr :: FunPtr
  (GLsizei -> GLint64 -> GLint64 -> GLint64 -> GLint64 -> IO ())
glUniform4i64NVFunPtr = IO
  (FunPtr
     (GLsizei -> GLint64 -> GLint64 -> GLint64 -> GLint64 -> IO ()))
-> FunPtr
     (GLsizei -> GLint64 -> GLint64 -> GLint64 -> GLint64 -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLsizei -> GLint64 -> GLint64 -> GLint64 -> GLint64 -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniform4i64NV")

{-# NOINLINE glUniform4i64NVFunPtr #-}

-- | Usage: @'glUniform4i64vNV' location count value@
--
-- The length of @value@ should be @count*4@.


glUniform4i64vNV :: MonadIO m => GLint -> GLsizei -> Ptr GLint64EXT -> m ()
glUniform4i64vNV :: GLsizei -> GLsizei -> Ptr GLint64 -> m ()
glUniform4i64vNV = FunPtr (GLsizei -> GLsizei -> Ptr GLint64 -> IO ())
-> GLsizei -> GLsizei -> Ptr GLint64 -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> Ptr GLint64 -> IO ())
-> GLsizei -> GLsizei -> Ptr GLint64 -> m ()
ffiintsizeiPtrint64EXTIOV FunPtr (GLsizei -> GLsizei -> Ptr GLint64 -> IO ())
glUniform4i64vNVFunPtr

glUniform4i64vNVFunPtr :: FunPtr (GLint -> GLsizei -> Ptr GLint64EXT -> IO ())
glUniform4i64vNVFunPtr :: FunPtr (GLsizei -> GLsizei -> Ptr GLint64 -> IO ())
glUniform4i64vNVFunPtr = IO (FunPtr (GLsizei -> GLsizei -> Ptr GLint64 -> IO ()))
-> FunPtr (GLsizei -> GLsizei -> Ptr GLint64 -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> GLsizei -> Ptr GLint64 -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniform4i64vNV")

{-# NOINLINE glUniform4i64vNVFunPtr #-}

-- | Usage: @'glUniform4ui64NV' location x y z w@


glUniform4ui64NV :: MonadIO m => GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> m ()
glUniform4ui64NV :: GLsizei -> GLuint64 -> GLuint64 -> GLuint64 -> GLuint64 -> m ()
glUniform4ui64NV = FunPtr
  (GLsizei -> GLuint64 -> GLuint64 -> GLuint64 -> GLuint64 -> IO ())
-> GLsizei -> GLuint64 -> GLuint64 -> GLuint64 -> GLuint64 -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLsizei -> GLuint64 -> GLuint64 -> GLuint64 -> GLuint64 -> IO ())
-> GLsizei -> GLuint64 -> GLuint64 -> GLuint64 -> GLuint64 -> m ()
ffiintuint64EXTuint64EXTuint64EXTuint64EXTIOV FunPtr
  (GLsizei -> GLuint64 -> GLuint64 -> GLuint64 -> GLuint64 -> IO ())
glUniform4ui64NVFunPtr

glUniform4ui64NVFunPtr :: FunPtr (GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ())
glUniform4ui64NVFunPtr :: FunPtr
  (GLsizei -> GLuint64 -> GLuint64 -> GLuint64 -> GLuint64 -> IO ())
glUniform4ui64NVFunPtr = IO
  (FunPtr
     (GLsizei -> GLuint64 -> GLuint64 -> GLuint64 -> GLuint64 -> IO ()))
-> FunPtr
     (GLsizei -> GLuint64 -> GLuint64 -> GLuint64 -> GLuint64 -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLsizei -> GLuint64 -> GLuint64 -> GLuint64 -> GLuint64 -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniform4ui64NV")

{-# NOINLINE glUniform4ui64NVFunPtr #-}

-- | Usage: @'glUniform4ui64vNV' location count value@
--
-- The length of @value@ should be @count*4@.


glUniform4ui64vNV :: MonadIO m => GLint -> GLsizei -> Ptr GLuint64EXT -> m ()
glUniform4ui64vNV :: GLsizei -> GLsizei -> Ptr GLuint64 -> m ()
glUniform4ui64vNV = FunPtr (GLsizei -> GLsizei -> Ptr GLuint64 -> IO ())
-> GLsizei -> GLsizei -> Ptr GLuint64 -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> GLsizei -> Ptr GLuint64 -> IO ())
-> GLsizei -> GLsizei -> Ptr GLuint64 -> m ()
ffiintsizeiPtruint64EXTIOV FunPtr (GLsizei -> GLsizei -> Ptr GLuint64 -> IO ())
glUniform4ui64vNVFunPtr

glUniform4ui64vNVFunPtr :: FunPtr (GLint -> GLsizei -> Ptr GLuint64EXT -> IO ())
glUniform4ui64vNVFunPtr :: FunPtr (GLsizei -> GLsizei -> Ptr GLuint64 -> IO ())
glUniform4ui64vNVFunPtr = IO (FunPtr (GLsizei -> GLsizei -> Ptr GLuint64 -> IO ()))
-> FunPtr (GLsizei -> GLsizei -> Ptr GLuint64 -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> GLsizei -> Ptr GLuint64 -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glUniform4ui64vNV")

{-# NOINLINE glUniform4ui64vNVFunPtr #-}

pattern $bGL_INT16_NV :: a
$mGL_INT16_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INT16_NV = 0x8FE4

pattern $bGL_INT16_VEC2_NV :: a
$mGL_INT16_VEC2_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INT16_VEC2_NV = 0x8FE5

pattern $bGL_INT16_VEC3_NV :: a
$mGL_INT16_VEC3_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INT16_VEC3_NV = 0x8FE6

pattern $bGL_INT16_VEC4_NV :: a
$mGL_INT16_VEC4_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INT16_VEC4_NV = 0x8FE7

pattern $bGL_INT64_NV :: a
$mGL_INT64_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INT64_NV = 0x140E

pattern $bGL_INT64_VEC2_NV :: a
$mGL_INT64_VEC2_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INT64_VEC2_NV = 0x8FE9

pattern $bGL_INT64_VEC3_NV :: a
$mGL_INT64_VEC3_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INT64_VEC3_NV = 0x8FEA

pattern $bGL_INT64_VEC4_NV :: a
$mGL_INT64_VEC4_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INT64_VEC4_NV = 0x8FEB

pattern $bGL_INT8_NV :: a
$mGL_INT8_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INT8_NV = 0x8FE0

pattern $bGL_INT8_VEC2_NV :: a
$mGL_INT8_VEC2_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INT8_VEC2_NV = 0x8FE1

pattern $bGL_INT8_VEC3_NV :: a
$mGL_INT8_VEC3_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INT8_VEC3_NV = 0x8FE2

pattern $bGL_INT8_VEC4_NV :: a
$mGL_INT8_VEC4_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INT8_VEC4_NV = 0x8FE3

pattern $bGL_UNSIGNED_INT16_NV :: a
$mGL_UNSIGNED_INT16_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNED_INT16_NV = 0x8FF0

pattern $bGL_UNSIGNED_INT16_VEC2_NV :: a
$mGL_UNSIGNED_INT16_VEC2_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNED_INT16_VEC2_NV = 0x8FF1

pattern $bGL_UNSIGNED_INT16_VEC3_NV :: a
$mGL_UNSIGNED_INT16_VEC3_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNED_INT16_VEC3_NV = 0x8FF2

pattern $bGL_UNSIGNED_INT16_VEC4_NV :: a
$mGL_UNSIGNED_INT16_VEC4_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNED_INT16_VEC4_NV = 0x8FF3

pattern $bGL_UNSIGNED_INT64_NV :: a
$mGL_UNSIGNED_INT64_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNED_INT64_NV = 0x140F

pattern $bGL_UNSIGNED_INT64_VEC2_NV :: a
$mGL_UNSIGNED_INT64_VEC2_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNED_INT64_VEC2_NV = 0x8FF5

pattern $bGL_UNSIGNED_INT64_VEC3_NV :: a
$mGL_UNSIGNED_INT64_VEC3_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNED_INT64_VEC3_NV = 0x8FF6

pattern $bGL_UNSIGNED_INT64_VEC4_NV :: a
$mGL_UNSIGNED_INT64_VEC4_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNED_INT64_VEC4_NV = 0x8FF7

pattern $bGL_UNSIGNED_INT8_NV :: a
$mGL_UNSIGNED_INT8_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNED_INT8_NV = 0x8FEC

pattern $bGL_UNSIGNED_INT8_VEC2_NV :: a
$mGL_UNSIGNED_INT8_VEC2_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNED_INT8_VEC2_NV = 0x8FED

pattern $bGL_UNSIGNED_INT8_VEC3_NV :: a
$mGL_UNSIGNED_INT8_VEC3_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNED_INT8_VEC3_NV = 0x8FEE

pattern $bGL_UNSIGNED_INT8_VEC4_NV :: a
$mGL_UNSIGNED_INT8_VEC4_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNED_INT8_VEC4_NV = 0x8FEF

pattern $bGL_DEPTH24_STENCIL8_OES :: a
$mGL_DEPTH24_STENCIL8_OES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DEPTH24_STENCIL8_OES = 0x88F0

pattern $bGL_DEPTH_COMPONENT32_OES :: a
$mGL_DEPTH_COMPONENT32_OES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DEPTH_COMPONENT32_OES = 0x81A7

pattern $bGL_DEPTH_STENCIL_OES :: a
$mGL_DEPTH_STENCIL_OES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DEPTH_STENCIL_OES = 0x84F9

pattern $bGL_UNSIGNED_INT_24_8_OES :: a
$mGL_UNSIGNED_INT_24_8_OES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNED_INT_24_8_OES = 0x84FA

pattern $bGL_UNSIGNED_SHORT_8_8_APPLE :: a
$mGL_UNSIGNED_SHORT_8_8_APPLE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNED_SHORT_8_8_APPLE = 0x85BA

pattern $bGL_UNSIGNED_SHORT_8_8_REV_APPLE :: a
$mGL_UNSIGNED_SHORT_8_8_REV_APPLE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNED_SHORT_8_8_REV_APPLE = 0x85BB

pattern $bGL_BGRA8_EXT :: a
$mGL_BGRA8_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_BGRA8_EXT = 0x93A1

pattern $bGL_BGRA_EXT :: a
$mGL_BGRA_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_BGRA_EXT = 0x80E1

pattern $bGL_STORAGE_CACHED_APPLE :: a
$mGL_STORAGE_CACHED_APPLE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_STORAGE_CACHED_APPLE = 0x85BE

pattern $bGL_STORAGE_SHARED_APPLE :: a
$mGL_STORAGE_SHARED_APPLE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_STORAGE_SHARED_APPLE = 0x85BF

pattern $bGL_UNSIGNED_INT64_ARB :: a
$mGL_UNSIGNED_INT64_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNED_INT64_ARB = 0x140F

-- | Usage: @'glBindProgramARB' target program@
--
-- The parameter @target@ is a @ProgramTargetARB@.


glBindProgramARB :: MonadIO m => GLenum -> GLuint -> m ()
glBindProgramARB :: GLenum -> GLenum -> m ()
glBindProgramARB = FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
ffienumuintIOV FunPtr (GLenum -> GLenum -> IO ())
glBindProgramARBFunPtr

glBindProgramARBFunPtr :: FunPtr (GLenum -> GLuint -> IO ())
glBindProgramARBFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glBindProgramARBFunPtr = IO (FunPtr (GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glBindProgramARB")

{-# NOINLINE glBindProgramARBFunPtr #-}

-- | Usage: @'glDeleteProgramsARB' n programs@
--
-- The length of @programs@ should be @n@.


glDeleteProgramsARB :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glDeleteProgramsARB :: GLsizei -> Ptr GLenum -> m ()
glDeleteProgramsARB = FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
ffisizeiPtruintIOV FunPtr (GLsizei -> Ptr GLenum -> IO ())
glDeleteProgramsARBFunPtr

glDeleteProgramsARBFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glDeleteProgramsARBFunPtr :: FunPtr (GLsizei -> Ptr GLenum -> IO ())
glDeleteProgramsARBFunPtr = IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glDeleteProgramsARB")

{-# NOINLINE glDeleteProgramsARBFunPtr #-}

-- | Usage: @'glGenProgramsARB' n programs@
--
-- The length of @programs@ should be @n@.


glGenProgramsARB :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGenProgramsARB :: GLsizei -> Ptr GLenum -> m ()
glGenProgramsARB = FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
ffisizeiPtruintIOV FunPtr (GLsizei -> Ptr GLenum -> IO ())
glGenProgramsARBFunPtr

glGenProgramsARBFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glGenProgramsARBFunPtr :: FunPtr (GLsizei -> Ptr GLenum -> IO ())
glGenProgramsARBFunPtr = IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGenProgramsARB")

{-# NOINLINE glGenProgramsARBFunPtr #-}

-- | Usage: @'glGetProgramEnvParameterdvARB' target index params@
--
-- The parameter @target@ is a @ProgramTargetARB@.
--
-- The length of @params@ should be @4@.


glGetProgramEnvParameterdvARB :: MonadIO m => GLenum -> GLuint -> Ptr GLdouble -> m ()
glGetProgramEnvParameterdvARB :: GLenum -> GLenum -> Ptr GLdouble -> m ()
glGetProgramEnvParameterdvARB = FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
-> GLenum -> GLenum -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
-> GLenum -> GLenum -> Ptr GLdouble -> m ()
ffienumuintPtrdoubleIOV FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
glGetProgramEnvParameterdvARBFunPtr

glGetProgramEnvParameterdvARBFunPtr :: FunPtr (GLenum -> GLuint -> Ptr GLdouble -> IO ())
glGetProgramEnvParameterdvARBFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
glGetProgramEnvParameterdvARBFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetProgramEnvParameterdvARB")

{-# NOINLINE glGetProgramEnvParameterdvARBFunPtr #-}

-- | Usage: @'glGetProgramEnvParameterfvARB' target index params@
--
-- The parameter @target@ is a @ProgramTargetARB@.
--
-- The length of @params@ should be @4@.


glGetProgramEnvParameterfvARB :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()
glGetProgramEnvParameterfvARB :: GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetProgramEnvParameterfvARB = FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> GLenum -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> GLenum -> Ptr GLfloat -> m ()
ffienumuintPtrfloatIOV FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glGetProgramEnvParameterfvARBFunPtr

glGetProgramEnvParameterfvARBFunPtr :: FunPtr (GLenum -> GLuint -> Ptr GLfloat -> IO ())
glGetProgramEnvParameterfvARBFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glGetProgramEnvParameterfvARBFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetProgramEnvParameterfvARB")

{-# NOINLINE glGetProgramEnvParameterfvARBFunPtr #-}

-- | Usage: @'glGetProgramLocalParameterdvARB' target index params@
--
-- The parameter @target@ is a @ProgramTargetARB@.
--
-- The length of @params@ should be @4@.


glGetProgramLocalParameterdvARB :: MonadIO m => GLenum -> GLuint -> Ptr GLdouble -> m ()
glGetProgramLocalParameterdvARB :: GLenum -> GLenum -> Ptr GLdouble -> m ()
glGetProgramLocalParameterdvARB = FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
-> GLenum -> GLenum -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
-> GLenum -> GLenum -> Ptr GLdouble -> m ()
ffienumuintPtrdoubleIOV FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
glGetProgramLocalParameterdvARBFunPtr

glGetProgramLocalParameterdvARBFunPtr :: FunPtr (GLenum -> GLuint -> Ptr GLdouble -> IO ())
glGetProgramLocalParameterdvARBFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
glGetProgramLocalParameterdvARBFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetProgramLocalParameterdvARB")

{-# NOINLINE glGetProgramLocalParameterdvARBFunPtr #-}

-- | Usage: @'glGetProgramLocalParameterfvARB' target index params@
--
-- The parameter @target@ is a @ProgramTargetARB@.
--
-- The length of @params@ should be @4@.


glGetProgramLocalParameterfvARB :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()
glGetProgramLocalParameterfvARB :: GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetProgramLocalParameterfvARB = FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> GLenum -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> GLenum -> Ptr GLfloat -> m ()
ffienumuintPtrfloatIOV FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glGetProgramLocalParameterfvARBFunPtr

glGetProgramLocalParameterfvARBFunPtr :: FunPtr (GLenum -> GLuint -> Ptr GLfloat -> IO ())
glGetProgramLocalParameterfvARBFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glGetProgramLocalParameterfvARBFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetProgramLocalParameterfvARB")

{-# NOINLINE glGetProgramLocalParameterfvARBFunPtr #-}

-- | Usage: @'glGetProgramStringARB' target pname string@
--
-- The parameter @target@ is a @ProgramTargetARB@.
--
-- The parameter @pname@ is a @ProgramStringPropertyARB@.
--
-- The length of @string@ should be @COMPSIZE(target,pname)@.


glGetProgramStringARB :: MonadIO m => GLenum -> GLenum -> Ptr () -> m ()
glGetProgramStringARB :: GLenum -> GLenum -> Ptr () -> m ()
glGetProgramStringARB = FunPtr (GLenum -> GLenum -> Ptr () -> IO ())
-> GLenum -> GLenum -> Ptr () -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr () -> IO ())
-> GLenum -> GLenum -> Ptr () -> m ()
ffienumenumPtrVIOV FunPtr (GLenum -> GLenum -> Ptr () -> IO ())
glGetProgramStringARBFunPtr

glGetProgramStringARBFunPtr :: FunPtr (GLenum -> GLenum -> Ptr () -> IO ())
glGetProgramStringARBFunPtr :: FunPtr (GLenum -> GLenum -> Ptr () -> IO ())
glGetProgramStringARBFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr () -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr () -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr () -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetProgramStringARB")

{-# NOINLINE glGetProgramStringARBFunPtr #-}

-- | Usage: @'glGetProgramivARB' target pname params@
--
-- The parameter @target@ is a @ProgramTargetARB@.
--
-- The parameter @pname@ is a @ProgramPropertyARB@.
--
-- The length of @params@ should be @1@.


glGetProgramivARB :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetProgramivARB :: GLenum -> GLenum -> Ptr GLsizei -> m ()
glGetProgramivARB = FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
ffienumenumPtrintIOV FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetProgramivARBFunPtr

glGetProgramivARBFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
glGetProgramivARBFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetProgramivARBFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetProgramivARB")

{-# NOINLINE glGetProgramivARBFunPtr #-}

-- | Usage: @'glIsProgramARB' program@


glIsProgramARB :: MonadIO m => GLuint -> m GLboolean
glIsProgramARB :: GLenum -> m GLboolean
glIsProgramARB = FunPtr (GLenum -> IO GLboolean) -> GLenum -> m GLboolean
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO GLboolean) -> GLenum -> m GLboolean
ffiuintIOboolean FunPtr (GLenum -> IO GLboolean)
glIsProgramARBFunPtr

glIsProgramARBFunPtr :: FunPtr (GLuint -> IO GLboolean)
glIsProgramARBFunPtr :: FunPtr (GLenum -> IO GLboolean)
glIsProgramARBFunPtr = IO (FunPtr (GLenum -> IO GLboolean))
-> FunPtr (GLenum -> IO GLboolean)
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO GLboolean))
forall a. String -> IO (FunPtr a)
getProcAddress "glIsProgramARB")

{-# NOINLINE glIsProgramARBFunPtr #-}

-- | Usage: @'glProgramEnvParameter4dARB' target index x y z w@
--
-- The parameter @target@ is a @ProgramTargetARB@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glProgramEnvParameter4dvARB'.


glProgramEnvParameter4dARB :: MonadIO m => GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glProgramEnvParameter4dARB :: GLenum
-> GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glProgramEnvParameter4dARB = FunPtr
  (GLenum
   -> GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLenum
-> GLenum
-> GLdouble
-> GLdouble
-> GLdouble
-> GLdouble
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLenum
-> GLenum
-> GLdouble
-> GLdouble
-> GLdouble
-> GLdouble
-> m ()
ffienumuintdoubledoubledoubledoubleIOV FunPtr
  (GLenum
   -> GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
glProgramEnvParameter4dARBFunPtr

glProgramEnvParameter4dARBFunPtr :: FunPtr (GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
glProgramEnvParameter4dARBFunPtr :: FunPtr
  (GLenum
   -> GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
glProgramEnvParameter4dARBFunPtr = IO
  (FunPtr
     (GLenum
      -> GLenum
      -> GLdouble
      -> GLdouble
      -> GLdouble
      -> GLdouble
      -> IO ()))
-> FunPtr
     (GLenum
      -> GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLenum
         -> GLdouble
         -> GLdouble
         -> GLdouble
         -> GLdouble
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramEnvParameter4dARB")

{-# NOINLINE glProgramEnvParameter4dARBFunPtr #-}

-- | Usage: @'glProgramEnvParameter4dvARB' target index params@
--
-- The parameter @target@ is a @ProgramTargetARB@.
--
-- The length of @params@ should be @4@.


glProgramEnvParameter4dvARB :: MonadIO m => GLenum -> GLuint -> Ptr GLdouble -> m ()
glProgramEnvParameter4dvARB :: GLenum -> GLenum -> Ptr GLdouble -> m ()
glProgramEnvParameter4dvARB = FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
-> GLenum -> GLenum -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
-> GLenum -> GLenum -> Ptr GLdouble -> m ()
ffienumuintPtrdoubleIOV FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
glProgramEnvParameter4dvARBFunPtr

glProgramEnvParameter4dvARBFunPtr :: FunPtr (GLenum -> GLuint -> Ptr GLdouble -> IO ())
glProgramEnvParameter4dvARBFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
glProgramEnvParameter4dvARBFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramEnvParameter4dvARB")

{-# NOINLINE glProgramEnvParameter4dvARBFunPtr #-}

-- | Usage: @'glProgramEnvParameter4fARB' target index x y z w@
--
-- The parameter @target@ is a @ProgramTargetARB@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glProgramEnvParameter4fvARB'.


glProgramEnvParameter4fARB :: MonadIO m => GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glProgramEnvParameter4fARB :: GLenum
-> GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glProgramEnvParameter4fARB = FunPtr
  (GLenum
   -> GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLenum
-> GLenum
-> GLfloat
-> GLfloat
-> GLfloat
-> GLfloat
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLenum
-> GLenum
-> GLfloat
-> GLfloat
-> GLfloat
-> GLfloat
-> m ()
ffienumuintfloatfloatfloatfloatIOV FunPtr
  (GLenum
   -> GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glProgramEnvParameter4fARBFunPtr

glProgramEnvParameter4fARBFunPtr :: FunPtr (GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glProgramEnvParameter4fARBFunPtr :: FunPtr
  (GLenum
   -> GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glProgramEnvParameter4fARBFunPtr = IO
  (FunPtr
     (GLenum
      -> GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()))
-> FunPtr
     (GLenum
      -> GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramEnvParameter4fARB")

{-# NOINLINE glProgramEnvParameter4fARBFunPtr #-}

-- | Usage: @'glProgramEnvParameter4fvARB' target index params@
--
-- The parameter @target@ is a @ProgramTargetARB@.
--
-- The length of @params@ should be @4@.


glProgramEnvParameter4fvARB :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()
glProgramEnvParameter4fvARB :: GLenum -> GLenum -> Ptr GLfloat -> m ()
glProgramEnvParameter4fvARB = FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> GLenum -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> GLenum -> Ptr GLfloat -> m ()
ffienumuintPtrfloatIOV FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glProgramEnvParameter4fvARBFunPtr

glProgramEnvParameter4fvARBFunPtr :: FunPtr (GLenum -> GLuint -> Ptr GLfloat -> IO ())
glProgramEnvParameter4fvARBFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glProgramEnvParameter4fvARBFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramEnvParameter4fvARB")

{-# NOINLINE glProgramEnvParameter4fvARBFunPtr #-}

-- | Usage: @'glProgramLocalParameter4dARB' target index x y z w@
--
-- The parameter @target@ is a @ProgramTargetARB@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glProgramLocalParameter4dvARB'.


glProgramLocalParameter4dARB :: MonadIO m => GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glProgramLocalParameter4dARB :: GLenum
-> GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glProgramLocalParameter4dARB = FunPtr
  (GLenum
   -> GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLenum
-> GLenum
-> GLdouble
-> GLdouble
-> GLdouble
-> GLdouble
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLenum
-> GLenum
-> GLdouble
-> GLdouble
-> GLdouble
-> GLdouble
-> m ()
ffienumuintdoubledoubledoubledoubleIOV FunPtr
  (GLenum
   -> GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
glProgramLocalParameter4dARBFunPtr

glProgramLocalParameter4dARBFunPtr :: FunPtr (GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
glProgramLocalParameter4dARBFunPtr :: FunPtr
  (GLenum
   -> GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
glProgramLocalParameter4dARBFunPtr = IO
  (FunPtr
     (GLenum
      -> GLenum
      -> GLdouble
      -> GLdouble
      -> GLdouble
      -> GLdouble
      -> IO ()))
-> FunPtr
     (GLenum
      -> GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLenum
         -> GLdouble
         -> GLdouble
         -> GLdouble
         -> GLdouble
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramLocalParameter4dARB")

{-# NOINLINE glProgramLocalParameter4dARBFunPtr #-}

-- | Usage: @'glProgramLocalParameter4dvARB' target index params@
--
-- The parameter @target@ is a @ProgramTargetARB@.
--
-- The length of @params@ should be @4@.


glProgramLocalParameter4dvARB :: MonadIO m => GLenum -> GLuint -> Ptr GLdouble -> m ()
glProgramLocalParameter4dvARB :: GLenum -> GLenum -> Ptr GLdouble -> m ()
glProgramLocalParameter4dvARB = FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
-> GLenum -> GLenum -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
-> GLenum -> GLenum -> Ptr GLdouble -> m ()
ffienumuintPtrdoubleIOV FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
glProgramLocalParameter4dvARBFunPtr

glProgramLocalParameter4dvARBFunPtr :: FunPtr (GLenum -> GLuint -> Ptr GLdouble -> IO ())
glProgramLocalParameter4dvARBFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
glProgramLocalParameter4dvARBFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramLocalParameter4dvARB")

{-# NOINLINE glProgramLocalParameter4dvARBFunPtr #-}

-- | Usage: @'glProgramLocalParameter4fARB' target index x y z w@
--
-- The parameter @target@ is a @ProgramTargetARB@.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glProgramLocalParameter4fvARB'.


glProgramLocalParameter4fARB :: MonadIO m => GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glProgramLocalParameter4fARB :: GLenum
-> GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glProgramLocalParameter4fARB = FunPtr
  (GLenum
   -> GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLenum
-> GLenum
-> GLfloat
-> GLfloat
-> GLfloat
-> GLfloat
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLenum
-> GLenum
-> GLfloat
-> GLfloat
-> GLfloat
-> GLfloat
-> m ()
ffienumuintfloatfloatfloatfloatIOV FunPtr
  (GLenum
   -> GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glProgramLocalParameter4fARBFunPtr

glProgramLocalParameter4fARBFunPtr :: FunPtr (GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glProgramLocalParameter4fARBFunPtr :: FunPtr
  (GLenum
   -> GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glProgramLocalParameter4fARBFunPtr = IO
  (FunPtr
     (GLenum
      -> GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()))
-> FunPtr
     (GLenum
      -> GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramLocalParameter4fARB")

{-# NOINLINE glProgramLocalParameter4fARBFunPtr #-}

-- | Usage: @'glProgramLocalParameter4fvARB' target index params@
--
-- The parameter @target@ is a @ProgramTargetARB@.
--
-- The length of @params@ should be @4@.


glProgramLocalParameter4fvARB :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()
glProgramLocalParameter4fvARB :: GLenum -> GLenum -> Ptr GLfloat -> m ()
glProgramLocalParameter4fvARB = FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> GLenum -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> GLenum -> Ptr GLfloat -> m ()
ffienumuintPtrfloatIOV FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glProgramLocalParameter4fvARBFunPtr

glProgramLocalParameter4fvARBFunPtr :: FunPtr (GLenum -> GLuint -> Ptr GLfloat -> IO ())
glProgramLocalParameter4fvARBFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glProgramLocalParameter4fvARBFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramLocalParameter4fvARB")

{-# NOINLINE glProgramLocalParameter4fvARBFunPtr #-}

-- | Usage: @'glProgramStringARB' target format len string@
--
-- The parameter @target@ is a @ProgramTargetARB@.
--
-- The parameter @format@ is a @ProgramFormatARB@.
--
-- The length of @string@ should be @len@.


glProgramStringARB :: MonadIO m => GLenum -> GLenum -> GLsizei -> Ptr () -> m ()
glProgramStringARB :: GLenum -> GLenum -> GLsizei -> Ptr () -> m ()
glProgramStringARB = FunPtr (GLenum -> GLenum -> GLsizei -> Ptr () -> IO ())
-> GLenum -> GLenum -> GLsizei -> Ptr () -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLsizei -> Ptr () -> IO ())
-> GLenum -> GLenum -> GLsizei -> Ptr () -> m ()
ffienumenumsizeiPtrVIOV FunPtr (GLenum -> GLenum -> GLsizei -> Ptr () -> IO ())
glProgramStringARBFunPtr

glProgramStringARBFunPtr :: FunPtr (GLenum -> GLenum -> GLsizei -> Ptr () -> IO ())
glProgramStringARBFunPtr :: FunPtr (GLenum -> GLenum -> GLsizei -> Ptr () -> IO ())
glProgramStringARBFunPtr = IO (FunPtr (GLenum -> GLenum -> GLsizei -> Ptr () -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLsizei -> Ptr () -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLenum -> GLsizei -> Ptr () -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramStringARB")

{-# NOINLINE glProgramStringARBFunPtr #-}

pattern $bGL_CURRENT_MATRIX_ARB :: a
$mGL_CURRENT_MATRIX_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CURRENT_MATRIX_ARB = 0x8641

pattern $bGL_CURRENT_MATRIX_STACK_DEPTH_ARB :: a
$mGL_CURRENT_MATRIX_STACK_DEPTH_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CURRENT_MATRIX_STACK_DEPTH_ARB = 0x8640

pattern $bGL_MATRIX0_ARB :: a
$mGL_MATRIX0_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MATRIX0_ARB = 0x88C0

pattern $bGL_MATRIX10_ARB :: a
$mGL_MATRIX10_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MATRIX10_ARB = 0x88CA

pattern $bGL_MATRIX11_ARB :: a
$mGL_MATRIX11_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MATRIX11_ARB = 0x88CB

pattern $bGL_MATRIX12_ARB :: a
$mGL_MATRIX12_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MATRIX12_ARB = 0x88CC

pattern $bGL_MATRIX13_ARB :: a
$mGL_MATRIX13_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MATRIX13_ARB = 0x88CD

pattern $bGL_MATRIX14_ARB :: a
$mGL_MATRIX14_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MATRIX14_ARB = 0x88CE

pattern $bGL_MATRIX15_ARB :: a
$mGL_MATRIX15_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MATRIX15_ARB = 0x88CF

pattern $bGL_MATRIX16_ARB :: a
$mGL_MATRIX16_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MATRIX16_ARB = 0x88D0

pattern $bGL_MATRIX17_ARB :: a
$mGL_MATRIX17_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MATRIX17_ARB = 0x88D1

pattern $bGL_MATRIX18_ARB :: a
$mGL_MATRIX18_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MATRIX18_ARB = 0x88D2

pattern $bGL_MATRIX19_ARB :: a
$mGL_MATRIX19_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MATRIX19_ARB = 0x88D3

pattern $bGL_MATRIX1_ARB :: a
$mGL_MATRIX1_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MATRIX1_ARB = 0x88C1

pattern $bGL_MATRIX20_ARB :: a
$mGL_MATRIX20_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MATRIX20_ARB = 0x88D4

pattern $bGL_MATRIX21_ARB :: a
$mGL_MATRIX21_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MATRIX21_ARB = 0x88D5

pattern $bGL_MATRIX22_ARB :: a
$mGL_MATRIX22_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MATRIX22_ARB = 0x88D6

pattern $bGL_MATRIX23_ARB :: a
$mGL_MATRIX23_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MATRIX23_ARB = 0x88D7

pattern $bGL_MATRIX24_ARB :: a
$mGL_MATRIX24_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MATRIX24_ARB = 0x88D8

pattern $bGL_MATRIX25_ARB :: a
$mGL_MATRIX25_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MATRIX25_ARB = 0x88D9

pattern $bGL_MATRIX26_ARB :: a
$mGL_MATRIX26_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MATRIX26_ARB = 0x88DA

pattern $bGL_MATRIX27_ARB :: a
$mGL_MATRIX27_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MATRIX27_ARB = 0x88DB

pattern $bGL_MATRIX28_ARB :: a
$mGL_MATRIX28_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MATRIX28_ARB = 0x88DC

pattern $bGL_MATRIX29_ARB :: a
$mGL_MATRIX29_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MATRIX29_ARB = 0x88DD

pattern $bGL_MATRIX2_ARB :: a
$mGL_MATRIX2_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MATRIX2_ARB = 0x88C2

pattern $bGL_MATRIX30_ARB :: a
$mGL_MATRIX30_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MATRIX30_ARB = 0x88DE

pattern $bGL_MATRIX31_ARB :: a
$mGL_MATRIX31_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MATRIX31_ARB = 0x88DF

pattern $bGL_MATRIX3_ARB :: a
$mGL_MATRIX3_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MATRIX3_ARB = 0x88C3

pattern $bGL_MATRIX4_ARB :: a
$mGL_MATRIX4_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MATRIX4_ARB = 0x88C4

pattern $bGL_MATRIX5_ARB :: a
$mGL_MATRIX5_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MATRIX5_ARB = 0x88C5

pattern $bGL_MATRIX6_ARB :: a
$mGL_MATRIX6_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MATRIX6_ARB = 0x88C6

pattern $bGL_MATRIX7_ARB :: a
$mGL_MATRIX7_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MATRIX7_ARB = 0x88C7

pattern $bGL_MATRIX8_ARB :: a
$mGL_MATRIX8_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MATRIX8_ARB = 0x88C8

pattern $bGL_MATRIX9_ARB :: a
$mGL_MATRIX9_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MATRIX9_ARB = 0x88C9

pattern $bGL_MAX_PROGRAM_ATTRIBS_ARB :: a
$mGL_MAX_PROGRAM_ATTRIBS_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_PROGRAM_ATTRIBS_ARB = 0x88AD

pattern $bGL_MAX_PROGRAM_ENV_PARAMETERS_ARB :: a
$mGL_MAX_PROGRAM_ENV_PARAMETERS_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_PROGRAM_ENV_PARAMETERS_ARB = 0x88B5

pattern $bGL_MAX_PROGRAM_INSTRUCTIONS_ARB :: a
$mGL_MAX_PROGRAM_INSTRUCTIONS_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_PROGRAM_INSTRUCTIONS_ARB = 0x88A1

pattern $bGL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB :: a
$mGL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB = 0x88B4

pattern $bGL_MAX_PROGRAM_MATRICES_ARB :: a
$mGL_MAX_PROGRAM_MATRICES_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_PROGRAM_MATRICES_ARB = 0x862F

pattern $bGL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB :: a
$mGL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB = 0x862E

pattern $bGL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB :: a
$mGL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB = 0x88AF

pattern $bGL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB :: a
$mGL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB = 0x88A3

pattern $bGL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB :: a
$mGL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB = 0x88AB

pattern $bGL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB :: a
$mGL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB = 0x88A7

pattern $bGL_MAX_PROGRAM_PARAMETERS_ARB :: a
$mGL_MAX_PROGRAM_PARAMETERS_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_PROGRAM_PARAMETERS_ARB = 0x88A9

pattern $bGL_MAX_PROGRAM_TEMPORARIES_ARB :: a
$mGL_MAX_PROGRAM_TEMPORARIES_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_PROGRAM_TEMPORARIES_ARB = 0x88A5

pattern $bGL_MAX_TEXTURE_COORDS_ARB :: a
$mGL_MAX_TEXTURE_COORDS_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_TEXTURE_COORDS_ARB = 0x8871

pattern $bGL_MAX_TEXTURE_IMAGE_UNITS_ARB :: a
$mGL_MAX_TEXTURE_IMAGE_UNITS_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_TEXTURE_IMAGE_UNITS_ARB = 0x8872

pattern $bGL_PROGRAM_ATTRIBS_ARB :: a
$mGL_PROGRAM_ATTRIBS_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PROGRAM_ATTRIBS_ARB = 0x88AC

pattern $bGL_PROGRAM_BINDING_ARB :: a
$mGL_PROGRAM_BINDING_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PROGRAM_BINDING_ARB = 0x8677

pattern $bGL_PROGRAM_ERROR_POSITION_ARB :: a
$mGL_PROGRAM_ERROR_POSITION_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PROGRAM_ERROR_POSITION_ARB = 0x864B

pattern $bGL_PROGRAM_ERROR_STRING_ARB :: a
$mGL_PROGRAM_ERROR_STRING_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PROGRAM_ERROR_STRING_ARB = 0x8874

pattern $bGL_PROGRAM_FORMAT_ARB :: a
$mGL_PROGRAM_FORMAT_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PROGRAM_FORMAT_ARB = 0x8876

pattern $bGL_PROGRAM_FORMAT_ASCII_ARB :: a
$mGL_PROGRAM_FORMAT_ASCII_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PROGRAM_FORMAT_ASCII_ARB = 0x8875

pattern $bGL_PROGRAM_INSTRUCTIONS_ARB :: a
$mGL_PROGRAM_INSTRUCTIONS_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PROGRAM_INSTRUCTIONS_ARB = 0x88A0

pattern $bGL_PROGRAM_LENGTH_ARB :: a
$mGL_PROGRAM_LENGTH_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PROGRAM_LENGTH_ARB = 0x8627

pattern $bGL_PROGRAM_NATIVE_ATTRIBS_ARB :: a
$mGL_PROGRAM_NATIVE_ATTRIBS_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PROGRAM_NATIVE_ATTRIBS_ARB = 0x88AE

pattern $bGL_PROGRAM_NATIVE_INSTRUCTIONS_ARB :: a
$mGL_PROGRAM_NATIVE_INSTRUCTIONS_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB = 0x88A2

pattern $bGL_PROGRAM_NATIVE_PARAMETERS_ARB :: a
$mGL_PROGRAM_NATIVE_PARAMETERS_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PROGRAM_NATIVE_PARAMETERS_ARB = 0x88AA

pattern $bGL_PROGRAM_NATIVE_TEMPORARIES_ARB :: a
$mGL_PROGRAM_NATIVE_TEMPORARIES_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PROGRAM_NATIVE_TEMPORARIES_ARB = 0x88A6

pattern $bGL_PROGRAM_PARAMETERS_ARB :: a
$mGL_PROGRAM_PARAMETERS_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PROGRAM_PARAMETERS_ARB = 0x88A8

pattern $bGL_PROGRAM_STRING_ARB :: a
$mGL_PROGRAM_STRING_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PROGRAM_STRING_ARB = 0x8628

pattern $bGL_PROGRAM_TEMPORARIES_ARB :: a
$mGL_PROGRAM_TEMPORARIES_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PROGRAM_TEMPORARIES_ARB = 0x88A4

pattern $bGL_PROGRAM_UNDER_NATIVE_LIMITS_ARB :: a
$mGL_PROGRAM_UNDER_NATIVE_LIMITS_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB = 0x88B6

pattern $bGL_TRANSPOSE_CURRENT_MATRIX_ARB :: a
$mGL_TRANSPOSE_CURRENT_MATRIX_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TRANSPOSE_CURRENT_MATRIX_ARB = 0x88B7

pattern $bGL_SAMPLES_ARB :: a
$mGL_SAMPLES_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SAMPLES_ARB = 0x80A9

pattern $bGL_TEXTURE0_ARB :: a
$mGL_TEXTURE0_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE0_ARB = 0x84C0

pattern $bGL_TEXTURE1_ARB :: a
$mGL_TEXTURE1_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE1_ARB = 0x84C1

pattern $bGL_FLOAT_MAT2_ARB :: a
$mGL_FLOAT_MAT2_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FLOAT_MAT2_ARB = 0x8B5A

pattern $bGL_FLOAT_MAT3_ARB :: a
$mGL_FLOAT_MAT3_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FLOAT_MAT3_ARB = 0x8B5B

pattern $bGL_FLOAT_MAT4_ARB :: a
$mGL_FLOAT_MAT4_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FLOAT_MAT4_ARB = 0x8B5C

pattern $bGL_FLOAT_VEC2_ARB :: a
$mGL_FLOAT_VEC2_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FLOAT_VEC2_ARB = 0x8B50

pattern $bGL_FLOAT_VEC3_ARB :: a
$mGL_FLOAT_VEC3_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FLOAT_VEC3_ARB = 0x8B51

pattern $bGL_FLOAT_VEC4_ARB :: a
$mGL_FLOAT_VEC4_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FLOAT_VEC4_ARB = 0x8B52

-- | Usage: @'glDisableVertexAttribArrayARB' index@
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glDisableVertexAttribArray'.


glDisableVertexAttribArrayARB :: MonadIO m => GLuint -> m ()
glDisableVertexAttribArrayARB :: GLenum -> m ()
glDisableVertexAttribArrayARB = FunPtr (GLenum -> IO ()) -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO ()) -> GLenum -> m ()
ffiuintIOV FunPtr (GLenum -> IO ())
glDisableVertexAttribArrayARBFunPtr

glDisableVertexAttribArrayARBFunPtr :: FunPtr (GLuint -> IO ())
glDisableVertexAttribArrayARBFunPtr :: FunPtr (GLenum -> IO ())
glDisableVertexAttribArrayARBFunPtr = IO (FunPtr (GLenum -> IO ())) -> FunPtr (GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glDisableVertexAttribArrayARB")

{-# NOINLINE glDisableVertexAttribArrayARBFunPtr #-}

-- | Usage: @'glEnableVertexAttribArrayARB' index@
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glEnableVertexAttribArray'.


glEnableVertexAttribArrayARB :: MonadIO m => GLuint -> m ()
glEnableVertexAttribArrayARB :: GLenum -> m ()
glEnableVertexAttribArrayARB = FunPtr (GLenum -> IO ()) -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO ()) -> GLenum -> m ()
ffiuintIOV FunPtr (GLenum -> IO ())
glEnableVertexAttribArrayARBFunPtr

glEnableVertexAttribArrayARBFunPtr :: FunPtr (GLuint -> IO ())
glEnableVertexAttribArrayARBFunPtr :: FunPtr (GLenum -> IO ())
glEnableVertexAttribArrayARBFunPtr = IO (FunPtr (GLenum -> IO ())) -> FunPtr (GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glEnableVertexAttribArrayARB")

{-# NOINLINE glEnableVertexAttribArrayARBFunPtr #-}

-- | Usage: @'glGetVertexAttribPointervARB' index pname pointer@
--
-- The parameter @pname@ is a @VertexAttribPointerPropertyARB@.
--
-- The length of @pointer@ should be @1@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glGetVertexAttribPointerv'.


glGetVertexAttribPointervARB :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr ()) -> m ()
glGetVertexAttribPointervARB :: GLenum -> GLenum -> Ptr (Ptr ()) -> m ()
glGetVertexAttribPointervARB = FunPtr (GLenum -> GLenum -> Ptr (Ptr ()) -> IO ())
-> GLenum -> GLenum -> Ptr (Ptr ()) -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr (Ptr ()) -> IO ())
-> GLenum -> GLenum -> Ptr (Ptr ()) -> m ()
ffiuintenumPtrPtrVIOV FunPtr (GLenum -> GLenum -> Ptr (Ptr ()) -> IO ())
glGetVertexAttribPointervARBFunPtr

glGetVertexAttribPointervARBFunPtr :: FunPtr (GLuint -> GLenum -> Ptr (Ptr ()) -> IO ())
glGetVertexAttribPointervARBFunPtr :: FunPtr (GLenum -> GLenum -> Ptr (Ptr ()) -> IO ())
glGetVertexAttribPointervARBFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr (Ptr ()) -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr (Ptr ()) -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr (Ptr ()) -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetVertexAttribPointervARB")

{-# NOINLINE glGetVertexAttribPointervARBFunPtr #-}

-- | Usage: @'glGetVertexAttribdvARB' index pname params@
--
-- The parameter @pname@ is a @VertexAttribPropertyARB@.
--
-- The length of @params@ should be @4@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glGetVertexAttribdv'.


glGetVertexAttribdvARB :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()
glGetVertexAttribdvARB :: GLenum -> GLenum -> Ptr GLdouble -> m ()
glGetVertexAttribdvARB = FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
-> GLenum -> GLenum -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
-> GLenum -> GLenum -> Ptr GLdouble -> m ()
ffiuintenumPtrdoubleIOV FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
glGetVertexAttribdvARBFunPtr

glGetVertexAttribdvARBFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLdouble -> IO ())
glGetVertexAttribdvARBFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
glGetVertexAttribdvARBFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetVertexAttribdvARB")

{-# NOINLINE glGetVertexAttribdvARBFunPtr #-}

-- | Usage: @'glGetVertexAttribfvARB' index pname params@
--
-- The parameter @pname@ is a @VertexAttribPropertyARB@.
--
-- The length of @params@ should be @4@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glGetVertexAttribfv'.


glGetVertexAttribfvARB :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()
glGetVertexAttribfvARB :: GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetVertexAttribfvARB = FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> GLenum -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> GLenum -> Ptr GLfloat -> m ()
ffiuintenumPtrfloatIOV FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glGetVertexAttribfvARBFunPtr

glGetVertexAttribfvARBFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
glGetVertexAttribfvARBFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glGetVertexAttribfvARBFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetVertexAttribfvARB")

{-# NOINLINE glGetVertexAttribfvARBFunPtr #-}

-- | Usage: @'glGetVertexAttribivARB' index pname params@
--
-- The parameter @pname@ is a @VertexAttribPropertyARB@.
--
-- The length of @params@ should be @4@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glGetVertexAttribiv'.


glGetVertexAttribivARB :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetVertexAttribivARB :: GLenum -> GLenum -> Ptr GLsizei -> m ()
glGetVertexAttribivARB = FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
ffiuintenumPtrintIOV FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetVertexAttribivARBFunPtr

glGetVertexAttribivARBFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
glGetVertexAttribivARBFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetVertexAttribivARBFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetVertexAttribivARB")

{-# NOINLINE glGetVertexAttribivARBFunPtr #-}

-- | Usage: @'glVertexAttrib1dARB' index x@
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glVertexAttrib1d'.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glVertexAttrib1dvARB'.


glVertexAttrib1dARB :: MonadIO m => GLuint -> GLdouble -> m ()
glVertexAttrib1dARB :: GLenum -> GLdouble -> m ()
glVertexAttrib1dARB = FunPtr (GLenum -> GLdouble -> IO ()) -> GLenum -> GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLdouble -> IO ()) -> GLenum -> GLdouble -> m ()
ffiuintdoubleIOV FunPtr (GLenum -> GLdouble -> IO ())
glVertexAttrib1dARBFunPtr

glVertexAttrib1dARBFunPtr :: FunPtr (GLuint -> GLdouble -> IO ())
glVertexAttrib1dARBFunPtr :: FunPtr (GLenum -> GLdouble -> IO ())
glVertexAttrib1dARBFunPtr = IO (FunPtr (GLenum -> GLdouble -> IO ()))
-> FunPtr (GLenum -> GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib1dARB")

{-# NOINLINE glVertexAttrib1dARBFunPtr #-}

-- | Usage: @'glVertexAttrib1dvARB' index v@
--
-- The length of @v@ should be @1@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glVertexAttrib1dv'.


glVertexAttrib1dvARB :: MonadIO m => GLuint -> Ptr GLdouble -> m ()
glVertexAttrib1dvARB :: GLenum -> Ptr GLdouble -> m ()
glVertexAttrib1dvARB = FunPtr (GLenum -> Ptr GLdouble -> IO ())
-> GLenum -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLdouble -> IO ())
-> GLenum -> Ptr GLdouble -> m ()
ffiuintPtrdoubleIOV FunPtr (GLenum -> Ptr GLdouble -> IO ())
glVertexAttrib1dvARBFunPtr

glVertexAttrib1dvARBFunPtr :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
glVertexAttrib1dvARBFunPtr :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
glVertexAttrib1dvARBFunPtr = IO (FunPtr (GLenum -> Ptr GLdouble -> IO ()))
-> FunPtr (GLenum -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib1dvARB")

{-# NOINLINE glVertexAttrib1dvARBFunPtr #-}

-- | Usage: @'glVertexAttrib1fARB' index x@
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glVertexAttrib1f'.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glVertexAttrib1fvARB'.


glVertexAttrib1fARB :: MonadIO m => GLuint -> GLfloat -> m ()
glVertexAttrib1fARB :: GLenum -> GLfloat -> m ()
glVertexAttrib1fARB = FunPtr (GLenum -> GLfloat -> IO ()) -> GLenum -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLfloat -> IO ()) -> GLenum -> GLfloat -> m ()
ffiuintfloatIOV FunPtr (GLenum -> GLfloat -> IO ())
glVertexAttrib1fARBFunPtr

glVertexAttrib1fARBFunPtr :: FunPtr (GLuint -> GLfloat -> IO ())
glVertexAttrib1fARBFunPtr :: FunPtr (GLenum -> GLfloat -> IO ())
glVertexAttrib1fARBFunPtr = IO (FunPtr (GLenum -> GLfloat -> IO ()))
-> FunPtr (GLenum -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib1fARB")

{-# NOINLINE glVertexAttrib1fARBFunPtr #-}

-- | Usage: @'glVertexAttrib1fvARB' index v@
--
-- The length of @v@ should be @1@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glVertexAttrib1fv'.


glVertexAttrib1fvARB :: MonadIO m => GLuint -> Ptr GLfloat -> m ()
glVertexAttrib1fvARB :: GLenum -> Ptr GLfloat -> m ()
glVertexAttrib1fvARB = FunPtr (GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> Ptr GLfloat -> m ()
ffiuintPtrfloatIOV FunPtr (GLenum -> Ptr GLfloat -> IO ())
glVertexAttrib1fvARBFunPtr

glVertexAttrib1fvARBFunPtr :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
glVertexAttrib1fvARBFunPtr :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
glVertexAttrib1fvARBFunPtr = IO (FunPtr (GLenum -> Ptr GLfloat -> IO ()))
-> FunPtr (GLenum -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib1fvARB")

{-# NOINLINE glVertexAttrib1fvARBFunPtr #-}

-- | Usage: @'glVertexAttrib1sARB' index x@
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glVertexAttrib1s'.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glVertexAttrib1svARB'.


glVertexAttrib1sARB :: MonadIO m => GLuint -> GLshort -> m ()
glVertexAttrib1sARB :: GLenum -> GLshort -> m ()
glVertexAttrib1sARB = FunPtr (GLenum -> GLshort -> IO ()) -> GLenum -> GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLshort -> IO ()) -> GLenum -> GLshort -> m ()
ffiuintshortIOV FunPtr (GLenum -> GLshort -> IO ())
glVertexAttrib1sARBFunPtr

glVertexAttrib1sARBFunPtr :: FunPtr (GLuint -> GLshort -> IO ())
glVertexAttrib1sARBFunPtr :: FunPtr (GLenum -> GLshort -> IO ())
glVertexAttrib1sARBFunPtr = IO (FunPtr (GLenum -> GLshort -> IO ()))
-> FunPtr (GLenum -> GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib1sARB")

{-# NOINLINE glVertexAttrib1sARBFunPtr #-}

-- | Usage: @'glVertexAttrib1svARB' index v@
--
-- The length of @v@ should be @1@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glVertexAttrib1sv'.


glVertexAttrib1svARB :: MonadIO m => GLuint -> Ptr GLshort -> m ()
glVertexAttrib1svARB :: GLenum -> Ptr GLshort -> m ()
glVertexAttrib1svARB = FunPtr (GLenum -> Ptr GLshort -> IO ())
-> GLenum -> Ptr GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLshort -> IO ())
-> GLenum -> Ptr GLshort -> m ()
ffiuintPtrshortIOV FunPtr (GLenum -> Ptr GLshort -> IO ())
glVertexAttrib1svARBFunPtr

glVertexAttrib1svARBFunPtr :: FunPtr (GLuint -> Ptr GLshort -> IO ())
glVertexAttrib1svARBFunPtr :: FunPtr (GLenum -> Ptr GLshort -> IO ())
glVertexAttrib1svARBFunPtr = IO (FunPtr (GLenum -> Ptr GLshort -> IO ()))
-> FunPtr (GLenum -> Ptr GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib1svARB")

{-# NOINLINE glVertexAttrib1svARBFunPtr #-}

-- | Usage: @'glVertexAttrib2dARB' index x y@
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glVertexAttrib2d'.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glVertexAttrib2dvARB'.


glVertexAttrib2dARB :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()
glVertexAttrib2dARB :: GLenum -> GLdouble -> GLdouble -> m ()
glVertexAttrib2dARB = FunPtr (GLenum -> GLdouble -> GLdouble -> IO ())
-> GLenum -> GLdouble -> GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLdouble -> GLdouble -> IO ())
-> GLenum -> GLdouble -> GLdouble -> m ()
ffiuintdoubledoubleIOV FunPtr (GLenum -> GLdouble -> GLdouble -> IO ())
glVertexAttrib2dARBFunPtr

glVertexAttrib2dARBFunPtr :: FunPtr (GLuint -> GLdouble -> GLdouble -> IO ())
glVertexAttrib2dARBFunPtr :: FunPtr (GLenum -> GLdouble -> GLdouble -> IO ())
glVertexAttrib2dARBFunPtr = IO (FunPtr (GLenum -> GLdouble -> GLdouble -> IO ()))
-> FunPtr (GLenum -> GLdouble -> GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLdouble -> GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib2dARB")

{-# NOINLINE glVertexAttrib2dARBFunPtr #-}

-- | Usage: @'glVertexAttrib2dvARB' index v@
--
-- The length of @v@ should be @2@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glVertexAttrib2dv'.


glVertexAttrib2dvARB :: MonadIO m => GLuint -> Ptr GLdouble -> m ()
glVertexAttrib2dvARB :: GLenum -> Ptr GLdouble -> m ()
glVertexAttrib2dvARB = FunPtr (GLenum -> Ptr GLdouble -> IO ())
-> GLenum -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLdouble -> IO ())
-> GLenum -> Ptr GLdouble -> m ()
ffiuintPtrdoubleIOV FunPtr (GLenum -> Ptr GLdouble -> IO ())
glVertexAttrib2dvARBFunPtr

glVertexAttrib2dvARBFunPtr :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
glVertexAttrib2dvARBFunPtr :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
glVertexAttrib2dvARBFunPtr = IO (FunPtr (GLenum -> Ptr GLdouble -> IO ()))
-> FunPtr (GLenum -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib2dvARB")

{-# NOINLINE glVertexAttrib2dvARBFunPtr #-}

-- | Usage: @'glVertexAttrib2fARB' index x y@
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glVertexAttrib2f'.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glVertexAttrib2fvARB'.


glVertexAttrib2fARB :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()
glVertexAttrib2fARB :: GLenum -> GLfloat -> GLfloat -> m ()
glVertexAttrib2fARB = FunPtr (GLenum -> GLfloat -> GLfloat -> IO ())
-> GLenum -> GLfloat -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLfloat -> GLfloat -> IO ())
-> GLenum -> GLfloat -> GLfloat -> m ()
ffiuintfloatfloatIOV FunPtr (GLenum -> GLfloat -> GLfloat -> IO ())
glVertexAttrib2fARBFunPtr

glVertexAttrib2fARBFunPtr :: FunPtr (GLuint -> GLfloat -> GLfloat -> IO ())
glVertexAttrib2fARBFunPtr :: FunPtr (GLenum -> GLfloat -> GLfloat -> IO ())
glVertexAttrib2fARBFunPtr = IO (FunPtr (GLenum -> GLfloat -> GLfloat -> IO ()))
-> FunPtr (GLenum -> GLfloat -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLfloat -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib2fARB")

{-# NOINLINE glVertexAttrib2fARBFunPtr #-}

-- | Usage: @'glVertexAttrib2fvARB' index v@
--
-- The length of @v@ should be @2@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glVertexAttrib2fv'.


glVertexAttrib2fvARB :: MonadIO m => GLuint -> Ptr GLfloat -> m ()
glVertexAttrib2fvARB :: GLenum -> Ptr GLfloat -> m ()
glVertexAttrib2fvARB = FunPtr (GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> Ptr GLfloat -> m ()
ffiuintPtrfloatIOV FunPtr (GLenum -> Ptr GLfloat -> IO ())
glVertexAttrib2fvARBFunPtr

glVertexAttrib2fvARBFunPtr :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
glVertexAttrib2fvARBFunPtr :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
glVertexAttrib2fvARBFunPtr = IO (FunPtr (GLenum -> Ptr GLfloat -> IO ()))
-> FunPtr (GLenum -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib2fvARB")

{-# NOINLINE glVertexAttrib2fvARBFunPtr #-}

-- | Usage: @'glVertexAttrib2sARB' index x y@
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glVertexAttrib2s'.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glVertexAttrib2svARB'.


glVertexAttrib2sARB :: MonadIO m => GLuint -> GLshort -> GLshort -> m ()
glVertexAttrib2sARB :: GLenum -> GLshort -> GLshort -> m ()
glVertexAttrib2sARB = FunPtr (GLenum -> GLshort -> GLshort -> IO ())
-> GLenum -> GLshort -> GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLshort -> GLshort -> IO ())
-> GLenum -> GLshort -> GLshort -> m ()
ffiuintshortshortIOV FunPtr (GLenum -> GLshort -> GLshort -> IO ())
glVertexAttrib2sARBFunPtr

glVertexAttrib2sARBFunPtr :: FunPtr (GLuint -> GLshort -> GLshort -> IO ())
glVertexAttrib2sARBFunPtr :: FunPtr (GLenum -> GLshort -> GLshort -> IO ())
glVertexAttrib2sARBFunPtr = IO (FunPtr (GLenum -> GLshort -> GLshort -> IO ()))
-> FunPtr (GLenum -> GLshort -> GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLshort -> GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib2sARB")

{-# NOINLINE glVertexAttrib2sARBFunPtr #-}

-- | Usage: @'glVertexAttrib2svARB' index v@
--
-- The length of @v@ should be @2@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glVertexAttrib2sv'.


glVertexAttrib2svARB :: MonadIO m => GLuint -> Ptr GLshort -> m ()
glVertexAttrib2svARB :: GLenum -> Ptr GLshort -> m ()
glVertexAttrib2svARB = FunPtr (GLenum -> Ptr GLshort -> IO ())
-> GLenum -> Ptr GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLshort -> IO ())
-> GLenum -> Ptr GLshort -> m ()
ffiuintPtrshortIOV FunPtr (GLenum -> Ptr GLshort -> IO ())
glVertexAttrib2svARBFunPtr

glVertexAttrib2svARBFunPtr :: FunPtr (GLuint -> Ptr GLshort -> IO ())
glVertexAttrib2svARBFunPtr :: FunPtr (GLenum -> Ptr GLshort -> IO ())
glVertexAttrib2svARBFunPtr = IO (FunPtr (GLenum -> Ptr GLshort -> IO ()))
-> FunPtr (GLenum -> Ptr GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib2svARB")

{-# NOINLINE glVertexAttrib2svARBFunPtr #-}

-- | Usage: @'glVertexAttrib3dARB' index x y z@
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glVertexAttrib3d'.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glVertexAttrib3dvARB'.


glVertexAttrib3dARB :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()
glVertexAttrib3dARB :: GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()
glVertexAttrib3dARB = FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()
ffiuintdoubledoubledoubleIOV FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ())
glVertexAttrib3dARBFunPtr

glVertexAttrib3dARBFunPtr :: FunPtr (GLuint -> GLdouble -> GLdouble -> GLdouble -> IO ())
glVertexAttrib3dARBFunPtr :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ())
glVertexAttrib3dARBFunPtr = IO (FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ()))
-> FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib3dARB")

{-# NOINLINE glVertexAttrib3dARBFunPtr #-}

-- | Usage: @'glVertexAttrib3dvARB' index v@
--
-- The length of @v@ should be @3@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glVertexAttrib3dv'.


glVertexAttrib3dvARB :: MonadIO m => GLuint -> Ptr GLdouble -> m ()
glVertexAttrib3dvARB :: GLenum -> Ptr GLdouble -> m ()
glVertexAttrib3dvARB = FunPtr (GLenum -> Ptr GLdouble -> IO ())
-> GLenum -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLdouble -> IO ())
-> GLenum -> Ptr GLdouble -> m ()
ffiuintPtrdoubleIOV FunPtr (GLenum -> Ptr GLdouble -> IO ())
glVertexAttrib3dvARBFunPtr

glVertexAttrib3dvARBFunPtr :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
glVertexAttrib3dvARBFunPtr :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
glVertexAttrib3dvARBFunPtr = IO (FunPtr (GLenum -> Ptr GLdouble -> IO ()))
-> FunPtr (GLenum -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib3dvARB")

{-# NOINLINE glVertexAttrib3dvARBFunPtr #-}

-- | Usage: @'glVertexAttrib3fARB' index x y z@
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glVertexAttrib3f'.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glVertexAttrib3fvARB'.


glVertexAttrib3fARB :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()
glVertexAttrib3fARB :: GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()
glVertexAttrib3fARB = FunPtr (GLenum -> GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()
ffiuintfloatfloatfloatIOV FunPtr (GLenum -> GLfloat -> GLfloat -> GLfloat -> IO ())
glVertexAttrib3fARBFunPtr

glVertexAttrib3fARBFunPtr :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> IO ())
glVertexAttrib3fARBFunPtr :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLfloat -> IO ())
glVertexAttrib3fARBFunPtr = IO (FunPtr (GLenum -> GLfloat -> GLfloat -> GLfloat -> IO ()))
-> FunPtr (GLenum -> GLfloat -> GLfloat -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLfloat -> GLfloat -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib3fARB")

{-# NOINLINE glVertexAttrib3fARBFunPtr #-}

-- | Usage: @'glVertexAttrib3fvARB' index v@
--
-- The length of @v@ should be @3@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glVertexAttrib3fv'.


glVertexAttrib3fvARB :: MonadIO m => GLuint -> Ptr GLfloat -> m ()
glVertexAttrib3fvARB :: GLenum -> Ptr GLfloat -> m ()
glVertexAttrib3fvARB = FunPtr (GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> Ptr GLfloat -> m ()
ffiuintPtrfloatIOV FunPtr (GLenum -> Ptr GLfloat -> IO ())
glVertexAttrib3fvARBFunPtr

glVertexAttrib3fvARBFunPtr :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
glVertexAttrib3fvARBFunPtr :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
glVertexAttrib3fvARBFunPtr = IO (FunPtr (GLenum -> Ptr GLfloat -> IO ()))
-> FunPtr (GLenum -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib3fvARB")

{-# NOINLINE glVertexAttrib3fvARBFunPtr #-}

-- | Usage: @'glVertexAttrib3sARB' index x y z@
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glVertexAttrib3s'.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glVertexAttrib3svARB'.


glVertexAttrib3sARB :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> m ()
glVertexAttrib3sARB :: GLenum -> GLshort -> GLshort -> GLshort -> m ()
glVertexAttrib3sARB = FunPtr (GLenum -> GLshort -> GLshort -> GLshort -> IO ())
-> GLenum -> GLshort -> GLshort -> GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLshort -> GLshort -> GLshort -> IO ())
-> GLenum -> GLshort -> GLshort -> GLshort -> m ()
ffiuintshortshortshortIOV FunPtr (GLenum -> GLshort -> GLshort -> GLshort -> IO ())
glVertexAttrib3sARBFunPtr

glVertexAttrib3sARBFunPtr :: FunPtr (GLuint -> GLshort -> GLshort -> GLshort -> IO ())
glVertexAttrib3sARBFunPtr :: FunPtr (GLenum -> GLshort -> GLshort -> GLshort -> IO ())
glVertexAttrib3sARBFunPtr = IO (FunPtr (GLenum -> GLshort -> GLshort -> GLshort -> IO ()))
-> FunPtr (GLenum -> GLshort -> GLshort -> GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLshort -> GLshort -> GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib3sARB")

{-# NOINLINE glVertexAttrib3sARBFunPtr #-}

-- | Usage: @'glVertexAttrib3svARB' index v@
--
-- The length of @v@ should be @3@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glVertexAttrib3sv'.


glVertexAttrib3svARB :: MonadIO m => GLuint -> Ptr GLshort -> m ()
glVertexAttrib3svARB :: GLenum -> Ptr GLshort -> m ()
glVertexAttrib3svARB = FunPtr (GLenum -> Ptr GLshort -> IO ())
-> GLenum -> Ptr GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLshort -> IO ())
-> GLenum -> Ptr GLshort -> m ()
ffiuintPtrshortIOV FunPtr (GLenum -> Ptr GLshort -> IO ())
glVertexAttrib3svARBFunPtr

glVertexAttrib3svARBFunPtr :: FunPtr (GLuint -> Ptr GLshort -> IO ())
glVertexAttrib3svARBFunPtr :: FunPtr (GLenum -> Ptr GLshort -> IO ())
glVertexAttrib3svARBFunPtr = IO (FunPtr (GLenum -> Ptr GLshort -> IO ()))
-> FunPtr (GLenum -> Ptr GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib3svARB")

{-# NOINLINE glVertexAttrib3svARBFunPtr #-}

-- | Usage: @'glVertexAttrib4NbvARB' index v@
--
-- The length of @v@ should be @4@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glVertexAttrib4Nbv'.


glVertexAttrib4NbvARB :: MonadIO m => GLuint -> Ptr GLbyte -> m ()
glVertexAttrib4NbvARB :: GLenum -> Ptr GLbyte -> m ()
glVertexAttrib4NbvARB = FunPtr (GLenum -> Ptr GLbyte -> IO ())
-> GLenum -> Ptr GLbyte -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLbyte -> IO ())
-> GLenum -> Ptr GLbyte -> m ()
ffiuintPtrbyteIOV FunPtr (GLenum -> Ptr GLbyte -> IO ())
glVertexAttrib4NbvARBFunPtr

glVertexAttrib4NbvARBFunPtr :: FunPtr (GLuint -> Ptr GLbyte -> IO ())
glVertexAttrib4NbvARBFunPtr :: FunPtr (GLenum -> Ptr GLbyte -> IO ())
glVertexAttrib4NbvARBFunPtr = IO (FunPtr (GLenum -> Ptr GLbyte -> IO ()))
-> FunPtr (GLenum -> Ptr GLbyte -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLbyte -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib4NbvARB")

{-# NOINLINE glVertexAttrib4NbvARBFunPtr #-}

-- | Usage: @'glVertexAttrib4NivARB' index v@
--
-- The length of @v@ should be @4@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glVertexAttrib4Niv'.


glVertexAttrib4NivARB :: MonadIO m => GLuint -> Ptr GLint -> m ()
glVertexAttrib4NivARB :: GLenum -> Ptr GLsizei -> m ()
glVertexAttrib4NivARB = FunPtr (GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> Ptr GLsizei -> m ()
ffiuintPtrintIOV FunPtr (GLenum -> Ptr GLsizei -> IO ())
glVertexAttrib4NivARBFunPtr

glVertexAttrib4NivARBFunPtr :: FunPtr (GLuint -> Ptr GLint -> IO ())
glVertexAttrib4NivARBFunPtr :: FunPtr (GLenum -> Ptr GLsizei -> IO ())
glVertexAttrib4NivARBFunPtr = IO (FunPtr (GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib4NivARB")

{-# NOINLINE glVertexAttrib4NivARBFunPtr #-}

-- | Usage: @'glVertexAttrib4NsvARB' index v@
--
-- The length of @v@ should be @4@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glVertexAttrib4Nsv'.


glVertexAttrib4NsvARB :: MonadIO m => GLuint -> Ptr GLshort -> m ()
glVertexAttrib4NsvARB :: GLenum -> Ptr GLshort -> m ()
glVertexAttrib4NsvARB = FunPtr (GLenum -> Ptr GLshort -> IO ())
-> GLenum -> Ptr GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLshort -> IO ())
-> GLenum -> Ptr GLshort -> m ()
ffiuintPtrshortIOV FunPtr (GLenum -> Ptr GLshort -> IO ())
glVertexAttrib4NsvARBFunPtr

glVertexAttrib4NsvARBFunPtr :: FunPtr (GLuint -> Ptr GLshort -> IO ())
glVertexAttrib4NsvARBFunPtr :: FunPtr (GLenum -> Ptr GLshort -> IO ())
glVertexAttrib4NsvARBFunPtr = IO (FunPtr (GLenum -> Ptr GLshort -> IO ()))
-> FunPtr (GLenum -> Ptr GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib4NsvARB")

{-# NOINLINE glVertexAttrib4NsvARBFunPtr #-}

-- | Usage: @'glVertexAttrib4NubARB' index x y z w@
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glVertexAttrib4Nub'.


glVertexAttrib4NubARB :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()
glVertexAttrib4NubARB :: GLenum -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()
glVertexAttrib4NubARB = FunPtr
  (GLenum
   -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
-> GLenum
-> GLboolean
-> GLboolean
-> GLboolean
-> GLboolean
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
-> GLenum
-> GLboolean
-> GLboolean
-> GLboolean
-> GLboolean
-> m ()
ffiuintubyteubyteubyteubyteIOV FunPtr
  (GLenum
   -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
glVertexAttrib4NubARBFunPtr

glVertexAttrib4NubARBFunPtr :: FunPtr (GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> IO ())
glVertexAttrib4NubARBFunPtr :: FunPtr
  (GLenum
   -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
glVertexAttrib4NubARBFunPtr = IO
  (FunPtr
     (GLenum
      -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ()))
-> FunPtr
     (GLenum
      -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib4NubARB")

{-# NOINLINE glVertexAttrib4NubARBFunPtr #-}

-- | Usage: @'glVertexAttrib4NubvARB' index v@
--
-- The length of @v@ should be @4@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glVertexAttrib4Nubv'.


glVertexAttrib4NubvARB :: MonadIO m => GLuint -> Ptr GLubyte -> m ()
glVertexAttrib4NubvARB :: GLenum -> Ptr GLboolean -> m ()
glVertexAttrib4NubvARB = FunPtr (GLenum -> Ptr GLboolean -> IO ())
-> GLenum -> Ptr GLboolean -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLboolean -> IO ())
-> GLenum -> Ptr GLboolean -> m ()
ffiuintPtrubyteIOV FunPtr (GLenum -> Ptr GLboolean -> IO ())
glVertexAttrib4NubvARBFunPtr

glVertexAttrib4NubvARBFunPtr :: FunPtr (GLuint -> Ptr GLubyte -> IO ())
glVertexAttrib4NubvARBFunPtr :: FunPtr (GLenum -> Ptr GLboolean -> IO ())
glVertexAttrib4NubvARBFunPtr = IO (FunPtr (GLenum -> Ptr GLboolean -> IO ()))
-> FunPtr (GLenum -> Ptr GLboolean -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLboolean -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib4NubvARB")

{-# NOINLINE glVertexAttrib4NubvARBFunPtr #-}

-- | Usage: @'glVertexAttrib4NuivARB' index v@
--
-- The length of @v@ should be @4@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glVertexAttrib4Nuiv'.


glVertexAttrib4NuivARB :: MonadIO m => GLuint -> Ptr GLuint -> m ()
glVertexAttrib4NuivARB :: GLenum -> Ptr GLenum -> m ()
glVertexAttrib4NuivARB = FunPtr (GLenum -> Ptr GLenum -> IO ())
-> GLenum -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLenum -> IO ())
-> GLenum -> Ptr GLenum -> m ()
ffiuintPtruintIOV FunPtr (GLenum -> Ptr GLenum -> IO ())
glVertexAttrib4NuivARBFunPtr

glVertexAttrib4NuivARBFunPtr :: FunPtr (GLuint -> Ptr GLuint -> IO ())
glVertexAttrib4NuivARBFunPtr :: FunPtr (GLenum -> Ptr GLenum -> IO ())
glVertexAttrib4NuivARBFunPtr = IO (FunPtr (GLenum -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib4NuivARB")

{-# NOINLINE glVertexAttrib4NuivARBFunPtr #-}

-- | Usage: @'glVertexAttrib4NusvARB' index v@
--
-- The length of @v@ should be @4@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glVertexAttrib4Nusv'.


glVertexAttrib4NusvARB :: MonadIO m => GLuint -> Ptr GLushort -> m ()
glVertexAttrib4NusvARB :: GLenum -> Ptr GLushort -> m ()
glVertexAttrib4NusvARB = FunPtr (GLenum -> Ptr GLushort -> IO ())
-> GLenum -> Ptr GLushort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLushort -> IO ())
-> GLenum -> Ptr GLushort -> m ()
ffiuintPtrushortIOV FunPtr (GLenum -> Ptr GLushort -> IO ())
glVertexAttrib4NusvARBFunPtr

glVertexAttrib4NusvARBFunPtr :: FunPtr (GLuint -> Ptr GLushort -> IO ())
glVertexAttrib4NusvARBFunPtr :: FunPtr (GLenum -> Ptr GLushort -> IO ())
glVertexAttrib4NusvARBFunPtr = IO (FunPtr (GLenum -> Ptr GLushort -> IO ()))
-> FunPtr (GLenum -> Ptr GLushort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLushort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib4NusvARB")

{-# NOINLINE glVertexAttrib4NusvARBFunPtr #-}

-- | Usage: @'glVertexAttrib4bvARB' index v@
--
-- The length of @v@ should be @4@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glVertexAttrib4bv'.


glVertexAttrib4bvARB :: MonadIO m => GLuint -> Ptr GLbyte -> m ()
glVertexAttrib4bvARB :: GLenum -> Ptr GLbyte -> m ()
glVertexAttrib4bvARB = FunPtr (GLenum -> Ptr GLbyte -> IO ())
-> GLenum -> Ptr GLbyte -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLbyte -> IO ())
-> GLenum -> Ptr GLbyte -> m ()
ffiuintPtrbyteIOV FunPtr (GLenum -> Ptr GLbyte -> IO ())
glVertexAttrib4bvARBFunPtr

glVertexAttrib4bvARBFunPtr :: FunPtr (GLuint -> Ptr GLbyte -> IO ())
glVertexAttrib4bvARBFunPtr :: FunPtr (GLenum -> Ptr GLbyte -> IO ())
glVertexAttrib4bvARBFunPtr = IO (FunPtr (GLenum -> Ptr GLbyte -> IO ()))
-> FunPtr (GLenum -> Ptr GLbyte -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLbyte -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib4bvARB")

{-# NOINLINE glVertexAttrib4bvARBFunPtr #-}

-- | Usage: @'glVertexAttrib4dARB' index x y z w@
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glVertexAttrib4d'.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glVertexAttrib4dvARB'.


glVertexAttrib4dARB :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glVertexAttrib4dARB :: GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glVertexAttrib4dARB = FunPtr
  (GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
ffiuintdoubledoubledoubledoubleIOV FunPtr
  (GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
glVertexAttrib4dARBFunPtr

glVertexAttrib4dARBFunPtr :: FunPtr (GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
glVertexAttrib4dARBFunPtr :: FunPtr
  (GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
glVertexAttrib4dARBFunPtr = IO
  (FunPtr
     (GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()))
-> FunPtr
     (GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib4dARB")

{-# NOINLINE glVertexAttrib4dARBFunPtr #-}

-- | Usage: @'glVertexAttrib4dvARB' index v@
--
-- The length of @v@ should be @4@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glVertexAttrib4dv'.


glVertexAttrib4dvARB :: MonadIO m => GLuint -> Ptr GLdouble -> m ()
glVertexAttrib4dvARB :: GLenum -> Ptr GLdouble -> m ()
glVertexAttrib4dvARB = FunPtr (GLenum -> Ptr GLdouble -> IO ())
-> GLenum -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLdouble -> IO ())
-> GLenum -> Ptr GLdouble -> m ()
ffiuintPtrdoubleIOV FunPtr (GLenum -> Ptr GLdouble -> IO ())
glVertexAttrib4dvARBFunPtr

glVertexAttrib4dvARBFunPtr :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
glVertexAttrib4dvARBFunPtr :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
glVertexAttrib4dvARBFunPtr = IO (FunPtr (GLenum -> Ptr GLdouble -> IO ()))
-> FunPtr (GLenum -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib4dvARB")

{-# NOINLINE glVertexAttrib4dvARBFunPtr #-}

-- | Usage: @'glVertexAttrib4fARB' index x y z w@
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glVertexAttrib4f'.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glVertexAttrib4fvARB'.


glVertexAttrib4fARB :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glVertexAttrib4fARB :: GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glVertexAttrib4fARB = FunPtr
  (GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
ffiuintfloatfloatfloatfloatIOV FunPtr
  (GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glVertexAttrib4fARBFunPtr

glVertexAttrib4fARBFunPtr :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glVertexAttrib4fARBFunPtr :: FunPtr
  (GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glVertexAttrib4fARBFunPtr = IO
  (FunPtr
     (GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()))
-> FunPtr
     (GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib4fARB")

{-# NOINLINE glVertexAttrib4fARBFunPtr #-}

-- | Usage: @'glVertexAttrib4fvARB' index v@
--
-- The length of @v@ should be @4@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glVertexAttrib4fv'.


glVertexAttrib4fvARB :: MonadIO m => GLuint -> Ptr GLfloat -> m ()
glVertexAttrib4fvARB :: GLenum -> Ptr GLfloat -> m ()
glVertexAttrib4fvARB = FunPtr (GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> Ptr GLfloat -> m ()
ffiuintPtrfloatIOV FunPtr (GLenum -> Ptr GLfloat -> IO ())
glVertexAttrib4fvARBFunPtr

glVertexAttrib4fvARBFunPtr :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
glVertexAttrib4fvARBFunPtr :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
glVertexAttrib4fvARBFunPtr = IO (FunPtr (GLenum -> Ptr GLfloat -> IO ()))
-> FunPtr (GLenum -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib4fvARB")

{-# NOINLINE glVertexAttrib4fvARBFunPtr #-}

-- | Usage: @'glVertexAttrib4ivARB' index v@
--
-- The length of @v@ should be @4@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glVertexAttrib4iv'.


glVertexAttrib4ivARB :: MonadIO m => GLuint -> Ptr GLint -> m ()
glVertexAttrib4ivARB :: GLenum -> Ptr GLsizei -> m ()
glVertexAttrib4ivARB = FunPtr (GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> Ptr GLsizei -> m ()
ffiuintPtrintIOV FunPtr (GLenum -> Ptr GLsizei -> IO ())
glVertexAttrib4ivARBFunPtr

glVertexAttrib4ivARBFunPtr :: FunPtr (GLuint -> Ptr GLint -> IO ())
glVertexAttrib4ivARBFunPtr :: FunPtr (GLenum -> Ptr GLsizei -> IO ())
glVertexAttrib4ivARBFunPtr = IO (FunPtr (GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib4ivARB")

{-# NOINLINE glVertexAttrib4ivARBFunPtr #-}

-- | Usage: @'glVertexAttrib4sARB' index x y z w@
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glVertexAttrib4s'.
--
-- The vector equivalent of this command is 'Graphics.GL.Internal.Shared.glVertexAttrib4svARB'.


glVertexAttrib4sARB :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()
glVertexAttrib4sARB :: GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> m ()
glVertexAttrib4sARB = FunPtr
  (GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
-> GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
-> GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> m ()
ffiuintshortshortshortshortIOV FunPtr
  (GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
glVertexAttrib4sARBFunPtr

glVertexAttrib4sARBFunPtr :: FunPtr (GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
glVertexAttrib4sARBFunPtr :: FunPtr
  (GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
glVertexAttrib4sARBFunPtr = IO
  (FunPtr
     (GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> IO ()))
-> FunPtr
     (GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib4sARB")

{-# NOINLINE glVertexAttrib4sARBFunPtr #-}

-- | Usage: @'glVertexAttrib4svARB' index v@
--
-- The length of @v@ should be @4@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glVertexAttrib4sv'.


glVertexAttrib4svARB :: MonadIO m => GLuint -> Ptr GLshort -> m ()
glVertexAttrib4svARB :: GLenum -> Ptr GLshort -> m ()
glVertexAttrib4svARB = FunPtr (GLenum -> Ptr GLshort -> IO ())
-> GLenum -> Ptr GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLshort -> IO ())
-> GLenum -> Ptr GLshort -> m ()
ffiuintPtrshortIOV FunPtr (GLenum -> Ptr GLshort -> IO ())
glVertexAttrib4svARBFunPtr

glVertexAttrib4svARBFunPtr :: FunPtr (GLuint -> Ptr GLshort -> IO ())
glVertexAttrib4svARBFunPtr :: FunPtr (GLenum -> Ptr GLshort -> IO ())
glVertexAttrib4svARBFunPtr = IO (FunPtr (GLenum -> Ptr GLshort -> IO ()))
-> FunPtr (GLenum -> Ptr GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib4svARB")

{-# NOINLINE glVertexAttrib4svARBFunPtr #-}

-- | Usage: @'glVertexAttrib4ubvARB' index v@
--
-- The length of @v@ should be @4@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glVertexAttrib4ubv'.


glVertexAttrib4ubvARB :: MonadIO m => GLuint -> Ptr GLubyte -> m ()
glVertexAttrib4ubvARB :: GLenum -> Ptr GLboolean -> m ()
glVertexAttrib4ubvARB = FunPtr (GLenum -> Ptr GLboolean -> IO ())
-> GLenum -> Ptr GLboolean -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLboolean -> IO ())
-> GLenum -> Ptr GLboolean -> m ()
ffiuintPtrubyteIOV FunPtr (GLenum -> Ptr GLboolean -> IO ())
glVertexAttrib4ubvARBFunPtr

glVertexAttrib4ubvARBFunPtr :: FunPtr (GLuint -> Ptr GLubyte -> IO ())
glVertexAttrib4ubvARBFunPtr :: FunPtr (GLenum -> Ptr GLboolean -> IO ())
glVertexAttrib4ubvARBFunPtr = IO (FunPtr (GLenum -> Ptr GLboolean -> IO ()))
-> FunPtr (GLenum -> Ptr GLboolean -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLboolean -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib4ubvARB")

{-# NOINLINE glVertexAttrib4ubvARBFunPtr #-}

-- | Usage: @'glVertexAttrib4uivARB' index v@
--
-- The length of @v@ should be @4@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glVertexAttrib4uiv'.


glVertexAttrib4uivARB :: MonadIO m => GLuint -> Ptr GLuint -> m ()
glVertexAttrib4uivARB :: GLenum -> Ptr GLenum -> m ()
glVertexAttrib4uivARB = FunPtr (GLenum -> Ptr GLenum -> IO ())
-> GLenum -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLenum -> IO ())
-> GLenum -> Ptr GLenum -> m ()
ffiuintPtruintIOV FunPtr (GLenum -> Ptr GLenum -> IO ())
glVertexAttrib4uivARBFunPtr

glVertexAttrib4uivARBFunPtr :: FunPtr (GLuint -> Ptr GLuint -> IO ())
glVertexAttrib4uivARBFunPtr :: FunPtr (GLenum -> Ptr GLenum -> IO ())
glVertexAttrib4uivARBFunPtr = IO (FunPtr (GLenum -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib4uivARB")

{-# NOINLINE glVertexAttrib4uivARBFunPtr #-}

-- | Usage: @'glVertexAttrib4usvARB' index v@
--
-- The length of @v@ should be @4@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glVertexAttrib4usv'.


glVertexAttrib4usvARB :: MonadIO m => GLuint -> Ptr GLushort -> m ()
glVertexAttrib4usvARB :: GLenum -> Ptr GLushort -> m ()
glVertexAttrib4usvARB = FunPtr (GLenum -> Ptr GLushort -> IO ())
-> GLenum -> Ptr GLushort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLushort -> IO ())
-> GLenum -> Ptr GLushort -> m ()
ffiuintPtrushortIOV FunPtr (GLenum -> Ptr GLushort -> IO ())
glVertexAttrib4usvARBFunPtr

glVertexAttrib4usvARBFunPtr :: FunPtr (GLuint -> Ptr GLushort -> IO ())
glVertexAttrib4usvARBFunPtr :: FunPtr (GLenum -> Ptr GLushort -> IO ())
glVertexAttrib4usvARBFunPtr = IO (FunPtr (GLenum -> Ptr GLushort -> IO ()))
-> FunPtr (GLenum -> Ptr GLushort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLushort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttrib4usvARB")

{-# NOINLINE glVertexAttrib4usvARBFunPtr #-}

-- | Usage: @'glVertexAttribPointerARB' index size type normalized stride pointer@
--
-- The parameter @type@ is a @VertexAttribPointerType@.
--
-- The parameter @normalized@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @pointer@ should be @COMPSIZE(size,type,stride)@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glVertexAttribPointer'.


glVertexAttribPointerARB :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr () -> m ()
glVertexAttribPointerARB :: GLenum
-> GLsizei -> GLenum -> GLboolean -> GLsizei -> Ptr () -> m ()
glVertexAttribPointerARB = FunPtr
  (GLenum
   -> GLsizei -> GLenum -> GLboolean -> GLsizei -> Ptr () -> IO ())
-> GLenum
-> GLsizei
-> GLenum
-> GLboolean
-> GLsizei
-> Ptr ()
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei -> GLenum -> GLboolean -> GLsizei -> Ptr () -> IO ())
-> GLenum
-> GLsizei
-> GLenum
-> GLboolean
-> GLsizei
-> Ptr ()
-> m ()
ffiuintintenumbooleansizeiPtrVIOV FunPtr
  (GLenum
   -> GLsizei -> GLenum -> GLboolean -> GLsizei -> Ptr () -> IO ())
glVertexAttribPointerARBFunPtr

glVertexAttribPointerARBFunPtr :: FunPtr (GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr () -> IO ())
glVertexAttribPointerARBFunPtr :: FunPtr
  (GLenum
   -> GLsizei -> GLenum -> GLboolean -> GLsizei -> Ptr () -> IO ())
glVertexAttribPointerARBFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei -> GLenum -> GLboolean -> GLsizei -> Ptr () -> IO ()))
-> FunPtr
     (GLenum
      -> GLsizei -> GLenum -> GLboolean -> GLsizei -> Ptr () -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei -> GLenum -> GLboolean -> GLsizei -> Ptr () -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glVertexAttribPointerARB")

{-# NOINLINE glVertexAttribPointerARBFunPtr #-}

pattern $bGL_CURRENT_VERTEX_ATTRIB_ARB :: a
$mGL_CURRENT_VERTEX_ATTRIB_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CURRENT_VERTEX_ATTRIB_ARB = 0x8626

pattern $bGL_MAX_VERTEX_ATTRIBS_ARB :: a
$mGL_MAX_VERTEX_ATTRIBS_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_VERTEX_ATTRIBS_ARB = 0x8869

pattern $bGL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB :: a
$mGL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB = 0x8622

pattern $bGL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB :: a
$mGL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB = 0x886A

pattern $bGL_VERTEX_ATTRIB_ARRAY_POINTER_ARB :: a
$mGL_VERTEX_ATTRIB_ARRAY_POINTER_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB = 0x8645

pattern $bGL_VERTEX_ATTRIB_ARRAY_SIZE_ARB :: a
$mGL_VERTEX_ATTRIB_ARRAY_SIZE_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB = 0x8623

pattern $bGL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB :: a
$mGL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB = 0x8624

pattern $bGL_VERTEX_ATTRIB_ARRAY_TYPE_ARB :: a
$mGL_VERTEX_ATTRIB_ARRAY_TYPE_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB = 0x8625

pattern $bGL_VERTEX_PROGRAM_POINT_SIZE_ARB :: a
$mGL_VERTEX_PROGRAM_POINT_SIZE_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_PROGRAM_POINT_SIZE_ARB = 0x8642

pattern $bGL_VERTEX_PROGRAM_TWO_SIDE_ARB :: a
$mGL_VERTEX_PROGRAM_TWO_SIDE_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_PROGRAM_TWO_SIDE_ARB = 0x8643

pattern $bGL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB :: a
$mGL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB = 0x8B4C

-- | Usage: @'glBindFragDataLocationEXT' program color name@
--
-- The length of @name@ should be @COMPSIZE(name)@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glBindFragDataLocation'.


glBindFragDataLocationEXT :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()
glBindFragDataLocationEXT :: GLenum -> GLenum -> Ptr GLchar -> m ()
glBindFragDataLocationEXT = FunPtr (GLenum -> GLenum -> Ptr GLchar -> IO ())
-> GLenum -> GLenum -> Ptr GLchar -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLchar -> IO ())
-> GLenum -> GLenum -> Ptr GLchar -> m ()
ffiuintuintPtrcharIOV FunPtr (GLenum -> GLenum -> Ptr GLchar -> IO ())
glBindFragDataLocationEXTFunPtr

glBindFragDataLocationEXTFunPtr :: FunPtr (GLuint -> GLuint -> Ptr GLchar -> IO ())
glBindFragDataLocationEXTFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLchar -> IO ())
glBindFragDataLocationEXTFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLchar -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLchar -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLchar -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glBindFragDataLocationEXT")

{-# NOINLINE glBindFragDataLocationEXTFunPtr #-}

pattern $bGL_R16F_EXT :: a
$mGL_R16F_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_R16F_EXT = 0x822D

pattern $bGL_RG16F_EXT :: a
$mGL_RG16F_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RG16F_EXT = 0x822F

pattern $bGL_RGB16F_EXT :: a
$mGL_RGB16F_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGB16F_EXT = 0x881B

pattern $bGL_RGBA16F_EXT :: a
$mGL_RGBA16F_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGBA16F_EXT = 0x881A

-- | Usage: @'glDisableIndexedEXT' target index@
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glDisablei'.


glDisableIndexedEXT :: MonadIO m => GLenum -> GLuint -> m ()
glDisableIndexedEXT :: GLenum -> GLenum -> m ()
glDisableIndexedEXT = FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
ffienumuintIOV FunPtr (GLenum -> GLenum -> IO ())
glDisableIndexedEXTFunPtr

glDisableIndexedEXTFunPtr :: FunPtr (GLenum -> GLuint -> IO ())
glDisableIndexedEXTFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glDisableIndexedEXTFunPtr = IO (FunPtr (GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glDisableIndexedEXT")

{-# NOINLINE glDisableIndexedEXTFunPtr #-}

-- | Usage: @'glEnableIndexedEXT' target index@
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glEnablei'.


glEnableIndexedEXT :: MonadIO m => GLenum -> GLuint -> m ()
glEnableIndexedEXT :: GLenum -> GLenum -> m ()
glEnableIndexedEXT = FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
ffienumuintIOV FunPtr (GLenum -> GLenum -> IO ())
glEnableIndexedEXTFunPtr

glEnableIndexedEXTFunPtr :: FunPtr (GLenum -> GLuint -> IO ())
glEnableIndexedEXTFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glEnableIndexedEXTFunPtr = IO (FunPtr (GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glEnableIndexedEXT")

{-# NOINLINE glEnableIndexedEXTFunPtr #-}

-- | Usage: @'glGetBooleanIndexedvEXT' target index data@
--
-- The parameter @data@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @data@ should be @COMPSIZE(target)@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glGetBooleani_v'.


glGetBooleanIndexedvEXT :: MonadIO m => GLenum -> GLuint -> Ptr GLboolean -> m ()
glGetBooleanIndexedvEXT :: GLenum -> GLenum -> Ptr GLboolean -> m ()
glGetBooleanIndexedvEXT = FunPtr (GLenum -> GLenum -> Ptr GLboolean -> IO ())
-> GLenum -> GLenum -> Ptr GLboolean -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLboolean -> IO ())
-> GLenum -> GLenum -> Ptr GLboolean -> m ()
ffienumuintPtrbooleanIOV FunPtr (GLenum -> GLenum -> Ptr GLboolean -> IO ())
glGetBooleanIndexedvEXTFunPtr

glGetBooleanIndexedvEXTFunPtr :: FunPtr (GLenum -> GLuint -> Ptr GLboolean -> IO ())
glGetBooleanIndexedvEXTFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLboolean -> IO ())
glGetBooleanIndexedvEXTFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLboolean -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLboolean -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLboolean -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetBooleanIndexedvEXT")

{-# NOINLINE glGetBooleanIndexedvEXTFunPtr #-}

-- | Usage: @'glGetIntegerIndexedvEXT' target index data@
--
-- The length of @data@ should be @COMPSIZE(target)@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glGetIntegeri_v'.


glGetIntegerIndexedvEXT :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()
glGetIntegerIndexedvEXT :: GLenum -> GLenum -> Ptr GLsizei -> m ()
glGetIntegerIndexedvEXT = FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
ffienumuintPtrintIOV FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetIntegerIndexedvEXTFunPtr

glGetIntegerIndexedvEXTFunPtr :: FunPtr (GLenum -> GLuint -> Ptr GLint -> IO ())
glGetIntegerIndexedvEXTFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetIntegerIndexedvEXTFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetIntegerIndexedvEXT")

{-# NOINLINE glGetIntegerIndexedvEXTFunPtr #-}

-- | Usage: @'glIsEnabledIndexedEXT' target index@
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glIsEnabledi'.


glIsEnabledIndexedEXT :: MonadIO m => GLenum -> GLuint -> m GLboolean
glIsEnabledIndexedEXT :: GLenum -> GLenum -> m GLboolean
glIsEnabledIndexedEXT = FunPtr (GLenum -> GLenum -> IO GLboolean)
-> GLenum -> GLenum -> m GLboolean
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO GLboolean)
-> GLenum -> GLenum -> m GLboolean
ffienumuintIOboolean FunPtr (GLenum -> GLenum -> IO GLboolean)
glIsEnabledIndexedEXTFunPtr

glIsEnabledIndexedEXTFunPtr :: FunPtr (GLenum -> GLuint -> IO GLboolean)
glIsEnabledIndexedEXTFunPtr :: FunPtr (GLenum -> GLenum -> IO GLboolean)
glIsEnabledIndexedEXTFunPtr = IO (FunPtr (GLenum -> GLenum -> IO GLboolean))
-> FunPtr (GLenum -> GLenum -> IO GLboolean)
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO GLboolean))
forall a. String -> IO (FunPtr a)
getProcAddress "glIsEnabledIndexedEXT")

{-# NOINLINE glIsEnabledIndexedEXTFunPtr #-}

-- | Usage: @'glProgramUniform1fEXT' program location v0@
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glProgramUniform1f'.


glProgramUniform1fEXT :: MonadIO m => GLuint -> GLint -> GLfloat -> m ()
glProgramUniform1fEXT :: GLenum -> GLsizei -> GLfloat -> m ()
glProgramUniform1fEXT = FunPtr (GLenum -> GLsizei -> GLfloat -> IO ())
-> GLenum -> GLsizei -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLfloat -> IO ())
-> GLenum -> GLsizei -> GLfloat -> m ()
ffiuintintfloatIOV FunPtr (GLenum -> GLsizei -> GLfloat -> IO ())
glProgramUniform1fEXTFunPtr

glProgramUniform1fEXTFunPtr :: FunPtr (GLuint -> GLint -> GLfloat -> IO ())
glProgramUniform1fEXTFunPtr :: FunPtr (GLenum -> GLsizei -> GLfloat -> IO ())
glProgramUniform1fEXTFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLfloat -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLsizei -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform1fEXT")

{-# NOINLINE glProgramUniform1fEXTFunPtr #-}

-- | Usage: @'glProgramUniform1fvEXT' program location count value@
--
-- The length of @value@ should be @count@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glProgramUniform1fv'.


glProgramUniform1fvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()
glProgramUniform1fvEXT :: GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> m ()
glProgramUniform1fvEXT = FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> m ()
ffiuintintsizeiPtrfloatIOV FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
glProgramUniform1fvEXTFunPtr

glProgramUniform1fvEXTFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
glProgramUniform1fvEXTFunPtr :: FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
glProgramUniform1fvEXTFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform1fvEXT")

{-# NOINLINE glProgramUniform1fvEXTFunPtr #-}

-- | Usage: @'glProgramUniform1iEXT' program location v0@
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glProgramUniform1i'.


glProgramUniform1iEXT :: MonadIO m => GLuint -> GLint -> GLint -> m ()
glProgramUniform1iEXT :: GLenum -> GLsizei -> GLsizei -> m ()
glProgramUniform1iEXT = FunPtr (GLenum -> GLsizei -> GLsizei -> IO ())
-> GLenum -> GLsizei -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLsizei -> IO ())
-> GLenum -> GLsizei -> GLsizei -> m ()
ffiuintintintIOV FunPtr (GLenum -> GLsizei -> GLsizei -> IO ())
glProgramUniform1iEXTFunPtr

glProgramUniform1iEXTFunPtr :: FunPtr (GLuint -> GLint -> GLint -> IO ())
glProgramUniform1iEXTFunPtr :: FunPtr (GLenum -> GLsizei -> GLsizei -> IO ())
glProgramUniform1iEXTFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLsizei -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform1iEXT")

{-# NOINLINE glProgramUniform1iEXTFunPtr #-}

-- | Usage: @'glProgramUniform1ivEXT' program location count value@
--
-- The length of @value@ should be @count@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glProgramUniform1iv'.


glProgramUniform1ivEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()
glProgramUniform1ivEXT :: GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> m ()
glProgramUniform1ivEXT = FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> m ()
ffiuintintsizeiPtrintIOV FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
glProgramUniform1ivEXTFunPtr

glProgramUniform1ivEXTFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
glProgramUniform1ivEXTFunPtr :: FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
glProgramUniform1ivEXTFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform1ivEXT")

{-# NOINLINE glProgramUniform1ivEXTFunPtr #-}

-- | Usage: @'glProgramUniform1uiEXT' program location v0@
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glProgramUniform1ui'.


glProgramUniform1uiEXT :: MonadIO m => GLuint -> GLint -> GLuint -> m ()
glProgramUniform1uiEXT :: GLenum -> GLsizei -> GLenum -> m ()
glProgramUniform1uiEXT = FunPtr (GLenum -> GLsizei -> GLenum -> IO ())
-> GLenum -> GLsizei -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLenum -> IO ())
-> GLenum -> GLsizei -> GLenum -> m ()
ffiuintintuintIOV FunPtr (GLenum -> GLsizei -> GLenum -> IO ())
glProgramUniform1uiEXTFunPtr

glProgramUniform1uiEXTFunPtr :: FunPtr (GLuint -> GLint -> GLuint -> IO ())
glProgramUniform1uiEXTFunPtr :: FunPtr (GLenum -> GLsizei -> GLenum -> IO ())
glProgramUniform1uiEXTFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLsizei -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform1uiEXT")

{-# NOINLINE glProgramUniform1uiEXTFunPtr #-}

-- | Usage: @'glProgramUniform1uivEXT' program location count value@
--
-- The length of @value@ should be @count@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glProgramUniform1uiv'.


glProgramUniform1uivEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniform1uivEXT :: GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> m ()
glProgramUniform1uivEXT = FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> m ()
ffiuintintsizeiPtruintIOV FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> IO ())
glProgramUniform1uivEXTFunPtr

glProgramUniform1uivEXTFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ())
glProgramUniform1uivEXTFunPtr :: FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> IO ())
glProgramUniform1uivEXTFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform1uivEXT")

{-# NOINLINE glProgramUniform1uivEXTFunPtr #-}

-- | Usage: @'glProgramUniform2fEXT' program location v0 v1@
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glProgramUniform2f'.


glProgramUniform2fEXT :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> m ()
glProgramUniform2fEXT :: GLenum -> GLsizei -> GLfloat -> GLfloat -> m ()
glProgramUniform2fEXT = FunPtr (GLenum -> GLsizei -> GLfloat -> GLfloat -> IO ())
-> GLenum -> GLsizei -> GLfloat -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLfloat -> GLfloat -> IO ())
-> GLenum -> GLsizei -> GLfloat -> GLfloat -> m ()
ffiuintintfloatfloatIOV FunPtr (GLenum -> GLsizei -> GLfloat -> GLfloat -> IO ())
glProgramUniform2fEXTFunPtr

glProgramUniform2fEXTFunPtr :: FunPtr (GLuint -> GLint -> GLfloat -> GLfloat -> IO ())
glProgramUniform2fEXTFunPtr :: FunPtr (GLenum -> GLsizei -> GLfloat -> GLfloat -> IO ())
glProgramUniform2fEXTFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLfloat -> GLfloat -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLfloat -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLsizei -> GLfloat -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform2fEXT")

{-# NOINLINE glProgramUniform2fEXTFunPtr #-}

-- | Usage: @'glProgramUniform2fvEXT' program location count value@
--
-- The length of @value@ should be @count*2@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glProgramUniform2fv'.


glProgramUniform2fvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()
glProgramUniform2fvEXT :: GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> m ()
glProgramUniform2fvEXT = FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> m ()
ffiuintintsizeiPtrfloatIOV FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
glProgramUniform2fvEXTFunPtr

glProgramUniform2fvEXTFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
glProgramUniform2fvEXTFunPtr :: FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
glProgramUniform2fvEXTFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform2fvEXT")

{-# NOINLINE glProgramUniform2fvEXTFunPtr #-}

-- | Usage: @'glProgramUniform2iEXT' program location v0 v1@
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glProgramUniform2i'.


glProgramUniform2iEXT :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()
glProgramUniform2iEXT :: GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()
glProgramUniform2iEXT = FunPtr (GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()
ffiuintintintintIOV FunPtr (GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
glProgramUniform2iEXTFunPtr

glProgramUniform2iEXTFunPtr :: FunPtr (GLuint -> GLint -> GLint -> GLint -> IO ())
glProgramUniform2iEXTFunPtr :: FunPtr (GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
glProgramUniform2iEXTFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform2iEXT")

{-# NOINLINE glProgramUniform2iEXTFunPtr #-}

-- | Usage: @'glProgramUniform2ivEXT' program location count value@
--
-- The length of @value@ should be @count*2@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glProgramUniform2iv'.


glProgramUniform2ivEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()
glProgramUniform2ivEXT :: GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> m ()
glProgramUniform2ivEXT = FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> m ()
ffiuintintsizeiPtrintIOV FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
glProgramUniform2ivEXTFunPtr

glProgramUniform2ivEXTFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
glProgramUniform2ivEXTFunPtr :: FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
glProgramUniform2ivEXTFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform2ivEXT")

{-# NOINLINE glProgramUniform2ivEXTFunPtr #-}

-- | Usage: @'glProgramUniform2uiEXT' program location v0 v1@
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glProgramUniform2ui'.


glProgramUniform2uiEXT :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> m ()
glProgramUniform2uiEXT :: GLenum -> GLsizei -> GLenum -> GLenum -> m ()
glProgramUniform2uiEXT = FunPtr (GLenum -> GLsizei -> GLenum -> GLenum -> IO ())
-> GLenum -> GLsizei -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLenum -> GLenum -> IO ())
-> GLenum -> GLsizei -> GLenum -> GLenum -> m ()
ffiuintintuintuintIOV FunPtr (GLenum -> GLsizei -> GLenum -> GLenum -> IO ())
glProgramUniform2uiEXTFunPtr

glProgramUniform2uiEXTFunPtr :: FunPtr (GLuint -> GLint -> GLuint -> GLuint -> IO ())
glProgramUniform2uiEXTFunPtr :: FunPtr (GLenum -> GLsizei -> GLenum -> GLenum -> IO ())
glProgramUniform2uiEXTFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLsizei -> GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform2uiEXT")

{-# NOINLINE glProgramUniform2uiEXTFunPtr #-}

-- | Usage: @'glProgramUniform2uivEXT' program location count value@
--
-- The length of @value@ should be @count*2@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glProgramUniform2uiv'.


glProgramUniform2uivEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniform2uivEXT :: GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> m ()
glProgramUniform2uivEXT = FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> m ()
ffiuintintsizeiPtruintIOV FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> IO ())
glProgramUniform2uivEXTFunPtr

glProgramUniform2uivEXTFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ())
glProgramUniform2uivEXTFunPtr :: FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> IO ())
glProgramUniform2uivEXTFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform2uivEXT")

{-# NOINLINE glProgramUniform2uivEXTFunPtr #-}

-- | Usage: @'glProgramUniform3fEXT' program location v0 v1 v2@
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glProgramUniform3f'.


glProgramUniform3fEXT :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> m ()
glProgramUniform3fEXT :: GLenum -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> m ()
glProgramUniform3fEXT = FunPtr
  (GLenum -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLenum -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLenum -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> m ()
ffiuintintfloatfloatfloatIOV FunPtr
  (GLenum -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> IO ())
glProgramUniform3fEXTFunPtr

glProgramUniform3fEXTFunPtr :: FunPtr (GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> IO ())
glProgramUniform3fEXTFunPtr :: FunPtr
  (GLenum -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> IO ())
glProgramUniform3fEXTFunPtr = IO
  (FunPtr
     (GLenum -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> IO ()))
-> FunPtr
     (GLenum -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform3fEXT")

{-# NOINLINE glProgramUniform3fEXTFunPtr #-}

-- | Usage: @'glProgramUniform3fvEXT' program location count value@
--
-- The length of @value@ should be @count*3@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glProgramUniform3fv'.


glProgramUniform3fvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()
glProgramUniform3fvEXT :: GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> m ()
glProgramUniform3fvEXT = FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> m ()
ffiuintintsizeiPtrfloatIOV FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
glProgramUniform3fvEXTFunPtr

glProgramUniform3fvEXTFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
glProgramUniform3fvEXTFunPtr :: FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
glProgramUniform3fvEXTFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform3fvEXT")

{-# NOINLINE glProgramUniform3fvEXTFunPtr #-}

-- | Usage: @'glProgramUniform3iEXT' program location v0 v1 v2@
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glProgramUniform3i'.


glProgramUniform3iEXT :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()
glProgramUniform3iEXT :: GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> m ()
glProgramUniform3iEXT = FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> m ()
ffiuintintintintintIOV FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
glProgramUniform3iEXTFunPtr

glProgramUniform3iEXTFunPtr :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> IO ())
glProgramUniform3iEXTFunPtr :: FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
glProgramUniform3iEXTFunPtr = IO
  (FunPtr
     (GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ()))
-> FunPtr
     (GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform3iEXT")

{-# NOINLINE glProgramUniform3iEXTFunPtr #-}

-- | Usage: @'glProgramUniform3ivEXT' program location count value@
--
-- The length of @value@ should be @count*3@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glProgramUniform3iv'.


glProgramUniform3ivEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()
glProgramUniform3ivEXT :: GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> m ()
glProgramUniform3ivEXT = FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> m ()
ffiuintintsizeiPtrintIOV FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
glProgramUniform3ivEXTFunPtr

glProgramUniform3ivEXTFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
glProgramUniform3ivEXTFunPtr :: FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
glProgramUniform3ivEXTFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform3ivEXT")

{-# NOINLINE glProgramUniform3ivEXTFunPtr #-}

-- | Usage: @'glProgramUniform3uiEXT' program location v0 v1 v2@
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glProgramUniform3ui'.


glProgramUniform3uiEXT :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> m ()
glProgramUniform3uiEXT :: GLenum -> GLsizei -> GLenum -> GLenum -> GLenum -> m ()
glProgramUniform3uiEXT = FunPtr (GLenum -> GLsizei -> GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLsizei -> GLenum -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLsizei -> GLenum -> GLenum -> GLenum -> m ()
ffiuintintuintuintuintIOV FunPtr (GLenum -> GLsizei -> GLenum -> GLenum -> GLenum -> IO ())
glProgramUniform3uiEXTFunPtr

glProgramUniform3uiEXTFunPtr :: FunPtr (GLuint -> GLint -> GLuint -> GLuint -> GLuint -> IO ())
glProgramUniform3uiEXTFunPtr :: FunPtr (GLenum -> GLsizei -> GLenum -> GLenum -> GLenum -> IO ())
glProgramUniform3uiEXTFunPtr = IO
  (FunPtr (GLenum -> GLsizei -> GLenum -> GLenum -> GLenum -> IO ()))
-> FunPtr
     (GLenum -> GLsizei -> GLenum -> GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLsizei -> GLenum -> GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform3uiEXT")

{-# NOINLINE glProgramUniform3uiEXTFunPtr #-}

-- | Usage: @'glProgramUniform3uivEXT' program location count value@
--
-- The length of @value@ should be @count*3@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glProgramUniform3uiv'.


glProgramUniform3uivEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniform3uivEXT :: GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> m ()
glProgramUniform3uivEXT = FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> m ()
ffiuintintsizeiPtruintIOV FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> IO ())
glProgramUniform3uivEXTFunPtr

glProgramUniform3uivEXTFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ())
glProgramUniform3uivEXTFunPtr :: FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> IO ())
glProgramUniform3uivEXTFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform3uivEXT")

{-# NOINLINE glProgramUniform3uivEXTFunPtr #-}

-- | Usage: @'glProgramUniform4fEXT' program location v0 v1 v2 v3@
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glProgramUniform4f'.


glProgramUniform4fEXT :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glProgramUniform4fEXT :: GLenum
-> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glProgramUniform4fEXT = FunPtr
  (GLenum
   -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLenum
-> GLsizei
-> GLfloat
-> GLfloat
-> GLfloat
-> GLfloat
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLenum
-> GLsizei
-> GLfloat
-> GLfloat
-> GLfloat
-> GLfloat
-> m ()
ffiuintintfloatfloatfloatfloatIOV FunPtr
  (GLenum
   -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glProgramUniform4fEXTFunPtr

glProgramUniform4fEXTFunPtr :: FunPtr (GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glProgramUniform4fEXTFunPtr :: FunPtr
  (GLenum
   -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glProgramUniform4fEXTFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()))
-> FunPtr
     (GLenum
      -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform4fEXT")

{-# NOINLINE glProgramUniform4fEXTFunPtr #-}

-- | Usage: @'glProgramUniform4fvEXT' program location count value@
--
-- The length of @value@ should be @count*4@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glProgramUniform4fv'.


glProgramUniform4fvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()
glProgramUniform4fvEXT :: GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> m ()
glProgramUniform4fvEXT = FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> m ()
ffiuintintsizeiPtrfloatIOV FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
glProgramUniform4fvEXTFunPtr

glProgramUniform4fvEXTFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
glProgramUniform4fvEXTFunPtr :: FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
glProgramUniform4fvEXTFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform4fvEXT")

{-# NOINLINE glProgramUniform4fvEXTFunPtr #-}

-- | Usage: @'glProgramUniform4iEXT' program location v0 v1 v2 v3@
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glProgramUniform4i'.


glProgramUniform4iEXT :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> m ()
glProgramUniform4iEXT :: GLenum
-> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> m ()
glProgramUniform4iEXT = FunPtr
  (GLenum
   -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> GLsizei
-> m ()
ffiuintintintintintintIOV FunPtr
  (GLenum
   -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
glProgramUniform4iEXTFunPtr

glProgramUniform4iEXTFunPtr :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> IO ())
glProgramUniform4iEXTFunPtr :: FunPtr
  (GLenum
   -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
glProgramUniform4iEXTFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ()))
-> FunPtr
     (GLenum
      -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform4iEXT")

{-# NOINLINE glProgramUniform4iEXTFunPtr #-}

-- | Usage: @'glProgramUniform4ivEXT' program location count value@
--
-- The length of @value@ should be @count*4@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glProgramUniform4iv'.


glProgramUniform4ivEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()
glProgramUniform4ivEXT :: GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> m ()
glProgramUniform4ivEXT = FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> m ()
ffiuintintsizeiPtrintIOV FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
glProgramUniform4ivEXTFunPtr

glProgramUniform4ivEXTFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
glProgramUniform4ivEXTFunPtr :: FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
glProgramUniform4ivEXTFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform4ivEXT")

{-# NOINLINE glProgramUniform4ivEXTFunPtr #-}

-- | Usage: @'glProgramUniform4uiEXT' program location v0 v1 v2 v3@
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glProgramUniform4ui'.


glProgramUniform4uiEXT :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
glProgramUniform4uiEXT :: GLenum -> GLsizei -> GLenum -> GLenum -> GLenum -> GLenum -> m ()
glProgramUniform4uiEXT = FunPtr
  (GLenum
   -> GLsizei -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-> GLenum
-> GLsizei
-> GLenum
-> GLenum
-> GLenum
-> GLenum
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLsizei -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-> GLenum
-> GLsizei
-> GLenum
-> GLenum
-> GLenum
-> GLenum
-> m ()
ffiuintintuintuintuintuintIOV FunPtr
  (GLenum
   -> GLsizei -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
glProgramUniform4uiEXTFunPtr

glProgramUniform4uiEXTFunPtr :: FunPtr (GLuint -> GLint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
glProgramUniform4uiEXTFunPtr :: FunPtr
  (GLenum
   -> GLsizei -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
glProgramUniform4uiEXTFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei -> GLenum -> GLenum -> GLenum -> GLenum -> IO ()))
-> FunPtr
     (GLenum
      -> GLsizei -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei -> GLenum -> GLenum -> GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform4uiEXT")

{-# NOINLINE glProgramUniform4uiEXTFunPtr #-}

-- | Usage: @'glProgramUniform4uivEXT' program location count value@
--
-- The length of @value@ should be @count*4@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glProgramUniform4uiv'.


glProgramUniform4uivEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniform4uivEXT :: GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> m ()
glProgramUniform4uivEXT = FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> IO ())
-> GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> m ()
ffiuintintsizeiPtruintIOV FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> IO ())
glProgramUniform4uivEXTFunPtr

glProgramUniform4uivEXTFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ())
glProgramUniform4uivEXTFunPtr :: FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> IO ())
glProgramUniform4uivEXTFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniform4uivEXT")

{-# NOINLINE glProgramUniform4uivEXTFunPtr #-}

-- | Usage: @'glProgramUniformMatrix2fvEXT' program location count transpose value@
--
-- The parameter @transpose@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @value@ should be @count*4@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glProgramUniformMatrix2fv'.


glProgramUniformMatrix2fvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2fvEXT :: GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2fvEXT = FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
ffiuintintsizeibooleanPtrfloatIOV FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glProgramUniformMatrix2fvEXTFunPtr

glProgramUniformMatrix2fvEXTFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glProgramUniformMatrix2fvEXTFunPtr :: FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glProgramUniformMatrix2fvEXTFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()))
-> FunPtr
     (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniformMatrix2fvEXT")

{-# NOINLINE glProgramUniformMatrix2fvEXTFunPtr #-}

-- | Usage: @'glProgramUniformMatrix2x3fvEXT' program location count transpose value@
--
-- The parameter @transpose@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @value@ should be @count*6@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glProgramUniformMatrix2x3fv'.


glProgramUniformMatrix2x3fvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x3fvEXT :: GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x3fvEXT = FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
ffiuintintsizeibooleanPtrfloatIOV FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glProgramUniformMatrix2x3fvEXTFunPtr

glProgramUniformMatrix2x3fvEXTFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glProgramUniformMatrix2x3fvEXTFunPtr :: FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glProgramUniformMatrix2x3fvEXTFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()))
-> FunPtr
     (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniformMatrix2x3fvEXT")

{-# NOINLINE glProgramUniformMatrix2x3fvEXTFunPtr #-}

-- | Usage: @'glProgramUniformMatrix2x4fvEXT' program location count transpose value@
--
-- The parameter @transpose@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @value@ should be @count*8@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glProgramUniformMatrix2x4fv'.


glProgramUniformMatrix2x4fvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x4fvEXT :: GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x4fvEXT = FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
ffiuintintsizeibooleanPtrfloatIOV FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glProgramUniformMatrix2x4fvEXTFunPtr

glProgramUniformMatrix2x4fvEXTFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glProgramUniformMatrix2x4fvEXTFunPtr :: FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glProgramUniformMatrix2x4fvEXTFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()))
-> FunPtr
     (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniformMatrix2x4fvEXT")

{-# NOINLINE glProgramUniformMatrix2x4fvEXTFunPtr #-}

-- | Usage: @'glProgramUniformMatrix3fvEXT' program location count transpose value@
--
-- The parameter @transpose@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @value@ should be @count*9@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glProgramUniformMatrix3fv'.


glProgramUniformMatrix3fvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3fvEXT :: GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3fvEXT = FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
ffiuintintsizeibooleanPtrfloatIOV FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glProgramUniformMatrix3fvEXTFunPtr

glProgramUniformMatrix3fvEXTFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glProgramUniformMatrix3fvEXTFunPtr :: FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glProgramUniformMatrix3fvEXTFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()))
-> FunPtr
     (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniformMatrix3fvEXT")

{-# NOINLINE glProgramUniformMatrix3fvEXTFunPtr #-}

-- | Usage: @'glProgramUniformMatrix3x2fvEXT' program location count transpose value@
--
-- The parameter @transpose@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @value@ should be @count*6@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glProgramUniformMatrix3x2fv'.


glProgramUniformMatrix3x2fvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x2fvEXT :: GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x2fvEXT = FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
ffiuintintsizeibooleanPtrfloatIOV FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glProgramUniformMatrix3x2fvEXTFunPtr

glProgramUniformMatrix3x2fvEXTFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glProgramUniformMatrix3x2fvEXTFunPtr :: FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glProgramUniformMatrix3x2fvEXTFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()))
-> FunPtr
     (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniformMatrix3x2fvEXT")

{-# NOINLINE glProgramUniformMatrix3x2fvEXTFunPtr #-}

-- | Usage: @'glProgramUniformMatrix3x4fvEXT' program location count transpose value@
--
-- The parameter @transpose@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @value@ should be @count*12@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glProgramUniformMatrix3x4fv'.


glProgramUniformMatrix3x4fvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x4fvEXT :: GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x4fvEXT = FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
ffiuintintsizeibooleanPtrfloatIOV FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glProgramUniformMatrix3x4fvEXTFunPtr

glProgramUniformMatrix3x4fvEXTFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glProgramUniformMatrix3x4fvEXTFunPtr :: FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glProgramUniformMatrix3x4fvEXTFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()))
-> FunPtr
     (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniformMatrix3x4fvEXT")

{-# NOINLINE glProgramUniformMatrix3x4fvEXTFunPtr #-}

-- | Usage: @'glProgramUniformMatrix4fvEXT' program location count transpose value@
--
-- The parameter @transpose@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @value@ should be @count*16@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glProgramUniformMatrix4fv'.


glProgramUniformMatrix4fvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4fvEXT :: GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4fvEXT = FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
ffiuintintsizeibooleanPtrfloatIOV FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glProgramUniformMatrix4fvEXTFunPtr

glProgramUniformMatrix4fvEXTFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glProgramUniformMatrix4fvEXTFunPtr :: FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glProgramUniformMatrix4fvEXTFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()))
-> FunPtr
     (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniformMatrix4fvEXT")

{-# NOINLINE glProgramUniformMatrix4fvEXTFunPtr #-}

-- | Usage: @'glProgramUniformMatrix4x2fvEXT' program location count transpose value@
--
-- The parameter @transpose@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @value@ should be @count*8@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glProgramUniformMatrix4x2fv'.


glProgramUniformMatrix4x2fvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x2fvEXT :: GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x2fvEXT = FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
ffiuintintsizeibooleanPtrfloatIOV FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glProgramUniformMatrix4x2fvEXTFunPtr

glProgramUniformMatrix4x2fvEXTFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glProgramUniformMatrix4x2fvEXTFunPtr :: FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glProgramUniformMatrix4x2fvEXTFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()))
-> FunPtr
     (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniformMatrix4x2fvEXT")

{-# NOINLINE glProgramUniformMatrix4x2fvEXTFunPtr #-}

-- | Usage: @'glProgramUniformMatrix4x3fvEXT' program location count transpose value@
--
-- The parameter @transpose@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @value@ should be @count*12@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glProgramUniformMatrix4x3fv'.


glProgramUniformMatrix4x3fvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x3fvEXT :: GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x3fvEXT = FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-> GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
ffiuintintsizeibooleanPtrfloatIOV FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glProgramUniformMatrix4x3fvEXTFunPtr

glProgramUniformMatrix4x3fvEXTFunPtr :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glProgramUniformMatrix4x3fvEXTFunPtr :: FunPtr
  (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glProgramUniformMatrix4x3fvEXTFunPtr = IO
  (FunPtr
     (GLenum
      -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()))
-> FunPtr
     (GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLsizei -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramUniformMatrix4x3fvEXT")

{-# NOINLINE glProgramUniformMatrix4x3fvEXTFunPtr #-}

-- | Usage: @'glTextureStorage1DEXT' texture target levels internalformat width@


glTextureStorage1DEXT :: MonadIO m => GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> m ()
glTextureStorage1DEXT :: GLenum -> GLenum -> GLsizei -> GLenum -> GLsizei -> m ()
glTextureStorage1DEXT = FunPtr (GLenum -> GLenum -> GLsizei -> GLenum -> GLsizei -> IO ())
-> GLenum -> GLenum -> GLsizei -> GLenum -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLsizei -> GLenum -> GLsizei -> IO ())
-> GLenum -> GLenum -> GLsizei -> GLenum -> GLsizei -> m ()
ffiuintenumsizeienumsizeiIOV FunPtr (GLenum -> GLenum -> GLsizei -> GLenum -> GLsizei -> IO ())
glTextureStorage1DEXTFunPtr

glTextureStorage1DEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> IO ())
glTextureStorage1DEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLsizei -> GLenum -> GLsizei -> IO ())
glTextureStorage1DEXTFunPtr = IO
  (FunPtr
     (GLenum -> GLenum -> GLsizei -> GLenum -> GLsizei -> IO ()))
-> FunPtr
     (GLenum -> GLenum -> GLsizei -> GLenum -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum -> GLenum -> GLsizei -> GLenum -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTextureStorage1DEXT")

{-# NOINLINE glTextureStorage1DEXTFunPtr #-}

-- | Usage: @'glTextureStorage2DEXT' texture target levels internalformat width height@


glTextureStorage2DEXT :: MonadIO m => GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()
glTextureStorage2DEXT :: GLenum -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()
glTextureStorage2DEXT = FunPtr
  (GLenum
   -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
-> GLenum
-> GLenum
-> GLsizei
-> GLenum
-> GLsizei
-> GLsizei
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
-> GLenum
-> GLenum
-> GLsizei
-> GLenum
-> GLsizei
-> GLsizei
-> m ()
ffiuintenumsizeienumsizeisizeiIOV FunPtr
  (GLenum
   -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
glTextureStorage2DEXTFunPtr

glTextureStorage2DEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
glTextureStorage2DEXTFunPtr :: FunPtr
  (GLenum
   -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
glTextureStorage2DEXTFunPtr = IO
  (FunPtr
     (GLenum
      -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ()))
-> FunPtr
     (GLenum
      -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTextureStorage2DEXT")

{-# NOINLINE glTextureStorage2DEXTFunPtr #-}

-- | Usage: @'glTextureStorage3DEXT' texture target levels internalformat width height depth@


glTextureStorage3DEXT :: MonadIO m => GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()
glTextureStorage3DEXT :: GLenum
-> GLenum
-> GLsizei
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> m ()
glTextureStorage3DEXT = FunPtr
  (GLenum
   -> GLenum
   -> GLsizei
   -> GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> IO ())
-> GLenum
-> GLenum
-> GLsizei
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLenum
   -> GLsizei
   -> GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> IO ())
-> GLenum
-> GLenum
-> GLsizei
-> GLenum
-> GLsizei
-> GLsizei
-> GLsizei
-> m ()
ffiuintenumsizeienumsizeisizeisizeiIOV FunPtr
  (GLenum
   -> GLenum
   -> GLsizei
   -> GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> IO ())
glTextureStorage3DEXTFunPtr

glTextureStorage3DEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
glTextureStorage3DEXTFunPtr :: FunPtr
  (GLenum
   -> GLenum
   -> GLsizei
   -> GLenum
   -> GLsizei
   -> GLsizei
   -> GLsizei
   -> IO ())
glTextureStorage3DEXTFunPtr = IO
  (FunPtr
     (GLenum
      -> GLenum
      -> GLsizei
      -> GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> IO ()))
-> FunPtr
     (GLenum
      -> GLenum
      -> GLsizei
      -> GLenum
      -> GLsizei
      -> GLsizei
      -> GLsizei
      -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLenum
         -> GLsizei
         -> GLenum
         -> GLsizei
         -> GLsizei
         -> GLsizei
         -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTextureStorage3DEXT")

{-# NOINLINE glTextureStorage3DEXTFunPtr #-}

-- | Usage: @'glBeginQueryEXT' target id@


glBeginQueryEXT :: MonadIO m => GLenum -> GLuint -> m ()
glBeginQueryEXT :: GLenum -> GLenum -> m ()
glBeginQueryEXT = FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
ffienumuintIOV FunPtr (GLenum -> GLenum -> IO ())
glBeginQueryEXTFunPtr

glBeginQueryEXTFunPtr :: FunPtr (GLenum -> GLuint -> IO ())
glBeginQueryEXTFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glBeginQueryEXTFunPtr = IO (FunPtr (GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glBeginQueryEXT")

{-# NOINLINE glBeginQueryEXTFunPtr #-}

-- | Usage: @'glDeleteQueriesEXT' n ids@
--
-- The length of @ids@ should be @n@.


glDeleteQueriesEXT :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glDeleteQueriesEXT :: GLsizei -> Ptr GLenum -> m ()
glDeleteQueriesEXT = FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
ffisizeiPtruintIOV FunPtr (GLsizei -> Ptr GLenum -> IO ())
glDeleteQueriesEXTFunPtr

glDeleteQueriesEXTFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glDeleteQueriesEXTFunPtr :: FunPtr (GLsizei -> Ptr GLenum -> IO ())
glDeleteQueriesEXTFunPtr = IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glDeleteQueriesEXT")

{-# NOINLINE glDeleteQueriesEXTFunPtr #-}

-- | Usage: @'glEndQueryEXT' target@


glEndQueryEXT :: MonadIO m => GLenum -> m ()
glEndQueryEXT :: GLenum -> m ()
glEndQueryEXT = FunPtr (GLenum -> IO ()) -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO ()) -> GLenum -> m ()
ffienumIOV FunPtr (GLenum -> IO ())
glEndQueryEXTFunPtr

glEndQueryEXTFunPtr :: FunPtr (GLenum -> IO ())
glEndQueryEXTFunPtr :: FunPtr (GLenum -> IO ())
glEndQueryEXTFunPtr = IO (FunPtr (GLenum -> IO ())) -> FunPtr (GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glEndQueryEXT")

{-# NOINLINE glEndQueryEXTFunPtr #-}

-- | Usage: @'glGenQueriesEXT' n ids@
--
-- The length of @ids@ should be @n@.


glGenQueriesEXT :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGenQueriesEXT :: GLsizei -> Ptr GLenum -> m ()
glGenQueriesEXT = FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
ffisizeiPtruintIOV FunPtr (GLsizei -> Ptr GLenum -> IO ())
glGenQueriesEXTFunPtr

glGenQueriesEXTFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glGenQueriesEXTFunPtr :: FunPtr (GLsizei -> Ptr GLenum -> IO ())
glGenQueriesEXTFunPtr = IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGenQueriesEXT")

{-# NOINLINE glGenQueriesEXTFunPtr #-}

-- | Usage: @'glGetQueryObjecti64vEXT' id pname params@
--
-- The length of @params@ should be @COMPSIZE(pname)@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glGetQueryObjecti64v'.


glGetQueryObjecti64vEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLint64 -> m ()
glGetQueryObjecti64vEXT :: GLenum -> GLenum -> Ptr GLint64 -> m ()
glGetQueryObjecti64vEXT = FunPtr (GLenum -> GLenum -> Ptr GLint64 -> IO ())
-> GLenum -> GLenum -> Ptr GLint64 -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLint64 -> IO ())
-> GLenum -> GLenum -> Ptr GLint64 -> m ()
ffiuintenumPtrint64IOV FunPtr (GLenum -> GLenum -> Ptr GLint64 -> IO ())
glGetQueryObjecti64vEXTFunPtr

glGetQueryObjecti64vEXTFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLint64 -> IO ())
glGetQueryObjecti64vEXTFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLint64 -> IO ())
glGetQueryObjecti64vEXTFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLint64 -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLint64 -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLint64 -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetQueryObjecti64vEXT")

{-# NOINLINE glGetQueryObjecti64vEXTFunPtr #-}

-- | Usage: @'glGetQueryObjectui64vEXT' id pname params@
--
-- The length of @params@ should be @COMPSIZE(pname)@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glGetQueryObjectui64v'.


glGetQueryObjectui64vEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLuint64 -> m ()
glGetQueryObjectui64vEXT :: GLenum -> GLenum -> Ptr GLuint64 -> m ()
glGetQueryObjectui64vEXT = FunPtr (GLenum -> GLenum -> Ptr GLuint64 -> IO ())
-> GLenum -> GLenum -> Ptr GLuint64 -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLuint64 -> IO ())
-> GLenum -> GLenum -> Ptr GLuint64 -> m ()
ffiuintenumPtruint64IOV FunPtr (GLenum -> GLenum -> Ptr GLuint64 -> IO ())
glGetQueryObjectui64vEXTFunPtr

glGetQueryObjectui64vEXTFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLuint64 -> IO ())
glGetQueryObjectui64vEXTFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLuint64 -> IO ())
glGetQueryObjectui64vEXTFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLuint64 -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLuint64 -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLuint64 -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetQueryObjectui64vEXT")

{-# NOINLINE glGetQueryObjectui64vEXTFunPtr #-}

-- | Usage: @'glGetQueryObjectuivEXT' id pname params@


glGetQueryObjectuivEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()
glGetQueryObjectuivEXT :: GLenum -> GLenum -> Ptr GLenum -> m ()
glGetQueryObjectuivEXT = FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
-> GLenum -> GLenum -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
-> GLenum -> GLenum -> Ptr GLenum -> m ()
ffiuintenumPtruintIOV FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
glGetQueryObjectuivEXTFunPtr

glGetQueryObjectuivEXTFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ())
glGetQueryObjectuivEXTFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
glGetQueryObjectuivEXTFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetQueryObjectuivEXT")

{-# NOINLINE glGetQueryObjectuivEXTFunPtr #-}

-- | Usage: @'glGetQueryivEXT' target pname params@


glGetQueryivEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetQueryivEXT :: GLenum -> GLenum -> Ptr GLsizei -> m ()
glGetQueryivEXT = FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
ffienumenumPtrintIOV FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetQueryivEXTFunPtr

glGetQueryivEXTFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
glGetQueryivEXTFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetQueryivEXTFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetQueryivEXT")

{-# NOINLINE glGetQueryivEXTFunPtr #-}

-- | Usage: @'glIsQueryEXT' id@


glIsQueryEXT :: MonadIO m => GLuint -> m GLboolean
glIsQueryEXT :: GLenum -> m GLboolean
glIsQueryEXT = FunPtr (GLenum -> IO GLboolean) -> GLenum -> m GLboolean
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO GLboolean) -> GLenum -> m GLboolean
ffiuintIOboolean FunPtr (GLenum -> IO GLboolean)
glIsQueryEXTFunPtr

glIsQueryEXTFunPtr :: FunPtr (GLuint -> IO GLboolean)
glIsQueryEXTFunPtr :: FunPtr (GLenum -> IO GLboolean)
glIsQueryEXTFunPtr = IO (FunPtr (GLenum -> IO GLboolean))
-> FunPtr (GLenum -> IO GLboolean)
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO GLboolean))
forall a. String -> IO (FunPtr a)
getProcAddress "glIsQueryEXT")

{-# NOINLINE glIsQueryEXTFunPtr #-}

pattern $bGL_CURRENT_QUERY_EXT :: a
$mGL_CURRENT_QUERY_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CURRENT_QUERY_EXT = 0x8865

pattern $bGL_QUERY_RESULT_AVAILABLE_EXT :: a
$mGL_QUERY_RESULT_AVAILABLE_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_QUERY_RESULT_AVAILABLE_EXT = 0x8867

pattern $bGL_QUERY_RESULT_EXT :: a
$mGL_QUERY_RESULT_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_QUERY_RESULT_EXT = 0x8866

pattern $bGL_TIME_ELAPSED_EXT :: a
$mGL_TIME_ELAPSED_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TIME_ELAPSED_EXT = 0x88BF

pattern $bGL_COLOR_ATTACHMENT0_EXT :: a
$mGL_COLOR_ATTACHMENT0_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT0_EXT = 0x8CE0

pattern $bGL_COLOR_ATTACHMENT10_EXT :: a
$mGL_COLOR_ATTACHMENT10_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT10_EXT = 0x8CEA

pattern $bGL_COLOR_ATTACHMENT11_EXT :: a
$mGL_COLOR_ATTACHMENT11_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT11_EXT = 0x8CEB

pattern $bGL_COLOR_ATTACHMENT12_EXT :: a
$mGL_COLOR_ATTACHMENT12_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT12_EXT = 0x8CEC

pattern $bGL_COLOR_ATTACHMENT13_EXT :: a
$mGL_COLOR_ATTACHMENT13_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT13_EXT = 0x8CED

pattern $bGL_COLOR_ATTACHMENT14_EXT :: a
$mGL_COLOR_ATTACHMENT14_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT14_EXT = 0x8CEE

pattern $bGL_COLOR_ATTACHMENT15_EXT :: a
$mGL_COLOR_ATTACHMENT15_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT15_EXT = 0x8CEF

pattern $bGL_COLOR_ATTACHMENT1_EXT :: a
$mGL_COLOR_ATTACHMENT1_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT1_EXT = 0x8CE1

pattern $bGL_COLOR_ATTACHMENT2_EXT :: a
$mGL_COLOR_ATTACHMENT2_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT2_EXT = 0x8CE2

pattern $bGL_COLOR_ATTACHMENT3_EXT :: a
$mGL_COLOR_ATTACHMENT3_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT3_EXT = 0x8CE3

pattern $bGL_COLOR_ATTACHMENT4_EXT :: a
$mGL_COLOR_ATTACHMENT4_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT4_EXT = 0x8CE4

pattern $bGL_COLOR_ATTACHMENT5_EXT :: a
$mGL_COLOR_ATTACHMENT5_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT5_EXT = 0x8CE5

pattern $bGL_COLOR_ATTACHMENT6_EXT :: a
$mGL_COLOR_ATTACHMENT6_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT6_EXT = 0x8CE6

pattern $bGL_COLOR_ATTACHMENT7_EXT :: a
$mGL_COLOR_ATTACHMENT7_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT7_EXT = 0x8CE7

pattern $bGL_COLOR_ATTACHMENT8_EXT :: a
$mGL_COLOR_ATTACHMENT8_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT8_EXT = 0x8CE8

pattern $bGL_COLOR_ATTACHMENT9_EXT :: a
$mGL_COLOR_ATTACHMENT9_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT9_EXT = 0x8CE9

pattern $bGL_MAX_COLOR_ATTACHMENTS_EXT :: a
$mGL_MAX_COLOR_ATTACHMENTS_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_COLOR_ATTACHMENTS_EXT = 0x8CDF

-- | Usage: @'glDrawArraysInstancedEXT' mode start count primcount@
--
-- The parameter @mode@ is a @PrimitiveType@, one of: 'Graphics.GL.Internal.Shared.GL_LINES', 'Graphics.GL.Internal.Shared.GL_LINES_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_LINES_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_LINES_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_LINE_LOOP', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_LINE_STRIP_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_PATCHES', 'Graphics.GL.Ext.EXT.TessellationShader.GL_PATCHES_EXT', 'Graphics.GL.Internal.Shared.GL_POINTS', 'Graphics.GL.Internal.Shared.GL_POLYGON', 'Graphics.GL.Internal.Shared.GL_QUADS', 'Graphics.GL.Ext.EXT.TessellationShader.GL_QUADS_EXT', 'Graphics.GL.Internal.Shared.GL_QUAD_STRIP', 'Graphics.GL.Internal.Shared.GL_TRIANGLES', 'Graphics.GL.Internal.Shared.GL_TRIANGLES_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_TRIANGLES_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_TRIANGLES_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_FAN', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_TRIANGLE_STRIP_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP_ADJACENCY_EXT'.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glDrawArraysInstanced'.


glDrawArraysInstancedEXT :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> m ()
glDrawArraysInstancedEXT :: GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()
glDrawArraysInstancedEXT = FunPtr (GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
-> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()
ffienumintsizeisizeiIOV FunPtr (GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
glDrawArraysInstancedEXTFunPtr

glDrawArraysInstancedEXTFunPtr :: FunPtr (GLenum -> GLint -> GLsizei -> GLsizei -> IO ())
glDrawArraysInstancedEXTFunPtr :: FunPtr (GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
glDrawArraysInstancedEXTFunPtr = IO (FunPtr (GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ()))
-> FunPtr (GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glDrawArraysInstancedEXT")

{-# NOINLINE glDrawArraysInstancedEXTFunPtr #-}

-- | Usage: @'glDrawElementsInstancedEXT' mode count type indices primcount@
--
-- The parameter @mode@ is a @PrimitiveType@, one of: 'Graphics.GL.Internal.Shared.GL_LINES', 'Graphics.GL.Internal.Shared.GL_LINES_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_LINES_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_LINES_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_LINE_LOOP', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_LINE_STRIP_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_LINE_STRIP_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_PATCHES', 'Graphics.GL.Ext.EXT.TessellationShader.GL_PATCHES_EXT', 'Graphics.GL.Internal.Shared.GL_POINTS', 'Graphics.GL.Internal.Shared.GL_POLYGON', 'Graphics.GL.Internal.Shared.GL_QUADS', 'Graphics.GL.Ext.EXT.TessellationShader.GL_QUADS_EXT', 'Graphics.GL.Internal.Shared.GL_QUAD_STRIP', 'Graphics.GL.Internal.Shared.GL_TRIANGLES', 'Graphics.GL.Internal.Shared.GL_TRIANGLES_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_TRIANGLES_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_TRIANGLES_ADJACENCY_EXT', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_FAN', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP_ADJACENCY', 'Graphics.GL.Ext.ARB.GeometryShader4.GL_TRIANGLE_STRIP_ADJACENCY_ARB', 'Graphics.GL.Internal.Shared.GL_TRIANGLE_STRIP_ADJACENCY_EXT'.
--
-- The parameter @type@ is a @DrawElementsType@.
--
-- The length of @indices@ should be @COMPSIZE(count,type)@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glDrawElementsInstanced'.


glDrawElementsInstancedEXT :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> m ()
glDrawElementsInstancedEXT :: GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> m ()
glDrawElementsInstancedEXT = FunPtr (GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> IO ())
-> GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> IO ())
-> GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> m ()
ffienumsizeienumPtrVsizeiIOV FunPtr (GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> IO ())
glDrawElementsInstancedEXTFunPtr

glDrawElementsInstancedEXTFunPtr :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> IO ())
glDrawElementsInstancedEXTFunPtr :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> IO ())
glDrawElementsInstancedEXTFunPtr = IO
  (FunPtr
     (GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> IO ()))
-> FunPtr
     (GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glDrawElementsInstancedEXT")

{-# NOINLINE glDrawElementsInstancedEXTFunPtr #-}

pattern $bGL_FRAGMENT_DEPTH_EXT :: a
$mGL_FRAGMENT_DEPTH_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAGMENT_DEPTH_EXT = 0x8452

-- | Usage: @'glRenderbufferStorageMultisampleEXT' target samples internalformat width height@
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glRenderbufferStorageMultisample'.


glRenderbufferStorageMultisampleEXT :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()
glRenderbufferStorageMultisampleEXT :: GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()
glRenderbufferStorageMultisampleEXT = FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
-> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
-> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()
ffienumsizeienumsizeisizeiIOV FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
glRenderbufferStorageMultisampleEXTFunPtr

glRenderbufferStorageMultisampleEXTFunPtr :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
glRenderbufferStorageMultisampleEXTFunPtr :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
glRenderbufferStorageMultisampleEXTFunPtr = IO
  (FunPtr
     (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ()))
-> FunPtr
     (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glRenderbufferStorageMultisampleEXT")

{-# NOINLINE glRenderbufferStorageMultisampleEXTFunPtr #-}

pattern $bGL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT :: a
$mGL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT = 0x8D56

pattern $bGL_MAX_SAMPLES_EXT :: a
$mGL_MAX_SAMPLES_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_SAMPLES_EXT = 0x8D57

pattern $bGL_RENDERBUFFER_SAMPLES_EXT :: a
$mGL_RENDERBUFFER_SAMPLES_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RENDERBUFFER_SAMPLES_EXT = 0x8CAB

pattern $bGL_FRAMEBUFFER_SRGB_EXT :: a
$mGL_FRAMEBUFFER_SRGB_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAMEBUFFER_SRGB_EXT = 0x8DB9

-- | Usage: @'glFramebufferTextureEXT' target attachment texture level@
--
-- The parameter @target@ is a @FramebufferTarget@.
--
-- The parameter @attachment@ is a @FramebufferAttachment@.
--
-- The parameter @texture@ is a @Texture@.
--
-- The parameter @level@ is a @CheckedInt32@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glFramebufferTexture'.


glFramebufferTextureEXT :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> m ()
glFramebufferTextureEXT :: GLenum -> GLenum -> GLenum -> GLsizei -> m ()
glFramebufferTextureEXT = FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> IO ())
-> GLenum -> GLenum -> GLenum -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> IO ())
-> GLenum -> GLenum -> GLenum -> GLsizei -> m ()
ffienumenumuintintIOV FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> IO ())
glFramebufferTextureEXTFunPtr

glFramebufferTextureEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> IO ())
glFramebufferTextureEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> IO ())
glFramebufferTextureEXTFunPtr = IO (FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glFramebufferTextureEXT")

{-# NOINLINE glFramebufferTextureEXTFunPtr #-}

pattern $bGL_FIRST_VERTEX_CONVENTION_EXT :: a
$mGL_FIRST_VERTEX_CONVENTION_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FIRST_VERTEX_CONVENTION_EXT = 0x8E4D

pattern $bGL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT :: a
$mGL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT = 0x8DA7

pattern $bGL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT :: a
$mGL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT = 0x8DA8

pattern $bGL_GEOMETRY_SHADER_EXT :: a
$mGL_GEOMETRY_SHADER_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_GEOMETRY_SHADER_EXT = 0x8DD9

pattern $bGL_LAST_VERTEX_CONVENTION_EXT :: a
$mGL_LAST_VERTEX_CONVENTION_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LAST_VERTEX_CONVENTION_EXT = 0x8E4E

pattern $bGL_LINES_ADJACENCY_EXT :: a
$mGL_LINES_ADJACENCY_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LINES_ADJACENCY_EXT = 0x000A

pattern $bGL_LINE_STRIP_ADJACENCY_EXT :: a
$mGL_LINE_STRIP_ADJACENCY_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LINE_STRIP_ADJACENCY_EXT = 0x000B

pattern $bGL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT :: a
$mGL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT = 0x8DE0

pattern $bGL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT :: a
$mGL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT = 0x8C29

pattern $bGL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT :: a
$mGL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT = 0x8DE1

pattern $bGL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT :: a
$mGL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT = 0x8DDF

pattern $bGL_PRIMITIVES_GENERATED_EXT :: a
$mGL_PRIMITIVES_GENERATED_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PRIMITIVES_GENERATED_EXT = 0x8C87

pattern $bGL_TRIANGLES_ADJACENCY_EXT :: a
$mGL_TRIANGLES_ADJACENCY_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TRIANGLES_ADJACENCY_EXT = 0x000C

pattern $bGL_TRIANGLE_STRIP_ADJACENCY_EXT :: a
$mGL_TRIANGLE_STRIP_ADJACENCY_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TRIANGLE_STRIP_ADJACENCY_EXT = 0x000D

-- | Usage: @'glProgramParameteriEXT' program pname value@
--
-- The parameter @pname@ is a @ProgramParameterPName@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glProgramParameteri'.


glProgramParameteriEXT :: MonadIO m => GLuint -> GLenum -> GLint -> m ()
glProgramParameteriEXT :: GLenum -> GLenum -> GLsizei -> m ()
glProgramParameteriEXT = FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
-> GLenum -> GLenum -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
-> GLenum -> GLenum -> GLsizei -> m ()
ffiuintenumintIOV FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
glProgramParameteriEXTFunPtr

glProgramParameteriEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLint -> IO ())
glProgramParameteriEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
glProgramParameteriEXTFunPtr = IO (FunPtr (GLenum -> GLenum -> GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glProgramParameteriEXT")

{-# NOINLINE glProgramParameteriEXTFunPtr #-}

pattern $bGL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT :: a
$mGL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT = 0x8CD4

pattern $bGL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT :: a
$mGL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT = 0x8DA9

pattern $bGL_GEOMETRY_INPUT_TYPE_EXT :: a
$mGL_GEOMETRY_INPUT_TYPE_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_GEOMETRY_INPUT_TYPE_EXT = 0x8DDB

pattern $bGL_GEOMETRY_OUTPUT_TYPE_EXT :: a
$mGL_GEOMETRY_OUTPUT_TYPE_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_GEOMETRY_OUTPUT_TYPE_EXT = 0x8DDC

pattern $bGL_GEOMETRY_VERTICES_OUT_EXT :: a
$mGL_GEOMETRY_VERTICES_OUT_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_GEOMETRY_VERTICES_OUT_EXT = 0x8DDA

pattern $bGL_PROGRAM_POINT_SIZE_EXT :: a
$mGL_PROGRAM_POINT_SIZE_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PROGRAM_POINT_SIZE_EXT = 0x8642

pattern $bGL_INT_SAMPLER_BUFFER_EXT :: a
$mGL_INT_SAMPLER_BUFFER_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INT_SAMPLER_BUFFER_EXT = 0x8DD0

pattern $bGL_SAMPLER_BUFFER_EXT :: a
$mGL_SAMPLER_BUFFER_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SAMPLER_BUFFER_EXT = 0x8DC2

pattern $bGL_UNSIGNED_INT_SAMPLER_BUFFER_EXT :: a
$mGL_UNSIGNED_INT_SAMPLER_BUFFER_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT = 0x8DD8

pattern $bGL_MULTISAMPLE_EXT :: a
$mGL_MULTISAMPLE_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MULTISAMPLE_EXT = 0x809D

pattern $bGL_SAMPLE_ALPHA_TO_ONE_EXT :: a
$mGL_SAMPLE_ALPHA_TO_ONE_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SAMPLE_ALPHA_TO_ONE_EXT = 0x809F

-- | Usage: @'glRasterSamplesEXT' samples fixedsamplelocations@


glRasterSamplesEXT :: MonadIO m => GLuint -> GLboolean -> m ()
glRasterSamplesEXT :: GLenum -> GLboolean -> m ()
glRasterSamplesEXT = FunPtr (GLenum -> GLboolean -> IO ())
-> GLenum -> GLboolean -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLboolean -> IO ())
-> GLenum -> GLboolean -> m ()
ffiuintbooleanIOV FunPtr (GLenum -> GLboolean -> IO ())
glRasterSamplesEXTFunPtr

glRasterSamplesEXTFunPtr :: FunPtr (GLuint -> GLboolean -> IO ())
glRasterSamplesEXTFunPtr :: FunPtr (GLenum -> GLboolean -> IO ())
glRasterSamplesEXTFunPtr = IO (FunPtr (GLenum -> GLboolean -> IO ()))
-> FunPtr (GLenum -> GLboolean -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLboolean -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glRasterSamplesEXT")

{-# NOINLINE glRasterSamplesEXTFunPtr #-}

pattern $bGL_EFFECTIVE_RASTER_SAMPLES_EXT :: a
$mGL_EFFECTIVE_RASTER_SAMPLES_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_EFFECTIVE_RASTER_SAMPLES_EXT = 0x932C

pattern $bGL_MAX_RASTER_SAMPLES_EXT :: a
$mGL_MAX_RASTER_SAMPLES_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_RASTER_SAMPLES_EXT = 0x9329

pattern $bGL_MULTISAMPLE_RASTERIZATION_ALLOWED_EXT :: a
$mGL_MULTISAMPLE_RASTERIZATION_ALLOWED_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MULTISAMPLE_RASTERIZATION_ALLOWED_EXT = 0x932B

pattern $bGL_RASTER_FIXED_SAMPLE_LOCATIONS_EXT :: a
$mGL_RASTER_FIXED_SAMPLE_LOCATIONS_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RASTER_FIXED_SAMPLE_LOCATIONS_EXT = 0x932A

pattern $bGL_RASTER_MULTISAMPLE_EXT :: a
$mGL_RASTER_MULTISAMPLE_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RASTER_MULTISAMPLE_EXT = 0x9327

pattern $bGL_RASTER_SAMPLES_EXT :: a
$mGL_RASTER_SAMPLES_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RASTER_SAMPLES_EXT = 0x9328

pattern $bGL_R16_SNORM_EXT :: a
$mGL_R16_SNORM_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_R16_SNORM_EXT = 0x8F98

pattern $bGL_RG16_SNORM_EXT :: a
$mGL_RG16_SNORM_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RG16_SNORM_EXT = 0x8F99

pattern $bGL_RGBA16_SNORM_EXT :: a
$mGL_RGBA16_SNORM_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGBA16_SNORM_EXT = 0x8F9B

pattern $bGL_SRGB8_ALPHA8_EXT :: a
$mGL_SRGB8_ALPHA8_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SRGB8_ALPHA8_EXT = 0x8C43

pattern $bGL_SRGB_ALPHA_EXT :: a
$mGL_SRGB_ALPHA_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SRGB_ALPHA_EXT = 0x8C42

pattern $bGL_SRGB_EXT :: a
$mGL_SRGB_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SRGB_EXT = 0x8C40

pattern $bGL_IMAGE_BUFFER_EXT :: a
$mGL_IMAGE_BUFFER_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_IMAGE_BUFFER_EXT = 0x9051

pattern $bGL_IMAGE_CUBE_MAP_ARRAY_EXT :: a
$mGL_IMAGE_CUBE_MAP_ARRAY_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_IMAGE_CUBE_MAP_ARRAY_EXT = 0x9054

pattern $bGL_INT_IMAGE_BUFFER_EXT :: a
$mGL_INT_IMAGE_BUFFER_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INT_IMAGE_BUFFER_EXT = 0x905C

pattern $bGL_INT_IMAGE_CUBE_MAP_ARRAY_EXT :: a
$mGL_INT_IMAGE_CUBE_MAP_ARRAY_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INT_IMAGE_CUBE_MAP_ARRAY_EXT = 0x905F

pattern $bGL_UNSIGNED_INT_IMAGE_BUFFER_EXT :: a
$mGL_UNSIGNED_INT_IMAGE_BUFFER_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNED_INT_IMAGE_BUFFER_EXT = 0x9067

pattern $bGL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT :: a
$mGL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT = 0x906A

pattern $bGL_TEXTURE_CUBE_MAP_ARRAY_OES :: a
$mGL_TEXTURE_CUBE_MAP_ARRAY_OES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_CUBE_MAP_ARRAY_OES = 0x9009

pattern $bGL_ALPHA8_EXT :: a
$mGL_ALPHA8_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ALPHA8_EXT = 0x803C

pattern $bGL_LUMINANCE8_ALPHA8_EXT :: a
$mGL_LUMINANCE8_ALPHA8_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LUMINANCE8_ALPHA8_EXT = 0x8045

pattern $bGL_LUMINANCE8_EXT :: a
$mGL_LUMINANCE8_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LUMINANCE8_EXT = 0x8040

pattern $bGL_RGB10_A2_EXT :: a
$mGL_RGB10_A2_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGB10_A2_EXT = 0x8059

pattern $bGL_RGB10_EXT :: a
$mGL_RGB10_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGB10_EXT = 0x8052

pattern $bGL_RGB16_EXT :: a
$mGL_RGB16_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGB16_EXT = 0x8054

pattern $bGL_RGBA16_EXT :: a
$mGL_RGBA16_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGBA16_EXT = 0x805B

-- | Usage: @'glFramebufferTextureLayerEXT' target attachment texture level layer@
--
-- The parameter @target@ is a @FramebufferTarget@.
--
-- The parameter @attachment@ is a @FramebufferAttachment@.
--
-- The parameter @texture@ is a @Texture@.
--
-- The parameter @level@ is a @CheckedInt32@.
--
-- The parameter @layer@ is a @CheckedInt32@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glFramebufferTextureLayer'.


glFramebufferTextureLayerEXT :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()
glFramebufferTextureLayerEXT :: GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> m ()
glFramebufferTextureLayerEXT = FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
-> GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
-> GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> m ()
ffienumenumuintintintIOV FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
glFramebufferTextureLayerEXTFunPtr

glFramebufferTextureLayerEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ())
glFramebufferTextureLayerEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
glFramebufferTextureLayerEXTFunPtr = IO
  (FunPtr
     (GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> IO ()))
-> FunPtr
     (GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glFramebufferTextureLayerEXT")

{-# NOINLINE glFramebufferTextureLayerEXTFunPtr #-}

-- | Usage: @'glGetTexParameterIivEXT' target pname params@
--
-- The parameter @target@ is a @TextureTarget@, one of: 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_2D_SGIS', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_1D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_1D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_2D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_2D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_PROXY_TEXTURE_3D_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_PROXY_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_1D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_2D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_3D_EXT', 'Graphics.GL.Ext.OES.Texture3D.GL_TEXTURE_3D_OES', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BASE_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_BASE_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LOD_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MIN_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MIN_LOD_SGIS'.
--
-- The parameter @pname@ is a @GetTextureParameter@, one of: 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS', 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_LEVEL_SGIS', 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_MODE_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_TEXTURE_SELECT_SGIS', 'Graphics.GL.Ext.SGIS.GenerateMipmap.GL_GENERATE_MIPMAP_SGIS', 'Graphics.GL.Ext.SGIX.TextureScaleBias.GL_POST_TEXTURE_FILTER_BIAS_SGIX', 'Graphics.GL.Ext.SGIX.TextureScaleBias.GL_POST_TEXTURE_FILTER_SCALE_SGIX', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_QUAD_TEXTURE_SELECT_SGIS', 'Graphics.GL.Ext.SGIX.ShadowAmbient.GL_SHADOW_AMBIENT_SGIX', 'Graphics.GL.Ext.SGIS.SharpenTexture.GL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_4DSIZE_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_ALPHA_SIZE', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_BASE_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BLUE_SIZE', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BORDER', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BORDER_COLOR', 'Graphics.GL.Ext.NV.TextureBorderClamp.GL_TEXTURE_BORDER_COLOR_NV', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_CENTER_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_DEPTH_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_FRAME_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_OFFSET_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX', 'Graphics.GL.Ext.SGIX.Shadow.GL_TEXTURE_COMPARE_OPERATOR_SGIX', 'Graphics.GL.Ext.SGIX.Shadow.GL_TEXTURE_COMPARE_SGIX', 'Graphics.GL.Internal.Shared.GL_TEXTURE_COMPONENTS', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_DEPTH_EXT', 'Graphics.GL.Ext.SGIS.TextureFilter4.GL_TEXTURE_FILTER4_SIZE_SGIS', 'Graphics.GL.Ext.SGIX.Shadow.GL_TEXTURE_GEQUAL_R_SGIX', 'Graphics.GL.Internal.Shared.GL_TEXTURE_GREEN_SIZE', 'Graphics.GL.Internal.Shared.GL_TEXTURE_HEIGHT', 'Graphics.GL.Internal.Shared.GL_TEXTURE_INTENSITY_SIZE', 'Graphics.GL.Internal.Shared.GL_TEXTURE_INTERNAL_FORMAT', 'Graphics.GL.Ext.SGIX.Shadow.GL_TEXTURE_LEQUAL_R_SGIX', 'Graphics.GL.Ext.SGIX.TextureLodBias.GL_TEXTURE_LOD_BIAS_R_SGIX', 'Graphics.GL.Ext.SGIX.TextureLodBias.GL_TEXTURE_LOD_BIAS_S_SGIX', 'Graphics.GL.Ext.SGIX.TextureLodBias.GL_TEXTURE_LOD_BIAS_T_SGIX', 'Graphics.GL.Internal.Shared.GL_TEXTURE_LUMINANCE_SIZE', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAG_FILTER', 'Graphics.GL.Ext.SGIX.TextureCoordinateClamp.GL_TEXTURE_MAX_CLAMP_R_SGIX', 'Graphics.GL.Ext.SGIX.TextureCoordinateClamp.GL_TEXTURE_MAX_CLAMP_S_SGIX', 'Graphics.GL.Ext.SGIX.TextureCoordinateClamp.GL_TEXTURE_MAX_CLAMP_T_SGIX', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LEVEL_SGIS', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LOD_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MIN_FILTER', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MIN_LOD_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_PRIORITY', 'Graphics.GL.Internal.Shared.GL_TEXTURE_RED_SIZE', 'Graphics.GL.Internal.Shared.GL_TEXTURE_RESIDENT', 'Graphics.GL.Internal.Shared.GL_TEXTURE_WIDTH', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_WRAP_Q_SGIS', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_WRAP_R_EXT', 'Graphics.GL.Internal.Shared.GL_TEXTURE_WRAP_S', 'Graphics.GL.Internal.Shared.GL_TEXTURE_WRAP_T'.
--
-- The length of @params@ should be @COMPSIZE(pname)@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glGetTexParameterIiv'.


glGetTexParameterIivEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetTexParameterIivEXT :: GLenum -> GLenum -> Ptr GLsizei -> m ()
glGetTexParameterIivEXT = FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
ffienumenumPtrintIOV FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetTexParameterIivEXTFunPtr

glGetTexParameterIivEXTFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
glGetTexParameterIivEXTFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetTexParameterIivEXTFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetTexParameterIivEXT")

{-# NOINLINE glGetTexParameterIivEXTFunPtr #-}

-- | Usage: @'glGetTexParameterIuivEXT' target pname params@
--
-- The parameter @target@ is a @TextureTarget@, one of: 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_2D_SGIS', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_1D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_1D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_2D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_2D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_PROXY_TEXTURE_3D_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_PROXY_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_1D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_2D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_3D_EXT', 'Graphics.GL.Ext.OES.Texture3D.GL_TEXTURE_3D_OES', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BASE_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_BASE_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LOD_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MIN_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MIN_LOD_SGIS'.
--
-- The parameter @pname@ is a @GetTextureParameter@, one of: 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS', 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_LEVEL_SGIS', 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_MODE_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_TEXTURE_SELECT_SGIS', 'Graphics.GL.Ext.SGIS.GenerateMipmap.GL_GENERATE_MIPMAP_SGIS', 'Graphics.GL.Ext.SGIX.TextureScaleBias.GL_POST_TEXTURE_FILTER_BIAS_SGIX', 'Graphics.GL.Ext.SGIX.TextureScaleBias.GL_POST_TEXTURE_FILTER_SCALE_SGIX', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_QUAD_TEXTURE_SELECT_SGIS', 'Graphics.GL.Ext.SGIX.ShadowAmbient.GL_SHADOW_AMBIENT_SGIX', 'Graphics.GL.Ext.SGIS.SharpenTexture.GL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_4DSIZE_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_ALPHA_SIZE', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_BASE_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BLUE_SIZE', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BORDER', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BORDER_COLOR', 'Graphics.GL.Ext.NV.TextureBorderClamp.GL_TEXTURE_BORDER_COLOR_NV', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_CENTER_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_DEPTH_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_FRAME_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_OFFSET_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX', 'Graphics.GL.Ext.SGIX.Shadow.GL_TEXTURE_COMPARE_OPERATOR_SGIX', 'Graphics.GL.Ext.SGIX.Shadow.GL_TEXTURE_COMPARE_SGIX', 'Graphics.GL.Internal.Shared.GL_TEXTURE_COMPONENTS', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_DEPTH_EXT', 'Graphics.GL.Ext.SGIS.TextureFilter4.GL_TEXTURE_FILTER4_SIZE_SGIS', 'Graphics.GL.Ext.SGIX.Shadow.GL_TEXTURE_GEQUAL_R_SGIX', 'Graphics.GL.Internal.Shared.GL_TEXTURE_GREEN_SIZE', 'Graphics.GL.Internal.Shared.GL_TEXTURE_HEIGHT', 'Graphics.GL.Internal.Shared.GL_TEXTURE_INTENSITY_SIZE', 'Graphics.GL.Internal.Shared.GL_TEXTURE_INTERNAL_FORMAT', 'Graphics.GL.Ext.SGIX.Shadow.GL_TEXTURE_LEQUAL_R_SGIX', 'Graphics.GL.Ext.SGIX.TextureLodBias.GL_TEXTURE_LOD_BIAS_R_SGIX', 'Graphics.GL.Ext.SGIX.TextureLodBias.GL_TEXTURE_LOD_BIAS_S_SGIX', 'Graphics.GL.Ext.SGIX.TextureLodBias.GL_TEXTURE_LOD_BIAS_T_SGIX', 'Graphics.GL.Internal.Shared.GL_TEXTURE_LUMINANCE_SIZE', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAG_FILTER', 'Graphics.GL.Ext.SGIX.TextureCoordinateClamp.GL_TEXTURE_MAX_CLAMP_R_SGIX', 'Graphics.GL.Ext.SGIX.TextureCoordinateClamp.GL_TEXTURE_MAX_CLAMP_S_SGIX', 'Graphics.GL.Ext.SGIX.TextureCoordinateClamp.GL_TEXTURE_MAX_CLAMP_T_SGIX', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LEVEL_SGIS', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LOD_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MIN_FILTER', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MIN_LOD_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_PRIORITY', 'Graphics.GL.Internal.Shared.GL_TEXTURE_RED_SIZE', 'Graphics.GL.Internal.Shared.GL_TEXTURE_RESIDENT', 'Graphics.GL.Internal.Shared.GL_TEXTURE_WIDTH', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_WRAP_Q_SGIS', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_WRAP_R_EXT', 'Graphics.GL.Internal.Shared.GL_TEXTURE_WRAP_S', 'Graphics.GL.Internal.Shared.GL_TEXTURE_WRAP_T'.
--
-- The length of @params@ should be @COMPSIZE(pname)@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glGetTexParameterIuiv'.


glGetTexParameterIuivEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()
glGetTexParameterIuivEXT :: GLenum -> GLenum -> Ptr GLenum -> m ()
glGetTexParameterIuivEXT = FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
-> GLenum -> GLenum -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
-> GLenum -> GLenum -> Ptr GLenum -> m ()
ffienumenumPtruintIOV FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
glGetTexParameterIuivEXTFunPtr

glGetTexParameterIuivEXTFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLuint -> IO ())
glGetTexParameterIuivEXTFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
glGetTexParameterIuivEXTFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetTexParameterIuivEXT")

{-# NOINLINE glGetTexParameterIuivEXTFunPtr #-}

-- | Usage: @'glTexParameterIivEXT' target pname params@
--
-- The parameter @target@ is a @TextureTarget@, one of: 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_2D_SGIS', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_1D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_1D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_2D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_2D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_PROXY_TEXTURE_3D_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_PROXY_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_1D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_2D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_3D_EXT', 'Graphics.GL.Ext.OES.Texture3D.GL_TEXTURE_3D_OES', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BASE_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_BASE_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LOD_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MIN_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MIN_LOD_SGIS'.
--
-- The parameter @pname@ is a @TextureParameterName@, one of: 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_LEVEL_SGIS', 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_MODE_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_TEXTURE_SELECT_SGIS', 'Graphics.GL.Internal.Shared.GL_GENERATE_MIPMAP', 'Graphics.GL.Ext.SGIS.GenerateMipmap.GL_GENERATE_MIPMAP_SGIS', 'Graphics.GL.Ext.SGIX.TextureScaleBias.GL_POST_TEXTURE_FILTER_BIAS_SGIX', 'Graphics.GL.Ext.SGIX.TextureScaleBias.GL_POST_TEXTURE_FILTER_SCALE_SGIX', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_QUAD_TEXTURE_SELECT_SGIS', 'Graphics.GL.Ext.SGIX.ShadowAmbient.GL_SHADOW_AMBIENT_SGIX', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BORDER_COLOR', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_CENTER_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_DEPTH_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_FRAME_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_OFFSET_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX', 'Graphics.GL.Ext.SGIX.Shadow.GL_TEXTURE_COMPARE_SGIX', 'Graphics.GL.Ext.SGIX.TextureLodBias.GL_TEXTURE_LOD_BIAS_R_SGIX', 'Graphics.GL.Ext.SGIX.TextureLodBias.GL_TEXTURE_LOD_BIAS_S_SGIX', 'Graphics.GL.Ext.SGIX.TextureLodBias.GL_TEXTURE_LOD_BIAS_T_SGIX', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAG_FILTER', 'Graphics.GL.Ext.SGIX.TextureCoordinateClamp.GL_TEXTURE_MAX_CLAMP_R_SGIX', 'Graphics.GL.Ext.SGIX.TextureCoordinateClamp.GL_TEXTURE_MAX_CLAMP_S_SGIX', 'Graphics.GL.Ext.SGIX.TextureCoordinateClamp.GL_TEXTURE_MAX_CLAMP_T_SGIX', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MIN_FILTER', 'Graphics.GL.Internal.Shared.GL_TEXTURE_PRIORITY', 'Graphics.GL.Ext.EXT.TextureObject.GL_TEXTURE_PRIORITY_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_WRAP_Q_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_WRAP_R', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_WRAP_R_EXT', 'Graphics.GL.Ext.OES.Texture3D.GL_TEXTURE_WRAP_R_OES', 'Graphics.GL.Internal.Shared.GL_TEXTURE_WRAP_S', 'Graphics.GL.Internal.Shared.GL_TEXTURE_WRAP_T'.
--
-- The length of @params@ should be @COMPSIZE(pname)@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glTexParameterIiv'.


glTexParameterIivEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glTexParameterIivEXT :: GLenum -> GLenum -> Ptr GLsizei -> m ()
glTexParameterIivEXT = FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
ffienumenumPtrintIOV FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glTexParameterIivEXTFunPtr

glTexParameterIivEXTFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
glTexParameterIivEXTFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glTexParameterIivEXTFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexParameterIivEXT")

{-# NOINLINE glTexParameterIivEXTFunPtr #-}

-- | Usage: @'glTexParameterIuivEXT' target pname params@
--
-- The parameter @target@ is a @TextureTarget@, one of: 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_2D_SGIS', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_1D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_1D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_2D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_2D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_PROXY_TEXTURE_3D_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_PROXY_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_1D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_2D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_3D_EXT', 'Graphics.GL.Ext.OES.Texture3D.GL_TEXTURE_3D_OES', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BASE_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_BASE_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LOD_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MIN_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MIN_LOD_SGIS'.
--
-- The parameter @pname@ is a @TextureParameterName@, one of: 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_LEVEL_SGIS', 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_MODE_SGIS', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_DUAL_TEXTURE_SELECT_SGIS', 'Graphics.GL.Internal.Shared.GL_GENERATE_MIPMAP', 'Graphics.GL.Ext.SGIS.GenerateMipmap.GL_GENERATE_MIPMAP_SGIS', 'Graphics.GL.Ext.SGIX.TextureScaleBias.GL_POST_TEXTURE_FILTER_BIAS_SGIX', 'Graphics.GL.Ext.SGIX.TextureScaleBias.GL_POST_TEXTURE_FILTER_SCALE_SGIX', 'Graphics.GL.Ext.SGIS.TextureSelect.GL_QUAD_TEXTURE_SELECT_SGIS', 'Graphics.GL.Ext.SGIX.ShadowAmbient.GL_SHADOW_AMBIENT_SGIX', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BORDER_COLOR', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_CENTER_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_DEPTH_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_FRAME_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_OFFSET_SGIX', 'Graphics.GL.Ext.SGIX.Clipmap.GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX', 'Graphics.GL.Ext.SGIX.Shadow.GL_TEXTURE_COMPARE_SGIX', 'Graphics.GL.Ext.SGIX.TextureLodBias.GL_TEXTURE_LOD_BIAS_R_SGIX', 'Graphics.GL.Ext.SGIX.TextureLodBias.GL_TEXTURE_LOD_BIAS_S_SGIX', 'Graphics.GL.Ext.SGIX.TextureLodBias.GL_TEXTURE_LOD_BIAS_T_SGIX', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAG_FILTER', 'Graphics.GL.Ext.SGIX.TextureCoordinateClamp.GL_TEXTURE_MAX_CLAMP_R_SGIX', 'Graphics.GL.Ext.SGIX.TextureCoordinateClamp.GL_TEXTURE_MAX_CLAMP_S_SGIX', 'Graphics.GL.Ext.SGIX.TextureCoordinateClamp.GL_TEXTURE_MAX_CLAMP_T_SGIX', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MIN_FILTER', 'Graphics.GL.Internal.Shared.GL_TEXTURE_PRIORITY', 'Graphics.GL.Ext.EXT.TextureObject.GL_TEXTURE_PRIORITY_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_WRAP_Q_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_WRAP_R', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_WRAP_R_EXT', 'Graphics.GL.Ext.OES.Texture3D.GL_TEXTURE_WRAP_R_OES', 'Graphics.GL.Internal.Shared.GL_TEXTURE_WRAP_S', 'Graphics.GL.Internal.Shared.GL_TEXTURE_WRAP_T'.
--
-- The length of @params@ should be @COMPSIZE(pname)@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glTexParameterIuiv'.


glTexParameterIuivEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()
glTexParameterIuivEXT :: GLenum -> GLenum -> Ptr GLenum -> m ()
glTexParameterIuivEXT = FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
-> GLenum -> GLenum -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
-> GLenum -> GLenum -> Ptr GLenum -> m ()
ffienumenumPtruintIOV FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
glTexParameterIuivEXTFunPtr

glTexParameterIuivEXTFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLuint -> IO ())
glTexParameterIuivEXTFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
glTexParameterIuivEXTFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexParameterIuivEXT")

{-# NOINLINE glTexParameterIuivEXTFunPtr #-}

-- | Usage: @'glTexBufferEXT' target internalformat buffer@
--
-- The parameter @target@ is a @TextureTarget@, one of: 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_2D_SGIS', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_1D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_1D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_2D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_2D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_PROXY_TEXTURE_3D_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_PROXY_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_1D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_2D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_3D_EXT', 'Graphics.GL.Ext.OES.Texture3D.GL_TEXTURE_3D_OES', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BASE_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_BASE_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LOD_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MIN_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MIN_LOD_SGIS'.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glTexBuffer'.


glTexBufferEXT :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()
glTexBufferEXT :: GLenum -> GLenum -> GLenum -> m ()
glTexBufferEXT = FunPtr (GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> m ()
ffienumenumuintIOV FunPtr (GLenum -> GLenum -> GLenum -> IO ())
glTexBufferEXTFunPtr

glTexBufferEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLuint -> IO ())
glTexBufferEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> IO ())
glTexBufferEXTFunPtr = IO (FunPtr (GLenum -> GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexBufferEXT")

{-# NOINLINE glTexBufferEXTFunPtr #-}

pattern $bGL_MAX_TEXTURE_BUFFER_SIZE_EXT :: a
$mGL_MAX_TEXTURE_BUFFER_SIZE_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_TEXTURE_BUFFER_SIZE_EXT = 0x8C2B

pattern $bGL_TEXTURE_BINDING_BUFFER_EXT :: a
$mGL_TEXTURE_BINDING_BUFFER_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_BINDING_BUFFER_EXT = 0x8C2C

pattern $bGL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT :: a
$mGL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT = 0x8C2D

pattern $bGL_TEXTURE_BUFFER_EXT :: a
$mGL_TEXTURE_BUFFER_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_BUFFER_EXT = 0x8C2A

pattern $bGL_COMPRESSED_RGBA_S3TC_DXT1_EXT :: a
$mGL_COMPRESSED_RGBA_S3TC_DXT1_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPRESSED_RGBA_S3TC_DXT1_EXT = 0x83F1

pattern $bGL_COMPRESSED_RGB_S3TC_DXT1_EXT :: a
$mGL_COMPRESSED_RGB_S3TC_DXT1_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPRESSED_RGB_S3TC_DXT1_EXT = 0x83F0

pattern $bGL_R8_EXT :: a
$mGL_R8_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_R8_EXT = 0x8229

pattern $bGL_RG8_EXT :: a
$mGL_RG8_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RG8_EXT = 0x822B

pattern $bGL_REQUIRED_TEXTURE_IMAGE_UNITS_OES :: a
$mGL_REQUIRED_TEXTURE_IMAGE_UNITS_OES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES = 0x8D68

pattern $bGL_TEXTURE_BINDING_EXTERNAL_OES :: a
$mGL_TEXTURE_BINDING_EXTERNAL_OES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_BINDING_EXTERNAL_OES = 0x8D67

pattern $bGL_TEXTURE_EXTERNAL_OES :: a
$mGL_TEXTURE_EXTERNAL_OES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_EXTERNAL_OES = 0x8D65

pattern $bGL_CONTEXT_ROBUST_ACCESS :: a
$mGL_CONTEXT_ROBUST_ACCESS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CONTEXT_ROBUST_ACCESS = 0x90F3

pattern $bGL_COMPRESSED_RGBA_ASTC_10x10_KHR :: a
$mGL_COMPRESSED_RGBA_ASTC_10x10_KHR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPRESSED_RGBA_ASTC_10x10_KHR = 0x93BB

pattern $bGL_COMPRESSED_RGBA_ASTC_10x5_KHR :: a
$mGL_COMPRESSED_RGBA_ASTC_10x5_KHR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPRESSED_RGBA_ASTC_10x5_KHR = 0x93B8

pattern $bGL_COMPRESSED_RGBA_ASTC_10x6_KHR :: a
$mGL_COMPRESSED_RGBA_ASTC_10x6_KHR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPRESSED_RGBA_ASTC_10x6_KHR = 0x93B9

pattern $bGL_COMPRESSED_RGBA_ASTC_10x8_KHR :: a
$mGL_COMPRESSED_RGBA_ASTC_10x8_KHR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPRESSED_RGBA_ASTC_10x8_KHR = 0x93BA

pattern $bGL_COMPRESSED_RGBA_ASTC_12x10_KHR :: a
$mGL_COMPRESSED_RGBA_ASTC_12x10_KHR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPRESSED_RGBA_ASTC_12x10_KHR = 0x93BC

pattern $bGL_COMPRESSED_RGBA_ASTC_12x12_KHR :: a
$mGL_COMPRESSED_RGBA_ASTC_12x12_KHR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPRESSED_RGBA_ASTC_12x12_KHR = 0x93BD

pattern $bGL_COMPRESSED_RGBA_ASTC_4x4_KHR :: a
$mGL_COMPRESSED_RGBA_ASTC_4x4_KHR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPRESSED_RGBA_ASTC_4x4_KHR = 0x93B0

pattern $bGL_COMPRESSED_RGBA_ASTC_5x4_KHR :: a
$mGL_COMPRESSED_RGBA_ASTC_5x4_KHR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPRESSED_RGBA_ASTC_5x4_KHR = 0x93B1

pattern $bGL_COMPRESSED_RGBA_ASTC_5x5_KHR :: a
$mGL_COMPRESSED_RGBA_ASTC_5x5_KHR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPRESSED_RGBA_ASTC_5x5_KHR = 0x93B2

pattern $bGL_COMPRESSED_RGBA_ASTC_6x5_KHR :: a
$mGL_COMPRESSED_RGBA_ASTC_6x5_KHR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPRESSED_RGBA_ASTC_6x5_KHR = 0x93B3

pattern $bGL_COMPRESSED_RGBA_ASTC_6x6_KHR :: a
$mGL_COMPRESSED_RGBA_ASTC_6x6_KHR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPRESSED_RGBA_ASTC_6x6_KHR = 0x93B4

pattern $bGL_COMPRESSED_RGBA_ASTC_8x5_KHR :: a
$mGL_COMPRESSED_RGBA_ASTC_8x5_KHR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPRESSED_RGBA_ASTC_8x5_KHR = 0x93B5

pattern $bGL_COMPRESSED_RGBA_ASTC_8x6_KHR :: a
$mGL_COMPRESSED_RGBA_ASTC_8x6_KHR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPRESSED_RGBA_ASTC_8x6_KHR = 0x93B6

pattern $bGL_COMPRESSED_RGBA_ASTC_8x8_KHR :: a
$mGL_COMPRESSED_RGBA_ASTC_8x8_KHR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPRESSED_RGBA_ASTC_8x8_KHR = 0x93B7

pattern $bGL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR :: a
$mGL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR = 0x93DB

pattern $bGL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR :: a
$mGL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR = 0x93D8

pattern $bGL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR :: a
$mGL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR = 0x93D9

pattern $bGL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR :: a
$mGL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR = 0x93DA

pattern $bGL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR :: a
$mGL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR = 0x93DC

pattern $bGL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR :: a
$mGL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR = 0x93DD

pattern $bGL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR :: a
$mGL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR = 0x93D0

pattern $bGL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR :: a
$mGL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR = 0x93D1

pattern $bGL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR :: a
$mGL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR = 0x93D2

pattern $bGL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR :: a
$mGL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR = 0x93D3

pattern $bGL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR :: a
$mGL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR = 0x93D4

pattern $bGL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR :: a
$mGL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR = 0x93D5

pattern $bGL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR :: a
$mGL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR = 0x93D6

pattern $bGL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR :: a
$mGL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR = 0x93D7

pattern $bGL_COLOR_ATTACHMENT0_NV :: a
$mGL_COLOR_ATTACHMENT0_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT0_NV = 0x8CE0

pattern $bGL_COLOR_ATTACHMENT10_NV :: a
$mGL_COLOR_ATTACHMENT10_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT10_NV = 0x8CEA

pattern $bGL_COLOR_ATTACHMENT11_NV :: a
$mGL_COLOR_ATTACHMENT11_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT11_NV = 0x8CEB

pattern $bGL_COLOR_ATTACHMENT12_NV :: a
$mGL_COLOR_ATTACHMENT12_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT12_NV = 0x8CEC

pattern $bGL_COLOR_ATTACHMENT13_NV :: a
$mGL_COLOR_ATTACHMENT13_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT13_NV = 0x8CED

pattern $bGL_COLOR_ATTACHMENT14_NV :: a
$mGL_COLOR_ATTACHMENT14_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT14_NV = 0x8CEE

pattern $bGL_COLOR_ATTACHMENT15_NV :: a
$mGL_COLOR_ATTACHMENT15_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT15_NV = 0x8CEF

pattern $bGL_COLOR_ATTACHMENT1_NV :: a
$mGL_COLOR_ATTACHMENT1_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT1_NV = 0x8CE1

pattern $bGL_COLOR_ATTACHMENT2_NV :: a
$mGL_COLOR_ATTACHMENT2_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT2_NV = 0x8CE2

pattern $bGL_COLOR_ATTACHMENT3_NV :: a
$mGL_COLOR_ATTACHMENT3_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT3_NV = 0x8CE3

pattern $bGL_COLOR_ATTACHMENT4_NV :: a
$mGL_COLOR_ATTACHMENT4_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT4_NV = 0x8CE4

pattern $bGL_COLOR_ATTACHMENT5_NV :: a
$mGL_COLOR_ATTACHMENT5_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT5_NV = 0x8CE5

pattern $bGL_COLOR_ATTACHMENT6_NV :: a
$mGL_COLOR_ATTACHMENT6_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT6_NV = 0x8CE6

pattern $bGL_COLOR_ATTACHMENT7_NV :: a
$mGL_COLOR_ATTACHMENT7_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT7_NV = 0x8CE7

pattern $bGL_COLOR_ATTACHMENT8_NV :: a
$mGL_COLOR_ATTACHMENT8_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT8_NV = 0x8CE8

pattern $bGL_COLOR_ATTACHMENT9_NV :: a
$mGL_COLOR_ATTACHMENT9_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT9_NV = 0x8CE9

pattern $bGL_MAX_PROGRAM_CALL_DEPTH_NV :: a
$mGL_MAX_PROGRAM_CALL_DEPTH_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_PROGRAM_CALL_DEPTH_NV = 0x88F5

pattern $bGL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV :: a
$mGL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV = 0x88F4

pattern $bGL_COLOR_SAMPLES_NV :: a
$mGL_COLOR_SAMPLES_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_SAMPLES_NV = 0x8E20

pattern $bGL_PRIMARY_COLOR_NV :: a
$mGL_PRIMARY_COLOR_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PRIMARY_COLOR_NV = 0x852C

pattern $bGL_SECONDARY_COLOR_NV :: a
$mGL_SECONDARY_COLOR_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SECONDARY_COLOR_NV = 0x852D

pattern $bGL_DEPTH_COMPONENT24_OES :: a
$mGL_DEPTH_COMPONENT24_OES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DEPTH_COMPONENT24_OES = 0x81A6

-- | Usage: @'glDisableiOES' target index@
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glDisablei'.


glDisableiOES :: MonadIO m => GLenum -> GLuint -> m ()
glDisableiOES :: GLenum -> GLenum -> m ()
glDisableiOES = FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
ffienumuintIOV FunPtr (GLenum -> GLenum -> IO ())
glDisableiOESFunPtr

glDisableiOESFunPtr :: FunPtr (GLenum -> GLuint -> IO ())
glDisableiOESFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glDisableiOESFunPtr = IO (FunPtr (GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glDisableiOES")

{-# NOINLINE glDisableiOESFunPtr #-}

-- | Usage: @'glEnableiOES' target index@
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glEnablei'.


glEnableiOES :: MonadIO m => GLenum -> GLuint -> m ()
glEnableiOES :: GLenum -> GLenum -> m ()
glEnableiOES = FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
ffienumuintIOV FunPtr (GLenum -> GLenum -> IO ())
glEnableiOESFunPtr

glEnableiOESFunPtr :: FunPtr (GLenum -> GLuint -> IO ())
glEnableiOESFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glEnableiOESFunPtr = IO (FunPtr (GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glEnableiOES")

{-# NOINLINE glEnableiOESFunPtr #-}

-- | Usage: @'glIsEnablediOES' target index@
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glIsEnabledi'.


glIsEnablediOES :: MonadIO m => GLenum -> GLuint -> m GLboolean
glIsEnablediOES :: GLenum -> GLenum -> m GLboolean
glIsEnablediOES = FunPtr (GLenum -> GLenum -> IO GLboolean)
-> GLenum -> GLenum -> m GLboolean
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO GLboolean)
-> GLenum -> GLenum -> m GLboolean
ffienumuintIOboolean FunPtr (GLenum -> GLenum -> IO GLboolean)
glIsEnablediOESFunPtr

glIsEnablediOESFunPtr :: FunPtr (GLenum -> GLuint -> IO GLboolean)
glIsEnablediOESFunPtr :: FunPtr (GLenum -> GLenum -> IO GLboolean)
glIsEnablediOESFunPtr = IO (FunPtr (GLenum -> GLenum -> IO GLboolean))
-> FunPtr (GLenum -> GLenum -> IO GLboolean)
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO GLboolean))
forall a. String -> IO (FunPtr a)
getProcAddress "glIsEnablediOES")

{-# NOINLINE glIsEnablediOESFunPtr #-}

-- | Usage: @'glGetTexGenxvOES' coord pname params@
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glGetTexGenxvOES :: MonadIO m => GLenum -> GLenum -> Ptr GLfixed -> m ()
glGetTexGenxvOES :: GLenum -> GLenum -> Ptr GLfixed -> m ()
glGetTexGenxvOES = FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
-> GLenum -> GLenum -> Ptr GLfixed -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
-> GLenum -> GLenum -> Ptr GLfixed -> m ()
ffienumenumPtrfixedIOV FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
glGetTexGenxvOESFunPtr

glGetTexGenxvOESFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
glGetTexGenxvOESFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
glGetTexGenxvOESFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glGetTexGenxvOES")

{-# NOINLINE glGetTexGenxvOESFunPtr #-}

-- | Usage: @'glTexGenxOES' coord pname param@


glTexGenxOES :: MonadIO m => GLenum -> GLenum -> GLfixed -> m ()
glTexGenxOES :: GLenum -> GLenum -> GLfixed -> m ()
glTexGenxOES = FunPtr (GLenum -> GLenum -> GLfixed -> IO ())
-> GLenum -> GLenum -> GLfixed -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLfixed -> IO ())
-> GLenum -> GLenum -> GLfixed -> m ()
ffienumenumfixedIOV FunPtr (GLenum -> GLenum -> GLfixed -> IO ())
glTexGenxOESFunPtr

glTexGenxOESFunPtr :: FunPtr (GLenum -> GLenum -> GLfixed -> IO ())
glTexGenxOESFunPtr :: FunPtr (GLenum -> GLenum -> GLfixed -> IO ())
glTexGenxOESFunPtr = IO (FunPtr (GLenum -> GLenum -> GLfixed -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLfixed -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> GLfixed -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexGenxOES")

{-# NOINLINE glTexGenxOESFunPtr #-}

-- | Usage: @'glTexGenxvOES' coord pname params@
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glTexGenxvOES :: MonadIO m => GLenum -> GLenum -> Ptr GLfixed -> m ()
glTexGenxvOES :: GLenum -> GLenum -> Ptr GLfixed -> m ()
glTexGenxvOES = FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
-> GLenum -> GLenum -> Ptr GLfixed -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
-> GLenum -> GLenum -> Ptr GLfixed -> m ()
ffienumenumPtrfixedIOV FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
glTexGenxvOESFunPtr

glTexGenxvOESFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
glTexGenxvOESFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
glTexGenxvOESFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress "glTexGenxvOES")

{-# NOINLINE glTexGenxvOESFunPtr #-}

pattern $bGL_DEPTH_COMPONENT16_OES :: a
$mGL_DEPTH_COMPONENT16_OES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DEPTH_COMPONENT16_OES = 0x81A5

pattern $bGL_RGB565_OES :: a
$mGL_RGB565_OES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGB565_OES = 0x8D62

pattern $bGL_RGB5_A1_OES :: a
$mGL_RGB5_A1_OES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGB5_A1_OES = 0x8057

pattern $bGL_RGBA4_OES :: a
$mGL_RGBA4_OES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGBA4_OES = 0x8056

pattern $bGL_RGB8_OES :: a
$mGL_RGB8_OES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGB8_OES = 0x8051

pattern $bGL_RGBA8_OES :: a
$mGL_RGBA8_OES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGBA8_OES = 0x8058

pattern $bGL_STENCIL_INDEX8_OES :: a
$mGL_STENCIL_INDEX8_OES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_STENCIL_INDEX8_OES = 0x8D48

pattern $bGL_HALF_FLOAT_OES :: a
$mGL_HALF_FLOAT_OES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_HALF_FLOAT_OES = 0x8D61