{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
module Graphics.GL.Ext.EXT.SeparateShaderObjects (
gl_EXT_separate_shader_objects
, glActiveProgramEXT
, glActiveShaderProgramEXT
, glBindProgramPipelineEXT
, glCreateShaderProgramEXT
, glCreateShaderProgramvEXT
, glDeleteProgramPipelinesEXT
, glGenProgramPipelinesEXT
, glGetProgramPipelineInfoLogEXT
, glGetProgramPipelineivEXT
, glIsProgramPipelineEXT
, glProgramParameteriEXT
, glProgramUniform1fEXT
, glProgramUniform1fvEXT
, glProgramUniform1iEXT
, glProgramUniform1ivEXT
, glProgramUniform1uiEXT
, glProgramUniform1uivEXT
, glProgramUniform2fEXT
, glProgramUniform2fvEXT
, glProgramUniform2iEXT
, glProgramUniform2ivEXT
, glProgramUniform2uiEXT
, glProgramUniform2uivEXT
, glProgramUniform3fEXT
, glProgramUniform3fvEXT
, glProgramUniform3iEXT
, glProgramUniform3ivEXT
, glProgramUniform3uiEXT
, glProgramUniform3uivEXT
, glProgramUniform4fEXT
, glProgramUniform4fvEXT
, glProgramUniform4iEXT
, glProgramUniform4ivEXT
, glProgramUniform4uiEXT
, glProgramUniform4uivEXT
, glProgramUniformMatrix2fvEXT
, glProgramUniformMatrix2x3fvEXT
, glProgramUniformMatrix2x4fvEXT
, glProgramUniformMatrix3fvEXT
, glProgramUniformMatrix3x2fvEXT
, glProgramUniformMatrix3x4fvEXT
, glProgramUniformMatrix4fvEXT
, glProgramUniformMatrix4x2fvEXT
, glProgramUniformMatrix4x3fvEXT
, glUseProgramStagesEXT
, glUseShaderProgramEXT
, glValidateProgramPipelineEXT
, pattern GL_ACTIVE_PROGRAM_EXT
, pattern GL_ALL_SHADER_BITS_EXT
, pattern GL_FRAGMENT_SHADER_BIT_EXT
, pattern GL_PROGRAM_PIPELINE_BINDING_EXT
, pattern GL_PROGRAM_SEPARABLE_EXT
, pattern GL_VERTEX_SHADER_BIT_EXT
) where
import Control.Monad.IO.Class
import Data.Set
import Foreign.Ptr
import Graphics.GL.Internal.FFI
import Graphics.GL.Internal.Proc
import Graphics.GL.Internal.Shared
import Graphics.GL.Types
import System.IO.Unsafe
gl_EXT_separate_shader_objects :: Bool
gl_EXT_separate_shader_objects :: Bool
gl_EXT_separate_shader_objects = String -> Set String -> Bool
forall a. Ord a => a -> Set a -> Bool
member String
"GL_EXT_separate_shader_objects" Set String
extensions
{-# NOINLINE gl_EXT_separate_shader_objects #-}
glActiveProgramEXT :: MonadIO m => GLuint -> m ()
glActiveProgramEXT :: forall (m :: * -> *). MonadIO m => GLuint -> m ()
glActiveProgramEXT = FunPtr (GLuint -> IO ()) -> GLuint -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> IO ()) -> GLuint -> m ()
ffiuintIOV FunPtr (GLuint -> IO ())
glActiveProgramEXTFunPtr
glActiveProgramEXTFunPtr :: FunPtr (GLuint -> IO ())
glActiveProgramEXTFunPtr :: FunPtr (GLuint -> IO ())
glActiveProgramEXTFunPtr = IO (FunPtr (GLuint -> IO ())) -> FunPtr (GLuint -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLuint -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glActiveProgramEXT")
{-# NOINLINE glActiveProgramEXTFunPtr #-}
glActiveShaderProgramEXT :: MonadIO m => GLuint -> GLuint -> m ()
glActiveShaderProgramEXT :: forall (m :: * -> *). MonadIO m => GLuint -> GLuint -> m ()
glActiveShaderProgramEXT = FunPtr (GLuint -> GLuint -> IO ()) -> GLuint -> GLuint -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> GLuint -> IO ()) -> GLuint -> GLuint -> m ()
ffiuintuintIOV FunPtr (GLuint -> GLuint -> IO ())
glActiveShaderProgramEXTFunPtr
glActiveShaderProgramEXTFunPtr :: FunPtr (GLuint -> GLuint -> IO ())
glActiveShaderProgramEXTFunPtr :: FunPtr (GLuint -> GLuint -> IO ())
glActiveShaderProgramEXTFunPtr = IO (FunPtr (GLuint -> GLuint -> IO ()))
-> FunPtr (GLuint -> GLuint -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLuint -> GLuint -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glActiveShaderProgramEXT")
{-# NOINLINE glActiveShaderProgramEXTFunPtr #-}
glBindProgramPipelineEXT :: MonadIO m => GLuint -> m ()
glBindProgramPipelineEXT :: forall (m :: * -> *). MonadIO m => GLuint -> m ()
glBindProgramPipelineEXT = FunPtr (GLuint -> IO ()) -> GLuint -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> IO ()) -> GLuint -> m ()
ffiuintIOV FunPtr (GLuint -> IO ())
glBindProgramPipelineEXTFunPtr
glBindProgramPipelineEXTFunPtr :: FunPtr (GLuint -> IO ())
glBindProgramPipelineEXTFunPtr :: FunPtr (GLuint -> IO ())
glBindProgramPipelineEXTFunPtr = IO (FunPtr (GLuint -> IO ())) -> FunPtr (GLuint -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLuint -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glBindProgramPipelineEXT")
{-# NOINLINE glBindProgramPipelineEXTFunPtr #-}
glCreateShaderProgramEXT :: MonadIO m => GLenum -> Ptr GLchar -> m GLuint
glCreateShaderProgramEXT :: forall (m :: * -> *). MonadIO m => GLuint -> Ptr GLchar -> m GLuint
glCreateShaderProgramEXT = FunPtr (GLuint -> Ptr GLchar -> IO GLuint)
-> GLuint -> Ptr GLchar -> m GLuint
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> Ptr GLchar -> IO GLuint)
-> GLuint -> Ptr GLchar -> m GLuint
ffienumPtrcharIOuint FunPtr (GLuint -> Ptr GLchar -> IO GLuint)
glCreateShaderProgramEXTFunPtr
glCreateShaderProgramEXTFunPtr :: FunPtr (GLenum -> Ptr GLchar -> IO GLuint)
glCreateShaderProgramEXTFunPtr :: FunPtr (GLuint -> Ptr GLchar -> IO GLuint)
glCreateShaderProgramEXTFunPtr = IO (FunPtr (GLuint -> Ptr GLchar -> IO GLuint))
-> FunPtr (GLuint -> Ptr GLchar -> IO GLuint)
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLuint -> Ptr GLchar -> IO GLuint))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glCreateShaderProgramEXT")
{-# NOINLINE glCreateShaderProgramEXTFunPtr #-}
glCreateShaderProgramvEXT :: MonadIO m => GLenum -> GLsizei -> Ptr (Ptr GLchar) -> m GLuint
glCreateShaderProgramvEXT :: forall (m :: * -> *).
MonadIO m =>
GLuint -> GLsizei -> Ptr (Ptr GLchar) -> m GLuint
glCreateShaderProgramvEXT = FunPtr (GLuint -> GLsizei -> Ptr (Ptr GLchar) -> IO GLuint)
-> GLuint -> GLsizei -> Ptr (Ptr GLchar) -> m GLuint
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> GLsizei -> Ptr (Ptr GLchar) -> IO GLuint)
-> GLuint -> GLsizei -> Ptr (Ptr GLchar) -> m GLuint
ffienumsizeiPtrPtrcharIOuint FunPtr (GLuint -> GLsizei -> Ptr (Ptr GLchar) -> IO GLuint)
glCreateShaderProgramvEXTFunPtr
glCreateShaderProgramvEXTFunPtr :: FunPtr (GLenum -> GLsizei -> Ptr (Ptr GLchar) -> IO GLuint)
glCreateShaderProgramvEXTFunPtr :: FunPtr (GLuint -> GLsizei -> Ptr (Ptr GLchar) -> IO GLuint)
glCreateShaderProgramvEXTFunPtr = IO (FunPtr (GLuint -> GLsizei -> Ptr (Ptr GLchar) -> IO GLuint))
-> FunPtr (GLuint -> GLsizei -> Ptr (Ptr GLchar) -> IO GLuint)
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLuint -> GLsizei -> Ptr (Ptr GLchar) -> IO GLuint))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glCreateShaderProgramvEXT")
{-# NOINLINE glCreateShaderProgramvEXTFunPtr #-}
glDeleteProgramPipelinesEXT :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glDeleteProgramPipelinesEXT :: forall (m :: * -> *). MonadIO m => GLsizei -> Ptr GLuint -> m ()
glDeleteProgramPipelinesEXT = 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 ())
glDeleteProgramPipelinesEXTFunPtr
glDeleteProgramPipelinesEXTFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glDeleteProgramPipelinesEXTFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glDeleteProgramPipelinesEXTFunPtr = IO (FunPtr (GLsizei -> Ptr GLuint -> IO ()))
-> FunPtr (GLsizei -> Ptr GLuint -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> Ptr GLuint -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glDeleteProgramPipelinesEXT")
{-# NOINLINE glDeleteProgramPipelinesEXTFunPtr #-}
glGenProgramPipelinesEXT :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGenProgramPipelinesEXT :: forall (m :: * -> *). MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGenProgramPipelinesEXT = 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 ())
glGenProgramPipelinesEXTFunPtr
glGenProgramPipelinesEXTFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glGenProgramPipelinesEXTFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glGenProgramPipelinesEXTFunPtr = IO (FunPtr (GLsizei -> Ptr GLuint -> IO ()))
-> FunPtr (GLsizei -> Ptr GLuint -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> Ptr GLuint -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glGenProgramPipelinesEXT")
{-# NOINLINE glGenProgramPipelinesEXTFunPtr #-}
glGetProgramPipelineInfoLogEXT :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
glGetProgramPipelineInfoLogEXT :: forall (m :: * -> *).
MonadIO m =>
GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
glGetProgramPipelineInfoLogEXT = FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
ffiuintsizeiPtrsizeiPtrcharIOV FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
glGetProgramPipelineInfoLogEXTFunPtr
glGetProgramPipelineInfoLogEXTFunPtr :: FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
glGetProgramPipelineInfoLogEXTFunPtr :: FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
glGetProgramPipelineInfoLogEXTFunPtr = IO
(FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()))
-> FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
(FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glGetProgramPipelineInfoLogEXT")
{-# NOINLINE glGetProgramPipelineInfoLogEXTFunPtr #-}
glGetProgramPipelineivEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetProgramPipelineivEXT :: forall (m :: * -> *).
MonadIO m =>
GLuint -> GLuint -> Ptr GLsizei -> m ()
glGetProgramPipelineivEXT = 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 ())
glGetProgramPipelineivEXTFunPtr
glGetProgramPipelineivEXTFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
glGetProgramPipelineivEXTFunPtr :: FunPtr (GLuint -> GLuint -> Ptr GLsizei -> IO ())
glGetProgramPipelineivEXTFunPtr = IO (FunPtr (GLuint -> GLuint -> Ptr GLsizei -> IO ()))
-> FunPtr (GLuint -> GLuint -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLuint -> GLuint -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glGetProgramPipelineivEXT")
{-# NOINLINE glGetProgramPipelineivEXTFunPtr #-}
glIsProgramPipelineEXT :: MonadIO m => GLuint -> m GLboolean
glIsProgramPipelineEXT :: forall (m :: * -> *). MonadIO m => GLuint -> m GLboolean
glIsProgramPipelineEXT = FunPtr (GLuint -> IO GLboolean) -> GLuint -> m GLboolean
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> IO GLboolean) -> GLuint -> m GLboolean
ffiuintIOboolean FunPtr (GLuint -> IO GLboolean)
glIsProgramPipelineEXTFunPtr
glIsProgramPipelineEXTFunPtr :: FunPtr (GLuint -> IO GLboolean)
glIsProgramPipelineEXTFunPtr :: FunPtr (GLuint -> IO GLboolean)
glIsProgramPipelineEXTFunPtr = IO (FunPtr (GLuint -> IO GLboolean))
-> FunPtr (GLuint -> IO GLboolean)
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLuint -> IO GLboolean))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glIsProgramPipelineEXT")
{-# NOINLINE glIsProgramPipelineEXTFunPtr #-}
glUseProgramStagesEXT :: MonadIO m => GLuint -> GLbitfield -> GLuint -> m ()
glUseProgramStagesEXT :: forall (m :: * -> *).
MonadIO m =>
GLuint -> GLuint -> GLuint -> m ()
glUseProgramStagesEXT = FunPtr (GLuint -> GLuint -> GLuint -> IO ())
-> GLuint -> GLuint -> GLuint -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> GLuint -> GLuint -> IO ())
-> GLuint -> GLuint -> GLuint -> m ()
ffiuintbitfielduintIOV FunPtr (GLuint -> GLuint -> GLuint -> IO ())
glUseProgramStagesEXTFunPtr
glUseProgramStagesEXTFunPtr :: FunPtr (GLuint -> GLbitfield -> GLuint -> IO ())
glUseProgramStagesEXTFunPtr :: FunPtr (GLuint -> GLuint -> GLuint -> IO ())
glUseProgramStagesEXTFunPtr = IO (FunPtr (GLuint -> GLuint -> GLuint -> IO ()))
-> FunPtr (GLuint -> GLuint -> GLuint -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLuint -> GLuint -> GLuint -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glUseProgramStagesEXT")
{-# NOINLINE glUseProgramStagesEXTFunPtr #-}
glUseShaderProgramEXT :: MonadIO m => GLenum -> GLuint -> m ()
glUseShaderProgramEXT :: forall (m :: * -> *). MonadIO m => GLuint -> GLuint -> m ()
glUseShaderProgramEXT = FunPtr (GLuint -> GLuint -> IO ()) -> GLuint -> GLuint -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> GLuint -> IO ()) -> GLuint -> GLuint -> m ()
ffienumuintIOV FunPtr (GLuint -> GLuint -> IO ())
glUseShaderProgramEXTFunPtr
glUseShaderProgramEXTFunPtr :: FunPtr (GLenum -> GLuint -> IO ())
glUseShaderProgramEXTFunPtr :: FunPtr (GLuint -> GLuint -> IO ())
glUseShaderProgramEXTFunPtr = IO (FunPtr (GLuint -> GLuint -> IO ()))
-> FunPtr (GLuint -> GLuint -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLuint -> GLuint -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glUseShaderProgramEXT")
{-# NOINLINE glUseShaderProgramEXTFunPtr #-}
glValidateProgramPipelineEXT :: MonadIO m => GLuint -> m ()
glValidateProgramPipelineEXT :: forall (m :: * -> *). MonadIO m => GLuint -> m ()
glValidateProgramPipelineEXT = FunPtr (GLuint -> IO ()) -> GLuint -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> IO ()) -> GLuint -> m ()
ffiuintIOV FunPtr (GLuint -> IO ())
glValidateProgramPipelineEXTFunPtr
glValidateProgramPipelineEXTFunPtr :: FunPtr (GLuint -> IO ())
glValidateProgramPipelineEXTFunPtr :: FunPtr (GLuint -> IO ())
glValidateProgramPipelineEXTFunPtr = IO (FunPtr (GLuint -> IO ())) -> FunPtr (GLuint -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLuint -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glValidateProgramPipelineEXT")
{-# NOINLINE glValidateProgramPipelineEXTFunPtr #-}
pattern GL_ACTIVE_PROGRAM_EXT :: (Eq a, Num a) => a
pattern $mGL_ACTIVE_PROGRAM_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_ACTIVE_PROGRAM_EXT :: forall a. (Eq a, Num a) => a
GL_ACTIVE_PROGRAM_EXT = 0x8B8D
pattern GL_ALL_SHADER_BITS_EXT :: (Eq a, Num a) => a
pattern $mGL_ALL_SHADER_BITS_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_ALL_SHADER_BITS_EXT :: forall a. (Eq a, Num a) => a
GL_ALL_SHADER_BITS_EXT = 0xFFFFFFFF
pattern GL_FRAGMENT_SHADER_BIT_EXT :: (Eq a, Num a) => a
pattern $mGL_FRAGMENT_SHADER_BIT_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_FRAGMENT_SHADER_BIT_EXT :: forall a. (Eq a, Num a) => a
GL_FRAGMENT_SHADER_BIT_EXT = 0x00000002
pattern GL_PROGRAM_PIPELINE_BINDING_EXT :: (Eq a, Num a) => a
pattern $mGL_PROGRAM_PIPELINE_BINDING_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_PROGRAM_PIPELINE_BINDING_EXT :: forall a. (Eq a, Num a) => a
GL_PROGRAM_PIPELINE_BINDING_EXT = 0x825A
pattern GL_PROGRAM_SEPARABLE_EXT :: (Eq a, Num a) => a
pattern $mGL_PROGRAM_SEPARABLE_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_PROGRAM_SEPARABLE_EXT :: forall a. (Eq a, Num a) => a
GL_PROGRAM_SEPARABLE_EXT = 0x8258
pattern GL_VERTEX_SHADER_BIT_EXT :: (Eq a, Num a) => a
pattern $mGL_VERTEX_SHADER_BIT_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_VERTEX_SHADER_BIT_EXT :: forall a. (Eq a, Num a) => a
GL_VERTEX_SHADER_BIT_EXT = 0x00000001