Skip to content

feat(libSceVideoOut): declare later callable exports - #15347

Merged
oneandonlydean merged 1 commit into
boykopovar:mainfrom
B-Howell:feat/videoout-1360-exports
Nov 3, 2026
Merged

oneandonlydean merged 1 commit into
boykopovar:mainfrom
B-Howell:feat/videoout-1360-exports

Conversation

@B-Howell

@B-Howell B-Howell commented Nov 3, 2026

Copy link
Copy Markdown
Contributor

What

Declare 13 named libSceVideoOut function exports found only in the 13.60-labelled image as throwing placeholders, so imports of them resolve and stop with an explicit diagnostic instead of failing at load. No matching NIDs were found in the older (3.20-labelled) inventory, so they were outside #13123 and #13629. Each name hashes to its NID with tools/nid_names.py and matches the pinned public symbol database; the image label does not authenticate a retail firmware version. Signatures and behavior are unverified and no VideoOut functionality is implemented; every entry calls NotImplemented_nid_no_patch. The new declarations follow #13629: a separate header included from libSceVideoOut.hpp, a separate extern "C" block in InventoryExports.cpp, and a debt entry listing every name and NID.

sceVideoOutSysGetMonitorInfo (WAsgAw34e1Y) is a different export from the existing sceVideoOutSysGetMonitorInfo_ (vMLWuJckGv0). sceVideoOutDebugLatencyMeasureGetLatestLatency is also exported under the libSceVideoOut_nosubmission and libSceVideoOutLatency_nosubmission qualifiers; qualified guest resolution is unverified.

Excluded: sceVideoOutCursorSetHotSpot, sceVideoOutGetDeviceCapabilityInfo_ and sceVideoOutModeSetAny_, which #13994 and #9880 declare. Eight unnamed 13.60-only NIDs of the same logical library are left for a separate change.

Name NID
sceVideoOutDebugLatencyMeasureGetLatestLatency BTawastvk7s
sceVideoOutGetHandleByBus zPVZiUbvzkg
sceVideoOutPostProcessorAddCallback -NhjL1kuqhk
sceVideoOutPostProcessorRemoveCallback 8hTZgKGL-58
sceVideoOutSetContentDynamicRange WK-TrW+vuqM
sceVideoOutSysCursorSetSize I7ms8YxoZio
sceVideoOutSysGetCursorInfo 3mh7IA9NrAI
sceVideoOutSysGetMonitorInfo WAsgAw34e1Y
sceVideoOutSysGetOutputStatusEx Z699gIW4sok
sceVideoOutSysOpenPostProcessor yvH3H30ozqU
sceVideoOutSysSetDrrPeg cFy4rRDKZjQ
sceVideoOutSysSetDrrPegRefreshRate mVJZobHnyiQ
sceVideoOutSysSetVrrSetting FL6WhOnaR4Y

Tested

Checklist

  • Based on current main; no other open PR implements the same functions
  • One topic per PR; follow-ups go in a new PR
  • No comments in code except technical debt
  • Unimplemented paths throw (NotImplemented_nid_no_patch); silent stubs are listed under Silent stubs in their library's technical debt file
  • No notes, investigation .md files or images added to the repository (attach them to this PR)
  • New third-party code is a submodule built from source
  • Generic behaviour, not specific to one title
  • Depends on: none
  • Fixes: none
  • Unblocks: none
  • GPUs tested: n/a
  • AI-assisted: yes

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Nov 3, 2026

Copy link
Copy Markdown

Progress report (7feb37e → fbd8263)

📉 System libraries: 26.36% (-0.01%, +13 declared functions)

🆕 13 declared as stubs
Library Name
libSceVideoOut sceVideoOutDebugLatencyMeasureGetLatestLatency
libSceVideoOut sceVideoOutGetHandleByBus
libSceVideoOut sceVideoOutPostProcessorAddCallback
libSceVideoOut sceVideoOutPostProcessorRemoveCallback
libSceVideoOut sceVideoOutSetContentDynamicRange
libSceVideoOut sceVideoOutSysCursorSetSize
libSceVideoOut sceVideoOutSysGetCursorInfo
libSceVideoOut sceVideoOutSysGetMonitorInfo
libSceVideoOut sceVideoOutSysGetOutputStatusEx
libSceVideoOut sceVideoOutSysOpenPostProcessor
libSceVideoOut sceVideoOutSysSetDrrPeg
libSceVideoOut sceVideoOutSysSetDrrPegRefreshRate
libSceVideoOut sceVideoOutSysSetVrrSetting

Changed libraries (implemented exports)

Library Before After Change
libSceVideoOut 55/253 (21.74%) 55/266 (20.68%) -1.06%

@MarcZX10 MarcZX10 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tests run and reviewed — approval deferred

I found no blocking defect in the four-file diff, but the required Windows workflow failed when avplayer_http_transport timed out.

What I ran

  • Reviewed all four changed files at head fbd82632e4c909faced41e85162b0ebd00b19157 against base 7feb37ee3e30e10139b483fb4df689d5b5b69ab8.
  • Environment: Debian 12 x86_64, Linux 6.1.0-54-amd64, Python 3.11.2, GCC/G++ 12.2.0.
  • The Windows 11 and WSL2 build/test results in the PR description are author-reported. I did not run those builds.
  • Commands and inspections I performed:
