mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-10-22 16:43:05 -05:00
ds_add/sub/rsub/inc/dec_u64, ds_min/max_i64/u64, ds_and/or/xor/mskor_b64, ds_cmpst_b64/f64, ds_min/max_f64, their _rtn forms and ds_wrxchg_rtn_b64 threw in the decoder. LDS is a 32-bit workgroup array, so the two dwords are read and written under a lock dword placed after the guest LDS, which is cleared with a workgroup barrier at entry. The lock is acquired and released in the same loop iteration, so lanes of one subgroup cannot deadlock on it. Stages whose LDS is a function variable update it directly. 64-bit GDS atomics throw. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>