Repository navigation
fix(ngs2): return documented Delay option errors - #12107
Th3EvilGod wants to merge 4 commits into
Conversation
MarcZX10
left a comment
There was a problem hiding this comment.
The current branch merges cleanly with main, and I independently confirmed that it conflicts in docs/dev/debt/libSceNgs2.native.md with each open PR #10599 and #11315. Your integration section says the proposed landing order is not yet agreed, while the checklist says Depends on: none. CONTRIBUTING.md requires the authors to agree on which overlapping PR lands first and to record the ordering in Depends on. Please document that agreement with both authors and update the checklist before merge. This is an integration-rule blocker; the PRs can all remain open.
|
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.
|
|
@Th3EvilGod thanks for this one, and for saying plainly that the codes come from fma-rc's reading of the 12.70 module. The codes and ranges match that comment, and no option that created a rack before is rejected now. We keep tests to real behaviour and argument validation, not asserting that a case with an unknown console result throws, since that kind of test breaks the moment someone settles it. In |
|
Linux result (the description has Windows only). Setup: Ubuntu 22.04 under WSL2, GCC 11.4.0, Ninja Release, Tests:
Not tested: the other AI-assisted (Claude Code). |
6bb9fe3 to
c45a654
Compare
|
@Th3EvilGod My draft #13491 declares the separate AI-assisted: yes. |
|
@kyon-eth yes, agreed: #12107 first, then #13491 rebased with the debt entries reconciled. Please record #12107 in #13491's Depends on line while it is pending. To settle MarcZX10's earlier ordering request as well, would you also agree to #12107 before your custom Reverb PR #10599, with #10599 rebased afterward retaining both debt changes? #11315 has now merged, so its earlier conflict no longer needs a pending dependency. I am rebasing from the current published head c45a654, preserving the test cleanup requested by oneandonlydean, and rerunning the NGS2 runtime tests. I will refresh the overlap report and PR description and link the agreed ordering there. |
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
c45a654 to
7f6f787
Compare
|
Updated to 7f6f787 on main 3b0523a, retaining the published cleanup commit and its authorship. Both rebase conflicts are reconciled with main's newer registrations and debt intact. Runtime @kyon-eth the rebased head also changes the conflict premise: direct merge previews with #10599 at bc07113 and #13491 at f4b5b80 both exit 0, including the debt file. These are clean Git previews, not combined runtime tests. Our agreement that #12107 precedes #13491 is linked in the description. My request for the preferred order with #10599 remains open; I have not represented silence as agreement. #11315 is already merged. The earlier integration review is not claimed approved or resolved on another reviewer's behalf. |
Main's Custom.cpp rejects the PS5 filter struct in its PS4_LIBRARY branch, and ngs2_core_custom builds against that branch, so the new PS5 filter cases failed there. Build them only outside APS5_NGS2_PS4_LIBRARY and define it for ngs2_core_custom_tests.
✅ AMD GPU test: passedPR head
Unstable on main (1, these also failed in recent main runs on this machine; not counted against this PR)Failing on main too (2, not counted against this PR)Validated but not compared (55, not in the main baseline's validation pass)Validation IDs already present on main (8 IDs in 415 tests)Skipped (5)ReproduceAutomated 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. |
|
Hi We merged current main into this branch. Main's That leaves the PS4-library filter path without a test. A case that sends the PS4 layout there would be a welcome follow-up, but it's optional and not needed for this PR. |
What
For malformed custom Delay options, return the PS5 errors through both rack-creation APIs:
0x804A8013for option size,0x804A8095for type,0x804A8096for tap count, and0x804A8097for an out-of-range finite maximum length. The source is fma-rc's reading of PS5 12.70libSceNgs2.native.sprx, Delay setup at0x30b80, not disassembly or console measurements I performed. The constant names are local descriptive names.Keep the existing Delay creation/audio compatibility path and unsupported-path throws. Null-option processor initialization, nonfinite/reserved values, unsupported rack/state shapes and the precedence of multiple invalid payload fields remain unresolved; Delay DSP and controls remain unimplemented. The added regression checks the documented creation errors rather than asserting unknown query or failure semantics. The existing custom-rack suite now runs against both NGS2 libraries.
This update preserves the published test-cleanup commit and its authorship, including removal of the new invalid-query, negative-infinity and multiply-invalid throw assertions requested by oneandonlydean. Rebase conflicts retain main's PS4 voice-state test registration and all its PitchShift, sampler, peak-meter and debt changes; only the Delay debt entry is changed here.
Integration: no code prerequisite. #11315 is merged. The original conflicts with #10599 and #13491 are absent after this rebase: direct Git merge previews with #10599
bc07113988e1a8098d8c44cfc3f70d0fa8b40923and #13491f4b5b8040bd4629ea675379388fbe66580af161cboth exit 0. Those are merge checks, not combined runtime validation. #12107 before #13491 is agreed in Kyon's proposal and my acceptance. I also requested #12107 before #10599 in that reply; Kyon's confirmation remains pending, and no agreement or review approval is claimed for it.The refreshed overlap tool fails closed on stale branches, so it is not reported as a clean scan. I manually inspected every listed external branch: #1384 changes Reverb declarations/registration; #5548 PCM decoding notes/registration; #9149 PCM-loop debt; #10249 the Reverb/PitchShift option-word helper; #11104 pending-export debt; #11388 VAG declarations/debt; #12673 multi-buffer UserFx and Reverb. None implements these Delay errors. The #12107 row is our old published head being replaced. These unresolved automatic comparisons remain disclosed; the stale branches still need their own current-main reconciliation.
Tested
Windows 11 build 26300, AMD Ryzen 7 9800X3D, WinLibs MinGW-w64 GCC 15.2.0 r7, Release full-runtime configuration,
BUILD_TESTING=ON, pinned bundled source dependencies. Current tested head7f6f7870d22172e13e3d0ca39faae164bd54da1c, based on main3b0523ab913e8d974fdb755189634c31c60a50ce.libsand all 32 currently registered NGS2 test executables build successfully; both NGS2 modules are NID-patched.ctest --test-dir build/windows-cnd -R '^ngs2_' -V: 46/46 pass, 4.89 seconds, includingngs2_custom,ngs2_core_customand the newer sampler, PitchShift, worker/lifecycle and PS4 voice-state tests inherited from main.0x1dand literal expected error codes. It covers 26 malformed options at module positions 0, 1 and 23 in 1-, 2- and 24-module racks. Both creation APIs return the expected errors, preserve the output handle and make no allocator calls. Cases include unsigned extremes and immediately adjacent floats outside both length endpoints. A valid rack still creates after those failures.Historical regression evidence: the original new
ngs2_customfixture on unchanged main771d8b5bf7aborted withNGS2: this custom Delay module option size is not implemented. B-Howell independently reported Linux/WSL2 GCC 11.4.0 runs: both custom suites passed ten repetitions at earlier head6bb9fe3ac7merged onto6e9b9134f6, and both failed when only production was restored to main. Those are historical, attributed results, not a Linux run of this rebased head.No current-head Linux/macOS, PS5 hardware or commercial-title run, no complete repository test-suite run, and no performance claim. The PCM regression preserves host compatibility; it does not establish console-equivalent Delay processing.
Checklist
main; no other open PR implements the same functionsNotImplemented_nid_no_patch); silent stubs are listed under Silent stubs in their library's technical debt file.mdfiles or images added to the repository (attach them to this PR)