radv: add a workaround for DXVK hangs by setting amdgpu-skip-threshold
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Fri, 8 Jun 2018 09:38:01 +0000 (11:38 +0200)
committerSamuel Pitoiset <samuel.pitoiset@gmail.com>
Sat, 9 Jun 2018 12:16:49 +0000 (14:16 +0200)
commit135e4d434f622fa1d7275bdb72f859e1c1b1976e
tree79451e4cd26f3eb4c974b657ba44dd1dca1992e5
parent94706f0de4a0bb73634ce7333d4182559504a107
radv: add a workaround for DXVK hangs by setting amdgpu-skip-threshold

Workaround for bug in llvm that causes the GPU to hang in presence
of nested loops because there is an exec mask issue. The proper
solution is to fix LLVM but this might require a bunch of work.

This fixes a bunch of GPU hangs that happen with DXVK.

Vega10:
Totals from affected shaders:
SGPRS: 110456 -> 110456 (0.00 %)
VGPRS: 122800 -> 122800 (0.00 %)
Spilled SGPRs: 7478 -> 7478 (0.00 %)
Spilled VGPRs: 36 -> 36 (0.00 %)
Code Size: 9901104 -> 9922928 (0.22 %) bytes
Max Waves: 7143 -> 7143 (0.00 %)

Code size slightly increases because it inserts more branch
instructions but that's expected. I don't see any real performance
changes.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=105613
Cc: mesa-stable@lists.freedesktop.org
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
src/amd/vulkan/radv_shader.c