-- This file was automatically generated.
{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
module Graphics.GL.Ext.NV.VertexBufferUnifiedMemory (
  -- * Extension Support
    gl_NV_vertex_buffer_unified_memory

  -- * GL_NV_vertex_buffer_unified_memory
  , glBufferAddressRangeNV
  , glColorFormatNV
  , glEdgeFlagFormatNV
  , glFogCoordFormatNV
  , glGetIntegerui64i_vNV
  , glIndexFormatNV
  , glNormalFormatNV
  , glSecondaryColorFormatNV
  , glTexCoordFormatNV
  , glVertexAttribFormatNV
  , glVertexAttribIFormatNV
  , glVertexFormatNV
  , pattern GL_COLOR_ARRAY_ADDRESS_NV
  , pattern GL_COLOR_ARRAY_LENGTH_NV
  , pattern GL_DRAW_INDIRECT_ADDRESS_NV
  , pattern GL_DRAW_INDIRECT_LENGTH_NV
  , pattern GL_DRAW_INDIRECT_UNIFIED_NV
  , pattern GL_EDGE_FLAG_ARRAY_ADDRESS_NV
  , pattern GL_EDGE_FLAG_ARRAY_LENGTH_NV
  , pattern GL_ELEMENT_ARRAY_ADDRESS_NV
  , pattern GL_ELEMENT_ARRAY_LENGTH_NV
  , pattern GL_ELEMENT_ARRAY_UNIFIED_NV
  , pattern GL_FOG_COORD_ARRAY_ADDRESS_NV
  , pattern GL_FOG_COORD_ARRAY_LENGTH_NV
  , pattern GL_INDEX_ARRAY_ADDRESS_NV
  , pattern GL_INDEX_ARRAY_LENGTH_NV
  , pattern GL_NORMAL_ARRAY_ADDRESS_NV
  , pattern GL_NORMAL_ARRAY_LENGTH_NV
  , pattern GL_SECONDARY_COLOR_ARRAY_ADDRESS_NV
  , pattern GL_SECONDARY_COLOR_ARRAY_LENGTH_NV
  , pattern GL_TEXTURE_COORD_ARRAY_ADDRESS_NV
  , pattern GL_TEXTURE_COORD_ARRAY_LENGTH_NV
  , pattern GL_VERTEX_ARRAY_ADDRESS_NV
  , pattern GL_VERTEX_ARRAY_LENGTH_NV
  , pattern GL_VERTEX_ATTRIB_ARRAY_ADDRESS_NV
  , pattern GL_VERTEX_ATTRIB_ARRAY_LENGTH_NV
  , pattern GL_VERTEX_ATTRIB_ARRAY_UNIFIED_NV
) 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/NV/vertex_buffer_unified_memory.txt GL_NV_vertex_buffer_unified_memory> extension is available.

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

-- | Usage: @'glBufferAddressRangeNV' pname index address length@
--
-- The parameter @length@ is a @BufferSize@.


glBufferAddressRangeNV :: MonadIO m => GLenum -> GLuint -> GLuint64EXT -> GLsizeiptr -> m ()
glBufferAddressRangeNV :: GLenum -> GLenum -> GLuint64EXT -> GLsizeiptr -> m ()
glBufferAddressRangeNV = FunPtr (GLenum -> GLenum -> GLuint64EXT -> GLsizeiptr -> IO ())
-> GLenum -> GLenum -> GLuint64EXT -> GLsizeiptr -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLuint64EXT -> GLsizeiptr -> IO ())
-> GLenum -> GLenum -> GLuint64EXT -> GLsizeiptr -> m ()
ffienumuintuint64EXTsizeiptrIOV FunPtr (GLenum -> GLenum -> GLuint64EXT -> GLsizeiptr -> IO ())
glBufferAddressRangeNVFunPtr

