Commit Graph
20967 Commits
Author SHA1 Message Date
ali zedan 7535f2bb50 test(agc): open storage output before guarding reads 2026-10-25 08:28:10 +01:00
ali zedan 2c5fcf6406 fix(kernel): safely copy guest path arguments 2026-10-25 08:28:09 +01:00
Yunus Shaikh 68820535b9 feat(libSceFont): render generated glyphs with sceFontGlyphRenderImage
Draw a glyph from sceFontGenerateCharGlyph through the sceFontRenderCharGlyphImage rasterizer at the glyph's own scale, with the renderer argument checked as sceFontBindRenderer checks it and the style frame argument, else the surface's frame, applied as surface frames are. The horizontal and vertical forms place the image like their character forms. The three functions build on RenderCodeWithStyle and ApplyStyleFrame from the previous commit and move out of Unimplemented.cpp.
2026-10-25 07:27:44 +00:00
Yunus Shaikh fe79da22ff refactor(libSceFont): split RenderCodeWithStyle and ApplyStyleFrame out of the char render path
RenderCharGlyphImageCore keeps its handle and bound-renderer checks and
hands the rest of the render, from the glyph lookup to the output fill,
to RenderCodeWithStyle, which takes the style as an argument. The
surface style-frame rule moves into ApplyStyleFrame, with
SurfaceStyleFrame finding a surface's valid frame, and
ResolveSurfaceStyleState now calls the two. The char render calls pass
the same style as before and behave as before.
2026-10-25 07:27:33 +00:00
Dean e5f23554c9 Merge pull request #10632 from noir39/fix/journal-replay-priority
fix(agc): build the pipeline journal replay at a lower thread priority
2026-10-25 20:23:57 +13:00
ChronyyxandClaude Opus 5.5 07798774b6 fix(relinker): frame red-zone leaves whose only push is rbp
The check that refuses leaves without pushes that push or pop also refused
`push rbp; mov rbp, rsp` leaves without other pushes, whose `pop rbp` it
counted, since rbp is not in their list of pushes. A unit test and an
execution test now cover such a leaf with a 4-byte prologue and a 2-byte
exit. The debt entry also notes that the check refuses shrink-wrapped leaves
whose later pushes and pops balance.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 03:23:34 -04:00
Himansh Raj 1c9d259abf Merge remote-tracking branch 'origin/main' into split/macos-build 2026-10-25 12:50:25 +05:30
Dean 49d9c1c751 Merge pull request #8080 from Nixitov/feat/webkit-pthread-setname
feat(libScePosixForWebKit): export pthread_setname_np
2026-10-25 20:11:29 +13:00
Dean b860f46f98 Merge pull request #10533 from al3ss4ndrolb/test/nid-names-env-db-empty-tree
test(tools): look up the environment-selected NID database in an empty source tree
2026-10-25 20:11:21 +13:00
Dean 2f11a89ecb Merge pull request #10795 from slopgobblercobbler/feat/agc-nop-data-write-tests
feat(libSceAgcDriver): cover payload packing in sceAgcDriverNopDataWritePacket
2026-10-25 20:11:17 +13:00
Himansh Raj 04d62961da Merge remote-tracking branch 'origin/main' into split/macos-build 2026-10-25 12:40:25 +05:30
thuanquangandClaude 060e516d0e feat(libSceImeBackend): declare 22 sceImeBackend exports
libSceImeBackend only re-exported libSceIme, so a title that imports
the backend's own functions did not load. Declare the 22 that such a
title imports, without parameters: their signatures and behaviour are
not established, so each call throws through NotImplemented_nid_no_patch.

Co-Authored-By: Claude <[email protected]>
2026-10-25 14:09:10 +07:00
cb2416f8c2 fix(macos): read application process parameters from Mach-O images
ApplicationProcessParameters used the dl_iterate_phdr search only on Linux,
so any guest using the application heap threw "unsupported executable
format" on macOS, where GuestImages.cpp already provides dl_iterate_phdr.
ProcessParametersFixture::Install also had no macOS branch and returned
false; it now fills a __APS5DATA,__meta section with version-2 relinker
metadata.

