I'm using glReadPixels in my app for object picking and screen capture, and it works on all computers so far, except one. On the problem computer, glReadPixels only works intermittently. I have found that there are two conditions where glReadPixels will work correctly on this machine:

1) If I run the app in a window. In full screen, the viewport is 1690 x 984. If I reduce this to about 1592 x 930, glReadPixels will work correctly. Larger than that, and it will fail, even in a window.

2) If I place enough objects on the screen. I haven't nailed down what the threshold is, but if I put enough objects on the screen, glReadPixels starts working.

I'm pretty baffled. Has anyone experienced a problem like this? Do the workarounds I've listed suggest to anyone where things might be going wrong?