mirror of
https://github.com/RetroPortingToolKit/psxrecomp
synced 2026-10-27 18:52:11 -04:00
db01fe017e
Each mirrored batch switched to the wide surface and back, ending two Metal render passes over the hr (10240x5120 at 10x) and wide surfaces; cost grew with the allocation, so dynamic resolution's down steps did not lower it. Mirrors now ride the windowed mode's queue (one pass per wide surface, at the same sync points: uploads, pack, clears, stencil rebuilds, render-pass copies, presents and dumps). GL_LINES mirrors (1x) flush it and draw at once. Queue entries carry their scissor and palette texture. PSX_GL_WIDE_QUEUE=0 and PSX_GL_WIDE_STENCIL_FULL=1 restore the previous paths for A/B; gl_scale_invariance_test gains a "wmask" mode (wide mask stencil, centre splice on/off) and checks native VRAM, frame at S and the wide surface are identical with either off, for wmask, lines, twin and the scene at 1x/3x/9x and in the window mode. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>