python3 tools/pr_precheck.py --repo boykopovar/AnyPS5 --pr 15347 --output-dir /tmp/anyps5-pr-precheck/15347-20261103
git diff --check refs/review/main-15347-20261103...refs/review/pr15347-20261103
python3 tools/check_conventions.py --base 7feb37ee3e30e10139b483fb4df689d5b5b69ab8 --head fbd82632e4c909faced41e85162b0ebd00b19157 --title 'feat(libSceVideoOut): declare later callable exports' --body /tmp/anyps5-pr-precheck/15347-20261103/pr-body.md
python3 tools/pr_abi_audit.py --base 7feb37ee3e30e10139b483fb4df689d5b5b69ab8 --head fbd82632e4c909faced41e85162b0ebd00b19157
python3 tools/nid_names.py --from-file /tmp/anyps5-pr-precheck/15347-20261103/names.txt --json
python3 /marc/AnyPS5/tools/pr_stack_check.py 15347 --repo boykopovar/AnyPS5 --output-dir /tmp/anyps5-pr-precheck/15347-20261103/stack
gh run view 41564537296 --repo boykopovar/AnyPS5 --log-failed

Results

Check Result Note
Diff and conventions passed No whitespace or convention findings
NID and source audit passed All 13 names hash to the listed NIDs
Merge preview passed Clean against current main
Hosted Windows workflow failed avplayer_http_transport timed out outside the changed files
Conditional hosted jobs not applicable Linux and specialized jobs were skipped
Local build and CTest not run PR author reports Windows and WSL runs
No-build precheck failed Isolated snapshot lacks optional ABI and test-quality helper scripts
Commands and unedited output

Precheck report summary:

# PR precheck report — checks failed
Head: fbd82632e4c909faced41e85162b0ebd00b19157
Base: 7feb37ee3e30e10139b483fb4df689d5b5b69ab8
diff_check | passed
conventions_and_pr_template | passed
changed_export_abi_audit | failed
live_dependency_and_mergeability_check | passed
build_dependent_cpp_tests | not_applicable
test_quality_heuristics | failed
negative_controls | not_applicable

The precheck helper failures are launch errors in the isolated PR snapshot, not reported code failures:

/usr/bin/python3: can't open file '/tmp/anyps5-pr-precheck/15347-20261103/head-fbd82632e4c9-7d64a803/tools/pr_abi_audit.py': [Errno 2] No such file or directory
/usr/bin/python3: can't open file '/tmp/anyps5-pr-precheck/15347-20261103/head-fbd82632e4c9-7d64a803/tools/pr_test_quality.py': [Errno 2] No such file or directory

ABI audit output:

