Repository navigation
feat(agc-driver): report submit validation as unavailable - #2849
alfalfa-star wants to merge 2 commits into
Conversation
The submit validation mode, config and error output frequency exports return DEBUG_UNAVAILABLE (0x8A6C1000) without reading their arguments, matching sceAgcDriverIsSubmitValidationEnabled reporting validation off. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Progress report (57f96fd → e18b5ce)📈 System libraries: 84.68% (+0.16%, +5 implemented functions) ✅ 5 implemented
|
|
Which title calls these on main? With the title ID and the log line where it stops, this can go in; otherwise I'll close it until one does. |
|
Windows validation of the current head Windows 11 Pro 26220, WinLibs MinGW-w64 GCC 15.2.0 r7, Ninja, Release,
Validation run with Claude Code assistance. |
|
Windows run, since the PR has no Intel or Windows results yet: Windows 11, WinLibs GCC 15.2.0 r7, Release, merged onto
Full AI-assisted (Claude Code); I ran this on my machine. |
adriadam10
left a comment
There was a problem hiding this comment.
Code, test and TechnicalDebt line look right: the five exports return 0x8A6C1000 as OpenAGC's disassembly of a title's libSceAgcDriver.sprx shows, and guest_agc_driver_resources fails here without the change.
Open request from @oneandonlydean above, still unanswered: please add the not implemented line where a title stops on one of these five on main (title ID and log line). Without a title that reaches them this stays a stub nobody needs. Once that's posted this is ready to merge.
|
No title I can run reaches these five exports on current
I'm converting this to a draft until a title stops at it. Then I'll post the title ID and the log line and mark it ready. Tested: Linux, GCC, Release, RX 9070 XT (RADV): full AI-assisted: yes (Claude Code) |
…l bridge (#373) * Apply upstream open AGC PRs for the remaining stubbed imports Ports upstream boykopovar/AnyPS5 open PRs into core/libs/prx (libs and their tests only; docs excluded): - boykopovar#2847 DCB/ACB marker span builders - boykopovar#2848 occlusion query size queries - boykopovar#2849 submit validation reported as unavailable - boykopovar#2850 disabled shader instrumentation accepted - boykopovar#2851 GPU capture reported as unavailable, shader debugging status - boykopovar#1060 sceAgcAcquireMemSetEngine Conflicts between the PRs (Unimplemented.cpp stubs and shared test files) were resolved by keeping every change from both sides. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Port libSceAgcDriver leaf imports and remaining libSceAgc rows to the Metal bridge Binds the 35 libSceAgcDriver imports and 17 libSceAgc imports through SceAgcImports without dereferencing guest pointers on the host: - Driver leaf exports (resource registration, capture, submit validation, equeue queries) run the upstream bodies through prx bridge descriptors (upstream-prx/AgcDriver.cpp); the 7-argument registrations read user data from the caller stack. - ACB flip and rendering wait emit the Metal driver packets, as the DCB rows do. - Marker spans, occlusion sizes, shader instrumentation, AcquireMemSetEngine and branch _0300 patchers reuse upstream encoders on host copies. - GetRegisterDefaults2(+Internal) publish the upstream tables in a guest window above the gate table; Create/UpdatePrimState run on host copies of the stage type and special registers. New CTest anyps5_cpu_agc_driver_leaf is in NATIVE_REQUIRED_TESTS. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
|
Closing until a title reaches these, since none does yet. Reopen with the title ID and the log line when one stops here. |
What
Implements the five libSceAgcDriver submit validation exports that still called
NotImplemented_nid_no_patch:sceAgcDriverSetSubmitValidationMode,sceAgcDriverGetSubmitValidationModesceAgcDriverSetSubmitValidationConfig,sceAgcDriverGetSubmitValidationConfigsceAgcDriverSetValidationErrorOutputFrequencyEach returns
DEBUG_UNAVAILABLE(0x8A6C1000) without reading its arguments. This matchessceAgcDriverIsSubmitValidationEnabled, which already reports validation as off.Source: OpenAGC describes each of these exports in a title's bundled
libSceAgcDriver.sprxasmov eax, 0x8a6c1000; ret. That was not checked against a console's system module, and the parameter lists follow OpenAGC only, so both are recorded in TechnicalDebt.Tested
Linux (Arch, GCC), Release build, on
main57f96fd:guest_agc_driver_resources: calls all five, checks the error code, and checks that the mode and config outputs are left untouched and validation still reports off. It aborts without this change (exit 134).ctest: 698/698 passed (4 skipped for lack of a display).tools/check_conventions.py --base upstream/mainpassed.Checklist
main; no other open PR implements the same functionsNotImplemented_nid_no_patch); silent stubs are listed in TechnicalDebt.mdfiles or images added to the repository (attach them to this PR)DEBUG_UNAVAILABLEconstant toStatus.cppand touches the same test as feat(agc-driver): report GPU capture as unavailable #2851, so whichever merges second needs a rebase🤖 Generated with Claude Code