Created attachment 138208 [details] Compute shader (SPIR-V version) Hellblade: Senua's Sacrifice (via wine+dxvk) locks up shortly after the intro videos before reaching the main menu because of an issue with the attached compute shader. Tested on an RX 480 with mesa-git (e8d9b7ab0) and LLVM 6.0.0, as well as LLVM 7.0.0-svn. The attached GLSL version of the shader can also be used to reproduce the hang when compiling it back to SPIR-V, and it contains a modified but functionally equivalent code path which works as expected.
Created attachment 138209 [details] Compute shader (GLSL version)
Created attachment 138210 [details] GPU hang report
Random guess based on the title is that it is a regression with the following LLVM commit: commit b0efc4fd6672f27ae2cbf28ef290d25a0da1dc08 Author: Alexander Timofeev <Alexander.Timofeev@amd.com> Date: Fri Dec 1 11:56:34 2017 +0000 [AMDGPU] SiFixSGPRCopies should not modify non-divergent PHI Differential revision: https://reviews.llvm.org/D40556 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@319534 91177308-0d34-0410-b5e6-96231b3b80d8 Reverting or using LLVM 5 might fix it.
Reverting that specific commit did not fix the hang. It also happens with mesa 17.3.6 and LLVM 5.0.1. Given that moving the loop counter to a separate variable fixes the hang, I wonder if this is related to https://bugs.freedesktop.org/show_bug.cgi?id=103743.
Maybe related to: https://bugs.freedesktop.org/show_bug.cgi?id=105442 ?
I can reproduce the hang with mesa-git (893e19efb74) and LLVM-git (f31b39d494d).
This also affects: - Vampyr - Tekken 7 - Final Fantasy XIV and probably more games.
Created attachment 140068 [details] [review] workaround Not the best solution but that works.
Fixed with https://cgit.freedesktop.org/mesa/mesa/commit/?id=135e4d434f622fa1d7275bdb72f859e1c1b1976e
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.