Commit Graph
2740 Commits
Author SHA1 Message Date
Adrià 7d728b1098 Merge pull request #6041 from wachi35676/docs/build-wasm-flag
docs(build): list the ANYPS5_BUILD_WASM flag
2026-10-16 23:17:04 +02:00
Adrià 4986aca62e Merge pull request #6002 from CrimsonMac/docs/bitdefender-raise-exception-deadlock
docs(build): note Bitdefender Advanced Threat Defense hanging guest_raise_exception
2026-10-16 22:48:06 +02:00
Adrià 2fab88d102 Merge pull request #5945 from ErenYeager1836/feat/libkernel-sysctl-pagesize
feat(libkernel): report hw.pagesize through sysctl and sysctlnametomib
2026-10-16 22:31:11 +02:00
Adrià ac0427f612 Merge pull request #5928 from Kurenaiiiii/feat/libSceNet-show
feat(libSceNet): return success from ShowIfconfig and ShowNetstat
2026-10-16 22:30:58 +02:00
Adrià 04a8c2f6bf Merge pull request #5904 from pushkarreddyy/feat/libSceWebBrowserDialog-open-predetermined
feat(libSceWebBrowserDialog): implement sceWebBrowserDialogOpenForPredeterminedContent
2026-10-16 22:30:53 +02:00
Adrià 590bb1733a Merge pull request #5929 from Kurenaiiiii/feat/libSceNpWebApi2-abort
feat(libSceNpWebApi2): accept PushEventAbortHandle for known contexts
2026-10-16 22:23:48 +02:00
Adrià f5110b0666 Merge pull request #5796 from ps54all/feat/libscepsml-mfsr-setup
feat(psml): implement the MFSR shared-resource and 800 context setup
2026-10-16 22:23:42 +02:00
Adrià a88daac923 Merge pull request #5919 from Kurenaiiiii/feat/libSceGameUpdate
fix(libSceGameUpdate): return INVALID_ARGUMENT for null entitlement label
2026-10-16 22:23:37 +02:00
Adrià ea4cc112a0 Merge pull request #5916 from JosepBove/fix/ngs2-rack-voice-index-error
fix(ngs2): return the voice-index error from sceNgs2RackGetVoiceHandle
2026-10-16 21:54:28 +02:00
Adrià 42add156aa Merge pull request #5911 from BigDipsey/feat/ssl-connection-options
feat(libSceSsl): record connection verify options, minimum version and ALPN
2026-10-16 21:54:23 +02:00
Adrià 93eca8f7be Merge pull request #5902 from pushkarreddyy/feat/libkernel-setrlimit-nofile
feat(libkernel): allow lowering rlim_cur for RLIMIT_NOFILE in setrlimit
2026-10-16 21:54:11 +02:00
Adrià bafd3227a6 Merge pull request #5901 from KernelPanicNT/feat/libkernel-coredump-thread-context-info
feat(libkernel): answer sceCoredumpGetThreadContextInfo outside the coredump handler
2026-10-16 21:54:05 +02:00
Adrià 406fd9ea9b Merge pull request #5898 from mohammad-alosta/fix/ngs2-custom-filter-type-0
fix(libSceNgs2): support custom filter type 0 in Ngs2ApplyCustomParam
2026-10-16 21:43:56 +02:00
Adrià bc9833e39b Merge pull request #5887 from leorossi2005/feat/libkernel-umtx-microsecond-timeout
feat(libkernel): support microsecond timeout in size-0 _umtx_op
2026-10-16 21:43:51 +02:00
Adrià 542312b5de Merge pull request #5823 from xxLnolan/feat/convert-keycode-nonus-backslash
fix(keycode): map HID non-US backslash key
2026-10-16 21:23:41 +02:00
Adrià d96e0e554c Merge pull request #5772 from DavidSamir/fix/libc-empty-guest-environment
fix(libc): start the guest environment empty instead of copying the host's
2026-10-16 21:23:35 +02:00
Adrià 9158f031ca Merge pull request #5835 from AlexOfTheForest/feat/app0-zarchive
feat: read title files from a read-only app0.zar (ZArchive) layer
2026-10-16 21:23:25 +02:00
Adrià 6a6b171a26 Merge pull request #5699 from YossiYad/fix/loadexec-host-stderr
fix(libSceSystemService): give LoadExec's next executable the host standard error
2026-10-16 21:23:19 +02:00
Adrià db7d9de5e4 Merge pull request #5405 from Pipodi/feat/spanned-wave64-compute
feat(recompiler): run single-wave wave64 compute programs at one lane per invocation on 32-lane hosts
2026-10-16 21:05:55 +02:00
Adrià 24528f4e5a Merge pull request #5907 from simonbronk/feat/mixed-sample-truncate
feat(agc): rasterize a multisampled draw into one-sample targets at sample 0's locations
2026-10-16 21:05:45 +02:00
Adrià daf8913128 Merge pull request #5905 from hugodearaujo/fix/agc-prewarm-mapped-dma-buf
fix(agc): settle dma-buf imports on Linux on the settle queue
2026-10-16 21:05:30 +02:00
Adrià FranchandClaude 825b7934e7 docs(debt): cite FreeBSD's hw.pagesize OID, note the unmeasured PS5 value
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-16 20:55:50 +02:00
Nithishvelan M 76e05544a9 feat(libkernel): report hw.pagesize through sysctl and sysctlnametomib 2026-10-16 20:55:46 +02:00
Kurenaiiiii 0e329fc649 docs: move loader import debt to its library files 2026-10-16 20:51:06 +02:00
Kurenaiiiii f00b2ef833 feat(libSceNet): return success from ShowIfconfig and ShowNetstat 2026-10-16 20:51:06 +02:00
Adrià FranchandClaude 7f03455ba0 docs(debt): finish the OpenForPredeterminedContent line, note the unread allow-list argument
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-16 20:47:40 +02:00
pushkarreddyy f5882503b6 feat(libSceWebBrowserDialog): implement sceWebBrowserDialogOpenForPredeterminedContent 2026-10-16 20:47:36 +02:00
ps54allandClaude Opus 5.5 46fdfec852 fix(psml): check the shared resources and add the context under one lock
A concurrent scePsmlMfsrReleaseSharedResources could pass its "still used
by a context" check between the handle lookup and the context insertion.
The technical debt entry now says how KytyPS5's layout differs from the
calls in PPSA08330 and PPSA03016.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 20:41:44 +02:00
ps54allandClaude Opus 5.5 7ab3d441c1 feat(psml): implement the MFSR shared-resource and 800 context setup
scePsmlMfsrInit, the shared-resource calls and the 800M3_2 context calls
threw or answered "not initialized", so a title that sets PSSR up at
start-up stopped there even when it never uses PSSR on hardware without
it (PPSA08330 calls the setup unconditionally and only dispatches when
sceKernelIsTrinityMode is set, which AnyPS5 reports as 0).

