aco: don't move exec reads around exec writes
authorRhys Perry <pendingchaos02@gmail.com>
Fri, 11 Feb 2022 19:19:45 +0000 (19:19 +0000)
committerMarge Bot <emma+marge@anholt.net>
Wed, 26 Apr 2023 13:16:00 +0000 (13:16 +0000)
commit5e20fbd424543d2c919c8baae247f0d909659640
tree69a769d2863d604b9f955ed3edc1a5b335e093ab
parent2c7734404843486f1fc13675c9a04f83efd0e8fc
aco: don't move exec reads around exec writes

Fixes flickering and blocky plants in Jedi: Fallen Order.

Also fixes flickering squares in The Last of Us Part 1.

fossil-db (navi21):
Totals from 92 (0.07% of 135636) affected shaders:
Instrs: 35324 -> 35354 (+0.08%); split: -0.03%, +0.11%
CodeSize: 189568 -> 189668 (+0.05%); split: -0.03%, +0.08%
Latency: 345305 -> 346529 (+0.35%); split: -0.02%, +0.37%
InvThroughput: 78632 -> 78625 (-0.01%)
SClause: 1955 -> 1972 (+0.87%); split: -0.61%, +1.48%
Copies: 1311 -> 1304 (-0.53%); split: -0.69%, +0.15%

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8883
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8878
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22696>
src/amd/compiler/aco_scheduler.cpp