This little series fixes three bugs encountered while running the Vulkan CTS with SPIR-V optimizations enabled. The optimizations shouldn't, in theory, change the behavior of the shader but it does change some of the SPIR-V patterns and triggered a number of compiler bugs. I'd like to CC the whole thing to stable but the last three patches are probably best only hitting the latest release because they're fairly major surgery.
Jason Ekstrand (5): nir/cf: Remove phi sources if needed in nir_handle_add_jump nir/from_ssa: Don't rewrite derefs destinations to registers spirv: Move function call handling to vtn_cfg spirv: Pass SSA values through functions spirv: Make images, samplers, and sampled images normal SSA values src/compiler/nir/nir_control_flow.c | 36 ++-- src/compiler/nir/nir_from_ssa.c | 6 + src/compiler/spirv/spirv_to_nir.c | 123 +++--------- src/compiler/spirv/vtn_cfg.c | 279 ++++++++++++++++++++++------ src/compiler/spirv/vtn_private.h | 9 +- src/compiler/spirv/vtn_variables.c | 51 +++-- 6 files changed, 297 insertions(+), 207 deletions(-) -- 2.17.1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev