-- This file was automatically generated. {-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-} module Graphics.GL.Raw.Extension.NV.VdpauInterop ( -- * Extension Support gl_NV_vdpau_interop -- * GL_NV_vdpau_interop , glVDPAUFiniNV , glVDPAUGetSurfaceivNV , glVDPAUInitNV , glVDPAUIsSurfaceNV , glVDPAUMapSurfacesNV , glVDPAURegisterOutputSurfaceNV , glVDPAURegisterVideoSurfaceNV , glVDPAUSurfaceAccessNV , glVDPAUUnmapSurfacesNV , glVDPAUUnregisterSurfaceNV , pattern GL_SURFACE_MAPPED_NV , pattern GL_SURFACE_REGISTERED_NV , pattern GL_SURFACE_STATE_NV , pattern GL_WRITE_DISCARD_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 gl_NV_vdpau_interop :: Bool gl_NV_vdpau_interop = member "GL_NV_vdpau_interop" extensions glVDPAUFiniNV :: MonadIO m => m () glVDPAUFiniNV = ffiIOV glVDPAUFiniNVFunPtr glVDPAUFiniNVFunPtr :: FunPtr (IO ()) glVDPAUFiniNVFunPtr = unsafePerformIO (getProcAddress "glVDPAUFiniNV") {-# NOINLINE glVDPAUFiniNVFunPtr #-} glVDPAUGetSurfaceivNV :: MonadIO m => GLvdpauSurfaceNV -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m () glVDPAUGetSurfaceivNV = ffivdpauSurfaceNVenumsizeiPtrsizeiPtrintIOV glVDPAUGetSurfaceivNVFunPtr glVDPAUGetSurfaceivNVFunPtr :: FunPtr (GLvdpauSurfaceNV -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> IO ()) glVDPAUGetSurfaceivNVFunPtr = unsafePerformIO (getProcAddress "glVDPAUGetSurfaceivNV") {-# NOINLINE glVDPAUGetSurfaceivNVFunPtr #-} glVDPAUInitNV :: MonadIO m => Ptr () -> Ptr () -> m () glVDPAUInitNV = ffiPtrVPtrVIOV glVDPAUInitNVFunPtr glVDPAUInitNVFunPtr :: FunPtr (Ptr () -> Ptr () -> IO ()) glVDPAUInitNVFunPtr = unsafePerformIO (getProcAddress "glVDPAUInitNV") {-# NOINLINE glVDPAUInitNVFunPtr #-} glVDPAUIsSurfaceNV :: MonadIO m => GLvdpauSurfaceNV -> m GLboolean glVDPAUIsSurfaceNV = ffivdpauSurfaceNVIOboolean glVDPAUIsSurfaceNVFunPtr glVDPAUIsSurfaceNVFunPtr :: FunPtr (GLvdpauSurfaceNV -> IO GLboolean) glVDPAUIsSurfaceNVFunPtr = unsafePerformIO (getProcAddress "glVDPAUIsSurfaceNV") {-# NOINLINE glVDPAUIsSurfaceNVFunPtr #-} glVDPAUMapSurfacesNV :: MonadIO m => GLsizei -> Ptr GLvdpauSurfaceNV -> m () glVDPAUMapSurfacesNV = ffisizeiPtrvdpauSurfaceNVIOV glVDPAUMapSurfacesNVFunPtr glVDPAUMapSurfacesNVFunPtr :: FunPtr (GLsizei -> Ptr GLvdpauSurfaceNV -> IO ()) glVDPAUMapSurfacesNVFunPtr = unsafePerformIO (getProcAddress "glVDPAUMapSurfacesNV") {-# NOINLINE glVDPAUMapSurfacesNVFunPtr #-} glVDPAURegisterOutputSurfaceNV :: MonadIO m => Ptr () -> GLenum -> GLsizei -> Ptr GLuint -> m GLvdpauSurfaceNV glVDPAURegisterOutputSurfaceNV = ffiPtrVenumsizeiPtruintIOvdpauSurfaceNV glVDPAURegisterOutputSurfaceNVFunPtr glVDPAURegisterOutputSurfaceNVFunPtr :: FunPtr (Ptr () -> GLenum -> GLsizei -> Ptr GLuint -> IO GLvdpauSurfaceNV) glVDPAURegisterOutputSurfaceNVFunPtr = unsafePerformIO (getProcAddress "glVDPAURegisterOutputSurfaceNV") {-# NOINLINE glVDPAURegisterOutputSurfaceNVFunPtr #-} glVDPAURegisterVideoSurfaceNV :: MonadIO m => Ptr () -> GLenum -> GLsizei -> Ptr GLuint -> m GLvdpauSurfaceNV glVDPAURegisterVideoSurfaceNV = ffiPtrVenumsizeiPtruintIOvdpauSurfaceNV glVDPAURegisterVideoSurfaceNVFunPtr glVDPAURegisterVideoSurfaceNVFunPtr :: FunPtr (Ptr () -> GLenum -> GLsizei -> Ptr GLuint -> IO GLvdpauSurfaceNV) glVDPAURegisterVideoSurfaceNVFunPtr = unsafePerformIO (getProcAddress "glVDPAURegisterVideoSurfaceNV") {-# NOINLINE glVDPAURegisterVideoSurfaceNVFunPtr #-} glVDPAUSurfaceAccessNV :: MonadIO m => GLvdpauSurfaceNV -> GLenum -> m () glVDPAUSurfaceAccessNV = ffivdpauSurfaceNVenumIOV glVDPAUSurfaceAccessNVFunPtr glVDPAUSurfaceAccessNVFunPtr :: FunPtr (GLvdpauSurfaceNV -> GLenum -> IO ()) glVDPAUSurfaceAccessNVFunPtr = unsafePerformIO (getProcAddress "glVDPAUSurfaceAccessNV") {-# NOINLINE glVDPAUSurfaceAccessNVFunPtr #-} glVDPAUUnmapSurfacesNV :: MonadIO m => GLsizei -> Ptr GLvdpauSurfaceNV -> m () glVDPAUUnmapSurfacesNV = ffisizeiPtrvdpauSurfaceNVIOV glVDPAUUnmapSurfacesNVFunPtr glVDPAUUnmapSurfacesNVFunPtr :: FunPtr (GLsizei -> Ptr GLvdpauSurfaceNV -> IO ()) glVDPAUUnmapSurfacesNVFunPtr = unsafePerformIO (getProcAddress "glVDPAUUnmapSurfacesNV") {-# NOINLINE glVDPAUUnmapSurfacesNVFunPtr #-} glVDPAUUnregisterSurfaceNV :: MonadIO m => GLvdpauSurfaceNV -> m () glVDPAUUnregisterSurfaceNV = ffivdpauSurfaceNVIOV glVDPAUUnregisterSurfaceNVFunPtr glVDPAUUnregisterSurfaceNVFunPtr :: FunPtr (GLvdpauSurfaceNV -> IO ()) glVDPAUUnregisterSurfaceNVFunPtr = unsafePerformIO (getProcAddress "glVDPAUUnregisterSurfaceNV") {-# NOINLINE glVDPAUUnregisterSurfaceNVFunPtr #-} pattern GL_SURFACE_MAPPED_NV = 0x8700 pattern GL_SURFACE_REGISTERED_NV = 0x86FD pattern GL_SURFACE_STATE_NV = 0x86EB pattern GL_WRITE_DISCARD_NV = 0x88BE