module Graphics.GL.Ext.NV.OcclusionQuery (
gl_NV_occlusion_query
, glBeginOcclusionQueryNV
, glDeleteOcclusionQueriesNV
, glEndOcclusionQueryNV
, glGenOcclusionQueriesNV
, glGetOcclusionQueryivNV
, glGetOcclusionQueryuivNV
, glIsOcclusionQueryNV
, pattern GL_CURRENT_OCCLUSION_QUERY_ID_NV
, pattern GL_PIXEL_COUNTER_BITS_NV
, pattern GL_PIXEL_COUNT_AVAILABLE_NV
, pattern GL_PIXEL_COUNT_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_occlusion_query :: Bool
gl_NV_occlusion_query = member "GL_NV_occlusion_query" extensions
glBeginOcclusionQueryNV :: MonadIO m => GLuint -> m ()
glBeginOcclusionQueryNV = ffiuintIOV glBeginOcclusionQueryNVFunPtr
glBeginOcclusionQueryNVFunPtr :: FunPtr (GLuint -> IO ())
glBeginOcclusionQueryNVFunPtr = unsafePerformIO (getProcAddress "glBeginOcclusionQueryNV")
glDeleteOcclusionQueriesNV :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glDeleteOcclusionQueriesNV = ffisizeiPtruintIOV glDeleteOcclusionQueriesNVFunPtr
glDeleteOcclusionQueriesNVFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glDeleteOcclusionQueriesNVFunPtr = unsafePerformIO (getProcAddress "glDeleteOcclusionQueriesNV")
glEndOcclusionQueryNV :: MonadIO m => m ()
glEndOcclusionQueryNV = ffiIOV glEndOcclusionQueryNVFunPtr
glEndOcclusionQueryNVFunPtr :: FunPtr (IO ())
glEndOcclusionQueryNVFunPtr = unsafePerformIO (getProcAddress "glEndOcclusionQueryNV")
glGenOcclusionQueriesNV :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGenOcclusionQueriesNV = ffisizeiPtruintIOV glGenOcclusionQueriesNVFunPtr
glGenOcclusionQueriesNVFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glGenOcclusionQueriesNVFunPtr = unsafePerformIO (getProcAddress "glGenOcclusionQueriesNV")
glGetOcclusionQueryivNV :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetOcclusionQueryivNV = ffiuintenumPtrintIOV glGetOcclusionQueryivNVFunPtr
glGetOcclusionQueryivNVFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
glGetOcclusionQueryivNVFunPtr = unsafePerformIO (getProcAddress "glGetOcclusionQueryivNV")
glGetOcclusionQueryuivNV :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()
glGetOcclusionQueryuivNV = ffiuintenumPtruintIOV glGetOcclusionQueryuivNVFunPtr
glGetOcclusionQueryuivNVFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ())
glGetOcclusionQueryuivNVFunPtr = unsafePerformIO (getProcAddress "glGetOcclusionQueryuivNV")
glIsOcclusionQueryNV :: MonadIO m => GLuint -> m GLboolean
glIsOcclusionQueryNV = ffiuintIOboolean glIsOcclusionQueryNVFunPtr
glIsOcclusionQueryNVFunPtr :: FunPtr (GLuint -> IO GLboolean)
glIsOcclusionQueryNVFunPtr = unsafePerformIO (getProcAddress "glIsOcclusionQueryNV")
pattern GL_CURRENT_OCCLUSION_QUERY_ID_NV = 0x8865
pattern GL_PIXEL_COUNTER_BITS_NV = 0x8864
pattern GL_PIXEL_COUNT_AVAILABLE_NV = 0x8867
pattern GL_PIXEL_COUNT_NV = 0x8866