mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-16 18:00:36 +01:00
This lets us save a LOT of instructions at the cost of increased register pressure. However, on my shader-db, this is still coming out ahead since no shaders are hurt for thread count/spills, and only 1/10 of the shaders helped for instruction count are hurt for register pressure. The shaders most hurt for pressure have very low pressure (7 -> 15 is the worst case) and you need a certain number of registers to use a 4 source instruction at all. Analyzing the hurt shaders, nothing concerns me too much ... this isn't as bad as I feared. So I think at this point it's worth ripping off the bandage, given the massive potential for instruction count win. This is a big improvement for some of the shaders I'm working on for my $SECRET_PROJECT. total instructions in shared programs: 1784943 -> 1775169 (-0.55%) instructions in affected programs: 644211 -> 634437 (-1.52%) helped: 3498 HURT: 38 Instructions are helped. total bytes in shared programs: 11720734 -> 11643224 (-0.66%) bytes in affected programs: 4370986 -> 4293476 (-1.77%) helped: 3572 HURT: 36 Bytes are helped. total halfregs in shared programs: 474094 -> 475165 (0.23%) halfregs in affected programs: 12821 -> 13892 (8.35%) helped: 65 HURT: 247 Halfregs are HURT. Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25052> |
||
|---|---|---|
| .. | ||
| amd | ||
| android_stub | ||
| asahi | ||
| broadcom | ||
| c11 | ||
| compiler | ||
| drm-shim | ||
| egl | ||
| etnaviv | ||
| freedreno | ||
| gallium | ||
| gbm | ||
| getopt | ||
| glx | ||
| gtest | ||
| imagination | ||
| imgui | ||
| intel | ||
| loader | ||
| mapi | ||
| mesa | ||
| microsoft | ||
| nouveau | ||
| panfrost | ||
| tool | ||
| util | ||
| virtio | ||
| vulkan | ||
| .clang-format | ||
| meson.build | ||