Repository navigation
fix(ngs2): use PS5 system and rack handle errors - #6348
Conversation
|
Some comparisons could not be completed because a pull request conflicts with the base branch. Review these shared files manually before concluding that there is no overlap.
|
|
Reviewed the new #6680 overlap at head The shared source edits are separate: #6680 adds report data types/registration and implements geometry application; this branch changes system/rack/voice handle-error checks. #6680 does not implement those error corrections, and this PR does not build on #6680. Existing declared dependencies are unchanged. GitHub currently marks this branch MERGEABLE against |
14bcda2 to
b4a93cd
Compare
What
NGS2 currently returns
0x804A0230for an invalid system handle and0x804A0261for an invalid rack. Use the PS5 handle-type errors0x804A8201and0x804A8202. These shared constants cover the existing system/rack validation paths in both libSceNgs2 builds.Also validate the rack before the output pointer in
sceNgs2RackGetVoiceHandle: an unknown, wrong-kind or retired rack with null output must return the rack error. A live rack with null output still returns0x804A8010; successful voice lookup is unchanged.The values follow the handle-type helper in prosper's PS5 module analysis. The lookup order/rack value are independently reported from the native export across firmware 1.00–12.70 in the #5916 review, which explicitly left this correction for a separate PR. This is source-analysis evidence, not a fresh hardware execution test by me. Other exports retain their existing validation order; full invalid-input precedence remains debt.
#5916 is now merged. This branch contains only the two follow-up commits for handle-code/precedence corrections and their tests, rebased onto main
ea4cc112a04e6144740756bcd6494bbab5377331. Published headb4a93cd91bcb953c96a20820e80a77675596449e. A merge-tree check against newer main9e9d86f81c70d5dcd58fee01c4837c18ddd8d0c8is clean. No remaining prerequisite.Tested
Rebase validation report, CTest log.
Linux x86-64, GCC, Ryzen 9 7950X:
libsand all twelve NGS2 test executables build successfully.ctest -R '^ngs2_': 12/12 pass, zero skips, 0.41 seconds, including render tests against both libSceNgs2 and libSceNgs2.native, ATRAC9, filters, custom samplers, parsing, streaming, UserFx, reports, geometry and the parent's voice-index regression.ngs2_handleerrorschecks literal PS5 error values for unknown handles, wrong-kind handles, destroyed racks/systems, rack-before-null-output precedence, preserved output sentinels and successful lookup afterwards.f7af53442cfd48caebc3477f7a09548c0a6b5496c6bf72d7b5f4ae9274085305. All faults were removed, full libraries/tests rebuilt and the final twelve-test result obtained afterwards.The fresh rebase builds full
libsand all twelve NGS2 test executables using main’s published dependency pins. The final twelve-test run passes with no skips in 0.41 seconds. Earlier negative-control results above were obtained before this rebase and were not repeated; no private dependency pin is required for the current build. No Windows execution, full CTest suite, FPS gain or additional title unblock is claimed for this follow-up. The parent #5916 is what removes DOOM's audio initialization stop.Native integration smoke test
After restoring all faults and rebuilding, a controller-driven DOOM + DOOM II PPSA21444 run entered E1M1: Hangar with the level/weapon/status bar rendered. It completed the planned 140-second watchdog (124), restored the temporary kernel setting and left no native process. Host imports remained enabled. #5916 is what removes the initialization exception; this follow-up claims no additional compatibility or FPS gain. Movement/firing and audible quality were not checked. Exact revisions, settings, limitations and completed/interrupted run accounting.
Checklist
main; prerequisite fix(ngs2): return the voice-index error from sceNgs2RackGetVoiceHandle #5916 merged, no duplicate handle-error implementation found.mdfiles or images added to the repository