diff --git a/core/libs/prx/libSceVideoOut/InventoryExports.cpp b/core/libs/prx/libSceVideoOut/InventoryExports.cpp index e298727bb53b..77d4bde7ed95 100644 --- a/core/libs/prx/libSceVideoOut/InventoryExports.cpp +++ b/core/libs/prx/libSceVideoOut/InventoryExports.cpp @@ -1,3 +1,4 @@ +#include "prx/libSceVideoOut/include/LaterExports.hpp" #include "prx/libSceVideoOut/include/LegacyExports.hpp" #include "prx/libc/include/general/ExportMacros.hpp" #include "prx/libSceVideoOut/include/InventoryExports.hpp" @@ -827,3 +828,59 @@ int APS5_VABI sceVideoOutSetConfigurationMode() { } } + +extern "C" { + +int APS5_VABI sceVideoOutDebugLatencyMeasureGetLatestLatency() { + NotImplemented_nid_no_patch(__func__); +} + +int APS5_VABI sceVideoOutGetHandleByBus() { + NotImplemented_nid_no_patch(__func__); +} + +int APS5_VABI sceVideoOutPostProcessorAddCallback() { + NotImplemented_nid_no_patch(__func__); +} + +int APS5_VABI sceVideoOutPostProcessorRemoveCallback() { + NotImplemented_nid_no_patch(__func__); +} + +int APS5_VABI sceVideoOutSetContentDynamicRange() { + NotImplemented_nid_no_patch(__func__); +} + +int APS5_VABI sceVideoOutSysCursorSetSize() { + NotImplemented_nid_no_patch(__func__); +} + +int APS5_VABI sceVideoOutSysGetCursorInfo() { + NotImplemented_nid_no_patch(__func__); +} + +int APS5_VABI sceVideoOutSysGetMonitorInfo() { + NotImplemented_nid_no_patch(__func__); +} + +int APS5_VABI sceVideoOutSysGetOutputStatusEx() { + NotImplemented_nid_no_patch(__func__); +} + +int APS5_VABI sceVideoOutSysOpenPostProcessor() { + NotImplemented_nid_no_patch(__func__); +} + +int APS5_VABI sceVideoOutSysSetDrrPeg() { + NotImplemented_nid_no_patch(__func__); +} + +int APS5_VABI sceVideoOutSysSetDrrPegRefreshRate() { + NotImplemented_nid_no_patch(__func__); +} + +int APS5_VABI sceVideoOutSysSetVrrSetting() { + NotImplemented_nid_no_patch(__func__); +} + +} diff --git a/core/libs/prx/libSceVideoOut/include/LaterExports.hpp b/core/libs/prx/libSceVideoOut/include/LaterExports.hpp new file mode 100644 index 000000000000..7e0f2b58d93e --- /dev/null +++ b/core/libs/prx/libSceVideoOut/include/LaterExports.hpp @@ -0,0 +1,21 @@ +#pragma once + +#include "SceTypes.hpp" + +extern "C" { + +int APS5_VABI sceVideoOutDebugLatencyMeasureGetLatestLatency(); +int APS5_VABI sceVideoOutGetHandleByBus(); +int APS5_VABI sceVideoOutPostProcessorAddCallback(); +int APS5_VABI sceVideoOutPostProcessorRemoveCallback(); +int APS5_VABI sceVideoOutSetContentDynamicRange(); +int APS5_VABI sceVideoOutSysCursorSetSize(); +int APS5_VABI sceVideoOutSysGetCursorInfo(); +int APS5_VABI sceVideoOutSysGetMonitorInfo(); +int APS5_VABI sceVideoOutSysGetOutputStatusEx(); +int APS5_VABI sceVideoOutSysOpenPostProcessor(); +int APS5_VABI sceVideoOutSysSetDrrPeg(); +int APS5_VABI sceVideoOutSysSetDrrPegRefreshRate(); +int APS5_VABI sceVideoOutSysSetVrrSetting(); + +} diff --git a/core/libs/prx/libSceVideoOut/libSceVideoOut.hpp b/core/libs/prx/libSceVideoOut/libSceVideoOut.hpp index f917f95ea823..5bd2acab5485 100644 --- a/core/libs/prx/libSceVideoOut/libSceVideoOut.hpp +++ b/core/libs/prx/libSceVideoOut/libSceVideoOut.hpp @@ -6,3 +6,4 @@ #include "prx/libSceVideoOut/include/VideoOut.hpp" #include "prx/libSceVideoOut/include/InventoryExports.hpp" #include "prx/libSceVideoOut/include/LegacyExports.hpp" +#include "prx/libSceVideoOut/include/LaterExports.hpp" diff --git a/docs/dev/debt/libSceVideoOut.md b/docs/dev/debt/libSceVideoOut.md index aa0f1ae9f86b..2b66880fb044 100644 --- a/docs/dev/debt/libSceVideoOut.md +++ b/docs/dev/debt/libSceVideoOut.md @@ -251,3 +251,21 @@ - [sceVideoOutSetConfigurationMode](../../../core/libs/prx/libSceVideoOut/InventoryExports.cpp): the name hashes to NID `N1+j0RymMUQ`, a function export in both older and later version-labelled images. Its signature and behavior are unverified; this import-resolution declaration throws. - [Older callable NIDs](../../../core/libs/prx/libSceVideoOut/InventoryExports.cpp): 7 unidentified exports have unverified names, signatures and behavior. These are throwing import-resolution placeholders; no functionality is implemented. No matching NIDs were found in the later module inventory. Six use the primary library qualifier and one uses the nosubmission qualifier; qualified guest import resolution is unverified. + +- [Later callable exports](../../../core/libs/prx/libSceVideoOut/InventoryExports.cpp): 13 function exports of the primary logical library observed only in the 13.60-labelled image; no matching NIDs were found in the older inventory. Each name hashes to its NID and matches the [public symbol database](https://github.com/zecoxao/sce_symbols/blob/2883963a0a514ba6e77407a08ef4730a65e88254/aerolib.csv). Parameter lists, return types and behavior are unverified; parameterless `int` declarations are placeholders, not verified ABI contracts. Every entry throws through `NotImplemented_nid_no_patch`. `sceVideoOutSysGetMonitorInfo` is a separate export from `sceVideoOutSysGetMonitorInfo_`. `sceVideoOutDebugLatencyMeasureGetLatestLatency` is also exported under the `libSceVideoOut_nosubmission` and `libSceVideoOutLatency_nosubmission` qualifiers; qualified guest import resolution is unverified. + +| 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` |