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

  -- * GL_NV_vertex_program
  , glAreProgramsResidentNV
  , glBindProgramNV
  , glDeleteProgramsNV
  , glExecuteProgramNV
  , glGenProgramsNV
  , glGetProgramParameterdvNV
  , glGetProgramParameterfvNV
  , glGetProgramStringNV
  , glGetProgramivNV
  , glGetTrackMatrixivNV
  , glGetVertexAttribPointervNV
  , glGetVertexAttribdvNV
  , glGetVertexAttribfvNV
  , glGetVertexAttribivNV
  , glIsProgramNV
  , glLoadProgramNV
  , glProgramParameter4dNV
  , glProgramParameter4dvNV
  , glProgramParameter4fNV
  , glProgramParameter4fvNV
  , glProgramParameters4dvNV
  , glProgramParameters4fvNV
  , glRequestResidentProgramsNV
  , glTrackMatrixNV
  , glVertexAttrib1dNV
  , glVertexAttrib1dvNV
  , glVertexAttrib1fNV
  , glVertexAttrib1fvNV
  , glVertexAttrib1sNV
  , glVertexAttrib1svNV
  , glVertexAttrib2dNV
  , glVertexAttrib2dvNV
  , glVertexAttrib2fNV
  , glVertexAttrib2fvNV
  , glVertexAttrib2sNV
  , glVertexAttrib2svNV
  , glVertexAttrib3dNV
  , glVertexAttrib3dvNV
  , glVertexAttrib3fNV
  , glVertexAttrib3fvNV
  , glVertexAttrib3sNV
  , glVertexAttrib3svNV
  , glVertexAttrib4dNV
  , glVertexAttrib4dvNV
  , glVertexAttrib4fNV
  , glVertexAttrib4fvNV
  , glVertexAttrib4sNV
  , glVertexAttrib4svNV
  , glVertexAttrib4ubNV
  , glVertexAttrib4ubvNV
  , glVertexAttribPointerNV
  , glVertexAttribs1dvNV
  , glVertexAttribs1fvNV
  , glVertexAttribs1svNV
  , glVertexAttribs2dvNV
  , glVertexAttribs2fvNV
  , glVertexAttribs2svNV
  , glVertexAttribs3dvNV
  , glVertexAttribs3fvNV
  , glVertexAttribs3svNV
  , glVertexAttribs4dvNV
  , glVertexAttribs4fvNV
  , glVertexAttribs4svNV
  , glVertexAttribs4ubvNV
  , pattern GL_ATTRIB_ARRAY_POINTER_NV
  , pattern GL_ATTRIB_ARRAY_SIZE_NV
  , pattern GL_ATTRIB_ARRAY_STRIDE_NV
  , pattern GL_ATTRIB_ARRAY_TYPE_NV
  , pattern GL_CURRENT_ATTRIB_NV
  , pattern GL_CURRENT_MATRIX_NV
  , pattern GL_CURRENT_MATRIX_STACK_DEPTH_NV
  , pattern GL_IDENTITY_NV
  , pattern GL_INVERSE_NV
  , pattern GL_INVERSE_TRANSPOSE_NV
  , pattern GL_MAP1_VERTEX_ATTRIB0_4_NV
  , pattern GL_MAP1_VERTEX_ATTRIB10_4_NV
  , pattern GL_MAP1_VERTEX_ATTRIB11_4_NV
  , pattern GL_MAP1_VERTEX_ATTRIB12_4_NV
  , pattern GL_MAP1_VERTEX_ATTRIB13_4_NV
  , pattern GL_MAP1_VERTEX_ATTRIB14_4_NV
  , pattern GL_MAP1_VERTEX_ATTRIB15_4_NV
  , pattern GL_MAP1_VERTEX_ATTRIB1_4_NV
  , pattern GL_MAP1_VERTEX_ATTRIB2_4_NV
  , pattern GL_MAP1_VERTEX_ATTRIB3_4_NV
  , pattern GL_MAP1_VERTEX_ATTRIB4_4_NV
  , pattern GL_MAP1_VERTEX_ATTRIB5_4_NV
  , pattern GL_MAP1_VERTEX_ATTRIB6_4_NV
  , pattern GL_MAP1_VERTEX_ATTRIB7_4_NV
  , pattern GL_MAP1_VERTEX_ATTRIB8_4_NV
  , pattern GL_MAP1_VERTEX_ATTRIB9_4_NV
  , pattern GL_MAP2_VERTEX_ATTRIB0_4_NV
  , pattern GL_MAP2_VERTEX_ATTRIB10_4_NV
  , pattern GL_MAP2_VERTEX_ATTRIB11_4_NV
  , pattern GL_MAP2_VERTEX_ATTRIB12_4_NV
  , pattern GL_MAP2_VERTEX_ATTRIB13_4_NV
  , pattern GL_MAP2_VERTEX_ATTRIB14_4_NV
  , pattern GL_MAP2_VERTEX_ATTRIB15_4_NV
  , pattern GL_MAP2_VERTEX_ATTRIB1_4_NV
  , pattern GL_MAP2_VERTEX_ATTRIB2_4_NV
  , pattern GL_MAP2_VERTEX_ATTRIB3_4_NV
  , pattern GL_MAP2_VERTEX_ATTRIB4_4_NV
  , pattern GL_MAP2_VERTEX_ATTRIB5_4_NV
  , pattern GL_MAP2_VERTEX_ATTRIB6_4_NV
  , pattern GL_MAP2_VERTEX_ATTRIB7_4_NV
  , pattern GL_MAP2_VERTEX_ATTRIB8_4_NV
  , pattern GL_MAP2_VERTEX_ATTRIB9_4_NV
  , pattern GL_MATRIX0_NV
  , pattern GL_MATRIX1_NV
  , pattern GL_MATRIX2_NV
  , pattern GL_MATRIX3_NV
  , pattern GL_MATRIX4_NV
  , pattern GL_MATRIX5_NV
  , pattern GL_MATRIX6_NV
  , pattern GL_MATRIX7_NV
  , pattern GL_MAX_TRACK_MATRICES_NV
  , pattern GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV
  , pattern GL_MODELVIEW_PROJECTION_NV
  , pattern GL_PROGRAM_ERROR_POSITION_NV
  , pattern GL_PROGRAM_LENGTH_NV
  , pattern GL_PROGRAM_PARAMETER_NV
  , pattern GL_PROGRAM_RESIDENT_NV
  , pattern GL_PROGRAM_STRING_NV
  , pattern GL_PROGRAM_TARGET_NV
  , pattern GL_TRACK_MATRIX_NV
  , pattern GL_TRACK_MATRIX_TRANSFORM_NV
  , pattern GL_TRANSPOSE_NV
  , pattern GL_VERTEX_ATTRIB_ARRAY0_NV
  , pattern GL_VERTEX_ATTRIB_ARRAY10_NV
  , pattern GL_VERTEX_ATTRIB_ARRAY11_NV
  , pattern GL_VERTEX_ATTRIB_ARRAY12_NV
  , pattern GL_VERTEX_ATTRIB_ARRAY13_NV
  , pattern GL_VERTEX_ATTRIB_ARRAY14_NV
  , pattern GL_VERTEX_ATTRIB_ARRAY15_NV
  , pattern GL_VERTEX_ATTRIB_ARRAY1_NV
  , pattern GL_VERTEX_ATTRIB_ARRAY2_NV
  , pattern GL_VERTEX_ATTRIB_ARRAY3_NV
  , pattern GL_VERTEX_ATTRIB_ARRAY4_NV
  , pattern GL_VERTEX_ATTRIB_ARRAY5_NV
  , pattern GL_VERTEX_ATTRIB_ARRAY6_NV
  , pattern GL_VERTEX_ATTRIB_ARRAY7_NV
  , pattern GL_VERTEX_ATTRIB_ARRAY8_NV
  , pattern GL_VERTEX_ATTRIB_ARRAY9_NV
  , pattern GL_VERTEX_PROGRAM_BINDING_NV
  , pattern GL_VERTEX_PROGRAM_NV
  , pattern GL_VERTEX_PROGRAM_POINT_SIZE_NV
  , pattern GL_VERTEX_PROGRAM_TWO_SIDE_NV
  , pattern GL_VERTEX_STATE_PROGRAM_NV
) where

import Control.Monad.IO.Class
import Data.Set
import Foreign.Ptr
import Graphics.GL.Internal.FFI
import Graphics.GL.Internal.Proc
import Graphics.GL.Types
import System.IO.Unsafe

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

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

-- | Usage: @'glAreProgramsResidentNV' n programs residences@
--
-- The parameter @residences@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @programs@ should be @n@.
--
-- The length of @residences@ should be @n@.


glAreProgramsResidentNV :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLboolean -> m GLboolean
glAreProgramsResidentNV :: GLsizei -> Ptr GLuint -> Ptr GLboolean -> m GLboolean
glAreProgramsResidentNV = FunPtr (GLsizei -> Ptr GLuint -> Ptr GLboolean -> IO GLboolean)
-> GLsizei -> Ptr GLuint -> Ptr GLboolean -> m GLboolean
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> Ptr GLuint -> Ptr GLboolean -> IO GLboolean)
-> GLsizei -> Ptr GLuint -> Ptr GLboolean -> m GLboolean
ffisizeiPtruintPtrbooleanIOboolean FunPtr (GLsizei -> Ptr GLuint -> Ptr GLboolean -> IO GLboolean)
glAreProgramsResidentNVFunPtr

glAreProgramsResidentNVFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> Ptr GLboolean -> IO GLboolean)
glAreProgramsResidentNVFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> Ptr GLboolean -> IO GLboolean)
glAreProgramsResidentNVFunPtr = IO
  (FunPtr (GLsizei -> Ptr GLuint -> Ptr GLboolean -> IO GLboolean))
