Commit Graph
20967 Commits
Author SHA1 Message Date
xdCloudy 5b924dc09a feat(libSceXml): declare pending exports 2026-10-27 19:57:19 +13:00
xdCloudy 90ac7f3100 feat(libSceNpCommon): declare 150 additional PS5 exports 2026-10-27 19:57:19 +13:00
xdCloudy 834739e3fd feat(libSceCommonDialog): declare pending exports 2026-10-27 19:57:19 +13:00
xdCloudy 458a997895 docs: distinguish known exports from unverified ABI 2026-10-27 19:57:19 +13:00
xdCloudy 2e2e6f2775 feat(libSceIcu): declare 150 PS5 3.20 exports 2026-10-27 19:57:19 +13:00
iAbdulrrahman c8b4b292a9 feat(libkernel_sys): implement genuine console and platform identity queries 2026-10-27 09:55:24 +03:00
Daniel Castrillon ac9af0579f chore(shader): sync GPU validation base with upstream main 2026-10-27 01:54:04 -05:00
Adrià Franch e327745137 fix(web): restore LF line endings in app.mjs 2026-10-27 07:52:39 +01:00
ebosido444-ai 638d81581c test(web): ship failure-report.mjs with the web release
The module is imported by app.mjs, so the release archive and its fixture have to carry it; the packaging test listed it as missing.
2026-10-27 07:52:34 +01:00
ebosido444-ai 6252b18b81 fix(web): keep the failure report with a failed conversion
A failed inspect or conversion hid the progress panel that held the
conversion log, cleared the selected archives and showed a single line,
so the only evidence of the failure was gone and a multi-GB input had to
be picked again. Compose the message with the phase, the current input,
the target, the libraries tag and the last 150 log lines, and show it in
the error box under "Failure details" so it can be copied into a report.

