gl-0.9: generated-src/Graphics/GL/Ext/ARB/ShaderObjects.hs
-- This file was automatically generated.
{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
module Graphics.GL.Ext.ARB.ShaderObjects (
-- * Extension Support
gl_ARB_shader_objects
-- * GL_ARB_shader_objects
, glAttachObjectARB
, glCompileShaderARB
, glCreateProgramObjectARB
, glCreateShaderObjectARB
, glDeleteObjectARB
, glDetachObjectARB
, glGetActiveUniformARB
, glGetAttachedObjectsARB
, glGetHandleARB
, glGetInfoLogARB
, glGetObjectParameterfvARB
, glGetObjectParameterivARB
, glGetShaderSourceARB
, glGetUniformLocationARB
, glGetUniformfvARB
, glGetUniformivARB
, glLinkProgramARB
, glShaderSourceARB
, glUniform1fARB
, glUniform1fvARB
, glUniform1iARB
, glUniform1ivARB
, glUniform2fARB
, glUniform2fvARB
, glUniform2iARB
, glUniform2ivARB
, glUniform3fARB
, glUniform3fvARB
, glUniform3iARB
, glUniform3ivARB
, glUniform4fARB
, glUniform4fvARB
, glUniform4iARB
, glUniform4ivARB
, glUniformMatrix2fvARB
, glUniformMatrix3fvARB
, glUniformMatrix4fvARB
, glUseProgramObjectARB
, glValidateProgramARB
, pattern GL_BOOL_ARB
, pattern GL_BOOL_VEC2_ARB
, pattern GL_BOOL_VEC3_ARB
, pattern GL_BOOL_VEC4_ARB
, pattern GL_FLOAT_MAT2_ARB
, pattern GL_FLOAT_MAT3_ARB
, pattern GL_FLOAT_MAT4_ARB
, pattern GL_FLOAT_VEC2_ARB
, pattern GL_FLOAT_VEC3_ARB
, pattern GL_FLOAT_VEC4_ARB
, pattern GL_INT_VEC2_ARB
, pattern GL_INT_VEC3_ARB
, pattern GL_INT_VEC4_ARB
, pattern GL_OBJECT_ACTIVE_UNIFORMS_ARB
, pattern GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB
, pattern GL_OBJECT_ATTACHED_OBJECTS_ARB
, pattern GL_OBJECT_COMPILE_STATUS_ARB
, pattern GL_OBJECT_DELETE_STATUS_ARB
, pattern GL_OBJECT_INFO_LOG_LENGTH_ARB
, pattern GL_OBJECT_LINK_STATUS_ARB
, pattern GL_OBJECT_SHADER_SOURCE_LENGTH_ARB
, pattern GL_OBJECT_SUBTYPE_ARB
, pattern GL_OBJECT_TYPE_ARB
, pattern GL_OBJECT_VALIDATE_STATUS_ARB
, pattern GL_PROGRAM_OBJECT_ARB
, pattern GL_SAMPLER_1D_ARB
, pattern GL_SAMPLER_1D_SHADOW_ARB
, pattern GL_SAMPLER_2D_ARB
, pattern GL_SAMPLER_2D_RECT_ARB
, pattern GL_SAMPLER_2D_RECT_SHADOW_ARB
, pattern GL_SAMPLER_2D_SHADOW_ARB
, pattern GL_SAMPLER_3D_ARB
, pattern GL_SAMPLER_CUBE_ARB
, pattern GL_SHADER_OBJECT_ARB
) where
import Control.Monad.IO.Class
import Data.Set
import Foreign.Ptr
import Graphics.GL.Internal.FFI
import Graphics.GL.Internal.Proc
import Graphics.GL.Internal.Shared
import Graphics.GL.Types
import System.IO.Unsafe
-- | Checks that the <https://cvs.khronos.org/svn/repos/ogl/trunk/doc/registry/public/specs/ARB/shader_objects.txt GL_ARB_shader_objects> extension is available.
gl_ARB_shader_objects :: Bool
gl_ARB_shader_objects = member "GL_ARB_shader_objects" extensions
{-# NOINLINE gl_ARB_shader_objects #-}
-- | Usage: @'glAttachObjectARB' containerObj obj@
--
-- The parameter @containerObj@ is a @handleARB@.
--
-- The parameter @obj@ is a @handleARB@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glAttachShader'.
glAttachObjectARB :: MonadIO m => GLhandleARB -> GLhandleARB -> m ()
glAttachObjectARB = ffihandleARBhandleARBIOV glAttachObjectARBFunPtr
glAttachObjectARBFunPtr :: FunPtr (GLhandleARB -> GLhandleARB -> IO ())
glAttachObjectARBFunPtr = unsafePerformIO (getProcAddress "glAttachObjectARB")
{-# NOINLINE glAttachObjectARBFunPtr #-}
-- | Usage: @'glCompileShaderARB' shaderObj@
--
-- The parameter @shaderObj@ is a @handleARB@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glCompileShader'.
glCompileShaderARB :: MonadIO m => GLhandleARB -> m ()
glCompileShaderARB = ffihandleARBIOV glCompileShaderARBFunPtr
glCompileShaderARBFunPtr :: FunPtr (GLhandleARB -> IO ())
glCompileShaderARBFunPtr = unsafePerformIO (getProcAddress "glCompileShaderARB")
{-# NOINLINE glCompileShaderARBFunPtr #-}
-- | Usage: @'glCreateProgramObjectARB'@
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glCreateProgram'.
glCreateProgramObjectARB :: MonadIO m => m GLhandleARB
glCreateProgramObjectARB = ffiIOhandleARB glCreateProgramObjectARBFunPtr
glCreateProgramObjectARBFunPtr :: FunPtr (IO GLhandleARB)
glCreateProgramObjectARBFunPtr = unsafePerformIO (getProcAddress "glCreateProgramObjectARB")
{-# NOINLINE glCreateProgramObjectARBFunPtr #-}
-- | Usage: @'glCreateShaderObjectARB' shaderType@
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glCreateShader'.
glCreateShaderObjectARB :: MonadIO m => GLenum -> m GLhandleARB
glCreateShaderObjectARB = ffienumIOhandleARB glCreateShaderObjectARBFunPtr
glCreateShaderObjectARBFunPtr :: FunPtr (GLenum -> IO GLhandleARB)
glCreateShaderObjectARBFunPtr = unsafePerformIO (getProcAddress "glCreateShaderObjectARB")
{-# NOINLINE glCreateShaderObjectARBFunPtr #-}
-- | Usage: @'glDeleteObjectARB' obj@
--
-- The parameter @obj@ is a @handleARB@.
glDeleteObjectARB :: MonadIO m => GLhandleARB -> m ()
glDeleteObjectARB = ffihandleARBIOV glDeleteObjectARBFunPtr
glDeleteObjectARBFunPtr :: FunPtr (GLhandleARB -> IO ())
glDeleteObjectARBFunPtr = unsafePerformIO (getProcAddress "glDeleteObjectARB")
{-# NOINLINE glDeleteObjectARBFunPtr #-}
-- | Usage: @'glDetachObjectARB' containerObj attachedObj@
--
-- The parameter @containerObj@ is a @handleARB@.
--
-- The parameter @attachedObj@ is a @handleARB@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glDetachShader'.
glDetachObjectARB :: MonadIO m => GLhandleARB -> GLhandleARB -> m ()
glDetachObjectARB = ffihandleARBhandleARBIOV glDetachObjectARBFunPtr
glDetachObjectARBFunPtr :: FunPtr (GLhandleARB -> GLhandleARB -> IO ())
glDetachObjectARBFunPtr = unsafePerformIO (getProcAddress "glDetachObjectARB")
{-# NOINLINE glDetachObjectARBFunPtr #-}
-- | Usage: @'glGetActiveUniformARB' programObj index maxLength length size type name@
--
-- The parameter @programObj@ is a @handleARB@.
--
-- The length of @length@ should be @1@.
--
-- The length of @size@ should be @1@.
--
-- The length of @type@ should be @1@.
--
-- The length of @name@ should be @maxLength@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glGetActiveUniform'.
glGetActiveUniformARB :: MonadIO m => GLhandleARB -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLcharARB -> m ()
glGetActiveUniformARB = ffihandleARBuintsizeiPtrsizeiPtrintPtrenumPtrcharARBIOV glGetActiveUniformARBFunPtr
glGetActiveUniformARBFunPtr :: FunPtr (GLhandleARB -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLcharARB -> IO ())
glGetActiveUniformARBFunPtr = unsafePerformIO (getProcAddress "glGetActiveUniformARB")
{-# NOINLINE glGetActiveUniformARBFunPtr #-}
-- | Usage: @'glGetAttachedObjectsARB' containerObj maxCount count obj@
--
-- The parameter @containerObj@ is a @handleARB@.
--
-- The parameter @obj@ is a @handleARB@.
--
-- The length of @count@ should be @1@.
--
-- The length of @obj@ should be @maxCount@.
glGetAttachedObjectsARB :: MonadIO m => GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLhandleARB -> m ()
glGetAttachedObjectsARB = ffihandleARBsizeiPtrsizeiPtrhandleARBIOV glGetAttachedObjectsARBFunPtr
glGetAttachedObjectsARBFunPtr :: FunPtr (GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLhandleARB -> IO ())
glGetAttachedObjectsARBFunPtr = unsafePerformIO (getProcAddress "glGetAttachedObjectsARB")
{-# NOINLINE glGetAttachedObjectsARBFunPtr #-}
-- | Usage: @'glGetHandleARB' pname@
glGetHandleARB :: MonadIO m => GLenum -> m GLhandleARB
glGetHandleARB = ffienumIOhandleARB glGetHandleARBFunPtr
glGetHandleARBFunPtr :: FunPtr (GLenum -> IO GLhandleARB)
glGetHandleARBFunPtr = unsafePerformIO (getProcAddress "glGetHandleARB")
{-# NOINLINE glGetHandleARBFunPtr #-}
-- | Usage: @'glGetInfoLogARB' obj maxLength length infoLog@
--
-- The parameter @obj@ is a @handleARB@.
--
-- The length of @length@ should be @1@.
--
-- The length of @infoLog@ should be @maxLength@.
glGetInfoLogARB :: MonadIO m => GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLcharARB -> m ()
glGetInfoLogARB = ffihandleARBsizeiPtrsizeiPtrcharARBIOV glGetInfoLogARBFunPtr
glGetInfoLogARBFunPtr :: FunPtr (GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLcharARB -> IO ())
glGetInfoLogARBFunPtr = unsafePerformIO (getProcAddress "glGetInfoLogARB")
{-# NOINLINE glGetInfoLogARBFunPtr #-}
-- | Usage: @'glGetObjectParameterfvARB' obj pname params@
--
-- The parameter @obj@ is a @handleARB@.
--
-- The length of @params@ should be @COMPSIZE(pname)@.
glGetObjectParameterfvARB :: MonadIO m => GLhandleARB -> GLenum -> Ptr GLfloat -> m ()
glGetObjectParameterfvARB = ffihandleARBenumPtrfloatIOV glGetObjectParameterfvARBFunPtr
glGetObjectParameterfvARBFunPtr :: FunPtr (GLhandleARB -> GLenum -> Ptr GLfloat -> IO ())
glGetObjectParameterfvARBFunPtr = unsafePerformIO (getProcAddress "glGetObjectParameterfvARB")
{-# NOINLINE glGetObjectParameterfvARBFunPtr #-}
-- | Usage: @'glGetObjectParameterivARB' obj pname params@
--
-- The parameter @obj@ is a @handleARB@.
--
-- The length of @params@ should be @COMPSIZE(pname)@.
glGetObjectParameterivARB :: MonadIO m => GLhandleARB -> GLenum -> Ptr GLint -> m ()
glGetObjectParameterivARB = ffihandleARBenumPtrintIOV glGetObjectParameterivARBFunPtr
glGetObjectParameterivARBFunPtr :: FunPtr (GLhandleARB -> GLenum -> Ptr GLint -> IO ())
glGetObjectParameterivARBFunPtr = unsafePerformIO (getProcAddress "glGetObjectParameterivARB")
{-# NOINLINE glGetObjectParameterivARBFunPtr #-}
-- | Usage: @'glGetShaderSourceARB' obj maxLength length source@
--
-- The parameter @obj@ is a @handleARB@.
--
-- The length of @length@ should be @1@.
--
-- The length of @source@ should be @maxLength@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glGetShaderSource'.
glGetShaderSourceARB :: MonadIO m => GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLcharARB -> m ()
glGetShaderSourceARB = ffihandleARBsizeiPtrsizeiPtrcharARBIOV glGetShaderSourceARBFunPtr
glGetShaderSourceARBFunPtr :: FunPtr (GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLcharARB -> IO ())
glGetShaderSourceARBFunPtr = unsafePerformIO (getProcAddress "glGetShaderSourceARB")
{-# NOINLINE glGetShaderSourceARBFunPtr #-}
-- | Usage: @'glGetUniformLocationARB' programObj name@
--
-- The parameter @programObj@ is a @handleARB@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glGetUniformLocation'.
glGetUniformLocationARB :: MonadIO m => GLhandleARB -> Ptr GLcharARB -> m GLint
glGetUniformLocationARB = ffihandleARBPtrcharARBIOint glGetUniformLocationARBFunPtr
glGetUniformLocationARBFunPtr :: FunPtr (GLhandleARB -> Ptr GLcharARB -> IO GLint)
glGetUniformLocationARBFunPtr = unsafePerformIO (getProcAddress "glGetUniformLocationARB")
{-# NOINLINE glGetUniformLocationARBFunPtr #-}
-- | Usage: @'glGetUniformfvARB' programObj location params@
--
-- The parameter @programObj@ is a @handleARB@.
--
-- The length of @params@ should be @COMPSIZE(programObj,location)@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glGetUniformfv'.
glGetUniformfvARB :: MonadIO m => GLhandleARB -> GLint -> Ptr GLfloat -> m ()
glGetUniformfvARB = ffihandleARBintPtrfloatIOV glGetUniformfvARBFunPtr
glGetUniformfvARBFunPtr :: FunPtr (GLhandleARB -> GLint -> Ptr GLfloat -> IO ())
glGetUniformfvARBFunPtr = unsafePerformIO (getProcAddress "glGetUniformfvARB")
{-# NOINLINE glGetUniformfvARBFunPtr #-}
-- | Usage: @'glGetUniformivARB' programObj location params@
--
-- The parameter @programObj@ is a @handleARB@.
--
-- The length of @params@ should be @COMPSIZE(programObj,location)@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glGetUniformiv'.
glGetUniformivARB :: MonadIO m => GLhandleARB -> GLint -> Ptr GLint -> m ()
glGetUniformivARB = ffihandleARBintPtrintIOV glGetUniformivARBFunPtr
glGetUniformivARBFunPtr :: FunPtr (GLhandleARB -> GLint -> Ptr GLint -> IO ())
glGetUniformivARBFunPtr = unsafePerformIO (getProcAddress "glGetUniformivARB")
{-# NOINLINE glGetUniformivARBFunPtr #-}
-- | Usage: @'glLinkProgramARB' programObj@
--
-- The parameter @programObj@ is a @handleARB@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glLinkProgram'.
glLinkProgramARB :: MonadIO m => GLhandleARB -> m ()
glLinkProgramARB = ffihandleARBIOV glLinkProgramARBFunPtr
glLinkProgramARBFunPtr :: FunPtr (GLhandleARB -> IO ())
glLinkProgramARBFunPtr = unsafePerformIO (getProcAddress "glLinkProgramARB")
{-# NOINLINE glLinkProgramARBFunPtr #-}
-- | Usage: @'glShaderSourceARB' shaderObj count string length@
--
-- The parameter @shaderObj@ is a @handleARB@.
--
-- The length of @string@ should be @count@.
--
-- The length of @length@ should be @count@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glShaderSource'.
glShaderSourceARB :: MonadIO m => GLhandleARB -> GLsizei -> Ptr (Ptr GLcharARB) -> Ptr GLint -> m ()
glShaderSourceARB = ffihandleARBsizeiPtrPtrcharARBPtrintIOV glShaderSourceARBFunPtr
glShaderSourceARBFunPtr :: FunPtr (GLhandleARB -> GLsizei -> Ptr (Ptr GLcharARB) -> Ptr GLint -> IO ())
glShaderSourceARBFunPtr = unsafePerformIO (getProcAddress "glShaderSourceARB")
{-# NOINLINE glShaderSourceARBFunPtr #-}
-- | Usage: @'glUniform1fARB' location v0@
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glUniform1f'.
glUniform1fARB :: MonadIO m => GLint -> GLfloat -> m ()
glUniform1fARB = ffiintfloatIOV glUniform1fARBFunPtr
glUniform1fARBFunPtr :: FunPtr (GLint -> GLfloat -> IO ())
glUniform1fARBFunPtr = unsafePerformIO (getProcAddress "glUniform1fARB")
{-# NOINLINE glUniform1fARBFunPtr #-}
-- | Usage: @'glUniform1fvARB' location count value@
--
-- The length of @value@ should be @count*1@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glUniform1fv'.
glUniform1fvARB :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()
glUniform1fvARB = ffiintsizeiPtrfloatIOV glUniform1fvARBFunPtr
glUniform1fvARBFunPtr :: FunPtr (GLint -> GLsizei -> Ptr GLfloat -> IO ())
glUniform1fvARBFunPtr = unsafePerformIO (getProcAddress "glUniform1fvARB")
{-# NOINLINE glUniform1fvARBFunPtr #-}
-- | Usage: @'glUniform1iARB' location v0@
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glUniform1i'.
glUniform1iARB :: MonadIO m => GLint -> GLint -> m ()
glUniform1iARB = ffiintintIOV glUniform1iARBFunPtr
glUniform1iARBFunPtr :: FunPtr (GLint -> GLint -> IO ())
glUniform1iARBFunPtr = unsafePerformIO (getProcAddress "glUniform1iARB")
{-# NOINLINE glUniform1iARBFunPtr #-}
-- | Usage: @'glUniform1ivARB' location count value@
--
-- The length of @value@ should be @count*1@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glUniform1iv'.
glUniform1ivARB :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()
glUniform1ivARB = ffiintsizeiPtrintIOV glUniform1ivARBFunPtr
glUniform1ivARBFunPtr :: FunPtr (GLint -> GLsizei -> Ptr GLint -> IO ())
glUniform1ivARBFunPtr = unsafePerformIO (getProcAddress "glUniform1ivARB")
{-# NOINLINE glUniform1ivARBFunPtr #-}
-- | Usage: @'glUniform2fARB' location v0 v1@
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glUniform2f'.
glUniform2fARB :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()
glUniform2fARB = ffiintfloatfloatIOV glUniform2fARBFunPtr
glUniform2fARBFunPtr :: FunPtr (GLint -> GLfloat -> GLfloat -> IO ())
glUniform2fARBFunPtr = unsafePerformIO (getProcAddress "glUniform2fARB")
{-# NOINLINE glUniform2fARBFunPtr #-}
-- | Usage: @'glUniform2fvARB' location count value@
--
-- The length of @value@ should be @count*2@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glUniform2fv'.
glUniform2fvARB :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()
glUniform2fvARB = ffiintsizeiPtrfloatIOV glUniform2fvARBFunPtr
glUniform2fvARBFunPtr :: FunPtr (GLint -> GLsizei -> Ptr GLfloat -> IO ())
glUniform2fvARBFunPtr = unsafePerformIO (getProcAddress "glUniform2fvARB")
{-# NOINLINE glUniform2fvARBFunPtr #-}
-- | Usage: @'glUniform2iARB' location v0 v1@
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glUniform2i'.
glUniform2iARB :: MonadIO m => GLint -> GLint -> GLint -> m ()
glUniform2iARB = ffiintintintIOV glUniform2iARBFunPtr
glUniform2iARBFunPtr :: FunPtr (GLint -> GLint -> GLint -> IO ())
glUniform2iARBFunPtr = unsafePerformIO (getProcAddress "glUniform2iARB")
{-# NOINLINE glUniform2iARBFunPtr #-}
-- | Usage: @'glUniform2ivARB' location count value@
--
-- The length of @value@ should be @count*2@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glUniform2iv'.
glUniform2ivARB :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()
glUniform2ivARB = ffiintsizeiPtrintIOV glUniform2ivARBFunPtr
glUniform2ivARBFunPtr :: FunPtr (GLint -> GLsizei -> Ptr GLint -> IO ())
glUniform2ivARBFunPtr = unsafePerformIO (getProcAddress "glUniform2ivARB")
{-# NOINLINE glUniform2ivARBFunPtr #-}
-- | Usage: @'glUniform3fARB' location v0 v1 v2@
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glUniform3f'.
glUniform3fARB :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> m ()
glUniform3fARB = ffiintfloatfloatfloatIOV glUniform3fARBFunPtr
glUniform3fARBFunPtr :: FunPtr (GLint -> GLfloat -> GLfloat -> GLfloat -> IO ())
glUniform3fARBFunPtr = unsafePerformIO (getProcAddress "glUniform3fARB")
{-# NOINLINE glUniform3fARBFunPtr #-}
-- | Usage: @'glUniform3fvARB' location count value@
--
-- The length of @value@ should be @count*3@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glUniform3fv'.
glUniform3fvARB :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()
glUniform3fvARB = ffiintsizeiPtrfloatIOV glUniform3fvARBFunPtr
glUniform3fvARBFunPtr :: FunPtr (GLint -> GLsizei -> Ptr GLfloat -> IO ())
glUniform3fvARBFunPtr = unsafePerformIO (getProcAddress "glUniform3fvARB")
{-# NOINLINE glUniform3fvARBFunPtr #-}
-- | Usage: @'glUniform3iARB' location v0 v1 v2@
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glUniform3i'.
glUniform3iARB :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()
glUniform3iARB = ffiintintintintIOV glUniform3iARBFunPtr
glUniform3iARBFunPtr :: FunPtr (GLint -> GLint -> GLint -> GLint -> IO ())
glUniform3iARBFunPtr = unsafePerformIO (getProcAddress "glUniform3iARB")
{-# NOINLINE glUniform3iARBFunPtr #-}
-- | Usage: @'glUniform3ivARB' location count value@
--
-- The length of @value@ should be @count*3@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glUniform3iv'.
glUniform3ivARB :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()
glUniform3ivARB = ffiintsizeiPtrintIOV glUniform3ivARBFunPtr
glUniform3ivARBFunPtr :: FunPtr (GLint -> GLsizei -> Ptr GLint -> IO ())
glUniform3ivARBFunPtr = unsafePerformIO (getProcAddress "glUniform3ivARB")
{-# NOINLINE glUniform3ivARBFunPtr #-}
-- | Usage: @'glUniform4fARB' location v0 v1 v2 v3@
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glUniform4f'.
glUniform4fARB :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glUniform4fARB = ffiintfloatfloatfloatfloatIOV glUniform4fARBFunPtr
glUniform4fARBFunPtr :: FunPtr (GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glUniform4fARBFunPtr = unsafePerformIO (getProcAddress "glUniform4fARB")
{-# NOINLINE glUniform4fARBFunPtr #-}
-- | Usage: @'glUniform4fvARB' location count value@
--
-- The length of @value@ should be @count*4@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glUniform4fv'.
glUniform4fvARB :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()
glUniform4fvARB = ffiintsizeiPtrfloatIOV glUniform4fvARBFunPtr
glUniform4fvARBFunPtr :: FunPtr (GLint -> GLsizei -> Ptr GLfloat -> IO ())
glUniform4fvARBFunPtr = unsafePerformIO (getProcAddress "glUniform4fvARB")
{-# NOINLINE glUniform4fvARBFunPtr #-}
-- | Usage: @'glUniform4iARB' location v0 v1 v2 v3@
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glUniform4i'.
glUniform4iARB :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> m ()
glUniform4iARB = ffiintintintintintIOV glUniform4iARBFunPtr
glUniform4iARBFunPtr :: FunPtr (GLint -> GLint -> GLint -> GLint -> GLint -> IO ())
glUniform4iARBFunPtr = unsafePerformIO (getProcAddress "glUniform4iARB")
{-# NOINLINE glUniform4iARBFunPtr #-}
-- | Usage: @'glUniform4ivARB' location count value@
--
-- The length of @value@ should be @count*4@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glUniform4iv'.
glUniform4ivARB :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()
glUniform4ivARB = ffiintsizeiPtrintIOV glUniform4ivARBFunPtr
glUniform4ivARBFunPtr :: FunPtr (GLint -> GLsizei -> Ptr GLint -> IO ())
glUniform4ivARBFunPtr = unsafePerformIO (getProcAddress "glUniform4ivARB")
{-# NOINLINE glUniform4ivARBFunPtr #-}
-- | Usage: @'glUniformMatrix2fvARB' location count transpose value@
--
-- The parameter @transpose@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @value@ should be @count*4@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glUniformMatrix2fv'.
glUniformMatrix2fvARB :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2fvARB = ffiintsizeibooleanPtrfloatIOV glUniformMatrix2fvARBFunPtr
glUniformMatrix2fvARBFunPtr :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glUniformMatrix2fvARBFunPtr = unsafePerformIO (getProcAddress "glUniformMatrix2fvARB")
{-# NOINLINE glUniformMatrix2fvARBFunPtr #-}
-- | Usage: @'glUniformMatrix3fvARB' location count transpose value@
--
-- The parameter @transpose@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @value@ should be @count*9@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glUniformMatrix3fv'.
glUniformMatrix3fvARB :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3fvARB = ffiintsizeibooleanPtrfloatIOV glUniformMatrix3fvARBFunPtr
glUniformMatrix3fvARBFunPtr :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glUniformMatrix3fvARBFunPtr = unsafePerformIO (getProcAddress "glUniformMatrix3fvARB")
{-# NOINLINE glUniformMatrix3fvARBFunPtr #-}
-- | Usage: @'glUniformMatrix4fvARB' location count transpose value@
--
-- The parameter @transpose@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'.
--
-- The length of @value@ should be @count*16@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glUniformMatrix4fv'.
glUniformMatrix4fvARB :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4fvARB = ffiintsizeibooleanPtrfloatIOV glUniformMatrix4fvARBFunPtr
glUniformMatrix4fvARBFunPtr :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glUniformMatrix4fvARBFunPtr = unsafePerformIO (getProcAddress "glUniformMatrix4fvARB")
{-# NOINLINE glUniformMatrix4fvARBFunPtr #-}
-- | Usage: @'glUseProgramObjectARB' programObj@
--
-- The parameter @programObj@ is a @handleARB@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glUseProgram'.
glUseProgramObjectARB :: MonadIO m => GLhandleARB -> m ()
glUseProgramObjectARB = ffihandleARBIOV glUseProgramObjectARBFunPtr
glUseProgramObjectARBFunPtr :: FunPtr (GLhandleARB -> IO ())
glUseProgramObjectARBFunPtr = unsafePerformIO (getProcAddress "glUseProgramObjectARB")
{-# NOINLINE glUseProgramObjectARBFunPtr #-}
-- | Usage: @'glValidateProgramARB' programObj@
--
-- The parameter @programObj@ is a @handleARB@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glValidateProgram'.
glValidateProgramARB :: MonadIO m => GLhandleARB -> m ()
glValidateProgramARB = ffihandleARBIOV glValidateProgramARBFunPtr
glValidateProgramARBFunPtr :: FunPtr (GLhandleARB -> IO ())
glValidateProgramARBFunPtr = unsafePerformIO (getProcAddress "glValidateProgramARB")
{-# NOINLINE glValidateProgramARBFunPtr #-}
pattern GL_BOOL_ARB = 0x8B56
pattern GL_BOOL_VEC2_ARB = 0x8B57
pattern GL_BOOL_VEC3_ARB = 0x8B58
pattern GL_BOOL_VEC4_ARB = 0x8B59
pattern GL_INT_VEC2_ARB = 0x8B53
pattern GL_INT_VEC3_ARB = 0x8B54
pattern GL_INT_VEC4_ARB = 0x8B55
pattern GL_OBJECT_ACTIVE_UNIFORMS_ARB = 0x8B86
pattern GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB = 0x8B87
pattern GL_OBJECT_ATTACHED_OBJECTS_ARB = 0x8B85
pattern GL_OBJECT_COMPILE_STATUS_ARB = 0x8B81
pattern GL_OBJECT_DELETE_STATUS_ARB = 0x8B80
pattern GL_OBJECT_INFO_LOG_LENGTH_ARB = 0x8B84
pattern GL_OBJECT_LINK_STATUS_ARB = 0x8B82
pattern GL_OBJECT_SHADER_SOURCE_LENGTH_ARB = 0x8B88
pattern GL_OBJECT_SUBTYPE_ARB = 0x8B4F
pattern GL_OBJECT_TYPE_ARB = 0x8B4E
pattern GL_OBJECT_VALIDATE_STATUS_ARB = 0x8B83
pattern GL_PROGRAM_OBJECT_ARB = 0x8B40
pattern GL_SAMPLER_1D_ARB = 0x8B5D
pattern GL_SAMPLER_1D_SHADOW_ARB = 0x8B61
pattern GL_SAMPLER_2D_ARB = 0x8B5E
pattern GL_SAMPLER_2D_RECT_ARB = 0x8B63
pattern GL_SAMPLER_2D_RECT_SHADOW_ARB = 0x8B64
pattern GL_SAMPLER_2D_SHADOW_ARB = 0x8B62
pattern GL_SAMPLER_3D_ARB = 0x8B5F
pattern GL_SAMPLER_CUBE_ARB = 0x8B60
pattern GL_SHADER_OBJECT_ARB = 0x8B48