-- This file was automatically generated.
{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
module Graphics.GL.Ext.ARB.VertexBlend (
  -- * Extension Support
    gl_ARB_vertex_blend

  -- * GL_ARB_vertex_blend
  , glVertexBlendARB
  , glWeightPointerARB
  , glWeightbvARB
  , glWeightdvARB
  , glWeightfvARB
  , glWeightivARB
  , glWeightsvARB
  , glWeightubvARB
  , glWeightuivARB
  , glWeightusvARB
  , pattern GL_ACTIVE_VERTEX_UNITS_ARB
  , pattern GL_CURRENT_WEIGHT_ARB
  , pattern GL_MAX_VERTEX_UNITS_ARB
  , pattern GL_MODELVIEW0_ARB
  , pattern GL_MODELVIEW10_ARB
  , pattern GL_MODELVIEW11_ARB
  , pattern GL_MODELVIEW12_ARB
  , pattern GL_MODELVIEW13_ARB
  , pattern GL_MODELVIEW14_ARB
  , pattern GL_MODELVIEW15_ARB
  , pattern GL_MODELVIEW16_ARB
  , pattern GL_MODELVIEW17_ARB
  , pattern GL_MODELVIEW18_ARB
  , pattern GL_MODELVIEW19_ARB
  , pattern GL_MODELVIEW1_ARB
  , pattern GL_MODELVIEW20_ARB
  , pattern GL_MODELVIEW21_ARB
  , pattern GL_MODELVIEW22_ARB
  , pattern GL_MODELVIEW23_ARB
  , pattern GL_MODELVIEW24_ARB
  , pattern GL_MODELVIEW25_ARB
  , pattern GL_MODELVIEW26_ARB
  , pattern GL_MODELVIEW27_ARB
  , pattern GL_MODELVIEW28_ARB
  , pattern GL_MODELVIEW29_ARB
  , pattern GL_MODELVIEW2_ARB
  , pattern GL_MODELVIEW30_ARB
  , pattern GL_MODELVIEW31_ARB
  , pattern GL_MODELVIEW3_ARB
  , pattern GL_MODELVIEW4_ARB
  , pattern GL_MODELVIEW5_ARB
  , pattern GL_MODELVIEW6_ARB
  , pattern GL_MODELVIEW7_ARB
  , pattern GL_MODELVIEW8_ARB
  , pattern GL_MODELVIEW9_ARB
  , pattern GL_VERTEX_BLEND_ARB
  , pattern GL_WEIGHT_ARRAY_ARB
  , pattern GL_WEIGHT_ARRAY_POINTER_ARB
  , pattern GL_WEIGHT_ARRAY_SIZE_ARB
  , pattern GL_WEIGHT_ARRAY_STRIDE_ARB
  , pattern GL_WEIGHT_ARRAY_TYPE_ARB
  , pattern GL_WEIGHT_SUM_UNITY_ARB
) 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/ARB/vertex_blend.txt GL_ARB_vertex_blend> extension is available.

gl_ARB_vertex_blend :: Bool
gl_ARB_vertex_blend :: Bool
gl_ARB_vertex_blend = String -> Set String -> Bool
forall a. Ord a => a -> Set a -> Bool
member String
"GL_ARB_vertex_blend" Set String
extensions
{-# NOINLINE gl_ARB_vertex_blend #-}

-- | Usage: @'glVertexBlendARB' count@


glVertexBlendARB :: MonadIO m => GLint -> m ()
glVertexBlendARB :: forall (m :: * -> *). MonadIO m => GLint -> m ()
glVertexBlendARB = FunPtr (GLint -> IO ()) -> GLint -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLint -> IO ()) -> GLint -> m ()
ffiintIOV FunPtr (GLint -> IO ())
glVertexBlendARBFunPtr

glVertexBlendARBFunPtr :: FunPtr (GLint -> IO ())
glVertexBlendARBFunPtr :: FunPtr (GLint -> IO ())
glVertexBlendARBFunPtr = IO (FunPtr (GLint -> IO ())) -> FunPtr (GLint -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLint -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glVertexBlendARB")

{-# NOINLINE glVertexBlendARBFunPtr #-}

-- | Usage: @'glWeightPointerARB' size type stride pointer@
--
-- The parameter @type@ is a @WeightPointerTypeARB@.
--
-- The length of @pointer@ should be @COMPSIZE(type,stride)@.


glWeightPointerARB :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr () -> m ()
glWeightPointerARB :: forall (m :: * -> *).
MonadIO m =>
GLint -> GLenum -> GLint -> Ptr () -> m ()
glWeightPointerARB = FunPtr (GLint -> GLenum -> GLint -> Ptr () -> IO ())
-> GLint -> GLenum -> GLint -> Ptr () -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLint -> GLenum -> GLint -> Ptr () -> IO ())
-> GLint -> GLenum -> GLint -> Ptr () -> m ()
ffiintenumsizeiPtrVIOV FunPtr (GLint -> GLenum -> GLint -> Ptr () -> IO ())
glWeightPointerARBFunPtr

glWeightPointerARBFunPtr :: FunPtr (GLint -> GLenum -> GLsizei -> Ptr () -> IO ())
glWeightPointerARBFunPtr :: FunPtr (GLint -> GLenum -> GLint -> Ptr () -> IO ())
glWeightPointerARBFunPtr = IO (FunPtr (GLint -> GLenum -> GLint -> Ptr () -> IO ()))
-> FunPtr (GLint -> GLenum -> GLint -> Ptr () -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLint -> GLenum -> GLint -> Ptr () -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glWeightPointerARB")

{-# NOINLINE glWeightPointerARBFunPtr #-}

-- | Usage: @'glWeightbvARB' size weights@
--
-- The length of @weights@ should be @size@.


glWeightbvARB :: MonadIO m => GLint -> Ptr GLbyte -> m ()
glWeightbvARB :: forall (m :: * -> *). MonadIO m => GLint -> Ptr GLbyte -> m ()
glWeightbvARB = FunPtr (GLint -> Ptr GLbyte -> IO ())
-> GLint -> Ptr GLbyte -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLint -> Ptr GLbyte -> IO ())
-> GLint -> Ptr GLbyte -> m ()
ffiintPtrbyteIOV FunPtr (GLint -> Ptr GLbyte -> IO ())
glWeightbvARBFunPtr

glWeightbvARBFunPtr :: FunPtr (GLint -> Ptr GLbyte -> IO ())
glWeightbvARBFunPtr :: FunPtr (GLint -> Ptr GLbyte -> IO ())
glWeightbvARBFunPtr = IO (FunPtr (GLint -> Ptr GLbyte -> IO ()))
-> FunPtr (GLint -> Ptr GLbyte -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLint -> Ptr GLbyte -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glWeightbvARB")

{-# NOINLINE glWeightbvARBFunPtr #-}

-- | Usage: @'glWeightdvARB' size weights@
--
-- The length of @weights@ should be @size@.


glWeightdvARB :: MonadIO m => GLint -> Ptr GLdouble -> m ()
glWeightdvARB :: forall (m :: * -> *). MonadIO m => GLint -> Ptr GLdouble -> m ()
glWeightdvARB = FunPtr (GLint -> Ptr GLdouble -> IO ())
-> GLint -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLint -> Ptr GLdouble -> IO ())
-> GLint -> Ptr GLdouble -> m ()
ffiintPtrdoubleIOV FunPtr (GLint -> Ptr GLdouble -> IO ())
glWeightdvARBFunPtr

glWeightdvARBFunPtr :: FunPtr (GLint -> Ptr GLdouble -> IO ())
glWeightdvARBFunPtr :: FunPtr (GLint -> Ptr GLdouble -> IO ())
glWeightdvARBFunPtr = IO (FunPtr (GLint -> Ptr GLdouble -> IO ()))
-> FunPtr (GLint -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLint -> Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glWeightdvARB")

{-# NOINLINE glWeightdvARBFunPtr #-}

-- | Usage: @'glWeightfvARB' size weights@
--
-- The length of @weights@ should be @size@.


glWeightfvARB :: MonadIO m => GLint -> Ptr GLfloat -> m ()
glWeightfvARB :: forall (m :: * -> *). MonadIO m => GLint -> Ptr GLfloat -> m ()
glWeightfvARB = FunPtr (GLint -> Ptr GLfloat -> IO ())
-> GLint -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLint -> Ptr GLfloat -> IO ())
-> GLint -> Ptr GLfloat -> m ()
ffiintPtrfloatIOV FunPtr (GLint -> Ptr GLfloat -> IO ())
glWeightfvARBFunPtr

glWeightfvARBFunPtr :: FunPtr (GLint -> Ptr GLfloat -> IO ())
glWeightfvARBFunPtr :: FunPtr (GLint -> Ptr GLfloat -> IO ())
glWeightfvARBFunPtr = IO (FunPtr (GLint -> Ptr GLfloat -> IO ()))
-> FunPtr (GLint -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLint -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glWeightfvARB")

{-# NOINLINE glWeightfvARBFunPtr #-}

-- | Usage: @'glWeightivARB' size weights@
--
-- The length of @weights@ should be @size@.


glWeightivARB :: MonadIO m => GLint -> Ptr GLint -> m ()
glWeightivARB :: forall (m :: * -> *). MonadIO m => GLint -> Ptr GLint -> m ()
glWeightivARB = FunPtr (GLint -> Ptr GLint -> IO ()) -> GLint -> Ptr GLint -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLint -> Ptr GLint -> IO ()) -> GLint -> Ptr GLint -> m ()
ffiintPtrintIOV FunPtr (GLint -> Ptr GLint -> IO ())
glWeightivARBFunPtr

glWeightivARBFunPtr :: FunPtr (GLint -> Ptr GLint -> IO ())
glWeightivARBFunPtr :: FunPtr (GLint -> Ptr GLint -> IO ())
glWeightivARBFunPtr = IO (FunPtr (GLint -> Ptr GLint -> IO ()))
-> FunPtr (GLint -> Ptr GLint -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLint -> Ptr GLint -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glWeightivARB")

{-# NOINLINE glWeightivARBFunPtr #-}

-- | Usage: @'glWeightsvARB' size weights@
--
-- The length of @weights@ should be @size@.


glWeightsvARB :: MonadIO m => GLint -> Ptr GLshort -> m ()
glWeightsvARB :: forall (m :: * -> *). MonadIO m => GLint -> Ptr GLshort -> m ()
glWeightsvARB = FunPtr (GLint -> Ptr GLshort -> IO ())
-> GLint -> Ptr GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLint -> Ptr GLshort -> IO ())
-> GLint -> Ptr GLshort -> m ()
ffiintPtrshortIOV FunPtr (GLint -> Ptr GLshort -> IO ())
glWeightsvARBFunPtr

glWeightsvARBFunPtr :: FunPtr (GLint -> Ptr GLshort -> IO ())
glWeightsvARBFunPtr :: FunPtr (GLint -> Ptr GLshort -> IO ())
glWeightsvARBFunPtr = IO (FunPtr (GLint -> Ptr GLshort -> IO ()))
-> FunPtr (GLint -> Ptr GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLint -> Ptr GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glWeightsvARB")

{-# NOINLINE glWeightsvARBFunPtr #-}

-- | Usage: @'glWeightubvARB' size weights@
--
-- The length of @weights@ should be @size@.


glWeightubvARB :: MonadIO m => GLint -> Ptr GLubyte -> m ()
glWeightubvARB :: forall (m :: * -> *). MonadIO m => GLint -> Ptr GLubyte -> m ()
glWeightubvARB = FunPtr (GLint -> Ptr GLubyte -> IO ())
-> GLint -> Ptr GLubyte -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLint -> Ptr GLubyte -> IO ())
-> GLint -> Ptr GLubyte -> m ()
ffiintPtrubyteIOV FunPtr (GLint -> Ptr GLubyte -> IO ())
glWeightubvARBFunPtr

glWeightubvARBFunPtr :: FunPtr (GLint -> Ptr GLubyte -> IO ())
glWeightubvARBFunPtr :: FunPtr (GLint -> Ptr GLubyte -> IO ())
glWeightubvARBFunPtr = IO (FunPtr (GLint -> Ptr GLubyte -> IO ()))
-> FunPtr (GLint -> Ptr GLubyte -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLint -> Ptr GLubyte -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glWeightubvARB")

{-# NOINLINE glWeightubvARBFunPtr #-}

-- | Usage: @'glWeightuivARB' size weights@
--
-- The length of @weights@ should be @size@.


glWeightuivARB :: MonadIO m => GLint -> Ptr GLuint -> m ()
glWeightuivARB :: forall (m :: * -> *). MonadIO m => GLint -> Ptr GLenum -> m ()
glWeightuivARB = FunPtr (GLint -> Ptr GLenum -> IO ())
-> GLint -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLint -> Ptr GLenum -> IO ())
-> GLint -> Ptr GLenum -> m ()
ffiintPtruintIOV FunPtr (GLint -> Ptr GLenum -> IO ())
glWeightuivARBFunPtr

glWeightuivARBFunPtr :: FunPtr (GLint -> Ptr GLuint -> IO ())
glWeightuivARBFunPtr :: FunPtr (GLint -> Ptr GLenum -> IO ())
glWeightuivARBFunPtr = IO (FunPtr (GLint -> Ptr GLenum -> IO ()))
-> FunPtr (GLint -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLint -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glWeightuivARB")

{-# NOINLINE glWeightuivARBFunPtr #-}

-- | Usage: @'glWeightusvARB' size weights@
--
-- The length of @weights@ should be @size@.


glWeightusvARB :: MonadIO m => GLint -> Ptr GLushort -> m ()
glWeightusvARB :: forall (m :: * -> *). MonadIO m => GLint -> Ptr GLushort -> m ()
glWeightusvARB = FunPtr (GLint -> Ptr GLushort -> IO ())
-> GLint -> Ptr GLushort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLint -> Ptr GLushort -> IO ())
-> GLint -> Ptr GLushort -> m ()
ffiintPtrushortIOV FunPtr (GLint -> Ptr GLushort -> IO ())
glWeightusvARBFunPtr

glWeightusvARBFunPtr :: FunPtr (GLint -> Ptr GLushort -> IO ())
glWeightusvARBFunPtr :: FunPtr (GLint -> Ptr GLushort -> IO ())
glWeightusvARBFunPtr = IO (FunPtr (GLint -> Ptr GLushort -> IO ()))
-> FunPtr (GLint -> Ptr GLushort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLint -> Ptr GLushort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glWeightusvARB")

{-# NOINLINE glWeightusvARBFunPtr #-}

pattern GL_ACTIVE_VERTEX_UNITS_ARB  :: (Eq a, Num a) => a

pattern $mGL_ACTIVE_VERTEX_UNITS_ARB :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_ACTIVE_VERTEX_UNITS_ARB :: forall a. (Eq a, Num a) => a
GL_ACTIVE_VERTEX_UNITS_ARB = 0x86A5

pattern GL_CURRENT_WEIGHT_ARB  :: (Eq a, Num a) => a

pattern $mGL_CURRENT_WEIGHT_ARB :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_CURRENT_WEIGHT_ARB :: forall a. (Eq a, Num a) => a
GL_CURRENT_WEIGHT_ARB = 0x86A8

pattern GL_MAX_VERTEX_UNITS_ARB  :: (Eq a, Num a) => a

pattern $mGL_MAX_VERTEX_UNITS_ARB :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_MAX_VERTEX_UNITS_ARB :: forall a. (Eq a, Num a) => a
GL_MAX_VERTEX_UNITS_ARB = 0x86A4

pattern GL_MODELVIEW0_ARB  :: (Eq a, Num a) => a

pattern $mGL_MODELVIEW0_ARB :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_MODELVIEW0_ARB :: forall a. (Eq a, Num a) => a
GL_MODELVIEW0_ARB = 0x1700

pattern GL_MODELVIEW10_ARB  :: (Eq a, Num a) => a

pattern $mGL_MODELVIEW10_ARB :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_MODELVIEW10_ARB :: forall a. (Eq a, Num a) => a
GL_MODELVIEW10_ARB = 0x872A

pattern GL_MODELVIEW11_ARB  :: (Eq a, Num a) => a

pattern $mGL_MODELVIEW11_ARB :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_MODELVIEW11_ARB :: forall a. (Eq a, Num a) => a
GL_MODELVIEW11_ARB = 0x872B

pattern GL_MODELVIEW12_ARB  :: (Eq a, Num a) => a

pattern $mGL_MODELVIEW12_ARB :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_MODELVIEW12_ARB :: forall a. (Eq a, Num a) => a
GL_MODELVIEW12_ARB = 0x872C

pattern GL_MODELVIEW13_ARB  :: (Eq a, Num a) => a

pattern $mGL_MODELVIEW13_ARB :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_MODELVIEW13_ARB :: forall a. (Eq a, Num a) => a
GL_MODELVIEW13_ARB = 0x872D

pattern GL_MODELVIEW14_ARB  :: (Eq a, Num a) => a

pattern $mGL_MODELVIEW14_ARB :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_MODELVIEW14_ARB :: forall a. (Eq a, Num a) => a
GL_MODELVIEW14_ARB = 0x872E

pattern GL_MODELVIEW15_ARB  :: (Eq a, Num a) => a

pattern $mGL_MODELVIEW15_ARB :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_MODELVIEW15_ARB :: forall a. (Eq a, Num a) => a
GL_MODELVIEW15_ARB = 0x872F

pattern GL_MODELVIEW16_ARB  :: (Eq a, Num a) => a

pattern $mGL_MODELVIEW16_ARB :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_MODELVIEW16_ARB :: forall a. (Eq a, Num a) => a
GL_MODELVIEW16_ARB = 0x8730

pattern GL_MODELVIEW17_ARB  :: (Eq a, Num a) => a

pattern $mGL_MODELVIEW17_ARB :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_MODELVIEW17_ARB :: forall a. (Eq a, Num a) => a
GL_MODELVIEW17_ARB = 0x8731

pattern GL_MODELVIEW18_ARB  :: (Eq a, Num a) => a

pattern $mGL_MODELVIEW18_ARB :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_MODELVIEW18_ARB :: forall a. (Eq a, Num a) => a
GL_MODELVIEW18_ARB = 0x8732

pattern GL_MODELVIEW19_ARB  :: (Eq a, Num a) => a

pattern $mGL_MODELVIEW19_ARB :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_MODELVIEW19_ARB :: forall a. (Eq a, Num a) => a
GL_MODELVIEW19_ARB = 0x8733

pattern GL_MODELVIEW1_ARB  :: (Eq a, Num a) => a

pattern $mGL_MODELVIEW1_ARB :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_MODELVIEW1_ARB :: forall a. (Eq a, Num a) => a
GL_MODELVIEW1_ARB = 0x850A

pattern GL_MODELVIEW20_ARB  :: (Eq a, Num a) => a

pattern $mGL_MODELVIEW20_ARB :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_MODELVIEW20_ARB :: forall a. (Eq a, Num a) => a
GL_MODELVIEW20_ARB = 0x8734

pattern GL_MODELVIEW21_ARB  :: (Eq a, Num a) => a

pattern $mGL_MODELVIEW21_ARB :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_MODELVIEW21_ARB :: forall a. (Eq a, Num a) => a
GL_MODELVIEW21_ARB = 0x8735

pattern GL_MODELVIEW22_ARB  :: (Eq a, Num a) => a

pattern $mGL_MODELVIEW22_ARB :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_MODELVIEW22_ARB :: forall a. (Eq a, Num a) => a
GL_MODELVIEW22_ARB = 0x8736

pattern GL_MODELVIEW23_ARB  :: (Eq a, Num a) => a

pattern $mGL_MODELVIEW23_ARB :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_MODELVIEW23_ARB :: forall a. (Eq a, Num a) => a
GL_MODELVIEW23_ARB = 0x8737

pattern GL_MODELVIEW24_ARB  :: (Eq a, Num a) => a

pattern $mGL_MODELVIEW24_ARB :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_MODELVIEW24_ARB :: forall a. (Eq a, Num a) => a
GL_MODELVIEW24_ARB = 0x8738

pattern GL_MODELVIEW25_ARB  :: (Eq a, Num a) => a

pattern $mGL_MODELVIEW25_ARB :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_MODELVIEW25_ARB :: forall a. (Eq a, Num a) => a
GL_MODELVIEW25_ARB = 0x8739

pattern GL_MODELVIEW26_ARB  :: (Eq a, Num a) => a

pattern $mGL_MODELVIEW26_ARB :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_MODELVIEW26_ARB :: forall a. (Eq a, Num a) => a
GL_MODELVIEW26_ARB = 0x873A

pattern GL_MODELVIEW27_ARB  :: (Eq a, Num a) => a

pattern $mGL_MODELVIEW27_ARB :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_MODELVIEW27_ARB :: forall a. (Eq a, Num a) => a
GL_MODELVIEW27_ARB = 0x873B

pattern GL_MODELVIEW28_ARB  :: (Eq a, Num a) => a

pattern $mGL_MODELVIEW28_ARB :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_MODELVIEW28_ARB :: forall a. (Eq a, Num a) => a
GL_MODELVIEW28_ARB = 0x873C

pattern GL_MODELVIEW29_ARB  :: (Eq a, Num a) => a

pattern $mGL_MODELVIEW29_ARB :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_MODELVIEW29_ARB :: forall a. (Eq a, Num a) => a
GL_MODELVIEW29_ARB = 0x873D

pattern GL_MODELVIEW2_ARB  :: (Eq a, Num a) => a

pattern $mGL_MODELVIEW2_ARB :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_MODELVIEW2_ARB :: forall a. (Eq a, Num a) => a
GL_MODELVIEW2_ARB = 0x8722

pattern GL_MODELVIEW30_ARB  :: (Eq a, Num a) => a

pattern $mGL_MODELVIEW30_ARB :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_MODELVIEW30_ARB :: forall a. (Eq a, Num a) => a
GL_MODELVIEW30_ARB = 0x873E

pattern GL_MODELVIEW31_ARB  :: (Eq a, Num a) => a

pattern $mGL_MODELVIEW31_ARB :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_MODELVIEW31_ARB :: forall a. (Eq a, Num a) => a
GL_MODELVIEW31_ARB = 0x873F

pattern GL_MODELVIEW3_ARB  :: (Eq a, Num a) => a

pattern $mGL_MODELVIEW3_ARB :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_MODELVIEW3_ARB :: forall a. (Eq a, Num a) => a
GL_MODELVIEW3_ARB = 0x8723

pattern GL_MODELVIEW4_ARB  :: (Eq a, Num a) => a

pattern $mGL_MODELVIEW4_ARB :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_MODELVIEW4_ARB :: forall a. (Eq a, Num a) => a
GL_MODELVIEW4_ARB = 0x8724

pattern GL_MODELVIEW5_ARB  :: (Eq a, Num a) => a

pattern $mGL_MODELVIEW5_ARB :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_MODELVIEW5_ARB :: forall a. (Eq a, Num a) => a
GL_MODELVIEW5_ARB = 0x8725

pattern GL_MODELVIEW6_ARB  :: (Eq a, Num a) => a

pattern $mGL_MODELVIEW6_ARB :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_MODELVIEW6_ARB :: forall a. (Eq a, Num a) => a
GL_MODELVIEW6_ARB = 0x8726

pattern GL_MODELVIEW7_ARB  :: (Eq a, Num a) => a

pattern $mGL_MODELVIEW7_ARB :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_MODELVIEW7_ARB :: forall a. (Eq a, Num a) => a
GL_MODELVIEW7_ARB = 0x8727

pattern GL_MODELVIEW8_ARB  :: (Eq a, Num a) => a

pattern $mGL_MODELVIEW8_ARB :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_MODELVIEW8_ARB :: forall a. (Eq a, Num a) => a
GL_MODELVIEW8_ARB = 0x8728

pattern GL_MODELVIEW9_ARB  :: (Eq a, Num a) => a

pattern $mGL_MODELVIEW9_ARB :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_MODELVIEW9_ARB :: forall a. (Eq a, Num a) => a
GL_MODELVIEW9_ARB = 0x8729

pattern GL_VERTEX_BLEND_ARB  :: (Eq a, Num a) => a

pattern $mGL_VERTEX_BLEND_ARB :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_VERTEX_BLEND_ARB :: forall a. (Eq a, Num a) => a
GL_VERTEX_BLEND_ARB = 0x86A7

pattern GL_WEIGHT_ARRAY_ARB  :: (Eq a, Num a) => a

pattern $mGL_WEIGHT_ARRAY_ARB :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_WEIGHT_ARRAY_ARB :: forall a. (Eq a, Num a) => a
GL_WEIGHT_ARRAY_ARB = 0x86AD

pattern GL_WEIGHT_ARRAY_POINTER_ARB  :: (Eq a, Num a) => a

pattern $mGL_WEIGHT_ARRAY_POINTER_ARB :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_WEIGHT_ARRAY_POINTER_ARB :: forall a. (Eq a, Num a) => a
GL_WEIGHT_ARRAY_POINTER_ARB = 0x86AC

pattern GL_WEIGHT_ARRAY_SIZE_ARB  :: (Eq a, Num a) => a

pattern $mGL_WEIGHT_ARRAY_SIZE_ARB :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_WEIGHT_ARRAY_SIZE_ARB :: forall a. (Eq a, Num a) => a
GL_WEIGHT_ARRAY_SIZE_ARB = 0x86AB

pattern GL_WEIGHT_ARRAY_STRIDE_ARB  :: (Eq a, Num a) => a

pattern $mGL_WEIGHT_ARRAY_STRIDE_ARB :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_WEIGHT_ARRAY_STRIDE_ARB :: forall a. (Eq a, Num a) => a
GL_WEIGHT_ARRAY_STRIDE_ARB = 0x86AA

pattern GL_WEIGHT_ARRAY_TYPE_ARB  :: (Eq a, Num a) => a

pattern $mGL_WEIGHT_ARRAY_TYPE_ARB :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_WEIGHT_ARRAY_TYPE_ARB :: forall a. (Eq a, Num a) => a
GL_WEIGHT_ARRAY_TYPE_ARB = 0x86A9

pattern GL_WEIGHT_SUM_UNITY_ARB  :: (Eq a, Num a) => a

pattern $mGL_WEIGHT_SUM_UNITY_ARB :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_WEIGHT_SUM_UNITY_ARB :: forall a. (Eq a, Num a) => a
GL_WEIGHT_SUM_UNITY_ARB = 0x86A6