Created attachment 46715 [details]
The Norsetto shadow mapping demo fails to compile one of the shaders with a "type mismatch" error. This was working back in 2009, so I guess it's a problem with the rewritten GLSL compiler.
The failing shader is attached.
I guess the problem is:
offset.y = 0;
But it should be:
offset.y = 0.0;
It looks like a bug in the demo.
True, it does run with this small change. I don't have any other GL implementations to compare with, but I guess they are more forgiving with these errors.
Yep, that's the issue. The GLSL 1.10 specification, Chapter 4, explicitly states "There are no implicit conversions between types."
Another alternative is to use #version 120. GLSL >= 1.20 supports implicit conversions and would be perfectly okay with that line. There's really no reason not to use 1.20 at this point.