Commit Graph
7981 Commits
Author SHA1 Message Date
Adrià bfb0806192 Merge pull request #8435 from hypermoist/feat/libc-libatomic-sized
feat(libc): add the sized __atomic library calls
2026-10-24 13:46:18 +02:00
orezraeyandClaude Opus 5.5 530497af72 Merge main into fix/libkernel-posix-thread-attr-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 08:44:42 -03:00
Dean 9018bc438a Merge pull request #10003 from MarcZX10/codex/libc-acoshf-msun
fix(libc): follow msun for acoshf
2026-10-25 00:24:44 +13:00
Dean 0fc488a06d Merge pull request #10230 from orezraey/fix/libkernel-module-info-from-addr-measured-ps5
fix(libkernel): answer sceKernelGetModuleInfoFromAddr's flags and failures as measured on a PS5
2026-10-25 00:24:17 +13:00
Dean d490ca219c Merge pull request #9190 from simnJS/feat/usbd-descriptor-queries
feat(libSceUsbd): pass configuration and descriptor queries through to libusb
2026-10-25 00:22:22 +13:00
Dean 5b02b41c1d Merge pull request #9876 from orezraey/fix/libkernel-aio-limits-measured-ps5
fix(libkernel): follow AIO limits, unknown ids and reported states as measured on a PS5
2026-10-25 00:21:25 +13:00
MarcZX10 46ac3341bc docs(libSceFreeType): list FT_Bitmap_Init with the bitmap calls 2026-10-24 11:16:34 +00:00
orezraeyandClaude Opus 5.5 7571085a39 Merge main into docs/libkernel-sem-timedwait-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 08:10:56 -03:00
Adrià fa515def85 Merge pull request #7653 from ionut27001/fix/libkernel-kevent-timer-readd
fix(libkernel): handle kevent timer re-adds and the AIO, LIO, SENDFILE and PROCDESC filters as measured on a PS5
2026-10-24 13:02:21 +02:00
Adrià a59b2a4736 Merge pull request #8399 from primesoul-web/feat/usb-storage-no-device-path
feat(libSceUsbStorage): the no-device path of the USB storage service
2026-10-24 12:57:10 +02:00
Adrià 2a0e9a654f Merge pull request #8286 from santhoshkumar-dev/codex/freetype-bitmap-conversion
feat(libSceFreeType): copy and convert guest bitmaps
2026-10-24 12:56:07 +02:00
Adrià a0a8ef2fd5 Merge pull request #7837 from muteburrito/test/relinker-embedded-code-data
test(relinker): characterize embedded code data scanning
2026-10-24 12:53:05 +02:00
Adrià a39be6252d Merge pull request #8357 from MarrasFederico/feat/http-memory-pool-stats
feat(libSceHttp): report a context's pool in sceHttpGetMemoryPoolStats
2026-10-24 12:48:06 +02:00
ionut27001 983a81d91b fix(libSceVideoOut): add APS5_OUTPUT_RESOLUTION to override the reported output resolution 2026-10-24 12:42:14 +02:00
ionut27001 bfeeed4ef4 fix(libSceVideoOut): report the output resolution from the host display as measured on a PS5
sceVideoOutGetOutputStatus derived resolution from the size of the
registered buffers, so a title that reads it right after sceVideoOutOpen
got 1 (1080p) whatever the display. In a payload process on a PS5
(firmware 12.70), with no buffer registered, the field changed with the
console's resolution setting: 2 with it on Automatic on a 4K display, 1
with it set to 1080p. Read it from the display mode SDL reports for the
window's display, next to the refresh rate, and keep it independent of
the registered buffers.
2026-10-24 12:42:08 +02:00
Adrià 0e81ae0fec Merge pull request #8329 from ymatrix1/feat/appinstutil-missing-exports
feat(libSceAppInstUtil): export missing firmware app install interfaces
2026-10-24 12:40:43 +02:00
Dean 3eebf30c2e Merge pull request #9945 from p3n1cillin/claude/windows-missing-standard-handles
fix(libc): open NUL on standard descriptors without a stream on Windows
2026-10-24 23:40:27 +13:00
Dean 8cd50d382e Merge pull request #10273 from MarrasFederico/fix/netctl-ap-full-callback-id
fix(libSceNetCtlAp): clear the callback id when registration slots are full
2026-10-24 23:39:36 +13:00
Adrià 887a9640b4 Merge pull request #7605 from HQasper/fix/poll-kqueues
fix(libkernel): poll kqueues as kqueue_poll answers
2026-10-24 12:32:33 +02:00
ZSWoltandClaude Opus 5.5 412c3cd91f fix(libSceNet): print the console's line for a negative sceNetUsleep
After sceNetInit, the console's sceNetUsleep prints
"[LIBNET] usleep <count>" to standard output for a negative count
before failing with EINVAL, as a payload measured on firmware 13.60
(#9076). AnyPS5 failed without printing it.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 13:30:52 +03:00
JAB-devandClaude Sonnet 5.5 182e2a227f docs(libSceNgs2): say that the mastering gain ramps after its first value
PS5 firmware 3.20 and 4.03 apply the first full-band and LFE gain a voice receives flat and ramp every later change over the next grain in eight lanes, as RESULTS15 measured; the entry said the levels never ramp. The clamp, the NaN handling and this change's behaviour are unchanged, and the missing ramp stays listed.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-24 12:25:45 +02:00
mrfelek a293f7901b perf(agc): stage written-only swept elements on discrete GPUs
On a discrete GPU a write-only V# element whose stride is wider than the
widest buffer store (16 bytes) and that a direct dispatch sweeps is staged
in a device-local shadow of up to 256 MiB, as read and written swept
elements are. Its stores no longer cross the bus into the host import.

AI-assisted. Tested by me on my own machine.
2026-10-24 10:22:12 +00:00
jagrat Singh 32455327e4 feat(libSceNet): implement sceNetShowNetstatEx 2026-10-24 12:20:53 +02:00
Adrià 2dc8e456b5 Merge pull request #8225 from jagrat04/feat/libSceNet-show-policy
feat(libSceNet): implement sceNetShowPolicy
2026-10-24 12:18:48 +02:00
hypermistandClaude Opus 5.5 439b426c4b feat(libSceVrTracker2): validate initialization and pass through the Hmd2 tracking result
sceVrTracker2Initialize follows the order read from firmware 13.60
libSceVrTracker2.sprx (disassembly, not measured on a console). It
rejects with 0x8A740006, in order: a null record or a size other than
72; a mode other than 0, 1000 or 1001; a null work memory; a size below
the mode's 32 MiB, 7 MiB or 3 MiB; an alignment below 0x10000; a
non-zero reserved byte at 0x3a..0x47; a thread priority outside
256..767; an affinity mask outside bits 0..12 in mode 0 or outside
0xEA00 in modes 1000 and 1001. It then moves the module state from 0 to
1 and returns 0x8A740002 if it was not 0.

From there every failure undoes what the call opened and resets the
state to 0. Mode 0 clears the first 32 MiB of work memory first. The
application attribute checks on the sceKernelGetAppInfo2 record
(0x8A74001E, 0x8A740020) are skipped: the host has none, and a zeroed
record passes them. The signed option at 0x39 accepts -1 and 0,
and 1 only for titles compiled with SDK 7.00 or later. Modes 0 and 1000
then call libSceHmd2 TrackingOpen, TrackingStart, LedDetectorOpen and
LedDetectorStart and return the first non-zero result unchanged.
Without a headset main's libSceHmd2 answers 0 and -1 (its measured
pre-initialization answers), so Initialize returns -1 and every other
export keeps answering 0x8A740001.