-> FunPtr (GLsizei -> Ptr GLuint -> Ptr GLboolean -> IO GLboolean)
forall a. IO a -> a
unsafePerformIO ([Char]
-> IO
     (FunPtr (GLsizei -> Ptr GLuint -> Ptr GLboolean -> IO GLboolean))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glAreProgramsResidentNV")

{-# NOINLINE glAreProgramsResidentNVFunPtr #-}

-- | Usage: @'glBindProgramNV' target id@
--
-- The parameter @target@ is a @VertexAttribEnumNV@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glBindProgramARB'.


glBindProgramNV :: MonadIO m => GLenum -> GLuint -> m ()
glBindProgramNV :: GLuint -> GLuint -> m ()
glBindProgramNV = FunPtr (GLuint -> GLuint -> IO ()) -> GLuint -> GLuint -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> GLuint -> IO ()) -> GLuint -> GLuint -> m ()
ffienumuintIOV FunPtr (GLuint -> GLuint -> IO ())
glBindProgramNVFunPtr

glBindProgramNVFunPtr :: FunPtr (GLenum -> GLuint -> IO ())
glBindProgramNVFunPtr :: FunPtr (GLuint -> GLuint -> IO ())
glBindProgramNVFunPtr = IO (FunPtr (GLuint -> GLuint -> IO ()))
-> FunPtr (GLuint -> GLuint -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLuint -> GLuint -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glBindProgramNV")

{-# NOINLINE glBindProgramNVFunPtr #-}

-- | Usage: @'glDeleteProgramsNV' n programs@
--
-- The length of @programs@ should be @n@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glDeleteProgramsARB'.


glDeleteProgramsNV :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glDeleteProgramsNV :: GLsizei -> Ptr GLuint -> m ()
glDeleteProgramsNV = FunPtr (GLsizei -> Ptr GLuint -> IO ())
-> GLsizei -> Ptr GLuint -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> Ptr GLuint -> IO ())
-> GLsizei -> Ptr GLuint -> m ()
ffisizeiPtruintIOV FunPtr (GLsizei -> Ptr GLuint -> IO ())
glDeleteProgramsNVFunPtr

glDeleteProgramsNVFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glDeleteProgramsNVFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glDeleteProgramsNVFunPtr = IO (FunPtr (GLsizei -> Ptr GLuint -> IO ()))
-> FunPtr (GLsizei -> Ptr GLuint -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLsizei -> Ptr GLuint -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glDeleteProgramsNV")

{-# NOINLINE glDeleteProgramsNVFunPtr #-}

-- | Usage: @'glExecuteProgramNV' target id params@
--
-- The parameter @target@ is a @VertexAttribEnumNV@.
--
-- The length of @params@ should be @4@.


glExecuteProgramNV :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()
glExecuteProgramNV :: GLuint -> GLuint -> Ptr GLfloat -> m ()
glExecuteProgramNV = FunPtr (GLuint -> GLuint -> Ptr GLfloat -> IO ())
-> GLuint -> GLuint -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> GLuint -> Ptr GLfloat -> IO ())
-> GLuint -> GLuint -> Ptr GLfloat -> m ()
ffienumuintPtrfloatIOV FunPtr (GLuint -> GLuint -> Ptr GLfloat -> IO ())
glExecuteProgramNVFunPtr

glExecuteProgramNVFunPtr :: FunPtr (GLenum -> GLuint -> Ptr GLfloat -> IO ())
glExecuteProgramNVFunPtr :: FunPtr (GLuint -> GLuint -> Ptr GLfloat -> IO ())
glExecuteProgramNVFunPtr = IO (FunPtr (GLuint -> GLuint -> Ptr GLfloat -> IO ()))
-> FunPtr (GLuint -> GLuint -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLuint -> GLuint -> Ptr GLfloat -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glExecuteProgramNV")

{-# NOINLINE glExecuteProgramNVFunPtr #-}

-- | Usage: @'glGenProgramsNV' n programs@
--
-- The length of @programs@ should be @n@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glGenProgramsARB'.


glGenProgramsNV :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGenProgramsNV :: GLsizei -> Ptr GLuint -> m ()
glGenProgramsNV = FunPtr (GLsizei -> Ptr GLuint -> IO ())
-> GLsizei -> Ptr GLuint -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> Ptr GLuint -> IO ())
-> GLsizei -> Ptr GLuint -> m ()
ffisizeiPtruintIOV FunPtr (GLsizei -> Ptr GLuint -> IO ())
glGenProgramsNVFunPtr

glGenProgramsNVFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glGenProgramsNVFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glGenProgramsNVFunPtr = IO (FunPtr (GLsizei -> Ptr GLuint -> IO ()))
-> FunPtr (GLsizei -> Ptr GLuint -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLsizei -> Ptr GLuint -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glGenProgramsNV")

{-# NOINLINE glGenProgramsNVFunPtr #-}

-- | Usage: @'glGetProgramParameterdvNV' target index pname params@
--
-- The parameter @target@ is a @VertexAttribEnumNV@.
--
-- The parameter @pname@ is a @VertexAttribEnumNV@.
--
-- The length of @params@ should be @4@.


glGetProgramParameterdvNV :: MonadIO m => GLenum -> GLuint -> GLenum -> Ptr GLdouble -> m ()
glGetProgramParameterdvNV :: GLuint -> GLuint -> GLuint -> Ptr GLdouble -> m ()
glGetProgramParameterdvNV = FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLdouble -> IO ())
-> GLuint -> GLuint -> GLuint -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLdouble -> IO ())
-> GLuint -> GLuint -> GLuint -> Ptr GLdouble -> m ()
ffienumuintenumPtrdoubleIOV FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLdouble -> IO ())
glGetProgramParameterdvNVFunPtr

glGetProgramParameterdvNVFunPtr :: FunPtr (GLenum -> GLuint -> GLenum -> Ptr GLdouble -> IO ())
glGetProgramParameterdvNVFunPtr :: FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLdouble -> IO ())
glGetProgramParameterdvNVFunPtr = IO (FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLdouble -> IO ()))
-> FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char]
-> IO
     (FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLdouble -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glGetProgramParameterdvNV")

{-# NOINLINE glGetProgramParameterdvNVFunPtr #-}

-- | Usage: @'glGetProgramParameterfvNV' target index pname params@
--
-- The parameter @target@ is a @VertexAttribEnumNV@.
--
-- The parameter @pname@ is a @VertexAttribEnumNV@.
--
-- The length of @params@ should be @4@.


glGetProgramParameterfvNV :: MonadIO m => GLenum -> GLuint -> GLenum -> Ptr GLfloat -> m ()
glGetProgramParameterfvNV :: GLuint -> GLuint -> GLuint -> Ptr GLfloat -> m ()
glGetProgramParameterfvNV = FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLfloat -> IO ())
-> GLuint -> GLuint -> GLuint -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLfloat -> IO ())
-> GLuint -> GLuint -> GLuint -> Ptr GLfloat -> m ()
ffienumuintenumPtrfloatIOV FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLfloat -> IO ())
glGetProgramParameterfvNVFunPtr

glGetProgramParameterfvNVFunPtr :: FunPtr (GLenum -> GLuint -> GLenum -> Ptr GLfloat -> IO ())
glGetProgramParameterfvNVFunPtr :: FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLfloat -> IO ())
glGetProgramParameterfvNVFunPtr = IO (FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLfloat -> IO ()))
-> FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char]
-> IO (FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLfloat -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glGetProgramParameterfvNV")

{-# NOINLINE glGetProgramParameterfvNVFunPtr #-}

-- | Usage: @'glGetProgramStringNV' id pname program@
--
-- The parameter @pname@ is a @VertexAttribEnumNV@.
--
-- The parameter @program@ is a @ProgramCharacterNV@.
--
-- The length of @program@ should be @COMPSIZE(id,pname)@.


glGetProgramStringNV :: MonadIO m => GLuint -> GLenum -> Ptr GLubyte -> m ()
glGetProgramStringNV :: GLuint -> GLuint -> Ptr GLboolean -> m ()
glGetProgramStringNV = FunPtr (GLuint -> GLuint -> Ptr GLboolean -> IO ())
-> GLuint -> GLuint -> Ptr GLboolean -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> GLuint -> Ptr GLboolean -> IO ())
-> GLuint -> GLuint -> Ptr GLboolean -> m ()
ffiuintenumPtrubyteIOV FunPtr (GLuint -> GLuint -> Ptr GLboolean -> IO ())
glGetProgramStringNVFunPtr

glGetProgramStringNVFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLubyte -> IO ())
glGetProgramStringNVFunPtr :: FunPtr (GLuint -> GLuint -> Ptr GLboolean -> IO ())
glGetProgramStringNVFunPtr = IO (FunPtr (GLuint -> GLuint -> Ptr GLboolean -> IO ()))
-> FunPtr (GLuint -> GLuint -> Ptr GLboolean -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLuint -> GLuint -> Ptr GLboolean -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glGetProgramStringNV")

{-# NOINLINE glGetProgramStringNVFunPtr #-}

-- | Usage: @'glGetProgramivNV' id pname params@
--
-- The parameter @pname@ is a @VertexAttribEnumNV@.
--
-- The length of @params@ should be @4@.


glGetProgramivNV :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetProgramivNV :: GLuint -> GLuint -> Ptr GLsizei -> m ()
glGetProgramivNV = FunPtr (GLuint -> GLuint -> Ptr GLsizei -> IO ())
-> GLuint -> GLuint -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> GLuint -> Ptr GLsizei -> IO ())
-> GLuint -> GLuint -> Ptr GLsizei -> m ()
ffiuintenumPtrintIOV FunPtr (GLuint -> GLuint -> Ptr GLsizei -> IO ())
glGetProgramivNVFunPtr

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

{-# NOINLINE glGetProgramivNVFunPtr #-}

-- | Usage: @'glGetTrackMatrixivNV' target address pname params@
--
-- The parameter @target@ is a @VertexAttribEnumNV@.
--
-- The parameter @pname@ is a @VertexAttribEnumNV@.
--
-- The length of @params@ should be @1@.


glGetTrackMatrixivNV :: MonadIO m => GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()
glGetTrackMatrixivNV :: GLuint -> GLuint -> GLuint -> Ptr GLsizei -> m ()
glGetTrackMatrixivNV = FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLsizei -> IO ())
-> GLuint -> GLuint -> GLuint -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLsizei -> IO ())
-> GLuint -> GLuint -> GLuint -> Ptr GLsizei -> m ()
ffienumuintenumPtrintIOV FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLsizei -> IO ())
glGetTrackMatrixivNVFunPtr

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

{-# NOINLINE glGetTrackMatrixivNVFunPtr #-}

-- | Usage: @'glGetVertexAttribPointervNV' index pname pointer@
--
-- The parameter @pname@ is a @VertexAttribEnumNV@.
--
-- The length of @pointer@ should be @1@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glGetVertexAttribPointerv'.


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

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

{-# NOINLINE glGetVertexAttribPointervNVFunPtr #-}

-- | Usage: @'glGetVertexAttribdvNV' index pname params@
--
-- The parameter @pname@ is a @VertexAttribEnumNV@.
--
-- The length of @params@ should be @1@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glGetVertexAttribdv'.


glGetVertexAttribdvNV :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()
glGetVertexAttribdvNV :: GLuint -> GLuint -> Ptr GLdouble -> m ()
glGetVertexAttribdvNV = FunPtr (GLuint -> GLuint -> Ptr GLdouble -> IO ())
-> GLuint -> GLuint -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> GLuint -> Ptr GLdouble -> IO ())
-> GLuint -> GLuint -> Ptr GLdouble -> m ()
ffiuintenumPtrdoubleIOV FunPtr (GLuint -> GLuint -> Ptr GLdouble -> IO ())
glGetVertexAttribdvNVFunPtr

glGetVertexAttribdvNVFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLdouble -> IO ())
glGetVertexAttribdvNVFunPtr :: FunPtr (GLuint -> GLuint -> Ptr GLdouble -> IO ())
glGetVertexAttribdvNVFunPtr = IO (FunPtr (GLuint -> GLuint -> Ptr GLdouble -> IO ()))
-> FunPtr (GLuint -> GLuint -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLuint -> GLuint -> Ptr GLdouble -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glGetVertexAttribdvNV")

{-# NOINLINE glGetVertexAttribdvNVFunPtr #-}

-- | Usage: @'glGetVertexAttribfvNV' index pname params@
--
-- The parameter @pname@ is a @VertexAttribEnumNV@.
--
-- The length of @params@ should be @1@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glGetVertexAttribfv'.


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

glGetVertexAttribfvNVFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
glGetVertexAttribfvNVFunPtr :: FunPtr (GLuint -> GLuint -> Ptr GLfloat -> IO ())
glGetVertexAttribfvNVFunPtr = IO (FunPtr (GLuint -> GLuint -> Ptr GLfloat -> IO ()))
-> FunPtr (GLuint -> GLuint -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLuint -> GLuint -> Ptr GLfloat -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glGetVertexAttribfvNV")

{-# NOINLINE glGetVertexAttribfvNVFunPtr #-}

-- | Usage: @'glGetVertexAttribivNV' index pname params@
--
-- The parameter @pname@ is a @VertexAttribEnumNV@.
--
-- The length of @params@ should be @1@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glGetVertexAttribiv'.


glGetVertexAttribivNV :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetVertexAttribivNV :: GLuint -> GLuint -> Ptr GLsizei -> m ()
glGetVertexAttribivNV = FunPtr (GLuint -> GLuint -> Ptr GLsizei -> IO ())
-> GLuint -> GLuint -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> GLuint -> Ptr GLsizei -> IO ())
-> GLuint -> GLuint -> Ptr GLsizei -> m ()
ffiuintenumPtrintIOV FunPtr (GLuint -> GLuint -> Ptr GLsizei -> IO ())
glGetVertexAttribivNVFunPtr

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

{-# NOINLINE glGetVertexAttribivNVFunPtr #-}

-- | Usage: @'glIsProgramNV' id@
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glIsProgramARB'.


glIsProgramNV :: MonadIO m => GLuint -> m GLboolean
glIsProgramNV :: GLuint -> m GLboolean
glIsProgramNV = FunPtr (GLuint -> IO GLboolean) -> GLuint -> m GLboolean
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> IO GLboolean) -> GLuint -> m GLboolean
ffiuintIOboolean FunPtr (GLuint -> IO GLboolean)
glIsProgramNVFunPtr

glIsProgramNVFunPtr :: FunPtr (GLuint -> IO GLboolean)
glIsProgramNVFunPtr :: FunPtr (GLuint -> IO GLboolean)
glIsProgramNVFunPtr = IO (FunPtr (GLuint -> IO GLboolean))
-> FunPtr (GLuint -> IO GLboolean)
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLuint -> IO GLboolean))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glIsProgramNV")

{-# NOINLINE glIsProgramNVFunPtr #-}

-- | Usage: @'glLoadProgramNV' target id len program@
--
-- The parameter @target@ is a @VertexAttribEnumNV@.
--
-- The length of @program@ should be @len@.


glLoadProgramNV :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLubyte -> m ()
glLoadProgramNV :: GLuint -> GLuint -> GLsizei -> Ptr GLboolean -> m ()
glLoadProgramNV = FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLboolean -> IO ())
-> GLuint -> GLuint -> GLsizei -> Ptr GLboolean -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLboolean -> IO ())
-> GLuint -> GLuint -> GLsizei -> Ptr GLboolean -> m ()
ffienumuintsizeiPtrubyteIOV FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLboolean -> IO ())
glLoadProgramNVFunPtr

glLoadProgramNVFunPtr :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLubyte -> IO ())
glLoadProgramNVFunPtr :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLboolean -> IO ())
glLoadProgramNVFunPtr = IO (FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLboolean -> IO ()))
-> FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLboolean -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char]
-> IO
     (FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLboolean -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glLoadProgramNV")

{-# NOINLINE glLoadProgramNVFunPtr #-}

-- | Usage: @'glProgramParameter4dNV' target index x y z w@
--
-- The parameter @target@ is a @VertexAttribEnumNV@.
--
-- The vector equivalent of this command is 'Graphics.GL.Ext.NV.VertexProgram.glProgramParameter4dvNV'.


glProgramParameter4dNV :: MonadIO m => GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glProgramParameter4dNV :: GLuint
-> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glProgramParameter4dNV = FunPtr
  (GLuint
   -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLuint
-> GLuint
-> GLdouble
-> GLdouble
-> GLdouble
-> GLdouble
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLuint
   -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLuint
-> GLuint
-> GLdouble
-> GLdouble
-> GLdouble
-> GLdouble
-> m ()
ffienumuintdoubledoubledoubledoubleIOV FunPtr
  (GLuint
   -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
glProgramParameter4dNVFunPtr

glProgramParameter4dNVFunPtr :: FunPtr (GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
glProgramParameter4dNVFunPtr :: FunPtr
  (GLuint
   -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
glProgramParameter4dNVFunPtr = IO
  (FunPtr
     (GLuint
      -> GLuint
      -> GLdouble
      -> GLdouble
      -> GLdouble
      -> GLdouble
      -> IO ()))
-> FunPtr
     (GLuint
      -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char]
-> IO
     (FunPtr
        (GLuint
         -> GLuint
         -> GLdouble
         -> GLdouble
         -> GLdouble
         -> GLdouble
         -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glProgramParameter4dNV")

{-# NOINLINE glProgramParameter4dNVFunPtr #-}

-- | Usage: @'glProgramParameter4dvNV' target index v@
--
-- The parameter @target@ is a @VertexAttribEnumNV@.
--
-- The length of @v@ should be @4@.


glProgramParameter4dvNV :: MonadIO m => GLenum -> GLuint -> Ptr GLdouble -> m ()
glProgramParameter4dvNV :: GLuint -> GLuint -> Ptr GLdouble -> m ()
glProgramParameter4dvNV = FunPtr (GLuint -> GLuint -> Ptr GLdouble -> IO ())
-> GLuint -> GLuint -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> GLuint -> Ptr GLdouble -> IO ())
-> GLuint -> GLuint -> Ptr GLdouble -> m ()
ffienumuintPtrdoubleIOV FunPtr (GLuint -> GLuint -> Ptr GLdouble -> IO ())
glProgramParameter4dvNVFunPtr

glProgramParameter4dvNVFunPtr :: FunPtr (GLenum -> GLuint -> Ptr GLdouble -> IO ())
glProgramParameter4dvNVFunPtr :: FunPtr (GLuint -> GLuint -> Ptr GLdouble -> IO ())
glProgramParameter4dvNVFunPtr = IO (FunPtr (GLuint -> GLuint -> Ptr GLdouble -> IO ()))
-> FunPtr (GLuint -> GLuint -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLuint -> GLuint -> Ptr GLdouble -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glProgramParameter4dvNV")

{-# NOINLINE glProgramParameter4dvNVFunPtr #-}

-- | Usage: @'glProgramParameter4fNV' target index x y z w@
--
-- The parameter @target@ is a @VertexAttribEnumNV@.
--
-- The vector equivalent of this command is 'Graphics.GL.Ext.NV.VertexProgram.glProgramParameter4fvNV'.


glProgramParameter4fNV :: MonadIO m => GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glProgramParameter4fNV :: GLuint
-> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glProgramParameter4fNV = FunPtr
  (GLuint
   -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLuint
-> GLuint
-> GLfloat
-> GLfloat
-> GLfloat
-> GLfloat
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLuint
   -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLuint
-> GLuint
-> GLfloat
-> GLfloat
-> GLfloat
-> GLfloat
-> m ()
ffienumuintfloatfloatfloatfloatIOV FunPtr
  (GLuint
   -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glProgramParameter4fNVFunPtr

glProgramParameter4fNVFunPtr :: FunPtr (GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glProgramParameter4fNVFunPtr :: FunPtr
  (GLuint
   -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glProgramParameter4fNVFunPtr = IO
  (FunPtr
     (GLuint
      -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()))
-> FunPtr
     (GLuint
      -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char]
-> IO
     (FunPtr
        (GLuint
         -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glProgramParameter4fNV")

{-# NOINLINE glProgramParameter4fNVFunPtr #-}

-- | Usage: @'glProgramParameter4fvNV' target index v@
--
-- The parameter @target@ is a @VertexAttribEnumNV@.
--
-- The length of @v@ should be @4@.


glProgramParameter4fvNV :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()
glProgramParameter4fvNV :: GLuint -> GLuint -> Ptr GLfloat -> m ()
glProgramParameter4fvNV = FunPtr (GLuint -> GLuint -> Ptr GLfloat -> IO ())
-> GLuint -> GLuint -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> GLuint -> Ptr GLfloat -> IO ())
-> GLuint -> GLuint -> Ptr GLfloat -> m ()
ffienumuintPtrfloatIOV FunPtr (GLuint -> GLuint -> Ptr GLfloat -> IO ())
glProgramParameter4fvNVFunPtr

glProgramParameter4fvNVFunPtr :: FunPtr (GLenum -> GLuint -> Ptr GLfloat -> IO ())
glProgramParameter4fvNVFunPtr :: FunPtr (GLuint -> GLuint -> Ptr GLfloat -> IO ())
glProgramParameter4fvNVFunPtr = IO (FunPtr (GLuint -> GLuint -> Ptr GLfloat -> IO ()))
-> FunPtr (GLuint -> GLuint -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLuint -> GLuint -> Ptr GLfloat -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glProgramParameter4fvNV")

{-# NOINLINE glProgramParameter4fvNVFunPtr #-}

-- | Usage: @'glProgramParameters4dvNV' target index count v@
--
-- The parameter @target@ is a @VertexAttribEnumNV@.
--
-- The length of @v@ should be @count*4@.


glProgramParameters4dvNV :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLdouble -> m ()
glProgramParameters4dvNV :: GLuint -> GLuint -> GLsizei -> Ptr GLdouble -> m ()
glProgramParameters4dvNV = FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLdouble -> IO ())
-> GLuint -> GLuint -> GLsizei -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLdouble -> IO ())
-> GLuint -> GLuint -> GLsizei -> Ptr GLdouble -> m ()
ffienumuintsizeiPtrdoubleIOV FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLdouble -> IO ())
glProgramParameters4dvNVFunPtr

glProgramParameters4dvNVFunPtr :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLdouble -> IO ())
glProgramParameters4dvNVFunPtr :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLdouble -> IO ())
glProgramParameters4dvNVFunPtr = IO (FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLdouble -> IO ()))
-> FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char]
-> IO
     (FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLdouble -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glProgramParameters4dvNV")

{-# NOINLINE glProgramParameters4dvNVFunPtr #-}

-- | Usage: @'glProgramParameters4fvNV' target index count v@
--
-- The parameter @target@ is a @VertexAttribEnumNV@.
--
-- The length of @v@ should be @count*4@.


glProgramParameters4fvNV :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> m ()
glProgramParameters4fvNV :: GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> m ()
glProgramParameters4fvNV = FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
-> GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
-> GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> m ()
ffienumuintsizeiPtrfloatIOV FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
glProgramParameters4fvNVFunPtr

glProgramParameters4fvNVFunPtr :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
glProgramParameters4fvNVFunPtr :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
glProgramParameters4fvNVFunPtr = IO (FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ()))
-> FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char]
-> IO
     (FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glProgramParameters4fvNV")

{-# NOINLINE glProgramParameters4fvNVFunPtr #-}

-- | Usage: @'glRequestResidentProgramsNV' n programs@
--
-- The length of @programs@ should be @n@.


glRequestResidentProgramsNV :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glRequestResidentProgramsNV :: GLsizei -> Ptr GLuint -> m ()
glRequestResidentProgramsNV = FunPtr (GLsizei -> Ptr GLuint -> IO ())
-> GLsizei -> Ptr GLuint -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> Ptr GLuint -> IO ())
-> GLsizei -> Ptr GLuint -> m ()
ffisizeiPtruintIOV FunPtr (GLsizei -> Ptr GLuint -> IO ())
glRequestResidentProgramsNVFunPtr

glRequestResidentProgramsNVFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glRequestResidentProgramsNVFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glRequestResidentProgramsNVFunPtr = IO (FunPtr (GLsizei -> Ptr GLuint -> IO ()))
-> FunPtr (GLsizei -> Ptr GLuint -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLsizei -> Ptr GLuint -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glRequestResidentProgramsNV")

{-# NOINLINE glRequestResidentProgramsNVFunPtr #-}

-- | Usage: @'glTrackMatrixNV' target address matrix transform@
--
-- The parameter @target@ is a @VertexAttribEnumNV@.
--
-- The parameter @matrix@ is a @VertexAttribEnumNV@.
--
-- The parameter @transform@ is a @VertexAttribEnumNV@.


glTrackMatrixNV :: MonadIO m => GLenum -> GLuint -> GLenum -> GLenum -> m ()
glTrackMatrixNV :: GLuint -> GLuint -> GLuint -> GLuint -> m ()
glTrackMatrixNV = FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-> GLuint -> GLuint -> GLuint -> GLuint -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-> GLuint -> GLuint -> GLuint -> GLuint -> m ()
ffienumuintenumenumIOV FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> IO ())
glTrackMatrixNVFunPtr

glTrackMatrixNVFunPtr :: FunPtr (GLenum -> GLuint -> GLenum -> GLenum -> IO ())
glTrackMatrixNVFunPtr :: FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> IO ())
glTrackMatrixNVFunPtr = IO (FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> IO ()))
-> FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char]
-> IO (FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glTrackMatrixNV")

{-# NOINLINE glTrackMatrixNVFunPtr #-}

-- | Usage: @'glVertexAttrib1dNV' index x@
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glVertexAttrib1d'.
--
-- The vector equivalent of this command is 'Graphics.GL.Ext.NV.VertexProgram.glVertexAttrib1dvNV'.


glVertexAttrib1dNV :: MonadIO m => GLuint -> GLdouble -> m ()
glVertexAttrib1dNV :: GLuint -> GLdouble -> m ()
glVertexAttrib1dNV = FunPtr (GLuint -> GLdouble -> IO ()) -> GLuint -> GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> GLdouble -> IO ()) -> GLuint -> GLdouble -> m ()
ffiuintdoubleIOV FunPtr (GLuint -> GLdouble -> IO ())
glVertexAttrib1dNVFunPtr

glVertexAttrib1dNVFunPtr :: FunPtr (GLuint -> GLdouble -> IO ())
glVertexAttrib1dNVFunPtr :: FunPtr (GLuint -> GLdouble -> IO ())
glVertexAttrib1dNVFunPtr = IO (FunPtr (GLuint -> GLdouble -> IO ()))
-> FunPtr (GLuint -> GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLuint -> GLdouble -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glVertexAttrib1dNV")

{-# NOINLINE glVertexAttrib1dNVFunPtr #-}

-- | Usage: @'glVertexAttrib1dvNV' index v@
--
-- The length of @v@ should be @1@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glVertexAttrib1dv'.


glVertexAttrib1dvNV :: MonadIO m => GLuint -> Ptr GLdouble -> m ()
glVertexAttrib1dvNV :: GLuint -> Ptr GLdouble -> m ()
glVertexAttrib1dvNV = FunPtr (GLuint -> Ptr GLdouble -> IO ())
-> GLuint -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> Ptr GLdouble -> IO ())
-> GLuint -> Ptr GLdouble -> m ()
ffiuintPtrdoubleIOV FunPtr (GLuint -> Ptr GLdouble -> IO ())
glVertexAttrib1dvNVFunPtr

glVertexAttrib1dvNVFunPtr :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
glVertexAttrib1dvNVFunPtr :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
glVertexAttrib1dvNVFunPtr = IO (FunPtr (GLuint -> Ptr GLdouble -> IO ()))
-> FunPtr (GLuint -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLuint -> Ptr GLdouble -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glVertexAttrib1dvNV")

{-# NOINLINE glVertexAttrib1dvNVFunPtr #-}

-- | Usage: @'glVertexAttrib1fNV' index x@
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glVertexAttrib1f'.
--
-- The vector equivalent of this command is 'Graphics.GL.Ext.NV.VertexProgram.glVertexAttrib1fvNV'.


glVertexAttrib1fNV :: MonadIO m => GLuint -> GLfloat -> m ()
glVertexAttrib1fNV :: GLuint -> GLfloat -> m ()
glVertexAttrib1fNV = FunPtr (GLuint -> GLfloat -> IO ()) -> GLuint -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> GLfloat -> IO ()) -> GLuint -> GLfloat -> m ()
ffiuintfloatIOV FunPtr (GLuint -> GLfloat -> IO ())
glVertexAttrib1fNVFunPtr

glVertexAttrib1fNVFunPtr :: FunPtr (GLuint -> GLfloat -> IO ())
glVertexAttrib1fNVFunPtr :: FunPtr (GLuint -> GLfloat -> IO ())
glVertexAttrib1fNVFunPtr = IO (FunPtr (GLuint -> GLfloat -> IO ()))
-> FunPtr (GLuint -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLuint -> GLfloat -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glVertexAttrib1fNV")

{-# NOINLINE glVertexAttrib1fNVFunPtr #-}

-- | Usage: @'glVertexAttrib1fvNV' index v@
--
-- The length of @v@ should be @1@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glVertexAttrib1fv'.


glVertexAttrib1fvNV :: MonadIO m => GLuint -> Ptr GLfloat -> m ()
glVertexAttrib1fvNV :: GLuint -> Ptr GLfloat -> m ()
glVertexAttrib1fvNV = FunPtr (GLuint -> Ptr GLfloat -> IO ())
-> GLuint -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> Ptr GLfloat -> IO ())
-> GLuint -> Ptr GLfloat -> m ()
ffiuintPtrfloatIOV FunPtr (GLuint -> Ptr GLfloat -> IO ())
glVertexAttrib1fvNVFunPtr

glVertexAttrib1fvNVFunPtr :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
glVertexAttrib1fvNVFunPtr :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
glVertexAttrib1fvNVFunPtr = IO (FunPtr (GLuint -> Ptr GLfloat -> IO ()))
-> FunPtr (GLuint -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLuint -> Ptr GLfloat -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glVertexAttrib1fvNV")

{-# NOINLINE glVertexAttrib1fvNVFunPtr #-}

-- | Usage: @'glVertexAttrib1sNV' index x@
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glVertexAttrib1s'.
--
-- The vector equivalent of this command is 'Graphics.GL.Ext.NV.VertexProgram.glVertexAttrib1svNV'.


glVertexAttrib1sNV :: MonadIO m => GLuint -> GLshort -> m ()
glVertexAttrib1sNV :: GLuint -> GLshort -> m ()
glVertexAttrib1sNV = FunPtr (GLuint -> GLshort -> IO ()) -> GLuint -> GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> GLshort -> IO ()) -> GLuint -> GLshort -> m ()
ffiuintshortIOV FunPtr (GLuint -> GLshort -> IO ())
glVertexAttrib1sNVFunPtr

glVertexAttrib1sNVFunPtr :: FunPtr (GLuint -> GLshort -> IO ())
glVertexAttrib1sNVFunPtr :: FunPtr (GLuint -> GLshort -> IO ())
glVertexAttrib1sNVFunPtr = IO (FunPtr (GLuint -> GLshort -> IO ()))
-> FunPtr (GLuint -> GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLuint -> GLshort -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glVertexAttrib1sNV")

{-# NOINLINE glVertexAttrib1sNVFunPtr #-}

-- | Usage: @'glVertexAttrib1svNV' index v@
--
-- The length of @v@ should be @1@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glVertexAttrib1sv'.


glVertexAttrib1svNV :: MonadIO m => GLuint -> Ptr GLshort -> m ()
glVertexAttrib1svNV :: GLuint -> Ptr GLshort -> m ()
glVertexAttrib1svNV = FunPtr (GLuint -> Ptr GLshort -> IO ())
-> GLuint -> Ptr GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> Ptr GLshort -> IO ())
-> GLuint -> Ptr GLshort -> m ()
ffiuintPtrshortIOV FunPtr (GLuint -> Ptr GLshort -> IO ())
glVertexAttrib1svNVFunPtr

glVertexAttrib1svNVFunPtr :: FunPtr (GLuint -> Ptr GLshort -> IO ())
glVertexAttrib1svNVFunPtr :: FunPtr (GLuint -> Ptr GLshort -> IO ())
glVertexAttrib1svNVFunPtr = IO (FunPtr (GLuint -> Ptr GLshort -> IO ()))
-> FunPtr (GLuint -> Ptr GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLuint -> Ptr GLshort -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glVertexAttrib1svNV")

{-# NOINLINE glVertexAttrib1svNVFunPtr #-}

-- | Usage: @'glVertexAttrib2dNV' index x y@
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glVertexAttrib2d'.
--
-- The vector equivalent of this command is 'Graphics.GL.Ext.NV.VertexProgram.glVertexAttrib2dvNV'.


glVertexAttrib2dNV :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()
glVertexAttrib2dNV :: GLuint -> GLdouble -> GLdouble -> m ()
glVertexAttrib2dNV = FunPtr (GLuint -> GLdouble -> GLdouble -> IO ())
-> GLuint -> GLdouble -> GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> GLdouble -> GLdouble -> IO ())
-> GLuint -> GLdouble -> GLdouble -> m ()
ffiuintdoubledoubleIOV FunPtr (GLuint -> GLdouble -> GLdouble -> IO ())
glVertexAttrib2dNVFunPtr

glVertexAttrib2dNVFunPtr :: FunPtr (GLuint -> GLdouble -> GLdouble -> IO ())
glVertexAttrib2dNVFunPtr :: FunPtr (GLuint -> GLdouble -> GLdouble -> IO ())
glVertexAttrib2dNVFunPtr = IO (FunPtr (GLuint -> GLdouble -> GLdouble -> IO ()))
-> FunPtr (GLuint -> GLdouble -> GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLuint -> GLdouble -> GLdouble -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glVertexAttrib2dNV")

{-# NOINLINE glVertexAttrib2dNVFunPtr #-}

-- | Usage: @'glVertexAttrib2dvNV' index v@
--
-- The length of @v@ should be @2@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glVertexAttrib2dv'.


glVertexAttrib2dvNV :: MonadIO m => GLuint -> Ptr GLdouble -> m ()
glVertexAttrib2dvNV :: GLuint -> Ptr GLdouble -> m ()
glVertexAttrib2dvNV = FunPtr (GLuint -> Ptr GLdouble -> IO ())
-> GLuint -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> Ptr GLdouble -> IO ())
-> GLuint -> Ptr GLdouble -> m ()
ffiuintPtrdoubleIOV FunPtr (GLuint -> Ptr GLdouble -> IO ())
glVertexAttrib2dvNVFunPtr

glVertexAttrib2dvNVFunPtr :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
glVertexAttrib2dvNVFunPtr :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
glVertexAttrib2dvNVFunPtr = IO (FunPtr (GLuint -> Ptr GLdouble -> IO ()))
-> FunPtr (GLuint -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLuint -> Ptr GLdouble -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glVertexAttrib2dvNV")

{-# NOINLINE glVertexAttrib2dvNVFunPtr #-}

-- | Usage: @'glVertexAttrib2fNV' index x y@
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glVertexAttrib2f'.
--
-- The vector equivalent of this command is 'Graphics.GL.Ext.NV.VertexProgram.glVertexAttrib2fvNV'.


glVertexAttrib2fNV :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()
glVertexAttrib2fNV :: GLuint -> GLfloat -> GLfloat -> m ()
glVertexAttrib2fNV = FunPtr (GLuint -> GLfloat -> GLfloat -> IO ())
-> GLuint -> GLfloat -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> GLfloat -> GLfloat -> IO ())
-> GLuint -> GLfloat -> GLfloat -> m ()
ffiuintfloatfloatIOV FunPtr (GLuint -> GLfloat -> GLfloat -> IO ())
glVertexAttrib2fNVFunPtr

glVertexAttrib2fNVFunPtr :: FunPtr (GLuint -> GLfloat -> GLfloat -> IO ())
glVertexAttrib2fNVFunPtr :: FunPtr (GLuint -> GLfloat -> GLfloat -> IO ())
glVertexAttrib2fNVFunPtr = IO (FunPtr (GLuint -> GLfloat -> GLfloat -> IO ()))
-> FunPtr (GLuint -> GLfloat -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLuint -> GLfloat -> GLfloat -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glVertexAttrib2fNV")

{-# NOINLINE glVertexAttrib2fNVFunPtr #-}

-- | Usage: @'glVertexAttrib2fvNV' index v@
--
-- The length of @v@ should be @2@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glVertexAttrib2fv'.


glVertexAttrib2fvNV :: MonadIO m => GLuint -> Ptr GLfloat -> m ()
glVertexAttrib2fvNV :: GLuint -> Ptr GLfloat -> m ()
glVertexAttrib2fvNV = FunPtr (GLuint -> Ptr GLfloat -> IO ())
-> GLuint -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> Ptr GLfloat -> IO ())
-> GLuint -> Ptr GLfloat -> m ()
ffiuintPtrfloatIOV FunPtr (GLuint -> Ptr GLfloat -> IO ())
glVertexAttrib2fvNVFunPtr

glVertexAttrib2fvNVFunPtr :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
glVertexAttrib2fvNVFunPtr :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
glVertexAttrib2fvNVFunPtr = IO (FunPtr (GLuint -> Ptr GLfloat -> IO ()))
-> FunPtr (GLuint -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLuint -> Ptr GLfloat -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glVertexAttrib2fvNV")

{-# NOINLINE glVertexAttrib2fvNVFunPtr #-}

-- | Usage: @'glVertexAttrib2sNV' index x y@
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glVertexAttrib2s'.
--
-- The vector equivalent of this command is 'Graphics.GL.Ext.NV.VertexProgram.glVertexAttrib2svNV'.


glVertexAttrib2sNV :: MonadIO m => GLuint -> GLshort -> GLshort -> m ()
glVertexAttrib2sNV :: GLuint -> GLshort -> GLshort -> m ()
glVertexAttrib2sNV = FunPtr (GLuint -> GLshort -> GLshort -> IO ())
-> GLuint -> GLshort -> GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> GLshort -> GLshort -> IO ())
-> GLuint -> GLshort -> GLshort -> m ()
ffiuintshortshortIOV FunPtr (GLuint -> GLshort -> GLshort -> IO ())
glVertexAttrib2sNVFunPtr

glVertexAttrib2sNVFunPtr :: FunPtr (GLuint -> GLshort -> GLshort -> IO ())
glVertexAttrib2sNVFunPtr :: FunPtr (GLuint -> GLshort -> GLshort -> IO ())
glVertexAttrib2sNVFunPtr = IO (FunPtr (GLuint -> GLshort -> GLshort -> IO ()))
-> FunPtr (GLuint -> GLshort -> GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLuint -> GLshort -> GLshort -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glVertexAttrib2sNV")

{-# NOINLINE glVertexAttrib2sNVFunPtr #-}

-- | Usage: @'glVertexAttrib2svNV' index v@
--
-- The length of @v@ should be @2@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glVertexAttrib2sv'.


glVertexAttrib2svNV :: MonadIO m => GLuint -> Ptr GLshort -> m ()
glVertexAttrib2svNV :: GLuint -> Ptr GLshort -> m ()
glVertexAttrib2svNV = FunPtr (GLuint -> Ptr GLshort -> IO ())
-> GLuint -> Ptr GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> Ptr GLshort -> IO ())
-> GLuint -> Ptr GLshort -> m ()
ffiuintPtrshortIOV FunPtr (GLuint -> Ptr GLshort -> IO ())
glVertexAttrib2svNVFunPtr

glVertexAttrib2svNVFunPtr :: FunPtr (GLuint -> Ptr GLshort -> IO ())
glVertexAttrib2svNVFunPtr :: FunPtr (GLuint -> Ptr GLshort -> IO ())
glVertexAttrib2svNVFunPtr = IO (FunPtr (GLuint -> Ptr GLshort -> IO ()))
-> FunPtr (GLuint -> Ptr GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLuint -> Ptr GLshort -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glVertexAttrib2svNV")

{-# NOINLINE glVertexAttrib2svNVFunPtr #-}

-- | Usage: @'glVertexAttrib3dNV' index x y z@
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glVertexAttrib3d'.
--
-- The vector equivalent of this command is 'Graphics.GL.Ext.NV.VertexProgram.glVertexAttrib3dvNV'.


glVertexAttrib3dNV :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()
glVertexAttrib3dNV :: GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()
glVertexAttrib3dNV = FunPtr (GLuint -> GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()
ffiuintdoubledoubledoubleIOV FunPtr (GLuint -> GLdouble -> GLdouble -> GLdouble -> IO ())
glVertexAttrib3dNVFunPtr

glVertexAttrib3dNVFunPtr :: FunPtr (GLuint -> GLdouble -> GLdouble -> GLdouble -> IO ())
glVertexAttrib3dNVFunPtr :: FunPtr (GLuint -> GLdouble -> GLdouble -> GLdouble -> IO ())
glVertexAttrib3dNVFunPtr = IO (FunPtr (GLuint -> GLdouble -> GLdouble -> GLdouble -> IO ()))
-> FunPtr (GLuint -> GLdouble -> GLdouble -> GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char]
-> IO
     (FunPtr (GLuint -> GLdouble -> GLdouble -> GLdouble -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glVertexAttrib3dNV")

{-# NOINLINE glVertexAttrib3dNVFunPtr #-}

-- | Usage: @'glVertexAttrib3dvNV' index v@
--
-- The length of @v@ should be @3@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glVertexAttrib3dv'.


glVertexAttrib3dvNV :: MonadIO m => GLuint -> Ptr GLdouble -> m ()
glVertexAttrib3dvNV :: GLuint -> Ptr GLdouble -> m ()
glVertexAttrib3dvNV = FunPtr (GLuint -> Ptr GLdouble -> IO ())
-> GLuint -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> Ptr GLdouble -> IO ())
-> GLuint -> Ptr GLdouble -> m ()
ffiuintPtrdoubleIOV FunPtr (GLuint -> Ptr GLdouble -> IO ())
glVertexAttrib3dvNVFunPtr

glVertexAttrib3dvNVFunPtr :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
glVertexAttrib3dvNVFunPtr :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
glVertexAttrib3dvNVFunPtr = IO (FunPtr (GLuint -> Ptr GLdouble -> IO ()))
-> FunPtr (GLuint -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLuint -> Ptr GLdouble -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glVertexAttrib3dvNV")

{-# NOINLINE glVertexAttrib3dvNVFunPtr #-}

-- | Usage: @'glVertexAttrib3fNV' index x y z@
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glVertexAttrib3f'.
--
-- The vector equivalent of this command is 'Graphics.GL.Ext.NV.VertexProgram.glVertexAttrib3fvNV'.


glVertexAttrib3fNV :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()
glVertexAttrib3fNV :: GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()
glVertexAttrib3fNV = FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()
ffiuintfloatfloatfloatIOV FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> IO ())
glVertexAttrib3fNVFunPtr

glVertexAttrib3fNVFunPtr :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> IO ())
glVertexAttrib3fNVFunPtr :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> IO ())
glVertexAttrib3fNVFunPtr = IO (FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> IO ()))
-> FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char]
-> IO (FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glVertexAttrib3fNV")

{-# NOINLINE glVertexAttrib3fNVFunPtr #-}

-- | Usage: @'glVertexAttrib3fvNV' index v@
--
-- The length of @v@ should be @3@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glVertexAttrib3fv'.


glVertexAttrib3fvNV :: MonadIO m => GLuint -> Ptr GLfloat -> m ()
glVertexAttrib3fvNV :: GLuint -> Ptr GLfloat -> m ()
glVertexAttrib3fvNV = FunPtr (GLuint -> Ptr GLfloat -> IO ())
-> GLuint -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> Ptr GLfloat -> IO ())
-> GLuint -> Ptr GLfloat -> m ()
ffiuintPtrfloatIOV FunPtr (GLuint -> Ptr GLfloat -> IO ())
glVertexAttrib3fvNVFunPtr

glVertexAttrib3fvNVFunPtr :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
glVertexAttrib3fvNVFunPtr :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
glVertexAttrib3fvNVFunPtr = IO (FunPtr (GLuint -> Ptr GLfloat -> IO ()))
-> FunPtr (GLuint -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLuint -> Ptr GLfloat -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glVertexAttrib3fvNV")

{-# NOINLINE glVertexAttrib3fvNVFunPtr #-}

-- | Usage: @'glVertexAttrib3sNV' index x y z@
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glVertexAttrib3s'.
--
-- The vector equivalent of this command is 'Graphics.GL.Ext.NV.VertexProgram.glVertexAttrib3svNV'.


glVertexAttrib3sNV :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> m ()
glVertexAttrib3sNV :: GLuint -> GLshort -> GLshort -> GLshort -> m ()
glVertexAttrib3sNV = FunPtr (GLuint -> GLshort -> GLshort -> GLshort -> IO ())
-> GLuint -> GLshort -> GLshort -> GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> GLshort -> GLshort -> GLshort -> IO ())
-> GLuint -> GLshort -> GLshort -> GLshort -> m ()
ffiuintshortshortshortIOV FunPtr (GLuint -> GLshort -> GLshort -> GLshort -> IO ())
glVertexAttrib3sNVFunPtr

glVertexAttrib3sNVFunPtr :: FunPtr (GLuint -> GLshort -> GLshort -> GLshort -> IO ())
glVertexAttrib3sNVFunPtr :: FunPtr (GLuint -> GLshort -> GLshort -> GLshort -> IO ())
glVertexAttrib3sNVFunPtr = IO (FunPtr (GLuint -> GLshort -> GLshort -> GLshort -> IO ()))
-> FunPtr (GLuint -> GLshort -> GLshort -> GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char]
-> IO (FunPtr (GLuint -> GLshort -> GLshort -> GLshort -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glVertexAttrib3sNV")

{-# NOINLINE glVertexAttrib3sNVFunPtr #-}

-- | Usage: @'glVertexAttrib3svNV' index v@
--
-- The length of @v@ should be @3@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glVertexAttrib3sv'.


glVertexAttrib3svNV :: MonadIO m => GLuint -> Ptr GLshort -> m ()
glVertexAttrib3svNV :: GLuint -> Ptr GLshort -> m ()
glVertexAttrib3svNV = FunPtr (GLuint -> Ptr GLshort -> IO ())
-> GLuint -> Ptr GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> Ptr GLshort -> IO ())
-> GLuint -> Ptr GLshort -> m ()
ffiuintPtrshortIOV FunPtr (GLuint -> Ptr GLshort -> IO ())
glVertexAttrib3svNVFunPtr

glVertexAttrib3svNVFunPtr :: FunPtr (GLuint -> Ptr GLshort -> IO ())
glVertexAttrib3svNVFunPtr :: FunPtr (GLuint -> Ptr GLshort -> IO ())
glVertexAttrib3svNVFunPtr = IO (FunPtr (GLuint -> Ptr GLshort -> IO ()))
-> FunPtr (GLuint -> Ptr GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLuint -> Ptr GLshort -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glVertexAttrib3svNV")

{-# NOINLINE glVertexAttrib3svNVFunPtr #-}

-- | Usage: @'glVertexAttrib4dNV' index x y z w@
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glVertexAttrib4d'.
--
-- The vector equivalent of this command is 'Graphics.GL.Ext.NV.VertexProgram.glVertexAttrib4dvNV'.


glVertexAttrib4dNV :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glVertexAttrib4dNV :: GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glVertexAttrib4dNV = FunPtr
  (GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
ffiuintdoubledoubledoubledoubleIOV FunPtr
  (GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
glVertexAttrib4dNVFunPtr

glVertexAttrib4dNVFunPtr :: FunPtr (GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
glVertexAttrib4dNVFunPtr :: FunPtr
  (GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
glVertexAttrib4dNVFunPtr = IO
  (FunPtr
     (GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()))
-> FunPtr
     (GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char]
-> IO
     (FunPtr
        (GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glVertexAttrib4dNV")

{-# NOINLINE glVertexAttrib4dNVFunPtr #-}

-- | Usage: @'glVertexAttrib4dvNV' index v@
--
-- The length of @v@ should be @4@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glVertexAttrib4dv'.


glVertexAttrib4dvNV :: MonadIO m => GLuint -> Ptr GLdouble -> m ()
glVertexAttrib4dvNV :: GLuint -> Ptr GLdouble -> m ()
glVertexAttrib4dvNV = FunPtr (GLuint -> Ptr GLdouble -> IO ())
-> GLuint -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> Ptr GLdouble -> IO ())
-> GLuint -> Ptr GLdouble -> m ()
ffiuintPtrdoubleIOV FunPtr (GLuint -> Ptr GLdouble -> IO ())
glVertexAttrib4dvNVFunPtr

glVertexAttrib4dvNVFunPtr :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
glVertexAttrib4dvNVFunPtr :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
glVertexAttrib4dvNVFunPtr = IO (FunPtr (GLuint -> Ptr GLdouble -> IO ()))
-> FunPtr (GLuint -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLuint -> Ptr GLdouble -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glVertexAttrib4dvNV")

{-# NOINLINE glVertexAttrib4dvNVFunPtr #-}

-- | Usage: @'glVertexAttrib4fNV' index x y z w@
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glVertexAttrib4f'.
--
-- The vector equivalent of this command is 'Graphics.GL.Ext.NV.VertexProgram.glVertexAttrib4fvNV'.


glVertexAttrib4fNV :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glVertexAttrib4fNV :: GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glVertexAttrib4fNV = FunPtr
  (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
ffiuintfloatfloatfloatfloatIOV FunPtr
  (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glVertexAttrib4fNVFunPtr

glVertexAttrib4fNVFunPtr :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glVertexAttrib4fNVFunPtr :: FunPtr
  (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glVertexAttrib4fNVFunPtr = IO
  (FunPtr
     (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()))
-> FunPtr
     (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char]
-> IO
     (FunPtr
        (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glVertexAttrib4fNV")

{-# NOINLINE glVertexAttrib4fNVFunPtr #-}

-- | Usage: @'glVertexAttrib4fvNV' index v@
--
-- The length of @v@ should be @4@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glVertexAttrib4fv'.


glVertexAttrib4fvNV :: MonadIO m => GLuint -> Ptr GLfloat -> m ()
glVertexAttrib4fvNV :: GLuint -> Ptr GLfloat -> m ()
glVertexAttrib4fvNV = FunPtr (GLuint -> Ptr GLfloat -> IO ())
-> GLuint -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> Ptr GLfloat -> IO ())
-> GLuint -> Ptr GLfloat -> m ()
ffiuintPtrfloatIOV FunPtr (GLuint -> Ptr GLfloat -> IO ())
glVertexAttrib4fvNVFunPtr

glVertexAttrib4fvNVFunPtr :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
glVertexAttrib4fvNVFunPtr :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
glVertexAttrib4fvNVFunPtr = IO (FunPtr (GLuint -> Ptr GLfloat -> IO ()))
-> FunPtr (GLuint -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLuint -> Ptr GLfloat -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glVertexAttrib4fvNV")

{-# NOINLINE glVertexAttrib4fvNVFunPtr #-}

-- | Usage: @'glVertexAttrib4sNV' index x y z w@
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glVertexAttrib4s'.
--
-- The vector equivalent of this command is 'Graphics.GL.Ext.NV.VertexProgram.glVertexAttrib4svNV'.


glVertexAttrib4sNV :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()
glVertexAttrib4sNV :: GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()
glVertexAttrib4sNV = FunPtr
  (GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
-> GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
-> GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()
ffiuintshortshortshortshortIOV FunPtr
  (GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
glVertexAttrib4sNVFunPtr

glVertexAttrib4sNVFunPtr :: FunPtr (GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
glVertexAttrib4sNVFunPtr :: FunPtr
  (GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
glVertexAttrib4sNVFunPtr = IO
  (FunPtr
     (GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> IO ()))
-> FunPtr
     (GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char]
-> IO
     (FunPtr
        (GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glVertexAttrib4sNV")

{-# NOINLINE glVertexAttrib4sNVFunPtr #-}

-- | Usage: @'glVertexAttrib4svNV' index v@
--
-- The length of @v@ should be @4@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glVertexAttrib4sv'.


glVertexAttrib4svNV :: MonadIO m => GLuint -> Ptr GLshort -> m ()
glVertexAttrib4svNV :: GLuint -> Ptr GLshort -> m ()
glVertexAttrib4svNV = FunPtr (GLuint -> Ptr GLshort -> IO ())
-> GLuint -> Ptr GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> Ptr GLshort -> IO ())
-> GLuint -> Ptr GLshort -> m ()
ffiuintPtrshortIOV FunPtr (GLuint -> Ptr GLshort -> IO ())
glVertexAttrib4svNVFunPtr

glVertexAttrib4svNVFunPtr :: FunPtr (GLuint -> Ptr GLshort -> IO ())
glVertexAttrib4svNVFunPtr :: FunPtr (GLuint -> Ptr GLshort -> IO ())
glVertexAttrib4svNVFunPtr = IO (FunPtr (GLuint -> Ptr GLshort -> IO ()))
-> FunPtr (GLuint -> Ptr GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLuint -> Ptr GLshort -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glVertexAttrib4svNV")

{-# NOINLINE glVertexAttrib4svNVFunPtr #-}

-- | Usage: @'glVertexAttrib4ubNV' index x y z w@
--
-- The parameter @x@ is a @ColorUB@.
--
-- The parameter @y@ is a @ColorUB@.
--
-- The parameter @z@ is a @ColorUB@.
--
-- The parameter @w@ is a @ColorUB@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glVertexAttrib4Nub'.
--
-- The vector equivalent of this command is 'Graphics.GL.Ext.NV.VertexProgram.glVertexAttrib4ubvNV'.


glVertexAttrib4ubNV :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()
glVertexAttrib4ubNV :: GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()
glVertexAttrib4ubNV = FunPtr
  (GLuint
   -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
-> GLuint
-> GLboolean
-> GLboolean
-> GLboolean
-> GLboolean
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLuint
   -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
-> GLuint
-> GLboolean
-> GLboolean
-> GLboolean
-> GLboolean
-> m ()
ffiuintubyteubyteubyteubyteIOV FunPtr
  (GLuint
   -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
glVertexAttrib4ubNVFunPtr

glVertexAttrib4ubNVFunPtr :: FunPtr (GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> IO ())
glVertexAttrib4ubNVFunPtr :: FunPtr
  (GLuint
   -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
glVertexAttrib4ubNVFunPtr = IO
  (FunPtr
     (GLuint
      -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ()))
-> FunPtr
     (GLuint
      -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char]
-> IO
     (FunPtr
        (GLuint
         -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glVertexAttrib4ubNV")

{-# NOINLINE glVertexAttrib4ubNVFunPtr #-}

-- | Usage: @'glVertexAttrib4ubvNV' index v@
--
-- The parameter @v@ is a @ColorUB@.
--
-- The length of @v@ should be @4@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glVertexAttrib4Nubv'.


glVertexAttrib4ubvNV :: MonadIO m => GLuint -> Ptr GLubyte -> m ()
glVertexAttrib4ubvNV :: GLuint -> Ptr GLboolean -> m ()
glVertexAttrib4ubvNV = FunPtr (GLuint -> Ptr GLboolean -> IO ())
-> GLuint -> Ptr GLboolean -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> Ptr GLboolean -> IO ())
-> GLuint -> Ptr GLboolean -> m ()
ffiuintPtrubyteIOV FunPtr (GLuint -> Ptr GLboolean -> IO ())
glVertexAttrib4ubvNVFunPtr

glVertexAttrib4ubvNVFunPtr :: FunPtr (GLuint -> Ptr GLubyte -> IO ())
glVertexAttrib4ubvNVFunPtr :: FunPtr (GLuint -> Ptr GLboolean -> IO ())
glVertexAttrib4ubvNVFunPtr = IO (FunPtr (GLuint -> Ptr GLboolean -> IO ()))
-> FunPtr (GLuint -> Ptr GLboolean -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLuint -> Ptr GLboolean -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glVertexAttrib4ubvNV")

{-# NOINLINE glVertexAttrib4ubvNVFunPtr #-}

-- | Usage: @'glVertexAttribPointerNV' index fsize type stride pointer@
--
-- The parameter @type@ is a @VertexAttribEnumNV@.
--
-- The length of @pointer@ should be @COMPSIZE(fsize,type,stride)@.


glVertexAttribPointerNV :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr () -> m ()
glVertexAttribPointerNV :: GLuint -> GLsizei -> GLuint -> GLsizei -> Ptr () -> m ()
glVertexAttribPointerNV = FunPtr (GLuint -> GLsizei -> GLuint -> GLsizei -> Ptr () -> IO ())
-> GLuint -> GLsizei -> GLuint -> GLsizei -> Ptr () -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> GLsizei -> GLuint -> GLsizei -> Ptr () -> IO ())
-> GLuint -> GLsizei -> GLuint -> GLsizei -> Ptr () -> m ()
ffiuintintenumsizeiPtrVIOV FunPtr (GLuint -> GLsizei -> GLuint -> GLsizei -> Ptr () -> IO ())
glVertexAttribPointerNVFunPtr

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

{-# NOINLINE glVertexAttribPointerNVFunPtr #-}

-- | Usage: @'glVertexAttribs1dvNV' index count v@
--
-- The length of @v@ should be @count@.


glVertexAttribs1dvNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLdouble -> m ()
glVertexAttribs1dvNV :: GLuint -> GLsizei -> Ptr GLdouble -> m ()
glVertexAttribs1dvNV = FunPtr (GLuint -> GLsizei -> Ptr GLdouble -> IO ())
-> GLuint -> GLsizei -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> GLsizei -> Ptr GLdouble -> IO ())
-> GLuint -> GLsizei -> Ptr GLdouble -> m ()
ffiuintsizeiPtrdoubleIOV FunPtr (GLuint -> GLsizei -> Ptr GLdouble -> IO ())
glVertexAttribs1dvNVFunPtr

glVertexAttribs1dvNVFunPtr :: FunPtr (GLuint -> GLsizei -> Ptr GLdouble -> IO ())
glVertexAttribs1dvNVFunPtr :: FunPtr (GLuint -> GLsizei -> Ptr GLdouble -> IO ())
glVertexAttribs1dvNVFunPtr = IO (FunPtr (GLuint -> GLsizei -> Ptr GLdouble -> IO ()))
-> FunPtr (GLuint -> GLsizei -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLuint -> GLsizei -> Ptr GLdouble -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glVertexAttribs1dvNV")

{-# NOINLINE glVertexAttribs1dvNVFunPtr #-}

-- | Usage: @'glVertexAttribs1fvNV' index count v@
--
-- The length of @v@ should be @count@.


glVertexAttribs1fvNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLfloat -> m ()
glVertexAttribs1fvNV :: GLuint -> GLsizei -> Ptr GLfloat -> m ()
glVertexAttribs1fvNV = FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ())
-> GLuint -> GLsizei -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ())
-> GLuint -> GLsizei -> Ptr GLfloat -> m ()
ffiuintsizeiPtrfloatIOV FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ())
glVertexAttribs1fvNVFunPtr

glVertexAttribs1fvNVFunPtr :: FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ())
glVertexAttribs1fvNVFunPtr :: FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ())
glVertexAttribs1fvNVFunPtr = IO (FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ()))
-> FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glVertexAttribs1fvNV")

{-# NOINLINE glVertexAttribs1fvNVFunPtr #-}

-- | Usage: @'glVertexAttribs1svNV' index count v@
--
-- The length of @v@ should be @count@.


glVertexAttribs1svNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLshort -> m ()
glVertexAttribs1svNV :: GLuint -> GLsizei -> Ptr GLshort -> m ()
glVertexAttribs1svNV = FunPtr (GLuint -> GLsizei -> Ptr GLshort -> IO ())
-> GLuint -> GLsizei -> Ptr GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> GLsizei -> Ptr GLshort -> IO ())
-> GLuint -> GLsizei -> Ptr GLshort -> m ()
ffiuintsizeiPtrshortIOV FunPtr (GLuint -> GLsizei -> Ptr GLshort -> IO ())
glVertexAttribs1svNVFunPtr

glVertexAttribs1svNVFunPtr :: FunPtr (GLuint -> GLsizei -> Ptr GLshort -> IO ())
glVertexAttribs1svNVFunPtr :: FunPtr (GLuint -> GLsizei -> Ptr GLshort -> IO ())
glVertexAttribs1svNVFunPtr = IO (FunPtr (GLuint -> GLsizei -> Ptr GLshort -> IO ()))
-> FunPtr (GLuint -> GLsizei -> Ptr GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLuint -> GLsizei -> Ptr GLshort -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glVertexAttribs1svNV")

{-# NOINLINE glVertexAttribs1svNVFunPtr #-}

-- | Usage: @'glVertexAttribs2dvNV' index count v@
--
-- The length of @v@ should be @count*2@.


glVertexAttribs2dvNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLdouble -> m ()
glVertexAttribs2dvNV :: GLuint -> GLsizei -> Ptr GLdouble -> m ()
glVertexAttribs2dvNV = FunPtr (GLuint -> GLsizei -> Ptr GLdouble -> IO ())
-> GLuint -> GLsizei -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> GLsizei -> Ptr GLdouble -> IO ())
-> GLuint -> GLsizei -> Ptr GLdouble -> m ()
ffiuintsizeiPtrdoubleIOV FunPtr (GLuint -> GLsizei -> Ptr GLdouble -> IO ())
glVertexAttribs2dvNVFunPtr

glVertexAttribs2dvNVFunPtr :: FunPtr (GLuint -> GLsizei -> Ptr GLdouble -> IO ())
glVertexAttribs2dvNVFunPtr :: FunPtr (GLuint -> GLsizei -> Ptr GLdouble -> IO ())
glVertexAttribs2dvNVFunPtr = IO (FunPtr (GLuint -> GLsizei -> Ptr GLdouble -> IO ()))
-> FunPtr (GLuint -> GLsizei -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLuint -> GLsizei -> Ptr GLdouble -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glVertexAttribs2dvNV")

{-# NOINLINE glVertexAttribs2dvNVFunPtr #-}

-- | Usage: @'glVertexAttribs2fvNV' index count v@
--
-- The length of @v@ should be @count*2@.


glVertexAttribs2fvNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLfloat -> m ()
glVertexAttribs2fvNV :: GLuint -> GLsizei -> Ptr GLfloat -> m ()
glVertexAttribs2fvNV = FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ())
-> GLuint -> GLsizei -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ())
-> GLuint -> GLsizei -> Ptr GLfloat -> m ()
ffiuintsizeiPtrfloatIOV FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ())
glVertexAttribs2fvNVFunPtr

glVertexAttribs2fvNVFunPtr :: FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ())
glVertexAttribs2fvNVFunPtr :: FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ())
glVertexAttribs2fvNVFunPtr = IO (FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ()))
-> FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glVertexAttribs2fvNV")

{-# NOINLINE glVertexAttribs2fvNVFunPtr #-}

-- | Usage: @'glVertexAttribs2svNV' index count v@
--
-- The length of @v@ should be @count*2@.


glVertexAttribs2svNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLshort -> m ()
glVertexAttribs2svNV :: GLuint -> GLsizei -> Ptr GLshort -> m ()
glVertexAttribs2svNV = FunPtr (GLuint -> GLsizei -> Ptr GLshort -> IO ())
-> GLuint -> GLsizei -> Ptr GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> GLsizei -> Ptr GLshort -> IO ())
-> GLuint -> GLsizei -> Ptr GLshort -> m ()
ffiuintsizeiPtrshortIOV FunPtr (GLuint -> GLsizei -> Ptr GLshort -> IO ())
glVertexAttribs2svNVFunPtr

glVertexAttribs2svNVFunPtr :: FunPtr (GLuint -> GLsizei -> Ptr GLshort -> IO ())
glVertexAttribs2svNVFunPtr :: FunPtr (GLuint -> GLsizei -> Ptr GLshort -> IO ())
glVertexAttribs2svNVFunPtr = IO (FunPtr (GLuint -> GLsizei -> Ptr GLshort -> IO ()))
-> FunPtr (GLuint -> GLsizei -> Ptr GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLuint -> GLsizei -> Ptr GLshort -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glVertexAttribs2svNV")

{-# NOINLINE glVertexAttribs2svNVFunPtr #-}

-- | Usage: @'glVertexAttribs3dvNV' index count v@
--
-- The length of @v@ should be @count*3@.


glVertexAttribs3dvNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLdouble -> m ()
glVertexAttribs3dvNV :: GLuint -> GLsizei -> Ptr GLdouble -> m ()
glVertexAttribs3dvNV = FunPtr (GLuint -> GLsizei -> Ptr GLdouble -> IO ())
-> GLuint -> GLsizei -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> GLsizei -> Ptr GLdouble -> IO ())
-> GLuint -> GLsizei -> Ptr GLdouble -> m ()
ffiuintsizeiPtrdoubleIOV FunPtr (GLuint -> GLsizei -> Ptr GLdouble -> IO ())
glVertexAttribs3dvNVFunPtr

glVertexAttribs3dvNVFunPtr :: FunPtr (GLuint -> GLsizei -> Ptr GLdouble -> IO ())
glVertexAttribs3dvNVFunPtr :: FunPtr (GLuint -> GLsizei -> Ptr GLdouble -> IO ())
glVertexAttribs3dvNVFunPtr = IO (FunPtr (GLuint -> GLsizei -> Ptr GLdouble -> IO ()))
-> FunPtr (GLuint -> GLsizei -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLuint -> GLsizei -> Ptr GLdouble -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glVertexAttribs3dvNV")

{-# NOINLINE glVertexAttribs3dvNVFunPtr #-}

-- | Usage: @'glVertexAttribs3fvNV' index count v@
--
-- The length of @v@ should be @count*3@.


glVertexAttribs3fvNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLfloat -> m ()
glVertexAttribs3fvNV :: GLuint -> GLsizei -> Ptr GLfloat -> m ()
glVertexAttribs3fvNV = FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ())
-> GLuint -> GLsizei -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ())
-> GLuint -> GLsizei -> Ptr GLfloat -> m ()
ffiuintsizeiPtrfloatIOV FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ())
glVertexAttribs3fvNVFunPtr

glVertexAttribs3fvNVFunPtr :: FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ())
glVertexAttribs3fvNVFunPtr :: FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ())
glVertexAttribs3fvNVFunPtr = IO (FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ()))
-> FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glVertexAttribs3fvNV")

{-# NOINLINE glVertexAttribs3fvNVFunPtr #-}

-- | Usage: @'glVertexAttribs3svNV' index count v@
--
-- The length of @v@ should be @count*3@.


glVertexAttribs3svNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLshort -> m ()
glVertexAttribs3svNV :: GLuint -> GLsizei -> Ptr GLshort -> m ()
glVertexAttribs3svNV = FunPtr (GLuint -> GLsizei -> Ptr GLshort -> IO ())
-> GLuint -> GLsizei -> Ptr GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> GLsizei -> Ptr GLshort -> IO ())
-> GLuint -> GLsizei -> Ptr GLshort -> m ()
ffiuintsizeiPtrshortIOV FunPtr (GLuint -> GLsizei -> Ptr GLshort -> IO ())
glVertexAttribs3svNVFunPtr

glVertexAttribs3svNVFunPtr :: FunPtr (GLuint -> GLsizei -> Ptr GLshort -> IO ())
glVertexAttribs3svNVFunPtr :: FunPtr (GLuint -> GLsizei -> Ptr GLshort -> IO ())
glVertexAttribs3svNVFunPtr = IO (FunPtr (GLuint -> GLsizei -> Ptr GLshort -> IO ()))
-> FunPtr (GLuint -> GLsizei -> Ptr GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLuint -> GLsizei -> Ptr GLshort -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glVertexAttribs3svNV")

{-# NOINLINE glVertexAttribs3svNVFunPtr #-}

-- | Usage: @'glVertexAttribs4dvNV' index count v@
--
-- The length of @v@ should be @count*4@.


glVertexAttribs4dvNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLdouble -> m ()
glVertexAttribs4dvNV :: GLuint -> GLsizei -> Ptr GLdouble -> m ()
glVertexAttribs4dvNV = FunPtr (GLuint -> GLsizei -> Ptr GLdouble -> IO ())
-> GLuint -> GLsizei -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> GLsizei -> Ptr GLdouble -> IO ())
-> GLuint -> GLsizei -> Ptr GLdouble -> m ()
ffiuintsizeiPtrdoubleIOV FunPtr (GLuint -> GLsizei -> Ptr GLdouble -> IO ())
glVertexAttribs4dvNVFunPtr

glVertexAttribs4dvNVFunPtr :: FunPtr (GLuint -> GLsizei -> Ptr GLdouble -> IO ())
glVertexAttribs4dvNVFunPtr :: FunPtr (GLuint -> GLsizei -> Ptr GLdouble -> IO ())
glVertexAttribs4dvNVFunPtr = IO (FunPtr (GLuint -> GLsizei -> Ptr GLdouble -> IO ()))
-> FunPtr (GLuint -> GLsizei -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLuint -> GLsizei -> Ptr GLdouble -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glVertexAttribs4dvNV")

{-# NOINLINE glVertexAttribs4dvNVFunPtr #-}

-- | Usage: @'glVertexAttribs4fvNV' index count v@
--
-- The length of @v@ should be @count*4@.


glVertexAttribs4fvNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLfloat -> m ()
glVertexAttribs4fvNV :: GLuint -> GLsizei -> Ptr GLfloat -> m ()
glVertexAttribs4fvNV = FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ())
-> GLuint -> GLsizei -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ())
-> GLuint -> GLsizei -> Ptr GLfloat -> m ()
ffiuintsizeiPtrfloatIOV FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ())
glVertexAttribs4fvNVFunPtr

glVertexAttribs4fvNVFunPtr :: FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ())
glVertexAttribs4fvNVFunPtr :: FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ())
glVertexAttribs4fvNVFunPtr = IO (FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ()))
-> FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glVertexAttribs4fvNV")

{-# NOINLINE glVertexAttribs4fvNVFunPtr #-}

-- | Usage: @'glVertexAttribs4svNV' index count v@
--
-- The length of @v@ should be @count*4@.


glVertexAttribs4svNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLshort -> m ()
glVertexAttribs4svNV :: GLuint -> GLsizei -> Ptr GLshort -> m ()
glVertexAttribs4svNV = FunPtr (GLuint -> GLsizei -> Ptr GLshort -> IO ())
-> GLuint -> GLsizei -> Ptr GLshort -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> GLsizei -> Ptr GLshort -> IO ())
-> GLuint -> GLsizei -> Ptr GLshort -> m ()
ffiuintsizeiPtrshortIOV FunPtr (GLuint -> GLsizei -> Ptr GLshort -> IO ())
glVertexAttribs4svNVFunPtr

glVertexAttribs4svNVFunPtr :: FunPtr (GLuint -> GLsizei -> Ptr GLshort -> IO ())
glVertexAttribs4svNVFunPtr :: FunPtr (GLuint -> GLsizei -> Ptr GLshort -> IO ())
glVertexAttribs4svNVFunPtr = IO (FunPtr (GLuint -> GLsizei -> Ptr GLshort -> IO ()))
-> FunPtr (GLuint -> GLsizei -> Ptr GLshort -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLuint -> GLsizei -> Ptr GLshort -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glVertexAttribs4svNV")

{-# NOINLINE glVertexAttribs4svNVFunPtr #-}

-- | Usage: @'glVertexAttribs4ubvNV' index count v@
--
-- The parameter @v@ is a @ColorUB@.
--
-- The length of @v@ should be @count*4@.


glVertexAttribs4ubvNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLubyte -> m ()
glVertexAttribs4ubvNV :: GLuint -> GLsizei -> Ptr GLboolean -> m ()
glVertexAttribs4ubvNV = FunPtr (GLuint -> GLsizei -> Ptr GLboolean -> IO ())
-> GLuint -> GLsizei -> Ptr GLboolean -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> GLsizei -> Ptr GLboolean -> IO ())
-> GLuint -> GLsizei -> Ptr GLboolean -> m ()
ffiuintsizeiPtrubyteIOV FunPtr (GLuint -> GLsizei -> Ptr GLboolean -> IO ())
glVertexAttribs4ubvNVFunPtr

glVertexAttribs4ubvNVFunPtr :: FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> IO ())
glVertexAttribs4ubvNVFunPtr :: FunPtr (GLuint -> GLsizei -> Ptr GLboolean -> IO ())
glVertexAttribs4ubvNVFunPtr = IO (FunPtr (GLuint -> GLsizei -> Ptr GLboolean -> IO ()))
-> FunPtr (GLuint -> GLsizei -> Ptr GLboolean -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLuint -> GLsizei -> Ptr GLboolean -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glVertexAttribs4ubvNV")

{-# NOINLINE glVertexAttribs4ubvNVFunPtr #-}

pattern $bGL_ATTRIB_ARRAY_POINTER_NV :: a
$mGL_ATTRIB_ARRAY_POINTER_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ATTRIB_ARRAY_POINTER_NV = 0x8645

pattern $bGL_ATTRIB_ARRAY_SIZE_NV :: a
$mGL_ATTRIB_ARRAY_SIZE_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ATTRIB_ARRAY_SIZE_NV = 0x8623

pattern $bGL_ATTRIB_ARRAY_STRIDE_NV :: a
$mGL_ATTRIB_ARRAY_STRIDE_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ATTRIB_ARRAY_STRIDE_NV = 0x8624

pattern $bGL_ATTRIB_ARRAY_TYPE_NV :: a
$mGL_ATTRIB_ARRAY_TYPE_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ATTRIB_ARRAY_TYPE_NV = 0x8625

pattern $bGL_CURRENT_ATTRIB_NV :: a
$mGL_CURRENT_ATTRIB_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CURRENT_ATTRIB_NV = 0x8626

pattern $bGL_CURRENT_MATRIX_NV :: a
$mGL_CURRENT_MATRIX_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CURRENT_MATRIX_NV = 0x8641

pattern $bGL_CURRENT_MATRIX_STACK_DEPTH_NV :: a
$mGL_CURRENT_MATRIX_STACK_DEPTH_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CURRENT_MATRIX_STACK_DEPTH_NV = 0x8640

pattern $bGL_IDENTITY_NV :: a
$mGL_IDENTITY_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_IDENTITY_NV = 0x862A

pattern $bGL_INVERSE_NV :: a
$mGL_INVERSE_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INVERSE_NV = 0x862B

pattern $bGL_INVERSE_TRANSPOSE_NV :: a
$mGL_INVERSE_TRANSPOSE_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INVERSE_TRANSPOSE_NV = 0x862D

pattern $bGL_MAP1_VERTEX_ATTRIB0_4_NV :: a
$mGL_MAP1_VERTEX_ATTRIB0_4_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAP1_VERTEX_ATTRIB0_4_NV = 0x8660

pattern $bGL_MAP1_VERTEX_ATTRIB10_4_NV :: a
$mGL_MAP1_VERTEX_ATTRIB10_4_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAP1_VERTEX_ATTRIB10_4_NV = 0x866A

pattern $bGL_MAP1_VERTEX_ATTRIB11_4_NV :: a
$mGL_MAP1_VERTEX_ATTRIB11_4_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAP1_VERTEX_ATTRIB11_4_NV = 0x866B

pattern $bGL_MAP1_VERTEX_ATTRIB12_4_NV :: a
$mGL_MAP1_VERTEX_ATTRIB12_4_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAP1_VERTEX_ATTRIB12_4_NV = 0x866C

pattern $bGL_MAP1_VERTEX_ATTRIB13_4_NV :: a
$mGL_MAP1_VERTEX_ATTRIB13_4_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAP1_VERTEX_ATTRIB13_4_NV = 0x866D

pattern $bGL_MAP1_VERTEX_ATTRIB14_4_NV :: a
$mGL_MAP1_VERTEX_ATTRIB14_4_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAP1_VERTEX_ATTRIB14_4_NV = 0x866E

pattern $bGL_MAP1_VERTEX_ATTRIB15_4_NV :: a
$mGL_MAP1_VERTEX_ATTRIB15_4_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAP1_VERTEX_ATTRIB15_4_NV = 0x866F

pattern $bGL_MAP1_VERTEX_ATTRIB1_4_NV :: a
$mGL_MAP1_VERTEX_ATTRIB1_4_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAP1_VERTEX_ATTRIB1_4_NV = 0x8661

pattern $bGL_MAP1_VERTEX_ATTRIB2_4_NV :: a
$mGL_MAP1_VERTEX_ATTRIB2_4_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAP1_VERTEX_ATTRIB2_4_NV = 0x8662

pattern $bGL_MAP1_VERTEX_ATTRIB3_4_NV :: a
$mGL_MAP1_VERTEX_ATTRIB3_4_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAP1_VERTEX_ATTRIB3_4_NV = 0x8663

pattern $bGL_MAP1_VERTEX_ATTRIB4_4_NV :: a
$mGL_MAP1_VERTEX_ATTRIB4_4_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAP1_VERTEX_ATTRIB4_4_NV = 0x8664

pattern $bGL_MAP1_VERTEX_ATTRIB5_4_NV :: a
$mGL_MAP1_VERTEX_ATTRIB5_4_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAP1_VERTEX_ATTRIB5_4_NV = 0x8665

pattern $bGL_MAP1_VERTEX_ATTRIB6_4_NV :: a
$mGL_MAP1_VERTEX_ATTRIB6_4_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAP1_VERTEX_ATTRIB6_4_NV = 0x8666

pattern $bGL_MAP1_VERTEX_ATTRIB7_4_NV :: a
$mGL_MAP1_VERTEX_ATTRIB7_4_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAP1_VERTEX_ATTRIB7_4_NV = 0x8667

pattern $bGL_MAP1_VERTEX_ATTRIB8_4_NV :: a
$mGL_MAP1_VERTEX_ATTRIB8_4_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAP1_VERTEX_ATTRIB8_4_NV = 0x8668

pattern $bGL_MAP1_VERTEX_ATTRIB9_4_NV :: a
$mGL_MAP1_VERTEX_ATTRIB9_4_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAP1_VERTEX_ATTRIB9_4_NV = 0x8669

pattern $bGL_MAP2_VERTEX_ATTRIB0_4_NV :: a
$mGL_MAP2_VERTEX_ATTRIB0_4_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAP2_VERTEX_ATTRIB0_4_NV = 0x8670

pattern $bGL_MAP2_VERTEX_ATTRIB10_4_NV :: a
$mGL_MAP2_VERTEX_ATTRIB10_4_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAP2_VERTEX_ATTRIB10_4_NV = 0x867A

pattern $bGL_MAP2_VERTEX_ATTRIB11_4_NV :: a
$mGL_MAP2_VERTEX_ATTRIB11_4_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAP2_VERTEX_ATTRIB11_4_NV = 0x867B

pattern $bGL_MAP2_VERTEX_ATTRIB12_4_NV :: a
$mGL_MAP2_VERTEX_ATTRIB12_4_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAP2_VERTEX_ATTRIB12_4_NV = 0x867C

pattern $bGL_MAP2_VERTEX_ATTRIB13_4_NV :: a
$mGL_MAP2_VERTEX_ATTRIB13_4_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAP2_VERTEX_ATTRIB13_4_NV = 0x867D

pattern $bGL_MAP2_VERTEX_ATTRIB14_4_NV :: a
$mGL_MAP2_VERTEX_ATTRIB14_4_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAP2_VERTEX_ATTRIB14_4_NV = 0x867E

pattern $bGL_MAP2_VERTEX_ATTRIB15_4_NV :: a
$mGL_MAP2_VERTEX_ATTRIB15_4_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAP2_VERTEX_ATTRIB15_4_NV = 0x867F

pattern $bGL_MAP2_VERTEX_ATTRIB1_4_NV :: a
$mGL_MAP2_VERTEX_ATTRIB1_4_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAP2_VERTEX_ATTRIB1_4_NV = 0x8671

pattern $bGL_MAP2_VERTEX_ATTRIB2_4_NV :: a
$mGL_MAP2_VERTEX_ATTRIB2_4_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAP2_VERTEX_ATTRIB2_4_NV = 0x8672

pattern $bGL_MAP2_VERTEX_ATTRIB3_4_NV :: a
$mGL_MAP2_VERTEX_ATTRIB3_4_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAP2_VERTEX_ATTRIB3_4_NV = 0x8673

pattern $bGL_MAP2_VERTEX_ATTRIB4_4_NV :: a
$mGL_MAP2_VERTEX_ATTRIB4_4_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAP2_VERTEX_ATTRIB4_4_NV = 0x8674

pattern $bGL_MAP2_VERTEX_ATTRIB5_4_NV :: a
$mGL_MAP2_VERTEX_ATTRIB5_4_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAP2_VERTEX_ATTRIB5_4_NV = 0x8675

pattern $bGL_MAP2_VERTEX_ATTRIB6_4_NV :: a
$mGL_MAP2_VERTEX_ATTRIB6_4_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAP2_VERTEX_ATTRIB6_4_NV = 0x8676

pattern $bGL_MAP2_VERTEX_ATTRIB7_4_NV :: a
$mGL_MAP2_VERTEX_ATTRIB7_4_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAP2_VERTEX_ATTRIB7_4_NV = 0x8677

pattern $bGL_MAP2_VERTEX_ATTRIB8_4_NV :: a
$mGL_MAP2_VERTEX_ATTRIB8_4_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAP2_VERTEX_ATTRIB8_4_NV = 0x8678

pattern $bGL_MAP2_VERTEX_ATTRIB9_4_NV :: a
$mGL_MAP2_VERTEX_ATTRIB9_4_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAP2_VERTEX_ATTRIB9_4_NV = 0x8679

pattern $bGL_MATRIX0_NV :: a
$mGL_MATRIX0_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MATRIX0_NV = 0x8630

pattern $bGL_MATRIX1_NV :: a
$mGL_MATRIX1_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MATRIX1_NV = 0x8631

pattern $bGL_MATRIX2_NV :: a
$mGL_MATRIX2_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MATRIX2_NV = 0x8632

pattern $bGL_MATRIX3_NV :: a
$mGL_MATRIX3_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MATRIX3_NV = 0x8633

pattern $bGL_MATRIX4_NV :: a
$mGL_MATRIX4_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MATRIX4_NV = 0x8634

pattern $bGL_MATRIX5_NV :: a
$mGL_MATRIX5_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MATRIX5_NV = 0x8635

pattern $bGL_MATRIX6_NV :: a
$mGL_MATRIX6_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MATRIX6_NV = 0x8636

pattern $bGL_MATRIX7_NV :: a
$mGL_MATRIX7_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MATRIX7_NV = 0x8637

pattern $bGL_MAX_TRACK_MATRICES_NV :: a
$mGL_MAX_TRACK_MATRICES_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_TRACK_MATRICES_NV = 0x862F

pattern $bGL_MAX_TRACK_MATRIX_STACK_DEPTH_NV :: a
$mGL_MAX_TRACK_MATRIX_STACK_DEPTH_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV = 0x862E

pattern $bGL_MODELVIEW_PROJECTION_NV :: a
$mGL_MODELVIEW_PROJECTION_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MODELVIEW_PROJECTION_NV = 0x8629

pattern $bGL_PROGRAM_ERROR_POSITION_NV :: a
$mGL_PROGRAM_ERROR_POSITION_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PROGRAM_ERROR_POSITION_NV = 0x864B

pattern $bGL_PROGRAM_LENGTH_NV :: a
$mGL_PROGRAM_LENGTH_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PROGRAM_LENGTH_NV = 0x8627

pattern $bGL_PROGRAM_PARAMETER_NV :: a
$mGL_PROGRAM_PARAMETER_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PROGRAM_PARAMETER_NV = 0x8644

pattern $bGL_PROGRAM_RESIDENT_NV :: a
$mGL_PROGRAM_RESIDENT_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PROGRAM_RESIDENT_NV = 0x8647

pattern $bGL_PROGRAM_STRING_NV :: a
$mGL_PROGRAM_STRING_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PROGRAM_STRING_NV = 0x8628

pattern $bGL_PROGRAM_TARGET_NV :: a
$mGL_PROGRAM_TARGET_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PROGRAM_TARGET_NV = 0x8646

pattern $bGL_TRACK_MATRIX_NV :: a
$mGL_TRACK_MATRIX_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TRACK_MATRIX_NV = 0x8648

pattern $bGL_TRACK_MATRIX_TRANSFORM_NV :: a
$mGL_TRACK_MATRIX_TRANSFORM_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TRACK_MATRIX_TRANSFORM_NV = 0x8649

pattern $bGL_TRANSPOSE_NV :: a
$mGL_TRANSPOSE_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TRANSPOSE_NV = 0x862C

pattern $bGL_VERTEX_ATTRIB_ARRAY0_NV :: a
$mGL_VERTEX_ATTRIB_ARRAY0_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_ATTRIB_ARRAY0_NV = 0x8650

pattern $bGL_VERTEX_ATTRIB_ARRAY10_NV :: a
$mGL_VERTEX_ATTRIB_ARRAY10_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_ATTRIB_ARRAY10_NV = 0x865A

pattern $bGL_VERTEX_ATTRIB_ARRAY11_NV :: a
$mGL_VERTEX_ATTRIB_ARRAY11_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_ATTRIB_ARRAY11_NV = 0x865B

pattern $bGL_VERTEX_ATTRIB_ARRAY12_NV :: a
$mGL_VERTEX_ATTRIB_ARRAY12_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_ATTRIB_ARRAY12_NV = 0x865C

pattern $bGL_VERTEX_ATTRIB_ARRAY13_NV :: a
$mGL_VERTEX_ATTRIB_ARRAY13_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_ATTRIB_ARRAY13_NV = 0x865D

pattern $bGL_VERTEX_ATTRIB_ARRAY14_NV :: a
$mGL_VERTEX_ATTRIB_ARRAY14_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_ATTRIB_ARRAY14_NV = 0x865E

pattern $bGL_VERTEX_ATTRIB_ARRAY15_NV :: a
$mGL_VERTEX_ATTRIB_ARRAY15_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_ATTRIB_ARRAY15_NV = 0x865F

pattern $bGL_VERTEX_ATTRIB_ARRAY1_NV :: a
$mGL_VERTEX_ATTRIB_ARRAY1_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_ATTRIB_ARRAY1_NV = 0x8651

pattern $bGL_VERTEX_ATTRIB_ARRAY2_NV :: a
$mGL_VERTEX_ATTRIB_ARRAY2_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_ATTRIB_ARRAY2_NV = 0x8652

pattern $bGL_VERTEX_ATTRIB_ARRAY3_NV :: a
$mGL_VERTEX_ATTRIB_ARRAY3_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_ATTRIB_ARRAY3_NV = 0x8653

pattern $bGL_VERTEX_ATTRIB_ARRAY4_NV :: a
$mGL_VERTEX_ATTRIB_ARRAY4_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_ATTRIB_ARRAY4_NV = 0x8654

pattern $bGL_VERTEX_ATTRIB_ARRAY5_NV :: a
$mGL_VERTEX_ATTRIB_ARRAY5_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_ATTRIB_ARRAY5_NV = 0x8655

pattern $bGL_VERTEX_ATTRIB_ARRAY6_NV :: a
$mGL_VERTEX_ATTRIB_ARRAY6_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_ATTRIB_ARRAY6_NV = 0x8656

pattern $bGL_VERTEX_ATTRIB_ARRAY7_NV :: a
$mGL_VERTEX_ATTRIB_ARRAY7_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_ATTRIB_ARRAY7_NV = 0x8657

pattern $bGL_VERTEX_ATTRIB_ARRAY8_NV :: a
$mGL_VERTEX_ATTRIB_ARRAY8_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_ATTRIB_ARRAY8_NV = 0x8658

pattern $bGL_VERTEX_ATTRIB_ARRAY9_NV :: a
$mGL_VERTEX_ATTRIB_ARRAY9_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_ATTRIB_ARRAY9_NV = 0x8659

pattern $bGL_VERTEX_PROGRAM_BINDING_NV :: a
$mGL_VERTEX_PROGRAM_BINDING_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_PROGRAM_BINDING_NV = 0x864A

pattern $bGL_VERTEX_PROGRAM_NV :: a
$mGL_VERTEX_PROGRAM_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_PROGRAM_NV = 0x8620

pattern $bGL_VERTEX_PROGRAM_POINT_SIZE_NV :: a
$mGL_VERTEX_PROGRAM_POINT_SIZE_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_PROGRAM_POINT_SIZE_NV = 0x8642

pattern $bGL_VERTEX_PROGRAM_TWO_SIDE_NV :: a
$mGL_VERTEX_PROGRAM_TWO_SIDE_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_PROGRAM_TWO_SIDE_NV = 0x8643

pattern $bGL_VERTEX_STATE_PROGRAM_NV :: a
$mGL_VERTEX_STATE_PROGRAM_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_STATE_PROGRAM_NV = 0x8621