{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
module Graphics.GL.Ext.EXT.TransformFeedback (
gl_EXT_transform_feedback
, glBeginTransformFeedbackEXT
, glBindBufferBaseEXT
, glBindBufferOffsetEXT
, glBindBufferRangeEXT
, glEndTransformFeedbackEXT
, glGetTransformFeedbackVaryingEXT
, glTransformFeedbackVaryingsEXT
, pattern GL_INTERLEAVED_ATTRIBS_EXT
, pattern GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT
, pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT
, pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT
, pattern GL_PRIMITIVES_GENERATED_EXT
, pattern GL_RASTERIZER_DISCARD_EXT
, pattern GL_SEPARATE_ATTRIBS_EXT
, pattern GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT
, pattern GL_TRANSFORM_FEEDBACK_BUFFER_EXT
, pattern GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT
, pattern GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT
, pattern GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT
, pattern GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT
, pattern GL_TRANSFORM_FEEDBACK_VARYINGS_EXT
, pattern GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_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_transform_feedback :: Bool
gl_EXT_transform_feedback :: Bool
gl_EXT_transform_feedback = String -> Set String -> Bool
forall a. Ord a => a -> Set a -> Bool
member String
"GL_EXT_transform_feedback" Set String
extensions
{-# NOINLINE gl_EXT_transform_feedback #-}
glBeginTransformFeedbackEXT :: MonadIO m => GLenum -> m ()
glBeginTransformFeedbackEXT :: forall (m :: * -> *). MonadIO m => GLenum -> m ()
glBeginTransformFeedbackEXT = FunPtr (GLenum -> IO ()) -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO ()) -> GLenum -> m ()
ffienumIOV FunPtr (GLenum -> IO ())
glBeginTransformFeedbackEXTFunPtr
glBeginTransformFeedbackEXTFunPtr :: FunPtr (GLenum -> IO ())
glBeginTransformFeedbackEXTFunPtr :: FunPtr (GLenum -> IO ())
glBeginTransformFeedbackEXTFunPtr = IO (FunPtr (GLenum -> IO ())) -> FunPtr (GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glBeginTransformFeedbackEXT")
{-# NOINLINE glBeginTransformFeedbackEXTFunPtr #-}
glBindBufferBaseEXT :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()
glBindBufferBaseEXT :: forall (m :: * -> *).
MonadIO m =>
GLenum -> GLenum -> GLenum -> m ()
glBindBufferBaseEXT = FunPtr (GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> m ()
ffienumuintuintIOV FunPtr (GLenum -> GLenum -> GLenum -> IO ())
glBindBufferBaseEXTFunPtr
glBindBufferBaseEXTFunPtr :: FunPtr (GLenum -> GLuint -> GLuint -> IO ())
glBindBufferBaseEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> IO ())
glBindBufferBaseEXTFunPtr = IO (FunPtr (GLenum -> GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glBindBufferBaseEXT")
{-# NOINLINE glBindBufferBaseEXTFunPtr #-}
glBindBufferOffsetEXT :: MonadIO m => GLenum -> GLuint -> GLuint -> GLintptr -> m ()
glBindBufferOffsetEXT :: forall (m :: * -> *).
MonadIO m =>
GLenum -> GLenum -> GLenum -> GLintptr -> m ()
glBindBufferOffsetEXT = FunPtr (GLenum -> GLenum -> GLenum -> GLintptr -> IO ())
-> GLenum -> GLenum -> GLenum -> GLintptr -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> GLintptr -> IO ())
-> GLenum -> GLenum -> GLenum -> GLintptr -> m ()
ffienumuintuintintptrIOV FunPtr (GLenum -> GLenum -> GLenum -> GLintptr -> IO ())
glBindBufferOffsetEXTFunPtr
glBindBufferOffsetEXTFunPtr :: FunPtr (GLenum -> GLuint -> GLuint -> GLintptr -> IO ())
glBindBufferOffsetEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> GLintptr -> IO ())
glBindBufferOffsetEXTFunPtr = IO (FunPtr (GLenum -> GLenum -> GLenum -> GLintptr -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> GLintptr -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLenum -> GLenum -> GLintptr -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glBindBufferOffsetEXT")
{-# NOINLINE glBindBufferOffsetEXTFunPtr #-}
glBindBufferRangeEXT :: MonadIO m => GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()
glBindBufferRangeEXT :: forall (m :: * -> *).
MonadIO m =>
GLenum -> GLenum -> GLenum -> GLintptr -> GLintptr -> m ()
glBindBufferRangeEXT = FunPtr
(GLenum -> GLenum -> GLenum -> GLintptr -> GLintptr -> IO ())
-> GLenum -> GLenum -> GLenum -> GLintptr -> GLintptr -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
(GLenum -> GLenum -> GLenum -> GLintptr -> GLintptr -> IO ())
-> GLenum -> GLenum -> GLenum -> GLintptr -> GLintptr -> m ()
ffienumuintuintintptrsizeiptrIOV FunPtr
(GLenum -> GLenum -> GLenum -> GLintptr -> GLintptr -> IO ())
glBindBufferRangeEXTFunPtr
glBindBufferRangeEXTFunPtr :: FunPtr (GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> IO ())
glBindBufferRangeEXTFunPtr :: FunPtr
(GLenum -> GLenum -> GLenum -> GLintptr -> GLintptr -> IO ())
glBindBufferRangeEXTFunPtr = IO
(FunPtr
(GLenum -> GLenum -> GLenum -> GLintptr -> GLintptr -> IO ()))
-> FunPtr
(GLenum -> GLenum -> GLenum -> GLintptr -> GLintptr -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
(FunPtr
(GLenum -> GLenum -> GLenum -> GLintptr -> GLintptr -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glBindBufferRangeEXT")
{-# NOINLINE glBindBufferRangeEXTFunPtr #-}
glEndTransformFeedbackEXT :: MonadIO m => m ()
glEndTransformFeedbackEXT :: forall (m :: * -> *). MonadIO m => m ()
glEndTransformFeedbackEXT = FunPtr (IO ()) -> m ()
forall (m :: * -> *). MonadIO m => FunPtr (IO ()) -> m ()
ffiIOV FunPtr (IO ())
glEndTransformFeedbackEXTFunPtr
glEndTransformFeedbackEXTFunPtr :: FunPtr (IO ())
glEndTransformFeedbackEXTFunPtr :: FunPtr (IO ())
glEndTransformFeedbackEXTFunPtr = IO (FunPtr (IO ())) -> FunPtr (IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glEndTransformFeedbackEXT")
{-# NOINLINE glEndTransformFeedbackEXTFunPtr #-}
glGetTransformFeedbackVaryingEXT :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> m ()
glGetTransformFeedbackVaryingEXT :: forall (m :: * -> *).
MonadIO m =>
GLenum
-> GLenum
-> GLsizei
-> Ptr GLsizei
-> Ptr GLsizei
-> Ptr GLenum
-> Ptr GLchar
-> m ()
glGetTransformFeedbackVaryingEXT = FunPtr
(GLenum
-> GLenum
-> GLsizei
-> Ptr GLsizei
-> Ptr GLsizei
-> Ptr GLenum
-> Ptr GLchar
-> IO ())
-> GLenum
-> GLenum
-> GLsizei
-> Ptr GLsizei
-> Ptr GLsizei
-> Ptr GLenum
-> Ptr GLchar
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
(GLenum
-> GLenum
-> GLsizei
-> Ptr GLsizei
-> Ptr GLsizei
-> Ptr GLenum
-> Ptr GLchar
-> IO ())
-> GLenum
-> GLenum
-> GLsizei
-> Ptr GLsizei
-> Ptr GLsizei
-> Ptr GLenum
-> Ptr GLchar
-> m ()
ffiuintuintsizeiPtrsizeiPtrsizeiPtrenumPtrcharIOV FunPtr
(GLenum
-> GLenum
-> GLsizei
-> Ptr GLsizei
-> Ptr GLsizei
-> Ptr GLenum
-> Ptr GLchar
-> IO ())
glGetTransformFeedbackVaryingEXTFunPtr
glGetTransformFeedbackVaryingEXTFunPtr :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> IO ())
glGetTransformFeedbackVaryingEXTFunPtr :: FunPtr
(GLenum
-> GLenum
-> GLsizei
-> Ptr GLsizei
-> Ptr GLsizei
-> Ptr GLenum
-> Ptr GLchar
-> IO ())
glGetTransformFeedbackVaryingEXTFunPtr = IO
(FunPtr
(GLenum
-> GLenum
-> GLsizei
-> Ptr GLsizei
-> Ptr GLsizei
-> Ptr GLenum
-> Ptr GLchar
-> IO ()))
-> FunPtr
(GLenum
-> GLenum
-> GLsizei
-> Ptr GLsizei
-> Ptr GLsizei
-> Ptr GLenum
-> Ptr GLchar
-> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
(FunPtr
(GLenum
-> GLenum
-> GLsizei
-> Ptr GLsizei
-> Ptr GLsizei
-> Ptr GLenum
-> Ptr GLchar
-> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glGetTransformFeedbackVaryingEXT")
{-# NOINLINE glGetTransformFeedbackVaryingEXTFunPtr #-}
glTransformFeedbackVaryingsEXT :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> m ()
glTransformFeedbackVaryingsEXT :: forall (m :: * -> *).
MonadIO m =>
GLenum -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> m ()
glTransformFeedbackVaryingsEXT = FunPtr (GLenum -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> IO ())
-> GLenum -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> IO ())
-> GLenum -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> m ()
ffiuintsizeiPtrPtrcharenumIOV FunPtr (GLenum -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> IO ())
glTransformFeedbackVaryingsEXTFunPtr
glTransformFeedbackVaryingsEXTFunPtr :: FunPtr (GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> IO ())
glTransformFeedbackVaryingsEXTFunPtr :: FunPtr (GLenum -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> IO ())
glTransformFeedbackVaryingsEXTFunPtr = IO
(FunPtr (GLenum -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> IO ()))
-> FunPtr
(GLenum -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
(FunPtr (GLenum -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glTransformFeedbackVaryingsEXT")
{-# NOINLINE glTransformFeedbackVaryingsEXTFunPtr #-}
pattern GL_INTERLEAVED_ATTRIBS_EXT :: (Eq a, Num a) => a
pattern $mGL_INTERLEAVED_ATTRIBS_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_INTERLEAVED_ATTRIBS_EXT :: forall a. (Eq a, Num a) => a
GL_INTERLEAVED_ATTRIBS_EXT = 0x8C8C
pattern GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT :: (Eq a, Num a) => a
pattern $mGL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT :: forall a. (Eq a, Num a) => a
GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT = 0x8C8A
pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT :: (Eq a, Num a) => a
pattern $mGL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT :: forall a. (Eq a, Num a) => a
GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT = 0x8C8B
pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT :: (Eq a, Num a) => a
pattern $mGL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT :: forall a. (Eq a, Num a) => a
GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT = 0x8C80
pattern GL_RASTERIZER_DISCARD_EXT :: (Eq a, Num a) => a
pattern $mGL_RASTERIZER_DISCARD_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_RASTERIZER_DISCARD_EXT :: forall a. (Eq a, Num a) => a
GL_RASTERIZER_DISCARD_EXT = 0x8C89
pattern GL_SEPARATE_ATTRIBS_EXT :: (Eq a, Num a) => a
pattern $mGL_SEPARATE_ATTRIBS_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_SEPARATE_ATTRIBS_EXT :: forall a. (Eq a, Num a) => a
GL_SEPARATE_ATTRIBS_EXT = 0x8C8D
pattern GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT :: (Eq a, Num a) => a
pattern $mGL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT :: forall a. (Eq a, Num a) => a
GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT = 0x8C8F
pattern GL_TRANSFORM_FEEDBACK_BUFFER_EXT :: (Eq a, Num a) => a
pattern $mGL_TRANSFORM_FEEDBACK_BUFFER_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_TRANSFORM_FEEDBACK_BUFFER_EXT :: forall a. (Eq a, Num a) => a
GL_TRANSFORM_FEEDBACK_BUFFER_EXT = 0x8C8E
pattern GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT :: (Eq a, Num a) => a
pattern $mGL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT :: forall a. (Eq a, Num a) => a
GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT = 0x8C7F
pattern GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT :: (Eq a, Num a) => a
pattern $mGL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT :: forall a. (Eq a, Num a) => a
GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT = 0x8C85
pattern GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT :: (Eq a, Num a) => a
pattern $mGL_TRANSFORM_FEEDBACK_BUFFER_START_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_TRANSFORM_FEEDBACK_BUFFER_START_EXT :: forall a. (Eq a, Num a) => a
GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT = 0x8C84
pattern GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT :: (Eq a, Num a) => a
pattern $mGL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT :: forall a. (Eq a, Num a) => a
GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT = 0x8C88
pattern GL_TRANSFORM_FEEDBACK_VARYINGS_EXT :: (Eq a, Num a) => a
pattern $mGL_TRANSFORM_FEEDBACK_VARYINGS_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_TRANSFORM_FEEDBACK_VARYINGS_EXT :: forall a. (Eq a, Num a) => a
GL_TRANSFORM_FEEDBACK_VARYINGS_EXT = 0x8C83
pattern GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT :: (Eq a, Num a) => a
pattern $mGL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT :: forall a. (Eq a, Num a) => a
GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT = 0x8C76