ABI audit: passed
libSceVideoOutUnknown_0y3VgFMy99k_nid_no_patch: NID=unverified declarations=1 definitions=1 aliases=1
libSceVideoOutUnknown_1r0tse0IXgU_nid_no_patch: NID=unverified declarations=1 definitions=1 aliases=1
libSceVideoOutUnknown_32RkOEsOvQE_nid_no_patch: NID=unverified declarations=1 definitions=1 aliases=1
libSceVideoOutUnknown_3xrSV8U0Hsg_nid_no_patch: NID=unverified declarations=1 definitions=1 aliases=1
libSceVideoOutUnknown_7ZOVeum_minus_aAg_nid_no_patch: NID=unverified declarations=1 definitions=1 aliases=1
libSceVideoOutUnknown_8nnuVJFfTaM_nid_no_patch: NID=unverified declarations=1 definitions=1 aliases=1
libSceVideoOutUnknown_99wK8O6hGtY_nid_no_patch: NID=unverified declarations=1 definitions=1 aliases=1
libSceVideoOutUnknown_9ho7J3ihMlg_nid_no_patch: NID=unverified declarations=1 definitions=1 aliases=1
libSceVideoOutUnknown_BIfepC2zRH4_nid_no_patch: NID=unverified declarations=1 definitions=1 aliases=1
libSceVideoOutUnknown_Ek7XQBAkFYA_nid_no_patch: NID=unverified declarations=1 definitions=1 aliases=1
libSceVideoOutUnknown_F3cj7Bea07w_nid_no_patch: NID=unverified declarations=1 definitions=1 aliases=1
libSceVideoOutUnknown_IQMqDChUkMM_nid_no_patch: NID=unverified declarations=1 definitions=1 aliases=1
libSceVideoOutUnknown_InORxXcUzR8_nid_no_patch: NID=unverified declarations=1 definitions=1 aliases=1
libSceVideoOutUnknown_JDjWoYVTvdk_nid_no_patch: NID=unverified declarations=1 definitions=1 aliases=1
libSceVideoOutUnknown_Ji_plus_6MtHGDHU_nid_no_patch: NID=unverified declarations=1 definitions=1 aliases=1
libSceVideoOutUnknown_LMgBlt8J_plus_8A_nid_no_patch: NID=unverified declarations=1 definitions=1 aliases=1
libSceVideoOutUnknown_M4lTPTxoeN0_nid_no_patch: NID=unverified declarations=1 definitions=1 aliases=1
libSceVideoOutUnknown_MuM1bZDAvV8_nid_no_patch: NID=unverified declarations=1 definitions=1 aliases=1
libSceVideoOutUnknown_N0AyfJuu8_minus_w_nid_no_patch: NID=unverified declarations=1 definitions=1 aliases=1
libSceVideoOutUnknown_NyVCSlocu3k_nid_no_patch: NID=unverified declarations=1 definitions=1 aliases=1
libSceVideoOutUnknown_OWn_plus_sZtXKbg_nid_no_patch: NID=unverified declarations=1 definitions=1 aliases=1
libSceVideoOutUnknown_P5a32OulZQk_nid_no_patch: NID=unverified declarations=1 definitions=1 aliases=1
libSceVideoOutUnknown_P96_plus_z_minus_0vEqs_nid_no_patch: NID=unverified declarations=1 definitions=1 aliases=1
libSceVideoOutUnknown_QLfXO66LPcI_nid_no_patch: NID=unverified declarations=1 definitions=1 aliases=1
libSceVideoOutUnknown_RGGakYPkFIo_nid_no_patch: NID=unverified declarations=1 definitions=1 aliases=1
libSceVideoOutUnknown_UW7CnswVJFQ_nid_no_patch: NID=unverified declarations=1 definitions=1 aliases=1
libSceVideoOutUnknown_VKBIGfxIuAA_nid_no_patch: NID=unverified declarations=1 definitions=1 aliases=1
libSceVideoOutUnknown_Wu_plus_K43K3ToE_nid_no_patch: NID=unverified declarations=1 definitions=1 aliases=1
libSceVideoOutUnknown_XGIE4BsuS6A_nid_no_patch: NID=unverified declarations=1 definitions=1 aliases=1
libSceVideoOutUnknown__minus_5AIEU9_plus_11g_nid_no_patch: NID=unverified declarations=1 definitions=1 aliases=1
libSceVideoOutUnknown_aB6EqO5VB38_nid_no_patch: NID=unverified declarations=1 definitions=1 aliases=1
libSceVideoOutUnknown_d7eh3psk1J8_nid_no_patch: NID=unverified declarations=1 definitions=1 aliases=1
libSceVideoOutUnknown_fWJeR0LHh1s_nid_no_patch: NID=unverified declarations=1 definitions=1 aliases=1
libSceVideoOutUnknown_iUybgvm4EPM_nid_no_patch: NID=unverified declarations=1 definitions=1 aliases=1
libSceVideoOutUnknown_l_minus_NHggThj7U_nid_no_patch: NID=unverified declarations=1 definitions=1 aliases=1
libSceVideoOutUnknown_nrZ1di4tauc_nid_no_patch: NID=unverified declarations=1 definitions=1 aliases=1
libSceVideoOutUnknown_oNJ4gsibB6c_nid_no_patch: NID=unverified declarations=1 definitions=1 aliases=1
libSceVideoOutUnknown_pTxsULu4Nh0_nid_no_patch: NID=unverified declarations=1 definitions=1 aliases=1
libSceVideoOutUnknown_q9HFykGcuWU_nid_no_patch: NID=unverified declarations=1 definitions=1 aliases=1
libSceVideoOutUnknown_qWRDqFaC9GE_nid_no_patch: NID=unverified declarations=1 definitions=1 aliases=1
libSceVideoOutUnknown_tHObJYt1qSM_nid_no_patch: NID=unverified declarations=1 definitions=1 aliases=1
libSceVideoOutUnknown_udcfTO7aAyM_nid_no_patch: NID=unverified declarations=1 definitions=1 aliases=1
libSceVideoOutUnknown_v9gmbZSAovI_nid_no_patch: NID=unverified declarations=1 definitions=1 aliases=1
libSceVideoOutUnknown_vXMpe7Murfc_nid_no_patch: NID=unverified declarations=1 definitions=1 aliases=1
libSceVideoOutUnknown_wKJpFhCTrX0_nid_no_patch: NID=unverified declarations=1 definitions=1 aliases=1
libSceVideoOutUnknown_wZI4fmUJMlw_nid_no_patch: NID=unverified declarations=1 definitions=1 aliases=1
libSceVideoOutUnknown_xqlbOlrMbBs_nid_no_patch: NID=unverified declarations=1 definitions=1 aliases=1
libSceVideoOutUnknown_yGMBA0AKcgQ_nid_no_patch: NID=unverified declarations=1 definitions=1 aliases=1
libSceVideoOutUnknown_yoK0AjkkBkI_nid_no_patch: NID=unverified declarations=1 definitions=1 aliases=1
libSceVideoOutUnknown_ys239q8VgXY_nid_no_patch: NID=unverified declarations=1 definitions=1 aliases=1
sceVideoOutAddBuffer: NID=4iy9hG9Du1s declarations=1 definitions=1 aliases=0
sceVideoOutAddBuffer4k2kPrivilege: NID=twrSaoZ9cJs declarations=1 definitions=1 aliases=0
sceVideoOutAddBufferAnisoPrivilege: NID=lm+1oyWKwy0 declarations=1 definitions=1 aliases=0
sceVideoOutAddBufferHdrPrivilege: NID=VAlir52gpQI declarations=1 definitions=1 aliases=0
sceVideoOutAddBufferYccPrivilege: NID=D3s8DoEnuR4 declarations=1 definitions=1 aliases=0
sceVideoOutAddDisplayPositionEvent: NID=Cxb2w82t7lw declarations=1 definitions=1 aliases=0
sceVideoOutAddDriver: NID=HtwSd4H2Tws declarations=1 definitions=1 aliases=0
sceVideoOutAddS3dHmdPrivilege: NID=iT+aFczA7ak declarations=1 definitions=1 aliases=0
sceVideoOutAddSetModeEvent: NID=AjtlFa2HRws declarations=1 definitions=1 aliases=0
sceVideoOutAddStereoBuffer: NID=Ax1Qs3Cm95Q declarations=1 definitions=1 aliases=0
sceVideoOutAdjustColor2_: NID=8Lf4Fp1TxA0 declarations=1 definitions=1 aliases=0
sceVideoOutClearVrrMaster: NID=WnHBARNFUyw declarations=1 definitions=1 aliases=0
sceVideoOutConfigureLayout: NID=PeUUCAS9Kso declarations=1 definitions=1 aliases=0
sceVideoOutConfigureOptionsInitialize_: NID=ktP9j1fN-zE declarations=1 definitions=1 aliases=0
sceVideoOutConfigureOutputEx: NID=2CxY28ewv8g declarations=1 definitions=1 aliases=0
sceVideoOutConfigureOutputModeExSubmitDoneUnsafe_: NID=-gYpMonpw2M declarations=1 definitions=1 aliases=0
sceVideoOutConfigureOutputModeEx_: NID=lQh55Q8DUAg declarations=1 definitions=1 aliases=0
sceVideoOutConfigureOutputMode_: NID=N1bEoJ4SRw4 declarations=1 definitions=1 aliases=0
sceVideoOutControlHdcpEncryption: NID=M-JkRj7X+No declarations=1 definitions=1 aliases=0
sceVideoOutCursorIsUpdatePending: NID=HibOtezzT6M declarations=1 definitions=1 aliases=0
sceVideoOutCursorSetPositionStereo: NID=735GfVO9v2s declarations=1 definitions=1 aliases=0
sceVideoOutCurveSamplePointsCalc_: NID=kazBRXPqR7c declarations=1 definitions=1 aliases=0
sceVideoOutDebugAddVrrPrivilege: NID=rAYR4zzw414 declarations=1 definitions=1 aliases=0
sceVideoOutDebugBlankPipe: NID=-9YA0lVAq+U declarations=1 definitions=1 aliases=0
sceVideoOutDebugLatencyMeasureGetLatestLatency: NID=BTawastvk7s declarations=1 definitions=1 aliases=0
sceVideoOutDebugReadCrc: NID=4E8qvHf7Cj0 declarations=1 definitions=1 aliases=0
sceVideoOutDebugSetDrr: NID=itbQplM5K74 declarations=1 definitions=1 aliases=0
sceVideoOutDebugSetGlobalAlpha: NID=Y+0m4suevbk declarations=1 definitions=1 aliases=0
sceVideoOutDebugTriggerRefresh: NID=8ZWscRWE6-s declarations=1 definitions=1 aliases=0
sceVideoOutDeleteDisplayPositionEvent: NID=gbJ8QxXOR6g declarations=1 definitions=1 aliases=0
sceVideoOutDeleteDriver: NID=KA515kD5rAY declarations=1 definitions=1 aliases=0
sceVideoOutDeleteSetModeEvent: NID=fXCSkDTpJFg declarations=1 definitions=1 aliases=0
sceVideoOutDriverAddEvent: NID=oeNtdmvV4II declarations=1 definitions=1 aliases=0
sceVideoOutDriverDecrementBufferLabel: NID=0jGJbNTpSV4 declarations=1 definitions=1 aliases=0
sceVideoOutDriverDeleteEvent: NID=lOR+Nos+Je8 declarations=1 definitions=1 aliases=0
sceVideoOutDriverGetBufferLabelAddress: NID=NGyEl5aT4fc declarations=1 definitions=1 aliases=0
sceVideoOutDriverGetEopHandle: NID=P1bIHoga4jE declarations=1 definitions=1 aliases=0
sceVideoOutDriverGetFinishedEopHandle: NID=G6peSSDP4iA declarations=1 definitions=1 aliases=0
sceVideoOutDriverGetLatestEopHandle: NID=GL8+3RHW5vk declarations=1 definitions=1 aliases=0
sceVideoOutDriverIncrementBufferLabel: NID=Ztx4b2LhRDk declarations=1 definitions=1 aliases=0
sceVideoOutDriverResetBufferLabel: NID=soAIjspgdt8 declarations=1 definitions=1 aliases=0
sceVideoOutDriverTriggerEvent: NID=OHnnkrUcShM declarations=1 definitions=1 aliases=0
sceVideoOutGetBufferInformation: NID=5V8YGx9g0UA declarations=1 definitions=1 aliases=0
sceVideoOutGetCoredumpOutputMode: NID=IZw2TINic+0 declarations=1 definitions=1 aliases=0
sceVideoOutGetCurrentOutputMode_: NID=W0iQAbGaTBg declarations=1 definitions=1 aliases=0
sceVideoOutGetDeviceInfoExOts_: NID=p7FV-mU6EM0 declarations=1 definitions=1 aliases=0
sceVideoOutGetDeviceInfoEx_: NID=k6JLQGuPEYA declarations=1 definitions=1 aliases=0
sceVideoOutGetHandleByBus: NID=zPVZiUbvzkg declarations=1 definitions=1 aliases=0
sceVideoOutGetHdmiKsvList_: NID=hZvzQy2VLKY declarations=1 definitions=1 aliases=0
sceVideoOutGetHdmiMonitorInfoNoMask_: NID=421cr+-5Mus declarations=1 definitions=1 aliases=0
sceVideoOutGetHdmiMonitorInfo_: NID=+XlDnumvLVA declarations=1 definitions=1 aliases=0
sceVideoOutGetHdmiRawEdid_: NID=+sXvR1JH9Aw declarations=1 definitions=1 aliases=0
sceVideoOutGetMonitorInfo: NID=lafoiUl5-5U declarations=1 definitions=1 aliases=0
sceVideoOutGetOutputStatusEx: NID=HqiYk8A4mZ0 declarations=1 definitions=1 aliases=0
sceVideoOutGetPipelineStatus: NID=Ygv0S+Hi+hA declarations=1 definitions=1 aliases=0
sceVideoOutGetPortStatusInfo: NID=y4l-VBLsNio declarations=1 definitions=1 aliases=0
sceVideoOutGetPortStatusInfoByBusSpecifier_: NID=4TPW3H2f-lM declarations=1 definitions=1 aliases=0
sceVideoOutGetPortStatusInfo_: NID=SDoPm73tOyI declarations=1 definitions=1 aliases=0
sceVideoOutGetStatusForWebcore: NID=+tB28CUr9W0 declarations=1 definitions=1 aliases=0
sceVideoOutGetVideoOutModeByBusSpecifier_: NID=UazrNFzZPRU declarations=1 definitions=1 aliases=0
sceVideoOutHdmiMonitorInfoIsSupportedHdcpVersion: NID=XNtZ16LIhf0 declarations=1 definitions=1 aliases=0
sceVideoOutHdmiMonitorInfoIsSupportedVideoOutMode_: NID=WBZrUaQY+EU declarations=1 definitions=1 aliases=0
sceVideoOutLockBuffer: NID=7ifZFxWJ9Q4 declarations=1 definitions=1 aliases=0
sceVideoOutPostProcessorAddCallback: NID=-NhjL1kuqhk declarations=1 definitions=1 aliases=0
sceVideoOutPostProcessorRemoveCallback: NID=8hTZgKGL-58 declarations=1 definitions=1 aliases=0
sceVideoOutRazorAddCallback: NID=ZX7C79uOujU declarations=1 definitions=1 aliases=0
sceVideoOutRazorRecallCallbacks: NID=hGcTks-qqIU declarations=1 definitions=1 aliases=0
sceVideoOutRazorRemoveCallback: NID=zUDW7kIFclI declarations=1 definitions=1 aliases=0
sceVideoOutRegisterBufferAttribute: NID=EJQifjOp8s4 declarations=1 definitions=1 aliases=0
sceVideoOutRegisterStereoBuffers: NID=lCTCOogRbk0 declarations=1 definitions=1 aliases=0
sceVideoOutRemoveBuffer: NID=H8teLntGkWs declarations=1 definitions=1 aliases=0
sceVideoOutSetAlphaControl: NID=-zRnJ7WoWSY declarations=1 definitions=1 aliases=0
sceVideoOutSetBlankAfterResume: NID=zILy8t+5bPo declarations=1 definitions=1 aliases=0
sceVideoOutSetConfigurationMode: NID=N1+j0RymMUQ declarations=1 definitions=1 aliases=0
sceVideoOutSetContentDynamicRange: NID=WK-TrW+vuqM declarations=1 definitions=1 aliases=0
sceVideoOutSetContentType: NID=KHBNAkJhT64 declarations=1 definitions=1 aliases=0
sceVideoOutSetDisplayEventPosition: NID=18NPivA-byc declarations=1 definitions=1 aliases=0
sceVideoOutSetGamutMetadata_: NID=emayD9LHYsc declarations=1 definitions=1 aliases=0
sceVideoOutSetGlobalAlpha: NID=Ujsmw0VOqOo declarations=1 definitions=1 aliases=0
sceVideoOutSetToneMap_: NID=CxUz3nU06NE declarations=1 definitions=1 aliases=0
sceVideoOutSetVrrMaster: NID=zzi147PCXzI declarations=1 definitions=1 aliases=0
sceVideoOutSubmitChangeBufferAttribute: NID=IOdgHlCGU-k declarations=1 definitions=1 aliases=0
sceVideoOutSysAddSetModeEvent: NID=X8FN-5Nk-yE declarations=1 definitions=1 aliases=0
sceVideoOutSysAddSetModeEvent2: NID=fYWVVDKZOCk declarations=1 definitions=1 aliases=0
sceVideoOutSysAddVblankEvent: NID=Ek+VR4lcJQI declarations=1 definitions=1 aliases=0
sceVideoOutSysAddVblankEvent2: NID=Am8Hlr7tlxA declarations=1 definitions=1 aliases=0
sceVideoOutSysChangePipelineLayout: NID=7gnD2bc0zvs declarations=1 definitions=1 aliases=0
sceVideoOutSysClose: NID=dIb9LsrpkQM declarations=1 definitions=1 aliases=0
sceVideoOutSysConfigureLayout: NID=FDTOhhPHtps declarations=1 definitions=1 aliases=0
sceVideoOutSysConfigureOutput: NID=ofkhJRiQua0 declarations=1 definitions=1 aliases=0
sceVideoOutSysConfigureOutputMode: NID=ox3wD142jZQ declarations=1 definitions=1 aliases=0
sceVideoOutSysCursorSetSize: NID=I7ms8YxoZio declarations=1 definitions=1 aliases=0
sceVideoOutSysDeleteVblankEvent: NID=iwsJdAZCg34 declarations=1 definitions=1 aliases=0
sceVideoOutSysDeleteVblankEvent2: NID=2EBuouuYKgM declarations=1 definitions=1 aliases=0
sceVideoOutSysFloatPort: NID=sKtbl0gCX64 declarations=1 definitions=1 aliases=0
sceVideoOutSysGetBus: NID=7VSZJxxcTL8 declarations=1 definitions=1 aliases=0
sceVideoOutSysGetColorConversionStatus: NID=IpMhRnVgJUU declarations=1 definitions=1 aliases=0
sceVideoOutSysGetCurrentOutputMode: NID=IysRiVOGIVM declarations=1 definitions=1 aliases=0
sceVideoOutSysGetCursorInfo: NID=3mh7IA9NrAI declarations=1 definitions=1 aliases=0
sceVideoOutSysGetDeviceInfo: NID=2sgenMqwczM declarations=1 definitions=1 aliases=0
sceVideoOutSysGetFlipStatus: NID=21sS8EU45cw declarations=1 definitions=1 aliases=0
sceVideoOutSysGetKsvList: NID=Ur8iOIm0tyE declarations=1 definitions=1 aliases=0
sceVideoOutSysGetMonitorInfo: NID=WAsgAw34e1Y declarations=1 definitions=1 aliases=0
sceVideoOutSysGetMonitorInfo_: NID=vMLWuJckGv0 declarations=1 definitions=1 aliases=0
sceVideoOutSysGetOutputStatus: NID=Ip78YCQUrTo declarations=1 definitions=1 aliases=0
sceVideoOutSysGetOutputStatusEx: NID=Z699gIW4sok declarations=1 definitions=1 aliases=0
sceVideoOutSysGetPipelineStatus: NID=dFhciCfO31s declarations=1 definitions=1 aliases=0
sceVideoOutSysGetResolutionStatus: NID=8XGijEoThE0 declarations=1 definitions=1 aliases=0
sceVideoOutSysGetResolutionStatus2: NID=qLDCAl8ygCw declarations=1 definitions=1 aliases=0
sceVideoOutSysGetVblankStatus: NID=d1AjT2uZJn0 declarations=1 definitions=1 aliases=0
sceVideoOutSysGetVblankStatus2: NID=iYrCszX93AM declarations=1 definitions=1 aliases=0
sceVideoOutSysGetVideoOutModeByBusSpecifier: NID=AAELy8Yc3Mc declarations=1 definitions=1 aliases=0
sceVideoOutSysHdmiMonitorInfoIsMorpheus: NID=3-9DXFGVg0M declarations=1 definitions=1 aliases=0
sceVideoOutSysInitMode: NID=9cmjhjqa7Sg declarations=1 definitions=1 aliases=0
sceVideoOutSysIsModeS3d: NID=iUigHJ2op4M declarations=1 definitions=1 aliases=0
sceVideoOutSysIsOutputSupported: NID=Z0EyU29WqOg declarations=1 definitions=1 aliases=0
sceVideoOutSysIsSupportedByMonitorInfo_: NID=mfxElr79O7Q declarations=1 definitions=1 aliases=0
sceVideoOutSysIsUserStatusHdr: NID=q+vWPvYIh8o declarations=1 definitions=1 aliases=0
sceVideoOutSysIsUserStatusSystemDefault: NID=O57F5ikhGxo declarations=1 definitions=1 aliases=0
sceVideoOutSysIsUserStatusVr: NID=4XsQdhiOaAc declarations=1 definitions=1 aliases=0
sceVideoOutSysModeIsHdr: NID=I7-lGGvFgBM declarations=1 definitions=1 aliases=0
sceVideoOutSysModeIsSystemDefault: NID=5Y8uUbGMio0 declarations=1 definitions=1 aliases=0
sceVideoOutSysModeIsVr: NID=QEiuHxjungc declarations=1 definitions=1 aliases=0
sceVideoOutSysModeIsVrLegacy: NID=zecl8Gox+P0 declarations=1 definitions=1 aliases=0
sceVideoOutSysModeIsVrNative: NID=SgA2MtojPto declarations=1 definitions=1 aliases=0
sceVideoOutSysOpenInternal: NID=kP4l+nyBjRA declarations=1 definitions=1 aliases=0
sceVideoOutSysOpenPostProcessor: NID=yvH3H30ozqU declarations=1 definitions=1 aliases=0
sceVideoOutSysOpenVrNative: NID=WUU+ufqgLJg declarations=1 definitions=1 aliases=0
sceVideoOutSysReadCrc: NID=E8C608-pFng declarations=1 definitions=1 aliases=0
sceVideoOutSysReadCrc64: NID=eBvoaLwfBBQ declarations=1 definitions=1 aliases=0
sceVideoOutSysResetAtGpuReset: NID=djc8fOzOXxk declarations=1 definitions=1 aliases=0
sceVideoOutSysSetColorMode: NID=gqK4its31ck declarations=1 definitions=1 aliases=0
sceVideoOutSysSetDcePipeMode: NID=jvPer4hz+UU declarations=1 definitions=1 aliases=0
sceVideoOutSysSetDimmer: NID=OOF0YO73GTA declarations=1 definitions=1 aliases=0
sceVideoOutSysSetDimmer2: NID=X7tWmHNtoKg declarations=1 definitions=1 aliases=0
sceVideoOutSysSetDrrPeg: NID=cFy4rRDKZjQ declarations=1 definitions=1 aliases=0
sceVideoOutSysSetDrrPegRefreshRate: NID=mVJZobHnyiQ declarations=1 definitions=1 aliases=0
sceVideoOutSysSetHdcpEncryption: NID=kxDKWwEobyA declarations=1 definitions=1 aliases=0
sceVideoOutSysSetHdrMetadata: NID=-ka14VvHSX0 declarations=1 definitions=1 aliases=0
sceVideoOutSysSetOverscanRatio: NID=nMbAqI1ty8w declarations=1 definitions=1 aliases=0
sceVideoOutSysSetVrrSetting: NID=FL6WhOnaR4Y declarations=1 definitions=1 aliases=0
sceVideoOutSysUpdateDisplayParameter: NID=UFDoqv4XXC0 declarations=1 definitions=1 aliases=0
sceVideoOutSysUpdatePrivilege: NID=Jl91AhxKc0w declarations=1 definitions=1 aliases=0
sceVideoOutSysUpdateRenderingMode: NID=4G37EIMMD+Q declarations=1 definitions=1 aliases=0
sceVideoOutUnlockBuffer: NID=amghnA-Ev5s declarations=1 definitions=1 aliases=0
sceVideoOutUnregisterBufferAttribute: NID=SRQSpP4QK5U declarations=1 definitions=1 aliases=0
videoOutLegacyUnknown_6L0_minus_A5piudQ_nid_no_patch: NID=unverified declarations=1 definitions=1 aliases=1
videoOutLegacyUnknown_QSmT3attiVg_nid_no_patch: NID=unverified declarations=1 definitions=1 aliases=1
videoOutLegacyUnknown__plus_epU_plus_rgObyw_nid_no_patch: NID=unverified declarations=1 definitions=1 aliases=1
videoOutLegacyUnknown_ekwMB_minus_Ftq18_nid_no_patch: NID=unverified declarations=1 definitions=1 aliases=1
videoOutLegacyUnknown_fZgBeiGqE_plus_c_nid_no_patch: NID=unverified declarations=1 definitions=1 aliases=1
videoOutLegacyUnknown_spvjek0G4es_nid_no_patch: NID=unverified declarations=1 definitions=1 aliases=1
videoOutLegacyUnknown_xwhyGPZkW6w_nid_no_patch: NID=unverified declarations=1 definitions=1 aliases=1
limit: This lexical audit does not parse C++ fully, prove calling-convention or binary ABI correctness, verify runtime version tables, or replace compilation.
limit: An absent source declaration or explicit alias can be intentional for assembly exports, conditional platform code, or generated interfaces; inspect findings before treating them as defects.

