mirror of
https://github.com/RetroPortingToolKit/psxrecomp
synced 2026-10-26 10:19:47 -04:00
e8ad8ade3d
New always-on ring in the debug server: every vblank captures the display area's raw 15-bit pixels AND the full 1024x512 VRAM as the ACTIVE RENDERER sees it (GL: FBO truth via fbo_peek; SW: CPU truth), 64 frames of lookback. Commands: display_ring_get (frame -> PNG), display_ring_aux (frame -> raw u16 VRAM blob), display_ring_stats. Purpose: FRAME-EXACT visual forensics. screenshot_file returns whatever is on screen when the command lands (1-3 frames late), which cannot support cross-renderer same-frame comparison; the ring can. Proven use (MMX6 sprite triage): pulled the SAME deterministic frame from a GL run and a software run, micro-cosimed the suspect sprite prim from the GP0 ring against the same-frame captured texels/CLUT, and established GL and SW render the scene pixel-identically with byte-identical texture content - reclassifying the reported artifact from renderer bug to (pending Beetle oracle) game content. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>