The port's capture (patch 0031, /app0/args.txt --ps5-capture=N) wrote its PPM
at the viewport's size, but vulkan_read_viewport's synchronous readback writes
the viewport no larger than the video size. With no core loaded the video size
follows the core-provided 4:3 aspect, so at 1080p it wrote 1440-pixel rows into
a 1920-pixel-wide image (four strips a row, the top quarter black), and 2880 at
2160. The PPM now takes min(viewport, video size), as the readback does.
Verified:
rm -rf build/ra-conf; TMPDIR=build/tmp bash tools/verify.sh -> PASS (format
unit build integration evidence), build 10a24fa1 (an existing ra-conf keeps
a patch's old text while its marker is present, so the tree was recreated)
On the base PS5: args.txt --ps5-capture=600 with an appended config for
1920x1080 and a 16:9 aspect -> "viewport 1920x1080, read_viewport -> ok",
a clean 1920x1080 XMB capture (no black rows); config/retroarch.cfg
unchanged. The capture is the pre-screen's RetroArch card preview.
Evidence: evidence/capture-readback-size/ (python3 tools/evidence.py compare)