NID check output:

New names checked: 13
NID database matches: 13
Mismatches: []

Windows workflow failure excerpt:

windows	Build and run changed guest core/libs tests	2026-11-03T02:23:04.7088146Z 1798/3032 Test #2370: avplayer_http_transport ...............................................***Timeout  10.06 sec
windows	Build and run changed guest core/libs tests	2026-11-03T02:25:07.5922600Z The following tests FAILED:
windows	Build and run changed guest core/libs tests	2026-11-03T02:25:07.5922855Z 	2370 - avplayer_http_transport (Timeout)

Negative control

Not run; this PR adds no tests or behavioral implementation, and a negative control would require a built test binary.

Findings

Blocking

None identified in the changed source. Approval is deferred until the failed required Windows workflow is rerun successfully or its failure is resolved.

Non-blocking

None identified.

Sources

Not verified

  • The cause and repeatability of the unrelated avplayer_http_transport timeout were not established.
  • I did not run a local build, CTest, console/title test, GPU test, or binary export-table inspection.
  • Linux, relinker, relinker-ASan, register-context, edge-watch and write-watch hosted jobs were skipped.
  • The ABI helper is lexical and cannot verify runtime ABI or the claimed qualified guest-import resolution.

To get this to a good state

Rerun the Windows workflow and investigate avplayer_http_transport if it fails again. Once the required workflow is green, I will verify the exact head and CI again and then decide whether to approve; if the head changes, I will rerun the applicable no-build checks.

