-- This file was automatically generated.
{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
module Graphics.GL.Raw.Extension.IBM.VertexArrayLists (
  -- * Extension Support
    gl_IBM_vertex_array_lists

  -- * GL_IBM_vertex_array_lists
  , glColorPointerListIBM
  , glEdgeFlagPointerListIBM
  , glFogCoordPointerListIBM
  , glIndexPointerListIBM
  , glNormalPointerListIBM
  , glSecondaryColorPointerListIBM
  , glTexCoordPointerListIBM
  , glVertexPointerListIBM
  , pattern GL_COLOR_ARRAY_LIST_IBM
  , pattern GL_COLOR_ARRAY_LIST_STRIDE_IBM
  , pattern GL_EDGE_FLAG_ARRAY_LIST_IBM
  , pattern GL_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM
  , pattern GL_FOG_COORDINATE_ARRAY_LIST_IBM
  , pattern GL_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM
  , pattern GL_INDEX_ARRAY_LIST_IBM
  , pattern GL_INDEX_ARRAY_LIST_STRIDE_IBM
  , pattern GL_NORMAL_ARRAY_LIST_IBM
  , pattern GL_NORMAL_ARRAY_LIST_STRIDE_IBM
  , pattern GL_SECONDARY_COLOR_ARRAY_LIST_IBM
  , pattern GL_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM
  , pattern GL_TEXTURE_COORD_ARRAY_LIST_IBM
  , pattern GL_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM
  , pattern GL_VERTEX_ARRAY_LIST_IBM
  , pattern GL_VERTEX_ARRAY_LIST_STRIDE_IBM
) 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_IBM_vertex_array_lists :: Bool
gl_IBM_vertex_array_lists = member "GL_IBM_vertex_array_lists" extensions

glColorPointerListIBM :: MonadIO m => GLint -> GLenum -> GLint -> Ptr () -> GLint -> m ()
glColorPointerListIBM = ffiintenumintPtrVintIOV glColorPointerListIBMFunPtr

glColorPointerListIBMFunPtr :: FunPtr (GLint -> GLenum -> GLint -> Ptr () -> GLint -> IO ())
glColorPointerListIBMFunPtr = unsafePerformIO (getProcAddress "glColorPointerListIBM")

{-# NOINLINE glColorPointerListIBMFunPtr #-}

glEdgeFlagPointerListIBM :: MonadIO m => GLint -> Ptr GLboolean -> GLint -> m ()
glEdgeFlagPointerListIBM = ffiintPtrbooleanintIOV glEdgeFlagPointerListIBMFunPtr

glEdgeFlagPointerListIBMFunPtr :: FunPtr (GLint -> Ptr GLboolean -> GLint -> IO ())
glEdgeFlagPointerListIBMFunPtr = unsafePerformIO (getProcAddress "glEdgeFlagPointerListIBM")

{-# NOINLINE glEdgeFlagPointerListIBMFunPtr #-}

glFogCoordPointerListIBM :: MonadIO m => GLenum -> GLint -> Ptr () -> GLint -> m ()
glFogCoordPointerListIBM = ffienumintPtrVintIOV glFogCoordPointerListIBMFunPtr

glFogCoordPointerListIBMFunPtr :: FunPtr (GLenum -> GLint -> Ptr () -> GLint -> IO ())
glFogCoordPointerListIBMFunPtr = unsafePerformIO (getProcAddress "glFogCoordPointerListIBM")

{-# NOINLINE glFogCoordPointerListIBMFunPtr #-}

glIndexPointerListIBM :: MonadIO m => GLenum -> GLint -> Ptr () -> GLint -> m ()
glIndexPointerListIBM = ffienumintPtrVintIOV glIndexPointerListIBMFunPtr

glIndexPointerListIBMFunPtr :: FunPtr (GLenum -> GLint -> Ptr () -> GLint -> IO ())
glIndexPointerListIBMFunPtr = unsafePerformIO (getProcAddress "glIndexPointerListIBM")

{-# NOINLINE glIndexPointerListIBMFunPtr #-}

glNormalPointerListIBM :: MonadIO m => GLenum -> GLint -> Ptr () -> GLint -> m ()
glNormalPointerListIBM = ffienumintPtrVintIOV glNormalPointerListIBMFunPtr

glNormalPointerListIBMFunPtr :: FunPtr (GLenum -> GLint -> Ptr () -> GLint -> IO ())
glNormalPointerListIBMFunPtr = unsafePerformIO (getProcAddress "glNormalPointerListIBM")

{-# NOINLINE glNormalPointerListIBMFunPtr #-}

glSecondaryColorPointerListIBM :: MonadIO m => GLint -> GLenum -> GLint -> Ptr () -> GLint -> m ()
glSecondaryColorPointerListIBM = ffiintenumintPtrVintIOV glSecondaryColorPointerListIBMFunPtr

glSecondaryColorPointerListIBMFunPtr :: FunPtr (GLint -> GLenum -> GLint -> Ptr () -> GLint -> IO ())
glSecondaryColorPointerListIBMFunPtr = unsafePerformIO (getProcAddress "glSecondaryColorPointerListIBM")

{-# NOINLINE glSecondaryColorPointerListIBMFunPtr #-}

glTexCoordPointerListIBM :: MonadIO m => GLint -> GLenum -> GLint -> Ptr () -> GLint -> m ()
glTexCoordPointerListIBM = ffiintenumintPtrVintIOV glTexCoordPointerListIBMFunPtr

glTexCoordPointerListIBMFunPtr :: FunPtr (GLint -> GLenum -> GLint -> Ptr () -> GLint -> IO ())
glTexCoordPointerListIBMFunPtr = unsafePerformIO (getProcAddress "glTexCoordPointerListIBM")

{-# NOINLINE glTexCoordPointerListIBMFunPtr #-}

glVertexPointerListIBM :: MonadIO m => GLint -> GLenum -> GLint -> Ptr () -> GLint -> m ()
glVertexPointerListIBM = ffiintenumintPtrVintIOV glVertexPointerListIBMFunPtr

glVertexPointerListIBMFunPtr :: FunPtr (GLint -> GLenum -> GLint -> Ptr () -> GLint -> IO ())
glVertexPointerListIBMFunPtr = unsafePerformIO (getProcAddress "glVertexPointerListIBM")

{-# NOINLINE glVertexPointerListIBMFunPtr #-}

pattern GL_COLOR_ARRAY_LIST_IBM = 103072 :: GLenum

pattern GL_COLOR_ARRAY_LIST_STRIDE_IBM = 103082 :: GLenum

pattern GL_EDGE_FLAG_ARRAY_LIST_IBM = 103075 :: GLenum

pattern GL_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM = 103085 :: GLenum

pattern GL_FOG_COORDINATE_ARRAY_LIST_IBM = 103076 :: GLenum

pattern GL_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM = 103086 :: GLenum

pattern GL_INDEX_ARRAY_LIST_IBM = 103073 :: GLenum

pattern GL_INDEX_ARRAY_LIST_STRIDE_IBM = 103083 :: GLenum

pattern GL_NORMAL_ARRAY_LIST_IBM = 103071 :: GLenum

pattern GL_NORMAL_ARRAY_LIST_STRIDE_IBM = 103081 :: GLenum

pattern GL_SECONDARY_COLOR_ARRAY_LIST_IBM = 103077 :: GLenum

pattern GL_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM = 103087 :: GLenum

pattern GL_TEXTURE_COORD_ARRAY_LIST_IBM = 103074 :: GLenum

pattern GL_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM = 103084 :: GLenum

pattern GL_VERTEX_ARRAY_LIST_IBM = 103070 :: GLenum

pattern GL_VERTEX_ARRAY_LIST_STRIDE_IBM = 103080 :: GLenum