-- This file was automatically generated.
{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
module Graphics.GL.Ext.EXT.VertexArray (
  -- * Extension Support
    gl_EXT_vertex_array

  -- * GL_EXT_vertex_array
  , glArrayElementEXT
  , glColorPointerEXT
  , glDrawArraysEXT
  , glEdgeFlagPointerEXT
  , glGetPointervEXT
  , glIndexPointerEXT
  , glNormalPointerEXT
  , glTexCoordPointerEXT
  , glVertexPointerEXT
  , pattern GL_COLOR_ARRAY_COUNT_EXT
  , pattern GL_COLOR_ARRAY_EXT
  , pattern GL_COLOR_ARRAY_POINTER_EXT
  , pattern GL_COLOR_ARRAY_SIZE_EXT
  , pattern GL_COLOR_ARRAY_STRIDE_EXT
  , pattern GL_COLOR_ARRAY_TYPE_EXT
  , pattern GL_EDGE_FLAG_ARRAY_COUNT_EXT
  , pattern GL_EDGE_FLAG_ARRAY_EXT
  , pattern GL_EDGE_FLAG_ARRAY_POINTER_EXT
  , pattern GL_EDGE_FLAG_ARRAY_STRIDE_EXT
  , pattern GL_INDEX_ARRAY_COUNT_EXT
  , pattern GL_INDEX_ARRAY_EXT
  , pattern GL_INDEX_ARRAY_POINTER_EXT
  , pattern GL_INDEX_ARRAY_STRIDE_EXT
  , pattern GL_INDEX_ARRAY_TYPE_EXT
  , pattern GL_NORMAL_ARRAY_COUNT_EXT
  , pattern GL_NORMAL_ARRAY_EXT
  , pattern GL_NORMAL_ARRAY_POINTER_EXT
  , pattern GL_NORMAL_ARRAY_STRIDE_EXT
  , pattern GL_NORMAL_ARRAY_TYPE_EXT
  , pattern GL_TEXTURE_COORD_ARRAY_COUNT_EXT
  , pattern GL_TEXTURE_COORD_ARRAY_EXT
  , pattern GL_TEXTURE_COORD_ARRAY_POINTER_EXT
  , pattern GL_TEXTURE_COORD_ARRAY_SIZE_EXT
  , pattern GL_TEXTURE_COORD_ARRAY_STRIDE_EXT
  , pattern GL_TEXTURE_COORD_ARRAY_TYPE_EXT
  , pattern GL_VERTEX_ARRAY_COUNT_EXT
  , pattern GL_VERTEX_ARRAY_EXT
  , pattern GL_VERTEX_ARRAY_POINTER_EXT
  , pattern GL_VERTEX_ARRAY_SIZE_EXT
  , pattern GL_VERTEX_ARRAY_STRIDE_EXT
  , pattern GL_VERTEX_ARRAY_TYPE_EXT
) 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

-- | Checks that the <https://cvs.khronos.org/svn/repos/ogl/trunk/doc/registry/public/specs/EXT/vertex_array.txt GL_EXT_vertex_array> extension is available.

gl_EXT_vertex_array :: Bool
gl_EXT_vertex_array :: Bool
gl_EXT_vertex_array = [Char] -> Set [Char] -> Bool
forall a. Ord a => a -> Set a -> Bool
member "GL_EXT_vertex_array" Set [Char]
extensions
{-# NOINLINE gl_EXT_vertex_array #-}

-- | Usage: @'glArrayElementEXT' i@
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glArrayElement'.


glArrayElementEXT :: MonadIO m => GLint -> m ()
glArrayElementEXT :: GLint -> m ()
glArrayElementEXT = FunPtr (GLint -> IO ()) -> GLint -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLint -> IO ()) -> GLint -> m ()
ffiintIOV FunPtr (GLint -> IO ())
glArrayElementEXTFunPtr

glArrayElementEXTFunPtr :: FunPtr (GLint -> IO ())
glArrayElementEXTFunPtr :: FunPtr (GLint -> IO ())
glArrayElementEXTFunPtr = IO (FunPtr (GLint -> IO ())) -> FunPtr (GLint -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLint -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glArrayElementEXT")

{-# NOINLINE glArrayElementEXTFunPtr #-}

-- | Usage: @'glColorPointerEXT' size type stride count 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,count)@.


glColorPointerEXT :: MonadIO m => GLint -> GLenum -> GLsizei -> GLsizei -> Ptr () -> m ()
glColorPointerEXT :: GLint -> GLenum -> GLint -> GLint -> Ptr () -> m ()
glColorPointerEXT = FunPtr (GLint -> GLenum -> GLint -> GLint -> Ptr () -> IO ())
-> GLint -> GLenum -> GLint -> GLint -> Ptr () -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLint -> GLenum -> GLint -> GLint -> Ptr () -> IO ())
-> GLint -> GLenum -> GLint -> GLint -> Ptr () -> m ()
ffiintenumsizeisizeiPtrVIOV FunPtr (GLint -> GLenum -> GLint -> GLint -> Ptr () -> IO ())
glColorPointerEXTFunPtr

glColorPointerEXTFunPtr :: FunPtr (GLint -> GLenum -> GLsizei -> GLsizei -> Ptr () -> IO ())
glColorPointerEXTFunPtr :: FunPtr (GLint -> GLenum -> GLint -> GLint -> Ptr () -> IO ())
glColorPointerEXTFunPtr = IO (FunPtr (GLint -> GLenum -> GLint -> GLint -> Ptr () -> IO ()))
-> FunPtr (GLint -> GLenum -> GLint -> GLint -> Ptr () -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char]
-> IO
     (FunPtr (GLint -> GLenum -> GLint -> GLint -> Ptr () -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glColorPointerEXT")

{-# NOINLINE glColorPointerEXTFunPtr #-}

-- | Usage: @'glDrawArraysEXT' 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'.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glDrawArrays'.


glDrawArraysEXT :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()
glDrawArraysEXT :: GLenum -> GLint -> GLint -> m ()
glDrawArraysEXT = FunPtr (GLenum -> GLint -> GLint -> IO ())
-> GLenum -> GLint -> GLint -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLint -> GLint -> IO ())
-> GLenum -> GLint -> GLint -> m ()
ffienumintsizeiIOV FunPtr (GLenum -> GLint -> GLint -> IO ())
glDrawArraysEXTFunPtr

glDrawArraysEXTFunPtr :: FunPtr (GLenum -> GLint -> GLsizei -> IO ())
glDrawArraysEXTFunPtr :: FunPtr (GLenum -> GLint -> GLint -> IO ())
glDrawArraysEXTFunPtr = IO (FunPtr (GLenum -> GLint -> GLint -> IO ()))
-> FunPtr (GLenum -> GLint -> GLint -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLenum -> GLint -> GLint -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glDrawArraysEXT")

{-# NOINLINE glDrawArraysEXTFunPtr #-}

-- | Usage: @'glEdgeFlagPointerEXT' stride count pointer@
--
-- The parameter @pointer@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @pointer@ should be @COMPSIZE(stride,count)@.


glEdgeFlagPointerEXT :: MonadIO m => GLsizei -> GLsizei -> Ptr GLboolean -> m ()
glEdgeFlagPointerEXT :: GLint -> GLint -> Ptr GLboolean -> m ()
glEdgeFlagPointerEXT = FunPtr (GLint -> GLint -> Ptr GLboolean -> IO ())
-> GLint -> GLint -> Ptr GLboolean -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLint -> GLint -> Ptr GLboolean -> IO ())
-> GLint -> GLint -> Ptr GLboolean -> m ()
ffisizeisizeiPtrbooleanIOV FunPtr (GLint -> GLint -> Ptr GLboolean -> IO ())
glEdgeFlagPointerEXTFunPtr

glEdgeFlagPointerEXTFunPtr :: FunPtr (GLsizei -> GLsizei -> Ptr GLboolean -> IO ())
glEdgeFlagPointerEXTFunPtr :: FunPtr (GLint -> GLint -> Ptr GLboolean -> IO ())
glEdgeFlagPointerEXTFunPtr = IO (FunPtr (GLint -> GLint -> Ptr GLboolean -> IO ()))
-> FunPtr (GLint -> GLint -> Ptr GLboolean -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLint -> GLint -> Ptr GLboolean -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glEdgeFlagPointerEXT")

{-# NOINLINE glEdgeFlagPointerEXTFunPtr #-}

-- | Usage: @'glGetPointervEXT' 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@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glGetPointerv'.


glGetPointervEXT :: MonadIO m => GLenum -> Ptr (Ptr ()) -> m ()
glGetPointervEXT :: GLenum -> Ptr (Ptr ()) -> m ()
glGetPointervEXT = 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 ())
glGetPointervEXTFunPtr

glGetPointervEXTFunPtr :: FunPtr (GLenum -> Ptr (Ptr ()) -> IO ())
glGetPointervEXTFunPtr :: FunPtr (GLenum -> Ptr (Ptr ()) -> IO ())
glGetPointervEXTFunPtr = IO (FunPtr (GLenum -> Ptr (Ptr ()) -> IO ()))
-> FunPtr (GLenum -> Ptr (Ptr ()) -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLenum -> Ptr (Ptr ()) -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glGetPointervEXT")

{-# NOINLINE glGetPointervEXTFunPtr #-}

-- | Usage: @'glIndexPointerEXT' type stride count 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,count)@.


glIndexPointerEXT :: MonadIO m => GLenum -> GLsizei -> GLsizei -> Ptr () -> m ()
glIndexPointerEXT :: GLenum -> GLint -> GLint -> Ptr () -> m ()
glIndexPointerEXT = FunPtr (GLenum -> GLint -> GLint -> Ptr () -> IO ())
-> GLenum -> GLint -> GLint -> Ptr () -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLint -> GLint -> Ptr () -> IO ())
-> GLenum -> GLint -> GLint -> Ptr () -> m ()
ffienumsizeisizeiPtrVIOV FunPtr (GLenum -> GLint -> GLint -> Ptr () -> IO ())
glIndexPointerEXTFunPtr

glIndexPointerEXTFunPtr :: FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr () -> IO ())
glIndexPointerEXTFunPtr :: FunPtr (GLenum -> GLint -> GLint -> Ptr () -> IO ())
glIndexPointerEXTFunPtr = IO (FunPtr (GLenum -> GLint -> GLint -> Ptr () -> IO ()))
-> FunPtr (GLenum -> GLint -> GLint -> Ptr () -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLenum -> GLint -> GLint -> Ptr () -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glIndexPointerEXT")

{-# NOINLINE glIndexPointerEXTFunPtr #-}

-- | Usage: @'glNormalPointerEXT' type stride count 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,count)@.


glNormalPointerEXT :: MonadIO m => GLenum -> GLsizei -> GLsizei -> Ptr () -> m ()
glNormalPointerEXT :: GLenum -> GLint -> GLint -> Ptr () -> m ()
glNormalPointerEXT = FunPtr (GLenum -> GLint -> GLint -> Ptr () -> IO ())
-> GLenum -> GLint -> GLint -> Ptr () -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLint -> GLint -> Ptr () -> IO ())
-> GLenum -> GLint -> GLint -> Ptr () -> m ()
ffienumsizeisizeiPtrVIOV FunPtr (GLenum -> GLint -> GLint -> Ptr () -> IO ())
glNormalPointerEXTFunPtr

glNormalPointerEXTFunPtr :: FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr () -> IO ())
glNormalPointerEXTFunPtr :: FunPtr (GLenum -> GLint -> GLint -> Ptr () -> IO ())
glNormalPointerEXTFunPtr = IO (FunPtr (GLenum -> GLint -> GLint -> Ptr () -> IO ()))
-> FunPtr (GLenum -> GLint -> GLint -> Ptr () -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLenum -> GLint -> GLint -> Ptr () -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glNormalPointerEXT")

{-# NOINLINE glNormalPointerEXTFunPtr #-}

-- | Usage: @'glTexCoordPointerEXT' size type stride count 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,count)@.


glTexCoordPointerEXT :: MonadIO m => GLint -> GLenum -> GLsizei -> GLsizei -> Ptr () -> m ()
glTexCoordPointerEXT :: GLint -> GLenum -> GLint -> GLint -> Ptr () -> m ()
glTexCoordPointerEXT = FunPtr (GLint -> GLenum -> GLint -> GLint -> Ptr () -> IO ())
-> GLint -> GLenum -> GLint -> GLint -> Ptr () -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLint -> GLenum -> GLint -> GLint -> Ptr () -> IO ())
-> GLint -> GLenum -> GLint -> GLint -> Ptr () -> m ()
ffiintenumsizeisizeiPtrVIOV FunPtr (GLint -> GLenum -> GLint -> GLint -> Ptr () -> IO ())
glTexCoordPointerEXTFunPtr

glTexCoordPointerEXTFunPtr :: FunPtr (GLint -> GLenum -> GLsizei -> GLsizei -> Ptr () -> IO ())
glTexCoordPointerEXTFunPtr :: FunPtr (GLint -> GLenum -> GLint -> GLint -> Ptr () -> IO ())
glTexCoordPointerEXTFunPtr = IO (FunPtr (GLint -> GLenum -> GLint -> GLint -> Ptr () -> IO ()))
-> FunPtr (GLint -> GLenum -> GLint -> GLint -> Ptr () -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char]
-> IO
     (FunPtr (GLint -> GLenum -> GLint -> GLint -> Ptr () -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glTexCoordPointerEXT")

{-# NOINLINE glTexCoordPointerEXTFunPtr #-}

-- | Usage: @'glVertexPointerEXT' size type stride count 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,count)@.


glVertexPointerEXT :: MonadIO m => GLint -> GLenum -> GLsizei -> GLsizei -> Ptr () -> m ()
glVertexPointerEXT :: GLint -> GLenum -> GLint -> GLint -> Ptr () -> m ()
glVertexPointerEXT = FunPtr (GLint -> GLenum -> GLint -> GLint -> Ptr () -> IO ())
-> GLint -> GLenum -> GLint -> GLint -> Ptr () -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLint -> GLenum -> GLint -> GLint -> Ptr () -> IO ())
-> GLint -> GLenum -> GLint -> GLint -> Ptr () -> m ()
ffiintenumsizeisizeiPtrVIOV FunPtr (GLint -> GLenum -> GLint -> GLint -> Ptr () -> IO ())
glVertexPointerEXTFunPtr

glVertexPointerEXTFunPtr :: FunPtr (GLint -> GLenum -> GLsizei -> GLsizei -> Ptr () -> IO ())
glVertexPointerEXTFunPtr :: FunPtr (GLint -> GLenum -> GLint -> GLint -> Ptr () -> IO ())
glVertexPointerEXTFunPtr = IO (FunPtr (GLint -> GLenum -> GLint -> GLint -> Ptr () -> IO ()))
-> FunPtr (GLint -> GLenum -> GLint -> GLint -> Ptr () -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char]
-> IO
     (FunPtr (GLint -> GLenum -> GLint -> GLint -> Ptr () -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glVertexPointerEXT")

{-# NOINLINE glVertexPointerEXTFunPtr #-}

pattern $bGL_COLOR_ARRAY_COUNT_EXT :: a
$mGL_COLOR_ARRAY_COUNT_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ARRAY_COUNT_EXT = 0x8084

pattern $bGL_COLOR_ARRAY_EXT :: a
$mGL_COLOR_ARRAY_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ARRAY_EXT = 0x8076

pattern $bGL_COLOR_ARRAY_POINTER_EXT :: a
$mGL_COLOR_ARRAY_POINTER_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ARRAY_POINTER_EXT = 0x8090

pattern $bGL_COLOR_ARRAY_SIZE_EXT :: a
$mGL_COLOR_ARRAY_SIZE_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ARRAY_SIZE_EXT = 0x8081

pattern $bGL_COLOR_ARRAY_STRIDE_EXT :: a
$mGL_COLOR_ARRAY_STRIDE_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ARRAY_STRIDE_EXT = 0x8083

pattern $bGL_COLOR_ARRAY_TYPE_EXT :: a
$mGL_COLOR_ARRAY_TYPE_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ARRAY_TYPE_EXT = 0x8082

pattern $bGL_EDGE_FLAG_ARRAY_COUNT_EXT :: a
$mGL_EDGE_FLAG_ARRAY_COUNT_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_EDGE_FLAG_ARRAY_COUNT_EXT = 0x808D

pattern $bGL_EDGE_FLAG_ARRAY_EXT :: a
$mGL_EDGE_FLAG_ARRAY_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_EDGE_FLAG_ARRAY_EXT = 0x8079

pattern $bGL_EDGE_FLAG_ARRAY_POINTER_EXT :: a
$mGL_EDGE_FLAG_ARRAY_POINTER_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_EDGE_FLAG_ARRAY_POINTER_EXT = 0x8093

pattern $bGL_EDGE_FLAG_ARRAY_STRIDE_EXT :: a
$mGL_EDGE_FLAG_ARRAY_STRIDE_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_EDGE_FLAG_ARRAY_STRIDE_EXT = 0x808C

pattern $bGL_INDEX_ARRAY_COUNT_EXT :: a
$mGL_INDEX_ARRAY_COUNT_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INDEX_ARRAY_COUNT_EXT = 0x8087

pattern $bGL_INDEX_ARRAY_EXT :: a
$mGL_INDEX_ARRAY_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INDEX_ARRAY_EXT = 0x8077

pattern $bGL_INDEX_ARRAY_POINTER_EXT :: a
$mGL_INDEX_ARRAY_POINTER_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INDEX_ARRAY_POINTER_EXT = 0x8091

pattern $bGL_INDEX_ARRAY_STRIDE_EXT :: a
$mGL_INDEX_ARRAY_STRIDE_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INDEX_ARRAY_STRIDE_EXT = 0x8086

pattern $bGL_INDEX_ARRAY_TYPE_EXT :: a
$mGL_INDEX_ARRAY_TYPE_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INDEX_ARRAY_TYPE_EXT = 0x8085

pattern $bGL_NORMAL_ARRAY_COUNT_EXT :: a
$mGL_NORMAL_ARRAY_COUNT_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_NORMAL_ARRAY_COUNT_EXT = 0x8080

pattern $bGL_NORMAL_ARRAY_EXT :: a
$mGL_NORMAL_ARRAY_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_NORMAL_ARRAY_EXT = 0x8075

pattern $bGL_NORMAL_ARRAY_POINTER_EXT :: a
$mGL_NORMAL_ARRAY_POINTER_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_NORMAL_ARRAY_POINTER_EXT = 0x808F

pattern $bGL_NORMAL_ARRAY_STRIDE_EXT :: a
$mGL_NORMAL_ARRAY_STRIDE_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_NORMAL_ARRAY_STRIDE_EXT = 0x807F

pattern $bGL_NORMAL_ARRAY_TYPE_EXT :: a
$mGL_NORMAL_ARRAY_TYPE_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_NORMAL_ARRAY_TYPE_EXT = 0x807E

pattern $bGL_TEXTURE_COORD_ARRAY_COUNT_EXT :: a
$mGL_TEXTURE_COORD_ARRAY_COUNT_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_COORD_ARRAY_COUNT_EXT = 0x808B

pattern $bGL_TEXTURE_COORD_ARRAY_EXT :: a
$mGL_TEXTURE_COORD_ARRAY_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_COORD_ARRAY_EXT = 0x8078

pattern $bGL_TEXTURE_COORD_ARRAY_POINTER_EXT :: a
$mGL_TEXTURE_COORD_ARRAY_POINTER_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_COORD_ARRAY_POINTER_EXT = 0x8092

pattern $bGL_TEXTURE_COORD_ARRAY_SIZE_EXT :: a
$mGL_TEXTURE_COORD_ARRAY_SIZE_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_COORD_ARRAY_SIZE_EXT = 0x8088

pattern $bGL_TEXTURE_COORD_ARRAY_STRIDE_EXT :: a
$mGL_TEXTURE_COORD_ARRAY_STRIDE_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_COORD_ARRAY_STRIDE_EXT = 0x808A

pattern $bGL_TEXTURE_COORD_ARRAY_TYPE_EXT :: a
$mGL_TEXTURE_COORD_ARRAY_TYPE_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_COORD_ARRAY_TYPE_EXT = 0x8089

pattern $bGL_VERTEX_ARRAY_COUNT_EXT :: a
$mGL_VERTEX_ARRAY_COUNT_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_ARRAY_COUNT_EXT = 0x807D

pattern $bGL_VERTEX_ARRAY_EXT :: a
$mGL_VERTEX_ARRAY_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_ARRAY_EXT = 0x8074

pattern $bGL_VERTEX_ARRAY_POINTER_EXT :: a
$mGL_VERTEX_ARRAY_POINTER_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_ARRAY_POINTER_EXT = 0x808E

pattern $bGL_VERTEX_ARRAY_SIZE_EXT :: a
$mGL_VERTEX_ARRAY_SIZE_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_ARRAY_SIZE_EXT = 0x807A

pattern $bGL_VERTEX_ARRAY_STRIDE_EXT :: a
$mGL_VERTEX_ARRAY_STRIDE_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_ARRAY_STRIDE_EXT = 0x807C

pattern $bGL_VERTEX_ARRAY_TYPE_EXT :: a
$mGL_VERTEX_ARRAY_TYPE_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_ARRAY_TYPE_EXT = 0x807B