Co-authored-by: Himansh Raj <[email protected]>
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 12:37:15 +05:30
Nathan Desaindes df55659d08 fix(tools): reject malformed NID database rows in stubgen
parse_db silently skipped a row that had no symbol name and accepted any
text as a NID, so a malformed database produced Unknown stubs and
technical-debt lines for NIDs that did have a name, with no hint that the
database was at fault. Reject such rows with a path:line error, the way
parse_nids already rejects malformed NIDs.
2026-10-25 03:06:41 -04:00
Dean 8b426927d7 Merge pull request #10723 from kyon-eth/feat/sulpha-default-config
feat(libSceSulphaDrv): implement default configuration
2026-10-25 20:01:39 +13:00
Dean f943441744 Merge pull request #10784 from MaxLikesCode/test/rtc-roundtrip-fixed-tick
test(libSceRtc): round-trip a fixed tick through the host's local time
2026-10-25 20:01:35 +13:00
Himansh Raj a01a4354db Merge remote-tracking branch 'origin/main' into split/macos-build 2026-10-25 12:31:32 +05:30
spaina93andClaude Opus 5.5 09ae9b3355 test(tools): read git's unknown-ref message in the C locale in progress_history
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 07:58:59 +01:00
Romans Pokrovskis ba62e160e4 test(agc): wait for draw submission trace publication
Wait for the exact completed confirmation before inspecting submitted draw tokens. Preserve the existing assertions and inspect the completed trace for failures.

Fixes #10835
AI-assisted: yes (Codex)
2026-10-25 08:58:33 +02:00
hypermistandClaude Opus 5.5 0c799de538 test(libSceFont): stop pinning the unimplemented font-set outline profile path
The font-set record path still throws in production, but the test no
longer asserts it: tests cover implemented behaviour only. The null-output
check on a font-set handle stays. The outline profile debt entry states
the gap without naming a source.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 19:57:38 +13:00
JJenkxandClaude Opus 5.5 185098a39d fix(libc): compute log1p with FreeBSD msun's algorithm, as titles' libc.prx does
log1p returned the host's log1p, whose last bit differs from the titles'
copy on Windows on 24,477,433 of 320 million random arguments. The titles'
copy is FreeBSD msun's s_log1p.c, and it sets EDOM at msun's NaN return,
for arguments below -1, -inf and negative NaNs, but not for log1p(-1).
log1p now computes that algorithm and sets EDOM there.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 02:56:59 -04:00
Ondra97 b58440f8b1 fix(libSceFreeType): expose SFNT declarations through public API 2026-10-25 07:56:24 +01:00
Adrià 6c7a3256f2 Merge pull request #10869 from adriadam10/fix/main-job-manager-spin-noise
fix(main): job manager spin test takes the quietest of 3 no-pending samples
2026-10-25 07:54:23 +01:00
Adnan Khan 37c516ad2e fix(relinker): keep the needed-module report best-effort on traversal and status errors 2026-10-25 12:24:22 +05:30
Adrià FranchandClaude Sonnet 5.5 545ba1a76b fix(main): job manager spin test takes the quietest of 3 no-pending samples
Culprit: none by code; run 40167585870 (main 2400596055) failed guest_job_manager_worker_spin
(check at line 688: noPending 27 ms vs parked 10.6 ms + interval/3 8.5 ms). The sample
only adds CPU when the runner is noisy, so the minimum of 3 is the right estimator.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-25 07:54:12 +01:00
Ondra97 5839f54a7c Merge remote-tracking branch 'origin/main' into codex/pr9420-review-20261025 2026-10-25 07:53:25 +01:00
hypermist 938458062e Merge branch 'feat/font-get-font-style-information' into feat/font-get-glyphs-outline-profile
# Conflicts:
#	docs/dev/debt/libSceFont.md
2026-10-25 19:50:28 +13:00
hypermistandClaude Opus 5.5 c46dfd259d docs(libSceFont): state the font style information gap without naming a source
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 19:50:06 +13:00
hypermist 19f50102fa Merge branch 'feat/font-get-font-metrics' into feat/font-get-font-style-information
# Conflicts:
#	docs/dev/debt/libSceFont.md
2026-10-25 19:50:06 +13:00
hypermistandClaude Opus 5.5 a2df041469 docs(libSceFont): state the font metrics gap without naming a source
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 19:49:25 +13:00
ChronyyxandClaude Opus 5.5 c697fb0ba9 feat(relinker): frame red-zone leaves whose prologue or exit is shorter than a jump
--frame-red-zone replaces a leaf's prologue and each exit with a 5-byte jump
to a stub, so it skipped leaves whose pushes or pop-and-ret exit were shorter
than that, and leaves with neither pushes nor an allocation. A short prologue
now takes in the straight-line instructions after it and a short exit those
before it, re-encoded in the stub with the moved displacement. Widening stops
at branches, rets, RIP-relative instructions, pushes and pops, and the leaf is
skipped when a branch targets the instructions taken in or the first
instruction of a widened prologue, or when a leaf without pushes pushes or
pops.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 02:47:12 -04:00
Dean Galvin c80622ea48 fix(agc): pass the unmap address as uint64_t and keep the CPU publish flag host-thread-local
main's sceKernelMunmap takes a uint64_t address; the test passed a pointer. The publish-on-CPU flag moves to HostThreadLocal so it follows the host thread-local rule.
2026-10-25 19:40:40 +13:00
Dean Galvin 757b671e50 Merge main into fix/agc-idle-cpu-writebacks 2026-10-25 19:40:40 +13:00
MarcZX10 4f078782a1 test(tools): cover unwrap_self segments with stale offsets that cannot be placed 2026-10-25 06:37:02 +00:00
MarcZX10 443388f161 fix(tools): refuse unwrap_self segments placed before the file start 2026-10-25 06:37:02 +00:00
Dean af49a07885 Merge pull request #10691 from MarcZX10/marc/sweep-np-signaling
feat(libSceNpSignaling): implement sceNpSignalingDeactivateConnection
2026-10-25 19:30:19 +13:00
MarcZX10 c2efce8ab7 test(libc): cover the wide calls on a closed stream 2026-10-25 06:30:05 +00:00
MarcZX10 1cf6734bf9 fix(libc): fail wprintf on a closed standard output with EBADF
printf, puts and vwprintf already return -1 with errno 9 once a failed freopen
closed stdout. wprintf reported EINVAL.
2026-10-25 06:30:05 +00:00
MarcZX10 de8cd096b2 fix(libc): fail fputwc and fputws on a closed stream with EBADF
The write threw inside GetNativeStream, which the wide writers catch and
report as EINVAL. fputc, fputs and vfwprintf fail a closed stream with
errno 9; putwc and putwchar go through fputwc.
2026-10-25 06:30:05 +00:00
MarcZX10 0f9fff2048 fix(libc): fail ungetwc on a closed stream with EBADF
ungetwc on a stream that a failed freopen closed reached GetHandle() and threw
out of the export. ungetc and the other narrow stream calls return failure
with errno 9.
2026-10-25 06:30:05 +00:00
Dean 9a2020c220 Merge pull request #10425 from Retr0G28/fix/sendfile-nonregular-einval
fix(libkernel): fail sendfile with EINVAL for a file that is not a regular file
2026-10-25 19:29:21 +13:00
orezraeyandClaude Opus 5.5 9319aeec2d Merge main into docs/libkernel-select-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 03:25:47 -03:00
atharvjairath df9977e15e test(vdecsw): avoid pinning unsupported field output behavior 2026-10-25 11:48:12 +05:30
Bipin 981e36205c feat(core): implement the Opus encoder libraries
- libSceOpusCeltEnc and libSceOpusSilkEnc forward Initialize, Terminate,
  GetSize, Create, CreateEx, Encode, EncodeFloat and Destroy to bundled
  libopus with OPUS_APPLICATION_RESTRICTED_CELT and OPUS_APPLICATION_RESTRICTED_SILK
