{-# 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 = [Char] -> Set [Char] -> Bool
forall a. Ord a => a -> Set a -> Bool
member "GL_NV_transform_feedback2" Set [Char]
extensions
{-# NOINLINE gl_NV_transform_feedback2 #-}
glBindTransformFeedbackNV :: MonadIO m => GLenum -> GLuint -> m ()
glBindTransformFeedbackNV :: 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 ([Char] -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glBindTransformFeedbackNV")
{-# NOINLINE glBindTransformFeedbackNVFunPtr #-}
glDeleteTransformFeedbacksNV :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glDeleteTransformFeedbacksNV :: 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 ([Char] -> IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glDeleteTransformFeedbacksNV")
{-# NOINLINE glDeleteTransformFeedbacksNVFunPtr #-}
glDrawTransformFeedbackNV :: MonadIO m => GLenum -> GLuint -> m ()
glDrawTransformFeedbackNV :: 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 ([Char] -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glDrawTransformFeedbackNV")
{-# NOINLINE glDrawTransformFeedbackNVFunPtr #-}
glGenTransformFeedbacksNV :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGenTransformFeedbacksNV :: 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 ([Char] -> IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glGenTransformFeedbacksNV")
{-# NOINLINE glGenTransformFeedbacksNVFunPtr #-}
glIsTransformFeedbackNV :: MonadIO m => GLuint -> m GLboolean
glIsTransformFeedbackNV :: 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 ([Char] -> IO (FunPtr (GLenum -> IO GLboolean))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glIsTransformFeedbackNV")
{-# NOINLINE glIsTransformFeedbackNVFunPtr #-}
glPauseTransformFeedbackNV :: MonadIO m => m ()
glPauseTransformFeedbackNV :: 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 ([Char] -> IO (FunPtr (IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glPauseTransformFeedbackNV")
{-# NOINLINE glPauseTransformFeedbackNVFunPtr #-}
glResumeTransformFeedbackNV :: MonadIO m => m ()
glResumeTransformFeedbackNV :: 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 ([Char] -> IO (FunPtr (IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glResumeTransformFeedbackNV")
{-# NOINLINE glResumeTransformFeedbackNVFunPtr #-}
pattern $bGL_TRANSFORM_FEEDBACK_BINDING_NV :: a
$mGL_TRANSFORM_FEEDBACK_BINDING_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TRANSFORM_FEEDBACK_BINDING_NV = 0x8E25
pattern $bGL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV :: a
$mGL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV = 0x8E24
pattern $bGL_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV :: a
$mGL_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV = 0x8E23
pattern $bGL_TRANSFORM_FEEDBACK_NV :: a
$mGL_TRANSFORM_FEEDBACK_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TRANSFORM_FEEDBACK_NV = 0x8E22