Modes 1000 and 1001 need the application category, which the host does
not have, and a fully successful Hmd2 sequence would need the tracker
runtime; both throw. The eight tracking and LED-detector exports become
named functions in libSceHmd2 so that libSceVrTracker2 can import them
by name; their answers are unchanged.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 23:18:29 +13:00
Adrià 60465afd3a Merge pull request #7307 from Zenodeon/agc-submit-progress-pr
feat(agc): add opt-in bounded submission progress
2026-10-24 11:59:57 +02:00
milescovielloandClaude Opus 5.5 2181bfc345 feat(agc): draw DB depth copies with a driver pixel program
A draw with DB_RENDER_CONTROL.DEPTH_COPY ran as a compute pass over the
whole surface, chosen when the viewport and scissor covered it. It now
runs as the title's own draw: the precheck rewrites the draw's registers
to bind no depth target and a driver-authored guest pixel program, then
draws it through the normal path. The program reads POS_FIXED_PT, loads
one sample of the Z_32_FLOAT plane through a T# built from the DB
registers (DepthCopySourceWords), and exports it to color target 0 as
32_R, so only the pixels the draw covers are written, and the normal draw
path orders it after the draws that rendered the plane.

- The plane is decoded by decodeDepthPlane, factored out of decodeDepth,
  so its address, pipe-bank XOR and slice match the registered surface.
- Two programs, one per source kind: image_load 2D_MSAA with the sample in
  s8, and image_load 2D. They are published with the null pixel program
  and prepared at use.
- A multisampled plane is read from its host image or sample shadow
  without the guest-memory import checks of native multisample sampling,
  inside a DepthCopySourceScope opened by Graphics::Draw for draws whose
  decode found the multisampled copy program (State::depthCopySource).
- The compute pass, its shader and the CopySample path are removed.
- A new execution test draws depth over a triangle, copies it with the
  same triangle and compares the covered texels with a reference draw.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 11:59:00 +02:00
