mirror of
https://github.com/RetroPortingToolKit/psxrecomp
synced 2026-10-26 02:11:36 -04:00
f5362f4ce9
Native-wide perf attribution instrumentation (permanent): - Each wide-mirror pass (tex-batch mirror, flat-geometry mirror, overlay full-width rect, wide_clear) is bracketed with a GL_TIMESTAMP pair (glQueryCounter; TIME_ELAPSED cannot nest inside the frame scene query). Pairs pool per buffered frame (1024/frame), summed at readback into mirror_gpu_ms + mirror_passes per sample; frame_perf now reports mirror_gpu_ms_avg/max, canon_gpu_ms_avg (scene minus mirror), mirror_passes_avg and mirror_pass_us for wide frames. - New debug cmd gl_ws_ablate mode=<0..3>: 0 normal, 1 skip mirror passes entirely, 2 mirror state churn without draws, 3 mirror draws stay on the hr FBO (no per-pass FBO rebind; content-corrupting perf probe). First MMX6 16:9 measurements with the split: mirror passes cost 20-125us EACH (FBO ping-pong penalty per pass) but MMX6 2D batches to ~3-15 passes/frame so 16:9 attract holds ~60fps on this branch; the per-pass cost x ~900 immediate flat prims is exactly the Tomba2 3D 60ms scene. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>