{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
module Graphics.GL.Ext.NV.TransformFeedback2 (
gl_NV_transform_feedback2
, glBindTransformFeedbackNV
, glDeleteTransformFeedbacksNV
, glDrawTransformFeedbackNV
, glGenTransformFeedbacksNV
, glIsTransformFeedbackNV
, glPauseTransformFeedbackNV
, glResumeTransformFeedbackNV
, pattern GL_TRANSFORM_FEEDBACK_BINDING_NV
, pattern GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV
, pattern GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV
, pattern GL_TRANSFORM_FEEDBACK_NV
) 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.Types
import System.IO.Unsafe
gl_NV_transform_feedback2 :: Bool
gl_NV_transform_feedback2 :: Bool
gl_NV_transform_feedback2 = String -> Set String -> Bool
forall a. Ord a => a -> Set a -> Bool
member String
"GL_NV_transform_feedback2" Set String
extensions
{-# NOINLINE gl_NV_transform_feedback2 #-}
glBindTransformFeedbackNV :: MonadIO m => GLenum -> GLuint -> m ()
glBindTransformFeedbackNV :: forall (m :: * -> *). MonadIO m => GLenum -> GLenum -> m ()
glBindTransformFeedbackNV = FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
ffienumuintIOV FunPtr (GLenum -> GLenum -> IO ())
glBindTransformFeedbackNVFunPtr
glBindTransformFeedbackNVFunPtr :: FunPtr (GLenum -> GLuint -> IO ())
glBindTransformFeedbackNVFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glBindTransformFeedbackNVFunPtr = IO (FunPtr (GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glBindTransformFeedbackNV")
{-# NOINLINE glBindTransformFeedbackNVFunPtr #-}
glDeleteTransformFeedbacksNV :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glDeleteTransformFeedbacksNV :: forall (m :: * -> *). MonadIO m => GLsizei -> Ptr GLenum -> m ()
glDeleteTransformFeedbacksNV = FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
ffisizeiPtruintIOV FunPtr (GLsizei -> Ptr GLenum -> IO ())
glDeleteTransformFeedbacksNVFunPtr
glDeleteTransformFeedbacksNVFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glDeleteTransformFeedbacksNVFunPtr :: FunPtr (GLsizei -> Ptr GLenum -> IO ())
glDeleteTransformFeedbacksNVFunPtr = IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glDeleteTransformFeedbacksNV")
{-# NOINLINE glDeleteTransformFeedbacksNVFunPtr #-}
glDrawTransformFeedbackNV :: MonadIO m => GLenum -> GLuint -> m ()
glDrawTransformFeedbackNV :: forall (m :: * -> *). MonadIO m => GLenum -> GLenum -> m ()
glDrawTransformFeedbackNV = FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
ffienumuintIOV FunPtr (GLenum -> GLenum -> IO ())
glDrawTransformFeedbackNVFunPtr
glDrawTransformFeedbackNVFunPtr :: FunPtr (GLenum -> GLuint -> IO ())
glDrawTransformFeedbackNVFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glDrawTransformFeedbackNVFunPtr = IO (FunPtr (GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glDrawTransformFeedbackNV")
{-# NOINLINE glDrawTransformFeedbackNVFunPtr #-}
glGenTransformFeedbacksNV :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGenTransformFeedbacksNV :: forall (m :: * -> *). MonadIO m => GLsizei -> Ptr GLenum -> m ()
glGenTransformFeedbacksNV = FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
ffisizeiPtruintIOV FunPtr (GLsizei -> Ptr GLenum -> IO ())
glGenTransformFeedbacksNVFunPtr
glGenTransformFeedbacksNVFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glGenTransformFeedbacksNVFunPtr :: FunPtr (GLsizei -> Ptr GLenum -> IO ())
glGenTransformFeedbacksNVFunPtr = IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glGenTransformFeedbacksNV")
{-# NOINLINE glGenTransformFeedbacksNVFunPtr #-}
glIsTransformFeedbackNV :: MonadIO m => GLuint -> m GLboolean
glIsTransformFeedbackNV :: forall (m :: * -> *). MonadIO m => GLenum -> m GLboolean
glIsTransformFeedbackNV = FunPtr (GLenum -> IO GLboolean) -> GLenum -> m GLboolean
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO GLboolean) -> GLenum -> m GLboolean
ffiuintIOboolean FunPtr (GLenum -> IO GLboolean)
glIsTransformFeedbackNVFunPtr
glIsTransformFeedbackNVFunPtr :: FunPtr (GLuint -> IO GLboolean)
glIsTransformFeedbackNVFunPtr :: FunPtr (GLenum -> IO GLboolean)
glIsTransformFeedbackNVFunPtr = IO (FunPtr (GLenum -> IO GLboolean))
-> FunPtr (GLenum -> IO GLboolean)
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO GLboolean))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glIsTransformFeedbackNV")
{-# NOINLINE glIsTransformFeedbackNVFunPtr #-}
glPauseTransformFeedbackNV :: MonadIO m => m ()
glPauseTransformFeedbackNV :: forall (m :: * -> *). MonadIO m => m ()
glPauseTransformFeedbackNV = FunPtr (IO ()) -> m ()
forall (m :: * -> *). MonadIO m => FunPtr (IO ()) -> m ()
ffiIOV FunPtr (IO ())
glPauseTransformFeedbackNVFunPtr
glPauseTransformFeedbackNVFunPtr :: FunPtr (IO ())
glPauseTransformFeedbackNVFunPtr :: FunPtr (IO ())
glPauseTransformFeedbackNVFunPtr = IO (FunPtr (IO ())) -> FunPtr (IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glPauseTransformFeedbackNV")
{-# NOINLINE glPauseTransformFeedbackNVFunPtr #-}
glResumeTransformFeedbackNV :: MonadIO m => m ()
glResumeTransformFeedbackNV :: forall (m :: * -> *). MonadIO m => m ()
glResumeTransformFeedbackNV = FunPtr (IO ()) -> m ()
forall (m :: * -> *). MonadIO m => FunPtr (IO ()) -> m ()
ffiIOV FunPtr (IO ())
glResumeTransformFeedbackNVFunPtr
glResumeTransformFeedbackNVFunPtr :: FunPtr (IO ())
glResumeTransformFeedbackNVFunPtr :: FunPtr (IO ())
glResumeTransformFeedbackNVFunPtr = IO (FunPtr (IO ())) -> FunPtr (IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glResumeTransformFeedbackNV")
{-# NOINLINE glResumeTransformFeedbackNVFunPtr #-}
pattern GL_TRANSFORM_FEEDBACK_BINDING_NV :: (Eq a, Num a) => a
pattern $mGL_TRANSFORM_FEEDBACK_BINDING_NV :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_TRANSFORM_FEEDBACK_BINDING_NV :: forall a. (Eq a, Num a) => a
GL_TRANSFORM_FEEDBACK_BINDING_NV = 0x8E25
pattern GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV :: (Eq a, Num a) => a
pattern $mGL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV :: forall a. (Eq a, Num a) => a
GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV = 0x8E24
pattern GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV :: (Eq a, Num a) => a
pattern $mGL_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV :: forall a. (Eq a, Num a) => a
GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV = 0x8E23
pattern GL_TRANSFORM_FEEDBACK_NV :: (Eq a, Num a) => a
pattern $mGL_TRANSFORM_FEEDBACK_NV :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_TRANSFORM_FEEDBACK_NV :: forall a. (Eq a, Num a) => a
GL_TRANSFORM_FEEDBACK_NV = 0x8E22