Exemplo n.º 1
0
void
ImageGL::unregisterAsCudaResource(int field_num)
{
    cuCtxPushCurrent(oContext_);
    checkCudaErrors(cuGLUnregisterBufferObject(gl_pbo_[field_num]));
    bIsCudaResource_ = false;
    cuCtxPopCurrent(NULL);
}
Exemplo n.º 2
0
static bool releaseBufferAndTexture( GLuint &buf, GLuint &tex )
{
    // Unregister buffer from cuda
    cuGLUnregisterBufferObject( buf );

    //std::cout << "Released " << tex << std::endl;
    // Release PBO
    glDeleteBuffers(1, &buf );
    buf = 0;
    
    // Release Texture
    glDeleteTextures(1, &tex );
    tex = 0;

    return true;
}
Exemplo n.º 3
0
bool releaseBuffer( PixelBufferObject &img )
{
    if( Size(img) != UInt2(0,0) )
    {
        SetSize(img,UInt2(0,0));

        // Unregister buffer from cuda
        cuGLUnregisterBufferObject( img.m_bufId );

        // Release PBO
        glDeleteBuffers(1, &img.m_bufId );
        img.m_bufId = 0;
        return true;
    }
    return false;
}