{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
module Graphics.GL.Ext.APPLE.Sync (
gl_APPLE_sync
, glClientWaitSyncAPPLE
, glDeleteSyncAPPLE
, glFenceSyncAPPLE
, glGetInteger64vAPPLE
, glGetSyncivAPPLE
, glIsSyncAPPLE
, glWaitSyncAPPLE
, pattern GL_ALREADY_SIGNALED_APPLE
, pattern GL_CONDITION_SATISFIED_APPLE
, pattern GL_MAX_SERVER_WAIT_TIMEOUT_APPLE
, pattern GL_OBJECT_TYPE_APPLE
, pattern GL_SIGNALED_APPLE
, pattern GL_SYNC_CONDITION_APPLE
, pattern GL_SYNC_FENCE_APPLE
, pattern GL_SYNC_FLAGS_APPLE
, pattern GL_SYNC_FLUSH_COMMANDS_BIT_APPLE
, pattern GL_SYNC_GPU_COMMANDS_COMPLETE_APPLE
, pattern GL_SYNC_OBJECT_APPLE
, pattern GL_SYNC_STATUS_APPLE
, pattern GL_TIMEOUT_EXPIRED_APPLE
, pattern GL_TIMEOUT_IGNORED_APPLE
, pattern GL_UNSIGNALED_APPLE
, pattern GL_WAIT_FAILED_APPLE
) 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_APPLE_sync :: Bool
gl_APPLE_sync :: Bool
gl_APPLE_sync = [Char] -> Set [Char] -> Bool
forall a. Ord a => a -> Set a -> Bool
member "GL_APPLE_sync" Set [Char]
extensions
{-# NOINLINE gl_APPLE_sync #-}
glClientWaitSyncAPPLE :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m GLenum
glClientWaitSyncAPPLE :: GLsync -> GLbitfield -> GLuint64 -> m GLbitfield
glClientWaitSyncAPPLE = FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO GLbitfield)
-> GLsync -> GLbitfield -> GLuint64 -> m GLbitfield
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO GLbitfield)
-> GLsync -> GLbitfield -> GLuint64 -> m GLbitfield
ffisyncbitfielduint64IOenum FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO GLbitfield)
glClientWaitSyncAPPLEFunPtr
glClientWaitSyncAPPLEFunPtr :: FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO GLenum)
glClientWaitSyncAPPLEFunPtr :: FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO GLbitfield)
glClientWaitSyncAPPLEFunPtr = IO (FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO GLbitfield))
-> FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO GLbitfield)
forall a. IO a -> a
unsafePerformIO ([Char]
-> IO (FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO GLbitfield))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glClientWaitSyncAPPLE")
{-# NOINLINE glClientWaitSyncAPPLEFunPtr #-}
glDeleteSyncAPPLE :: MonadIO m => GLsync -> m ()
glDeleteSyncAPPLE :: GLsync -> m ()
glDeleteSyncAPPLE = FunPtr (GLsync -> IO ()) -> GLsync -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsync -> IO ()) -> GLsync -> m ()
ffisyncIOV FunPtr (GLsync -> IO ())
glDeleteSyncAPPLEFunPtr
glDeleteSyncAPPLEFunPtr :: FunPtr (GLsync -> IO ())
glDeleteSyncAPPLEFunPtr :: FunPtr (GLsync -> IO ())
glDeleteSyncAPPLEFunPtr = IO (FunPtr (GLsync -> IO ())) -> FunPtr (GLsync -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLsync -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glDeleteSyncAPPLE")
{-# NOINLINE glDeleteSyncAPPLEFunPtr #-}
glFenceSyncAPPLE :: MonadIO m => GLenum -> GLbitfield -> m GLsync
glFenceSyncAPPLE :: GLbitfield -> GLbitfield -> m GLsync
glFenceSyncAPPLE = FunPtr (GLbitfield -> GLbitfield -> IO GLsync)
-> GLbitfield -> GLbitfield -> m GLsync
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLbitfield -> GLbitfield -> IO GLsync)
-> GLbitfield -> GLbitfield -> m GLsync
ffienumbitfieldIOsync FunPtr (GLbitfield -> GLbitfield -> IO GLsync)
glFenceSyncAPPLEFunPtr
glFenceSyncAPPLEFunPtr :: FunPtr (GLenum -> GLbitfield -> IO GLsync)
glFenceSyncAPPLEFunPtr :: FunPtr (GLbitfield -> GLbitfield -> IO GLsync)
glFenceSyncAPPLEFunPtr = IO (FunPtr (GLbitfield -> GLbitfield -> IO GLsync))
-> FunPtr (GLbitfield -> GLbitfield -> IO GLsync)
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLbitfield -> GLbitfield -> IO GLsync))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glFenceSyncAPPLE")
{-# NOINLINE glFenceSyncAPPLEFunPtr #-}
glGetInteger64vAPPLE :: MonadIO m => GLenum -> Ptr GLint64 -> m ()
glGetInteger64vAPPLE :: GLbitfield -> Ptr GLint64 -> m ()
glGetInteger64vAPPLE = FunPtr (GLbitfield -> Ptr GLint64 -> IO ())
-> GLbitfield -> Ptr GLint64 -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLbitfield -> Ptr GLint64 -> IO ())
-> GLbitfield -> Ptr GLint64 -> m ()
ffienumPtrint64IOV FunPtr (GLbitfield -> Ptr GLint64 -> IO ())
glGetInteger64vAPPLEFunPtr
glGetInteger64vAPPLEFunPtr :: FunPtr (GLenum -> Ptr GLint64 -> IO ())
glGetInteger64vAPPLEFunPtr :: FunPtr (GLbitfield -> Ptr GLint64 -> IO ())
glGetInteger64vAPPLEFunPtr = IO (FunPtr (GLbitfield -> Ptr GLint64 -> IO ()))
-> FunPtr (GLbitfield -> Ptr GLint64 -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLbitfield -> Ptr GLint64 -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glGetInteger64vAPPLE")
{-# NOINLINE glGetInteger64vAPPLEFunPtr #-}
glGetSyncivAPPLE :: MonadIO m => GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()
glGetSyncivAPPLE :: GLsync
-> GLbitfield -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> m ()
glGetSyncivAPPLE = FunPtr
(GLsync
-> GLbitfield -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> IO ())
-> GLsync
-> GLbitfield
-> GLsizei
-> Ptr GLsizei
-> Ptr GLsizei
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
(GLsync
-> GLbitfield -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> IO ())
-> GLsync
-> GLbitfield
-> GLsizei
-> Ptr GLsizei
-> Ptr GLsizei
-> m ()
ffisyncenumsizeiPtrsizeiPtrintIOV FunPtr
(GLsync
-> GLbitfield -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> IO ())
glGetSyncivAPPLEFunPtr
glGetSyncivAPPLEFunPtr :: FunPtr (GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> IO ())
glGetSyncivAPPLEFunPtr :: FunPtr
(GLsync
-> GLbitfield -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> IO ())
glGetSyncivAPPLEFunPtr = IO
(FunPtr
(GLsync
-> GLbitfield -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> IO ()))
-> FunPtr
(GLsync
-> GLbitfield -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char]
-> IO
(FunPtr
(GLsync
-> GLbitfield -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glGetSyncivAPPLE")
{-# NOINLINE glGetSyncivAPPLEFunPtr #-}
glIsSyncAPPLE :: MonadIO m => GLsync -> m GLboolean
glIsSyncAPPLE :: GLsync -> m GLboolean
glIsSyncAPPLE = FunPtr (GLsync -> IO GLboolean) -> GLsync -> m GLboolean
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsync -> IO GLboolean) -> GLsync -> m GLboolean
ffisyncIOboolean FunPtr (GLsync -> IO GLboolean)
glIsSyncAPPLEFunPtr
glIsSyncAPPLEFunPtr :: FunPtr (GLsync -> IO GLboolean)
glIsSyncAPPLEFunPtr :: FunPtr (GLsync -> IO GLboolean)
glIsSyncAPPLEFunPtr = IO (FunPtr (GLsync -> IO GLboolean))
-> FunPtr (GLsync -> IO GLboolean)
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLsync -> IO GLboolean))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glIsSyncAPPLE")
{-# NOINLINE glIsSyncAPPLEFunPtr #-}
glWaitSyncAPPLE :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m ()
glWaitSyncAPPLE :: GLsync -> GLbitfield -> GLuint64 -> m ()
glWaitSyncAPPLE = FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO ())
-> GLsync -> GLbitfield -> GLuint64 -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO ())
-> GLsync -> GLbitfield -> GLuint64 -> m ()
ffisyncbitfielduint64IOV FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO ())
glWaitSyncAPPLEFunPtr
glWaitSyncAPPLEFunPtr :: FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO ())
glWaitSyncAPPLEFunPtr :: FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO ())
glWaitSyncAPPLEFunPtr = IO (FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO ()))
-> FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glWaitSyncAPPLE")
{-# NOINLINE glWaitSyncAPPLEFunPtr #-}
pattern $bGL_ALREADY_SIGNALED_APPLE :: a
$mGL_ALREADY_SIGNALED_APPLE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ALREADY_SIGNALED_APPLE = 0x911A
pattern $bGL_CONDITION_SATISFIED_APPLE :: a
$mGL_CONDITION_SATISFIED_APPLE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CONDITION_SATISFIED_APPLE = 0x911C
pattern $bGL_MAX_SERVER_WAIT_TIMEOUT_APPLE :: a
$mGL_MAX_SERVER_WAIT_TIMEOUT_APPLE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_SERVER_WAIT_TIMEOUT_APPLE = 0x9111
pattern $bGL_OBJECT_TYPE_APPLE :: a
$mGL_OBJECT_TYPE_APPLE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_OBJECT_TYPE_APPLE = 0x9112
pattern $bGL_SIGNALED_APPLE :: a
$mGL_SIGNALED_APPLE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SIGNALED_APPLE = 0x9119
pattern $bGL_SYNC_CONDITION_APPLE :: a
$mGL_SYNC_CONDITION_APPLE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SYNC_CONDITION_APPLE = 0x9113
pattern $bGL_SYNC_FENCE_APPLE :: a
$mGL_SYNC_FENCE_APPLE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SYNC_FENCE_APPLE = 0x9116
pattern $bGL_SYNC_FLAGS_APPLE :: a
$mGL_SYNC_FLAGS_APPLE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SYNC_FLAGS_APPLE = 0x9115
pattern $bGL_SYNC_FLUSH_COMMANDS_BIT_APPLE :: a
$mGL_SYNC_FLUSH_COMMANDS_BIT_APPLE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SYNC_FLUSH_COMMANDS_BIT_APPLE = 0x00000001
pattern $bGL_SYNC_GPU_COMMANDS_COMPLETE_APPLE :: a
$mGL_SYNC_GPU_COMMANDS_COMPLETE_APPLE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SYNC_GPU_COMMANDS_COMPLETE_APPLE = 0x9117
pattern $bGL_SYNC_OBJECT_APPLE :: a
$mGL_SYNC_OBJECT_APPLE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SYNC_OBJECT_APPLE = 0x8A53
pattern $bGL_SYNC_STATUS_APPLE :: a
$mGL_SYNC_STATUS_APPLE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SYNC_STATUS_APPLE = 0x9114
pattern $bGL_TIMEOUT_EXPIRED_APPLE :: a
$mGL_TIMEOUT_EXPIRED_APPLE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TIMEOUT_EXPIRED_APPLE = 0x911B
pattern $bGL_TIMEOUT_IGNORED_APPLE :: a
$mGL_TIMEOUT_IGNORED_APPLE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_TIMEOUT_IGNORED_APPLE = 0xFFFFFFFFFFFFFFFF
pattern $bGL_UNSIGNALED_APPLE :: a
$mGL_UNSIGNALED_APPLE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNSIGNALED_APPLE = 0x9118
pattern $bGL_WAIT_FAILED_APPLE :: a
$mGL_WAIT_FAILED_APPLE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_WAIT_FAILED_APPLE = 0x911D