{-# 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 = [Char] -> Set [Char] -> Bool
forall a. Ord a => a -> Set a -> Bool
member "GL_EXT_separate_shader_objects" Set [Char]
extensions
{-# NOINLINE gl_EXT_separate_shader_objects #-}
glActiveProgramEXT :: MonadIO m => GLuint -> m ()
glActiveProgramEXT :: 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 ([Char] -> IO (FunPtr (GLuint -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glActiveProgramEXT")
{-# NOINLINE glActiveProgramEXTFunPtr #-}
glActiveShaderProgramEXT :: MonadIO m => GLuint -> GLuint -> m ()
glActiveShaderProgramEXT :: 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 ([Char] -> IO (FunPtr (GLuint -> GLuint -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glActiveShaderProgramEXT")
{-# NOINLINE glActiveShaderProgramEXTFunPtr #-}
glBindProgramPipelineEXT :: MonadIO m => GLuint -> m ()
glBindProgramPipelineEXT :: 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 ([Char] -> IO (FunPtr (GLuint -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glBindProgramPipelineEXT")
{-# NOINLINE glBindProgramPipelineEXTFunPtr #-}
glCreateShaderProgramEXT :: MonadIO m => GLenum -> Ptr GLchar -> m GLuint
glCreateShaderProgramEXT :: 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 ([Char] -> IO (FunPtr (GLuint -> Ptr GLchar -> IO GLuint))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glCreateShaderProgramEXT")
{-# NOINLINE glCreateShaderProgramEXTFunPtr #-}
glCreateShaderProgramvEXT :: MonadIO m => GLenum -> GLsizei -> Ptr (Ptr GLchar) -> m GLuint
glCreateShaderProgramvEXT :: 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 ([Char]
-> IO (FunPtr (GLuint -> GLsizei -> Ptr (Ptr GLchar) -> IO GLuint))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glCreateShaderProgramvEXT")
{-# NOINLINE glCreateShaderProgramvEXTFunPtr #-}
glDeleteProgramPipelinesEXT :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glDeleteProgramPipelinesEXT :: 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 ([Char] -> IO (FunPtr (GLsizei -> Ptr GLuint -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glDeleteProgramPipelinesEXT")
{-# NOINLINE glDeleteProgramPipelinesEXTFunPtr #-}
glGenProgramPipelinesEXT :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGenProgramPipelinesEXT :: 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 ([Char] -> IO (FunPtr (GLsizei -> Ptr GLuint -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glGenProgramPipelinesEXT")
{-# NOINLINE glGenProgramPipelinesEXTFunPtr #-}
glGetProgramPipelineInfoLogEXT :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
glGetProgramPipelineInfoLogEXT :: 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 ([Char]
-> IO
(FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glGetProgramPipelineInfoLogEXT")
{-# NOINLINE glGetProgramPipelineInfoLogEXTFunPtr #-}
glGetProgramPipelineivEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetProgramPipelineivEXT :: 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 ([Char] -> IO (FunPtr (GLuint -> GLuint -> Ptr GLsizei -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glGetProgramPipelineivEXT")
{-# NOINLINE glGetProgramPipelineivEXTFunPtr #-}
glIsProgramPipelineEXT :: MonadIO m => GLuint -> m GLboolean
glIsProgramPipelineEXT :: 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 ([Char] -> IO (FunPtr (GLuint -> IO GLboolean))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glIsProgramPipelineEXT")
{-# NOINLINE glIsProgramPipelineEXTFunPtr #-}
glUseProgramStagesEXT :: MonadIO m => GLuint -> GLbitfield -> GLuint -> m ()
glUseProgramStagesEXT :: 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 ([Char] -> IO (FunPtr (GLuint -> GLuint -> GLuint -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glUseProgramStagesEXT")
{-# NOINLINE glUseProgramStagesEXTFunPtr #-}
glUseShaderProgramEXT :: MonadIO m => GLenum -> GLuint -> m ()
glUseShaderProgramEXT :: 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 ([Char] -> IO (FunPtr (GLuint -> GLuint -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glUseShaderProgramEXT")
{-# NOINLINE glUseShaderProgramEXTFunPtr #-}
glValidateProgramPipelineEXT :: MonadIO m => GLuint -> m ()
glValidateProgramPipelineEXT :: 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 ([Char] -> IO (FunPtr (GLuint -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glValidateProgramPipelineEXT")
{-# NOINLINE glValidateProgramPipelineEXTFunPtr #-}
pattern $bGL_ACTIVE_PROGRAM_EXT :: a
$mGL_ACTIVE_PROGRAM_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ACTIVE_PROGRAM_EXT = 0x8B8D
pattern $bGL_ALL_SHADER_BITS_EXT :: a
$mGL_ALL_SHADER_BITS_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ALL_SHADER_BITS_EXT = 0xFFFFFFFF
pattern $bGL_FRAGMENT_SHADER_BIT_EXT :: a
$mGL_FRAGMENT_SHADER_BIT_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAGMENT_SHADER_BIT_EXT = 0x00000002
pattern $bGL_PROGRAM_PIPELINE_BINDING_EXT :: a
$mGL_PROGRAM_PIPELINE_BINDING_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PROGRAM_PIPELINE_BINDING_EXT = 0x825A
pattern $bGL_PROGRAM_SEPARABLE_EXT :: a
$mGL_PROGRAM_SEPARABLE_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PROGRAM_SEPARABLE_EXT = 0x8258
pattern $bGL_VERTEX_SHADER_BIT_EXT :: a
$mGL_VERTEX_SHADER_BIT_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VERTEX_SHADER_BIT_EXT = 0x00000001