Commit Graph
7413 Commits
Author SHA1 Message Date
Disaster 72583a0b20 feat(libc): implement _Divide, _FDivide, _Recip and _FRecip 2026-10-25 04:20:44 +03:00
Disaster e0547ee7c5 feat(libc): implement _LCosh and _LSinh
Add the long-double siblings of _Cosh and _Sinh with the same scaled finite-input path, signed-zero handling and Dinkumware two-argument contracts. The reductions use a long-double ln2 split, and the scaled-range tests pin 64-bit results instead of the intermediate writer's output. Cover known values, signs and non-finite inputs in guest_math; record the unverified console results and exception behavior in the libc debt list.
2026-10-25 04:16:26 +03:00
slopgobblercobbler 7239ebb63e fix(libkernel): validate address family against socket family in bind 2026-10-25 02:14:14 +01:00
orezraeyandClaude Opus 5.5 284884d40b Merge main into fix/libkernel-cond-destroyed-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 22:12:05 -03:00
Dean 096d770143 Merge pull request #10231 from Felipebmaitan/feat/jobmanager-owned-state
fix(job-manager): keep scheduling state in caller memory
2026-10-25 14:10:59 +13:00
Disaster 878124772c feat(libc): implement _Exp and _FExp 2026-10-25 04:02:47 +03:00
Dean f4aabbb122 Merge pull request #10129 from orezraey/fix/libc-strftime-measured-ps5
fix(libc): format strftime and asctime fields as measured on a PS5
2026-10-25 14:02:08 +13:00
Dean c6b318cfd9 Merge pull request #9165 from MaxLikesCode/fix/pthread-timed-self-lock
fix(libkernel): time out timed locks of a lock the caller already holds
2026-10-25 14:01:45 +13:00
Dean 6bc12fcdf6 Merge pull request #10021 from klosixgaming-arch/fix/font-writing-line-horizontal
fix(libSceFont): resolve a default string direction at creation
2026-10-25 14:00:47 +13:00
Dean 3f97477838 Merge pull request #9338 from MaxLikesCode/feat/usbd-device-calls
feat(libSceUsbd): pass the device, packet size, alternate setting and halt calls through to libusb
2026-10-25 13:59:56 +13:00
Dean 471e062346 Merge pull request #10185 from orezraey/fix/libscecescs-mbcs-strings-measured-ps5
fix(libSceCesCs): terminate and count MBCS string conversions as measured on a PS5
2026-10-25 13:59:06 +13:00
hypermistandClaude Opus 5.5 d96751079c Merge remote-tracking branch 'upstream/main' into fix/psml-base-console
Resolved GuestPsml.cpp by dropping the extern block; the Mfsr2 placeholders in the libScePsml_debug header now carry the implemented signatures and the test uses the library header.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 13:56:59 +13:00
Kyon 0e18750a87 fix(libSceAudio3d): reconcile canonical error declaration 2026-10-25 02:55:32 +02:00
Kyon 4d861d2f29 fix(libSceSulphaDrv): reconcile the public header migration 2026-10-25 02:55:01 +02:00
Alexandre Figueiredo 8b92ee82f2 fix(libSceNpWebApi2): declare the arguments of sceNpWebApi2PushEventRegisterPushContextCallback 2026-10-25 01:51:04 +01:00
Rookie 0297073da2 fix(libc): return the calling thread from _Thrd_id as the console's libc.prx does 2026-10-25 01:45:47 +01:00
hypermistandClaude Opus 5.5 eac4379921 Merge remote-tracking branch 'upstream/main' into feat/httpcache-cache
Resolved Export.cpp: kept the cache implementation and added the library header include.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 13:41:28 +13:00
hypermist 5e20ae8a98 Merge remote-tracking branch 'upstream/main' into feat/font-get-glyphs-outline-profile-m3 2026-10-25 13:33:11 +13:00
hypermistandClaude Opus 5.5 dfc3c4e5f6 Merge remote-tracking branch 'origin/feat/font-get-font-style-information' into feat/font-get-glyphs-outline-profile
Dropped the pre-restructuring struct block; the outline profile stub stays removed.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 13:33:09 +13:00
milescovielloandClaude Opus 5.5 52f36c8aa2 fix(agc): keep a mipmapped DCC color target's keys on its resident image
DecodeColorBuffer dropped the DCC address of a color target with more than
one mip, so the target's resident image had no keys: it was uploaded from
guest memory under the game's fast-clear keys, and no draw into it marked
them uncompressed. The game's textures over the same chain name the keys,
so they kept sampling the clear (0000 reads as (0,0,0,0)) whatever was
drawn. MXGP 26, Borderlands 4 and Forspoken render such targets.