The report is a pure function in failure-report.mjs and is covered by
node tests.
2026-10-27 07:52:34 +01:00
milescovielloandClaude Opus 5.5 d386018d18 docs(libSceSaveData.native): scope the result checks to the instructions after each call
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-27 06:47:46 +00:00
Adrià FranchandClaude Sonnet 5.5 7bc24e2311 docs(libSceNpUniversalDataSystem): link CreateHandle to Handle.cpp
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-27 07:47:28 +01:00
lakhantheboss 592736d284 fix(libSceNpUniversalDataSystem): restore unknown null argument behavior 2026-10-27 07:47:23 +01:00
lakhantheboss 160a32416d docs(libSceNpUniversalDataSystem): record unverified null argument behavior 2026-10-27 07:47:22 +01:00
lakhantheboss 26f2bcb33c fix(libSceNpUniversalDataSystem): return errors for null arguments 2026-10-27 07:47:22 +01:00
milescovielloandClaude Opus 5.5 f198f05547 docs(libkernel): scope the sceKernelVirtualQuery reads to the inspected instructions
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-27 06:47:14 +00:00
milescovielloandClaude Opus 5.5 0f9133b769 docs(libSceAudioOut): scope the context attribute stub to valid arguments
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-27 06:46:52 +00:00
hugodearaujo b9f4f65904 fix(shader): encode both new image fields under disk cache format 49
main took format 48 and a 45th ImageResource field (optionalDescriptor) with #8077; the merge kept both sides's 48 and 44.
2026-10-27 03:46:24 -03:00
hugodearaujo 5a5e54a455 Merge main into fix/agc-short-cube-sampling 2026-10-27 03:46:24 -03:00
PrivacyOnion a9d7b30994 test(libScePlayerReviewDialog): cover mode 1 parameter and null result in initialized state in GuestPlayerReviewDialog 2026-10-27 07:46:08 +01:00
Adrià 951e5963a4 Merge pull request #11718 from MarcZX10/marc/fix-macos-unwind-test-header
test(libkernel): use the libkernel public header in the macOS unwind module info test
2026-10-27 07:44:38 +01:00
Rookie 0a1ee9fd20 test(libSceCesCs): use the public header in the ISO 646 tests 2026-10-27 06:44:02 +00:00
Rookie 350daeee41 feat(libSceCesCs): add the ISO 646 national variants and JIS X 0201 profiles 2026-10-27 06:44:02 +00:00
PrivacyOnion bf92d5cd3d test(libSceNetCtlApDialog): cover null argument validation before initialization in GuestNetCtlApDialog 2026-10-27 07:43:33 +01:00
Dean Galvin 0d12e16409 fix(libSceFreeTypeOl): drop the exports main already provides
Remove the stubs whose NIDs main now defines. Main's own debt entries stay
unchanged; the imports are appended after them.
2026-10-27 19:39:46 +13:00
MarcZX10 5280911551 ci(sanitizers): name the fix for guest_backtrace 2026-10-27 06:35:13 +00:00
MarcZX10 241a0ec115 ci(sanitizers): name the timeout change for agc_performance_overlay 2026-10-27 06:35:13 +00:00
MarcZX10 a34c0378ea ci(sanitizers): name the libvorbis update for guest_vorbis_dec 2026-10-27 06:35:13 +00:00
MarcZX10 4b0061f9c1 ci(sanitizers): drop the input_magic failure that #9711 fixed 2026-10-27 06:35:13 +00:00
MarcZX10 307f9f6522 ci(sanitizers): drop the guest_system_configuration failure that #10921 fixed 2026-10-27 06:35:13 +00:00
MarcZX10 96cd705cfd ci(sanitizers): drop the guest_posix_spawn failure that #11239 fixed 2026-10-27 06:35:13 +00:00
MarcZX10 31833c43f1 ci(sanitizers): drop the guest_convert_keycode failure that #10968 fixed 2026-10-27 06:35:12 +00:00
MarcZX10 52952dec6f ci(sanitizers): drop the guest_sce_v2_exceptions failure that #10829 fixed 2026-10-27 06:35:12 +00:00
MarcZX10 6d2d3c7232 ci(sanitizers): drop atrac9_gradient's link failure that #9710 fixed 2026-10-27 06:35:12 +00:00
MarcZX10 a84817ebb0 ci(sanitizers): list guest_posix_spawn's SIGBUS child as a known ASan failure 2026-10-27 06:35:12 +00:00
MarcZX10 5ed54879f7 ci(sanitizers): drop the LibAtrac9 shift failures that #9548 fixed 2026-10-27 06:35:12 +00:00
MarcZX10 26d9e2d95b ci(sanitizers): list guest_math's FMA contraction failure as known 2026-10-27 06:35:12 +00:00
MarcZX10 3f16530cb6 ci(sanitizers): list agc_performance_overlay's sanitizer timeout as known 2026-10-27 06:35:12 +00:00
MarcZX10 5c76b7335c ci(sanitizers): drop the known failures that pass on ubuntu-latest 2026-10-27 06:35:12 +00:00
MarcZX10 85a62536c1 ci: drop the trailing colon from the sanitizer run's ASAN_OPTIONS
The workflow and BUILD.md said ASAN_OPTIONS must end with ':' because tests append their own options with string_append. That is wrong: add_asan_test_options appends ':<options>', so ASAN_OPTIONS=detect_leaks=0 already gives detect_leaks=0:detect_stack_use_after_return=0 for the fiber test. Use detect_leaks=0 and remove the claim.
2026-10-27 06:35:12 +00:00
MarcZX10 1b6abfe41a ci: name the pull requests that fix known sanitizer failures
Point the known failures of agc_driver_pm4, agc_driver_graphics, agc_driver_graphics_maps_fallback and guest_convert_keycode at the pull requests that fix them, #10973 and #10968. With the misaligned loads fixed, agc_driver_graphics and agc_driver_graphics_maps_fallback stop on a second report, a TextureDetiler reference bound to a null pointer in Graphics/src/DepthSurface.cpp:730, so their reason names both.
2026-10-27 06:35:01 +00:00
MarcZX10 03ed97c6fb test(tools): cover a sanitizer report without tests
Check that an empty testsuite and an empty testsuites file both exit with 2, print nothing and leave the --summary file untouched. The test fails with the previous behavior, which reported 0 tests and exit code 0.
2026-10-27 06:35:01 +00:00
MarcZX10 e6194c7f4b fix(tools): reject a sanitizer report without tests
A JUnit file without testcases, as ctest writes when it finds no tests in a build directory, gave '0 tests' and exit code 0, so a run that built nothing passed. Treat it as an unreadable report, with exit code 2.
2026-10-27 06:35:01 +00:00
MarcZX10 793c0ba05d ci: build and test in the sanitizer workflow only after configuration succeeds
When configuration failed, the test and summary steps still ran on the half-configured build directory, found no tests and reported success, so the failed run looked partly green. Gate the build, test and summary steps on the configure step; the job then fails at configuration alone. The build steps keep continue-on-error, so a target that fails to build still shows up as not-run tests.
2026-10-27 06:35:01 +00:00
MarcZX10 43067fef60 ci: install libxrandr-dev for the sanitizer build
The bundled SDL configuration stops without XRandR ('SDL has no XRandR support, so X11 display refresh rates cannot be queried'), as docs/dev/BUILD.md notes, and ubuntu-latest does not ship libxrandr-dev. Found by a run of the workflow on ubuntu-latest.
2026-10-27 06:35:01 +00:00
MarcZX10 c1fa1e58d3 docs(dev): describe the nightly sanitizer workflow
Document in BUILD.md, next to -DANYPS5_ENABLE_ASAN, what the Sanitizers workflow builds and runs, where the known failures are listed and what the job summary reports, and how to repeat a run locally: end ASAN_OPTIONS with ':' because tests append their own options, and set UBSAN_OPTIONS=print_stacktrace=1:halt_on_error=1 so undefined behavior fails the test.
2026-10-27 06:35:01 +00:00
milescovielloandClaude Opus 5.5 448275eff5 docs(libSceAudioOut): list sceAudioOut2ContextSetAttributes as a silent stub
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-27 06:34:57 +00:00
MarcZX10 1f5d0b347c ci: run every test under ASan and UBSan nightly
Add the Sanitizers workflow. Every night at 03:41 UTC, and on workflow_dispatch, it builds the full runtime on ubuntu-latest with -DANYPS5_ENABLE_ASAN=ON and -fsanitize=undefined -fno-sanitize=vptr, building only the F16ToF32Unpack, F64FmaSubnormals and RegistrationPrepareShutdown AGC execution tests like the Windows MSYS2 workflow, and runs every registered test with ASAN_OPTIONS=detect_leaks=0: and UBSAN_OPTIONS=print_stacktrace=1:halt_on_error=1. ASAN_OPTIONS ends with ':' because tests append their own options with string_append. The build keeps going after a failing target, so its tests report as not run instead of hiding the rest. tools/sanitizer_report.py then writes the job summary from ctest's JUnit file and fails the job only for failures missing from .github/sanitizer-known-failures.txt. It reuses the submodule, ccache and FFmpeg caching of the Windows MSYS2 workflow, frees preinstalled toolchains the build does not use to make room for the instrumented objects, and uploads ctest.log and ctest.xml.
2026-10-27 06:34:54 +00:00
MarcZX10 fae208569a test(tools): check the repository's known sanitizer failures
Parse .github/sanitizer-known-failures.txt for every sanitizer and check that its entries stay sorted by test name, so a malformed or misplaced entry fails the sanitizer_report test in the regular build of the pull request that adds it, instead of the next nightly run. Names that no longer match a test are reported by the nightly summary, since many test names are generated in CMake loops.
2026-10-27 06:34:54 +00:00
MarcZX10 6b51a19a24 ci: list the known failures of the sanitizer run
Add .github/sanitizer-known-failures.txt, one test per line with the sanitizers it fails under and the reason, for the tests that fail in an ASan and UBSan build of main: stack switches that ASan is not told about (fiber, guest_user_context), tests whose setup conflicts with ASan (guest_getrlimit, guest_pthread_stack, guest_backtrace), undefined behavior in third-party code (LibAtrac9, libvorbis), and bugs whose fixes are open pull requests (#9548, #9710, #9711, #10829, #10921) or still to be sent. Each reason quotes what the sanitizer or the test reports on a local run.
2026-10-27 06:34:54 +00:00