Commit Graph
7981 Commits
Author SHA1 Message Date
Dean 524398151f Merge pull request #8807 from ycbuzi/fix/agc-driver-frame-dump-wait
fix(agc-driver): make the presenter wait for a full frame dump queue
2026-10-22 17:50:26 +13:00
Ondra97 175b8128a9 fix(ult): preserve sync objects if finalization allocation fails 2026-10-22 06:41:27 +02:00
jagrat Singh a7d4d04066 feat(libSceNet): implement sceNetShowRouteWithMemory 2026-10-22 10:10:29 +05:30
Yunus Shaikh f7d4e920ca Merge main into fix/agc-address-copy-evict-main 2026-10-21 21:30:41 -07:00
David 05b7d20aed Merge remote-tracking branch 'origin/main' into feat/libkernel-sys-aio
# Conflicts:
#	docs/dev/debt/libkernel_sys.md
2026-10-22 05:29:56 +01:00
Dean ab347d144d Merge pull request #8534 from ycbuzi/pr/windows-reparse-non-link
fix(libkernel): answer Windows reparse points that are not links
2026-10-22 17:22:28 +13:00
Dean 746bdd8041 Merge pull request #8550 from Retr0G28/fix/fopen-directory-read-windows
fix(libc): open a directory with fopen in a read mode on Windows
2026-10-22 17:22:22 +13:00
Dean 942dec44b4 Merge pull request #8598 from Ondra97/codex/fix-net-epoll-lifetime
fix(libSceNet): retire invalidated epoll registrations
2026-10-22 17:22:18 +13:00
erickerxhalliandClaude Opus 5.5 581905d997 docs(libkernel_sys): record which SDK field sceKernelGetCompiledSdkVersion reads
The PS5 payload SDK declares the process parameters with a 32-bit PS4
SDK version at offset 0x10 and a 32-bit PS5 SDK version at 0x14, not
one 64-bit field. The debt entry now states that the export returns the
field at 0x10, as libSceHmd2 and shadPS4 read it, and that which field
the console returns is unmeasured. The test puts different values at
0x10 and 0x14 instead of one 64-bit value with its upper half set.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01WYjMwvLdPR8iX8EP8tQYWa
2026-10-22 04:20:28 +00:00
jagrat Singh 08d4c3cb41 feat(libSceNet): implement sceNetShowPolicy 2026-10-22 09:49:11 +05:30
Dean c61d20f548 Merge pull request #8087 from harry-z-kang/codex/windows-seh-runtime
feat(windows): support MSYS2 GCC runtime builds
2026-10-22 17:13:47 +13:00
thuanquangandClaude 6e1f2f4284 docs(agc): say that only a whole-plane storage write retires a depth surface
Co-Authored-By: Claude <[email protected]>
2026-10-22 11:05:45 +07:00
jagrat Singh 36bc227284 feat(libSceNpTrophy2): implement sceNpTrophy2GetRewardIcon
Implement sceNpTrophy2GetRewardIcon matching PPSA06888 and SharpProspero signatures. Zeroes size if non-null and returns SCE_NP_TROPHY2_ERROR_ICON_FILE_NOT_FOUND following KytyPS5 when icons are unavailable offline. Updates guest tests and technical debt documentation.
2026-10-22 09:35:00 +05:30
Dean 3e37e08e6a Merge pull request #8135 from mrfelek/docs/game-testing-budgets
docs(dev): name the memory budgets and the sleeping-display stop in the game testing guide
2026-10-22 17:03:22 +13:00
thuanquangandClaude 0efe28a839 fix(agc): draw line lists and strips into a multisampled target with MSAA_ENABLE clear
A line list or strip drawn with PA_SC_AA_CONFIG above 1x and
PA_SC_MODE_CNTL_0.MSAA_ENABLE clear threw, and METAL GEAR SOLID: Peace
Walker (PPSA18216) draws such lines into its 4x target. They now take
the path triangles already take in this state: the target's sample
count with every sample at the pixel center, or one sample under a
one-sample color target.

The refusal now reads the primitive the draw rasterizes
(RasterPrimitiveOf) instead of VGT_PRIMITIVE_TYPE: a point list that a
geometry program turns into triangles or lines is drawn as those, and
rasterized points and alpha-to-coverage still throw. No draw on main
rasterizes points in this state, because a vertex-path point list and
a geometry program's point output throw earlier; the point term takes
effect once they are drawable, as with #6801.

The new GPU test decodes a line list and a line strip into a 4x target
in this state with DecodeState, draws the decoded state, and requires
every pixel to be covered in all four samples or in none.