@TechLevelZero

Copy link
Copy Markdown
Contributor

✅ AMD GPU test: passed

PR head fbd8263 merged onto main 7feb37e · tested 2026-11-03 03:00 UTC · 16 min

GPU AMD Radeon RX 6300 (RADV NAVI24), driver Mesa 25.2.8-0ubuntu0.24.04.4, Vulkan 1.4.318
Host Ubuntu 26.04.1 LTS, kernel 7.0.0-42-generic, container ubuntu:24.04
Logs build and test logs for this run
Build ✅ passed (Release, -DANYPS5_ENABLE_SPIRV_TOOLS=ON)
Tests ✅ 1,123 passed · 4 failed (0 new, 3 also fail on main, 1 unstable on main) · 7 skipped (ANYPS5_REQUIRE_VULKAN=1)
Test setup CPU-only tests without a GPU; GPU tests (and any CPU-only test that failed or skipped without one) once on the GPU with VK_LAYER_KHRONOS_validation and ANYPS5_NO_SHADER_CACHE=1; main ran the same way
Test selection 1,134 of 3,743 tests run: the ones this change can reach, chosen by tools/select_tests.py from main's build graph
Vulkan validation ✅ no new validation IDs vs main (538 tests run on the GPU)
Slow tests (>30 s, GPU tests timed with validation layers) ⚠️ agc_driver_pipeline_journal 120.2 s, ⚠️ agc_driver_image_sample_unnormalized 54.1 s, ⚠️ public_headers 50.2 s, ⚠️ agc_driver_lazy_resolved_abi 42.9 s, ⚠️ agc_driver_sample_multisample_target 40.4 s
Unstable on main (1, these also failed in recent main runs on this machine; not counted against this PR)
agc_driver_pipeline_journal: failed in 5 of the last 7 main runs
Failing on main too (3, not counted against this PR)
agc_driver_image_table
agc_driver_native_depth_bda_clear
agc_driver_native_multisample_depth
Validation IDs already present on main (4 IDs in 461 tests)
VUID-VkDeviceCreateInfo-pNext-pNext (461 tests): agc_driver_address_passes, agc_driver_alias_copy_label, agc_driver_alpha_to_coverage, agc_driver_array_layer_target, agc_driver_bc_block_copy, agc_driver_bda_anchor_reads, agc_driver_bda_span_reads, agc_driver_bindless_images, and 453 more
VUID-vkCmdCopyImage-srcImage-01548 (7 tests): agc_driver_depth_clear_hle, agc_driver_depth_plane_buffer_memory, agc_driver_depth_plane_partial_store, agc_driver_depth_storage_dispatch, agc_driver_depth_surface_from_storage, agc_driver_dispatch_move_depth, agc_driver_stencil_null_feedback
VUID-vkCmdCopyImage-srcImage-01551 (7 tests): agc_driver_depth_clear_hle, agc_driver_depth_plane_buffer_memory, agc_driver_depth_plane_partial_store, agc_driver_depth_storage_dispatch, agc_driver_depth_surface_from_storage, agc_driver_dispatch_move_depth, agc_driver_stencil_null_feedback
VUID-VkPipelineColorBlendStateCreateInfo-pAttachments-00605 (1 test): agc_driver_srgb8_color_target
Skipped (7)
agc_driver_copied_writer_label_order: skipped, the device reports a minStorageBufferOffsetAlignment of 4, so the dispatch binds its record at +0x1004 in place and nothing is written back; the test needs an alignment above 4
agc_driver_float16_unused_nan_payloads: skipped, the device has no native f16 conversions with RTE rounding and kept f16 denormals
agc_driver_linear_target_direct_write_completion: skipped, the device does not keep host imports write-watched, so no completion stamp over the target is tracked
agc_driver_ngg_vertex_wave_reduction: skipped, s3 describes a 32-lane wave only on 32-lane subgroups, and the device has 64 lanes
agc_driver_scattered_runs: skipped, host imports are unavailable: /dev/udmabuf is not accessible
agc_driver_sparse_dma_buf_import: skipped, host imports are unavailable: /dev/udmabuf is not accessible
Reproduce
git fetch origin fbd82632e4c909faced41e85162b0ebd00b19157 7feb37ee3e30e10139b483fb4df689d5b5b69ab8
git checkout 7feb37ee3e30e10139b483fb4df689d5b5b69ab8 && git merge --no-ff fbd82632e4c909faced41e85162b0ebd00b19157
git submodule update --init --recursive
cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=ON -DANYPS5_ENABLE_SPIRV_TOOLS=ON
cmake --build build && cmake --build build --target libs
VK_DRIVER_FILES=/nonexistent/icd.json ctest --test-dir build -E '^(agc|shader|recompiler|videoout|video_out|guest_video_out|vulkan)|gpu' --timeout 120 --parallel 12 --output-on-failure
ANYPS5_REQUIRE_VULKAN=1 ANYPS5_NO_SHADER_CACHE=1 VK_INSTANCE_LAYERS=VK_LAYER_KHRONOS_validation \
  ctest --test-dir build -R '^(agc|shader|recompiler|videoout|video_out|guest_video_out|vulkan)|gpu' --timeout 120 --parallel 16 --output-on-failure
# failures are then re-run alone: --timeout 360 --parallel 2; new validation IDs: the test alone, twice, --parallel 1

Automated build and test on a contributor's AMD machine; it does not replace upstream CI. A new comment is posted for each new push. Full logs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants