Nvidia drivers: how to use block transfer?

Hello everybody!

I have a question, which is may be simple to answer.
I updated the driver of my Nvidia graphics card. The old driver supported page flipping and block transfer for double buffering and I used block transfer. I wrote some OGL programs which use the old picture (I didn’t clear the color buffer) for blending to get some nice effects. With page flipping I blend only with every other old picture and get some annoying flickering.
In the new drivers you can’t choose anymore and you always have page flipping.
Now my question: is there any application specific way to force block transfer? Or is there any other fast way to preserve the old screen contents as a background for the next picture?
Thank you in advance for any answers!


P.S.: Geforce4 MX, WinXP SP2

Select a pixelformat with PFD_SWAP_COPY flag, that must not flip.
ChoosePixelFormat is probably too buggy to take this flag into account. You might need to enumerate pixelformats yourself.

Rather than relying on the driver’s page flipping behaviour, you might want to save the old image yourself. You can copy it into a texture rectangle, and put it back for the next frame by rendering a fullscreen quad. Alternatively, you can look into the WGL_ARB_buffer_region extension, which also allows you to save and restore the framebuffer.

Thank you, I will try it tonight.