Co-Authored-By: Claude <[email protected]>
2026-10-22 10:48:35 +07:00
thuanquangandClaude 1d6c0bbb1f docs(libSceNgs2.native): point the mastering voice gain entry at the AudioOut2 entries in libSceAudioOut
Co-Authored-By: Claude <[email protected]>
2026-10-22 10:45:02 +07:00
thuanquangandClaude eceec15c61 docs(libkernel): drop the stale 32-signal limit from the pthread_sigmask entry
Co-Authored-By: Claude <[email protected]>
2026-10-22 10:44:59 +07:00
Kang, Harry Zixuan 726edc503b feat(windows): support MSYS2 GCC runtime builds 2026-10-21 20:29:55 -07:00
hypermist dfa27f30c2 Merge remote-tracking branch 'upstream/main' into fix/agc-semaphore-memory-firmware
# Conflicts:
#	core/libs/prx/libSceAgc/Misc/src/Semaphore.cpp
#	core/libs/prx/libSceAgc/Unimplemented.cpp
#	core/libs/prx/libSceAgc/tests/Semaphore.cpp
#	docs/dev/debt/libSceAgc.md
2026-10-22 16:19:38 +13:00
hypermist 4e6f90febe Merge remote-tracking branch 'upstream/main' into fix/np-session-signaling-lookups
# Conflicts:
#	core/libs/prx/libSceNpSessionSignaling/Export.cpp
#	docs/dev/debt/libSceNpSessionSignaling.md
2026-10-22 16:17:43 +13:00
ShinMalphur 24b7977241 Merge branch 'main' into feat/net-ether-address-parser 2026-10-22 09:44:29 +06:30
hypermist fd3ce4b0c5 Merge remote-tracking branch 'upstream/main' into feat/web-browser-dialog-cookies
# Conflicts:
#	core/libs/prx/libSceWebBrowserDialog/Export.cpp
#	docs/dev/debt/libSceWebBrowserDialog.md
2026-10-22 16:05:14 +13:00
Yunus Shaikh db33bdb16a feat(libkernel): add scePthreadMutexattrSetkind
The SCE name moves from a libkernel_sys stub to libkernel. Kinds
MutexType::ErrorCheck (1) to MutexType::Adaptive (4) are the mutex
types FreeBSD 11 libthr's pthread_mutexattr_setkind_np stores, and are
set through scePthreadMutexattrSettype, which maps the same values onto
those types. Other kinds and a null or uninitialized attribute throw, as
their console answer is not known.

guest_kernel_sys_pthread_np_kind round-trips kinds 2, 3, 4 and 1
through pthread_mutexattr_gettype, checks that kind 1 makes a second
lock return EDEADLK and kind 2 lets it succeed, and checks the throws
for kinds 0, 5 and -1 (the type unchanged) and for a destroyed or null
attribute.
2026-10-22 03:02:46 +00:00
Yunus Shaikh 0d81fe5712 feat(libkernel): add pthread_rwlockattr_settype_np
The POSIX name moves from a libkernel_sys stub to libkernel and stores the
type through its SCE twin scePthreadRwlockattrSettype, converting the
result as the other POSIX rwlock calls do.