The layouts come from the calls in PPSA08330 and PPSA03016: requirements
are {block bytes, alignment, block count}, handles are 8-byte values
written through the first argument, and a context parameter carries its
block list at 8/16 and the shared-resources handle at 0x38. Init sets
the initialized state, the requirements ask for four 2 MiB blocks (what
PPSA08330 allocates regardless of the returned count), and create and
release keep bookkeeping objects. Invalid arguments throw because their
error codes are unknown.

The 1100 calls, scePsmlMfsrCreateContext1300 and the 900/1000/1300
dispatch packets keep returning 0x8A810001 before Init and throw after
it; packet size, mip bias and capture still throw.

The guest test links libc and gets Windows unwinding so it can check the
refused calls.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 20:41:44 +02:00
Adrià 0936dc910a Merge pull request #5943 from zmeizy/claude/f16-conversion-float-mode
fix(shader): round and flush f16 conversion results by FLOAT_MODE in every denormal mode
2026-10-16 20:39:11 +02:00
Adrià 7600f3dd18 Merge pull request #5903 from jotitadev/docs/build-relinker-macos-output
docs(build): list Mach-O among relinker-only outputs
2026-10-16 20:37:43 +02:00
alosta f888a236bc fix(libSceNgs2): support custom filter type 0 in Ngs2ApplyCustomParam
Allow custom voice filter type 0 to clear the destination filter,
matching the sampler filter convention. Type 1 continues to configure
the biquad frequency, Q and level. Other unsupported filter types
still throw.

This follows the listener-transform support in
fix/libSceNgs2-listener-transform and is needed for Dead Cells
(PPSA15552), which reaches this path after the custom sampler rack.

