Commit Graph
10207 Commits
Author SHA1 Message Date
Dean d7f0c005a9 Merge pull request #9862 from JJenkx/windows/libc-cbrtf-msun
fix(libc): compute cbrtf with FreeBSD msun's algorithm, as titles' libc.prx does
2026-10-24 15:23:06 +13:00
Dean 5669dff560 Merge pull request #9596 from JJenkx/windows/fgetws-console-contract
fix(libc): follow the console fgetws for short buffers and read errors
2026-10-24 15:22:31 +13:00
Adrià FranchandClaude Opus 5.5 7b4b9d9814 fix(shader): zero the resinfo layer count for DIMs without layers
image_get_resinfo returns 0 in its third component when the instruction's
DIM has no layers (1D, 2D, 2D MSAA) and the T# is not 3D, as measured on
RDNA 2 in #7550. Keep 1D-array T#s on their first layer and MSAA T#s
refused, and record the unmeasured forms in the shader debt file.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 04:21:06 +02:00
Yunus Shaikh fa02afeb47 fix(agc): bound the draw cache by bytes 2026-10-23 19:17:00 -07:00
Yunus Shaikh fca8266468 Merge main into fix/libscenet-inet-text-rules 2026-10-23 19:15:30 -07:00
Felipebmaitan a1086ce5c5 fix(job-manager): merge main into Linux reference changes 2026-10-23 23:01:11 -03:00
Felipebmaitan 2211c438b8 fix(job-manager): merge main into compute shutdown changes 2026-10-23 22:59:46 -03:00
hypermistandClaude Opus 5.5 1159e12357 Merge remote-tracking branch 'upstream/main' into fix/agc-semaphore-memory-firmware
Keep this PR's semaphore entry and main's workload entry.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 14:58:12 +13:00
Felipebmaitan a83522e25f fix(job-manager): merge main into profiler changes 2026-10-23 22:57:42 -03:00
Felipebmaitan 9a7b9cc95b fix(job-manager): merge main into caller-owned state changes 2026-10-23 22:56:30 -03:00
Felipebmaitan 2758578c20 fix(job-manager): merge main into registration changes 2026-10-23 22:54:47 -03:00
Felipebmaitan 260c7816c0 fix(job-manager): merge main into lifecycle changes 2026-10-23 22:53:34 -03:00
Felipebmaitan b7640ae5a3 fix(job-manager): merge main and reconcile scheduler debt 2026-10-23 22:48:31 -03:00
Himansh Raj a0a0960a7b Merge remote-tracking branch 'origin/main' into split/macos-build 2026-10-24 07:10:36 +05:30
Dean 5ac955b1ac Merge pull request #9166 from orezraey/fix/agcdriver-workload-registration-measured-ps5
fix(libSceAgcDriver): return the console's workload stream registration errors
2026-10-24 14:35:51 +13:00
Dean d1d67190a8 Merge pull request #8720 from orezraey/fix/libc-heap-measured-ps5
fix(libc): follow the default heap's alignment, errno and realloc to zero as measured on a PS5
2026-10-24 14:34:38 +13:00
Adrià FranchandClaude Sonnet 5.5 b443b9f9f0 fix(libc): compare only with std::thread::hardware_concurrency, record host count in debt
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-24 03:31:05 +02:00
Himansh Raj 08ef933d8f Merge remote-tracking branch 'origin/main' into split/macos-build 2026-10-24 07:00:23 +05:30
thuanquangandClaude 71f70d803f docs(shader): count bits 16-28 among the ancillary word bits that have a source
Co-Authored-By: Claude <[email protected]>
2026-10-24 08:27:20 +07:00
milescovielloandClaude Opus 5.5 371652fd0e fix(agc): draw a PS_ITER_SAMPLE program once per pixel into a one-sample color target
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 01:26:53 +00:00
Dean 9232ee9c98 Merge pull request #9854 from sivasdeadknight/fix/np-async-request-lifecycle
fix(libSceNpManager): validate request ids for abort, delete and poll
2026-10-24 14:26:15 +13:00
orezraeyandClaude Opus 5.5 81d0a5dc15 Merge main into fix/libc-strftime-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 22:26:02 -03:00
Dean b6198d2fd7 Merge pull request #9721 from frankea/fix/one-sample-depth-comp-z
fix(agc): accept DB_EQAA INTERPOLATE_COMP_Z for a one-sample depth target without MSAA_ENABLE
2026-10-24 14:25:46 +13:00
Dean 31516f7021 Merge pull request #9894 from MarrasFederico/feat/np-score-ranking-offline
feat(libSceNpScoreRanking): model the score requests offline
2026-10-24 14:22:50 +13:00
Dean b5fd705743 Merge pull request #9990 from xdCloudy/feat/libSceAgcVsh-150-pending-exports
feat(libSceAgcVsh): declare 150 PS5 pending exports
2026-10-24 14:21:58 +13:00
Dean 842d625686 Merge pull request #9812 from Pacuka/fix/agc-mem-semaphore-address
fix(libSceAgc): take the semaphore address second in Acb/Dcb MemSemaphore
2026-10-24 14:20:36 +13:00
Himansh Raj 2562590ab0 Merge remote-tracking branch 'origin/main' into split/macos-build 2026-10-24 06:50:19 +05:30
Dean f45a8d2bdc Merge pull request #9274 from zmeizy/claude/f32-hardware-flush-float-mode
fix(shader): take the hardware f32 flush only in shaders that flush f32 denormals
2026-10-24 14:20:09 +13:00
Dean 72641c92f6 Merge pull request #9841 from JJenkx/windows/libc-logf-msun
fix(libc): compute logf with FreeBSD msun's algorithm, as titles' libc.prx does
2026-10-24 14:19:40 +13:00
xXPBSXxandClaude Sonnet 5.5 020df25d8d docs(agc): note the guest buffer region copied whole over 4 GiB
Records the allocation of a whole guest buffer region as one host buffer and the two stops seen for the same shader on two GPUs.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-24 03:16:55 +02:00
xXPBSXxandClaude Opus 5.5 aa856fdb99 docs(debt): shorten the re-read measurement to its counts
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 03:16:11 +02:00
Dean Galvin f59787b272 Merge main into fix/linear-target-import-creation 2026-10-24 14:02:06 +13:00
thuanquangandClaude c687e7e353 docs(agc): limit the host placement exception to device buffers and images
Co-Authored-By: Claude <[email protected]>
2026-10-24 08:01:24 +07:00
thuanquangandClaude 8472a51793 docs(agc): say that a refused device allocation falls back to host memory before throwing
Co-Authored-By: Claude <[email protected]>
2026-10-24 07:59:55 +07:00
thuanquangandClaude 17c723d8fa docs(libc): correct stale rmdir, nanf and bad_optional_access debt statements
Co-Authored-By: Claude <[email protected]>
2026-10-24 07:59:41 +07:00
Danigamer05 38582fca52 fix(pngdec): honor the 16-bit input attribute 2026-10-24 02:59:36 +02:00
Himansh Raj e836e519a8 Merge remote-tracking branch 'origin/main' into split/macos-build 2026-10-24 06:20:19 +05:30
Adrià 11d6efa06c Merge pull request #9305 from tibzejoker/fix/bit-exact-reciprocal
feat(shader): bit-exact RDNA v_rcp_f32 behind APS5_EXACT_RCP
2026-10-24 02:47:43 +02:00
xXPBSXxandClaude Opus 5.5 81e18a469a docs(debt): note that the zero gap before REWIND packets stays unwritten
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 02:47:28 +02:00
Danigamer05 aaa33a3f3e fix(keyboard): preserve raw keys and ignore the Kana LED 2026-10-24 02:46:30 +02:00
Ethan Barr ce6865fc0d perf(agc): pipeline queue-0 DMA_DATA by default
Queue-0 DMA_DATA packets drained the draw pipeline unless APS5_PIPELINE_DMA was set, so the packet worker waited on the committer at every small immediate store. Kena PPSA01746 issues 17-23k DMA_DATA packets per 10 s and 11329 of its 20134 pipeline drains per 10 s are opcode 0x50. enqueueDmaPacket now queues DMA_DATA stores and fills unconditionally, and keepsDrawPipeline keeps the pipeline for a copy or fill whose source and destination miss every queued write. The APS5_PIPELINE_DMA switch and its documentation are removed and the tests run the default path.
2026-10-24 02:35:37 +02:00
Dom3005andClaude Opus 5.5 dd6220698a fix(libkernel): change O_APPEND on a Windows file through fcntl
fcntl(F_SETFL) threw when it changed O_APPEND on a Windows file. The
guest flag already chooses WriteAtEnd, but a descriptor opened with
O_APPEND also carries the CRT's append flag, so _write kept appending
after the guest cleared it. F_SETFL now replaces the CRT descriptor of
every descriptor sharing the open file's status with a duplicate handle
opened with or without _O_APPEND, as libc fdopen does for append mode.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 02:28:14 +02:00
JJenkxandClaude Opus 5.5 4fe55c1fbc test(libc): cover powf NaN pairs and pin the msun 9.0.0 revision
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 20:17:22 -04:00
JJenkxandClaude Opus 5.5 a29bf781c8 fix(libc): compute powf like the libc.prx that titles ship
powf returned the host pow, except for base 1, so its last bit and errno
depended on the host: on Windows the bits differ from titles' libc.prx on
3,171,678 of 100,001,089 sampled argument pairs. That libc.prx is the
older form of FreeBSD msun's e_powf.c: a NaN argument returns x + y, so
powf(1, NaN) is NaN rather than 1, and (+-1)**+-inf is NaN. It sets EDOM
for a negative base with a non-integer exponent and ERANGE only in its
final overflow and underflow returns.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 20:17:22 -04:00
JJenkxandClaude Opus 5.5 8b83c68aad fix(libc): compute exp2f with FreeBSD msun's algorithm, as titles' libc.prx does
exp2f returned the host exp2, so its last bit and errno depended on the
host: on Windows the bits differ from the libc.prx that titles ship on
213,306,266 of the 2^32 floats. That libc.prx is msun's s_exp2f.c, setting
ERANGE only in its overflow and underflow branches. The port gives the same
bits and errno as PPSA07923's, PPSA05916's and PPSA13934's copies for every
argument.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 20:16:32 -04:00
dantdmdarealguy 80bcb4bd24 docs(environment): correct the crash indirect memory, log timestamp, language and label flush rows 2026-10-23 19:14:56 -05:00
dantdmdarealguy 0c5e45e9f3 docs: describe the converted module output the relinker prints
The relinker stopped printing a 'Guest module:' line for each converted
module in 56c2a5318; it reports 'Converted modules: N' and lists the
.guest.prx files under app0/ in its runtime layout tree. GAME_TESTING.md
and USAGE.md still told readers to use the files printed as 'Guest module:'.
2026-10-23 19:14:55 -05:00
SuarezPM 9c3ffcf5b0 feat(shader): support 64-bit image atomics through keyed image tables
Table T#s keyed at runtime feeding image_atomic64_* now lower to
OpAtomic* on the table Atomic64View instead of faulting, mirroring
the 32-bit path: gate, dedup identity, binding flags and view
selection. Packed formats and BY element counts still fault; hosts
need VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT for the view format.
2026-10-23 21:14:39 -03:00
SamandClaude Opus 5.5 a70e108a03 fix(agc): capture memory committed during the frames and count flips per thread
The recorder took its ranges once, at the snapshot, so a title that
committed memory during the captured frames replayed submissions from
memory the capture never had. Each memory delta now adds the allocations
the registry gained since the last one as new ranges with their nonzero
64 KiB blocks, and the header counts them as late_ranges.

A submission ended a captured frame when the driver's flip count changed
while it was being submitted, and the count was global, so a submission
that overlapped another thread's flipping one ended the frame as well.
The count is now kept per thread.

agc_driver_frame_replay copies its second frame from a block committed
during the capture, and agc_driver_frame_capture_eop checks that a flip
submitted on another thread leaves this thread's count unchanged; both
fail without the fix.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 02:09:44 +02:00
SamandClaude Opus 5.5 268525d612 fix(agc): keep replayed memory, tokens and outputs faithful to the capture
- Order memory deltas and video output registration before the next
  recorded call, and serialize the deadlock breaker with delta application
- Capture the blocks holding shader code with each shader delta
- Reserve explicit and automatic EOP flip tokens under one lock
- Record video output unregistration so replay can close and reopen a handle
- Clear already mapped ranges before restoring the snapshot so elided zero
  blocks replay as zero

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 02:09:44 +02:00