module Graphics.GL.Ext.ARB.ShaderObjects (
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
gl_ARB_shader_objects :: Bool
gl_ARB_shader_objects = member "GL_ARB_shader_objects" extensions
glAttachObjectARB :: MonadIO m => GLhandleARB -> GLhandleARB -> m ()
glAttachObjectARB = ffihandleARBhandleARBIOV glAttachObjectARBFunPtr
glAttachObjectARBFunPtr :: FunPtr (GLhandleARB -> GLhandleARB -> IO ())
glAttachObjectARBFunPtr = unsafePerformIO (getProcAddress "glAttachObjectARB")
glCompileShaderARB :: MonadIO m => GLhandleARB -> m ()
glCompileShaderARB = ffihandleARBIOV glCompileShaderARBFunPtr
glCompileShaderARBFunPtr :: FunPtr (GLhandleARB -> IO ())
glCompileShaderARBFunPtr = unsafePerformIO (getProcAddress "glCompileShaderARB")
glCreateProgramObjectARB :: MonadIO m => m GLhandleARB
glCreateProgramObjectARB = ffiIOhandleARB glCreateProgramObjectARBFunPtr
glCreateProgramObjectARBFunPtr :: FunPtr (IO GLhandleARB)
glCreateProgramObjectARBFunPtr = unsafePerformIO (getProcAddress "glCreateProgramObjectARB")
glCreateShaderObjectARB :: MonadIO m => GLenum -> m GLhandleARB
glCreateShaderObjectARB = ffienumIOhandleARB glCreateShaderObjectARBFunPtr
glCreateShaderObjectARBFunPtr :: FunPtr (GLenum -> IO GLhandleARB)
glCreateShaderObjectARBFunPtr = unsafePerformIO (getProcAddress "glCreateShaderObjectARB")
glDeleteObjectARB :: MonadIO m => GLhandleARB -> m ()
glDeleteObjectARB = ffihandleARBIOV glDeleteObjectARBFunPtr
glDeleteObjectARBFunPtr :: FunPtr (GLhandleARB -> IO ())
glDeleteObjectARBFunPtr = unsafePerformIO (getProcAddress "glDeleteObjectARB")
glDetachObjectARB :: MonadIO m => GLhandleARB -> GLhandleARB -> m ()
glDetachObjectARB = ffihandleARBhandleARBIOV glDetachObjectARBFunPtr
glDetachObjectARBFunPtr :: FunPtr (GLhandleARB -> GLhandleARB -> IO ())
glDetachObjectARBFunPtr = unsafePerformIO (getProcAddress "glDetachObjectARB")
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")
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")
glGetHandleARB :: MonadIO m => GLenum -> m GLhandleARB
glGetHandleARB = ffienumIOhandleARB glGetHandleARBFunPtr
glGetHandleARBFunPtr :: FunPtr (GLenum -> IO GLhandleARB)
glGetHandleARBFunPtr = unsafePerformIO (getProcAddress "glGetHandleARB")
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")
glGetObjectParameterfvARB :: MonadIO m => GLhandleARB -> GLenum -> Ptr GLfloat -> m ()
glGetObjectParameterfvARB = ffihandleARBenumPtrfloatIOV glGetObjectParameterfvARBFunPtr
glGetObjectParameterfvARBFunPtr :: FunPtr (GLhandleARB -> GLenum -> Ptr GLfloat -> IO ())
glGetObjectParameterfvARBFunPtr = unsafePerformIO (getProcAddress "glGetObjectParameterfvARB")
glGetObjectParameterivARB :: MonadIO m => GLhandleARB -> GLenum -> Ptr GLint -> m ()
glGetObjectParameterivARB = ffihandleARBenumPtrintIOV glGetObjectParameterivARBFunPtr
glGetObjectParameterivARBFunPtr :: FunPtr (GLhandleARB -> GLenum -> Ptr GLint -> IO ())
glGetObjectParameterivARBFunPtr = unsafePerformIO (getProcAddress "glGetObjectParameterivARB")
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")
glGetUniformLocationARB :: MonadIO m => GLhandleARB -> Ptr GLcharARB -> m GLint
glGetUniformLocationARB = ffihandleARBPtrcharARBIOint glGetUniformLocationARBFunPtr
glGetUniformLocationARBFunPtr :: FunPtr (GLhandleARB -> Ptr GLcharARB -> IO GLint)
glGetUniformLocationARBFunPtr = unsafePerformIO (getProcAddress "glGetUniformLocationARB")
glGetUniformfvARB :: MonadIO m => GLhandleARB -> GLint -> Ptr GLfloat -> m ()
glGetUniformfvARB = ffihandleARBintPtrfloatIOV glGetUniformfvARBFunPtr
glGetUniformfvARBFunPtr :: FunPtr (GLhandleARB -> GLint -> Ptr GLfloat -> IO ())
glGetUniformfvARBFunPtr = unsafePerformIO (getProcAddress "glGetUniformfvARB")
glGetUniformivARB :: MonadIO m => GLhandleARB -> GLint -> Ptr GLint -> m ()
glGetUniformivARB = ffihandleARBintPtrintIOV glGetUniformivARBFunPtr
glGetUniformivARBFunPtr :: FunPtr (GLhandleARB -> GLint -> Ptr GLint -> IO ())
glGetUniformivARBFunPtr = unsafePerformIO (getProcAddress "glGetUniformivARB")
glLinkProgramARB :: MonadIO m => GLhandleARB -> m ()
glLinkProgramARB = ffihandleARBIOV glLinkProgramARBFunPtr
glLinkProgramARBFunPtr :: FunPtr (GLhandleARB -> IO ())
glLinkProgramARBFunPtr = unsafePerformIO (getProcAddress "glLinkProgramARB")
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")
glUniform1fARB :: MonadIO m => GLint -> GLfloat -> m ()
glUniform1fARB = ffiintfloatIOV glUniform1fARBFunPtr
glUniform1fARBFunPtr :: FunPtr (GLint -> GLfloat -> IO ())
glUniform1fARBFunPtr = unsafePerformIO (getProcAddress "glUniform1fARB")
glUniform1fvARB :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()
glUniform1fvARB = ffiintsizeiPtrfloatIOV glUniform1fvARBFunPtr
glUniform1fvARBFunPtr :: FunPtr (GLint -> GLsizei -> Ptr GLfloat -> IO ())
glUniform1fvARBFunPtr = unsafePerformIO (getProcAddress "glUniform1fvARB")
glUniform1iARB :: MonadIO m => GLint -> GLint -> m ()
glUniform1iARB = ffiintintIOV glUniform1iARBFunPtr
glUniform1iARBFunPtr :: FunPtr (GLint -> GLint -> IO ())
glUniform1iARBFunPtr = unsafePerformIO (getProcAddress "glUniform1iARB")
glUniform1ivARB :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()
glUniform1ivARB = ffiintsizeiPtrintIOV glUniform1ivARBFunPtr
glUniform1ivARBFunPtr :: FunPtr (GLint -> GLsizei -> Ptr GLint -> IO ())
glUniform1ivARBFunPtr = unsafePerformIO (getProcAddress "glUniform1ivARB")
glUniform2fARB :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()
glUniform2fARB = ffiintfloatfloatIOV glUniform2fARBFunPtr
glUniform2fARBFunPtr :: FunPtr (GLint -> GLfloat -> GLfloat -> IO ())
glUniform2fARBFunPtr = unsafePerformIO (getProcAddress "glUniform2fARB")
glUniform2fvARB :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()
glUniform2fvARB = ffiintsizeiPtrfloatIOV glUniform2fvARBFunPtr
glUniform2fvARBFunPtr :: FunPtr (GLint -> GLsizei -> Ptr GLfloat -> IO ())
glUniform2fvARBFunPtr = unsafePerformIO (getProcAddress "glUniform2fvARB")
glUniform2iARB :: MonadIO m => GLint -> GLint -> GLint -> m ()
glUniform2iARB = ffiintintintIOV glUniform2iARBFunPtr
glUniform2iARBFunPtr :: FunPtr (GLint -> GLint -> GLint -> IO ())
glUniform2iARBFunPtr = unsafePerformIO (getProcAddress "glUniform2iARB")
glUniform2ivARB :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()
glUniform2ivARB = ffiintsizeiPtrintIOV glUniform2ivARBFunPtr
glUniform2ivARBFunPtr :: FunPtr (GLint -> GLsizei -> Ptr GLint -> IO ())
glUniform2ivARBFunPtr = unsafePerformIO (getProcAddress "glUniform2ivARB")
glUniform3fARB :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> m ()
glUniform3fARB = ffiintfloatfloatfloatIOV glUniform3fARBFunPtr
glUniform3fARBFunPtr :: FunPtr (GLint -> GLfloat -> GLfloat -> GLfloat -> IO ())
glUniform3fARBFunPtr = unsafePerformIO (getProcAddress "glUniform3fARB")
glUniform3fvARB :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()
glUniform3fvARB = ffiintsizeiPtrfloatIOV glUniform3fvARBFunPtr
glUniform3fvARBFunPtr :: FunPtr (GLint -> GLsizei -> Ptr GLfloat -> IO ())
glUniform3fvARBFunPtr = unsafePerformIO (getProcAddress "glUniform3fvARB")
glUniform3iARB :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()
glUniform3iARB = ffiintintintintIOV glUniform3iARBFunPtr
glUniform3iARBFunPtr :: FunPtr (GLint -> GLint -> GLint -> GLint -> IO ())
glUniform3iARBFunPtr = unsafePerformIO (getProcAddress "glUniform3iARB")
glUniform3ivARB :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()
glUniform3ivARB = ffiintsizeiPtrintIOV glUniform3ivARBFunPtr
glUniform3ivARBFunPtr :: FunPtr (GLint -> GLsizei -> Ptr GLint -> IO ())
glUniform3ivARBFunPtr = unsafePerformIO (getProcAddress "glUniform3ivARB")
glUniform4fARB :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glUniform4fARB = ffiintfloatfloatfloatfloatIOV glUniform4fARBFunPtr
glUniform4fARBFunPtr :: FunPtr (GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glUniform4fARBFunPtr = unsafePerformIO (getProcAddress "glUniform4fARB")
glUniform4fvARB :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()
glUniform4fvARB = ffiintsizeiPtrfloatIOV glUniform4fvARBFunPtr
glUniform4fvARBFunPtr :: FunPtr (GLint -> GLsizei -> Ptr GLfloat -> IO ())
glUniform4fvARBFunPtr = unsafePerformIO (getProcAddress "glUniform4fvARB")
glUniform4iARB :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> m ()
glUniform4iARB = ffiintintintintintIOV glUniform4iARBFunPtr
glUniform4iARBFunPtr :: FunPtr (GLint -> GLint -> GLint -> GLint -> GLint -> IO ())
glUniform4iARBFunPtr = unsafePerformIO (getProcAddress "glUniform4iARB")
glUniform4ivARB :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()
glUniform4ivARB = ffiintsizeiPtrintIOV glUniform4ivARBFunPtr
glUniform4ivARBFunPtr :: FunPtr (GLint -> GLsizei -> Ptr GLint -> IO ())
glUniform4ivARBFunPtr = unsafePerformIO (getProcAddress "glUniform4ivARB")
glUniformMatrix2fvARB :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2fvARB = ffiintsizeibooleanPtrfloatIOV glUniformMatrix2fvARBFunPtr
glUniformMatrix2fvARBFunPtr :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glUniformMatrix2fvARBFunPtr = unsafePerformIO (getProcAddress "glUniformMatrix2fvARB")
glUniformMatrix3fvARB :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3fvARB = ffiintsizeibooleanPtrfloatIOV glUniformMatrix3fvARBFunPtr
glUniformMatrix3fvARBFunPtr :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glUniformMatrix3fvARBFunPtr = unsafePerformIO (getProcAddress "glUniformMatrix3fvARB")
glUniformMatrix4fvARB :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4fvARB = ffiintsizeibooleanPtrfloatIOV glUniformMatrix4fvARBFunPtr
glUniformMatrix4fvARBFunPtr :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
glUniformMatrix4fvARBFunPtr = unsafePerformIO (getProcAddress "glUniformMatrix4fvARB")
glUseProgramObjectARB :: MonadIO m => GLhandleARB -> m ()
glUseProgramObjectARB = ffihandleARBIOV glUseProgramObjectARBFunPtr
glUseProgramObjectARBFunPtr :: FunPtr (GLhandleARB -> IO ())
glUseProgramObjectARBFunPtr = unsafePerformIO (getProcAddress "glUseProgramObjectARB")
glValidateProgramARB :: MonadIO m => GLhandleARB -> m ()
glValidateProgramARB = ffihandleARBIOV glValidateProgramARBFunPtr
glValidateProgramARBFunPtr :: FunPtr (GLhandleARB -> IO ())
glValidateProgramARBFunPtr = unsafePerformIO (getProcAddress "glValidateProgramARB")
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