Commit Graph
6874 Commits
Author SHA1 Message Date
Dean 4c3cab4f1c Merge pull request #9320 from MarrasFederico/feat/ngs2-render-buffer-codes
fix(libSceNgs2.native): return the module's errors for render buffer counts, types and null buffers
2026-10-23 22:22:51 +13:00
Dean 1f1acb195e Merge pull request #9322 from zaryabzip/feat/kernel-sys-condattr-getclock
feat(libkernel_sys): implement scePthreadCondattrGetclock
2026-10-23 22:16:46 +13:00
Adrià a7d342efc9 Merge pull request #6948 from alfalfa-star/fix/agc-linear-readback-store
fix(agc): store linear compute writes behind their dispatch
2026-10-23 11:12:44 +02:00
Federico Marras 74c6791861 Merge remote-tracking branch 'upstream/main' into feat/ngs2-system-rate-grain-codes
# Conflicts:
#	docs/dev/debt/libSceNgs2.native.md
2026-10-23 11:08:40 +02:00
Simone 79abbd62db Merge #8976 into feat/libSceCesCs-mbc-sjis-code 2026-10-23 11:08:22 +02:00
Simone cd4bfc33e0 Merge #8972 into feat/libSceCesCs-gbk-euc-cn 2026-10-23 11:08:22 +02:00
Federico Marras 012b87293b Merge remote-tracking branch 'upstream/main' into feat/ngs2-render-buffer-codes
# Conflicts:
#	docs/dev/debt/libSceNgs2.native.md
2026-10-23 11:07:02 +02:00
Dean Galvin 2f741e737f Merge main into feat/libkernel-underscore-socket-signal-entries 2026-10-23 22:00:32 +13:00
lakhantheboss ebba433323 fix(libSceSharePlay): return invalid args error for invalid prohibition in sceSharePlayProhibitController
Return SCE_SHARE_PLAY_ERROR_INVALID_ARGS (0x810E0001) instead of throwing APS5_INVALID_ARG_EX when an invalid prohibition value is passed to sceSharePlayProhibitController. Update regression test assertions in GuestSharePlay to verify the error code and record technical debt.
2026-10-23 14:19:28 +05:30
Dean fef15751e6 Merge pull request #8641 from Danigamer05/fix/libkernel-windows-birthtime
fix(libkernel): clamp Windows birth time when setting earlier timestamps
2026-10-23 21:49:21 +13:00
Dean 24331355f7 Merge pull request #9060 from ags-arnab/feat/net-ioctl
feat(libSceNet): implement sceNetIoctl
2026-10-23 21:48:24 +13:00
Dean 6ee38720fc Merge pull request #9327 from MarrasFederico/feat/ngs2-atrac9-module-loops
fix(libSceNgs2.native): parse ATRAC9 smpl loops as the module does
2026-10-23 21:47:55 +13:00
Dean dd5b2a3869 Merge pull request #9736 from LeandroLP23/feat/libkernel-kern-proc-env
feat(libkernel): answer kern.proc.env for the calling process
2026-10-23 21:47:33 +13:00
Dean Galvin cee93db419 Merge main into feat/kernel-sys-thread-queries 2026-10-23 21:45:17 +13:00
Dean Galvin 8199835b02 Merge main into perf/agc-skip-empty-indirect 2026-10-23 21:43:40 +13:00
Dean b3b9609899 Merge pull request #9152 from rooklz/feat/np-profile-dialog
feat(libSceNpProfileDialog): implement the dialog lifecycle
2026-10-23 21:41:23 +13:00
Dean d339082d2e Merge pull request #9053 from voidlakhan/feat/npcommerce-dialog-initialize-internal
feat(libSceNpCommerce): implement internal dialog initialization
2026-10-23 21:40:45 +13:00
Dean 0dd46f1867 Merge pull request #8547 from Retr0G28/fix/connect-einprogress-windows
test(libkernel): require EINPROGRESS from a nonblocking connect in progress
2026-10-23 21:39:18 +13:00
frankea 56dfc1327e fix(libSceSystemService): answer the registry-backed integer parameters with values measured on a PS5 2026-10-23 04:36:58 -04:00
JJenkxandClaude Opus 5.5 fcc01c57a6 fix(libkernel): give a raise target time to run between host-code samples
RaiseOn suspends the target, reads its context and, while it is in host
code, resumes it and samples again after SwitchToThread. On a 16-core
Ryzen 9 5950X (Windows 11 22H2) that resampled the writer of
guest_raise_in_host_code about every 10 us before it could run: in the
raise that hung, 4,989 samples over 50 ms all found it in ucrtbase, so
the 50 ms host-code limit ran out and the handler was redirected into
fwrite, where it deadlocked on the stream lock (the test timed out at
30 s on every run). In a passing raise the samples sat at one RIP for
14,695 of 14,703 samples and the raise took 145 ms.

