Commit Graph
23 Commits
Author SHA1 Message Date
Dean 66beccdd49 Merge pull request #10944 from ahmadmuj/fix/anyps5-unbuilt-split-exports
fix(prx): build and export the stubs that eight libraries never shipped
2026-10-27 10:56:58 +13:00
Ahmad Mujahid d7b1c96333 Merge remote-tracking branch 'origin/main' into fix/anyps5-unbuilt-split-exports 2026-10-26 18:33:16 +04:00
Felipebmaitan c40ba98945 test(ngs2): stop asserting unimplemented audio behavior 2026-10-26 09:04:33 -03:00
Felipebmaitan 0c3f104067 chore(ngs2): merge current main for audio routing 2026-10-26 09:03:02 -03:00
Felipebmaitan 08587dfa7e feat(ngs2): play additional PCM sampler formats 2026-10-25 13:40:18 -03:00
Ahmad Mujahid 11b193cf35 fix(prx): build and export the stubs that eight libraries never shipped
The 2026-10-21 split PRs added Export.cpp stub files to seven libraries
that have their own CMakeLists.txt, so core/libs/CMakeLists.txt never
adds Export.cpp for them and no target compiled the 101 stubs. A title
that imports one fails to load instead of throwing on the call.

Ngs2, Ngs2.native and AvPlayer.native build with hidden visibility, so
their stub files also need default visibility. libSceNgs2 already
compiled PendingExports.cpp, but its 6 stubs stayed local.
2026-10-25 15:10:46 +04:00
Felipebmaitan 2da1332bff test(ngs2): expose callback route mutation 2026-10-25 01:50:47 -03:00
Felipebmaitan 93b887e514 feat(ngs2): route custom submixer buffers through Gain 2026-10-25 01:34:10 -03:00
boykopovar f38d29fd08 refactor(sdk): add canonical headers for remaining libraries 2026-10-24 23:17:42 +03:00
Arnab Ghosh 1f1ddc9e3a feat(libSceNgs2): implement sceNgs2VoiceGetMatrixInfo and sceNgs2CustomRackGetModuleInfo 2026-10-23 10:50:00 +06:00
Federico Marras e556f153ef Merge remote-tracking branch 'upstream/main' into feat/ngs2-waveform-frame-info
# Conflicts:
#	docs/dev/debt/libSceNgs2.md
2026-10-21 14:15:23 +02:00
Federico Marras 15c0a386be Merge remote-tracking branch 'upstream/main' into feat/ngs2-waveform-frame-info
# Conflicts:
#	docs/dev/debt/libSceNgs2.md
#	docs/dev/debt/libSceNgs2.native.md
2026-10-21 12:57:17 +02:00
Federico Marras c8e99c7f71 Merge remote-tracking branch 'upstream/main' into feat/ngs2-voice-owner
# Conflicts:
#	docs/dev/debt/libSceNgs2.md
2026-10-21 12:56:14 +02:00
Federico Marras dd482733e5 feat(libSceNgs2): report the frame layout of a PCM waveform in sceNgs2GetWaveformFrameInfo 2026-10-20 17:14:56 +02:00
Federico Marras bd1cbb90de feat(libSceNgs2): report the rack and index that own a voice in sceNgs2VoiceGetOwner 2026-10-20 12:10:02 +02:00
Federico Marras 2b633ab57d feat(libSceNgs2): keep caller data on racks with sceNgs2RackSetUserData and sceNgs2RackGetUserData 2026-10-20 12:03:19 +02:00
juanpimg 2f0ed638dc feat(prx): declare the missing PS5 3.20 system exports
AnyPS5 resolves a title's imports by NID, so a title that imports a system
function no library provides fails to load with an unresolved import. The
PS5 3.20 export inventory lists 193 such exports across 37 PS5 system
libraries AnyPS5 implements but does not provide.

Declare them as throwing stubs so those titles load and reach their next
blocker. Each declaration calls NotImplemented_nid_no_patch and returns 0;
none of them implements the function. Declarations with a credible
prototype use it and cite the source with a pinned commit, and the rest
are declared without parameters, which resolves the import without making
an ABI claim. The technical-debt files record the limitation per library.

libSceMbus and libSceSystemService are left out because pull request #7821
declares them. libSceAgc is left out because its exports are versioned, so
the 3.20 NID names a different symbol from the one AnyPS5 ships.
libSceAvPlayer.native is left out because it compiles libSceAvPlayer's
Export.cpp.

Names and NIDs come from the PS5 3.20 export inventory at
https://github.com/DNNDHH/PS5-3.20_Libs/tree/b2a77c09cd71c01f34c790cfbe98c751a13262ad
2026-10-19 23:16:55 +02:00
Claude 121d9332b5 build(libs): strip the MinGW static runtime flags once for all libraries
Every library CMakeLists.txt ended with the same block removing -static,
-static-libgcc and -static-libstdc++ from CMAKE_EXE_LINKER_FLAGS on MinGW,
because core/libs/CMakeLists.txt only removed them after adding the library
directories. Remove them before the libc and library directories are added
so each directory inherits the stripped flags, and drop the 52 copies.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
Claude-Session: https://claude.ai/code/session_017pTZqAyVSZy2FZmaqakPHZ
2026-10-07 10:10:38 +00:00
JAB-devandClaude Opus 5.5 687be1fbc8 feat(libSceNgs2): build libSceNgs2 from the libSceNgs2.native implementation
PPSA22520 lists libSceNgs2.prx, not libSceNgs2.native.prx, among its needed
modules, so its NGS2 imports did not resolve against the dummy module. Both
modules are now built by add_sce_ngs2_library from the same sources, as
libSceFont and libSceFont.native share add_sce_font_library, and the render
tests also run against libSceNgs2.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-06 22:21:29 +02:00
Adrià FranchandClaude 90295d3733 feat(libSceNgs2.native): implement system, racks, voices and PCM rendering
libSceNgs2 keeps its stubs; its types now come from the .native header.

Co-Authored-By: Claude <[email protected]>
2026-10-02 09:24:46 +02:00
boykopovar abc72da741 feat(libs): define vabi macros + add to declarations 2026-09-10 08:07:03 +03:00
boykopovar 6123893998 feat(libs): throw not impl ex in every stub 2026-09-06 15:05:04 +03:00
boykopovar 59bee8d187 feat(libs): add libs function signatures 2026-08-20 23:18:16 +03:00