I have similar problem on GTX690.
If enable two sided lighting by
,framerate is slower from 600 FPS to 90 FPS.
When use glEnable(GL_VERTEX_PROGRAM_TWO_SIDE);
fragment shader can receive gl_Color of proper side color value.
In vertex shader, set the color to gl_FrontColor and gl_BackColor.
(The method is explained in the glsl spec.)
It works right, but speed is very slow.
So. I have changed a little bit.
In vertex shader, set the color to go_FrontColor and gl_FrontSecondryColor.
In fragment shader, set the gl_FragColor with testing gl_FrontFacing.
if(gl_FrontFacing) gl_FragColor = gl_Color; else gl_FragColor = gl_SecondryColor;
It works well and fast.
And other method is using out(vertex shader), in(fragment shader) variables instead of secondry color.
Nevertheless, I can’t find the problem with glEnable(GL_VERTEX_PROGRAM_TWO_SIDE);
I’v tested with ATI graphic card on my labtop, and found no problem.