On even further inspection,
glCopyPixels is DOG slow with glPixelZoom(1,-1),
but glDrawPixels is fast as ever.
Hey Nvidia- FIX IT! Arg! This one should really be easy!
The following should -not- run with software fallback:
// assume glOrtho set up for 720,486.
glXMakeContextCurrent(display,writeDrawable,readDr awable, glxcontext );
// where writeDrawable!=readDrawable, but you should be able to fast-blit vertical-flipped in the same drawable
As it stands, there is currently no easy way to blit in video (right-side-up), render on top of it, and blit it out (upside-down).
Fixing glCopyPixels would make it possible to do this at framerate (29.97 fps) instead of at 2 fps.