-- 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 = [Char] -> Set [Char] -> Bool
forall a. Ord a => a -> Set a -> Bool
member "GL_EXT_vertex_shader" Set [Char]
extensions
{-# NOINLINE gl_EXT_vertex_shader #-}

-- | Usage: @'glBeginVertexShaderEXT'@


glBeginVertexShaderEXT :: MonadIO m => m ()
glBeginVertexShaderEXT :: 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 ([Char] -> IO (FunPtr (IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "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 :: 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 ([Char] -> IO (FunPtr (GLenum -> GLenum -> IO GLenum))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "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 :: 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 ([Char] -> IO (FunPtr (GLenum -> GLenum -> IO GLenum))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glBindMaterialParameterEXT")

{-# NOINLINE glBindMaterialParameterEXTFunPtr #-}

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


glBindParameterEXT :: MonadIO m => GLenum -> m GLuint
glBindParameterEXT :: 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 ([Char] -> IO (FunPtr (GLenum -> IO GLenum))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "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 :: 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 ([Char] -> IO (FunPtr (GLenum -> GLenum -> GLenum -> IO GLenum))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "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 :: 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 ([Char] -> IO (FunPtr (GLenum -> GLenum -> IO GLenum))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glBindTextureUnitParameterEXT")

{-# NOINLINE glBindTextureUnitParameterEXTFunPtr #-}

-- | Usage: @'glBindVertexShaderEXT' id@


glBindVertexShaderEXT :: MonadIO m => GLuint -> m ()
glBindVertexShaderEXT :: 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 ([Char] -> IO (FunPtr (GLenum -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glBindVertexShaderEXT")

{-# NOINLINE glBindVertexShaderEXTFunPtr #-}

-- | Usage: @'glDeleteVertexShaderEXT' id@


glDeleteVertexShaderEXT :: MonadIO m => GLuint -> m ()
glDeleteVertexShaderEXT :: 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 ([Char] -> IO (FunPtr (GLenum -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glDeleteVertexShaderEXT")

{-# NOINLINE glDeleteVertexShaderEXTFunPtr #-}

-- | Usage: @'glDisableVariantClientStateEXT' id@


glDisableVariantClientStateEXT :: MonadIO m => GLuint -> m ()
glDisableVariantClientStateEXT :: 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 ([Char] -> IO (FunPtr (GLenum -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glDisableVariantClientStateEXT")

{-# NOINLINE glDisableVariantClientStateEXTFunPtr #-}

-- | Usage: @'glEnableVariantClientStateEXT' id@


glEnableVariantClientStateEXT :: MonadIO m => GLuint -> m ()
glEnableVariantClientStateEXT :: 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 ([Char] -> IO (FunPtr (GLenum -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glEnableVariantClientStateEXT")

{-# NOINLINE glEnableVariantClientStateEXTFunPtr #-}

-- | Usage: @'glEndVertexShaderEXT'@


glEndVertexShaderEXT :: MonadIO m => m ()
glEndVertexShaderEXT :: 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 ([Char] -> IO (FunPtr (IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glEndVertexShaderEXT")

{-# NOINLINE glEndVertexShaderEXTFunPtr #-}

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


glExtractComponentEXT :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()
glExtractComponentEXT :: 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 ([Char] -> IO (FunPtr (GLenum -> GLenum -> GLenum -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "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 :: 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 ([Char]
-> IO (FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO GLenum))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glGenSymbolsEXT")

{-# NOINLINE glGenSymbolsEXTFunPtr #-}

-- | Usage: @'glGenVertexShadersEXT' range@


glGenVertexShadersEXT :: MonadIO m => GLuint -> m GLuint
glGenVertexShadersEXT :: 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 ([Char] -> IO (FunPtr (GLenum -> IO GLenum))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "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 :: 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 ([Char] -> IO (FunPtr (GLenum -> GLenum -> Ptr GLboolean -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "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 :: 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 ([Char] -> IO (FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "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 :: 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 ([Char] -> IO (FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "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 :: 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 ([Char] -> IO (FunPtr (GLenum -> GLenum -> Ptr GLboolean -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "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 :: 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 ([Char] -> IO (FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "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 :: 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 ([Char] -> IO (FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "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 :: 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 ([Char] -> IO (FunPtr (GLenum -> GLenum -> Ptr GLboolean -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "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 :: 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 ([Char] -> IO (FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "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 :: 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 ([Char] -> IO (FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "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 :: 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 ([Char] -> IO (FunPtr (GLenum -> GLenum -> Ptr (Ptr ()) -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glGetVariantPointervEXT")

{-# NOINLINE glGetVariantPointervEXTFunPtr #-}

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


glInsertComponentEXT :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()
glInsertComponentEXT :: 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 ([Char] -> IO (FunPtr (GLenum -> GLenum -> GLenum -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glInsertComponentEXT")

{-# NOINLINE glInsertComponentEXTFunPtr #-}

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


glIsVariantEnabledEXT :: MonadIO m => GLuint -> GLenum -> m GLboolean
glIsVariantEnabledEXT :: 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 ([Char] -> IO (FunPtr (GLenum -> GLenum -> IO GLboolean))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "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 :: 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 ([Char] -> IO (FunPtr (GLenum -> GLenum -> Ptr () -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "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 :: 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 ([Char] -> IO (FunPtr (GLenum -> GLenum -> Ptr () -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glSetLocalConstantEXT")

{-# NOINLINE glSetLocalConstantEXTFunPtr #-}

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


glShaderOp1EXT :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()
glShaderOp1EXT :: 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 ([Char] -> IO (FunPtr (GLenum -> GLenum -> GLenum -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glShaderOp1EXT")

{-# NOINLINE glShaderOp1EXTFunPtr #-}

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


glShaderOp2EXT :: MonadIO m => GLenum -> GLuint -> GLuint -> GLuint -> m ()
glShaderOp2EXT :: 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 ([Char]
-> IO (FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "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 :: 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 ([Char]
-> IO
     (FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "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 :: 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 ([Char]
-> IO
     (FunPtr
        (GLenum
         -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "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 :: 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 ([Char]
-> IO (FunPtr (GLenum -> GLenum -> GLenum -> Ptr () -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glVariantPointerEXT")

{-# NOINLINE glVariantPointerEXTFunPtr #-}

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


glVariantbvEXT :: MonadIO m => GLuint -> Ptr GLbyte -> m ()
glVariantbvEXT :: 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 ([Char] -> IO (FunPtr (GLenum -> Ptr GLbyte -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glVariantbvEXT")

{-# NOINLINE glVariantbvEXTFunPtr #-}

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


glVariantdvEXT :: MonadIO m => GLuint -> Ptr GLdouble -> m ()
glVariantdvEXT :: 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 ([Char] -> IO (FunPtr (GLenum -> Ptr GLdouble -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glVariantdvEXT")

{-# NOINLINE glVariantdvEXTFunPtr #-}

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


glVariantfvEXT :: MonadIO m => GLuint -> Ptr GLfloat -> m ()
glVariantfvEXT :: 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 ([Char] -> IO (FunPtr (GLenum -> Ptr GLfloat -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glVariantfvEXT")

{-# NOINLINE glVariantfvEXTFunPtr #-}

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


glVariantivEXT :: MonadIO m => GLuint -> Ptr GLint -> m ()
glVariantivEXT :: 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 ([Char] -> IO (FunPtr (GLenum -> Ptr GLint -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glVariantivEXT")

{-# NOINLINE glVariantivEXTFunPtr #-}

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


glVariantsvEXT :: MonadIO m => GLuint -> Ptr GLshort -> m ()
glVariantsvEXT :: 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 ([Char] -> IO (FunPtr (GLenum -> Ptr GLshort -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glVariantsvEXT")

{-# NOINLINE glVariantsvEXTFunPtr #-}

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


glVariantubvEXT :: MonadIO m => GLuint -> Ptr GLubyte -> m ()
glVariantubvEXT :: 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 ([Char] -> IO (FunPtr (GLenum -> Ptr GLboolean -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glVariantubvEXT")

{-# NOINLINE glVariantubvEXTFunPtr #-}

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


glVariantuivEXT :: MonadIO m => GLuint -> Ptr GLuint -> m ()
glVariantuivEXT :: 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 ([Char] -> IO (FunPtr (GLenum -> Ptr GLenum -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glVariantuivEXT")

{-# NOINLINE glVariantuivEXTFunPtr #-}

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


glVariantusvEXT :: MonadIO m => GLuint -> Ptr GLushort -> m ()
glVariantusvEXT :: 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 ([Char] -> IO (FunPtr (GLenum -> Ptr GLushort -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "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 :: 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 ([Char]
-> IO
     (FunPtr
        (GLenum
         -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glWriteMaskEXT")

{-# NOINLINE glWriteMaskEXTFunPtr #-}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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