mirror of
https://github.com/mihawk-99/PS5_RetroArch.git
synced 2026-10-18 23:09:29 -05:00
The black half-second on menu open/close, content close/load and video reinits was the driver closing VideoOut with each swapchain and switching the output 120 -> 60 -> 120 Hz. main.cpp now retains VideoOut (../PS5_Vulkan 49679c9, ps5vk_display_retain) and releases it on quit. Measured with a pad script (evidence/display-retention): menu handovers 7 ms instead of 297-344 ms, close content 280 ms and History 437 ms with the previous image on screen instead of a blank panel and a mode switch; 0 black presents; quit restores the default mode. /app0/ps5vk-no-retain.txt restores the old behaviour for comparison. Every core rechecked at 119.88 Hz on the current driver (evidence/core-recheck-current-driver): FCEUmm, Snes9x, mGBA (GBA .7z, GB), FBNeo, Genesis Plus GX (MD, SMS, GG); 1,200 frames, exit screenshot colours checked, audio errors=0, status 0. FBNeo's screenshot crashed on a null call. Patch 0086: the scaler allocated ~97 MB of intermediate frames a same-size conversion never reads, failed beside FBNeo's 170 MB core, and the screenshot called an unset converter. They are now allocated only for scaling, and a conversion that cannot be set up fails the screenshot. Patch count 188 -> 193 (0086 is five edits). Test aids: /app0/pad-script.txt (timed button presses), a crash report in trace.txt (rip, rsp, return address, stack words; the console's mcontext has rip at word 26 and rsp at 29) and the core base in the loader's ready line, which together symbolised the FBNeo crash. tools/verify.sh PASS (5 gates), 37 captures replay. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
16 lines
1.0 KiB
JSON
16 lines
1.0 KiB
JSON
{
|
|
"step": "display-retention",
|
|
"note": "RetroArch recreates its swapchain on menu open and close, close content and loading content. Before, each recreation closed VideoOut (restoring 60 Hz) and reopened it (selecting 119.88 Hz again): an output-mode switch and a blank panel every time (run B: 297-760 ms from the last present to the new swapchain, output opened each time). Retained, the same events keep the output, its mode and the previous image on screen (run A: menu 6-7 ms, close content 280 ms, run from History 437 ms, output kept every time, 0 black presents). Quitting releases it and restores the default mode (run C).",
|
|
"must_contain": [
|
|
"[ps5vk] swapchain handover: output kept, previous image on screen; 7.0 ms",
|
|
"display: VideoOut released with each swapchain (ps5vk-no-retain.txt)",
|
|
"[ps5vk] swapchain handover: output opened; 296.7 ms",
|
|
"[ps5vk] output: default mode restored",
|
|
"native quit: frontend status = 0"
|
|
],
|
|
"must_not_contain": [
|
|
"crash:"
|
|
],
|
|
"human_check": ""
|
|
}
|