mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-26 04:10:09 +01:00
PSIZ output is only needed when: 1. There is a next stage and it reads it. 2. Primitive topology is point list, in the last vertex pipeline stage. Zink always adds this output in its vertex (and other) shaders, because it helps Zink avoid recompiling shader variants. However, this has a performance impact for RADV because it needs a scalar memory load. That becomes noticeable at high primitive rates. The Fossil stats are unremarkable because our DB doesn't include any shaders from Zink or D9VK, but there are a few affected shaders. Note that there may be an increase in LDS use in some GS. This is because with PSIZ removed the ES per-vertex LDS size is smaller, so we can squeeze more GS threads in the same workgroup. Fossil DB stats on Sienna Cichlid: Totals from 14 (0.01% of 128647) affected shaders: CodeSize: 119884 -> 119732 (-0.13%) LDS: 235008 -> 228864 (-2.61%); split: -2.83%, +0.22% Instrs: 23076 -> 23048 (-0.12%) Latency: 71667 -> 71625 (-0.06%) InvThroughput: 19155 -> 18870 (-1.49%) Copies: 1586 -> 1572 (-0.88%) Signed-off-by: Timur Kristóf <timur.kristof@gmail.com> Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10725> |
||
|---|---|---|
| .. | ||
| addrlib | ||
| ci | ||
| common | ||
| compiler | ||
| llvm | ||
| registers | ||
| vulkan | ||
| .clang-format | ||
| meson.build | ||