Commit Graph
12196 Commits
Author SHA1 Message Date
Adrià a7f27eb352 Merge pull request #6070 from fdfawef324/claude/libkernel-windows-precise-poll-waits
fix(libkernel): use precise waits for select and poll on pipes on Windows
2026-10-17 06:53:29 +02:00
Adrià e2e3d71ac2 Merge pull request #6072 from notaxeltv/feat/libc-logic-error-doraise-ppsa34015
feat(libc): raise logic_error::_Doraise and _Xruntime_error
2026-10-17 06:53:23 +02:00
Adrià c47a4dca52 Merge pull request #5967 from EagleBearerYS/fix/libscenet-timeval-timeouts
fix(libSceNet): read SO_RCVTIMEO and SO_SNDTIMEO as a timeval in sceNetSetsockopt
2026-10-17 06:53:19 +02:00
Adrià 83b233a010 Merge pull request #6063 from snipeTR/feat/opus-sample-rates-v2
feat(opus): decode at 8, 12, 16 and 24 kHz
2026-10-17 06:53:14 +02:00
Adrià 46be9d32e8 Merge pull request #6056 from notaxeltv/feat/libSceNpManager-unknown-fc27-exports
feat(libSceNpManager): export two unknown NIDs so PPSA34015 can load
2026-10-17 06:51:48 +02:00
Adrià 7c3bfa8632 Merge pull request #5962 from nikowolf123/feat/libc-crash-register-text
feat(libc): print the text that registers point at in Windows crash reports
2026-10-17 06:51:43 +02:00
Adrià a15c6fb961 Merge pull request #6062 from notaxeltv/feat/libSceVdecsw-sync-decode-ppsa34015
feat(libSceVdecsw): block on SyncDecodeInput/Output like TrySync
2026-10-17 06:51:39 +02:00
Adrià cfe6683f4b Merge pull request #6064 from JAB-dev/perf/sysmodule-unwind-region-cache
perf(libSceSysmodule): cache the unwind region of loaded images on Windows
2026-10-17 06:51:34 +02:00
Adrià bb6bea8093 Merge pull request #5966 from EagleBearerYS/fix/libscenet-unbound-datagram-receive
fix(libSceNet): let a datagram receive on an unbound socket wait on Windows
2026-10-17 06:51:29 +02:00
JJenkx e7ebd9df1e test(ajm): cover vibration decoding at supported sample rates 2026-10-17 00:48:16 -04:00
JJenkx 397902b7b9 fix(ajm): reject unsupported vibration PCM encodings 2026-10-17 00:48:16 -04:00
JJenkx d0f2684dce feat(ajm): decode ATRAC9 vibration channel configurations 2026-10-17 00:48:16 -04:00
Romans Pokrovskis 1ec58a5cd4 Merge commit '1271998d444c9f05a3330c96fc08d81c7e148bd4' into codex/validate-native-index-6590-main16 2026-10-17 07:40:59 +03:00
MarcZX100 f572ca8a04 chore(agc): tag dispatch IO traces with queue origin 2026-10-17 04:38:23 +00:00
Dean 16c607a937 Merge pull request #6925 from LeandroLP23/fix/agc-shader-helpers-shutdown
test(agc): shut libc down before agc_shader_helpers returns
2026-10-17 17:29:05 +13:00
Adrià 0906c64501 Merge pull request #6040 from Ondra97/codex/fix-ajm-opus-gapless-reset
fix(ajm): honor Opus gapless resets
2026-10-17 06:11:48 +02:00
Adrià 830edf86c6 Merge pull request #6049 from notaxeltv/feat/libSceNpPartner001-has-ea-access-ppsa34015
feat(libSceNpPartner001): answer sceNpHasEAAccessSubscription without an EA Access server
2026-10-17 06:11:44 +02:00
MarcZX100 800f045a73 fix(libkernel): filter host CA bundle to certificate blocks 2026-10-17 04:11:10 +00:00
Adrià 142f7555aa Merge pull request #6051 from Ondra97/codex/fix-ajm-live-instance-handles
fix(ajm): preserve live decoder handles across ID wrap
2026-10-17 06:10:21 +02:00
Adrià 31f02805fc Merge pull request #6029 from Ondra97/codex/fix-ngs2-callback-waveform
fix(ngs2): stop stale rendering after waveform callbacks
2026-10-17 06:10:16 +02:00
Adrià ed1beacd10 Merge pull request #6034 from notaxeltv/feat/libSceLoginService-ppsa34015
feat(libSceLoginService): load Initialize/Terminate so PPSA34015 can start
2026-10-17 06:10:11 +02:00
battleblob1andClaude Opus 5.5 9c5920b9f2 fix(libSceVideoOut): leave SDL's Windows.Gaming.Input joystick backend off
On a Windows 10 host with virtual gamepad buses, SDL's WGI backend
faults at Windows.Gaming.Input.dll+0x10a84 a few seconds into every
run (EVO Player PPSA99039: 26 of 26 runs). XInput and HIDAPI still
cover Xbox and DualSense controllers. Set at default priority, like
DIRECTINPUT, so SDL_JOYSTICK_WGI=1 turns it back on.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-17 07:03:54 +03:00
MarcZX100 17973bc52d fix(agc): report sampler device limits 2026-10-17 03:59:59 +00:00
Dean 07e7414819 Merge pull request #6261 from EdouardSence/fix/sparse-import-test-budget
test(agc): lift the host import budget in the sparse dma-buf import test
2026-10-17 16:48:16 +13:00
MarcZX100 45be3c0331 fix(agc): cover unaligned guest buffer views 2026-10-17 03:40:37 +00:00
Dean 739eb2eab4 Merge pull request #6993 from thuanquang/fix/gpu-map-on-fiber-thread
test(agc): map GPU memory on fibers with and without a host stack
2026-10-17 16:36:47 +13:00
Dean 2a2724ae75 Merge pull request #6359 from Amoenus/codex/test-untracked-store-pending-owner
test(agc): wait for the actual image in repeated untracked stores
2026-10-17 16:36:25 +13:00
TamaleroandClaude Opus 5.5 97a84e3261 fix(recompiler): hold 32 samplers in the runtime sampler heap
A pixel shader of PPSA16833 binds more than 16 samplers outside the
sampler tables. Each takes two heap entries, one per descriptor variant,
so the 32-entry heap refused it with "shader sampler pairs exceed runtime
heap capacity" and the title aborted when a new game started.

