#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]>