Spin for 20 us before each new host-code sample, so the target gets to
leave host code. With that, guest_raise_in_host_code passes 5 of 5 runs,
no raise is redirected in host code, and the longest raise is 0.46 to
0.53 ms. Other samples keep SwitchToThread.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 04:32:33 -04:00
Dean aef58d4674 Merge pull request #9355 from DavidSamir/feat/libkernel-sys-aio
feat(libkernel_sys): implement the POSIX aio calls
2026-10-23 21:28:48 +13:00
Dean 72fe76ff89 Merge pull request #7920 from hugodearaujo/feat/agc-amd-buffer-marker-checkpoints
feat(agc): record GPU checkpoints through VK_AMD_buffer_marker
2026-10-23 21:20:57 +13:00
thuanquangandClaude e53f78214a docs(libc): note where the wcsncat_s overlap rule comes from
The debt entry says the rule follows a static reading of the console's
wcsncat_s in libc.prx, that wcscat_s inherits it unread, and that the
narrow strncat_s keeps a wider rule, as asked in review.

Co-Authored-By: Claude <[email protected]>
2026-10-23 15:19:25 +07:00
Rookie 40970647ca feat(libSceNpProfileDialog): implement the dialog lifecycle
Initialize, Terminate, UpdateStatus, GetStatus, Open, OpenA, Close and
GetResult run the common-dialog state machine. There is no PSN profile
UI, so Open and OpenA finish at once and GetResult reports result 0,
userAction USER_CANCELED and the caller's userData, as shadPS4 does when
its window is dismissed.

Paths where shadPS4 and the other common dialogs here return different
errors throw, and so does a param whose size or mode does not match the
shadPS4 layout. The common-dialog codes the library uses are added to
libSceCommonDialog/CommonDialog.hpp.
2026-10-23 09:18:29 +01:00
Yossi Yadgar 42961e1b45 docs(debt): note where the net thread and emulation behaviour comes from 2026-10-23 11:12:45 +03:00
Yossi Yadgar 22823182ef docs(debt): note that sceKernelGetAppInfo leaves the workaround block unwritten 2026-10-23 11:12:23 +03:00
Yossi Yadgar fadfb4433d docs(debt): note where the workaround and process type rules come from 2026-10-23 11:12:23 +03:00
Yossi Yadgar f0c2cc4879 docs(debt): record the libSceGnmDriverForNeoMode command packets 2026-10-23 11:12:01 +03:00
alfalfa-starandClaude Opus 5.5 5d3c0d741a perf(agc): memoize host import run bounds per lease snapshot
Every import lookup walked the lease out from the containing range to find
the run of continuing registry ranges, which is linear in the run length.
That walk depends only on the lease snapshot, the containing range and the
import window block, so its first and last index are now memoized per
thread under a weak reference to the snapshot, the range index, the window
and the window's low end. APS5_NO_RUN_MEMO walks every time.

Everything that depends on other state runs on each call as before: the
largest size, the budget, the failed blocks, the remembered refusals and
the halving block search. importRunBounds returns the chosen indices, so
sameRange, runCovers and the whole-run lookup in importAllocation compare
against the lease without copying the run's range pointers.

