-- This file was automatically generated. {-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-} module Graphics.GL.Raw.Extension.OES.VertexArrayObject ( -- * Extension Support gl_OES_vertex_array_object -- * GL_OES_vertex_array_object , glBindVertexArrayOES , glDeleteVertexArraysOES , glGenVertexArraysOES , glIsVertexArrayOES , pattern GL_VERTEX_ARRAY_BINDING_OES ) where import Control.Monad.IO.Class import Data.Set import Foreign.Ptr import Graphics.GL.Raw.Internal.FFI import Graphics.GL.Raw.Internal.Proc import Graphics.GL.Raw.Types import System.IO.Unsafe gl_OES_vertex_array_object :: Bool gl_OES_vertex_array_object = member "GL_OES_vertex_array_object" extensions glBindVertexArrayOES :: MonadIO m => GLuint -> m () glBindVertexArrayOES = ffiuintIOV glBindVertexArrayOESFunPtr glBindVertexArrayOESFunPtr :: FunPtr (GLuint -> IO ()) glBindVertexArrayOESFunPtr = unsafePerformIO (getProcAddress "glBindVertexArrayOES") {-# NOINLINE glBindVertexArrayOESFunPtr #-} glDeleteVertexArraysOES :: MonadIO m => GLsizei -> Ptr GLuint -> m () glDeleteVertexArraysOES = ffisizeiPtruintIOV glDeleteVertexArraysOESFunPtr glDeleteVertexArraysOESFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ()) glDeleteVertexArraysOESFunPtr = unsafePerformIO (getProcAddress "glDeleteVertexArraysOES") {-# NOINLINE glDeleteVertexArraysOESFunPtr #-} glGenVertexArraysOES :: MonadIO m => GLsizei -> Ptr GLuint -> m () glGenVertexArraysOES = ffisizeiPtruintIOV glGenVertexArraysOESFunPtr glGenVertexArraysOESFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ()) glGenVertexArraysOESFunPtr = unsafePerformIO (getProcAddress "glGenVertexArraysOES") {-# NOINLINE glGenVertexArraysOESFunPtr #-} glIsVertexArrayOES :: MonadIO m => GLuint -> m GLboolean glIsVertexArrayOES = ffiuintIOboolean glIsVertexArrayOESFunPtr glIsVertexArrayOESFunPtr :: FunPtr (GLuint -> IO GLboolean) glIsVertexArrayOESFunPtr = unsafePerformIO (getProcAddress "glIsVertexArrayOES") {-# NOINLINE glIsVertexArrayOESFunPtr #-} pattern GL_VERTEX_ARRAY_BINDING_OES = 0x85B5