The GL_NV_vdpau_interop spec says: Using any other API to access a VDPAU surface while that surface is in the mapped state in the GL will yield undefined results, potentially including program termination. i.e. it's clearly not allowed to use any VDPAU API functions on mapped surfaces.