SwapBuffer problem/ bug?

When I render my frames and store them in a movie.

The problem is black rectangles if the window have been covered by some other window. So I have to make the window “always on top” and be very careful, not to get any splash screens or other junk on top of the window. The same thing happens if put any part of the window out of the screen.

My card is a GF2, with th latest 40.71 driver installed.

This have not been a problem in older drivers (from 2001) as I have seen. But the drivers released this summers seems to have this problem. Could this be the sideeffekt of a new way to save fillrate?

I read from the back buffer, before I swap the frames. And all of this have worked fine before, before the new drivers.

I don’t use a offscreen context or a pbuffer. Should I? I would not like to do that.

Could this be an effect of block transfer mode. Would page flipping fix this. (I have tried to fix this with GTU, but it did not have any effect.)

Have anyone had this problem? Did they find a work around?

I would like to keep the new drivers because of the nv30 emulation.


I don’t use a offscreen context or a pbuffer. Should I? I would not like to do that.

Yes, when your window frame buffer gets overlayed by other windows, the content of the by glReadPixels returned buffer for those areas is undefined.

Quote from the OpenGL 1.4 spec regarding ReadPixels, page 183:
“If any of these pixels lies outside of the
window allocated to the current GL context, the values obtained for those pixels
are undefined.”

[This message has been edited by Asgard (edited 10-03-2002).]

Yes. You need to use pBuffers for this. You will get the same error on Irix and linux as well. Its not window specific.