Skip to content

glsl: relax rule on varying matching for shaders older than 4.20

Timothy Arceri requested to merge tarceri/mesa:relax_inout_matching into main

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")

Merge request reports