mesa/src/amd
Rhys Perry fc04a2fc31 aco: take LDS into account when calculating num_waves
pipeline-db (Vega):
SGPRS: 344 -> 344 (0.00 %)
VGPRS: 424 -> 524 (23.58 %)
Spilled SGPRs: 84 -> 80 (-4.76 %)
Spilled VGPRs: 0 -> 0 (0.00 %)
Private memory VGPRs: 0 -> 0 (0.00 %)
Scratch size: 0 -> 0 (0.00 %) dwords per thread
Code Size: 52812 -> 52484 (-0.62 %) bytes
LDS: 135 -> 135 (0.00 %) blocks
Max Waves: 56 -> 53 (-5.36 %)

v2: consider WGP, rework to be clearer and apply the
    "maximum 16 workgroups per CU" limit properly
v2: use "SIMD" instead of "EU"
v2: fix spiller by introducing "Program::max_waves"
v2: rename "lds_size" to "lds_limit"
v3: make max_waves actually independant of register usage
v3: fix issue where max_waves was way too high
v3: use DIV_ROUND_UP(a, b) instead of max(a / b, 1)
v3: rename "workgroups_per_cu" to "workgroups_per_cu_wgp"
v4: fix typo from "workgroups_per_cu" rename

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev> (v3)
2019-10-23 19:11:21 +01:00
..
addrlib ac/addrlib: fix chip identification for Vega10, Arcturus, Raven2, Renoir 2019-09-23 15:14:11 -04:00
common amd/common: Add extern "C" to some headers that were missing it. 2019-10-10 09:57:52 +02:00
compiler aco: take LDS into account when calculating num_waves 2019-10-23 19:11:21 +01:00
llvm ac/llvm: fix ac_to_integer_type() for 32-bit const addr space pointers 2019-10-21 22:32:01 +02:00
registers radeonsi: adjust RB+ blend optimization settings 2019-07-30 22:06:23 -04:00
vulkan radv: round vgprs/sgprs before calculating max_waves 2019-10-23 19:11:20 +01:00
Android.addrlib.mk android: amd/addrlib: add gfx10 support 2019-07-10 09:03:55 +02:00
Android.common.mk android: amd/common: export amd/llvm headers 2019-10-14 10:46:45 +02:00
Android.compiler.mk android: aco: add support for libmesa_aco 2019-09-28 15:56:34 +02:00
Android.mk android: aco: add support for libmesa_aco 2019-09-28 15:56:34 +02:00
Makefile.sources amd: Move all amd/common code that depends on LLVM to amd/llvm. 2019-10-08 00:44:08 +00:00
meson.build amd: Move all amd/common code that depends on LLVM to amd/llvm. 2019-10-08 00:44:08 +00:00