mesa/src/amd
Timur Kristóf f001515c87 aco: Use only VGPR offset on buffer atomics on GFX6-7
SGPR offset is not included in the bounds check
according to the ISA documentation of GFX6-7 and
indeed it can trigger VM faults on OOB access.

Note that ACO already doesn't use the SGPR offset
on GFX6-7 for buffer loads and stores. This commit
just does the same for buffer atomics.

This commit mitigates a ton of VM faults that are exposed by:
24e75fea4b

Fossil DB stats on Hawaii (GFX7):

Totals from 148 (0.24% of 61818) affected shaders:
Instrs: 324004 -> 327352 (+1.03%)
CodeSize: 1556468 -> 1514100 (-2.72%); split: -2.74%, +0.02%
Latency: 1271480 -> 1276894 (+0.43%)
InvThroughput: 396850 -> 397740 (+0.22%)
VClause: 6861 -> 6858 (-0.04%)
Copies: 34083 -> 37430 (+9.82%)
PreVGPRs: 5705 -> 5706 (+0.02%)
VALU: 147529 -> 150898 (+2.28%)
SALU: 98194 -> 98172 (-0.02%)

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38958>
2025-12-15 21:03:19 +00:00
..
addrlib amd: rename most GFX115x definitions for released chips 2025-12-03 13:29:07 +00:00
ci ci: Uprev GL & GLES CTS 2025-12-10 11:31:33 +00:00
common ac/nir/lower_ps_late: remove gfx6 mrtz writemask workaround 2025-12-12 17:00:51 +00:00
compiler aco: Use only VGPR offset on buffer atomics on GFX6-7 2025-12-15 21:03:19 +00:00
drm-shim amd: rename most GFX115x definitions for released chips 2025-12-03 13:29:07 +00:00
gmlib meson: Relax -Wmaybe-uninitialized errors 2025-09-16 06:16:20 +00:00
lanczoslib meson: Relax -Wmaybe-uninitialized errors 2025-09-16 06:16:20 +00:00
llvm ac/llvm/gfx6: move mrtz writemask workaround to ac_build_export 2025-12-12 17:00:51 +00:00
registers amd: Rename GFX1103_R1/R2 to PHOENIX/2 2024-11-20 02:14:40 +00:00
vpelib amd/vpelib: add FL capabilitie and lut container size 2025-09-22 10:37:22 +00:00
vulkan radv/video: Move probability table filling to bind 2025-12-15 18:49:28 +00:00
meson.build radv/tests: require drm-shim and use it instead of RADV_FORCE_FAMILY 2025-11-19 07:11:05 +00:00