-- This file was automatically generated. {-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-} module Graphics.GL.Raw.Extension.NV.PresentVideo ( -- * Extension Support gl_NV_present_video -- * GL_NV_present_video , glGetVideoi64vNV , glGetVideoivNV , glGetVideoui64vNV , glGetVideouivNV , glPresentFrameDualFillNV , glPresentFrameKeyedNV , pattern GL_CURRENT_TIME_NV , pattern GL_FIELDS_NV , pattern GL_FRAME_NV , pattern GL_NUM_FILL_STREAMS_NV , pattern GL_PRESENT_DURATION_NV , pattern GL_PRESENT_TIME_NV ) where import Control.Monad.IO.Class import Data.Set import Foreign.Ptr import Graphics.GL.Raw.Internal.FFI import Graphics.GL.Raw.Internal.Proc import Graphics.GL.Raw.Types import System.IO.Unsafe -- | Checks that the extension is available. gl_NV_present_video :: Bool gl_NV_present_video = member "GL_NV_present_video" extensions {-# NOINLINE gl_NV_present_video #-} -- | Usage: @'glGetVideoi64vNV' video_slot pname params@ -- -- The length of @params@ should be @COMPSIZE(pname)@. glGetVideoi64vNV :: MonadIO m => GLuint -> GLenum -> Ptr GLint64EXT -> m () glGetVideoi64vNV = ffiuintenumPtrint64EXTIOV glGetVideoi64vNVFunPtr glGetVideoi64vNVFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLint64EXT -> IO ()) glGetVideoi64vNVFunPtr = unsafePerformIO (getProcAddress "glGetVideoi64vNV") {-# NOINLINE glGetVideoi64vNVFunPtr #-} -- | Usage: @'glGetVideoivNV' video_slot pname params@ -- -- The length of @params@ should be @COMPSIZE(pname)@. glGetVideoivNV :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m () glGetVideoivNV = ffiuintenumPtrintIOV glGetVideoivNVFunPtr glGetVideoivNVFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ()) glGetVideoivNVFunPtr = unsafePerformIO (getProcAddress "glGetVideoivNV") {-# NOINLINE glGetVideoivNVFunPtr #-} -- | Usage: @'glGetVideoui64vNV' video_slot pname params@ -- -- The length of @params@ should be @COMPSIZE(pname)@. glGetVideoui64vNV :: MonadIO m => GLuint -> GLenum -> Ptr GLuint64EXT -> m () glGetVideoui64vNV = ffiuintenumPtruint64EXTIOV glGetVideoui64vNVFunPtr glGetVideoui64vNVFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLuint64EXT -> IO ()) glGetVideoui64vNVFunPtr = unsafePerformIO (getProcAddress "glGetVideoui64vNV") {-# NOINLINE glGetVideoui64vNVFunPtr #-} -- | Usage: @'glGetVideouivNV' video_slot pname params@ -- -- The length of @params@ should be @COMPSIZE(pname)@. glGetVideouivNV :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m () glGetVideouivNV = ffiuintenumPtruintIOV glGetVideouivNVFunPtr glGetVideouivNVFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ()) glGetVideouivNVFunPtr = unsafePerformIO (getProcAddress "glGetVideouivNV") {-# NOINLINE glGetVideouivNVFunPtr #-} -- | Usage: @'glPresentFrameDualFillNV' video_slot minPresentTime beginPresentTimeId presentDurationId type target0 fill0 target1 fill1 target2 fill2 target3 fill3@ glPresentFrameDualFillNV :: MonadIO m => GLuint -> GLuint64EXT -> GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> m () glPresentFrameDualFillNV = ffiuintuint64EXTuintuintenumenumuintenumuintenumuintenumuintIOV glPresentFrameDualFillNVFunPtr glPresentFrameDualFillNVFunPtr :: FunPtr (GLuint -> GLuint64EXT -> GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> IO ()) glPresentFrameDualFillNVFunPtr = unsafePerformIO (getProcAddress "glPresentFrameDualFillNV") {-# NOINLINE glPresentFrameDualFillNVFunPtr #-} -- | Usage: @'glPresentFrameKeyedNV' video_slot minPresentTime beginPresentTimeId presentDurationId type target0 fill0 key0 target1 fill1 key1@ glPresentFrameKeyedNV :: MonadIO m => GLuint -> GLuint64EXT -> GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> GLuint -> GLenum -> GLuint -> GLuint -> m () glPresentFrameKeyedNV = ffiuintuint64EXTuintuintenumenumuintuintenumuintuintIOV glPresentFrameKeyedNVFunPtr glPresentFrameKeyedNVFunPtr :: FunPtr (GLuint -> GLuint64EXT -> GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> GLuint -> GLenum -> GLuint -> GLuint -> IO ()) glPresentFrameKeyedNVFunPtr = unsafePerformIO (getProcAddress "glPresentFrameKeyedNV") {-# NOINLINE glPresentFrameKeyedNVFunPtr #-} pattern GL_CURRENT_TIME_NV = 0x8E28 pattern GL_FIELDS_NV = 0x8E27 pattern GL_FRAME_NV = 0x8E26 pattern GL_NUM_FILL_STREAMS_NV = 0x8E29 pattern GL_PRESENT_DURATION_NV = 0x8E2B pattern GL_PRESENT_TIME_NV = 0x8E2A