Commit Graph
14017 Commits
Author SHA1 Message Date
Kovalev Vladislav 3955cd3379 fix(shader): skip unsafe prefixed cache directory traversal 2026-10-19 21:23:28 +06:00
Nicolas Abosch 876ad540ff Merge remote-tracking branch 'origin/main' into perf/gpu-wake-sleeps 2026-10-19 12:17:18 -03:00
Kovalev Vladislav 91853d299b test(shader): isolate cache housekeeping safety regressions 2026-10-19 21:17:12 +06:00
MarcZX10 82be87f185 fix(agc): refuse LDS split before allocation 2026-10-19 15:16:58 +00:00
Adrià 43a2abaf77 Merge pull request #6969 from jotitadev/fix/macos-generic-category-test-cast
fix(tests): keep generic category vtable entries castable to functions
2026-10-19 17:13:03 +02:00
pushkarreddyy a1b6caaf0a feat(libkernel): implement setgid 2026-10-19 20:41:52 +05:30
Nicolas AboschandClaude Sonnet 5.5 462cbf6499 docs(libkernel): shorten the short-sleep debt entry
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-19 12:09:15 -03:00
MarcZX100 0e03a753cd test(agc): inject failed Windows write collections 2026-10-19 17:01:06 +02:00
plokmklo 9c9128d45c docs(debt): name the pending results that still have no saved guest bytes
Results that land in a unit whose store ran while its blocks were
watched, after those blocks left the watch while nothing was pending,
have neither saved bytes nor a watch: the unwatch hook found nothing to
save and the write-back refuses as before (#7017). The entry named only
the range that leaves the watch without the hook running over it.
2026-10-19 17:01:06 +02:00
plokmklo 1b6419caae fix(agc): run the unwatch hook when a failed collect leaves the write watch
A MarkWritten whose fresh collect fails (a no-access or unwatchable
resident page inside the 64 KiB block span) took the span out of the
write watch without running the unwatch hook, so pending storage-image
results over it kept no saved guest bytes and their write-back refused:
storing storage image results pending over memory outside the write
watch without the guest bytes saved before them is not implemented
(#7017, Palworld PPSA23126 among others).

The hook now runs over the block span before the blocks leave the
watch, as Unwatch and the import fallback do, with the tracker lock
released for it like #6308 does for imports. The debt entry drops the
failed collect from the unsaved cases.

The check makes a collect fail over a no-access arena page and requires
the hook to have covered the block; it needs the WindowsMappings
protection failure, so it runs in the Windows-only section of the write
tracking test.
2026-10-19 17:00:48 +02:00
Adrià Franch f2558e7be6 docs(libScePlayGoDialog): file the GetResult note under Unknown function info 2026-10-19 16:58:33 +02:00
Nithishvelan M 89e1425662 fix(libScePlayGoDialog): return COMMON_DIALOG_ERROR_NOT_FINISHED for uncompleted dialog
Align scePlayGoDialogGetResult unfinished error code with the other common dialog modules across the tree (0x80B80005, COMMON_DIALOG_ERROR_NOT_FINISHED) instead of 0x80ED0005. Update GuestPlayGoDialog test and technical debt entry accordingly.
2026-10-19 16:58:29 +02:00
Nithishvelan M a9264aa7e9 docs(libScePlayGoDialog): record unverified status check and rename test variable 2026-10-19 16:58:29 +02:00
Nithishvelan M 061b9fa426 fix(libScePlayGoDialog): return error for uncompleted dialog in scePlayGoDialogGetResult
Validate that the dialog is in finished state before returning results in scePlayGoDialogGetResult, returning ERROR_INVALID_STATE when called while initialized, and cover this case in GuestPlayGoDialog.
2026-10-19 16:58:29 +02:00
Nicolas Abosch b131d2db5d Merge remote-tracking branch 'origin/main' into perf/gpu-wake-sleeps 2026-10-19 11:58:20 -03:00
Dean Galvin 88f64ec265 x
# Conflicts:
#	docs/dev/debt/libSceAgcDriver.md
2026-10-20 03:54:33 +13:00
Dean Galvin 1d8d67f8d3 x
# Conflicts:
#	docs/dev/debt/libSceAgcDriver.md
2026-10-20 03:54:32 +13:00
Dean Galvin f3751e96ad Merge main into pr-6457
# Conflicts:
#	docs/dev/debt/libSceAgcDriver.md
2026-10-20 03:54:07 +13:00
Dean 00d7e611ef Merge pull request #7363 from plokmklo/fix/relinker-gnu-stack-relro
fix(relinker): synthesise a non-executable PT_GNU_STACK for Linux executables
2026-10-20 03:52:18 +13:00
Dean 7b18fa8d5d Merge pull request #7802 from ionut27001/fix/agc-kept-set-weak-textures
fix(agc): let a kept descriptor set's table record hold its textures weakly
2026-10-20 03:52:02 +13:00
Whitesun123andClaude Opus 5.5 f59fe02b81 fix(libc): reduce extreme localtime_s inputs without overflow
On Windows, localtime_s moves a time outside the host range into it by
subtracting whole 400-year cycles, computed as
cycles * CALENDAR_CYCLE_SECONDS. For times within about 7.2e9 seconds of
INT64_MIN that product overflows int64, which is undefined behaviour:
built with -fsanitize=undefined -fsanitize-trap=all, guest_time_conversion
traps there on its INT64_MIN case.

Take the remainder of the time by the cycle length instead. It is the
same value for every input that did not overflow, so results do not
change, and the extreme inputs still fail the year range check.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-19 16:50:10 +02:00
Adrià c92eb8da1e Merge pull request #6931 from AnthonyClemens/perf/agc-pipelined-indirect-draws
perf(agc): queue CPU-path indirect draws on the draw pipeline
2026-10-19 16:48:13 +02:00
Adrià 73c59b7be6 Merge pull request #6958 from Pipodi/fix/pipeline-cache-save-try-lock
fix(agc): skip a periodic pipeline cache save while a pipeline creation holds the cache
2026-10-19 16:48:06 +02:00
Adrià 8aa454f9a7 Merge pull request #6944 from EagleBearerYS/fix/agc-lookup-log-fits-build
fix(agc): keep a build's own texture lookup records past the log bound
2026-10-19 16:47:59 +02:00
m335671andClaude Opus 5.5 21fb50f1d2 fix(agc): skip null storage images in a dispatch's write ranges
DispatchWriteRanges decoded the T# of every written storage image
element before checking its base address, and DecodeTextureResource
throws on a null base, so a dispatch that writes a null storage image
slot threw instead of contributing no range. On main the
APS5_PIPELINE_DISPATCH item path reaches it.

Check IsNullTextureResource first and skip the element, as
DrawWriteRanges does for draws. The draw write ranges test now also
runs DispatchWriteRanges on its written-plus-null image program.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01PqKN8pgLXDvWRPSucJTLU7
2026-10-19 16:45:15 +02:00
MarcZX10 2a7e1b46eb docs: explain current VR support limitations 2026-10-19 14:43:14 +00:00
joedeangelis533-bot acd9ff5755 fix(tools): clip longest trace waits to the capture window 2026-10-19 10:41:42 -04:00
ps54allandClaude Opus 5.5 b0558ce95f feat(shader): model ds_ordered_count swap
A ds_ordered_count with offset1 bit 4 set swaps the first active lane's value into the GDS counter instead of adding it. Emit it as one device-scope atomic exchange through the same path as the ordered add, and return the counter's previous value to every active lane.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-19 16:41:03 +02:00
Tomás Ortellado 87d5e16c10 test(agc): skip invalid Windows vouch probe 2026-10-19 11:38:55 -03:00
Adrià a4440ed938 Merge pull request #6945 from MarcZX10/codex/carry-alarm-range
fix(libkernel): reject alarm seconds beyond the itimer range
2026-10-19 16:38:41 +02:00
Adrià 863486cc32 Merge pull request #6836 from DavidSamir/fix/libkernel-open-file-limit-macos
fix(libkernel): set the open file limit at load on macOS
2026-10-19 16:38:18 +02:00
Nicolas AboschandClaude Opus 5.5 09093bfa26 fix(libkernel): reset the wake event before a wakeable sleep and keep coarse and sub-50 us sleeps as before
A wake set after the previous wait returned left the per-thread
auto-reset event signalled, so the next short sleep returned from its
wait at once and spun to its deadline. With APS5_COARSE_TIMED_WAITS or
a request under 50 us the sleep now takes TimedWait::SleepNanos as on
main.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-19 11:31:17 -03:00
Adrià FranchandClaude Sonnet 5.5 d2e5f1b7fe fix(libSceLoginDialog): drop BOM added to the debt file
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-19 16:30:21 +02:00
pushkarreddyy 91abb61be6 fix(recompiler): use ActiveMaskImplies in SrtTape and restore debt entry 2026-10-19 20:00:18 +05:30
Nithishvelan M 1dbba0243a docs(libSceLoginDialog): document unverified close-before-open lifecycle 2026-10-19 16:30:17 +02:00
Nithishvelan M 83189d22b3 fix(libSceLoginDialog): transition to finished on dialog close
Transition dialog status to finished in sceLoginDialogClose, matching the behavior in libSceSigninDialog, and add unit test coverage in GuestLoginDialog.
2026-10-19 16:30:17 +02:00
Adrià Franch 542fcef382 docs(libSceNpAuthAuthorizedAppDialog): drop BOM and restore the existing debt line 2026-10-19 16:28:46 +02:00
Nithishvelan M 84a6f79fc8 docs(libSceNpAuthAuthorizedAppDialog): document unverified close-before-open lifecycle 2026-10-19 16:28:38 +02:00
Nithishvelan M 826f1abafd fix(libSceNpAuthAuthorizedAppDialog): transition to finished on dialog close
Transition dialog status to finished in sceNpAuthAuthorizedAppDialogClose, matching the behavior in libSceSigninDialog, and add unit test coverage in GuestNpAuthAuthorizedAppDialog.
2026-10-19 16:28:38 +02:00
joedeangelis533-bot 00666a51eb fix(tools): ignore case in Windows host library lookup 2026-10-19 10:27:58 -04:00
David 63e763f443 Merge remote-tracking branch 'origin/main' into feat/shader-barycentric-tessellation-last-vertex
# Conflicts:
#	docs/dev/debt/shader.md
2026-10-19 18:27:34 +04:00
ntamas94andClaude Opus 5.5 522e67dcf6 test(libSceNet): place the sceNetInetPton whitespace checks before CheckInetPtonEx
#7924 adds its check between CheckInetPtonEx and CheckUsleep, where
these checks were, so the two pull requests conflicted in
GuestSceNet.cpp. The checks now sit after CheckAddressText.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-19 16:24:21 +02:00
Adrià bcdee66d10 Merge pull request #5782 from SirDarky/feat/shader-mad-f32-gfx1010
docs(debt): record the v_mad_f32 family as measured on gfx1010
2026-10-19 16:19:55 +02:00
thuanquangandClaude Opus 5.5 1ed8eb6d8b fix(shader): sample a 3D T# through DIM 2D_ARRAY as a volume
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-19 16:19:13 +02:00
Adrià 0037336b63 Merge pull request #6943 from Ondra97/codex/fix-buffer-slab-return-oom
fix(agc): avoid host allocations when returning slab slots
2026-10-19 16:18:51 +02:00
Adrià 4f10164198 Merge pull request #6901 from akkadbakkad89/feat/np-cpp-web-api
feat(libs): restore libSceNpCppWebApi for dumps that ship no copy
2026-10-19 16:18:42 +02:00
mrfelekandClaude Opus 5.5 2234121856 fix(recompiler): fold draw offsets that the shader only reloads after the fetch add
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01BywPXoZACVi8ALV4JKvuPZ
2026-10-19 16:15:55 +02:00
Adrià 3686960c5b Merge pull request #6593 from Ondra97/codex/fix-json-copy-exception-cleanup
fix(json2): release partial copies on allocation failure
2026-10-19 16:15:27 +02:00
ShinMalphur 41fe91a13b docs(net): state hardware validation gap first 2026-10-19 20:41:43 +06:30
ShinMalphur 905fa532af docs(net): record process-time behavior source 2026-10-19 20:41:03 +06:30