I have an application that seems to only ‘crash’ on a 7800 GTX and two 7900 GTX cards that I have, using all of the official and leaked drivers that I can get to work. The 7800GT and two 6800GTs that I’ve tested don’t crash.
I’ll explain why I use the term crash loosely.
The only things displayed are an ocean surface rendered with GLSL and a skybox.
When the bug manifests, it looks like every other triangle is skipped, or triangles extend to infinity. The skybox textures are corrupted with a small amount of green or pink texels. Most of the time the monitor will flicker or not recognize the video signal, followed by a BSOD and an infinite loop error in nv4_disp.dll
Sometimes after a few seconds of the triangle/texture corruption, everything clears up, with the caveat that performance is halved, usually even after an application restart.
This bug only occurs when the ocean mesh is being drawn with the GLSL vertex and pixel shaders applied, and is much more likely to happen when the mesh is rendered with VBOs or display lists.
The bug is much more likely to occur as I zoom far away from the ocean, so that more vertices visible in the viewport, OR if I scale the mesh in the vertex shader such that the triangles are very large w.r.t. to the viewport.
If I severely underclock the 7800 and 7900 GTX cards, the crash doesn’t happen. I disabled OpenGL multithreading optimizations via a registry setting, but it didn’t help.
It sounds like faulty hardware to me, but it happens on three different cards and two different boxes. (Both CPUs are Athlon X2 4400s, one with an A8N SLI Deluxe, the other with an A8N SLI 32)
I’m going post a bare bones executable that isolates the problem soon.
Any advice would be greatly appreciated.