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

  -- * GL_EXT_vertex_shader
  , glBeginVertexShaderEXT
  , glBindLightParameterEXT
  , glBindMaterialParameterEXT
  , glBindParameterEXT
  , glBindTexGenParameterEXT
  , glBindTextureUnitParameterEXT
  , glBindVertexShaderEXT
  , glDeleteVertexShaderEXT
  , glDisableVariantClientStateEXT
  , glEnableVariantClientStateEXT
  , glEndVertexShaderEXT
  , glExtractComponentEXT
  , glGenSymbolsEXT
  , glGenVertexShadersEXT
  , glGetInvariantBooleanvEXT
  , glGetInvariantFloatvEXT
  , glGetInvariantIntegervEXT
  , glGetLocalConstantBooleanvEXT
  , glGetLocalConstantFloatvEXT
  , glGetLocalConstantIntegervEXT
  , glGetVariantBooleanvEXT
  , glGetVariantFloatvEXT
  , glGetVariantIntegervEXT
  , glGetVariantPointervEXT
  , glInsertComponentEXT
  , glIsVariantEnabledEXT
  , glSetInvariantEXT
  , glSetLocalConstantEXT
  , glShaderOp1EXT
  , glShaderOp2EXT
  , glShaderOp3EXT
  , glSwizzleEXT
  , glVariantPointerEXT
  , glVariantbvEXT
  , glVariantdvEXT
  , glVariantfvEXT
  , glVariantivEXT
  , glVariantsvEXT
  , glVariantubvEXT
  , glVariantuivEXT
  , glVariantusvEXT
  , glWriteMaskEXT
  , pattern GL_CURRENT_VERTEX_EXT
  , pattern GL_FULL_RANGE_EXT
  , pattern GL_INVARIANT_DATATYPE_EXT
  , pattern GL_INVARIANT_EXT
  , pattern GL_INVARIANT_VALUE_EXT
  , pattern GL_LOCAL_CONSTANT_DATATYPE_EXT
  , pattern GL_LOCAL_CONSTANT_EXT
  , pattern GL_LOCAL_CONSTANT_VALUE_EXT
  , pattern GL_LOCAL_EXT
  , pattern GL_MATRIX_EXT
  , pattern GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT
  , pattern GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT
  , pattern GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT
  , pattern GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT
  , pattern GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT
  , pattern GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT
  , pattern GL_MAX_VERTEX_SHADER_INVARIANTS_EXT
  , pattern GL_MAX_VERTEX_SHADER_LOCALS_EXT
  , pattern GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT
  , pattern GL_MAX_VERTEX_SHADER_VARIANTS_EXT
  , pattern GL_MVP_MATRIX_EXT
  , pattern GL_NEGATIVE_ONE_EXT
  , pattern GL_NEGATIVE_W_EXT
  , pattern GL_NEGATIVE_X_EXT
  , pattern GL_NEGATIVE_Y_EXT
  , pattern GL_NEGATIVE_Z_EXT
  , pattern GL_NORMALIZED_RANGE_EXT
  , pattern GL_ONE_EXT
  , pattern GL_OP_ADD_EXT
  , pattern GL_OP_CLAMP_EXT
  , pattern GL_OP_CROSS_PRODUCT_EXT
  , pattern GL_OP_DOT3_EXT
  , pattern GL_OP_DOT4_EXT
  , pattern GL_OP_EXP_BASE_2_EXT
  , pattern GL_OP_FLOOR_EXT
  , pattern GL_OP_FRAC_EXT
  , pattern GL_OP_INDEX_EXT
  , pattern GL_OP_LOG_BASE_2_EXT
  , pattern GL_OP_MADD_EXT
  , pattern GL_OP_MAX_EXT
  , pattern GL_OP_MIN_EXT
  , pattern GL_OP_MOV_EXT
  , pattern GL_OP_MULTIPLY_MATRIX_EXT
  , pattern GL_OP_MUL_EXT
  , pattern GL_OP_NEGATE_EXT
  , pattern GL_OP_POWER_EXT
  , pattern GL_OP_RECIP_EXT
  , pattern GL_OP_RECIP_SQRT_EXT
  , pattern GL_OP_ROUND_EXT
  , pattern GL_OP_SET_GE_EXT
  , pattern GL_OP_SET_LT_EXT
  , pattern GL_OP_SUB_EXT
  , pattern GL_OUTPUT_COLOR0_EXT
  , pattern GL_OUTPUT_COLOR1_EXT
  , pattern GL_OUTPUT_FOG_EXT
  , pattern GL_OUTPUT_TEXTURE_COORD0_EXT
  , pattern GL_OUTPUT_TEXTURE_COORD10_EXT
  , pattern GL_OUTPUT_TEXTURE_COORD11_EXT
  , pattern GL_OUTPUT_TEXTURE_COORD12_EXT
  , pattern GL_OUTPUT_TEXTURE_COORD13_EXT
  , pattern GL_OUTPUT_TEXTURE_COORD14_EXT
  , pattern GL_OUTPUT_TEXTURE_COORD15_EXT
  , pattern GL_OUTPUT_TEXTURE_COORD16_EXT
  , pattern GL_OUTPUT_TEXTURE_COORD17_EXT
  , pattern GL_OUTPUT_TEXTURE_COORD18_EXT
  , pattern GL_OUTPUT_TEXTURE_COORD19_EXT
  , pattern GL_OUTPUT_TEXTURE_COORD1_EXT
  , pattern GL_OUTPUT_TEXTURE_COORD20_EXT
  , pattern GL_OUTPUT_TEXTURE_COORD21_EXT
  , pattern GL_OUTPUT_TEXTURE_COORD22_EXT
  , pattern GL_OUTPUT_TEXTURE_COORD23_EXT
  , pattern GL_OUTPUT_TEXTURE_COORD24_EXT
  , pattern GL_OUTPUT_TEXTURE_COORD25_EXT
  , pattern GL_OUTPUT_TEXTURE_COORD26_EXT
  , pattern GL_OUTPUT_TEXTURE_COORD27_EXT
  , pattern GL_OUTPUT_TEXTURE_COORD28_EXT
  , pattern GL_OUTPUT_TEXTURE_COORD29_EXT
  , pattern GL_OUTPUT_TEXTURE_COORD2_EXT
  , pattern GL_OUTPUT_TEXTURE_COORD30_EXT
  , pattern GL_OUTPUT_TEXTURE_COORD31_EXT
  , pattern GL_OUTPUT_TEXTURE_COORD3_EXT
  , pattern GL_OUTPUT_TEXTURE_COORD4_EXT
  , pattern GL_OUTPUT_TEXTURE_COORD5_EXT
  , pattern GL_OUTPUT_TEXTURE_COORD6_EXT
  , pattern GL_OUTPUT_TEXTURE_COORD7_EXT
  , pattern GL_OUTPUT_TEXTURE_COORD8_EXT
  , pattern GL_OUTPUT_TEXTURE_COORD9_EXT
  , pattern GL_OUTPUT_VERTEX_EXT
  , pattern GL_SCALAR_EXT
  , pattern GL_VARIANT_ARRAY_EXT
  , pattern GL_VARIANT_ARRAY_POINTER_EXT
  , pattern GL_VARIANT_ARRAY_STRIDE_EXT
  , pattern GL_VARIANT_ARRAY_TYPE_EXT
  , pattern GL_VARIANT_DATATYPE_EXT
  , pattern GL_VARIANT_EXT
  , pattern GL_VARIANT_VALUE_EXT
  , pattern GL_VECTOR_EXT
  , pattern GL_VERTEX_SHADER_BINDING_EXT
  , pattern GL_VERTEX_SHADER_EXT
  , pattern GL_VERTEX_SHADER_INSTRUCTIONS_EXT
  , pattern GL_VERTEX_SHADER_INVARIANTS_EXT
  , pattern GL_VERTEX_SHADER_LOCALS_EXT
  , pattern GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT
  , pattern GL_VERTEX_SHADER_OPTIMIZED_EXT
  , pattern GL_VERTEX_SHADER_VARIANTS_EXT
  , pattern GL_W_EXT
  , pattern GL_X_EXT
  , pattern GL_Y_EXT
  , pattern GL_ZERO_EXT
  , pattern GL_Z_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_shader.txt GL_EXT_vertex_shader> extension is available.

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

-- | Usage: @'glBeginVertexShaderEXT'@


glBeginVertexShaderEXT :: MonadIO m => m ()
glBeginVertexShaderEXT :: forall (m :: * -> *). MonadIO m => m ()
glBeginVertexShaderEXT = FunPtr (IO ()) -> m ()
forall (m :: * -> *). MonadIO m => FunPtr (IO ()) -> m ()
ffiIOV FunPtr (IO ())
glBeginVertexShaderEXTFunPtr