Depends on: fix(libSceNgs2): support listener transforms in sceNgs2GeomCalcListener- #5810
Unblocks: PPSA15552
AI assistance: yes
2026-10-16 20:31:18 +02:00
Adrià f26eb67c89 Merge pull request #5877 from MarcZX100/docs/pps26344-call-sites-2355
docs(debt): record PPSA26344 call-site evidence
2026-10-16 20:29:30 +02:00
Adrià 79e5aff0e2 Merge pull request #5854 from MarcZX100/docs/trace-switches
docs(dev): list tracing environment switches
2026-10-16 20:29:11 +02:00
xxLnolan 127e111048 test(keycode): cover non-US backslash mapping 2026-10-16 20:24:35 +02:00
Alexej Szpevák d97d6efb1b fix(libkernel): refuse descriptor calls on app0.zar files
flock, fstatfs, ftruncate, fsync, fdatasync, getdirentries, fchmod, futimes and mmap on an archived descriptor acted on its null device and succeeded or failed with an unrelated errno. They now throw NotImplemented, each covered by the kernel archive test; mmap is noexcept, so its refusal is checked through the terminate handler.
2026-10-16 20:03:32 +02:00
Alexej Szpevák 9b911ed510 feat(libkernel): serve app0.zar files through the file calls
sceKernelOpen and open give an archived file a read-only null-device descriptor. Reads, positioned, vectored and AIO reads, seeks, fstat and FIONREAD are served from the archive; dup, dup2 and F_DUPFD share the position. sceKernelStat and sceKernelCheckReachability see archived paths.

Writing opens fail with EROFS, O_CREAT|O_EXCL with EEXIST and O_DIRECTORY on a file with ENOTDIR. Opening an archived directory or one merged with the disk throws until getdents can list it.
2026-10-16 20:03:32 +02:00
Alexej Szpevák b71434d9b7 feat(libc): read app0.zar beside app0 and refuse archive-only paths elsewhere
A ZArchive named app0.zar beside app0/ is a read-only layer under it. libc opens it at the first path resolution, looks paths missing from app0/ up case-insensitively, reads files across compressed blocks and keeps the archived descriptor table with shared positions.

Resolving an archive-only path through a call that does not read the archive throws instead of failing with ENOENT, as do opendir of a directory present in both places, fdopen of an archived descriptor and chdir into the archive. A path through .. in an archive-only directory resolves.
2026-10-16 20:03:26 +02:00
MarcZX100 931d209295 docs(debt): add PPSA26344 call-site details 2026-10-16 16:59:51 +00:00
pushkarreddyy 2de10e35ff feat(libkernel): allow lowering rlim_cur for RLIMIT_NOFILE in setrlimit 2026-10-16 20:33:46 +05:30
Adrià FranchandClaude 37db6a80b7 fix(agc): bound the async log's exit flush
On Windows the atexit handlers of a DLL run after the process has ended
its other threads, so the logger thread can be gone with lines still
queued and the unbounded Flush waits forever (guest_shader_link timed
out on 4 of the last 7 completed main builds since #6371). Run the bounded
FlushAtEnd there instead.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-16 14:30:15 +02:00
Alex ColliniandClaude Opus 5.5 5fb23f78de docs(debt): record how spanned barriers are checked and the full-subgroup rule
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 14:12:58 +02:00
Adrià 127e5bf826 Merge pull request #5872 from Sam-mon7/perf/lazy-shader-prepare
perf(agc): allow shader preparation on first use
2026-10-16 14:01:24 +02:00
Adrià bba8b293ba Merge pull request #5899 from ps54all/feat/shader-image-store-d16-sint
feat(shader): store D16 data to SINT storage images
2026-10-16 13:45:23 +02:00
Alex ColliniandClaude Opus 5.5 adf516f6f1 docs(debt): record why a spanned wave's LDS lock loop ballots per host subgroup
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 13:43:36 +02:00
Alex ColliniandClaude Opus 5.5 4adfa5fc72 docs(debt): record the Yotei device loss with APS5_SPANNED_WAVE=1
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 13:43:36 +02:00
hugodearaujo 9bd554a64e fix(agc): note where a map-time settle blocks, and expect settles only for dma-buf imports
An import made at map time settles inside the guest's map call, so the mapping thread waits while the kernel maps the pages. A device that imports shared memory through host pointers settles nothing, so the test expects a settle only for a dma-buf import.
2026-10-16 08:28:23 -03:00
Adrià 645644c488 Merge pull request #5884 from AnthonyClemens/fix/agc-geometry-line-strip-output
feat(agc): draw line-strip output of NGG geometry programs as mesh lines
2026-10-16 13:25:36 +02:00
Adrià 0615cd2b82 Merge pull request #5875 from adriadam10/perf/agc-pipeline-journal
perf(agc): journal the pipelines of a run and build them ahead on the next one
2026-10-16 13:19:18 +02:00
Adrià Franch d8c2b71d12 docs(debt): D16 SINT image stores measured on RDNA2 2026-10-16 13:18:43 +02:00