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 = member "GL_NV_fence" extensions
glDeleteFencesNV :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glDeleteFencesNV = ffisizeiPtruintIOV glDeleteFencesNVFunPtr
glDeleteFencesNVFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glDeleteFencesNVFunPtr = unsafePerformIO (getProcAddress "glDeleteFencesNV")
glFinishFenceNV :: MonadIO m => GLuint -> m ()
glFinishFenceNV = ffiuintIOV glFinishFenceNVFunPtr
glFinishFenceNVFunPtr :: FunPtr (GLuint -> IO ())
glFinishFenceNVFunPtr = unsafePerformIO (getProcAddress "glFinishFenceNV")
glGenFencesNV :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGenFencesNV = ffisizeiPtruintIOV glGenFencesNVFunPtr
glGenFencesNVFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glGenFencesNVFunPtr = unsafePerformIO (getProcAddress "glGenFencesNV")
glGetFenceivNV :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetFenceivNV = ffiuintenumPtrintIOV glGetFenceivNVFunPtr
glGetFenceivNVFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
glGetFenceivNVFunPtr = unsafePerformIO (getProcAddress "glGetFenceivNV")
glIsFenceNV :: MonadIO m => GLuint -> m GLboolean
glIsFenceNV = ffiuintIOboolean glIsFenceNVFunPtr
glIsFenceNVFunPtr :: FunPtr (GLuint -> IO GLboolean)
glIsFenceNVFunPtr = unsafePerformIO (getProcAddress "glIsFenceNV")
glSetFenceNV :: MonadIO m => GLuint -> GLenum -> m ()
glSetFenceNV = ffiuintenumIOV glSetFenceNVFunPtr
glSetFenceNVFunPtr :: FunPtr (GLuint -> GLenum -> IO ())
glSetFenceNVFunPtr = unsafePerformIO (getProcAddress "glSetFenceNV")
glTestFenceNV :: MonadIO m => GLuint -> m GLboolean
glTestFenceNV = ffiuintIOboolean glTestFenceNVFunPtr
glTestFenceNVFunPtr :: FunPtr (GLuint -> IO GLboolean)
glTestFenceNVFunPtr = unsafePerformIO (getProcAddress "glTestFenceNV")
pattern GL_ALL_COMPLETED_NV = 0x84F2
pattern GL_FENCE_CONDITION_NV = 0x84F4
pattern GL_FENCE_STATUS_NV = 0x84F3