{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
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 :: Bool
gl_NV_occlusion_query = [Char] -> Set [Char] -> Bool
forall a. Ord a => a -> Set a -> Bool
member "GL_NV_occlusion_query" Set [Char]
extensions
{-# NOINLINE gl_NV_occlusion_query #-}
glBeginOcclusionQueryNV :: MonadIO m => GLuint -> m ()
glBeginOcclusionQueryNV :: GLuint -> m ()
glBeginOcclusionQueryNV = FunPtr (GLuint -> IO ()) -> GLuint -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> IO ()) -> GLuint -> m ()
ffiuintIOV FunPtr (GLuint -> IO ())
glBeginOcclusionQueryNVFunPtr
glBeginOcclusionQueryNVFunPtr :: FunPtr (GLuint -> IO ())
glBeginOcclusionQueryNVFunPtr :: FunPtr (GLuint -> IO ())
glBeginOcclusionQueryNVFunPtr = IO (FunPtr (GLuint -> IO ())) -> FunPtr (GLuint -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLuint -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glBeginOcclusionQueryNV")
{-# NOINLINE glBeginOcclusionQueryNVFunPtr #-}
glDeleteOcclusionQueriesNV :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glDeleteOcclusionQueriesNV :: GLsizei -> Ptr GLuint -> m ()
glDeleteOcclusionQueriesNV = 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 ())
glDeleteOcclusionQueriesNVFunPtr
glDeleteOcclusionQueriesNVFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glDeleteOcclusionQueriesNVFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glDeleteOcclusionQueriesNVFunPtr = IO (FunPtr (GLsizei -> Ptr GLuint -> IO ()))
-> FunPtr (GLsizei -> Ptr GLuint -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLsizei -> Ptr GLuint -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glDeleteOcclusionQueriesNV")
{-# NOINLINE glDeleteOcclusionQueriesNVFunPtr #-}
glEndOcclusionQueryNV :: MonadIO m => m ()
glEndOcclusionQueryNV :: m ()
glEndOcclusionQueryNV = FunPtr (IO ()) -> m ()
forall (m :: * -> *). MonadIO m => FunPtr (IO ()) -> m ()
ffiIOV FunPtr (IO ())
glEndOcclusionQueryNVFunPtr
glEndOcclusionQueryNVFunPtr :: FunPtr (IO ())
glEndOcclusionQueryNVFunPtr :: FunPtr (IO ())
glEndOcclusionQueryNVFunPtr = IO (FunPtr (IO ())) -> FunPtr (IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glEndOcclusionQueryNV")
{-# NOINLINE glEndOcclusionQueryNVFunPtr #-}
glGenOcclusionQueriesNV :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGenOcclusionQueriesNV :: GLsizei -> Ptr GLuint -> m ()
glGenOcclusionQueriesNV = 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 ())
glGenOcclusionQueriesNVFunPtr
glGenOcclusionQueriesNVFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glGenOcclusionQueriesNVFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glGenOcclusionQueriesNVFunPtr = IO (FunPtr (GLsizei -> Ptr GLuint -> IO ()))
-> FunPtr (GLsizei -> Ptr GLuint -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLsizei -> Ptr GLuint -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glGenOcclusionQueriesNV")
{-# NOINLINE glGenOcclusionQueriesNVFunPtr #-}
glGetOcclusionQueryivNV :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetOcclusionQueryivNV :: GLuint -> GLuint -> Ptr GLsizei -> m ()
glGetOcclusionQueryivNV = 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 ())
glGetOcclusionQueryivNVFunPtr
glGetOcclusionQueryivNVFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
glGetOcclusionQueryivNVFunPtr :: FunPtr (GLuint -> GLuint -> Ptr GLsizei -> IO ())
glGetOcclusionQueryivNVFunPtr = IO (FunPtr (GLuint -> GLuint -> Ptr GLsizei -> IO ()))
-> FunPtr (GLuint -> GLuint -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLuint -> GLuint -> Ptr GLsizei -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glGetOcclusionQueryivNV")
{-# NOINLINE glGetOcclusionQueryivNVFunPtr #-}
glGetOcclusionQueryuivNV :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()
glGetOcclusionQueryuivNV :: GLuint -> GLuint -> Ptr GLuint -> m ()
glGetOcclusionQueryuivNV = FunPtr (GLuint -> GLuint -> Ptr GLuint -> IO ())
-> GLuint -> GLuint -> Ptr GLuint -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> GLuint -> Ptr GLuint -> IO ())
-> GLuint -> GLuint -> Ptr GLuint -> m ()
ffiuintenumPtruintIOV FunPtr (GLuint -> GLuint -> Ptr GLuint -> IO ())
glGetOcclusionQueryuivNVFunPtr
glGetOcclusionQueryuivNVFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ())
glGetOcclusionQueryuivNVFunPtr :: FunPtr (GLuint -> GLuint -> Ptr GLuint -> IO ())
glGetOcclusionQueryuivNVFunPtr = IO (FunPtr (GLuint -> GLuint -> Ptr GLuint -> IO ()))
-> FunPtr (GLuint -> GLuint -> Ptr GLuint -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLuint -> GLuint -> Ptr GLuint -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glGetOcclusionQueryuivNV")
{-# NOINLINE glGetOcclusionQueryuivNVFunPtr #-}
glIsOcclusionQueryNV :: MonadIO m => GLuint -> m GLboolean
glIsOcclusionQueryNV :: GLuint -> m GLboolean
glIsOcclusionQueryNV = FunPtr (GLuint -> IO GLboolean) -> GLuint -> m GLboolean
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> IO GLboolean) -> GLuint -> m GLboolean
ffiuintIOboolean FunPtr (GLuint -> IO GLboolean)
glIsOcclusionQueryNVFunPtr
glIsOcclusionQueryNVFunPtr :: FunPtr (GLuint -> IO GLboolean)
glIsOcclusionQueryNVFunPtr :: FunPtr (GLuint -> IO GLboolean)
glIsOcclusionQueryNVFunPtr = IO (FunPtr (GLuint -> IO GLboolean))
-> FunPtr (GLuint -> IO GLboolean)
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLuint -> IO GLboolean))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glIsOcclusionQueryNV")
{-# NOINLINE glIsOcclusionQueryNVFunPtr #-}
pattern $bGL_CURRENT_OCCLUSION_QUERY_ID_NV :: a
$mGL_CURRENT_OCCLUSION_QUERY_ID_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CURRENT_OCCLUSION_QUERY_ID_NV = 0x8865
pattern $bGL_PIXEL_COUNTER_BITS_NV :: a
$mGL_PIXEL_COUNTER_BITS_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PIXEL_COUNTER_BITS_NV = 0x8864
pattern $bGL_PIXEL_COUNT_AVAILABLE_NV :: a
$mGL_PIXEL_COUNT_AVAILABLE_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PIXEL_COUNT_AVAILABLE_NV = 0x8867
pattern $bGL_PIXEL_COUNT_NV :: a
$mGL_PIXEL_COUNT_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PIXEL_COUNT_NV = 0x8866