glBeginVertexShaderEXTFunPtr :: FunPtr (IO ())
glBeginVertexShaderEXTFunPtr :: FunPtr (IO ())
glBeginVertexShaderEXTFunPtr = IO (FunPtr (IO ())) -> FunPtr (IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glBeginVertexShaderEXT")

{-# NOINLINE glBeginVertexShaderEXTFunPtr #-}

-- | Usage: @'glBindLightParameterEXT' light value@
--
-- The parameter @light@ is a @LightName@, one of: 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT0_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT1_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT2_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT3_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT4_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT5_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT6_SGIX', 'Graphics.GL.Ext.SGIX.FragmentLighting.GL_FRAGMENT_LIGHT7_SGIX', 'Graphics.GL.Internal.Shared.GL_LIGHT0', 'Graphics.GL.Internal.Shared.GL_LIGHT1', 'Graphics.GL.Internal.Shared.GL_LIGHT2', 'Graphics.GL.Internal.Shared.GL_LIGHT3', 'Graphics.GL.Internal.Shared.GL_LIGHT4', 'Graphics.GL.Internal.Shared.GL_LIGHT5', 'Graphics.GL.Internal.Shared.GL_LIGHT6', 'Graphics.GL.Internal.Shared.GL_LIGHT7'.
--
-- The parameter @value@ is a @LightParameter@, one of: 'Graphics.GL.Internal.Shared.GL_AMBIENT', 'Graphics.GL.Internal.Shared.GL_CONSTANT_ATTENUATION', 'Graphics.GL.Internal.Shared.GL_DIFFUSE', 'Graphics.GL.Internal.Shared.GL_LINEAR_ATTENUATION', 'Graphics.GL.Internal.Shared.GL_POSITION', 'Graphics.GL.Internal.Shared.GL_QUADRATIC_ATTENUATION', 'Graphics.GL.Internal.Shared.GL_SPECULAR', 'Graphics.GL.Internal.Shared.GL_SPOT_CUTOFF', 'Graphics.GL.Internal.Shared.GL_SPOT_DIRECTION', 'Graphics.GL.Internal.Shared.GL_SPOT_EXPONENT'.


glBindLightParameterEXT :: MonadIO m => GLenum -> GLenum -> m GLuint
glBindLightParameterEXT :: forall (m :: * -> *). MonadIO m => GLenum -> GLenum -> m GLenum
glBindLightParameterEXT = FunPtr (GLenum -> GLenum -> IO GLenum)
-> GLenum -> GLenum -> m GLenum
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO GLenum)
-> GLenum -> GLenum -> m GLenum
ffienumenumIOuint FunPtr (GLenum -> GLenum -> IO GLenum)
glBindLightParameterEXTFunPtr

glBindLightParameterEXTFunPtr :: FunPtr (GLenum -> GLenum -> IO GLuint)
glBindLightParameterEXTFunPtr :: FunPtr (GLenum -> GLenum -> IO GLenum)
glBindLightParameterEXTFunPtr = IO (FunPtr (GLenum -> GLenum -> IO GLenum))
-> FunPtr (GLenum -> GLenum -> IO GLenum)
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO GLenum))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glBindLightParameterEXT")

{-# NOINLINE glBindLightParameterEXTFunPtr #-}

-- | Usage: @'glBindMaterialParameterEXT' face value@
--
-- The parameter @face@ is a @MaterialFace@, one of: 'Graphics.GL.Internal.Shared.GL_BACK', 'Graphics.GL.Internal.Shared.GL_FRONT', 'Graphics.GL.Internal.Shared.GL_FRONT_AND_BACK'.
--
-- The parameter @value@ is a @MaterialParameter@, one of: 'Graphics.GL.Internal.Shared.GL_AMBIENT', 'Graphics.GL.Internal.Shared.GL_AMBIENT_AND_DIFFUSE', 'Graphics.GL.Internal.Shared.GL_COLOR_INDEXES', 'Graphics.GL.Internal.Shared.GL_DIFFUSE', 'Graphics.GL.Internal.Shared.GL_EMISSION', 'Graphics.GL.Internal.Shared.GL_SHININESS', 'Graphics.GL.Internal.Shared.GL_SPECULAR'.


glBindMaterialParameterEXT :: MonadIO m => GLenum -> GLenum -> m GLuint
glBindMaterialParameterEXT :: forall (m :: * -> *). MonadIO m => GLenum -> GLenum -> m GLenum
glBindMaterialParameterEXT = FunPtr (GLenum -> GLenum -> IO GLenum)
-> GLenum -> GLenum -> m GLenum
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO GLenum)
-> GLenum -> GLenum -> m GLenum
ffienumenumIOuint FunPtr (GLenum -> GLenum -> IO GLenum)
glBindMaterialParameterEXTFunPtr

glBindMaterialParameterEXTFunPtr :: FunPtr (GLenum -> GLenum -> IO GLuint)
glBindMaterialParameterEXTFunPtr :: FunPtr (GLenum -> GLenum -> IO GLenum)
glBindMaterialParameterEXTFunPtr = IO (FunPtr (GLenum -> GLenum -> IO GLenum))
-> FunPtr (GLenum -> GLenum -> IO GLenum)
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO GLenum))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glBindMaterialParameterEXT")

{-# NOINLINE glBindMaterialParameterEXTFunPtr #-}

-- | Usage: @'glBindParameterEXT' value@
--
-- The parameter @value@ is a @VertexShaderParameterEXT@.


glBindParameterEXT :: MonadIO m => GLenum -> m GLuint
glBindParameterEXT :: forall (m :: * -> *). MonadIO m => GLenum -> m GLenum
glBindParameterEXT = FunPtr (GLenum -> IO GLenum) -> GLenum -> m GLenum
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO GLenum) -> GLenum -> m GLenum
ffienumIOuint FunPtr (GLenum -> IO GLenum)
glBindParameterEXTFunPtr

glBindParameterEXTFunPtr :: FunPtr (GLenum -> IO GLuint)
glBindParameterEXTFunPtr :: FunPtr (GLenum -> IO GLenum)
glBindParameterEXTFunPtr = IO (FunPtr (GLenum -> IO GLenum)) -> FunPtr (GLenum -> IO GLenum)
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO GLenum))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glBindParameterEXT")

{-# NOINLINE glBindParameterEXTFunPtr #-}

-- | Usage: @'glBindTexGenParameterEXT' unit coord value@
--
-- The parameter @unit@ is a @TextureUnit@.
--
-- The parameter @coord@ is a @TextureCoordName@, one of: 'Graphics.GL.Internal.Shared.GL_S', 'Graphics.GL.Internal.Shared.GL_T', 'Graphics.GL.Internal.Shared.GL_R', 'Graphics.GL.Internal.Shared.GL_Q'.
--
-- The parameter @value@ is a @TextureGenParameter@, one of: 'Graphics.GL.Ext.SGIS.PointLineTexgen.GL_EYE_LINE_SGIS', 'Graphics.GL.Internal.Shared.GL_EYE_PLANE', 'Graphics.GL.Ext.SGIS.PointLineTexgen.GL_EYE_POINT_SGIS', 'Graphics.GL.Ext.SGIS.PointLineTexgen.GL_OBJECT_LINE_SGIS', 'Graphics.GL.Internal.Shared.GL_OBJECT_PLANE', 'Graphics.GL.Ext.SGIS.PointLineTexgen.GL_OBJECT_POINT_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_GEN_MODE'.


glBindTexGenParameterEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> m GLuint
glBindTexGenParameterEXT :: forall (m :: * -> *).
MonadIO m =>
GLenum -> GLenum -> GLenum -> m GLenum
glBindTexGenParameterEXT = FunPtr (GLenum -> GLenum -> GLenum -> IO GLenum)
-> GLenum -> GLenum -> GLenum -> m GLenum
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> IO GLenum)
-> GLenum -> GLenum -> GLenum -> m GLenum
ffienumenumenumIOuint FunPtr (GLenum -> GLenum -> GLenum -> IO GLenum)
glBindTexGenParameterEXTFunPtr

glBindTexGenParameterEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> IO GLuint)
glBindTexGenParameterEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> IO GLenum)
glBindTexGenParameterEXTFunPtr = IO (FunPtr (GLenum -> GLenum -> GLenum -> IO GLenum))
-> FunPtr (GLenum -> GLenum -> GLenum -> IO GLenum)
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> GLenum -> IO GLenum))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glBindTexGenParameterEXT")

{-# NOINLINE glBindTexGenParameterEXTFunPtr #-}

-- | Usage: @'glBindTextureUnitParameterEXT' unit value@
--
-- The parameter @unit@ is a @TextureUnit@.
--
-- The parameter @value@ is a @VertexShaderTextureUnitParameter@.


glBindTextureUnitParameterEXT :: MonadIO m => GLenum -> GLenum -> m GLuint
glBindTextureUnitParameterEXT :: forall (m :: * -> *). MonadIO m => GLenum -> GLenum -> m GLenum
glBindTextureUnitParameterEXT = FunPtr (GLenum -> GLenum -> IO GLenum)
-> GLenum -> GLenum -> m GLenum
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO GLenum)
-> GLenum -> GLenum -> m GLenum
ffienumenumIOuint FunPtr (GLenum -> GLenum -> IO GLenum)
glBindTextureUnitParameterEXTFunPtr

glBindTextureUnitParameterEXTFunPtr :: FunPtr (GLenum -> GLenum -> IO GLuint)
glBindTextureUnitParameterEXTFunPtr :: FunPtr (GLenum -> GLenum -> IO GLenum)
glBindTextureUnitParameterEXTFunPtr = IO (FunPtr (GLenum -> GLenum -> IO GLenum))
-> FunPtr (GLenum -> GLenum -> IO GLenum)
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO GLenum))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glBindTextureUnitParameterEXT")

{-# NOINLINE glBindTextureUnitParameterEXTFunPtr #-}

-- | Usage: @'glBindVertexShaderEXT' id@


glBindVertexShaderEXT :: MonadIO m => GLuint -> m ()
glBindVertexShaderEXT :: forall (m :: * -> *). MonadIO m => GLenum -> m ()
glBindVertexShaderEXT = FunPtr (GLenum -> IO ()) -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO ()) -> GLenum -> m ()
ffiuintIOV FunPtr (GLenum -> IO ())
glBindVertexShaderEXTFunPtr

