Commit Graph
7963 Commits
Author SHA1 Message Date
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
Adrià bed6e7258f Merge pull request #8451 from thuanquang/docs/debt-buffer-label-eop-flip
docs(videoout): point the buffer label entry at sceVideoOutSubmitEopFlip
2026-10-24 11:24:53 +02:00
Adrià feffbca83e Merge pull request #8425 from thuanquang/docs/debt-packed-ancillary-whole-word
docs(shader): say that the whole packed ancillary word carries the layer field too
2026-10-24 11:24:32 +02:00
Adrià 1c9ccc7386 Merge pull request #8420 from thuanquang/docs/debt-ngg-registered-programs
docs(agc): say that registered NGG vertex programs take the mesh path too
2026-10-24 11:24:10 +02:00
Adrià 67bcd19b8b Merge pull request #8424 from thuanquang/docs/debt-alpha-to-coverage-dithered
docs(agc): drop the stale "only" from the alpha-to-coverage entry
2026-10-24 11:24:04 +02:00
Adrià 20af9f8aa3 Merge pull request #8423 from thuanquang/docs/debt-depth-surface-retire-whole-plane
docs(agc): say that only a whole-plane storage write retires a depth surface
2026-10-24 11:23:42 +02:00
Adrià ca9543ea5a Merge pull request #8419 from thuanquang/docs/debt-agc-allocation-host-fallback
docs(agc): say that a refused device allocation falls back to host memory before throwing
2026-10-24 11:21:53 +02:00
Adrià 7eda9aad20 Merge pull request #8412 from thuanquang/docs/debt-depth-storage-other-level
docs(agc): drop another level from the reused depth storage refusals
2026-10-24 11:21:36 +02:00
Adrià 11d08593b6 Merge pull request #8410 from thuanquang/docs/debt-f32-compare-denormal-modes
docs(shader): say that the f32 compares do not throw in f32 denormal modes 1 and 2
2026-10-24 11:21:31 +02:00
Adrià 6b4cf8c731 Merge pull request #8408 from thuanquang/docs/debt-amm-submit-queue
docs(libkernel): say that an AMM command buffer may run after its submission returns
2026-10-24 11:21:27 +02:00
Adrià 4007c64f1e Merge pull request #8406 from thuanquang/docs/debt-interp-f16-lavapipe
docs(shader): drop the stale lavapipe skip from the 16-bit interpolation entry
2026-10-24 11:19:46 +02:00
Adrià 4b4f67aa1b Merge pull request #7953 from kiaramaldonado/docs/rosetta-m2-macos14
docs(relinker): record Rosetta instruction support on an M2 with macOS 14.8.9
2026-10-24 11:19:42 +02:00
Adrià 51e17a78bc Merge pull request #8403 from thuanquang/docs/debt-unnormalized-sampler-uses
docs(shader): list the samples unnormalized S#s are accepted for
2026-10-24 11:19:24 +02:00
Adrià 1618d6602e Merge pull request #8401 from thuanquang/docs/debt-descriptor-pool-lavapipe
docs(agc): say that only lavapipe frees descriptor sets individually
2026-10-24 11:18:46 +02:00
jacob6769 e599306514 Merge remote-tracking branch 'origin/main' into fix/libressl-digest-version-paths
# Conflicts:
#	docs/dev/debt/libSceLibreSsl.md
2026-10-24 18:18:03 +09:00
Adrià FranchandClaude Sonnet 5.5 387f069744 chore(libkernel): drop code comments from the kqueue tests and move the timer debt line off the section end
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-24 11:13:43 +02:00
blawesom 681cfa1170 fix(libkernel): refuse a timer modify with fflags and pin the disabled timer's enable re-arm
- a timer change with EV_ADD unset and data 0 keeps the period; one that set
  fflags was silently ignored, where FreeBSD 11's kqueue_register copies it
  onto the note: it now throws with the other re-adds, waiting for the
  measured rules
- EV_ENABLE on a disabled timer reports the expiries missed while disabled in
  one step and keeps the note's phase, as FreeBSD 11's filt_timerexpire counts
  a disabled note and keeps its p_nexttime; TimerDisableEnableRearm pins it
  (5 serial runs and 3 rounds of 8 parallel copies pass)
- the next-wait abort from the review round was observed before main's
  5cbc46029b wait refactor and does not reproduce
2026-10-24 11:13:43 +02:00
Nawasfadili 29a6fc7169 fix(libkernel): retire an EV_ONESHOT note through its delete callback and follow Windows $Deleted paths
Carries the additive pieces of #6510 onto main after its feature was
superseded by #5847: the deleteEventFunc invocation when an EV_ONESHOT
note retires in CollectTriggered, the Windows $Deleted path detection
in FileEvent (IsDeleted transitions), the relaxed timer-modify and
SetVnodeNotes guards, and the compatible kevent tests.
2026-10-24 11:13:43 +02:00
Dean 19cb822f84 Merge pull request #9033 from HQasper/claude/project-thread-w0s18y-aes
feat(libSceLibreSsl): implement the low-level AES functions
2026-10-24 22:13:35 +13:00