Files
K11MCH1 df71d39bda Keep the 32-bit SSBO offset wrap and the A8XX buffer descriptor size (#13)
nir/0001 (by K11MCH1): with offset_shift, NIR scales the array stride
down before the multiply, so the 32-bit byte offset no longer wraps.
vkd3d-proton's UE5 Nanite cluster culling stores hardware-raster
clusters at uvec2 index 0x1fffffff - k + MaxVisibleClusters, which
Turnip turned into an offset 4 GiB past the binding, and every store
was dropped: Nanite surfaces went missing (Lords of the Fallen 2023).
Adreno 840: a store test went from 0/64 to 64/64, and a replayed frame
from 0/1100 to 1100/1100 cluster records.

fdl/0001 (by airidosas252): A8XX buffer descriptors wrote the element
count as WIDTH | HEIGHT, which wraps at 2^30 elements; use the 32-bit
NUM_ELEMENTS field. 8-bit reads past 1 GiB and a 2 GiB binding (UE 5.5+
Nanite streaming pool) returned 0 before and are correct after.

Both apply to Mesa main fd8ef2b for android and linux, and the Linux
driver builds.
2026-10-31 09:25:10 -04:00
..