module Graphics.GL.Ext.NV.VdpauInterop (
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.Internal.FFI
import Graphics.GL.Internal.Proc
import Graphics.GL.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")
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")
glVDPAUInitNV :: MonadIO m => Ptr () -> Ptr () -> m ()
glVDPAUInitNV = ffiPtrVPtrVIOV glVDPAUInitNVFunPtr
glVDPAUInitNVFunPtr :: FunPtr (Ptr () -> Ptr () -> IO ())
glVDPAUInitNVFunPtr = unsafePerformIO (getProcAddress "glVDPAUInitNV")
glVDPAUIsSurfaceNV :: MonadIO m => GLvdpauSurfaceNV -> m GLboolean
glVDPAUIsSurfaceNV = ffivdpauSurfaceNVIOboolean glVDPAUIsSurfaceNVFunPtr
glVDPAUIsSurfaceNVFunPtr :: FunPtr (GLvdpauSurfaceNV -> IO GLboolean)
glVDPAUIsSurfaceNVFunPtr = unsafePerformIO (getProcAddress "glVDPAUIsSurfaceNV")
glVDPAUMapSurfacesNV :: MonadIO m => GLsizei -> Ptr GLvdpauSurfaceNV -> m ()
glVDPAUMapSurfacesNV = ffisizeiPtrvdpauSurfaceNVIOV glVDPAUMapSurfacesNVFunPtr
glVDPAUMapSurfacesNVFunPtr :: FunPtr (GLsizei -> Ptr GLvdpauSurfaceNV -> IO ())
glVDPAUMapSurfacesNVFunPtr = unsafePerformIO (getProcAddress "glVDPAUMapSurfacesNV")
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")
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")
glVDPAUSurfaceAccessNV :: MonadIO m => GLvdpauSurfaceNV -> GLenum -> m ()
glVDPAUSurfaceAccessNV = ffivdpauSurfaceNVenumIOV glVDPAUSurfaceAccessNVFunPtr
glVDPAUSurfaceAccessNVFunPtr :: FunPtr (GLvdpauSurfaceNV -> GLenum -> IO ())
glVDPAUSurfaceAccessNVFunPtr = unsafePerformIO (getProcAddress "glVDPAUSurfaceAccessNV")
glVDPAUUnmapSurfacesNV :: MonadIO m => GLsizei -> Ptr GLvdpauSurfaceNV -> m ()
glVDPAUUnmapSurfacesNV = ffisizeiPtrvdpauSurfaceNVIOV glVDPAUUnmapSurfacesNVFunPtr
glVDPAUUnmapSurfacesNVFunPtr :: FunPtr (GLsizei -> Ptr GLvdpauSurfaceNV -> IO ())
glVDPAUUnmapSurfacesNVFunPtr = unsafePerformIO (getProcAddress "glVDPAUUnmapSurfacesNV")
glVDPAUUnregisterSurfaceNV :: MonadIO m => GLvdpauSurfaceNV -> m ()
glVDPAUUnregisterSurfaceNV = ffivdpauSurfaceNVIOV glVDPAUUnregisterSurfaceNVFunPtr
glVDPAUUnregisterSurfaceNVFunPtr :: FunPtr (GLvdpauSurfaceNV -> IO ())
glVDPAUUnregisterSurfaceNVFunPtr = unsafePerformIO (getProcAddress "glVDPAUUnregisterSurfaceNV")
pattern GL_SURFACE_MAPPED_NV = 0x8700
pattern GL_SURFACE_REGISTERED_NV = 0x86FD
pattern GL_SURFACE_STATE_NV = 0x86EB
pattern GL_WRITE_DISCARD_NV = 0x88BE