aco: don't move memory accesses to before control barriers
authorRhys Perry <pendingchaos02@gmail.com>
Tue, 4 Aug 2020 18:20:21 +0000 (19:20 +0100)
committerRhys Perry <pendingchaos02@gmail.com>
Tue, 11 Aug 2020 13:16:00 +0000 (14:16 +0100)
commit7b4c24eb679e248894751f30e2ea842dcf3f21f3
tree954719a33e4daad6a53cc3cfe5fc49c14a4cd333
parente4c6204d6595d7dc47c23ae637b8aba3307ec2cc
aco: don't move memory accesses to before control barriers

Fixes random failures of dEQP-VK.image.qualifiers.volatile.cube_array.r32i
and similar tests on Vega.

fossil-db (Navi):
Totals from 6 (0.00% of 135946) affected shaders:
VMEM: 1218 -> 1110 (-8.87%); split: +2.46%, -11.33%
SMEM: 174 -> 189 (+8.62%)
Copies: 84 -> 87 (+3.57%)

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Fixes: cd392a10d05 ('radv/aco,aco: use scoped barriers')
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6174>
src/amd/compiler/aco_scheduler.cpp