Commit Graph
6874 Commits
Author SHA1 Message Date
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 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
hypermistandClaude Opus 5.5 a81479ebea Merge remote-tracking branch 'upstream/main' into feat/spsyscallwrapper-getpid-select
Clean merge.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 12:42:14 +13:00
Disaster 10c2a645a3 feat(libc): implement long-double Dinkumware helpers
Implement _LLog, _LDivide and _LRecip for the PS5 libc surface, with guest coverage for base dispatch, division and reciprocal semantics.
2026-10-25 02:41:03 +03:00
xdCloudy 743d6b91e6 fix(prx): drop duplicate SSL initialization stubs 2026-10-24 16:35:54 -07:00
xdCloudy 6869eaa68b feat(libSceSsl): declare pending PS5 exports 2026-10-24 16:35:54 -07:00
orezraeyandClaude Opus 5.5 6b1962e978 Merge main into fix/libc-strftime-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 20:28:55 -03:00
Retr0 3af8e6d040 Merge remote-tracking branch 'origin/main' into fix/socketpair-getpeername-enotconn
# Conflicts:
#	core/libs/tests/GuestSocketPair.cpp
2026-10-25 02:23:58 +03:00
MarcZX10 064c370e03 docs(libSceNpSignaling): record sceNpSignalingDeactivateConnection 2026-10-24 23:16:38 +00:00
MarcZX10 11b61f90f7 docs(libSceBgft): record the unmeasured signatures of GetPatchProgress and GetTaskInfo 2026-10-24 23:14:25 +00:00
Alexandre Figueiredo da3e88a21d feat(libSceNpCommon): forward sceNpCloseEventFlag to sceKernelCloseEventFlag 2026-10-25 00:10:14 +01:00
Dean Galvin 83b63bfbb5 Merge main into windows/libc-exp2f-msun 2026-10-25 12:09:10 +13:00
MarcZX10 dd537b5367 docs(libSceVoice): record the single-source shadPS4 signatures of the declared stubs 2026-10-24 23:08:22 +00:00
orezraeyandClaude Opus 5.5 cab8c2fa88 Merge main into fix/libscecescs-jis-encode-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 20:07:39 -03:00
orezraeyandClaude Opus 5.5 4c3c3231d6 Merge main into fix/libscecescs-mbcs-strings-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 20:06:54 -03:00
hypermistandClaude Opus 5.5 45047622f2 Merge remote-tracking branch 'upstream/main' into feat/font-graphics-fill-descriptors
Kept main's Api.hpp struct definitions and dropped the duplicates from FontGraphics.hpp.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 12:06:11 +13:00
Felipebmaitan 2bed14cd6c fix(job-manager): refresh registration on reconciled lifecycle 2026-10-24 18:59:58 -03:00
Queuze 7bed4c2cc5 chore(net): sync protocol with current main 2026-10-24 18:59:51 -03:00
Felipebmaitan b3f8f8126c docs(job-manager): carry barrier debt into Linux reference 2026-10-24 18:58:08 -03:00
Felipebmaitan 2760683dbb docs(job-manager): carry barrier debt into compute shutdown 2026-10-24 18:57:50 -03:00
Felipebmaitan 44397fe2a3 docs(job-manager): restore GPU barrier protocol divergence 2026-10-24 18:57:36 -03:00
Felipebmaitan c8cbf55d0e fix(job-manager): reconcile lifecycle with landed scheduler 2026-10-24 18:56:45 -03:00
SlugZero bee2bee10b fix(libScePad): accept special handles in scePadGetControllerType
Accept valid special handles in scePadGetControllerType by using KnownHandle, reporting PAD_CONTROLLER_TYPE_UNKNOWN (0) for special handles with no physical controller behind them.
2026-10-24 23:53:12 +02:00
Felipebmaitan 2c8e9a0045 fix(job-manager): refresh Linux reference on reconciled shutdown 2026-10-24 18:21:36 -03:00
Felipebmaitan 0ff4d3093d fix(job-manager): refresh compute shutdown on reconciled barriers 2026-10-24 18:20:34 -03:00
Felipebmaitan b1efedd841 fix(job-manager): refresh profiler on reconciled owned state 2026-10-24 18:17:01 -03:00
Felipebmaitan 376cab297d fix(job-manager): reconcile owned state with landed scheduler 2026-10-24 18:14:46 -03:00
boykopovar b3cb9a81fb fix(sdk): accept companion event output pointer 2026-10-24 23:50:25 +03:00
Daniele Giovane 12ff96135f docs(libkernel): link initial-thread debt to its provider 2026-10-24 22:44:26 +02:00
Adrià Franch b6bfc78286 docs(agc): keep main's stencil replay debt line 2026-10-24 22:41:08 +02:00
fma-rc a8706b22ba docs(agc): record when an undrawn multisampled target is retired on guest access 2026-10-24 22:41:08 +02:00
Daniele Giovane 65bb594abb docs(libkernel): retain only initial-thread query limitations 2026-10-24 22:38:43 +02:00
Daniele Giovane 32926902b8 Merge main and leave pthread attributes to the earlier contribution 2026-10-24 22:38:29 +02:00
Kyon 372a31ed41 feat(libSceSulphaDrv): implement default configuration 2026-10-24 22:27:26 +02:00
boykopovar 53153d68be fix(sdk): recover dialog and streaming output layouts 2026-10-24 23:17:49 +03:00
JJenkxandClaude Opus 5.5 182bd6aa78 fix(libc): round and cap %e, %f and %g as titles' libc.prx does
The printf family formatted floating-point conversions through the host,
which prints every exact digit and rounds ties to even. The libc.prx
that titles ship keeps the exact digits only down to a position derived
from the binary exponent and prints zeros after them, rounds half up on
the kept digits, and rounds an exact tie down once that exponent
estimate reaches 8. So %.0f of 2.5 is 3 and %.1f of 0.25 is 0.3 there,
and %.20f of 0.1 is 0.10000000000000000555.

Format finite double and long double e, f and g conversions with those
rules from exactly generated digits, on every host. On 600,000 random
formats every output with up to 17 significant digits now matches the
copies bundled with PPSA07923, PPSA05916 and PPSA13934; longer outputs
still differ where the console's extended-precision digits end one unit
lower.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 16:17:13 -04:00
JJenkxandClaude Opus 5.5 377e8fccec docs(debt): %a no longer goes to glibc on Linux
The libc debt entry for %a and %A still described the Windows-only
formatter and said Linux hands %a to glibc; since Linux routes %a and %A
to the same formatter, describe it for both platforms.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 16:15:06 -04:00
JJenkxandClaude Opus 5.5 1fbd44b66f fix(libc): format %a like the console on Windows
The Windows printf family handed %a and %A to the host, whose UCRT prints
a subnormal unnormalised (0x0.0000000000001p-1022) and pads with zeros
even when the - flag is given (%-010a of 1.5 gave 0x001.8p+0). The
libc.prx that titles ship normalises subnormals (0x1p-1074), rounds a
shorter precision half up without renormalising a carry, and lets -
override 0, as C requires.

Finite doubles are now formatted here, checked against three titles'
copies of libc.prx run side by side.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 16:14:15 -04:00