{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
module Graphics.GL.Ext.ARB.VertexBufferObject (
gl_ARB_vertex_buffer_object
, glBindBufferARB
, glBufferDataARB
, glBufferSubDataARB
, glDeleteBuffersARB
, glGenBuffersARB
, glGetBufferParameterivARB
, glGetBufferPointervARB
, glGetBufferSubDataARB
, glIsBufferARB
, glMapBufferARB
, glUnmapBufferARB
, pattern GL_ARRAY_BUFFER_ARB
, pattern GL_ARRAY_BUFFER_BINDING_ARB
, pattern GL_BUFFER_ACCESS_ARB
, pattern GL_BUFFER_MAPPED_ARB
, pattern GL_BUFFER_MAP_POINTER_ARB
, pattern GL_BUFFER_SIZE_ARB
, pattern GL_BUFFER_USAGE_ARB
, pattern GL_COLOR_ARRAY_BUFFER_BINDING_ARB
, pattern GL_DYNAMIC_COPY_ARB
, pattern GL_DYNAMIC_DRAW_ARB
, pattern GL_DYNAMIC_READ_ARB
, pattern GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB
, pattern GL_ELEMENT_ARRAY_BUFFER_ARB
, pattern GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB
, pattern GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB
, pattern GL_INDEX_ARRAY_BUFFER_BINDING_ARB
, pattern GL_NORMAL_ARRAY_BUFFER_BINDING_ARB
, pattern GL_READ_ONLY_ARB
, pattern GL_READ_WRITE_ARB
, pattern GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB
, pattern GL_STATIC_COPY_ARB
, pattern GL_STATIC_DRAW_ARB
, pattern GL_STATIC_READ_ARB
, pattern GL_STREAM_COPY_ARB
, pattern GL_STREAM_DRAW_ARB
, pattern GL_STREAM_READ_ARB
, pattern GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB
, pattern GL_VERTEX_ARRAY_BUFFER_BINDING_ARB
, pattern GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB
, pattern GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB
, pattern GL_WRITE_ONLY_ARB
) where
import Control.Monad.IO.Class
import Data.Set
import Foreign.Ptr
import Graphics.GL.Internal.FFI
import Graphics.GL.Internal.Proc
import Graphics.GL.Types
import System.IO.Unsafe
gl_ARB_vertex_buffer_object :: Bool
gl_ARB_vertex_buffer_object :: Bool
gl_ARB_vertex_buffer_object = [Char] -> Set [Char] -> Bool
forall a. Ord a => a -> Set a -> Bool
member "GL_ARB_vertex_buffer_object" Set [Char]
extensions
{-# NOINLINE gl_ARB_vertex_buffer_object #-}
glBindBufferARB :: MonadIO m => GLenum -> GLuint -> m ()
glBindBufferARB :: GLenum -> GLenum -> m ()
glBindBufferARB = FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
ffienumuintIOV FunPtr (GLenum -> GLenum -> IO ())
glBindBufferARBFunPtr
glBindBufferARBFunPtr :: FunPtr (GLenum -> GLuint -> IO ())
glBindBufferARBFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glBindBufferARBFunPtr = IO (FunPtr (GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glBindBufferARB")
{-# NOINLINE glBindBufferARBFunPtr #-}
glBufferDataARB :: MonadIO m => GLenum -> GLsizeiptrARB -> Ptr () -> GLenum -> m ()
glBufferDataARB :: GLenum -> GLsizeiptrARB -> Ptr () -> GLenum -> m ()
glBufferDataARB = FunPtr (GLenum -> GLsizeiptrARB -> Ptr () -> GLenum -> IO ())
-> GLenum -> GLsizeiptrARB -> Ptr () -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizeiptrARB -> Ptr () -> GLenum -> IO ())
-> GLenum -> GLsizeiptrARB -> Ptr () -> GLenum -> m ()
ffienumsizeiptrARBPtrVenumIOV FunPtr (GLenum -> GLsizeiptrARB -> Ptr () -> GLenum -> IO ())
glBufferDataARBFunPtr
glBufferDataARBFunPtr :: FunPtr (GLenum -> GLsizeiptrARB -> Ptr () -> GLenum -> IO ())
glBufferDataARBFunPtr :: FunPtr (GLenum -> GLsizeiptrARB -> Ptr () -> GLenum -> IO ())
glBufferDataARBFunPtr = IO (FunPtr (GLenum -> GLsizeiptrARB -> Ptr () -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLsizeiptrARB -> Ptr () -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char]
-> IO
(FunPtr (GLenum -> GLsizeiptrARB -> Ptr () -> GLenum -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glBufferDataARB")
{-# NOINLINE glBufferDataARBFunPtr #-}
glBufferSubDataARB :: MonadIO m => GLenum -> GLintptrARB -> GLsizeiptrARB -> Ptr () -> m ()
glBufferSubDataARB :: GLenum -> GLsizeiptrARB -> GLsizeiptrARB -> Ptr () -> m ()
glBufferSubDataARB = FunPtr
(GLenum -> GLsizeiptrARB -> GLsizeiptrARB -> Ptr () -> IO ())
-> GLenum -> GLsizeiptrARB -> GLsizeiptrARB -> Ptr () -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
(GLenum -> GLsizeiptrARB -> GLsizeiptrARB -> Ptr () -> IO ())
-> GLenum -> GLsizeiptrARB -> GLsizeiptrARB -> Ptr () -> m ()
ffienumintptrARBsizeiptrARBPtrVIOV FunPtr
(GLenum -> GLsizeiptrARB -> GLsizeiptrARB -> Ptr () -> IO ())
glBufferSubDataARBFunPtr
glBufferSubDataARBFunPtr :: FunPtr (GLenum -> GLintptrARB -> GLsizeiptrARB -> Ptr () -> IO ())
glBufferSubDataARBFunPtr :: FunPtr
(GLenum -> GLsizeiptrARB -> GLsizeiptrARB -> Ptr () -> IO ())
glBufferSubDataARBFunPtr = IO
(FunPtr
(GLenum -> GLsizeiptrARB -> GLsizeiptrARB -> Ptr () -> IO ()))
-> FunPtr
(GLenum -> GLsizeiptrARB -> GLsizeiptrARB -> Ptr () -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char]
-> IO
(FunPtr
(GLenum -> GLsizeiptrARB -> GLsizeiptrARB -> Ptr () -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glBufferSubDataARB")
{-# NOINLINE glBufferSubDataARBFunPtr #-}
glDeleteBuffersARB :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glDeleteBuffersARB :: GLsizei -> Ptr GLenum -> m ()
glDeleteBuffersARB = 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 ())
glDeleteBuffersARBFunPtr
glDeleteBuffersARBFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glDeleteBuffersARBFunPtr :: FunPtr (GLsizei -> Ptr GLenum -> IO ())
glDeleteBuffersARBFunPtr = IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glDeleteBuffersARB")
{-# NOINLINE glDeleteBuffersARBFunPtr #-}
glGenBuffersARB :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGenBuffersARB :: GLsizei -> Ptr GLenum -> m ()
glGenBuffersARB = 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 ())
glGenBuffersARBFunPtr
glGenBuffersARBFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glGenBuffersARBFunPtr :: FunPtr (GLsizei -> Ptr GLenum -> IO ())
glGenBuffersARBFunPtr = IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glGenBuffersARB")
{-# NOINLINE glGenBuffersARBFunPtr #-}
glGetBufferParameterivARB :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetBufferParameterivARB :: GLenum -> GLenum -> Ptr GLsizei -> m ()
glGetBufferParameterivARB = 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 ())
glGetBufferParameterivARBFunPtr
glGetBufferParameterivARBFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
glGetBufferParameterivARBFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetBufferParameterivARBFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glGetBufferParameterivARB")
{-# NOINLINE glGetBufferParameterivARBFunPtr #-}
glGetBufferPointervARB :: MonadIO m => GLenum -> GLenum -> Ptr (Ptr ()) -> m ()
glGetBufferPointervARB :: GLenum -> GLenum -> Ptr (Ptr ()) -> m ()
glGetBufferPointervARB = 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 ())
glGetBufferPointervARBFunPtr
glGetBufferPointervARBFunPtr :: FunPtr (GLenum -> GLenum -> Ptr (Ptr ()) -> IO ())
glGetBufferPointervARBFunPtr :: FunPtr (GLenum -> GLenum -> Ptr (Ptr ()) -> IO ())
glGetBufferPointervARBFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr (Ptr ()) -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr (Ptr ()) -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLenum -> GLenum -> Ptr (Ptr ()) -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glGetBufferPointervARB")
{-# NOINLINE glGetBufferPointervARBFunPtr #-}
glGetBufferSubDataARB :: MonadIO m => GLenum -> GLintptrARB -> GLsizeiptrARB -> Ptr () -> m ()
glGetBufferSubDataARB :: GLenum -> GLsizeiptrARB -> GLsizeiptrARB -> Ptr () -> m ()
glGetBufferSubDataARB = FunPtr
(GLenum -> GLsizeiptrARB -> GLsizeiptrARB -> Ptr () -> IO ())
-> GLenum -> GLsizeiptrARB -> GLsizeiptrARB -> Ptr () -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
(GLenum -> GLsizeiptrARB -> GLsizeiptrARB -> Ptr () -> IO ())
-> GLenum -> GLsizeiptrARB -> GLsizeiptrARB -> Ptr () -> m ()
ffienumintptrARBsizeiptrARBPtrVIOV FunPtr
(GLenum -> GLsizeiptrARB -> GLsizeiptrARB -> Ptr () -> IO ())
glGetBufferSubDataARBFunPtr
glGetBufferSubDataARBFunPtr :: FunPtr (GLenum -> GLintptrARB -> GLsizeiptrARB -> Ptr () -> IO ())
glGetBufferSubDataARBFunPtr :: FunPtr
(GLenum -> GLsizeiptrARB -> GLsizeiptrARB -> Ptr () -> IO ())
glGetBufferSubDataARBFunPtr = IO
(FunPtr
(GLenum -> GLsizeiptrARB -> GLsizeiptrARB -> Ptr () -> IO ()))
-> FunPtr
(GLenum -> GLsizeiptrARB -> GLsizeiptrARB -> Ptr () -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char]
-> IO
(FunPtr
(GLenum -> GLsizeiptrARB -> GLsizeiptrARB -> Ptr () -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glGetBufferSubDataARB")
{-# NOINLINE glGetBufferSubDataARBFunPtr #-}
glIsBufferARB :: MonadIO m => GLuint -> m GLboolean
glIsBufferARB :: GLenum -> m GLboolean
glIsBufferARB = FunPtr (GLenum -> IO GLboolean) -> GLenum -> m GLboolean
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO GLboolean) -> GLenum -> m GLboolean
ffiuintIOboolean FunPtr (GLenum -> IO GLboolean)
glIsBufferARBFunPtr
glIsBufferARBFunPtr :: FunPtr (GLuint -> IO GLboolean)
glIsBufferARBFunPtr :: FunPtr (GLenum -> IO GLboolean)
glIsBufferARBFunPtr = IO (FunPtr (GLenum -> IO GLboolean))
-> FunPtr (GLenum -> IO GLboolean)
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLenum -> IO GLboolean))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glIsBufferARB")
{-# NOINLINE glIsBufferARBFunPtr #-}
glMapBufferARB :: MonadIO m => GLenum -> GLenum -> m (Ptr ())
glMapBufferARB :: GLenum -> GLenum -> m (Ptr ())
glMapBufferARB = 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 ()))
glMapBufferARBFunPtr
glMapBufferARBFunPtr :: FunPtr (GLenum -> GLenum -> IO (Ptr ()))
glMapBufferARBFunPtr :: FunPtr (GLenum -> GLenum -> IO (Ptr ()))
glMapBufferARBFunPtr = IO (FunPtr (GLenum -> GLenum -> IO (Ptr ())))
-> FunPtr (GLenum -> GLenum -> IO (Ptr ()))
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLenum -> GLenum -> IO (Ptr ())))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glMapBufferARB")
{-# NOINLINE glMapBufferARBFunPtr #-}
glUnmapBufferARB :: MonadIO m => GLenum -> m GLboolean
glUnmapBufferARB :: GLenum -> m GLboolean
glUnmapBufferARB = FunPtr (GLenum -> IO GLboolean) -> GLenum -> m GLboolean
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO GLboolean) -> GLenum -> m GLboolean
ffienumIOboolean FunPtr (GLenum -> IO GLboolean)
glUnmapBufferARBFunPtr
glUnmapBufferARBFunPtr :: FunPtr (GLenum -> IO GLboolean)
glUnmapBufferARBFunPtr :: FunPtr (GLenum -> IO GLboolean)
glUnmapBufferARBFunPtr = IO (FunPtr (GLenum -> IO GLboolean))
-> FunPtr (GLenum -> IO GLboolean)
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLenum -> IO GLboolean))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glUnmapBufferARB")
{-# NOINLINE glUnmapBufferARBFunPtr #-}
pattern $bGL_ARRAY_BUFFER_ARB :: a
$mGL_ARRAY_BUFFER_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ARRAY_BUFFER_ARB = 0x8892
pattern $bGL_ARRAY_BUFFER_BINDING_ARB :: a
$mGL_ARRAY_BUFFER_BINDING_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ARRAY_BUFFER_BINDING_ARB = 0x8894
pattern $bGL_BUFFER_ACCESS_ARB :: a
$mGL_BUFFER_ACCESS_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_BUFFER_ACCESS_ARB = 0x88BB
pattern $bGL_BUFFER_MAPPED_ARB :: a
$mGL_BUFFER_MAPPED_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_BUFFER_MAPPED_ARB = 0x88BC
pattern $bGL_BUFFER_MAP_POINTER_ARB :: a
$mGL_BUFFER_MAP_POINTER_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_BUFFER_MAP_POINTER_ARB = 0x88BD
pattern $bGL_BUFFER_SIZE_ARB :: a
$mGL_BUFFER_SIZE_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_BUFFER_SIZE_ARB = 0x8764
pattern $bGL_BUFFER_USAGE_ARB :: a
$mGL_BUFFER_USAGE_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_BUFFER_USAGE_ARB = 0x8765
pattern $bGL_COLOR_ARRAY_BUFFER_BINDING_ARB :: a
$mGL_COLOR_ARRAY_BUFFER_BINDING_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ARRAY_BUFFER_BINDING_ARB = 0x8898
pattern $bGL_DYNAMIC_COPY_ARB :: a
$mGL_DYNAMIC_COPY_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DYNAMIC_COPY_ARB = 0x88EA
pattern $bGL_DYNAMIC_DRAW_ARB :: a
$mGL_DYNAMIC_DRAW_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DYNAMIC_DRAW_ARB = 0x88E8
pattern $bGL_DYNAMIC_READ_ARB :: a
$mGL_DYNAMIC_READ_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DYNAMIC_READ_ARB = 0x88E9
pattern $bGL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB :: a
$mGL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB = 0x889B
pattern $bGL_ELEMENT_ARRAY_BUFFER_ARB :: a
$mGL_ELEMENT_ARRAY_BUFFER_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ELEMENT_ARRAY_BUFFER_ARB = 0x8893
pattern $bGL_ELEMENT_ARRAY_BUFFER_BINDING_ARB :: a
$mGL_ELEMENT_ARRAY_BUFFER_BINDING_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB = 0x8895
pattern $bGL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB :: a
$mGL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB = 0x889D
pattern $bGL_INDEX_ARRAY_BUFFER_BINDING_ARB :: a
$mGL_INDEX_ARRAY_BUFFER_BINDING_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INDEX_ARRAY_BUFFER_BINDING_ARB = 0x8899
pattern $bGL_NORMAL_ARRAY_BUFFER_BINDING_ARB :: a
$mGL_NORMAL_ARRAY_BUFFER_BINDING_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_NORMAL_ARRAY_BUFFER_BINDING_ARB = 0x8897
pattern $bGL_READ_ONLY_ARB :: a
$mGL_READ_ONLY_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_READ_ONLY_ARB = 0x88B8
pattern $bGL_READ_WRITE_ARB :: a
$mGL_READ_WRITE_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_READ_WRITE_ARB = 0x88BA
pattern $bGL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB :: a
$mGL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB = 0x889C
pattern $bGL_STATIC_COPY_ARB :: a
$mGL_STATIC_COPY_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_STATIC_COPY_ARB = 0x88E6
pattern $bGL_STATIC_DRAW_ARB :: a
$mGL_STATIC_DRAW_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_STATIC_DRAW_ARB = 0x88E4
pattern $bGL_STATIC_READ_ARB :: a
$mGL_STATIC_READ_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_STATIC_READ_ARB = 0x88E5
pattern $bGL_STREAM_COPY_ARB :: a
$mGL_STREAM_COPY_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_STREAM_COPY_ARB = 0x88E2
pattern $bGL_STREAM_DRAW_ARB :: a
$mGL_STREAM_DRAW_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_STREAM_DRAW_ARB = 0x88E0
pattern $bGL_STREAM_READ_ARB :: a
$mGL_STREAM_READ_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_STREAM_READ_ARB = 0x88E1
pattern $bGL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB :: a
$mGL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB = 0x889A
pattern $bGL_VERTEX_ARRAY_BUFFER_BINDING_ARB :: a
$mGL_VERTEX_ARRAY_BUFFER_BINDING_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_ARRAY_BUFFER_BINDING_ARB = 0x8896
pattern $bGL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB :: a
$mGL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB = 0x889F
pattern $bGL_WEIGHT_ARRAY_BUFFER_BINDING_ARB :: a
$mGL_WEIGHT_ARRAY_BUFFER_BINDING_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB = 0x889E
pattern $bGL_WRITE_ONLY_ARB :: a
$mGL_WRITE_ONLY_ARB :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_WRITE_ONLY_ARB = 0x88B9