I’m using a rather unconventional combination of GLSL, point sprites and deferred shading.
On G80+ and G200+ based GPUs, everything looks fine.
But on a GF7900 (G70 based?), something is screwed up.
First, enabling GL_POINT_SPRITE_ARB makes everything very slow if multiple render targets are active an points get rendered on pre-G80 cards (G7x and NV4x).
Second, I wondered why the normals in my GBuffer were totally screwed up. I recognized, that instead of normals I get gl_PointCoord (as a color) mapped on my points, although I do not use gl_PointCoord in the fragment shader! It seems that the driver silently overwrites my “varying vec3 v_normal” with gl_PointCoord. Is that possible?
Has anyone experienced similar problems, too?
Another thing I noticed is, that disabling GL_POINT_SPRITE_ARB does not give round spots (like the specs promise) on pre-G80 cards, instead squares are rendered. GF8 and up seem to render them properly.