mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-17 22:38:06 +02:00
The liveness code in ppir can be a bottleneck in complicated shaders with multiple spills, and the use of the mesa set data structure is one of the main reasons it is expensive to run. With some changes, it can be adapted to using bitsets which makes it run substantially faster. ppir liveness can't run with a regular bitset for registers since we need to track inviditual component masks for non-ssa registers, but we can switch to using a separate packed bit array just for the masks, rather than a full blown hash set. This also makes operations such as liveness propagation much more straightforward. Signed-off-by: Erico Nunes <nunes.erico@gmail.com> Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9745> |
||
|---|---|---|
| .. | ||
| amd | ||
| android_stub | ||
| broadcom | ||
| compiler | ||
| drm-shim | ||
| egl | ||
| etnaviv | ||
| freedreno | ||
| gallium | ||
| gbm | ||
| getopt | ||
| glx | ||
| gtest | ||
| hgl | ||
| imgui | ||
| intel | ||
| loader | ||
| mapi | ||
| mesa | ||
| microsoft | ||
| nouveau | ||
| panfrost | ||
| util | ||
| virtio | ||
| vulkan | ||
| meson.build | ||