- ColorTarget.chainDccAddress keeps the keys of a 2D single-layer chain;
  dccAddress stays 0, so the per-draw single-mip key handling is unchanged.
- SurfaceForTarget gives the resident surface those keys, and the image
  then treats them as a multi-mip storage image does: a uniform clear is
  cleared on the GPU at upload, and the first write marks every key
  uncompressed.
- A draw recipe's key check uses the surface's keys.
- sizeof(State) is 840: the recipe codec and CanonicalPipelineState do not
  copy the field.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 00:31:53 +00:00
Queuze e5fcbb775d fix(check-compile): enforce syntax mode 2026-10-24 21:31:23 -03:00
SwagandClaude Opus 5.5 fe8520917a Merge upstream/main into feat/libressl-error-queue
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 20:29:59 -04:00
hypermistandClaude Opus 5.5 8883a34320 Merge remote-tracking branch 'upstream/main' into feat/vrtracker2-initialize
Resolved Export.cpp and GuestVrTracker2.cpp keeping main's header layout; the new sceHmd2Internal exports are declared in the libSceHmd2 header and the test uses the library headers.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 13:29:54 +13:00
memob cf27259538 feat(libkernel): implement __tls_get_addr
Resolve a FreeBSD/ELF tls_index {module, offset} the way the relinker's
DTPMOD64 values are laid out: on Windows through the PE _tls_index the
module word points at and the thread's ThreadLocalStoragePointer, on
Linux through glibc's __tls_get_addr.
2026-10-24 20:29:20 -04:00
Dean b7865bbb6b Merge pull request #8344 from Retr0G28/fix/socketpair-getpeername-enotconn
fix(libkernel): return ENOTCONN from getpeername once a socketpair peer closed
2026-10-25 13:28:30 +13:00
orezraeyandClaude Opus 5.5 336a738f91 Merge main into docs/libkernel-flexible-flag-8000-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 21:24:15 -03:00
hypermistandClaude Opus 5.5 4e8c077237 Merge remote-tracking branch 'upstream/main' into feat/font-get-font-style-information
Kept main's Api.hpp declarations and dropped the duplicated struct block from Unimplemented.cpp.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 13:22:32 +13:00
klosixgaming-arch 0e46a0c497 fix(libSceFont): resolve a default string direction at creation
A string created from a text source in the default horizontal form (0x10)
reported 0x10. TEKKEN: DARK RESURRECTION (PPSA31371) passes the reported form
to sceFontCreateWritingLine, which only accepts 0x11 and 0x12, so the call
failed and the layout width was 0.

On firmware 13.42 sceFontCreateString decides the direction for a default-form
source and sceFontStringGetWritingForm returns the stored form. The string
gets 0x12 when its first strong character is left to right, 0x11 when it is
right to left, and 0x12 when it has none. Left-to-right and right-to-left marks
count as strong, embeddings and overrides do not, and text between an isolate
initiator and its PDI is skipped. Explicit 0x11 and 0x12 sources keep their
form.

The test follows the table reported on the pull request. Which characters are
strong is decided by Unicode block ranges here, not by the full bidi class
tables.
2026-10-24 19:21:23 -05:00
milescovielloandClaude Opus 5.5 a938dd8f20 feat(libc): write the called imports to APS5_TRACE_CALLS_FILE every 10 seconds
A traced run that ends without a crash or an abort never reports which
imports it called. With APS5_TRACE_CALLS_FILE set, the first traced import
starts a thread that rewrites that file every 10 seconds with every import
called so far, most called first.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 00:15:39 +00:00
MaxandClaude Opus 5.5 55ff5484d6 fix(libkernel): time out timed locks of a lock the caller already holds
scePthreadMutexTimedlock on a mutex the caller holds, and
scePthreadRwlockTimedrdlock and scePthreadRwlockTimedwrlock on a rwlock
it holds for writing, returned EDEADLK at once. The console returns
ETIMEDOUT, as the prosper console oracle measured. They now sleep until
the timeout and return ETIMEDOUT, as FreeBSD libthr does. The POSIX
timed locks call these and change with them.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 02:15:31 +02:00
Felipebmaitan b31ed5dc5b test(job-manager): refresh Linux reference on current prerequisites 2026-10-24 21:06:46 -03:00
Felipebmaitan 0d4025f98f fix(job-manager): refresh compute shutdown on public headers 2026-10-24 21:06:30 -03:00
Felipebmaitan 55efb35489 fix(job-manager): refresh GPU barriers with shared API types 2026-10-24 21:06:13 -03:00
Felipebmaitan 043c7de79a fix(job-manager): refresh profiler with shared API types 2026-10-24 21:05:57 -03:00
Felipebmaitan 8ab682946a fix(job-manager): refresh owned state on current prerequisites 2026-10-24 21:05:40 -03:00
Felipebmaitan 42bff60650 fix(job-manager): share registration imports and fixture types 2026-10-24 21:05:21 -03:00
Felipebmaitan 43efd58266 fix(job-manager): reconcile lifecycle with public headers 2026-10-24 21:05:08 -03:00
thibautandClaude Opus 5.5 ad047899bb perf(agc): grow the pipeline store from 1024 up to 4096 entries
The graphics pipeline store kept a fixed 1024 entries and the pipeline journal replayed at most
1024 records, and a replayed pipeline that found the store full was dropped. A title whose
working set is larger rebuilt the rest at the draw on every run, and evicted pipelines it kept
using were rebuilt again and again.

