mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-22 13:08:09 +02:00
Add a new special case for binary merge blocks to boolean phi lowerig. This special case benefits shaders that have divergent branches with an empty else block, for example all NGG culling shaders. Fossil DB stats on Rembrandt (NGG culling enabled): Totals from 61778 (45.79% of 134913) affected shaders: SpillVGPRs: 2268 -> 2284 (+0.71%); split: -1.10%, +1.81% CodeSize: 164317952 -> 162962772 (-0.82%); split: -0.83%, +0.00% Instrs: 31249824 -> 30910686 (-1.09%); split: -1.09%, +0.00% Latency: 154948555 -> 154781097 (-0.11%); split: -0.12%, +0.02% InvThroughput: 30397664 -> 30370872 (-0.09%); split: -0.13%, +0.04% VClause: 529239 -> 529229 (-0.00%); split: -0.00%, +0.00% SClause: 783417 -> 783430 (+0.00%) Copies: 2627570 -> 2595161 (-1.23%); split: -1.25%, +0.02% Branches: 976506 -> 976508 (+0.00%); split: -0.00%, +0.00% Fossil DB stats on GFX11 (NGG culling disabled): Totals from 895 (0.66% of 134913) affected shaders: SpillVGPRs: 2258 -> 2322 (+2.83%); split: -0.44%, +3.28% CodeSize: 6229152 -> 6215880 (-0.21%); split: -0.37%, +0.16% Scratch: 216576 -> 215808 (-0.35%); split: -0.47%, +0.12% Instrs: 1202077 -> 1198396 (-0.31%); split: -0.43%, +0.13% Latency: 15921336 -> 16000561 (+0.50%); split: -0.74%, +1.24% InvThroughput: 7425765 -> 7474891 (+0.66%); split: -0.67%, +1.33% VClause: 22976 -> 23008 (+0.14%); split: -0.03%, +0.17% SClause: 38269 -> 38271 (+0.01%) Copies: 123244 -> 123896 (+0.53%); split: -0.30%, +0.83% Branches: 47570 -> 47574 (+0.01%); split: -0.00%, +0.01% Signed-off-by: Timur Kristóf <timur.kristof@gmail.com> Reviewed-by: Daniel Schürmann <daniel@schuermann.dev> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21493> |
||
|---|---|---|
| .. | ||
| 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 | ||
| meson.build | ||