-- This file was automatically generated.
{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
module Graphics.GL.Raw.Extension.ATI.VertexAttribArrayObject (
  -- * Extension Support
    gl_ATI_vertex_attrib_array_object

  -- * GL_ATI_vertex_attrib_array_object
  , glGetVertexAttribArrayObjectfvATI
  , glGetVertexAttribArrayObjectivATI
  , glVertexAttribArrayObjectATI
) 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_ATI_vertex_attrib_array_object :: Bool
gl_ATI_vertex_attrib_array_object = member "GL_ATI_vertex_attrib_array_object" extensions

glGetVertexAttribArrayObjectfvATI :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()
glGetVertexAttribArrayObjectfvATI = ffiuintenumPtrfloatIOV glGetVertexAttribArrayObjectfvATIFunPtr

glGetVertexAttribArrayObjectfvATIFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
glGetVertexAttribArrayObjectfvATIFunPtr = unsafePerformIO (getProcAddress "glGetVertexAttribArrayObjectfvATI")

{-# NOINLINE glGetVertexAttribArrayObjectfvATIFunPtr #-}

glGetVertexAttribArrayObjectivATI :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetVertexAttribArrayObjectivATI = ffiuintenumPtrintIOV glGetVertexAttribArrayObjectivATIFunPtr

glGetVertexAttribArrayObjectivATIFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
glGetVertexAttribArrayObjectivATIFunPtr = unsafePerformIO (getProcAddress "glGetVertexAttribArrayObjectivATI")

{-# NOINLINE glGetVertexAttribArrayObjectivATIFunPtr #-}

glVertexAttribArrayObjectATI :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> GLuint -> GLuint -> m ()
glVertexAttribArrayObjectATI = ffiuintintenumbooleansizeiuintuintIOV glVertexAttribArrayObjectATIFunPtr

glVertexAttribArrayObjectATIFunPtr :: FunPtr (GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> GLuint -> GLuint -> IO ())
glVertexAttribArrayObjectATIFunPtr = unsafePerformIO (getProcAddress "glVertexAttribArrayObjectATI")

{-# NOINLINE glVertexAttribArrayObjectATIFunPtr #-}