Ship the pinned monochrome icons/font, refresh configure flags before builds,
and seed the title asset directory. Correct strip expansion/counts and padded
texture coordinates, populate ribbon descriptors, and retain startup asset logs.
Use single-level static images until mip-chain sampling is separately verified.
RGUI and video_ps5 remain available; PS5_Vulkan is unchanged.
The named edit count grows from 86 to 100 for these XMB changes. All five
tools/verify.sh gates pass (31 unit tests); fresh patch replay/idempotence passes.
The owner confirms flawless rendering, backed by GPU framebuffer readback.
The final normal title runs for 45 seconds with zero refusals/API failures,
loaded assets, successful presentations, and no screenshot instrumentation.
Evidence: evidence/xmb-default/{capture,expectation}.json
Reproduce: tools/verify.sh; tools/run-title.sh --no-build --watch 45;
python3 tools/evidence.py compare evidence/
1.4 KiB
Retired XMB framebuffer diagnostic
The owner authorized screenshots to diagnose XMB corruption. This hook captured swapchain frames 120 and 121 after queue idle and shader/buffer/table resources on frame 120. It is not part of the normal title: the large synchronous writes pause rendering and contaminate the frontend's refresh estimate.
To repeat: apply diagnostic.patch, copy vulkan_capture.cpp into src/, run
tools/verify.sh, then tools/run-title.sh --no-build --watch 45 on an idle
console. Retrieve gpu-target-120.bin and gpu-target-121.bin from the title's
FTP directory into ignored klog/. The captured resource filenames and byte
counts are listed in that launch's trace. XMB has no RGUI menu image, so the
zero-byte menu capture is expected. Decode the targets with
python3 parked/xmb-readback/decode-targets.py <capture-directory>.
Remove the hook/source again after diagnosis. Refresh the generated
build/ra-conf/gfx/drivers/vulkan.c from its pristine vendor counterpart, then
reapply tools/apply-port-patches.py build/ra-conf before rebuilding: the
patcher adds named edits but does not undo a retired edit automatically.
The driver debug API only reads
storage; the rendered image comes from Vulkan's swapchain, not a CPU renderer.
The original captures remain in ignored klog/xmb-capture/ and the corrected
ones in klog/xmb-textures-capture/. Evidence is in evidence/xmb-default/.