guest_kernel_sys_pthread_np_rwlockattr checks types 0, 1 and 2 through
both names, a rwlock built from the attribute, and the throws for a
destroyed or null attribute.
2026-10-22 03:02:46 +00:00
hypermist 1f8d4769b4 Merge remote-tracking branch 'upstream/main' into fix/coredump-set-user-data-type
# Conflicts:
#	core/libs/prx/libkernel/System/src/Coredump.cpp
#	core/libs/tests/GuestCoredumpUserData.cpp
2026-10-22 15:54:42 +13:00
Kraken 40c7168f9c Merge remote-tracking branch 'origin/main' into feat/libkernel-pthread-timedjoin 2026-10-22 03:48:39 +01:00
Dean 44661db263 Merge pull request #8973 from rooklz/fix/linux-console-base
fix(relinker): load Linux executables at 0x400000 by default
2026-10-22 15:24:38 +13:00
hypermist dbd82809cc Merge remote-tracking branch 'upstream/main' into feat/screenshot-state-overlay
# Conflicts:
#	core/libs/prx/libSceScreenShot/Export.cpp
#	docs/dev/debt/libSceScreenShot.md
2026-10-22 15:24:22 +13:00
hypermist 2bd2a875b2 Merge remote-tracking branch 'upstream/main' into feat/audioin-pad-embedded-mic
# Conflicts:
#	docs/dev/debt/libSceAudioIn.md
2026-10-22 15:14:15 +13:00
blu 9897260c6e Merge branch 'boykopovar:main' into pr/windows-reparse-non-link 2026-10-21 19:08:16 -07:00
Queuze 09efadc0fe fix(net): truncate TCP_NODELAY readback 2026-10-21 23:07:48 -03:00
hypermist 55de3d4572 Merge remote-tracking branch 'upstream/main' into feat/gamelivestreaming-program-info
# Conflicts:
#	core/libs/prx/libSceGameLiveStreaming/Export.cpp
#	core/libs/tests/GuestGameLiveStreaming.cpp
#	docs/dev/debt/libSceGameLiveStreaming.md
2026-10-22 15:04:34 +13:00
blu 445a549d88 Merge branch 'boykopovar:main' into fix/agc-driver-frame-dump-wait 2026-10-21 19:04:09 -07:00
blu c08e752fef Merge branch 'boykopovar:main' into feat/libkernel-sigintr 2026-10-21 19:03:58 -07:00
blu b440d11cbb Merge branch 'boykopovar:main' into feat/libc-siginterrupt 2026-10-21 19:03:47 -07:00
blu 2a796cb447 Merge branch 'boykopovar:main' into feat/libc-num-get-objects 2026-10-21 19:03:38 -07:00
hypermist 9f6a71b6a5 Merge remote-tracking branch 'upstream/main' into feat/ajm-wvorbis-header-packet
# Conflicts:
#	core/libs/prx/libSceAjm.native/Export.cpp
#	docs/dev/debt/libSceAjm.native.md
2026-10-22 15:02:48 +13:00
Queuze a84d3c46c8 feat(net): expose stream and datagram protocol 2026-10-21 23:02:48 -03:00
hypermist 1898466430 Merge remote-tracking branch 'upstream/main' into fix/libs-firmware-constants-4
# Conflicts:
#	docs/dev/debt/libSceHttpCache.md
2026-10-22 14:51:35 +13:00
hypermistandClaude Opus 5.5 e8abcba78f docs(agc): add the console's measured workload packet details
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01RbLgECLQ2bpDM7oe2urGZK
2026-10-22 14:43:14 +13:00
hypermist bea151e189 Merge remote-tracking branch 'upstream/main' into feat/agc-acb-workload-packets
# Conflicts:
#	docs/dev/debt/libSceAgc.md
2026-10-22 14:43:07 +13:00
hypermistandClaude Opus 5.5 d1e66e95ca docs(libc): shorten the char16/char32 conversion entry
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01RbLgECLQ2bpDM7oe2urGZK
2026-10-22 14:42:24 +13:00
Yunus Shaikh a644459114 feat(hmd): report no VR2D session without a headset
Nothing runs in VR2D without a headset, so sceHmdInternalIsGameVr2d,
IsMiniAppVr2d, IsCommonDlgVr2d and IsCommonDlgMiniAppVr2d return false,
the answer the console gives to the same four queries in libSceHmd2.
2026-10-22 01:34:36 +00:00
Yunus Shaikh 8e462a6bcc feat(hmd): refuse distortion and 2D VR command queries without a headset
sceHmdOpen never issues a handle without a headset, so the distortion
correction, wide-near correction and 2D VR command queries, and their
sceHmdDistortion* export aliases, answer as the other handle queries:
NOT_INITIALIZED before sceHmdInitialize and HANDLE_INVALID after it,
leaving the command buffer unwritten.
2026-10-22 01:33:53 +00:00
hypermist 193d3c000d Merge remote-tracking branch 'upstream/main' into fix/libc-utf8-multibyte 2026-10-22 14:30:27 +13:00
hypermist 7ef7653590 Merge remote-tracking branch 'upstream/main' into fix/audioout2-mastering-state
# Conflicts:
#	docs/dev/debt/libSceAudioOut.md
2026-10-22 14:20:02 +13:00
Queuze 4e7559ae9a fix(libSceNet): reject nonpositive socket buffers 2026-10-21 22:06:30 -03:00
xXPBSXxandClaude Sonnet 5.5 6b2be773aa docs(debt): say "several titles" in the storage image refusal entry
A fourth title reached the refusal on another GPU and OS (reported on the
PR), so the entry no longer names a count.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-22 03:01:05 +02:00
Yunus Shaikh 4d57a206c7 test(libc): check private collects against a region query under APS5_VERIFY_DIRECT_COLLECT
A private collect read from the allocation map makes no query, so it
can't see memory that code bypassing WindowsMappings changed inside a
recorded allocation. A page decommitted in place there is the case it
can't catch: GetWriteWatch still succeeds over it, so the collect
reports no writes where a query would have refused the range.

With APS5_VERIFY_DIRECT_COLLECT set, each such collect also queries its
span's regions, and Collect throws, naming the span and the switch, when
GetWriteWatch succeeded over memory that is no longer committed
private. ENVIRONMENT.md lists the switch.

windows_write_watch_verify_direct (the same test binary with
--verify-direct, the switch set) collects a recorded private allocation,
checks its write is still reported, decommits one page in place and
requires the next collect not to succeed. Without the check the collect
succeeds.

Adapts fable-void's 2760ad808.
2026-10-21 17:59:12 -07:00
Queuze 63be1c0cf5 feat(libSceNet): read reuse and broadcast flags 2026-10-21 21:56:25 -03:00