glBufferAddressRangeNVFunPtr :: FunPtr (GLenum -> GLuint -> GLuint64EXT -> GLsizeiptr -> IO ())
glBufferAddressRangeNVFunPtr :: FunPtr (GLenum -> GLenum -> GLuint64EXT -> GLsizeiptr -> IO ())
glBufferAddressRangeNVFunPtr = IO
  (FunPtr (GLenum -> GLenum -> GLuint64EXT -> GLsizeiptr -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLuint64EXT -> GLsizeiptr -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char]
-> IO
     (FunPtr (GLenum -> GLenum -> GLuint64EXT -> GLsizeiptr -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glBufferAddressRangeNV")

{-# NOINLINE glBufferAddressRangeNVFunPtr #-}

-- | Usage: @'glColorFormatNV' size type stride@


glColorFormatNV :: MonadIO m => GLint -> GLenum -> GLsizei -> m ()
glColorFormatNV :: GLint -> GLenum -> GLint -> m ()
glColorFormatNV = FunPtr (GLint -> GLenum -> GLint -> IO ())
-> GLint -> GLenum -> GLint -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLint -> GLenum -> GLint -> IO ())
-> GLint -> GLenum -> GLint -> m ()
ffiintenumsizeiIOV FunPtr (GLint -> GLenum -> GLint -> IO ())
glColorFormatNVFunPtr

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

{-# NOINLINE glColorFormatNVFunPtr #-}

-- | Usage: @'glEdgeFlagFormatNV' stride@


glEdgeFlagFormatNV :: MonadIO m => GLsizei -> m ()
glEdgeFlagFormatNV :: GLint -> m ()
glEdgeFlagFormatNV = FunPtr (GLint -> IO ()) -> GLint -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLint -> IO ()) -> GLint -> m ()
ffisizeiIOV FunPtr (GLint -> IO ())
glEdgeFlagFormatNVFunPtr

glEdgeFlagFormatNVFunPtr :: FunPtr (GLsizei -> IO ())
glEdgeFlagFormatNVFunPtr :: FunPtr (GLint -> IO ())
glEdgeFlagFormatNVFunPtr = 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 "glEdgeFlagFormatNV")

{-# NOINLINE glEdgeFlagFormatNVFunPtr #-}

-- | Usage: @'glFogCoordFormatNV' type stride@


glFogCoordFormatNV :: MonadIO m => GLenum -> GLsizei -> m ()
glFogCoordFormatNV :: GLenum -> GLint -> m ()
glFogCoordFormatNV = FunPtr (GLenum -> GLint -> IO ()) -> GLenum -> GLint -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLint -> IO ()) -> GLenum -> GLint -> m ()
ffienumsizeiIOV FunPtr (GLenum -> GLint -> IO ())
glFogCoordFormatNVFunPtr

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

{-# NOINLINE glFogCoordFormatNVFunPtr #-}

-- | Usage: @'glGetIntegerui64i_vNV' value index result@
--
-- The length of @result@ should be @COMPSIZE(value)@.


glGetIntegerui64i_vNV :: MonadIO m => GLenum -> GLuint -> Ptr GLuint64EXT -> m ()
glGetIntegerui64i_vNV :: GLenum -> GLenum -> Ptr GLuint64EXT -> m ()
glGetIntegerui64i_vNV = FunPtr (GLenum -> GLenum -> Ptr GLuint64EXT -> IO ())
-> GLenum -> GLenum -> Ptr GLuint64EXT -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLuint64EXT -> IO ())
-> GLenum -> GLenum -> Ptr GLuint64EXT -> m ()
ffienumuintPtruint64EXTIOV FunPtr (GLenum -> GLenum -> Ptr GLuint64EXT -> IO ())
glGetIntegerui64i_vNVFunPtr

glGetIntegerui64i_vNVFunPtr :: FunPtr (GLenum -> GLuint -> Ptr GLuint64EXT -> IO ())
glGetIntegerui64i_vNVFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLuint64EXT -> IO ())
glGetIntegerui64i_vNVFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLuint64EXT -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLuint64EXT -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char]
-> IO (FunPtr (GLenum -> GLenum -> Ptr GLuint64EXT -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glGetIntegerui64i_vNV")

{-# NOINLINE glGetIntegerui64i_vNVFunPtr #-}

-- | Usage: @'glIndexFormatNV' type stride@


glIndexFormatNV :: MonadIO m => GLenum -> GLsizei -> m ()
glIndexFormatNV :: GLenum -> GLint -> m ()
glIndexFormatNV = FunPtr (GLenum -> GLint -> IO ()) -> GLenum -> GLint -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLint -> IO ()) -> GLenum -> GLint -> m ()
ffienumsizeiIOV FunPtr (GLenum -> GLint -> IO ())
glIndexFormatNVFunPtr

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

{-# NOINLINE glIndexFormatNVFunPtr #-}

-- | Usage: @'glNormalFormatNV' type stride@


glNormalFormatNV :: MonadIO m => GLenum -> GLsizei -> m ()
glNormalFormatNV :: GLenum -> GLint -> m ()
glNormalFormatNV = FunPtr (GLenum -> GLint -> IO ()) -> GLenum -> GLint -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLint -> IO ()) -> GLenum -> GLint -> m ()
ffienumsizeiIOV FunPtr (GLenum -> GLint -> IO ())
glNormalFormatNVFunPtr

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

{-# NOINLINE glNormalFormatNVFunPtr #-}

-- | Usage: @'glSecondaryColorFormatNV' size type stride@


glSecondaryColorFormatNV :: MonadIO m => GLint -> GLenum -> GLsizei -> m ()
glSecondaryColorFormatNV :: GLint -> GLenum -> GLint -> m ()
glSecondaryColorFormatNV = FunPtr (GLint -> GLenum -> GLint -> IO ())
-> GLint -> GLenum -> GLint -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLint -> GLenum -> GLint -> IO ())
-> GLint -> GLenum -> GLint -> m ()
ffiintenumsizeiIOV FunPtr (GLint -> GLenum -> GLint -> IO ())
glSecondaryColorFormatNVFunPtr

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

{-# NOINLINE glSecondaryColorFormatNVFunPtr #-}

-- | Usage: @'glTexCoordFormatNV' size type stride@


glTexCoordFormatNV :: MonadIO m => GLint -> GLenum -> GLsizei -> m ()
glTexCoordFormatNV :: GLint -> GLenum -> GLint -> m ()
glTexCoordFormatNV = FunPtr (GLint -> GLenum -> GLint -> IO ())
-> GLint -> GLenum -> GLint -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLint -> GLenum -> GLint -> IO ())
-> GLint -> GLenum -> GLint -> m ()
ffiintenumsizeiIOV FunPtr (GLint -> GLenum -> GLint -> IO ())
glTexCoordFormatNVFunPtr

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

{-# NOINLINE glTexCoordFormatNVFunPtr #-}

-- | Usage: @'glVertexAttribFormatNV' index size type normalized stride@
--
-- The parameter @normalized@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.


glVertexAttribFormatNV :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> m ()
glVertexAttribFormatNV :: GLenum -> GLint -> GLenum -> GLboolean -> GLint -> m ()
glVertexAttribFormatNV = FunPtr (GLenum -> GLint -> GLenum -> GLboolean -> GLint -> IO ())
-> GLenum -> GLint -> GLenum -> GLboolean -> GLint -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLint -> GLenum -> GLboolean -> GLint -> IO ())
-> GLenum -> GLint -> GLenum -> GLboolean -> GLint -> m ()
ffiuintintenumbooleansizeiIOV FunPtr (GLenum -> GLint -> GLenum -> GLboolean -> GLint -> IO ())
glVertexAttribFormatNVFunPtr

glVertexAttribFormatNVFunPtr :: FunPtr (GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> IO ())
glVertexAttribFormatNVFunPtr :: FunPtr (GLenum -> GLint -> GLenum -> GLboolean -> GLint -> IO ())
glVertexAttribFormatNVFunPtr = IO
  (FunPtr (GLenum -> GLint -> GLenum -> GLboolean -> GLint -> IO ()))
-> FunPtr
     (GLenum -> GLint -> GLenum -> GLboolean -> GLint -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char]
-> IO
     (FunPtr (GLenum -> GLint -> GLenum -> GLboolean -> GLint -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glVertexAttribFormatNV")

{-# NOINLINE glVertexAttribFormatNVFunPtr #-}

-- | Usage: @'glVertexAttribIFormatNV' index size type stride@


glVertexAttribIFormatNV :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> m ()
glVertexAttribIFormatNV :: GLenum -> GLint -> GLenum -> GLint -> m ()
glVertexAttribIFormatNV = FunPtr (GLenum -> GLint -> GLenum -> GLint -> IO ())
-> GLenum -> GLint -> GLenum -> GLint -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLint -> GLenum -> GLint -> IO ())
-> GLenum -> GLint -> GLenum -> GLint -> m ()
ffiuintintenumsizeiIOV FunPtr (GLenum -> GLint -> GLenum -> GLint -> IO ())
glVertexAttribIFormatNVFunPtr

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

{-# NOINLINE glVertexAttribIFormatNVFunPtr #-}

-- | Usage: @'glVertexFormatNV' size type stride@


glVertexFormatNV :: MonadIO m => GLint -> GLenum -> GLsizei -> m ()
glVertexFormatNV :: GLint -> GLenum -> GLint -> m ()
glVertexFormatNV = FunPtr (GLint -> GLenum -> GLint -> IO ())
-> GLint -> GLenum -> GLint -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLint -> GLenum -> GLint -> IO ())
-> GLint -> GLenum -> GLint -> m ()
ffiintenumsizeiIOV FunPtr (GLint -> GLenum -> GLint -> IO ())
glVertexFormatNVFunPtr

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

{-# NOINLINE glVertexFormatNVFunPtr #-}

pattern $bGL_COLOR_ARRAY_ADDRESS_NV :: a
$mGL_COLOR_ARRAY_ADDRESS_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ARRAY_ADDRESS_NV = 0x8F23

pattern $bGL_COLOR_ARRAY_LENGTH_NV :: a
$mGL_COLOR_ARRAY_LENGTH_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ARRAY_LENGTH_NV = 0x8F2D

pattern $bGL_DRAW_INDIRECT_ADDRESS_NV :: a
$mGL_DRAW_INDIRECT_ADDRESS_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DRAW_INDIRECT_ADDRESS_NV = 0x8F41

pattern $bGL_DRAW_INDIRECT_LENGTH_NV :: a
$mGL_DRAW_INDIRECT_LENGTH_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DRAW_INDIRECT_LENGTH_NV = 0x8F42

pattern $bGL_DRAW_INDIRECT_UNIFIED_NV :: a
$mGL_DRAW_INDIRECT_UNIFIED_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DRAW_INDIRECT_UNIFIED_NV = 0x8F40

pattern $bGL_EDGE_FLAG_ARRAY_ADDRESS_NV :: a
$mGL_EDGE_FLAG_ARRAY_ADDRESS_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_EDGE_FLAG_ARRAY_ADDRESS_NV = 0x8F26

pattern $bGL_EDGE_FLAG_ARRAY_LENGTH_NV :: a
$mGL_EDGE_FLAG_ARRAY_LENGTH_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_EDGE_FLAG_ARRAY_LENGTH_NV = 0x8F30

pattern $bGL_ELEMENT_ARRAY_ADDRESS_NV :: a
$mGL_ELEMENT_ARRAY_ADDRESS_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ELEMENT_ARRAY_ADDRESS_NV = 0x8F29

pattern $bGL_ELEMENT_ARRAY_LENGTH_NV :: a
$mGL_ELEMENT_ARRAY_LENGTH_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ELEMENT_ARRAY_LENGTH_NV = 0x8F33

pattern $bGL_ELEMENT_ARRAY_UNIFIED_NV :: a
$mGL_ELEMENT_ARRAY_UNIFIED_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ELEMENT_ARRAY_UNIFIED_NV = 0x8F1F

pattern $bGL_FOG_COORD_ARRAY_ADDRESS_NV :: a
$mGL_FOG_COORD_ARRAY_ADDRESS_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FOG_COORD_ARRAY_ADDRESS_NV = 0x8F28

pattern $bGL_FOG_COORD_ARRAY_LENGTH_NV :: a
$mGL_FOG_COORD_ARRAY_LENGTH_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FOG_COORD_ARRAY_LENGTH_NV = 0x8F32

pattern $bGL_INDEX_ARRAY_ADDRESS_NV :: a
$mGL_INDEX_ARRAY_ADDRESS_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INDEX_ARRAY_ADDRESS_NV = 0x8F24

pattern $bGL_INDEX_ARRAY_LENGTH_NV :: a
$mGL_INDEX_ARRAY_LENGTH_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INDEX_ARRAY_LENGTH_NV = 0x8F2E

pattern $bGL_NORMAL_ARRAY_ADDRESS_NV :: a
$mGL_NORMAL_ARRAY_ADDRESS_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_NORMAL_ARRAY_ADDRESS_NV = 0x8F22

pattern $bGL_NORMAL_ARRAY_LENGTH_NV :: a
$mGL_NORMAL_ARRAY_LENGTH_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_NORMAL_ARRAY_LENGTH_NV = 0x8F2C

pattern $bGL_SECONDARY_COLOR_ARRAY_ADDRESS_NV :: a
$mGL_SECONDARY_COLOR_ARRAY_ADDRESS_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SECONDARY_COLOR_ARRAY_ADDRESS_NV = 0x8F27

pattern $bGL_SECONDARY_COLOR_ARRAY_LENGTH_NV :: a
$mGL_SECONDARY_COLOR_ARRAY_LENGTH_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SECONDARY_COLOR_ARRAY_LENGTH_NV = 0x8F31

pattern $bGL_TEXTURE_COORD_ARRAY_ADDRESS_NV :: a
$mGL_TEXTURE_COORD_ARRAY_ADDRESS_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_COORD_ARRAY_ADDRESS_NV = 0x8F25

pattern $bGL_TEXTURE_COORD_ARRAY_LENGTH_NV :: a
$mGL_TEXTURE_COORD_ARRAY_LENGTH_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TEXTURE_COORD_ARRAY_LENGTH_NV = 0x8F2F

pattern $bGL_VERTEX_ARRAY_ADDRESS_NV :: a
$mGL_VERTEX_ARRAY_ADDRESS_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_ARRAY_ADDRESS_NV = 0x8F21

pattern $bGL_VERTEX_ARRAY_LENGTH_NV :: a
$mGL_VERTEX_ARRAY_LENGTH_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_ARRAY_LENGTH_NV = 0x8F2B

pattern $bGL_VERTEX_ATTRIB_ARRAY_ADDRESS_NV :: a
$mGL_VERTEX_ATTRIB_ARRAY_ADDRESS_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_ATTRIB_ARRAY_ADDRESS_NV = 0x8F20

pattern $bGL_VERTEX_ATTRIB_ARRAY_LENGTH_NV :: a
$mGL_VERTEX_ATTRIB_ARRAY_LENGTH_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_ATTRIB_ARRAY_LENGTH_NV = 0x8F2A

pattern $bGL_VERTEX_ATTRIB_ARRAY_UNIFIED_NV :: a
$mGL_VERTEX_ATTRIB_ARRAY_UNIFIED_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_ATTRIB_ARRAY_UNIFIED_NV = 0x8F1E