mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-26 04:10:09 +01:00
Currently spilling code operates on individual ops rather than on instructions, and as a result it may create a redundant load_temp op if an instruction references spilling register several times. Similarly, it creates multiple stores if there are multiple ops in the instruction that write different components of the register. Check whether the instruction already contains a necessary load_temp or store_temp and reuse it if possible. shader-db: total instructions in shared programs: 27718 -> 27673 (-0.16%) instructions in affected programs: 2786 -> 2741 (-1.62%) helped: 18 HURT: 0 helped stats (abs) min: 1 max: 8 x̄: 2.50 x̃: 1 helped stats (rel) min: 0.39% max: 5.33% x̄: 2.05% x̃: 0.80% 95% mean confidence interval for instructions value: -3.70 -1.30 95% mean confidence interval for instructions %-change: -3.09% -1.01% Instructions are helped. total loops in shared programs: 4 -> 4 (0.00%) loops in affected programs: 0 -> 0 helped: 0 HURT: 0 total spills in shared programs: 390 -> 381 (-2.31%) spills in affected programs: 145 -> 136 (-6.21%) helped: 9 HURT: 0 total fills in shared programs: 1210 -> 1174 (-2.98%) fills in affected programs: 149 -> 113 (-24.16%) helped: 9 HURT: 0 LOST: 0 GAINED: 0 Reviewed-by: Erico Nunes <nunes.erico@gmail.com> Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33753> |
||
|---|---|---|
| .. | ||
| amd | ||
| android_stub | ||
| asahi | ||
| broadcom | ||
| c11 | ||
| compiler | ||
| drm-shim | ||
| egl | ||
| etnaviv | ||
| freedreno | ||
| gallium | ||
| gbm | ||
| getopt | ||
| gfxstream | ||
| glx | ||
| gtest | ||
| imagination | ||
| imgui | ||
| intel | ||
| loader | ||
| mapi | ||
| mesa | ||
| microsoft | ||
| nouveau | ||
| panfrost | ||
| tool | ||
| util | ||
| virtio | ||
| vulkan | ||
| x11 | ||
| .clang-format | ||
| meson.build | ||