CL::Event OGLSharedFramebuffer::release(CL::CommandQueue& queue, const CL::Event& evt) { if (_shared) { CL::Event e = queue.enq_GL_release(_cl_buffer->get(), "release framebuffer", evt); return e; } else { assert(_local); CL::Event e = queue.enq_read_buffer(*_cl_buffer, _local, _tex_buffer.get_size(), "read framebuffer", evt); queue.wait_for_events(e); _tex_buffer.load(_local); return CL::Event(); } }