glsl: relax rule on varying matching for shaders older than 4.20
This expands on commit c54c4232. See the code comment for full justifications. At the time of the previous commit Ian wanted to limit the relaxing of the rule to GLSL 3.30 as that was the highest version of shaders seen in the wild that were having trouble with the stricter rules. However since then I've found that the long standing issue with tess shaders failing to compile in the game 'Layers Of Fear' is due to this same issue. The game uses 4.10 shaders and also makes use of explicit varying locations, so here we relax the rule to 4.20 and make sure to apply the restriction to shaders using varyings with explicit locations also. Fixes: c54c4232 ("glsl: relax rule on varying matching for shaders older than 4.00") Reviewed-by:Samuel Iglesias Gonsálvez <siglesias@igalia.com> Reviewed-by:
Matt Turner <mattst88@gmail.com> Part-of: <mesa/mesa!11873>