- state pointers are host registry keys; nothing is written into guest memory,
  Create without CreateEx binds an internal context id, and a live CreateEx
  encoder makes Terminate throw
- validation mirrors the recovered libSceOpusCeltDec order: channels before
  sample rate before application, offsets 0/1/2/3/6/7/8/9/13
- Ctl and the priority, timeout, batch and cancel exports still throw and are
  documented in libSceOpusCeltEnc.md and libSceOpusSilkEnc.md
- new guest_opus_celt_enc and guest_opus_silk_enc tests require bit-exact
  packets against a raw libopus encoder with the same restricted application,
  celt-mode or silk-only TOC values, an alternating sine decoded through
  opus_decode, and the negative error paths
2026-10-25 11:47:55 +05:30
Dean 61fc572cee Merge pull request #10434 from Retr0G28/fix/linkat-directory-descriptor
fix(libkernel_sys): resolve linkat paths relative to a directory descriptor
2026-10-25 19:16:10 +13:00
3d20b5e4c2 fix(libSceNet): count only datagram bytes in sceNetIoctl FIONREAD on macOS
On macOS, FIONREAD on a datagram socket counts more than the queued
payload, so after one 5-byte datagram sceNetIoctl reported 37.
libkernel's sockets already ask a macOS datagram socket for SO_NREAD,
the size of the next datagram, instead; do the same for sceNetSocket
sockets that are not streams.

Co-authored-by: Himansh Raj <[email protected]>
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 03:15:43 -03:00
Dean 74986c28bd Merge pull request #10559 from xTRACKGOD/fix/trace-digest-interval-identity
fix(tools): detect host and title changes in interval digests
2026-10-25 19:15:31 +13:00
Dean fccc63319d Merge pull request #10562 from krishalivaibhav/fix/macos-libressl-aes-constexpr
fix(libSceLibreSsl): build the AES substitution table within the constexpr step limit
2026-10-25 19:15:01 +13:00
Dean 0976fa940c Merge pull request #10805 from slopgobblercobbler/feat/userservice-logged-in-status-validation
fix(libSceUserService): validate logged-in status for user accessibility and age queries
2026-10-25 19:14:31 +13:00
Dean 282f4a68ae Merge pull request #10744 from Bram910/fix/jobmanager-module-refusals
fix(tools): report refused JobManager modules cleanly
2026-10-25 19:13:56 +13:00