glBindVertexShaderEXTFunPtr :: FunPtr (GLuint -> IO ())
glBindVertexShaderEXTFunPtr :: FunPtr (GLenum -> IO ())
glBindVertexShaderEXTFunPtr = IO (FunPtr (GLenum -> IO ())) -> FunPtr (GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glBindVertexShaderEXT")

{-# NOINLINE glBindVertexShaderEXTFunPtr #-}

-- | Usage: @'glDeleteVertexShaderEXT' id@


glDeleteVertexShaderEXT :: MonadIO m => GLuint -> m ()
glDeleteVertexShaderEXT :: forall (m :: * -> *). MonadIO m => GLenum -> m ()
glDeleteVertexShaderEXT = FunPtr (GLenum -> IO ()) -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO ()) -> GLenum -> m ()
ffiuintIOV FunPtr (GLenum -> IO ())
glDeleteVertexShaderEXTFunPtr

glDeleteVertexShaderEXTFunPtr :: FunPtr (GLuint -> IO ())
glDeleteVertexShaderEXTFunPtr :: FunPtr (GLenum -> IO ())
glDeleteVertexShaderEXTFunPtr = IO (FunPtr (GLenum -> IO ())) -> FunPtr (GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glDeleteVertexShaderEXT")

{-# NOINLINE glDeleteVertexShaderEXTFunPtr #-}

-- | Usage: @'glDisableVariantClientStateEXT' id@


glDisableVariantClientStateEXT :: MonadIO m => GLuint -> m ()
glDisableVariantClientStateEXT :: forall (m :: * -> *). MonadIO m => GLenum -> m ()
glDisableVariantClientStateEXT = FunPtr (GLenum -> IO ()) -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO ()) -> GLenum -> m ()
ffiuintIOV FunPtr (GLenum -> IO ())
glDisableVariantClientStateEXTFunPtr

glDisableVariantClientStateEXTFunPtr :: FunPtr (GLuint -> IO ())
glDisableVariantClientStateEXTFunPtr :: FunPtr (GLenum -> IO ())
glDisableVariantClientStateEXTFunPtr = IO (FunPtr (GLenum -> IO ())) -> FunPtr (GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glDisableVariantClientStateEXT")

{-# NOINLINE glDisableVariantClientStateEXTFunPtr #-}

-- | Usage: @'glEnableVariantClientStateEXT' id@


glEnableVariantClientStateEXT :: MonadIO m => GLuint -> m ()
glEnableVariantClientStateEXT :: forall (m :: * -> *). MonadIO m => GLenum -> m ()
glEnableVariantClientStateEXT = FunPtr (GLenum -> IO ()) -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO ()) -> GLenum -> m ()
ffiuintIOV FunPtr (GLenum -> IO ())
glEnableVariantClientStateEXTFunPtr

glEnableVariantClientStateEXTFunPtr :: FunPtr (GLuint -> IO ())
glEnableVariantClientStateEXTFunPtr :: FunPtr (GLenum -> IO ())
glEnableVariantClientStateEXTFunPtr = IO (FunPtr (GLenum -> IO ())) -> FunPtr (GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glEnableVariantClientStateEXT")

{-# NOINLINE glEnableVariantClientStateEXTFunPtr #-}

-- | Usage: @'glEndVertexShaderEXT'@


glEndVertexShaderEXT :: MonadIO m => m ()
glEndVertexShaderEXT :: forall (m :: * -> *). MonadIO m => m ()
glEndVertexShaderEXT = FunPtr (IO ()) -> m ()
forall (m :: * -> *). MonadIO m => FunPtr (IO ()) -> m ()
ffiIOV FunPtr (IO ())
glEndVertexShaderEXTFunPtr

glEndVertexShaderEXTFunPtr :: FunPtr (IO ())
glEndVertexShaderEXTFunPtr :: FunPtr (IO ())
glEndVertexShaderEXTFunPtr = IO (FunPtr (IO ())) -> FunPtr (IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glEndVertexShaderEXT")

{-# NOINLINE glEndVertexShaderEXTFunPtr #-}

-- | Usage: @'glExtractComponentEXT' res src num@


glExtractComponentEXT :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()
glExtractComponentEXT :: forall (m :: * -> *).
MonadIO m =>
GLenum -> GLenum -> GLenum -> m ()
glExtractComponentEXT = FunPtr (GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> m ()
ffiuintuintuintIOV FunPtr (GLenum -> GLenum -> GLenum -> IO ())
glExtractComponentEXTFunPtr

glExtractComponentEXTFunPtr :: FunPtr (GLuint -> GLuint -> GLuint -> IO ())
glExtractComponentEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> IO ())
glExtractComponentEXTFunPtr = IO (FunPtr (GLenum -> GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glExtractComponentEXT")

{-# NOINLINE glExtractComponentEXTFunPtr #-}

-- | Usage: @'glGenSymbolsEXT' datatype storagetype range components@
--
-- The parameter @datatype@ is a @DataTypeEXT@.
--
-- The parameter @storagetype@ is a @VertexShaderStorageTypeEXT@.
--
-- The parameter @range@ is a @ParameterRangeEXT@.


glGenSymbolsEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> m GLuint
glGenSymbolsEXT :: forall (m :: * -> *).
MonadIO m =>
GLenum -> GLenum -> GLenum -> GLenum -> m GLenum
glGenSymbolsEXT = FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO GLenum)
-> GLenum -> GLenum -> GLenum -> GLenum -> m GLenum
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO GLenum)
-> GLenum -> GLenum -> GLenum -> GLenum -> m GLenum
ffienumenumenumuintIOuint FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO GLenum)
glGenSymbolsEXTFunPtr

glGenSymbolsEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> IO GLuint)
glGenSymbolsEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO GLenum)
glGenSymbolsEXTFunPtr = IO (FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO GLenum))
-> FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO GLenum)
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO GLenum))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glGenSymbolsEXT")

{-# NOINLINE glGenSymbolsEXTFunPtr #-}

-- | Usage: @'glGenVertexShadersEXT' range@


glGenVertexShadersEXT :: MonadIO m => GLuint -> m GLuint
glGenVertexShadersEXT :: forall (m :: * -> *). MonadIO m => GLenum -> m GLenum
glGenVertexShadersEXT = FunPtr (GLenum -> IO GLenum) -> GLenum -> m GLenum
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO GLenum) -> GLenum -> m GLenum
ffiuintIOuint FunPtr (GLenum -> IO GLenum)
glGenVertexShadersEXTFunPtr

glGenVertexShadersEXTFunPtr :: FunPtr (GLuint -> IO GLuint)
glGenVertexShadersEXTFunPtr :: FunPtr (GLenum -> IO GLenum)
glGenVertexShadersEXTFunPtr = IO (FunPtr (GLenum -> IO GLenum)) -> FunPtr (GLenum -> IO GLenum)
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO GLenum))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glGenVertexShadersEXT")

{-# NOINLINE glGenVertexShadersEXTFunPtr #-}

-- | Usage: @'glGetInvariantBooleanvEXT' id value data@
--
-- The parameter @value@ is a @GetVariantValueEXT@.
--
-- The parameter @data@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @data@ should be @COMPSIZE(id)@.


glGetInvariantBooleanvEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLboolean -> m ()
glGetInvariantBooleanvEXT :: forall (m :: * -> *).
MonadIO m =>
GLenum -> GLenum -> Ptr GLboolean -> m ()
glGetInvariantBooleanvEXT = FunPtr (GLenum -> GLenum -> Ptr GLboolean -> IO ())
-> GLenum -> GLenum -> Ptr GLboolean -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLboolean -> IO ())
-> GLenum -> GLenum -> Ptr GLboolean -> m ()
ffiuintenumPtrbooleanIOV FunPtr (GLenum -> GLenum -> Ptr GLboolean -> IO ())
glGetInvariantBooleanvEXTFunPtr

glGetInvariantBooleanvEXTFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLboolean -> IO ())
glGetInvariantBooleanvEXTFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLboolean -> IO ())
glGetInvariantBooleanvEXTFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLboolean -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLboolean -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLboolean -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glGetInvariantBooleanvEXT")

{-# NOINLINE glGetInvariantBooleanvEXTFunPtr #-}

-- | Usage: @'glGetInvariantFloatvEXT' id value data@
--
-- The parameter @value@ is a @GetVariantValueEXT@.
--
-- The length of @data@ should be @COMPSIZE(id)@.


glGetInvariantFloatvEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()
glGetInvariantFloatvEXT :: forall (m :: * -> *).
MonadIO m =>
GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetInvariantFloatvEXT = FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> GLenum -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> GLenum -> Ptr GLfloat -> m ()
ffiuintenumPtrfloatIOV FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glGetInvariantFloatvEXTFunPtr

glGetInvariantFloatvEXTFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
glGetInvariantFloatvEXTFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glGetInvariantFloatvEXTFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glGetInvariantFloatvEXT")

{-# NOINLINE glGetInvariantFloatvEXTFunPtr #-}

-- | Usage: @'glGetInvariantIntegervEXT' id value data@
--
-- The parameter @value@ is a @GetVariantValueEXT@.
--
-- The length of @data@ should be @COMPSIZE(id)@.


glGetInvariantIntegervEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetInvariantIntegervEXT :: forall (m :: * -> *).
MonadIO m =>
GLenum -> GLenum -> Ptr GLint -> m ()
glGetInvariantIntegervEXT = FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-> GLenum -> GLenum -> Ptr GLint -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-> GLenum -> GLenum -> Ptr GLint -> m ()
ffiuintenumPtrintIOV FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
glGetInvariantIntegervEXTFunPtr

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

{-# NOINLINE glGetInvariantIntegervEXTFunPtr #-}

-- | Usage: @'glGetLocalConstantBooleanvEXT' id value data@
--
-- The parameter @value@ is a @GetVariantValueEXT@.
--
-- The parameter @data@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @data@ should be @COMPSIZE(id)@.


glGetLocalConstantBooleanvEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLboolean -> m ()
glGetLocalConstantBooleanvEXT :: forall (m :: * -> *).
MonadIO m =>
GLenum -> GLenum -> Ptr GLboolean -> m ()
glGetLocalConstantBooleanvEXT = FunPtr (GLenum -> GLenum -> Ptr GLboolean -> IO ())
-> GLenum -> GLenum -> Ptr GLboolean -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLboolean -> IO ())
-> GLenum -> GLenum -> Ptr GLboolean -> m ()
ffiuintenumPtrbooleanIOV FunPtr (GLenum -> GLenum -> Ptr GLboolean -> IO ())
glGetLocalConstantBooleanvEXTFunPtr

glGetLocalConstantBooleanvEXTFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLboolean -> IO ())
glGetLocalConstantBooleanvEXTFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLboolean -> IO ())
glGetLocalConstantBooleanvEXTFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLboolean -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLboolean -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLboolean -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glGetLocalConstantBooleanvEXT")

