The invalid-handle assertions ran before the guarded sceVideoOutOpen, so a machine without a display failed instead of skipping. They now follow the open. ANYPS5_REQUIRE_DISPLAY still turns a missing display into a failure. The capability and ModeSetAny declarations move from the test into VideoOut.hpp.
libSceVideoOut.sprx of PS4 firmware 10.71 checks the info pointer together
with the size and returns VIDEO_OUT_ERROR_INVALID_VALUE for either, so a null
info no longer throws.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Both measured PS4 titles (CUSA04865, CUSA12435) import
sceVideoOutGetDeviceCapabilityInfo_ and sceVideoOutModeSetAny_. On a PS4
Pro with firmware 10.71 the capability call writes the 64-bit value 1 for
size 8, answers INVALID_VALUE for any other size and INVALID_HANDLE for a
closed handle; ModeSetAny_ returns nothing, stores the size in the first
word and fills the rest of the struct with 0xFF. The guest test covers the
measured rows; what the capability bit and the filled struct mean is
recorded as technical debt.
Co-Authored-By: Claude Fable 5.1 <[email protected]>