mesa/src/compiler
Timothy Arceri 0e0633ca49 glsl: relax rule on varying matching for shaders older than 4.20
This expands on commit c54c42321e. 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: c54c42321e ("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: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11873>
2021-07-23 03:06:26 +00:00
..
glsl glsl: relax rule on varying matching for shaders older than 4.20 2021-07-23 03:06:26 +00:00
nir nir/lower_tex: Add a lower_txs_cube_array option 2021-07-22 14:22:35 -05:00
spirv spirv: Implement SPV_EXT_shader_atomic_float16_add 2021-07-21 20:15:21 +00:00
builtin_type_macros.h compiler/types: Add 64-bit image types 2020-11-09 17:17:39 +00:00
glsl_types.cpp glsl: add missing support for explicit components in interface blocks 2021-05-13 08:07:53 +00:00
glsl_types.h glsl: add missing support for explicit components in interface blocks 2021-05-13 08:07:53 +00:00
meson.build spirv: add some tests for volatile/available/visible 2020-09-01 17:15:22 +00:00
nir_types.cpp nir: Add a size_align helper function for aligning elements to 16 bytes. 2020-11-16 13:54:22 -08:00
nir_types.h nir: Add a size_align helper function for aligning elements to 16 bytes. 2020-11-16 13:54:22 -08:00
shader_enums.c nir: Rename WORK_GROUP (and similar) to WORKGROUP 2021-06-07 22:34:42 +00:00
shader_enums.h shader_enums: change VERT_BIT back to the 32-bit shift 2021-06-16 21:45:57 +00:00
shader_info.h spirv: Implement SPV_EXT_shader_atomic_float16_add 2021-07-21 20:15:21 +00:00