{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
module Graphics.GL.Ext.NV.Fence (
gl_NV_fence
, glDeleteFencesNV
, glFinishFenceNV
, glGenFencesNV
, glGetFenceivNV
, glIsFenceNV
, glSetFenceNV
, glTestFenceNV
, pattern GL_ALL_COMPLETED_NV
, pattern GL_FENCE_CONDITION_NV
, pattern GL_FENCE_STATUS_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_fence :: Bool
gl_NV_fence :: Bool
gl_NV_fence = String -> Set String -> Bool
forall a. Ord a => a -> Set a -> Bool
member String
"GL_NV_fence" Set String
extensions
{-# NOINLINE gl_NV_fence #-}
glDeleteFencesNV :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glDeleteFencesNV :: forall (m :: * -> *). MonadIO m => GLsizei -> Ptr GLuint -> m ()
glDeleteFencesNV = 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 ())
glDeleteFencesNVFunPtr
glDeleteFencesNVFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glDeleteFencesNVFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glDeleteFencesNVFunPtr = 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
"glDeleteFencesNV")
{-# NOINLINE glDeleteFencesNVFunPtr #-}
glFinishFenceNV :: MonadIO m => GLuint -> m ()
glFinishFenceNV :: forall (m :: * -> *). MonadIO m => GLuint -> m ()
glFinishFenceNV = FunPtr (GLuint -> IO ()) -> GLuint -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> IO ()) -> GLuint -> m ()
ffiuintIOV FunPtr (GLuint -> IO ())
glFinishFenceNVFunPtr
glFinishFenceNVFunPtr :: FunPtr (GLuint -> IO ())
glFinishFenceNVFunPtr :: FunPtr (GLuint -> IO ())
glFinishFenceNVFunPtr = 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
"glFinishFenceNV")
{-# NOINLINE glFinishFenceNVFunPtr #-}
glGenFencesNV :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGenFencesNV :: forall (m :: * -> *). MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGenFencesNV = 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 ())
glGenFencesNVFunPtr
glGenFencesNVFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glGenFencesNVFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glGenFencesNVFunPtr = 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
"glGenFencesNV")
{-# NOINLINE glGenFencesNVFunPtr #-}
glGetFenceivNV :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetFenceivNV :: forall (m :: * -> *).
MonadIO m =>
GLuint -> GLuint -> Ptr GLsizei -> m ()
glGetFenceivNV = 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 ())
glGetFenceivNVFunPtr
glGetFenceivNVFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
glGetFenceivNVFunPtr :: FunPtr (GLuint -> GLuint -> Ptr GLsizei -> IO ())
glGetFenceivNVFunPtr = 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
"glGetFenceivNV")
{-# NOINLINE glGetFenceivNVFunPtr #-}
glIsFenceNV :: MonadIO m => GLuint -> m GLboolean
glIsFenceNV :: forall (m :: * -> *). MonadIO m => GLuint -> m GLboolean
glIsFenceNV = FunPtr (GLuint -> IO GLboolean) -> GLuint -> m GLboolean
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> IO GLboolean) -> GLuint -> m GLboolean
ffiuintIOboolean FunPtr (GLuint -> IO GLboolean)
glIsFenceNVFunPtr
glIsFenceNVFunPtr :: FunPtr (GLuint -> IO GLboolean)
glIsFenceNVFunPtr :: FunPtr (GLuint -> IO GLboolean)
glIsFenceNVFunPtr = 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
"glIsFenceNV")
{-# NOINLINE glIsFenceNVFunPtr #-}
glSetFenceNV :: MonadIO m => GLuint -> GLenum -> m ()
glSetFenceNV :: forall (m :: * -> *). MonadIO m => GLuint -> GLuint -> m ()
glSetFenceNV = FunPtr (GLuint -> GLuint -> IO ()) -> GLuint -> GLuint -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> GLuint -> IO ()) -> GLuint -> GLuint -> m ()
ffiuintenumIOV FunPtr (GLuint -> GLuint -> IO ())
glSetFenceNVFunPtr
glSetFenceNVFunPtr :: FunPtr (GLuint -> GLenum -> IO ())
glSetFenceNVFunPtr :: FunPtr (GLuint -> GLuint -> IO ())
glSetFenceNVFunPtr = 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
"glSetFenceNV")
{-# NOINLINE glSetFenceNVFunPtr #-}
glTestFenceNV :: MonadIO m => GLuint -> m GLboolean
glTestFenceNV :: forall (m :: * -> *). MonadIO m => GLuint -> m GLboolean
glTestFenceNV = FunPtr (GLuint -> IO GLboolean) -> GLuint -> m GLboolean
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> IO GLboolean) -> GLuint -> m GLboolean
ffiuintIOboolean FunPtr (GLuint -> IO GLboolean)
glTestFenceNVFunPtr
glTestFenceNVFunPtr :: FunPtr (GLuint -> IO GLboolean)
glTestFenceNVFunPtr :: FunPtr (GLuint -> IO GLboolean)
glTestFenceNVFunPtr = 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
"glTestFenceNV")
{-# NOINLINE glTestFenceNVFunPtr #-}
pattern GL_ALL_COMPLETED_NV :: (Eq a, Num a) => a
pattern $mGL_ALL_COMPLETED_NV :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_ALL_COMPLETED_NV :: forall a. (Eq a, Num a) => a
GL_ALL_COMPLETED_NV = 0x84F2
pattern GL_FENCE_CONDITION_NV :: (Eq a, Num a) => a
pattern $mGL_FENCE_CONDITION_NV :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_FENCE_CONDITION_NV :: forall a. (Eq a, Num a) => a
GL_FENCE_CONDITION_NV = 0x84F4
pattern GL_FENCE_STATUS_NV :: (Eq a, Num a) => a
pattern $mGL_FENCE_STATUS_NV :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_FENCE_STATUS_NV :: forall a. (Eq a, Num a) => a
GL_FENCE_STATUS_NV = 0x84F3