Copy Engine OpenGL Questions

I’m a self-taught weekend warrior with OpenGL. I have a complex film scanning application that processes sequential movie film frames. Upload, render and download are are currently performed in a single, linear thread.

I’m trying to port my code over to multithreaded OpenGL code to take advantage of Fermi dual copy engines. I have the sample code from the Nvidia book, but the code is very encapsulated and is a little cryptic for me to use for learning the synchronization calls.

I have two beginning questions:

  1. Will the upload/download copy engines work if I don’t use Pixel Buffer Objects for upload and download? I wanted to start without that, and then add it once I have the copy engine multithreaded code working.

  2. Is there any sample code available for simultaneous texture upload, render and download (using multithreaded OpenGl and Copy engines) that uses the native OpenGl C calls, as opposed to the C++ class used in the OpenGL official sample code?