A set index outside 0 to 3, a set that is not registered and an option
other than null throw. The new entry says so and what the titles
checked pass for the two arguments.
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
#11854 rewrote the HDR output entry next to this PR's line in docs/dev/debt/libSceVideoOut.md. Main's entry is kept; this PR still changes only the mouse capture entry's release clause.
Co-Authored-By: Claude <[email protected]>
ntamas94 measured sceVideoOutSetFlipRate on a PS4 Pro (firmware
10.71): rate 60 returns VIDEO_OUT_ERROR_INVALID_VALUE, only 0, 1 and
2 are accepted, an unopened handle returns
VIDEO_OUT_ERROR_INVALID_HANDLE, and the range check is in the display
driver the call forwards to. Record it in the entry; the PS5 result
and the effect on queued flips stay unverified.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
The 500 ms hold and the rule that keyboard and mouse need a bound controller
in controller mode are AnyPS5 choices; the console's reaction to a removed
pad is not measured.
PC5 (PPSA11018) imports the NID and the library did not export it, so the converted executable stopped at load with error 127. The call validates the handle and index like the other cursor calls and returns 0: no cursor image is drawn, so the magnification has no observable effect. The unmeasured behaviour is recorded under Silent stubs.
The entry said a title that stops flipping never gets an answer. A dialog that
was never drawn is now dropped after three seconds with the automatic answer;
the bound is a host choice.
The key, mouse and pad inputs that drive the message dialog are a host choice.
The mouse has no hit test, and Cross confirms whatever the confirm-button
setting of the console.
The first flip after the port opens has no previous flip, and the rate
is read when a flip is submitted, so queued flips keep their rate.
Whether the console applies a new rate to queued flips is unverified.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
The entry sat under Silent stubs, but the function is implemented: the
rate it stores sets how many vblanks each flip waits for. What remains
open is whether the console accepts the rate 60 that PPSA13356 passes,
which is unknown function info.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
EVO Player and Prospero Win measured RESOURCE_BUSY on ports opened on
bus type 0. The overlay bus is unmeasured, so its on-screen set is
still released as before, which video_out_flip_overlay relies on.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
The console answers RESOURCE_BUSY (0x80290009) when the set holding
the buffer on screen is unregistered, and the set stays registered:
EVO Player measured it with a re-registration then failing
SLOT_OCCUPIED, and Prospero Win on firmware 12.02 after its flips went
idle. The set was released and 0 returned instead.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
The console answers sceVideoOutRegisterBuffers2 with SLOT_OCCUPIED
(0x80290010) when the buffer slots are still registered: EVO Player
measured it re-registering set 0 while that set stayed on screen. The
call threw INVALID_INDEX instead. The PS4 call and an occupied set over
free slots keep throwing.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
PS5_Vulkan measured on a base PS5 set to 1080p output that
sceVideoOutIsOutputSupported(15) answers 0, neither 1 nor an error, and
that sceVideoOutConfigureOutput(15) then returns 0x80290019, in a title
declaring high-frame-rate output. A host display below 120 Hz answered
0x80290016 to both instead. Titles that branch on the answer being 1
are unchanged; the undeclared-title answer stays 0x80290016.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
PS5_Vulkan measured on a PS5 (firmware 13.40) that
sceVideoOutRegisterBuffers2 refuses a set at buffers 15 to 19 with
0x80290001. The call threw instead. The other out-of-range arguments
keep throwing.
Co-Authored-By: Claude Opus 5.5 <[email protected]>