The bound now starts at 1024 and doubles up to 4096: a journal replay that does not fit grows it
instead of dropping the pipeline, and so does eviction churn (a ghost list of evicted keys, checked
every bound/32 evictions: more than half of them came back). It never shrinks during a run;
APS5_PIPELINE_STORE_ENTRIES still fixes it. The journal loads its last 4096 records by default
(APS5_PIPELINE_JOURNAL_ENTRIES). Resident pipelines are bounded by count, not bytes.

agc_driver_recorder_tests --benchmark-pipeline-store-memory [count] (opt-in, not registered)
builds count graphics pipelines with one fragment module each through CachedPipeline and prints
process private bytes and VK_EXT_memory_budget heap usage before and after: with the triangle
shaders about 59 KiB host and no device memory per pipeline on an RTX 4090, 100 KiB host and
8 KiB device-local on a UHD 770.

Tests: agc_pipeline_store_growth (fails on main), agc_pipeline_store_fixed_bound,
agc_pipeline_store_replay_growth (replays on one thread: the mock Vulkan is not thread-safe).

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_017SNUYRd7sRKZrMYpquAsnU
2026-10-25 02:02:41 +02:00
Dean cf528e78c6 Merge pull request #9160 from yabanana/feat/kernel-sys-thread-queries
feat(libkernel_sys): identify the initial pthread
2026-10-25 12:57:53 +13:00
Dean c4446bbb09 Merge pull request #9332 from rooklz/fix/windows-console-base
fix(relinker): prefer 0x400000 for Windows executables
2026-10-25 12:57:28 +13:00
Dean Galvin f139561693 Merge main into fix/linear-target-completion-stores 2026-10-25 12:57:20 +13:00
Dean Galvin a5e015f7b7 Merge main into fix/linear-target-import-creation 2026-10-25 12:56:51 +13:00
Dean Galvin 7ea2e7b914 Merge main into feat/webkit-pthread-setname 2026-10-25 12:56:13 +13:00
MaxandClaude Opus 5.5 64ae578dda feat(libSceUsbd): pass the device, packet size, alternate setting and halt calls through to libusb
sceUsbdGetDevice, sceUsbdGetDeviceSpeed, sceUsbdGetMaxPacketSize,
sceUsbdGetMaxIsoPacketSize, sceUsbdOpenDeviceWithVidPid,
sceUsbdSetInterfaceAltSetting, sceUsbdClearHalt and
sceUsbdDetachKernelDriver follow FreeBSD 11.4 libusb10.c over the host
libusb. The packet sizes and the alternate setting checks are done as
FreeBSD does them, so the library records which interfaces are claimed,
and a device stays known while a handle to it is open.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 01:50:33 +02:00
Retr0 7a0bbc4897 Merge remote-tracking branch 'origin/main' into fix/sendfile-nonregular-einval
# Conflicts:
#	core/libs/tests/GuestSendfile.cpp
2026-10-25 02:47:13 +03:00
hypermistandClaude Opus 5.5 c4e51343be Merge remote-tracking branch 'upstream/main' into feat/font-get-font-metrics
Kept main's Api.hpp declarations and dropped the duplicated struct block from Unimplemented.cpp.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 12:45:38 +13:00
Dean ab6c1b7324 Merge pull request #10715 from oneandonlydean/test/quarantine-frame-replay-windows
test(agc): quarantine agc_driver_frame_replay on Windows until the recorder fix (#10711)
2026-10-25 12:45:06 +13:00
Dean 761cb46f84 Merge pull request #10350 from orezraey/fix/libkernel-socket-receive-flags-measured-ps5
fix(libkernel): keep the TCP flag and IP receive options a PS5 accepts
2026-10-25 12:44:40 +13:00
Dean c15c361163 Merge pull request #10361 from orezraey/fix/libscepad-open-checks-measured-ps5
fix(libScePad): answer scePadOpen's user, index and port checks as measured on a PS5
2026-10-25 12:44:15 +13:00
Dean Galvin 7664003be2 Merge main (check commit for the public_headers fix) 2026-10-25 12:43:33 +13:00