mesa/src
Alyssa Rosenzweig ab2cd532ba pan/bi: Add a bundling heuristic
Pick instructions locally that are likely to minimize nop's globally.
Note the obvious greedy solution is ineffective. Instead the principle
is to choose instructions which will increase _future_ scheduler
freedom, on the assumption that means fewer nop's overall will be
needed.

There is no concern about register pressure and little concern about
message timing, since this is post-RA and message ordering was fixed.

total tuples in shared programs: 125304 -> 123770 (-1.22%)
tuples in affected programs: 88301 -> 86767 (-1.74%)
helped: 548
HURT: 198
helped stats (abs) min: 1.0 max: 31.0 x̄: 3.43 x̃: 2
helped stats (rel) min: 0.33% max: 16.67% x̄: 3.09% x̃: 2.44%
HURT stats (abs)   min: 1.0 max: 12.0 x̄: 1.73 x̃: 1
HURT stats (rel)   min: 0.27% max: 11.11% x̄: 2.82% x̃: 2.35%
95% mean confidence interval for tuples value: -2.39 -1.72
95% mean confidence interval for tuples %-change: -1.77% -1.27%
Tuples are helped.

total clauses in shared programs: 26059 -> 25655 (-1.55%)
clauses in affected programs: 10821 -> 10417 (-3.73%)
helped: 311
HURT: 42
helped stats (abs) min: 1.0 max: 6.0 x̄: 1.44 x̃: 1
helped stats (rel) min: 0.48% max: 16.00% x̄: 5.26% x̃: 5.00%
HURT stats (abs)   min: 1.0 max: 2.0 x̄: 1.05 x̃: 1
HURT stats (rel)   min: 2.13% max: 33.33% x̄: 7.49% x̃: 6.25%
95% mean confidence interval for clauses value: -1.26 -1.02
95% mean confidence interval for clauses %-change: -4.28% -3.21%
Clauses are helped.

total cycles in shared programs: 12154.79 -> 12114.83 (-0.33%)
cycles in affected programs: 1907.63 -> 1867.67 (-2.09%)
helped: 227
HURT: 99
helped stats (abs) min: 0.041665999999999315 max: 1.2083360000000027 x̄: 0.22 x̃: 0
helped stats (rel) min: 0.36% max: 20.00% x̄: 4.14% x̃: 3.85%
HURT stats (abs)   min: 0.041665999999999315 max: 0.5 x̄: 0.09 x̃: 0
HURT stats (rel)   min: 0.28% max: 9.09% x̄: 2.75% x̃: 2.63%
95% mean confidence interval for cycles value: -0.15 -0.09
95% mean confidence interval for cycles %-change: -2.51% -1.59%
Cycles are helped.

total arith in shared programs: 4658.13 -> 4603.42 (-1.17%)
arith in affected programs: 3449.83 -> 3395.12 (-1.59%)
helped: 509
HURT: 249
helped stats (abs) min: 0.041665999999999315 max: 1.2083360000000027 x̄: 0.14 x̃: 0
helped stats (rel) min: 0.36% max: 20.00% x̄: 3.56% x̃: 2.63%
HURT stats (abs)   min: 0.041665999999999315 max: 0.5 x̄: 0.07 x̃: 0
HURT stats (rel)   min: 0.28% max: 25.00% x̄: 3.32% x̃: 2.27%
95% mean confidence interval for arith value: -0.09 -0.06
95% mean confidence interval for arith %-change: -1.64% -0.97%
Arith are helped.

total quadwords in shared programs: 111394 -> 110114 (-1.15%)
quadwords in affected programs: 78074 -> 76794 (-1.64%)
helped: 503
HURT: 204
helped stats (abs) min: 1.0 max: 43.0 x̄: 3.33 x̃: 2
helped stats (rel) min: 0.41% max: 13.79% x̄: 3.02% x̃: 2.44%
HURT stats (abs)   min: 1.0 max: 26.0 x̄: 1.94 x̃: 1
HURT stats (rel)   min: 0.48% max: 7.55% x̄: 2.44% x̃: 2.22%
95% mean confidence interval for quadwords value: -2.16 -1.46
95% mean confidence interval for quadwords %-change: -1.67% -1.21%
Quadwords are helped.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10961>
2021-07-12 23:29:12 +00:00
..
amd aco/meson: remove inc_gallium from include_directories 2021-07-12 21:27:31 +00:00
android_stub egl/android: refactor to use the legit vndk/window.h header 2021-06-09 21:07:54 +00:00
asahi agx: Flip point coordinates because OpenGL 2021-07-11 22:32:41 +00:00
broadcom broadcom/compiler: fix add vs. mul 2021-07-12 11:54:03 +00:00
compiler nir/lower_subgroups: Pad ballot values before bitcasting 2021-07-09 14:21:26 +00:00
drm-shim drm-shim: fix compile with glibc >= 2.33 2021-04-20 05:49:29 +00:00
egl egl/android: restore image creation fallback path used by virgl 2021-07-09 16:18:23 +00:00
etnaviv android: Drop the Android.mk build system 2021-07-08 14:44:02 -05:00
freedreno ir3/print: Manual formatting fixups 2021-07-12 20:57:21 +00:00
gallium panfrost: Only access blitter from per-gen 2021-07-12 23:12:29 +00:00
gbm android: Drop the Android.mk build system 2021-07-08 14:44:02 -05:00
getopt scons: Remove. 2021-03-20 10:38:55 +00:00
glx glx: create DRI screen for display GPU incase of prime 2021-06-03 09:12:32 +00:00
gtest
hgl hgl: Major refactor and cleanup 2021-01-09 20:51:35 -06:00
imgui
intel intel/compiler: document register types 2021-07-12 13:27:41 +00:00
loader android: Drop the Android.mk build system 2021-07-08 14:44:02 -05:00
mapi glthread: use custom marshal/unmarshal for CallList 2021-07-09 10:05:46 +00:00
mesa gallium: explicitly specify line rasterization mode 2021-07-12 22:05:10 +00:00
microsoft nir: Drop nir_ssa_def::name and nir_register::name 2021-07-08 17:34:41 +00:00
nouveau nouveau: add drm-shim support 2021-01-11 22:45:01 +00:00
panfrost pan/bi: Add a bundling heuristic 2021-07-12 23:29:12 +00:00
tool pps: Intel pps driver 2021-05-18 14:28:48 +00:00
util util/meson: include inc_gallium 2021-07-12 18:27:57 +00:00
virtio util/idalloc: fold the size call into init 2021-07-09 10:05:46 +00:00
vulkan vulkan/wsi/wl: add wl_shm support for lavapipe. 2021-07-12 20:27:48 +00:00
meson.build panfrost: Add a Vulkan driver for Midgard/Bifrost GPUs 2021-06-22 14:07:34 +00:00