{-# NOINLINE glGetLocalConstantBooleanvEXTFunPtr #-}

-- | Usage: @'glGetLocalConstantFloatvEXT' id value data@
--
-- The parameter @value@ is a @GetVariantValueEXT@.
--
-- The length of @data@ should be @COMPSIZE(id)@.


glGetLocalConstantFloatvEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()
glGetLocalConstantFloatvEXT :: forall (m :: * -> *).
MonadIO m =>
GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetLocalConstantFloatvEXT = FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> GLenum -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> GLenum -> Ptr GLfloat -> m ()
ffiuintenumPtrfloatIOV FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glGetLocalConstantFloatvEXTFunPtr

glGetLocalConstantFloatvEXTFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
glGetLocalConstantFloatvEXTFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glGetLocalConstantFloatvEXTFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glGetLocalConstantFloatvEXT")

{-# NOINLINE glGetLocalConstantFloatvEXTFunPtr #-}

-- | Usage: @'glGetLocalConstantIntegervEXT' id value data@
--
-- The parameter @value@ is a @GetVariantValueEXT@.
--
-- The length of @data@ should be @COMPSIZE(id)@.


glGetLocalConstantIntegervEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetLocalConstantIntegervEXT :: forall (m :: * -> *).
MonadIO m =>
GLenum -> GLenum -> Ptr GLint -> m ()
glGetLocalConstantIntegervEXT = FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-> GLenum -> GLenum -> Ptr GLint -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-> GLenum -> GLenum -> Ptr GLint -> m ()
ffiuintenumPtrintIOV FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
glGetLocalConstantIntegervEXTFunPtr

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

{-# NOINLINE glGetLocalConstantIntegervEXTFunPtr #-}

-- | Usage: @'glGetVariantBooleanvEXT' id value data@
--
-- The parameter @value@ is a @GetVariantValueEXT@.
--
-- The parameter @data@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @data@ should be @COMPSIZE(id)@.


glGetVariantBooleanvEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLboolean -> m ()
glGetVariantBooleanvEXT :: forall (m :: * -> *).
MonadIO m =>
GLenum -> GLenum -> Ptr GLboolean -> m ()
glGetVariantBooleanvEXT = FunPtr (GLenum -> GLenum -> Ptr GLboolean -> IO ())
-> GLenum -> GLenum -> Ptr GLboolean -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLboolean -> IO ())
-> GLenum -> GLenum -> Ptr GLboolean -> m ()
ffiuintenumPtrbooleanIOV FunPtr (GLenum -> GLenum -> Ptr GLboolean -> IO ())
glGetVariantBooleanvEXTFunPtr

glGetVariantBooleanvEXTFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLboolean -> IO ())
glGetVariantBooleanvEXTFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLboolean -> IO ())
glGetVariantBooleanvEXTFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLboolean -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLboolean -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLboolean -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glGetVariantBooleanvEXT")