importRunFailureShrinkTests records a failed 8 MiB block between two
lookups on an unchanged registry and requires the run to shrink to its
4 MiB blocks. importRunGrowthTests and importRunReplacedTests check that a
run grows and shrinks when its ranges are registered or replaced.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 10:04:37 +02:00
ntamas94andClaude Opus 5.5 88432ab71d docs(libSceJpegEnc): note that the returned size is not confirmed on a PS5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 10:02:43 +02:00
ntamas94 0680c59335 Merge remote-tracking branch 'origin/main' into fix/ps4-jpegenc-encode-size 2026-10-23 10:02:40 +02:00
JJenkx 05b602dd95 Merge remote-tracking branch 'origin/main' into windows/ngs2-debt-ppsa33655-modules
# Conflicts:
#	docs/dev/debt/libSceNgs2.native.md
2026-10-23 03:53:48 -04:00
xdCloudy 0aa3f3505b feat(libSceCamera): declare PS5 3.20 pending exports 2026-10-23 08:47:28 +01:00
lakhantheboss 00d5db19f0 feat(libSceNpCommerce): implement internal dialog initialization
Delegate sceNpCommerceDialogInitializeInternal to sceNpCommerceDialogInitialize, sharing dialog state and returning COMMON_DIALOG_ERROR_ALREADY_INITIALIZED on duplicate initialization, following shadPS4. Add regression tests in GuestNpCommerceDialog covering initial, duplicate, and post-termination initialization, and update technical debt documentation.
2026-10-23 13:12:44 +05:30
Dean f075f91737 Merge pull request #9314 from DavidSamir/feat/libkernel-sys-ktimer
feat(libkernel): implement SIGEV_NONE POSIX timers
2026-10-23 20:34:29 +13:00
VakzOs 3778e9fc98 Merge branch 'boykopovar:main' into feat/libressl-des 2026-10-23 09:27:10 +02:00
ntamas94 357005d009 Merge remote-tracking branch 'origin/main' into fix/ps4-jpegenc-encode-size 2026-10-23 09:24:31 +02:00
Dean 3d9c01daed Merge pull request #9337 from Th3EvilGod/codex/ngs2-userfx-module-id
fix(ngs2): correct UserFx ids and preserve Delay compatibility
2026-10-23 20:24:20 +13:00
zaryabzip 6653dffe62 feat(libkernel_sys): implement scePthreadCondattrGetclock
Read the clock of a libkernel condition attribute, returning
SCE_KERNEL_ERROR_EINVAL for a null or destroyed attribute as
scePthreadCondattrSetclock does, after FreeBSD 11.4 libthr's
_pthread_condattr_getclock. A null clock pointer throws.
2026-10-23 12:17:02 +05:00
ntamas94andClaude Opus 5.5 f5519f4fcd fix(libSceJpegEnc): return the JPEG size from sceJpegEncEncode
On a PS4 Pro with firmware 10.71 a successful sceJpegEncEncode returns the
size of the JPEG it wrote, the same value it stores in the output info,
and it does so when the output info pointer is null too. AnyPS5 returned
0, so a title that takes the size from the return value got an empty
image. The guest test now checks the returned size against the output
info.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 09:13:47 +02:00
Dean ef0d8ae3b5 Merge pull request #8739 from p3n1cillin/codex/opus-native-decoder-20261021
fix(opus): remove artificial decoder delay with bundled libopus
2026-10-23 20:07:51 +13:00
Dean 91d4fa9658 Merge pull request #9219 from YossiYad/feat/gnm-neo-default-state
feat(libSceGnmDriverForNeoMode): write the Neo default hardware and context state
2026-10-23 20:06:44 +13:00
Dean 7a39e62d9f Merge pull request #9350 from Ondra97/codex/feat-freetype-lists
feat(libSceFreeType): implement guest list operations
2026-10-23 20:06:23 +13:00
Dean c31f139db4 Merge pull request #8890 from UnhealthyKraken/feat/libkernel-pthread-timedjoin
feat(libkernel): implement pthread_timedjoin_np
2026-10-23 20:05:52 +13:00
Federico Marras de981a27f9 Merge remote-tracking branch 'upstream/main' into feat/kernel-sys-pthread-scope-atfork 2026-10-23 09:05:21 +02:00
JAB-devandClaude Sonnet 5.5 870bacd092 Merge branch 'main' of https://github.com/boykopovar/AnyPS5 into feat/agc-4-4-4-4-partial-writes
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-23 08:59:06 +02:00
Filip Michalski cf3218b702 docs(libSceFreeType): remove duplicate debt after rebase 2026-10-23 08:51:17 +02:00
Filip Michalski 70a666db7e test(libSceFreeType): keep kerning checks clear of face lifecycle tests 2026-10-23 08:50:59 +02:00
Filip Michalski f200fcf468 test(libSceFreeType): isolate kerning fixture changes 2026-10-23 08:50:59 +02:00
Filip Michalski 407489e295 feat(libSceFreeType): implement FT_Get_Kerning 2026-10-23 08:50:36 +02:00