mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-11-01 12:45:56 +00:00
- MarkDrawn registers the scissor while any layer is pending instead of while the image is dirty. A flush on another thread can take the image out of the pending set between MarkSliceDirty and the registration; layerPending changes only under the GPU lock, so the flusher, which reads the drawn area after taking that lock, stores the widened area. - AccessKeptByCpu no longer skips or evicts a drawn target. Its store writes CPU-stamped blocks inside the drawn rectangle, so the hook's CPU-kept rule would drop the draw's results. - A drawn target that is stored whole keeps main's rule that CPU-written 64 KiB blocks stay the CPU's. - A linear target that is no longer cached is stored after its draw, as before: the pending registry holds raw pointers. - LinearTargetCompletionPoints skips without host import, where the target is never resident. LinearTargetCpuWrites adds a driver read of the target between the CPU stores and the store. Co-Authored-By: Claude <[email protected]>