radv: Corruption in "The Surge 2"
commit af81486a8cde4dec2a695884b93b282c1710d8bd (HEAD) Author: Jason Ekstrand <email@example.com> Date: Thu May 28 18:32:01 2020 -0500 spirv: Simplify our handling of NonUniform The original implementation of SPV_EXT_descriptor_indexing was extremely paranoid about the NonUniform qualifier, trying to fetch it from every possible location and propagate it through access chains etc. However, the Vulkan spec is quite nice to us on this and has very strict rules for where the NonUniform decoration has to be placed. For image and texture operations, we can search for the decoration on the spot when we process the image or texture op. For pointers, we continue putting it on the pointer but we don't bother trying to do anything silly like propagate it through casts. Reviewed-by: Caio Marcelo de Oliveira Filho <firstname.lastname@example.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5278>
I realize there is a glslang bug open for the behavior (https://github.com/KhronosGroup/glslang/issues/2357), but we actually have games using this and we should avoid regressing them.
"Detroit become human" also uses descriptor indexing, so could potentially be impacted (haven't tested yet)