mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-11-06 13:30:00 +00:00
#9186 and the one-fragment FMASK guard changed the guard bookkeeping that this branch moved into TargetUse. TargetUse now holds #9186's hostOnly next to the write stamp and the claim mark, and every guarded range points to it, the 8-sample FMASK range included. The one-fragment FMASK range keeps its fmask flag and gets a TargetUse of its own, but claims skip it, so it still refuses every guest access as on main. guard() returns void again; the color footprint is guardedColorBytes(), which the draw stamp also uses. A guarded access retires every overlapping range when each can retire: its samples are not host-only, another target was bound over it since its last use, or the CPU wrote the accessed bytes since then. Otherwise it refuses and retires nothing, as #9186 does. holdHostOnly also stamps a use, since a dispatch's storage view or an absorbed fill uses the target like a draw. CheckOverwrittenTarget and CheckClaimedTargets run after main's sampling test. Co-Authored-By: Claude Opus 5.5 <[email protected]>