mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-10-16 16:00:30 +02:00
CheckDepthUsage marked the framebuffer's depth as used this frame before SetDepthFrameBuffer looked for newer depth in a framebuffer sharing it, so depth from an earlier frame never counted as newer. Brooktown High clears depth through another framebuffer as the last thing in a frame, and the next frame's draws test against it: everything failed the depth test and the hardware backends showed a black screen (#7223). Now a pass whose first depth use tests against the depth checks for newer depth first. One that only writes depth keeps the old order, so it doesn't copy what it overwrites anyway. Of the benchmark savestates, God of War and Daxter now copy depth once a frame, and God of War comes closer to the software renderer for it; Burnout and LocoRoco would have copied too without that restriction. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>