{-# NOINLINE glGetVariantBooleanvEXTFunPtr #-}

-- | Usage: @'glGetVariantFloatvEXT' id value data@
--
-- The parameter @value@ is a @GetVariantValueEXT@.
--
-- The length of @data@ should be @COMPSIZE(id)@.


glGetVariantFloatvEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()
glGetVariantFloatvEXT :: forall (m :: * -> *).
MonadIO m =>
GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetVariantFloatvEXT = FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> GLenum -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> GLenum -> Ptr GLfloat -> m ()
ffiuintenumPtrfloatIOV FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glGetVariantFloatvEXTFunPtr

glGetVariantFloatvEXTFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
glGetVariantFloatvEXTFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glGetVariantFloatvEXTFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glGetVariantFloatvEXT")

{-# NOINLINE glGetVariantFloatvEXTFunPtr #-}

-- | Usage: @'glGetVariantIntegervEXT' id value data@
--
-- The parameter @value@ is a @GetVariantValueEXT@.
--
-- The length of @data@ should be @COMPSIZE(id)@.


glGetVariantIntegervEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetVariantIntegervEXT :: forall (m :: * -> *).
MonadIO m =>
GLenum -> GLenum -> Ptr GLint -> m ()
glGetVariantIntegervEXT = FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-> GLenum -> GLenum -> Ptr GLint -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-> GLenum -> GLenum -> Ptr GLint -> m ()
ffiuintenumPtrintIOV FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
glGetVariantIntegervEXTFunPtr

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

{-# NOINLINE glGetVariantIntegervEXTFunPtr #-}

-- | Usage: @'glGetVariantPointervEXT' id value data@
--
-- The parameter @value@ is a @GetVariantValueEXT@.
--
-- The length of @data@ should be @COMPSIZE(id)@.


glGetVariantPointervEXT :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr ()) -> m ()
glGetVariantPointervEXT :: forall (m :: * -> *).
MonadIO m =>
GLenum -> GLenum -> Ptr (Ptr ()) -> m ()
glGetVariantPointervEXT = FunPtr (GLenum -> GLenum -> Ptr (Ptr ()) -> IO ())
-> GLenum -> GLenum -> Ptr (Ptr ()) -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr (Ptr ()) -> IO ())
-> GLenum -> GLenum -> Ptr (Ptr ()) -> m ()
ffiuintenumPtrPtrVIOV FunPtr (GLenum -> GLenum -> Ptr (Ptr ()) -> IO ())
glGetVariantPointervEXTFunPtr

glGetVariantPointervEXTFunPtr :: FunPtr (GLuint -> GLenum -> Ptr (Ptr ()) -> IO ())
glGetVariantPointervEXTFunPtr :: FunPtr (GLenum -> GLenum -> Ptr (Ptr ()) -> IO ())
glGetVariantPointervEXTFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr (Ptr ()) -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr (Ptr ()) -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr (Ptr ()) -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glGetVariantPointervEXT")

{-# NOINLINE glGetVariantPointervEXTFunPtr #-}

-- | Usage: @'glInsertComponentEXT' res src num@


glInsertComponentEXT :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()
glInsertComponentEXT :: forall (m :: * -> *).
MonadIO m =>
GLenum -> GLenum -> GLenum -> m ()
glInsertComponentEXT = FunPtr (GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> m ()
ffiuintuintuintIOV FunPtr (GLenum -> GLenum -> GLenum -> IO ())
glInsertComponentEXTFunPtr

glInsertComponentEXTFunPtr :: FunPtr (GLuint -> GLuint -> GLuint -> IO ())
glInsertComponentEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> IO ())
glInsertComponentEXTFunPtr = IO (FunPtr (GLenum -> GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glInsertComponentEXT")

{-# NOINLINE glInsertComponentEXTFunPtr #-}

-- | Usage: @'glIsVariantEnabledEXT' id cap@
--
-- The parameter @cap@ is a @VariantCapEXT@.


glIsVariantEnabledEXT :: MonadIO m => GLuint -> GLenum -> m GLboolean
glIsVariantEnabledEXT :: forall (m :: * -> *). MonadIO m => GLenum -> GLenum -> m GLboolean
glIsVariantEnabledEXT = FunPtr (GLenum -> GLenum -> IO GLboolean)
-> GLenum -> GLenum -> m GLboolean
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO GLboolean)
-> GLenum -> GLenum -> m GLboolean
ffiuintenumIOboolean FunPtr (GLenum -> GLenum -> IO GLboolean)
glIsVariantEnabledEXTFunPtr

glIsVariantEnabledEXTFunPtr :: FunPtr (GLuint -> GLenum -> IO GLboolean)
glIsVariantEnabledEXTFunPtr :: FunPtr (GLenum -> GLenum -> IO GLboolean)
glIsVariantEnabledEXTFunPtr = IO (FunPtr (GLenum -> GLenum -> IO GLboolean))
-> FunPtr (GLenum -> GLenum -> IO GLboolean)
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO GLboolean))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glIsVariantEnabledEXT")

{-# NOINLINE glIsVariantEnabledEXTFunPtr #-}

-- | Usage: @'glSetInvariantEXT' id type addr@
--
-- The parameter @type@ is a @ScalarType@.
--
-- The length of @addr@ should be @COMPSIZE(id,type)@.


glSetInvariantEXT :: MonadIO m => GLuint -> GLenum -> Ptr () -> m ()
glSetInvariantEXT :: forall (m :: * -> *).
MonadIO m =>
GLenum -> GLenum -> Ptr () -> m ()
glSetInvariantEXT = FunPtr (GLenum -> GLenum -> Ptr () -> IO ())
-> GLenum -> GLenum -> Ptr () -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr () -> IO ())
-> GLenum -> GLenum -> Ptr () -> m ()
ffiuintenumPtrVIOV FunPtr (GLenum -> GLenum -> Ptr () -> IO ())
glSetInvariantEXTFunPtr

glSetInvariantEXTFunPtr :: FunPtr (GLuint -> GLenum -> Ptr () -> IO ())
glSetInvariantEXTFunPtr :: FunPtr (GLenum -> GLenum -> Ptr () -> IO ())
glSetInvariantEXTFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr () -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr () -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr () -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glSetInvariantEXT")

{-# NOINLINE glSetInvariantEXTFunPtr #-}

-- | Usage: @'glSetLocalConstantEXT' id type addr@
--
-- The parameter @type@ is a @ScalarType@.
--
-- The length of @addr@ should be @COMPSIZE(id,type)@.


glSetLocalConstantEXT :: MonadIO m => GLuint -> GLenum -> Ptr () -> m ()
glSetLocalConstantEXT :: forall (m :: * -> *).
MonadIO m =>
GLenum -> GLenum -> Ptr () -> m ()
glSetLocalConstantEXT = FunPtr (GLenum -> GLenum -> Ptr () -> IO ())
-> GLenum -> GLenum -> Ptr () -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr () -> IO ())
-> GLenum -> GLenum -> Ptr () -> m ()
ffiuintenumPtrVIOV FunPtr (GLenum -> GLenum -> Ptr () -> IO ())
glSetLocalConstantEXTFunPtr

glSetLocalConstantEXTFunPtr :: FunPtr (GLuint -> GLenum -> Ptr () -> IO ())
glSetLocalConstantEXTFunPtr :: FunPtr (GLenum -> GLenum -> Ptr () -> IO ())
glSetLocalConstantEXTFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr () -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr () -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr () -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glSetLocalConstantEXT")

{-# NOINLINE glSetLocalConstantEXTFunPtr #-}

-- | Usage: @'glShaderOp1EXT' op res arg1@
--
-- The parameter @op@ is a @VertexShaderOpEXT@.


glShaderOp1EXT :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()
glShaderOp1EXT :: forall (m :: * -> *).
MonadIO m =>
GLenum -> GLenum -> GLenum -> m ()
glShaderOp1EXT = FunPtr (GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> m ()
ffienumuintuintIOV FunPtr (GLenum -> GLenum -> GLenum -> IO ())
glShaderOp1EXTFunPtr

glShaderOp1EXTFunPtr :: FunPtr (GLenum -> GLuint -> GLuint -> IO ())
glShaderOp1EXTFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> IO ())
glShaderOp1EXTFunPtr = IO (FunPtr (GLenum -> GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glShaderOp1EXT")

{-# NOINLINE glShaderOp1EXTFunPtr #-}

-- | Usage: @'glShaderOp2EXT' op res arg1 arg2@
--
-- The parameter @op@ is a @VertexShaderOpEXT@.


glShaderOp2EXT :: MonadIO m => GLenum -> GLuint -> GLuint -> GLuint -> m ()
glShaderOp2EXT :: forall (m :: * -> *).
MonadIO m =>
GLenum -> GLenum -> GLenum -> GLenum -> m ()
glShaderOp2EXT = FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> GLenum -> m ()
ffienumuintuintuintIOV FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
glShaderOp2EXTFunPtr

glShaderOp2EXTFunPtr :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> IO ())
glShaderOp2EXTFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
glShaderOp2EXTFunPtr = IO (FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glShaderOp2EXT")

{-# NOINLINE glShaderOp2EXTFunPtr #-}

-- | Usage: @'glShaderOp3EXT' op res arg1 arg2 arg3@
--
-- The parameter @op@ is a @VertexShaderOpEXT@.


glShaderOp3EXT :: MonadIO m => GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
glShaderOp3EXT :: forall (m :: * -> *).
MonadIO m =>
GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> m ()
glShaderOp3EXT = FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> m ()
ffienumuintuintuintuintIOV FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
glShaderOp3EXTFunPtr

glShaderOp3EXTFunPtr :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
glShaderOp3EXTFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
glShaderOp3EXTFunPtr = IO
  (FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glShaderOp3EXT")

{-# NOINLINE glShaderOp3EXTFunPtr #-}

-- | Usage: @'glSwizzleEXT' res in outX outY outZ outW@
--
-- The parameter @outX@ is a @VertexShaderCoordOutEXT@.
--
-- The parameter @outY@ is a @VertexShaderCoordOutEXT@.
--
-- The parameter @outZ@ is a @VertexShaderCoordOutEXT@.
--
-- The parameter @outW@ is a @VertexShaderCoordOutEXT@.


glSwizzleEXT :: MonadIO m => GLuint -> GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> m ()
glSwizzleEXT :: forall (m :: * -> *).
MonadIO m =>
GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> m ()
glSwizzleEXT = FunPtr
  (GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> m ()
ffiuintuintenumenumenumenumIOV FunPtr
  (GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
glSwizzleEXTFunPtr

glSwizzleEXTFunPtr :: FunPtr (GLuint -> GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
glSwizzleEXTFunPtr :: FunPtr
  (GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
glSwizzleEXTFunPtr = IO
  (FunPtr
     (GLenum
      -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> IO ()))
-> FunPtr
     (GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glSwizzleEXT")

{-# NOINLINE glSwizzleEXTFunPtr #-}

-- | Usage: @'glVariantPointerEXT' id type stride addr@
--
-- The parameter @type@ is a @ScalarType@.
--
-- The length of @addr@ should be @COMPSIZE(id,type,stride)@.


glVariantPointerEXT :: MonadIO m => GLuint -> GLenum -> GLuint -> Ptr () -> m ()
glVariantPointerEXT :: forall (m :: * -> *).
MonadIO m =>
GLenum -> GLenum -> GLenum -> Ptr () -> m ()
glVariantPointerEXT = FunPtr (GLenum -> GLenum -> GLenum -> Ptr () -> IO ())
-> GLenum -> GLenum -> GLenum -> Ptr () -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> Ptr () -> IO ())
-> GLenum -> GLenum -> GLenum -> Ptr () -> m ()
ffiuintenumuintPtrVIOV FunPtr (GLenum -> GLenum -> GLenum -> Ptr () -> IO ())
glVariantPointerEXTFunPtr

glVariantPointerEXTFunPtr :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr () -> IO ())
glVariantPointerEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr () -> IO ())
glVariantPointerEXTFunPtr = IO (FunPtr (GLenum -> GLenum -> GLenum -> Ptr () -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> Ptr () -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLenum -> GLenum -> Ptr () -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glVariantPointerEXT")

{-# NOINLINE glVariantPointerEXTFunPtr #-}

-- | Usage: @'glVariantbvEXT' id addr@
--
-- The length of @addr@ should be @COMPSIZE(id)@.


glVariantbvEXT :: MonadIO m => GLuint -> Ptr GLbyte -> m ()
glVariantbvEXT :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLbyte -> m ()
glVariantbvEXT = FunPtr (GLenum -> Ptr GLbyte -> IO ())
-> GLenum -> Ptr GLbyte -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLbyte -> IO ())
-> GLenum -> Ptr GLbyte -> m ()
ffiuintPtrbyteIOV FunPtr (GLenum -> Ptr GLbyte -> IO ())
glVariantbvEXTFunPtr

glVariantbvEXTFunPtr :: FunPtr (GLuint -> Ptr GLbyte -> IO ())
glVariantbvEXTFunPtr :: FunPtr (GLenum -> Ptr GLbyte -> IO ())
glVariantbvEXTFunPtr = IO (FunPtr (GLenum -> Ptr GLbyte -> IO ()))
-> FunPtr (GLenum -> Ptr GLbyte -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLbyte -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glVariantbvEXT")

{-# NOINLINE glVariantbvEXTFunPtr #-}

-- | Usage: @'glVariantdvEXT' id addr@
--
-- The length of @addr@ should be @COMPSIZE(id)@.


glVariantdvEXT :: MonadIO m => GLuint -> Ptr GLdouble -> m ()
glVariantdvEXT :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLdouble -> m ()
glVariantdvEXT = FunPtr (GLenum -> Ptr GLdouble -> IO ())
-> GLenum -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLdouble -> IO ())
-> GLenum -> Ptr GLdouble -> m ()
ffiuintPtrdoubleIOV FunPtr (GLenum -> Ptr GLdouble -> IO ())
glVariantdvEXTFunPtr

glVariantdvEXTFunPtr :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
glVariantdvEXTFunPtr :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
glVariantdvEXTFunPtr = IO (FunPtr (GLenum -> Ptr GLdouble -> IO ()))
-> FunPtr (GLenum -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLdouble -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glVariantdvEXT")

{-# NOINLINE glVariantdvEXTFunPtr #-}

-- | Usage: @'glVariantfvEXT' id addr@
--
-- The length of @addr@ should be @COMPSIZE(id)@.


glVariantfvEXT :: MonadIO m => GLuint -> Ptr GLfloat -> m ()
glVariantfvEXT :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLfloat -> m ()
glVariantfvEXT = FunPtr (GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> Ptr GLfloat -> m ()
ffiuintPtrfloatIOV FunPtr (GLenum -> Ptr GLfloat -> IO ())
glVariantfvEXTFunPtr

glVariantfvEXTFunPtr :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
glVariantfvEXTFunPtr :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
glVariantfvEXTFunPtr = IO (FunPtr (GLenum -> Ptr GLfloat -> IO ()))
-> FunPtr (GLenum -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLfloat -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glVariantfvEXT")

{-# NOINLINE glVariantfvEXTFunPtr #-}

-- | Usage: @'glVariantivEXT' id addr@
--
-- The length of @addr@ should be @COMPSIZE(id)@.


glVariantivEXT :: MonadIO m => GLuint -> Ptr GLint -> m ()
glVariantivEXT :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLint -> m ()
glVariantivEXT = FunPtr (GLenum -> Ptr GLint -> IO ())
-> GLenum -> Ptr GLint -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLint -> IO ())
-> GLenum -> Ptr GLint -> m ()
ffiuintPtrintIOV FunPtr (GLenum -> Ptr GLint -> IO ())
glVariantivEXTFunPtr

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

{-# NOINLINE glVariantivEXTFunPtr #-}

-- | Usage: @'glVariantsvEXT' id addr@
--
-- The length of @addr@ should be @COMPSIZE(id)@.


glVariantsvEXT :: MonadIO m => GLuint -> Ptr GLshort -> m ()
glVariantsvEXT :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLshort -> m ()
glVariantsvEXT = FunPtr (GLenum -> Ptr GLshort -> IO ())
-> GLenum -> Ptr GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLshort -> IO ())
-> GLenum -> Ptr GLshort -> m ()
ffiuintPtrshortIOV FunPtr (GLenum -> Ptr GLshort -> IO ())
glVariantsvEXTFunPtr

glVariantsvEXTFunPtr :: FunPtr (GLuint -> Ptr GLshort -> IO ())
glVariantsvEXTFunPtr :: FunPtr (GLenum -> Ptr GLshort -> IO ())
glVariantsvEXTFunPtr = IO (FunPtr (GLenum -> Ptr GLshort -> IO ()))
-> FunPtr (GLenum -> Ptr GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLshort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glVariantsvEXT")

{-# NOINLINE glVariantsvEXTFunPtr #-}

-- | Usage: @'glVariantubvEXT' id addr@
--
-- The length of @addr@ should be @COMPSIZE(id)@.


glVariantubvEXT :: MonadIO m => GLuint -> Ptr GLubyte -> m ()
glVariantubvEXT :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLboolean -> m ()
glVariantubvEXT = FunPtr (GLenum -> Ptr GLboolean -> IO ())
-> GLenum -> Ptr GLboolean -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLboolean -> IO ())
-> GLenum -> Ptr GLboolean -> m ()
ffiuintPtrubyteIOV FunPtr (GLenum -> Ptr GLboolean -> IO ())
glVariantubvEXTFunPtr

glVariantubvEXTFunPtr :: FunPtr (GLuint -> Ptr GLubyte -> IO ())
glVariantubvEXTFunPtr :: FunPtr (GLenum -> Ptr GLboolean -> IO ())
glVariantubvEXTFunPtr = IO (FunPtr (GLenum -> Ptr GLboolean -> IO ()))
-> FunPtr (GLenum -> Ptr GLboolean -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLboolean -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glVariantubvEXT")

{-# NOINLINE glVariantubvEXTFunPtr #-}

-- | Usage: @'glVariantuivEXT' id addr@
--
-- The length of @addr@ should be @COMPSIZE(id)@.


glVariantuivEXT :: MonadIO m => GLuint -> Ptr GLuint -> m ()
glVariantuivEXT :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLenum -> m ()
glVariantuivEXT = FunPtr (GLenum -> Ptr GLenum -> IO ())
-> GLenum -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLenum -> IO ())
-> GLenum -> Ptr GLenum -> m ()
ffiuintPtruintIOV FunPtr (GLenum -> Ptr GLenum -> IO ())
glVariantuivEXTFunPtr

glVariantuivEXTFunPtr :: FunPtr (GLuint -> Ptr GLuint -> IO ())
glVariantuivEXTFunPtr :: FunPtr (GLenum -> Ptr GLenum -> IO ())
glVariantuivEXTFunPtr = IO (FunPtr (GLenum -> Ptr GLenum -> IO ()))
-> FunPtr (GLenum -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glVariantuivEXT")

{-# NOINLINE glVariantuivEXTFunPtr #-}

-- | Usage: @'glVariantusvEXT' id addr@
--
-- The length of @addr@ should be @COMPSIZE(id)@.


glVariantusvEXT :: MonadIO m => GLuint -> Ptr GLushort -> m ()
glVariantusvEXT :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr GLushort -> m ()
glVariantusvEXT = FunPtr (GLenum -> Ptr GLushort -> IO ())
-> GLenum -> Ptr GLushort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLushort -> IO ())
-> GLenum -> Ptr GLushort -> m ()
ffiuintPtrushortIOV FunPtr (GLenum -> Ptr GLushort -> IO ())
glVariantusvEXTFunPtr

glVariantusvEXTFunPtr :: FunPtr (GLuint -> Ptr GLushort -> IO ())
glVariantusvEXTFunPtr :: FunPtr (GLenum -> Ptr GLushort -> IO ())
glVariantusvEXTFunPtr = IO (FunPtr (GLenum -> Ptr GLushort -> IO ()))
-> FunPtr (GLenum -> Ptr GLushort -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr GLushort -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glVariantusvEXT")

{-# NOINLINE glVariantusvEXTFunPtr #-}

-- | Usage: @'glWriteMaskEXT' res in outX outY outZ outW@
--
-- The parameter @outX@ is a @VertexShaderWriteMaskEXT@.
--
-- The parameter @outY@ is a @VertexShaderWriteMaskEXT@.
--
-- The parameter @outZ@ is a @VertexShaderWriteMaskEXT@.
--
-- The parameter @outW@ is a @VertexShaderWriteMaskEXT@.


glWriteMaskEXT :: MonadIO m => GLuint -> GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> m ()
glWriteMaskEXT :: forall (m :: * -> *).
MonadIO m =>
GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> m ()
glWriteMaskEXT = FunPtr
  (GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> m ()
ffiuintuintenumenumenumenumIOV FunPtr
  (GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
glWriteMaskEXTFunPtr

glWriteMaskEXTFunPtr :: FunPtr (GLuint -> GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
glWriteMaskEXTFunPtr :: FunPtr
  (GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
glWriteMaskEXTFunPtr = IO
  (FunPtr
     (GLenum
      -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> IO ()))
-> FunPtr
     (GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glWriteMaskEXT")

{-# NOINLINE glWriteMaskEXTFunPtr #-}

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

pattern $mGL_CURRENT_VERTEX_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_CURRENT_VERTEX_EXT :: forall a. (Eq a, Num a) => a
GL_CURRENT_VERTEX_EXT = 0x87E2

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

pattern $mGL_FULL_RANGE_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_FULL_RANGE_EXT :: forall a. (Eq a, Num a) => a
GL_FULL_RANGE_EXT = 0x87E1

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

pattern $mGL_INVARIANT_DATATYPE_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_INVARIANT_DATATYPE_EXT :: forall a. (Eq a, Num a) => a
GL_INVARIANT_DATATYPE_EXT = 0x87EB

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

pattern $mGL_INVARIANT_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_INVARIANT_EXT :: forall a. (Eq a, Num a) => a
GL_INVARIANT_EXT = 0x87C2

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

pattern $mGL_INVARIANT_VALUE_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_INVARIANT_VALUE_EXT :: forall a. (Eq a, Num a) => a
GL_INVARIANT_VALUE_EXT = 0x87EA

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

pattern $mGL_LOCAL_CONSTANT_DATATYPE_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_LOCAL_CONSTANT_DATATYPE_EXT :: forall a. (Eq a, Num a) => a
GL_LOCAL_CONSTANT_DATATYPE_EXT = 0x87ED

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

pattern $mGL_LOCAL_CONSTANT_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_LOCAL_CONSTANT_EXT :: forall a. (Eq a, Num a) => a
GL_LOCAL_CONSTANT_EXT = 0x87C3

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

pattern $mGL_LOCAL_CONSTANT_VALUE_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_LOCAL_CONSTANT_VALUE_EXT :: forall a. (Eq a, Num a) => a
GL_LOCAL_CONSTANT_VALUE_EXT = 0x87EC

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

pattern $mGL_LOCAL_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_LOCAL_EXT :: forall a. (Eq a, Num a) => a
GL_LOCAL_EXT = 0x87C4

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

pattern $mGL_MATRIX_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_MATRIX_EXT :: forall a. (Eq a, Num a) => a
GL_MATRIX_EXT = 0x87C0

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

pattern $mGL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT :: forall a. (Eq a, Num a) => a
GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT = 0x87CA

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

pattern $mGL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT :: forall a. (Eq a, Num a) => a
GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT = 0x87CD

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

pattern $mGL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT :: forall a. (Eq a, Num a) => a
GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT = 0x87CE

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

pattern $mGL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT :: forall a. (Eq a, Num a) => a
GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = 0x87CC

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

pattern $mGL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT :: forall a. (Eq a, Num a) => a
GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT = 0x87CB

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

pattern $mGL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT :: forall a. (Eq a, Num a) => a
GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT = 0x87C5

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

pattern $mGL_MAX_VERTEX_SHADER_INVARIANTS_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_MAX_VERTEX_SHADER_INVARIANTS_EXT :: forall a. (Eq a, Num a) => a
GL_MAX_VERTEX_SHADER_INVARIANTS_EXT = 0x87C7

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

pattern $mGL_MAX_VERTEX_SHADER_LOCALS_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_MAX_VERTEX_SHADER_LOCALS_EXT :: forall a. (Eq a, Num a) => a
GL_MAX_VERTEX_SHADER_LOCALS_EXT = 0x87C9

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

pattern $mGL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT :: forall a. (Eq a, Num a) => a
GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = 0x87C8

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

pattern $mGL_MAX_VERTEX_SHADER_VARIANTS_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_MAX_VERTEX_SHADER_VARIANTS_EXT :: forall a. (Eq a, Num a) => a
GL_MAX_VERTEX_SHADER_VARIANTS_EXT = 0x87C6

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

pattern $mGL_MVP_MATRIX_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_MVP_MATRIX_EXT :: forall a. (Eq a, Num a) => a
GL_MVP_MATRIX_EXT = 0x87E3

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

pattern $mGL_NEGATIVE_ONE_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_NEGATIVE_ONE_EXT :: forall a. (Eq a, Num a) => a
GL_NEGATIVE_ONE_EXT = 0x87DF

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

pattern $mGL_NEGATIVE_W_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_NEGATIVE_W_EXT :: forall a. (Eq a, Num a) => a
GL_NEGATIVE_W_EXT = 0x87DC

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

pattern $mGL_NEGATIVE_X_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_NEGATIVE_X_EXT :: forall a. (Eq a, Num a) => a
GL_NEGATIVE_X_EXT = 0x87D9

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

pattern $mGL_NEGATIVE_Y_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_NEGATIVE_Y_EXT :: forall a. (Eq a, Num a) => a
GL_NEGATIVE_Y_EXT = 0x87DA

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

pattern $mGL_NEGATIVE_Z_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_NEGATIVE_Z_EXT :: forall a. (Eq a, Num a) => a
GL_NEGATIVE_Z_EXT = 0x87DB

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

pattern $mGL_NORMALIZED_RANGE_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_NORMALIZED_RANGE_EXT :: forall a. (Eq a, Num a) => a
GL_NORMALIZED_RANGE_EXT = 0x87E0

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

pattern $mGL_ONE_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_ONE_EXT :: forall a. (Eq a, Num a) => a
GL_ONE_EXT = 0x87DE

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

pattern $mGL_OP_ADD_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_OP_ADD_EXT :: forall a. (Eq a, Num a) => a
GL_OP_ADD_EXT = 0x8787

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

pattern $mGL_OP_CLAMP_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_OP_CLAMP_EXT :: forall a. (Eq a, Num a) => a
GL_OP_CLAMP_EXT = 0x878E

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

pattern $mGL_OP_CROSS_PRODUCT_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_OP_CROSS_PRODUCT_EXT :: forall a. (Eq a, Num a) => a
GL_OP_CROSS_PRODUCT_EXT = 0x8797

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

pattern $mGL_OP_DOT3_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_OP_DOT3_EXT :: forall a. (Eq a, Num a) => a
GL_OP_DOT3_EXT = 0x8784

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

pattern $mGL_OP_DOT4_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_OP_DOT4_EXT :: forall a. (Eq a, Num a) => a
GL_OP_DOT4_EXT = 0x8785

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

pattern $mGL_OP_EXP_BASE_2_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_OP_EXP_BASE_2_EXT :: forall a. (Eq a, Num a) => a
GL_OP_EXP_BASE_2_EXT = 0x8791

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

pattern $mGL_OP_FLOOR_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_OP_FLOOR_EXT :: forall a. (Eq a, Num a) => a
GL_OP_FLOOR_EXT = 0x878F

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

pattern $mGL_OP_FRAC_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_OP_FRAC_EXT :: forall a. (Eq a, Num a) => a
GL_OP_FRAC_EXT = 0x8789

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

pattern $mGL_OP_INDEX_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_OP_INDEX_EXT :: forall a. (Eq a, Num a) => a
GL_OP_INDEX_EXT = 0x8782

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

pattern $mGL_OP_LOG_BASE_2_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_OP_LOG_BASE_2_EXT :: forall a. (Eq a, Num a) => a
GL_OP_LOG_BASE_2_EXT = 0x8792

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

pattern $mGL_OP_MADD_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_OP_MADD_EXT :: forall a. (Eq a, Num a) => a
GL_OP_MADD_EXT = 0x8788

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

pattern $mGL_OP_MAX_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_OP_MAX_EXT :: forall a. (Eq a, Num a) => a
GL_OP_MAX_EXT = 0x878A

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

pattern $mGL_OP_MIN_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_OP_MIN_EXT :: forall a. (Eq a, Num a) => a
GL_OP_MIN_EXT = 0x878B

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

pattern $mGL_OP_MOV_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_OP_MOV_EXT :: forall a. (Eq a, Num a) => a
GL_OP_MOV_EXT = 0x8799

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

pattern $mGL_OP_MULTIPLY_MATRIX_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_OP_MULTIPLY_MATRIX_EXT :: forall a. (Eq a, Num a) => a
GL_OP_MULTIPLY_MATRIX_EXT = 0x8798

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

pattern $mGL_OP_MUL_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_OP_MUL_EXT :: forall a. (Eq a, Num a) => a
GL_OP_MUL_EXT = 0x8786

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

pattern $mGL_OP_NEGATE_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_OP_NEGATE_EXT :: forall a. (Eq a, Num a) => a
GL_OP_NEGATE_EXT = 0x8783

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

pattern $mGL_OP_POWER_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_OP_POWER_EXT :: forall a. (Eq a, Num a) => a
GL_OP_POWER_EXT = 0x8793

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

pattern $mGL_OP_RECIP_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_OP_RECIP_EXT :: forall a. (Eq a, Num a) => a
GL_OP_RECIP_EXT = 0x8794

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

pattern $mGL_OP_RECIP_SQRT_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_OP_RECIP_SQRT_EXT :: forall a. (Eq a, Num a) => a
GL_OP_RECIP_SQRT_EXT = 0x8795

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

pattern $mGL_OP_ROUND_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_OP_ROUND_EXT :: forall a. (Eq a, Num a) => a
GL_OP_ROUND_EXT = 0x8790

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

pattern $mGL_OP_SET_GE_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_OP_SET_GE_EXT :: forall a. (Eq a, Num a) => a
GL_OP_SET_GE_EXT = 0x878C

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

pattern $mGL_OP_SET_LT_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_OP_SET_LT_EXT :: forall a. (Eq a, Num a) => a
GL_OP_SET_LT_EXT = 0x878D

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

pattern $mGL_OP_SUB_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_OP_SUB_EXT :: forall a. (Eq a, Num a) => a
GL_OP_SUB_EXT = 0x8796

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

pattern $mGL_OUTPUT_COLOR0_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_OUTPUT_COLOR0_EXT :: forall a. (Eq a, Num a) => a
GL_OUTPUT_COLOR0_EXT = 0x879B

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

pattern $mGL_OUTPUT_COLOR1_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_OUTPUT_COLOR1_EXT :: forall a. (Eq a, Num a) => a
GL_OUTPUT_COLOR1_EXT = 0x879C

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

pattern $mGL_OUTPUT_FOG_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_OUTPUT_FOG_EXT :: forall a. (Eq a, Num a) => a
GL_OUTPUT_FOG_EXT = 0x87BD

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

pattern $mGL_OUTPUT_TEXTURE_COORD0_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_OUTPUT_TEXTURE_COORD0_EXT :: forall a. (Eq a, Num a) => a
GL_OUTPUT_TEXTURE_COORD0_EXT = 0x879D

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

pattern $mGL_OUTPUT_TEXTURE_COORD10_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_OUTPUT_TEXTURE_COORD10_EXT :: forall a. (Eq a, Num a) => a
GL_OUTPUT_TEXTURE_COORD10_EXT = 0x87A7

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

pattern $mGL_OUTPUT_TEXTURE_COORD11_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_OUTPUT_TEXTURE_COORD11_EXT :: forall a. (Eq a, Num a) => a
GL_OUTPUT_TEXTURE_COORD11_EXT = 0x87A8

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

pattern $mGL_OUTPUT_TEXTURE_COORD12_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_OUTPUT_TEXTURE_COORD12_EXT :: forall a. (Eq a, Num a) => a
GL_OUTPUT_TEXTURE_COORD12_EXT = 0x87A9

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

pattern $mGL_OUTPUT_TEXTURE_COORD13_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_OUTPUT_TEXTURE_COORD13_EXT :: forall a. (Eq a, Num a) => a
GL_OUTPUT_TEXTURE_COORD13_EXT = 0x87AA

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

pattern $mGL_OUTPUT_TEXTURE_COORD14_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_OUTPUT_TEXTURE_COORD14_EXT :: forall a. (Eq a, Num a) => a
GL_OUTPUT_TEXTURE_COORD14_EXT = 0x87AB

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

pattern $mGL_OUTPUT_TEXTURE_COORD15_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_OUTPUT_TEXTURE_COORD15_EXT :: forall a. (Eq a, Num a) => a
GL_OUTPUT_TEXTURE_COORD15_EXT = 0x87AC

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

pattern $mGL_OUTPUT_TEXTURE_COORD16_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_OUTPUT_TEXTURE_COORD16_EXT :: forall a. (Eq a, Num a) => a
GL_OUTPUT_TEXTURE_COORD16_EXT = 0x87AD

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

pattern $mGL_OUTPUT_TEXTURE_COORD17_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_OUTPUT_TEXTURE_COORD17_EXT :: forall a. (Eq a, Num a) => a
GL_OUTPUT_TEXTURE_COORD17_EXT = 0x87AE

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

pattern $mGL_OUTPUT_TEXTURE_COORD18_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_OUTPUT_TEXTURE_COORD18_EXT :: forall a. (Eq a, Num a) => a
GL_OUTPUT_TEXTURE_COORD18_EXT = 0x87AF

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

pattern $mGL_OUTPUT_TEXTURE_COORD19_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_OUTPUT_TEXTURE_COORD19_EXT :: forall a. (Eq a, Num a) => a
GL_OUTPUT_TEXTURE_COORD19_EXT = 0x87B0

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

pattern $mGL_OUTPUT_TEXTURE_COORD1_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_OUTPUT_TEXTURE_COORD1_EXT :: forall a. (Eq a, Num a) => a
GL_OUTPUT_TEXTURE_COORD1_EXT = 0x879E

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

pattern $mGL_OUTPUT_TEXTURE_COORD20_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_OUTPUT_TEXTURE_COORD20_EXT :: forall a. (Eq a, Num a) => a
GL_OUTPUT_TEXTURE_COORD20_EXT = 0x87B1

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

pattern $mGL_OUTPUT_TEXTURE_COORD21_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_OUTPUT_TEXTURE_COORD21_EXT :: forall a. (Eq a, Num a) => a
GL_OUTPUT_TEXTURE_COORD21_EXT = 0x87B2

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

pattern $mGL_OUTPUT_TEXTURE_COORD22_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_OUTPUT_TEXTURE_COORD22_EXT :: forall a. (Eq a, Num a) => a
GL_OUTPUT_TEXTURE_COORD22_EXT = 0x87B3

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

pattern $mGL_OUTPUT_TEXTURE_COORD23_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_OUTPUT_TEXTURE_COORD23_EXT :: forall a. (Eq a, Num a) => a
GL_OUTPUT_TEXTURE_COORD23_EXT = 0x87B4

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

pattern $mGL_OUTPUT_TEXTURE_COORD24_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_OUTPUT_TEXTURE_COORD24_EXT :: forall a. (Eq a, Num a) => a
GL_OUTPUT_TEXTURE_COORD24_EXT = 0x87B5

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

pattern $mGL_OUTPUT_TEXTURE_COORD25_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_OUTPUT_TEXTURE_COORD25_EXT :: forall a. (Eq a, Num a) => a
GL_OUTPUT_TEXTURE_COORD25_EXT = 0x87B6

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

pattern $mGL_OUTPUT_TEXTURE_COORD26_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_OUTPUT_TEXTURE_COORD26_EXT :: forall a. (Eq a, Num a) => a
GL_OUTPUT_TEXTURE_COORD26_EXT = 0x87B7

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

pattern $mGL_OUTPUT_TEXTURE_COORD27_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_OUTPUT_TEXTURE_COORD27_EXT :: forall a. (Eq a, Num a) => a
GL_OUTPUT_TEXTURE_COORD27_EXT = 0x87B8

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

pattern $mGL_OUTPUT_TEXTURE_COORD28_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_OUTPUT_TEXTURE_COORD28_EXT :: forall a. (Eq a, Num a) => a
GL_OUTPUT_TEXTURE_COORD28_EXT = 0x87B9

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

pattern $mGL_OUTPUT_TEXTURE_COORD29_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_OUTPUT_TEXTURE_COORD29_EXT :: forall a. (Eq a, Num a) => a
GL_OUTPUT_TEXTURE_COORD29_EXT = 0x87BA

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

pattern $mGL_OUTPUT_TEXTURE_COORD2_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_OUTPUT_TEXTURE_COORD2_EXT :: forall a. (Eq a, Num a) => a
GL_OUTPUT_TEXTURE_COORD2_EXT = 0x879F

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

pattern $mGL_OUTPUT_TEXTURE_COORD30_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_OUTPUT_TEXTURE_COORD30_EXT :: forall a. (Eq a, Num a) => a
GL_OUTPUT_TEXTURE_COORD30_EXT = 0x87BB

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

pattern $mGL_OUTPUT_TEXTURE_COORD31_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_OUTPUT_TEXTURE_COORD31_EXT :: forall a. (Eq a, Num a) => a
GL_OUTPUT_TEXTURE_COORD31_EXT = 0x87BC

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

pattern $mGL_OUTPUT_TEXTURE_COORD3_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_OUTPUT_TEXTURE_COORD3_EXT :: forall a. (Eq a, Num a) => a
GL_OUTPUT_TEXTURE_COORD3_EXT = 0x87A0

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

pattern $mGL_OUTPUT_TEXTURE_COORD4_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_OUTPUT_TEXTURE_COORD4_EXT :: forall a. (Eq a, Num a) => a
GL_OUTPUT_TEXTURE_COORD4_EXT = 0x87A1

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

pattern $mGL_OUTPUT_TEXTURE_COORD5_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_OUTPUT_TEXTURE_COORD5_EXT :: forall a. (Eq a, Num a) => a
GL_OUTPUT_TEXTURE_COORD5_EXT = 0x87A2

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

pattern $mGL_OUTPUT_TEXTURE_COORD6_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_OUTPUT_TEXTURE_COORD6_EXT :: forall a. (Eq a, Num a) => a
GL_OUTPUT_TEXTURE_COORD6_EXT = 0x87A3

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

pattern $mGL_OUTPUT_TEXTURE_COORD7_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_OUTPUT_TEXTURE_COORD7_EXT :: forall a. (Eq a, Num a) => a
GL_OUTPUT_TEXTURE_COORD7_EXT = 0x87A4

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

pattern $mGL_OUTPUT_TEXTURE_COORD8_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_OUTPUT_TEXTURE_COORD8_EXT :: forall a. (Eq a, Num a) => a
GL_OUTPUT_TEXTURE_COORD8_EXT = 0x87A5

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

pattern $mGL_OUTPUT_TEXTURE_COORD9_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_OUTPUT_TEXTURE_COORD9_EXT :: forall a. (Eq a, Num a) => a
GL_OUTPUT_TEXTURE_COORD9_EXT = 0x87A6

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

pattern $mGL_OUTPUT_VERTEX_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_OUTPUT_VERTEX_EXT :: forall a. (Eq a, Num a) => a
GL_OUTPUT_VERTEX_EXT = 0x879A

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

pattern $mGL_SCALAR_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_SCALAR_EXT :: forall a. (Eq a, Num a) => a
GL_SCALAR_EXT = 0x87BE

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

pattern $mGL_VARIANT_ARRAY_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_VARIANT_ARRAY_EXT :: forall a. (Eq a, Num a) => a
GL_VARIANT_ARRAY_EXT = 0x87E8

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

pattern $mGL_VARIANT_ARRAY_POINTER_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_VARIANT_ARRAY_POINTER_EXT :: forall a. (Eq a, Num a) => a
GL_VARIANT_ARRAY_POINTER_EXT = 0x87E9

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

pattern $mGL_VARIANT_ARRAY_STRIDE_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_VARIANT_ARRAY_STRIDE_EXT :: forall a. (Eq a, Num a) => a
GL_VARIANT_ARRAY_STRIDE_EXT = 0x87E6

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

pattern $mGL_VARIANT_ARRAY_TYPE_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_VARIANT_ARRAY_TYPE_EXT :: forall a. (Eq a, Num a) => a
GL_VARIANT_ARRAY_TYPE_EXT = 0x87E7

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

pattern $mGL_VARIANT_DATATYPE_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_VARIANT_DATATYPE_EXT :: forall a. (Eq a, Num a) => a
GL_VARIANT_DATATYPE_EXT = 0x87E5

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

pattern $mGL_VARIANT_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_VARIANT_EXT :: forall a. (Eq a, Num a) => a
GL_VARIANT_EXT = 0x87C1

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

pattern $mGL_VARIANT_VALUE_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_VARIANT_VALUE_EXT :: forall a. (Eq a, Num a) => a
GL_VARIANT_VALUE_EXT = 0x87E4

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

pattern $mGL_VECTOR_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_VECTOR_EXT :: forall a. (Eq a, Num a) => a
GL_VECTOR_EXT = 0x87BF

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

pattern $mGL_VERTEX_SHADER_BINDING_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_VERTEX_SHADER_BINDING_EXT :: forall a. (Eq a, Num a) => a
GL_VERTEX_SHADER_BINDING_EXT = 0x8781

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

pattern $mGL_VERTEX_SHADER_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_VERTEX_SHADER_EXT :: forall a. (Eq a, Num a) => a
GL_VERTEX_SHADER_EXT = 0x8780

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

pattern $mGL_VERTEX_SHADER_INSTRUCTIONS_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_VERTEX_SHADER_INSTRUCTIONS_EXT :: forall a. (Eq a, Num a) => a
GL_VERTEX_SHADER_INSTRUCTIONS_EXT = 0x87CF

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

pattern $mGL_VERTEX_SHADER_INVARIANTS_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_VERTEX_SHADER_INVARIANTS_EXT :: forall a. (Eq a, Num a) => a
GL_VERTEX_SHADER_INVARIANTS_EXT = 0x87D1

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

pattern $mGL_VERTEX_SHADER_LOCALS_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_VERTEX_SHADER_LOCALS_EXT :: forall a. (Eq a, Num a) => a
GL_VERTEX_SHADER_LOCALS_EXT = 0x87D3

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

pattern $mGL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT :: forall a. (Eq a, Num a) => a
GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = 0x87D2

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

pattern $mGL_VERTEX_SHADER_OPTIMIZED_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_VERTEX_SHADER_OPTIMIZED_EXT :: forall a. (Eq a, Num a) => a
GL_VERTEX_SHADER_OPTIMIZED_EXT = 0x87D4

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

pattern $mGL_VERTEX_SHADER_VARIANTS_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_VERTEX_SHADER_VARIANTS_EXT :: forall a. (Eq a, Num a) => a
GL_VERTEX_SHADER_VARIANTS_EXT = 0x87D0

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

pattern $mGL_W_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_W_EXT :: forall a. (Eq a, Num a) => a
GL_W_EXT = 0x87D8

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

pattern $mGL_X_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_X_EXT :: forall a. (Eq a, Num a) => a
GL_X_EXT = 0x87D5

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

pattern $mGL_Y_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_Y_EXT :: forall a. (Eq a, Num a) => a
GL_Y_EXT = 0x87D6

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

pattern $mGL_ZERO_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_ZERO_EXT :: forall a. (Eq a, Num a) => a
GL_ZERO_EXT = 0x87DD

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

pattern $mGL_Z_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_Z_EXT :: forall a. (Eq a, Num a) => a
GL_Z_EXT = 0x87D7