mesa/src/compiler
Rhys Perry dfe429eb41 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>
2021-01-13 18:54:18 +00:00
..
glsl glcpp: disable 'windows' tests 2021-01-12 01:51:16 +00:00
nir nir/loop_unroll: unroll more aggressively if it can improve load scheduling 2021-01-13 18:54:18 +00:00
spirv vtn: support SpvCapabilitySparseResidency 2021-01-06 20:36:38 +00:00
Android.glsl.gen.mk android: util: Move xxd.py to util 2020-10-11 23:22:34 +02:00
Android.glsl.mk
Android.mk
Android.nir.gen.mk android: spirv: fix '::' typo in gen rules 2020-12-08 22:44:23 +01:00
Android.nir.mk
builtin_type_macros.h compiler/types: Add 64-bit image types 2020-11-09 17:17:39 +00:00
glsl_types.cpp glsl: Initialize glsl_type member name. 2020-12-16 19:31:25 -08:00
glsl_types.h glsl: Fix typos in comments. 2020-12-16 02:19:56 +00:00
Makefile.sources nir: fix missing nir_lower_pntc_ytransform.c in the makefile 2021-01-04 15:37:20 +00:00
meson.build spirv: add some tests for volatile/available/visible 2020-09-01 17:15:22 +00:00
nir_types.cpp nir: Add a size_align helper function for aligning elements to 16 bytes. 2020-11-16 13:54:22 -08:00
nir_types.h nir: Add a size_align helper function for aligning elements to 16 bytes. 2020-11-16 13:54:22 -08:00
SConscript spirv: Fix building with SCons 2018-03-30 14:33:03 -06:00
SConscript.glsl util: Move xxd.py to util 2020-10-07 21:52:04 +00:00
SConscript.nir nir: use a single canonical list of intrinsic indices 2020-11-26 17:50:38 +00:00
SConscript.spirv scons: fix SPIR-V -> NIR build 2020-10-13 16:53:10 +01:00
shader_enums.c compiler/nir: introduce a new helper to get varying name 2020-12-01 08:20:38 +00:00
shader_enums.h compiler: update gl_access_qualifier comments 2020-12-09 14:41:38 +00:00
shader_info.h nir: gather whether a compute shader uses non-quad subgroup intrinsics 2021-01-07 15:01:02 +00:00