The heap now holds 64 entries (32 samplers). Its metadata array is part
of ShaderData, which grows from 14528 to 16064 bytes, still within the
16 KiB uniform buffer every Vulkan device supports; the runtime ABI
version moves to 13 so shaders cached with the old layout are rebuilt.
The overflow message names the sampler count.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-17 16:36:17 +13:00
Dean dfdc3dec4d Merge pull request #5280 from santhoshkumar-dev/codex/sandbox-ca-trust
feat(libkernel): serve the sandbox CA bundle from host TLS roots
2026-10-17 16:35:44 +13:00
MarcZX100 8359d82bb5 Merge remote-tracking branch 'upstream/pr-6695' into codex/fix-viewbytes-range-6999 2026-10-17 03:35:11 +00:00
Dean 29bfe31dd8 Merge pull request #6083 from n-delic/pr/sampler-pairs-v2
fix(shader): allow 32 sampler pairs per shader
2026-10-17 16:34:56 +13:00
Dean e4c10b56e5 Merge pull request #6589 from hashaam1217/test/intentional-abort-skips-crash-handler
test(libc): keep intentional aborts away from the system crash handler
2026-10-17 16:34:32 +13:00
Dean f99f3d1dca Merge pull request #6694 from MarcZX100/codex/coredump-config-dump-mode-6688
fix(libkernel): export sceCoredumpConfigDumpMode as an explicit stub
2026-10-17 16:34:12 +13:00
Dean e847d19793 Merge pull request #6225 from Amoenus/codex/test-recorder-gpu-selection
test(agc): honor GPU selection in recorder fixtures
2026-10-17 16:33:40 +13:00
Adrià ea5c27b53e Merge pull request #6025 from wh1trope/perf/dominator-bitsets
perf(shader): intersect dominator sets as bitsets
2026-10-17 05:30:45 +02:00
Adrià e3a8e44305 Merge pull request #6027 from nikowolf123/test/file-writer-own-executable
test(relinker): run the file writer's replacement test on a copy of itself
2026-10-17 05:27:59 +02:00
Adrià 30dadc2494 Merge pull request #6024 from KernelPanicNT/feat/libsceampr-cxa-call-unexpected
feat(libSceAmpr): implement __cxa_call_unexpected
2026-10-17 05:27:54 +02:00
JJenkx 64a7f53b9e perf(shader): validate optimizer input once 2026-10-16 23:22:45 -04:00
MarcZX100 ec780d902f test(shader): generate pixel lane proof regression 2026-10-17 03:22:06 +00:00
Adrià 2083bc700f Merge pull request #6020 from KernelPanicNT/feat/libsceappcontent-addcont-download-progress
feat(libSceAppContent): implement sceAppContentGetAddcontDownloadProgress
2026-10-17 05:15:31 +02:00
Nithishvelan M 63cfca8466 feat(libSceUserService): declare KeyremapEnable and Zoom as throwing stubs 2026-10-17 08:43:48 +05:30
MarcZX100 f7e6131565 fix(agc): fall back when host-write alias is refused 2026-10-17 03:01:05 +00:00
Dean bfcf02e3a8 Merge pull request #6385 from Neithennn/fix/store-over-untracked-neighbour-wait
test(agc): keep waiting for the neighbour copy case's result
2026-10-17 15:58:07 +13:00
thuanquangandClaude Opus 5.5 d5dbce438a test(agc): map GPU memory on fibers with and without a host stack
Since #6003 a fiber with a context of 64 KiB or more runs on the
context itself, so the 64 KiB fiber of agc_driver_gpu_map_on_fiber
imports its mapping on a host thread on Windows too, and the test's
Windows-only expectation of no thread failed. The test now also maps
on a 16 KiB fiber, which keeps a host stack and imports on it on
Windows, and expects one import thread for the 64 KiB fiber on every
platform.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-17 09:50:32 +07:00
Nicolas Abosch 0469be9e9c Merge remote-tracking branch 'origin/main' into perf/gpu-wake-sleeps
# Conflicts:
#	docs/dev/debt/libkernel.md
2026-10-16 23:40:36 -03:00
BasilF ded05f5287 fix(agc): defer unrouted vertex barriers 2026-10-17 05:27:32 +03:00
Santhosh Kumar eb26fb97f8 fix(libkernel): filter sandbox TLS roots and preserve path overrides 2026-10-17 02:25:41 +00:00
screammandClaude Fable 5.1 9f4a8d6ec5 feat(libkernel): serve the console CA list from the host trust store
Titles that bundle OpenSSL load the console's CA file from the sandbox
directory and fail every HTTPS request without it. ProsperoRadio
(PPSA99001, libcurl 8.18.0 + OpenSSL 3.5.2) on main + #4796 + #4525:

  [ProsperoRadio][http] https://all.api.radio-browser.info/json/servers: Problem with the SSL CA cert (path? access rights?) (error adding trust anchors from file: /gkbHtXc3Wq/common/cert/CA_LIST.cer)

