anv/nir: Unify inputs_read/outputs_written between geometry stages
authorDanylo Piliaiev <danylo.piliaiev@globallogic.com>
Mon, 27 Jul 2020 15:00:41 +0000 (18:00 +0300)
committerMarge Bot <eric+marge@anholt.net>
Wed, 12 Aug 2020 14:42:17 +0000 (14:42 +0000)
commit2701f887fc376202577ad942c20a7284b12823f3
tree61fa7a1742d0201254229d1c85c486692658f692
parent2a1217513e1c5d881718c2a7f2afb951e1fe6305
anv/nir: Unify inputs_read/outputs_written between geometry stages

inputs_read/outputs_written are used for a shader stage to
determine the layout of input and output storage. Adjacent stages must
agree on the layout, so adjacent input/output bitfields must match.

Most of the time, cross-stage optimizations make that happen anyway,
but there are some cases (with special values like clip distances and
point size) where this doesn't happen.

Fixes crashes in dEQP-VK.subgroups.*.framebuffer.*_tess_eval

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3210
Cc: <mesa-stable@lists.freedesktop.org>
Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6102>
src/intel/vulkan/anv_pipeline.c