mesa/src/amd
Rhys Perry 82e845ba67 nir/loop_unroll: unroll more aggressively if it can improve load scheduling
Significantly improves performance of a Control compute shader. Also seems
to increase FPS at the very start of the game by ~5% (RX 580, 1080p,
medium settings, no MSAA).

fossil-db (Sienna):
Totals from 81 (0.06% of 139391) affected shaders:
SGPRs: 3848 -> 4362 (+13.36%); split: -0.99%, +14.35%
VGPRs: 4132 -> 4648 (+12.49%)
CodeSize: 275532 -> 659188 (+139.24%)
MaxWaves: 986 -> 906 (-8.11%)
Instrs: 54422 -> 126865 (+133.11%)
Cycles: 1057240 -> 750464 (-29.02%); split: -42.61%, +13.60%
VMEM: 26507 -> 61829 (+133.26%); split: +135.56%, -2.30%
SMEM: 4748 -> 5895 (+24.16%); split: +31.47%, -7.31%
VClause: 1933 -> 6802 (+251.89%); split: -0.72%, +252.61%
SClause: 1179 -> 1810 (+53.52%); split: -3.14%, +56.66%
Branches: 1174 -> 1157 (-1.45%); split: -23.94%, +22.49%
PreVGPRs: 3219 -> 3387 (+5.22%); split: -0.96%, +6.18%

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6538>
(cherry picked from commit dfe429eb41)
2021-01-13 11:24:15 -08:00
..
addrlib amd/addrlib: use cpp.has_argument() to filter compiler arguments 2021-01-05 11:29:11 +00:00
common ac/surface: store DCC mip info into the surface 2021-01-13 13:42:04 +00:00
compiler aco: remove divergent branches which only jump over very few instructions 2021-01-13 11:24:11 -08:00
llvm ac/nir: implement sparse image/texture loads 2021-01-08 14:27:07 +00:00
registers amd/registers: add missing VRS registers 2020-12-14 16:22:38 +00:00
vulkan nir/loop_unroll: unroll more aggressively if it can improve load scheduling 2021-01-13 11:24:15 -08:00
Android.addrlib.mk android: amd/addrlib: add gfx10 support 2019-07-10 09:03:55 +02:00
Android.common.mk android: amd/registers: switch to new generated register definitions 2020-09-06 20:20:34 +02:00
Android.compiler.mk android: aco/isel: Move context initialization code to a dedicated file 2020-09-14 21:26:53 +02:00
Android.mk android: aco: add support for libmesa_aco 2019-09-28 15:56:34 +02:00
Makefile.sources android: ac/radv: fix typo in ac_rgp.h listed in Makefile.sources 2021-01-09 11:15:09 +01:00
meson.build aco: add framework for unit testing 2020-07-30 16:13:08 +00:00