Yunus Shaikh c097fca028 Merge main into fix/agc-sync-settle-initial-dcc-main2 2026-10-24 02:58:50 -07:00
orezraeyandClaude Opus 5.5 09048e3278 Merge main into fix/libkernel-socket-address-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 06:56:16 -03:00
Adrià 672c38f703 Merge pull request #9077 from thuanquang/docs/debt-agc-htile-msaa-stale
docs(agc): correct five stale statements in the HTILE and multisampled target entries
2026-10-24 11:54:34 +02:00
Adrià a78fed26df Merge pull request #8639 from Tripchipp/docs/debt-type0-null-image-link
docs(debt): link the TYPE=0 null image entry to the recompiler
2026-10-24 11:54:29 +02:00
JJenkxandClaude Opus 5.5 462f8dff1f fix(libkernel): skip unallocated pages in sceKernelReleaseDirectMemory
The unchecked release passed its whole range to ForgetDirectMemory,
which throws on any page that is not allocated, so releasing a range
that is partly or wholly free aborted the process. Release only the
allocated runs, as shadPS4's unchecked free does; the checked variant
still returns ENOENT for them.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 05:54:17 -04:00
bluandClaude Opus 5.5 e040d1191b Merge branch 'boykopovar:main' into feat/libc-siginterrupt
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 02:49:01 -07:00
xTRACKGOD 8ee49632b0 fix(tools): detect host and title changes in interval digests 2026-10-24 15:17:58 +05:30
Yossi Yadgar 37f340b4e6 docs(debt): record the libSceGnmDriverForNeoMode embedded shaders 2026-10-24 12:46:41 +03:00
thuanquangandClaude 5536623f6c docs(agc): correct five stale statements in the HTILE and multisampled target entries
Co-Authored-By: Claude <[email protected]>
2026-10-24 11:37:08 +02:00
Dean Galvin eaf4a711e5 Merge main into fix/one-sample-ancillary-unsampled 2026-10-24 22:36:23 +13:00
Adrià 5d3ab7791d Merge pull request #9016 from dantdmdarealguy/docs/build-python-launcher-windows
docs(build): run the Python tools with python or py -3 on Windows
2026-10-24 11:35:41 +02:00
Adrià 68ed66980e Merge pull request #9036 from dantdmdarealguy/docs/environment-row-corrections
docs(environment): correct the crash indirect memory, log timestamp, language and label flush rows
2026-10-24 11:34:14 +02:00
Adrià 86203bafc1 Merge pull request #9022 from LeandroLP23/docs/agc-drop-cmask-gpl-off-debt
docs(debt): drop the CMASK clear pass entry for AMD without pipeline libraries
2026-10-24 11:33:17 +02:00
Adrià 7be57380e3 Merge pull request #8619 from mantavisual/docs/build-antivirus-relinker-test-temp
docs(build): point the antivirus note at the relinker tests' test-temp
2026-10-24 11:31:10 +02:00
Adrià 892b4ec4a7 Merge pull request #8851 from JJenkx/windows/ngs2-debt-ppsa33655-modules
docs(debt): list the NGS2 custom modules of PPSA33655
2026-10-24 11:29:17 +02:00
Adrià f23ed4533d Merge pull request #8921 from xXPBSXx/docs/udp-disconnect-windows-bound-address
docs(debt): record what a Windows UDP socket keeps after connect(AF_UNSPEC)
2026-10-24 11:28:43 +02:00
Adrià 6d025ee2cd Merge pull request #8657 from xXPBSXx/docs/environment-aps5-no-wgi
docs(env): document APS5_NO_WGI
2026-10-24 11:27:28 +02:00
Adrià fe204e1a8d Merge pull request #8568 from mantavisual/docs/build-windows-script-policy
docs(build): note the Group Policy script block on libusb's version step
2026-10-24 11:26:29 +02:00
Adrià bfb504fc78 Merge pull request #8533 from Retr0G28/docs/libkernel-dup-directory-debt
docs(debt): drop the Windows directory dup gap from libkernel
2026-10-24 11:25:49 +02:00
Tripchipp f346a79f76 docs(debt): keep the TYPE=0 entry clear of the unnormalized S# line 2026-10-24 11:25:41 +02:00
Tripchipp a5c8c3249d docs(debt): link the TYPE=0 null image entry to the recompiler 2026-10-24 11:25:41 +02:00
Adrià ecdee3b51a Merge pull request #8453 from thuanquang/docs/debt-acb-atomic-gds-signature
docs(agc): drop the stale signature note from the ACB atomic GDS NID entry
2026-10-24 11:25:23 +02:00
Adrià 2af46e4bcf Merge pull request #8450 from thuanquang/docs/debt-converted-unorm-image-loads
docs(shader): remove the stale converted unorm image loads entry
2026-10-24 11:24:57 +02:00