mirror of
https://github.com/tangerineturtle1/NX2navi.git
synced 2026-11-15 19:19:58 -04:00
The float atomic add's compare-and-swap loop (patch 0033) carried its expected value round the loop in a local, but the pass runs on SSA form and the optimizer's copy propagation takes every value as assigned once, so the loop compared against a stale value and the froxel fog added up wrong: Kokiri Forest was washed out white. Each attempt now reads the word with an atomic OR of 0, which also cannot return a stale cached copy. Writes through the device address table go to the guest copy for stores only (patch 0034). An atomic on the guest copy started from its stale value, so a counter the GPU reset with a buffer fill kept counting there, and the page's next sync copied the wrong count into the mirror: culled foliage drew garbage for a frame. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2 lines
6 B
Plaintext
2 lines
6 B
Plaintext
0.5.0
|