/* Make sure the fog value is positive - values above 1.0 are ignored */
if (reg_maps->fog)
shader_addline(&buffer, "MAX result.fogcoord, TMP_FOG, 0.0;\n");
What do you mean by "values above 1.0 are ignored" ? Why does the GLSL implementation of this clamp between 0 and 1, and the ARB implementation only does a lower bound ?
(sorry, I don't remember if you responded when I asked this last time)