'''Autogenerated by get_gl_extensions script, do not edit!'''
from OpenGL import platform as _p, constants as _cs, arrays
from OpenGL.GL import glget
import ctypes
EXTENSION_NAME = 'GL_NV_vdpau_interop'
def _f( function ):
    return _p.createFunction( function,_p.GL,'GL_NV_vdpau_interop',False)
_p.unpack_constants( """GL_SURFACE_STATE_NV 0x86EB
GL_SURFACE_REGISTERED_NV 0x86FD
GL_SURFACE_MAPPED_NV 0x8700
GL_WRITE_DISCARD_NV 0x88BE""", globals())
@_f
@_p.types(None,ctypes.c_void_p,ctypes.c_void_p)
def glVDPAUInitNV( vdpDevice,getProcAddress ):pass
@_f
@_p.types(None,)
def glVDPAUFiniNV(  ):pass
@_f
@_p.types(_cs.GLvdpauSurfaceNV,ctypes.c_void_p,_cs.GLenum,_cs.GLsizei,arrays.GLuintArray)
def glVDPAURegisterVideoSurfaceNV( vdpSurface,target,numTextureNames,textureNames ):pass
@_f
@_p.types(_cs.GLvdpauSurfaceNV,ctypes.c_void_p,_cs.GLenum,_cs.GLsizei,arrays.GLuintArray)
def glVDPAURegisterOutputSurfaceNV( vdpSurface,target,numTextureNames,textureNames ):pass
@_f
@_p.types(None,_cs.GLvdpauSurfaceNV)
def glVDPAUIsSurfaceNV( surface ):pass
@_f
@_p.types(None,_cs.GLvdpauSurfaceNV)
def glVDPAUUnregisterSurfaceNV( surface ):pass
@_f
@_p.types(None,_cs.GLvdpauSurfaceNV,_cs.GLenum,_cs.GLsizei,arrays.GLsizeiArray,arrays.GLintArray)
def glVDPAUGetSurfaceivNV( surface,pname,bufSize,length,values ):pass
@_f
@_p.types(None,_cs.GLvdpauSurfaceNV,_cs.GLenum)
def glVDPAUSurfaceAccessNV( surface,access ):pass
@_f
@_p.types(None,_cs.GLsizei,ctypes.POINTER(_cs.GLvdpauSurfaceNV))
def glVDPAUMapSurfacesNV( numSurfaces,surfaces ):pass
@_f
@_p.types(None,_cs.GLsizei,ctypes.POINTER(_cs.GLvdpauSurfaceNV))
def glVDPAUUnmapSurfacesNV( numSurface,surfaces ):pass


def glInitVdpauInteropNV():
    '''Return boolean indicating whether this extension is available'''
    from OpenGL import extensions
    return extensions.hasGLExtension( EXTENSION_NAME )