SwanStation (PPSA98510) stops on the same file (#5001).

The guest path resolver now accepts exact-path providers, and libkernel
registers one for /<sceKernelGetFsSandboxRandomWord()>/common/cert/CA_LIST.cer.
On first use it writes a PEM bundle once per process to
cert_cache/CA_LIST.cer in the run directory, read-only: on Windows the
current user's ROOT and CA system stores, elsewhere SSL_CERT_FILE or the
first distro bundle that exists. Without a certificate the path keeps
resolving under the guest root and does not exist, as before. Every other
path under the sandbox word is unchanged. The console file's format and
the rest of its common/cert directory are unverified and recorded in
docs/dev/debt/libkernel.md.

With this change, #4796, #4525 and #5025 on Windows 11, 60 s each:

  [ProsperoRadio][http] 11846160 bytes in 1458 ms: 1161 passes, 803 waits (679 woken) for 1428 ms
  [ProsperoRadio][catalog] page offset=0 bytes=11846160 objects=10000 accepted=9549 total=9549
  ...
  [ProsperoRadio][catalog] page offset=60000 bytes=1712035 objects=1494 accepted=1436 total=59371

  [SwanStationPS5] update: latest 1.2.5, this 1.1.3, available
  [SwanStationPS5] gamedb: index written

Co-Authored-By: Claude Fable 5.1 <[email protected]>
2026-10-17 02:24:02 +00:00
Adrià 1cdaed073d Merge pull request #6016 from akkadbakkad89/feat/missing-lib-exports
feat(libc): export the fmin and fmax family
2026-10-17 04:14:54 +02:00
Adrià 8566becc1c Merge pull request #6019 from KernelPanicNT/feat/libscefont-text-codes
feat(libSceFont): implement sceFontCharactersRefersTextCodes and text code stepping
2026-10-17 04:14:50 +02:00