Commit Graph
12196 Commits
Author SHA1 Message Date
Adrià 6059b85439 Merge pull request #5968 from MarcZX100/codex/audio3d-supported-attrs-5954
feat(libSceAudio3d): report supported port attributes
2026-10-17 00:15:45 +02:00
Adrià 5f06c534a3 Merge pull request #5939 from Amoenus/codex/msaa-dcc-main5a6
feat(agc): import uniform multisampled DCC fast clears
2026-10-17 00:15:40 +02:00
Adrià 7b63ccbc93 Merge pull request #5970 from Ondra97/codex/fix-pad-command-unicode-path
fix(pad): read controller commands from Unicode paths
2026-10-17 00:15:35 +02:00
Yunus Shaikh 890c321842 fix(agc): give the overlay's view the transfer usage of its pass layouts
The overlay's render pass starts in the layout the image was left in and
ends in the one its caller needs next, but the attachment view allowed only
COLOR_ATTACHMENT usage. A pass that starts in TRANSFER_DST_OPTIMAL (the
present path when nothing was drawn, and the tests) or ends in
TRANSFER_SRC_OPTIMAL (the tests' readback) then broke
VUID-vkCmdBeginRenderPass-initialLayout-00898 and -00899. The view now
also allows TRANSFER_DST or TRANSFER_SRC when the pass names that layout.
Swapchain images have TRANSFER_DST and their pass ends in PRESENT_SRC, so
the present path asks only for that; the test's cost report image, whose
pass ends in TRANSFER_SRC_OPTIMAL, is now created with TRANSFER_SRC.
2026-10-16 15:04:35 -07:00
Zinebyte ed1884134f test(relinker): provide kernel fixture for guest finalizers 2026-10-16 17:56:47 -04:00
Zinebyte 56b43aae5a fix(relinker): scope host dependencies to required guest modules 2026-10-16 17:56:01 -04:00
notaxeltvandCursor af9d039d61 feat(libSceNpManager): export two unknown NIDs so PPSA34015 can load
Co-authored-by: Cursor <[email protected]>
2026-10-16 23:40:42 +02:00
notaxeltvandCursor cb6c305038 feat(libSceVdecsw): block on SyncDecodeInput/Output like TrySync
Co-authored-by: Cursor <[email protected]>
2026-10-16 23:38:33 +02:00
NikoandClaude Opus 5.5 b263cbbb1b feat(libc): print the text that registers point at in Windows crash reports
Unreal titles end in their own libc fatal path with the UTF-16
LowLevelFatalError message in a register, and the crash report shows
only the first 64 bytes of it as hex words, so the message is lost
(#4238: Demon Slayer PPSA03490, Stray PPSA02100).

For every general register that points at readable memory starting
with at least four printable ASCII characters, as UTF-16LE or as single
bytes, the report now prints the text up to a NUL, the first other
character, 512 characters or the end of readable memory (each page is
checked with VirtualQuery before it is read).

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-16 23:33:43 +02:00
Adrià eac5d8db12 Merge pull request #5956 from alexpournaras/feat/voice-get-port-attr
feat(libSceVoice): implement sceVoiceGetPortAttr
2026-10-16 23:29:52 +02:00
Adrià 5b70a50680 Merge pull request #5955 from fma-rc/fix/libkernel-linux-guest-module-protect
fix(libkernel): register a relinked guest module's image when Linux protects its pages
2026-10-16 23:29:46 +02:00
Adrià 6e6677601f Merge pull request #5960 from KernelPanicNT/fix/export-phasmophobia-psvr2-imports
fix(exports): export the PS VR2 calls Phasmophobia's psvr2.prx imports
2026-10-16 23:25:34 +02:00
alfalfa-starandClaude Opus 5.5 ac64ea4524 test(agc): require the GPU route for the indirect rect-list draws
agc_driver_rect_list_indirect compared the indirect draws' output with
the direct draws only, so it also passed when the records were read on
the CPU. Its records lived in a static array that is not guest memory,
so every indirect draw fell back to the CPU path as not imported.

The records now sit in a registered 64 KiB guest allocation, the test
turns on APS5_PROFILE_DRAW and reads the indirect-draw counters through
the new Graphics::IndirectDrawCounts, and it requires all four indirect
draws on the GPU path. It fails with APS5_NO_RECT_INDIRECT=1 and with
the IndirectDraw.cpp and Draw.cpp changes reverted (4 non-vertex path).

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-16 23:20:51 +02:00
jradicandClaude Opus 5.5 75d29f5b3f fix(libkernel): allocate the Windows thread-local slot on first use
WindowsThreadLocal<T>::slot was a template static, so its dynamic
initialization was unordered against the timer self-test in Time.cpp.
With APS5_TRACE_TIMERS set, the self-test ran first, used slot 0 and
aborted every title with "Cannot bind native thread state". The slot is
now a function-local static. guest_nanosleep_timer_self_test runs
guest_nanosleep_tests with APS5_TRACE_TIMERS=1 on Windows.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01KwsvKtVsZDLefysUM9m2QS
2026-10-16 16:03:14 -05:00
ivica00 4a2b7d34f2 perf(agc): pipeline DMA_DATA by default without losing earlier writes
A copy reads its source when the pipeline runs it, so it sees the fill ahead of it. Large immediate fills stay buffer fills, host copies stay counted, and marker push and pop still update the queue.
2026-10-16 23:03:00 +02:00
Hussein Kadhim 0d188ba6bd fix(libkernel): validate the address before refusing connect on a listening socket
FreeBSD reads and checks the address (getsockaddr) before soconnect refuses a listening socket with EOPNOTSUPP, so a null or short address on a listener fails with the address error. Move the listener check after the address is read and keep it ahead of the family check.
2026-10-16 20:50:53 +00:00
Hussein Kadhim 80a7ccddf2 fix(libkernel): fail connect on a listening socket with EOPNOTSUPP
FreeBSD's soconnectat refuses a socket with SO_ACCEPTCONN set with EOPNOTSUPP (45). The host answers EINVAL on Windows and EISCONN on Linux, so connect() on a listening stream socket returned the host's error. Answer EOPNOTSUPP for a listening stream socket before the address is read.
2026-10-16 20:50:44 +00:00
MarcZX100 e35c62c84c test(libScePad): remove obsolete stub-only export check 2026-10-16 20:40:53 +00:00
MarcZX100 4ae8caac9a fix(libScePad): refuse unknown NID calls with open controller 2026-10-16 20:40:53 +00:00
MarcZX100 513694a848 docs(libScePad): record unknown NID probe limits 2026-10-16 20:40:45 +00:00
MarcZX100 b85f017e5e fix(libScePad): return measured status for unknown Pad export 2026-10-16 20:40:45 +00:00
Leonardo Baldazzi 742aeb4211 fix(avplayer): preserve caller-paced delivery in no-sync mode 2026-10-16 22:35:36 +02:00
Leonardo Baldazzi bd9d10b4ce fix: correct audio-video playback timing and sync 2026-10-16 22:35:30 +02:00
Romans Pokrovskis 83aeed1f3e Merge remote-tracking branch 'origin/main' into codex/followup-msaa-geometry-6444-main590b 2026-10-16 23:35:19 +03:00
Romans Pokrovskis b4e66bfde8 fix(agc): complete sampled MSAA geometry after fragment sizing 2026-10-16 23:33:49 +03:00
Yuri Olive 11f1347a33 Merge branch 'main' of https://github.com/boykopovar/AnyPS5 into feat/pad-missing-exports
# Conflicts:
#	docs/dev/debt/libScePad.md
2026-10-16 17:33:36 -03:00
Romans Pokrovskis 54d941941c test(agc): cover MSAA geometry metadata and linear descriptors 2026-10-16 23:32:07 +03:00
Romans Pokrovskis d33fdaa870 test(agc): cover sampled multisample surface footprints 2026-10-16 23:31:39 +03: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
Romans Pokrovskis 6f0f2d5960 Merge remote-tracking branch 'refs/remotes/origin/pr6444' into codex/followup-msaa-geometry-6444-main590b 2026-10-16 23:31:10 +03:00
Adrià a067dc2418 Merge pull request #5938 from xXPBSXx/fix/libkernel-close-waits-positioned-transfer
fix(libkernel): make close wait for a positioned transfer on the same descriptor
2026-10-16 22:31:04 +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à e576db754f Merge pull request #5944 from Ondra97/codex/fix-avplayer-callback-close
fix(avplayer): close safely from event callbacks
2026-10-16 22:29:32 +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
MarcZX100 2b8e37ae0a fix(libkernel): log resolved paths for failed opens 2026-10-16 20:18:57 +00:00
Dean Galvin b816673fb5 fix(libSceMouse): take the position arguments of sceMouseResetAbsolutePosition
A call site passes the handle and then x and y as zero-extended 16-bit values (the centre of the display size), and ignores the result.
2026-10-16 22:10:10 +02:00
Masud 6b28b803fc feat(libSceMouse): implement sceMouseResetAbsolutePosition 2026-10-16 22:10:10 +02:00
jagrat Singh a637ffc727 fix(libSceSsl): align certificate and name entry readers with PS5 context ABI 2026-10-16 22:04:44 +02:00
jagrat Singh f91f2effb9 feat(libSceSsl): implement certificate serial and name entry readers
Implement sceSslGetSerialNumber, sceSslGetSubjectName, sceSslGetIssuerName, sceSslGetNameEntryCount, sceSslGetNameEntryInfo, and sceSslFreeSslCertName. Signatures follow VitaSDK. Mbed TLS extracts the certificate's serial number and X.509 subject and issuer distinguished names, extracting OID attribute short names (or numeric strings) and value strings.
2026-10-16 22:04:44 +02:00
JJenkx b4a93cd91b test(ngs2): expect PS5 handle errors in render checks 2026-10-16 16:02:31 -04:00
JJenkx 5637c958c4 fix(ngs2): use PS5 system and rack handle errors 2026-10-16 16:02:31 -04:00
RickandClaude Opus 5.5 ff1de9150d fix(libSceSystemService): report the host time zone and summer time
sceSystemServiceParamGetInt answered 0 for the time zone (parameter 4)
and summer time (parameter 5), so the console looked set to UTC while
libSceRtc and libc convert local time with the host's zone. Titles add
the time zone in minutes and 60 more minutes when summer time is 1 to
UTC to get the local time (Apollo, GoldHEN's frame logger). Both now
follow the host's local time zone: summer time is whether it is in
effect, and the time zone is the current offset east of UTC less the
summer time shift while it is.

On Windows that shift is the C runtime's own summer time bias
(_get_dstbias), the one localtime_s applied, not a fixed 60 minutes.
The UCRT reads the system zone when libc.prx loads and keeps that
zone's bias after TZ is set later, so on a host whose system zone has
no summer time (the CI runner's UTC) a TZ of CET-1CEST shifted by 0 and
the time zone came out as 0. The cause and the change are screamm's,
from the review.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
2026-10-16 21:59:57 +02:00
alosta b630e7897b fix(libSceNgs2): implement a minimal sceNgs2GeomApply pass-through
Implement sceNgs2GeomApply, which was previously an unimplemented
throwing stub and was blocking Dead Cells (PPSA15552).

The implementation validates null handles/output addresses and writes a
minimal Ngs2GeomAttribute: pitch_ratio 1.0, source position, source
volume/level maxima, and diagonal channel levels for the source's channel
count. It does not implement source attenuation, distance rolloff, panning
or Doppler.

The export lives in Geom.cpp's internal Ngs2GeomApply and is exposed through
the existing default-visibility wrapper in Voice.cpp. Unimplemented.cpp no
longer defines the stub. A passing test was added to Ngs2Geom.cpp.

Unblocks: PPSA15552 #<Game bring-up discussion number>
Depends on: none
AI assistance: yes
2026-10-16 21:59:08 +02:00
JJenkx 1b70ce290f fix(agc): transition the resident attachment subresources 2026-10-16 15:54:43 -04: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à 852185a8ac Merge pull request #5959 from fdfawef324/codex/prepared-flow-replay
feat(agc): replay prepared shader capture and materialization offline
2026-10-16 21:54:18 +02:00