Commit Graph
20967 Commits
Author SHA1 Message Date
hypermistandClaude Opus 5.5 ea8fb1235d Merge remote-tracking branch 'upstream/main' into fix/libs-firmware-constants-4
Keep the constant-returns test after main's barrier and pthread tests.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_013XFS3FUfBtqCVfwmBrRQ6q
2026-10-24 00:28:22 +13:00
hypermistandClaude Opus 5.5 da6deaf10a Merge remote-tracking branch 'upstream/main' into fix/kernel-sys-firmware-constants
Keep the constants test beside main's barrier and pthread tests.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_013XFS3FUfBtqCVfwmBrRQ6q
2026-10-24 00:28:21 +13:00
Evgeniy KazarinandClaude Opus 5.5 c442afa5d1 docs: name shared views as the pages the Windows write watch leaves read-only
CONVENTIONS.md still listed stable resident runs of at least 256 KiB as
the pages the write watch can leave read-only between collections on
Windows, and pointed at the debt/libc.md entry this PR removes. Resident
runs are no longer write-protected. What stays read-only between
collections on Windows are the pages of shared views (shared memory,
shared file mappings, and direct memory mapped at more than one guest
address), which Collect arms; the Windows direct-memory backing entry in
debt/libc.md describes the direct-memory case.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 19:27:37 +08:00
orezraeyandClaude Opus 5.5 aeef744665 test(libSceCesCs): skip the forms Shift-JIS encodes to Microsoft cells in the round trip
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 08:27:23 -03:00
orezraeyandClaude Opus 5.5 3706b4780f test(libSceCesCs): pin the measured Shift-JIS decoding sweep
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 08:27:23 -03:00
orezraeyandClaude Opus 5.5 d3f7b11e85 docs(libSceCesCs): record the measured Shift-JIS decoding sweep
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 08:27:22 -03:00
orezraeyandClaude Opus 5.5 4ec8b2d289 fix(libSceCesCs): encode EUC-JP and Shift-JIS as measured on a PS5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 08:27:22 -03:00
orezraeyandClaude Opus 5.5 23411115af refactor(libSceCesCs): let every MBCS string form check its output through the shared loop
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 08:27:15 -03:00
xXPBSXxandClaude Sonnet 5.5 f5bf94ca3e docs(debt): note how titles call sceGameLiveStreamingGetProgramInfo
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-23 13:26:19 +02:00
xXPBSXxandClaude Sonnet 5.5 edb66d9cc1 docs(debt): note how a title calls the sceUserService accessibility getters
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-23 13:25:52 +02:00
LeandroLP23andClaude Opus 5.5 3fe7aaf3b4 build(agc): share a precompiled header across the execution tests
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 13:24:56 +02:00
Yunus Shaikh 388f5f13e6 test(agc): sample shared compared memory through the cache after a CPU store
embersas's ordering on Windows: a rewatched 64 KiB block of direct memory is
cached as a 128x128 R32_UINT snapshot, shared through a second mapping, then
written by one 4-byte CPU store with no lookup in between. The next lookup
must replace the snapshot, and a compute texelFetch of it must read the
stored texel.
2026-10-23 11:21:34 +00:00
Yunus Shaikh 1712336477 fix(agc): never read compared shared memory as unchanged since before a refused collect
Once a second mapping shares rewatched direct memory, every collect of it is
refused and returns 0, but nothing was stamped, so an entry holding a
generation from before the sharing (the sampled cache's hit) still read as
unchanged and kept the old texels for one lookup. A refused walk now stamps
the pages the mappings report unreported as CPU-written, once, as main's
first collect after the demotion did, and marks the blocks of every compared
shared page with its generation. UnchangedSince, UnchangedSinceAll and
UnchangedCommittedSince never vouch for a generation older than such a mark,
whatever the generation came from (a collect before the sharing, the newest
of several collects, TrackerGeneration), so those callers compare bytes.
WrittenSince, ChangedBlocks and StoredOver keep reading stamps alone, so
storage textures and depth surfaces do not reload or drop pending results at
every refused collect.
2026-10-23 11:21:34 +00:00
Yunus Shaikh 37a5d9495d fix(libc): report each compared shared page once after it stops being collected
A page marked to be compared when shared is refused by every collect once a
second mapping demotes it, so the writes made to it since its last collect
were never reported. Each view of such a page now carries an unreported mask:
set when the view is demoted, when the page is first marked while the view is
already shared, and when a new view of a marked page is mapped. ComparedPages
lists the compared shared pages of a range, or takes the unreported ones.
2026-10-23 11:21:23 +00:00
Dean c928aeb0a2 Merge pull request #10029 from oneandonlydean/fix/convertkeycode-ime-keyboard-type
fix(libSceConvertKeycode): map the user's keyboard type to the IME keyboard type
2026-10-24 00:21:18 +13:00
Adrià a9b7761c82 Merge pull request #7691 from Celegans12/fix/agc-vertex-table-read-order
fix(agc): drain the draw pipeline before a vertex table read overtakes a queued write
2026-10-23 13:18:29 +02:00
orezraeyandClaude Opus 5.5 5b014ba000 fix(libSceCesCs): terminate and count MBCS string conversions as measured on a PS5
The UTF-16 and UTF-32 string forms and the UTF-8 to Shift-JIS and EUC-JP
calls now share the measured string loop and UTF-8 decoder, and the
Japanese tests expect JIS X 0212 to be neither decoded nor encoded.
sceCesMbcsUcsContextInit rejects a null profile.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 08:17:51 -03:00
Adrià 0a5d810e9d Merge pull request #7659 from thuanquang/fix/db-plane-clear-state
fix(agc): start DB_Z_INFO and DB_STENCIL_INFO at their clear-state value
2026-10-23 13:17:23 +02:00
Th3EvilGod 961493dcc4 fix(rudp): compile timed waits into the runtime library 2026-10-23 15:16:41 +04:00
Santhosh Kumar 7f5367d4e4 chore: sync current main for PR 8286 2026-10-23 16:46:34 +05:30
Santhosh Kumar 68b616640a chore: sync current main for PR 9785 2026-10-23 16:46:34 +05:30
Santhosh Kumar f3da59fe87 chore: sync current main for PR 9802 2026-10-23 16:46:33 +05:30
xXPBSXxandClaude Sonnet 5.5 d71baaf460 docs(debt): shorten the NetCtlGetInfo entry under the length limit
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-23 13:14:28 +02:00
Adrià af4700b98d Merge pull request #7692 from PhialsBasement/fix/agc-versioned-defaults-compact-types
test(libSceAgc): find MRT0 through the compact versioned register defaults
2026-10-23 13:14:16 +02:00
Santhosh Kumar 2637f07c62 feat(libSceFreeType): configure scalar and darkening properties 2026-10-23 16:41:34 +05:30
Th3EvilGod 54747c31fb fix(rudp): use precise poll deadlines on Windows 2026-10-23 15:11:14 +04:00
eliasbruno124-dev a0ecec3d3b fix(agc): bound deferred settle retirement waits 2026-10-23 13:10:59 +02:00
eliasbruno124-dev 9d4a0ebfcd docs(agc): describe deferred settle submission ordering 2026-10-23 13:10:59 +02:00
eliasbruno124-dev 194c03afde fix(agc): order deferred host-import settles with main-queue accesses 2026-10-23 13:10:58 +02:00
orezraey 0a33d53861 Merge branch 'fix/libscecescs-eucjp-measured-ps5' into fix/libscecescs-mbcs-strings-measured-ps5
# Conflicts:
#	core/libs/tests/GuestCes.cpp
2026-10-23 08:06:41 -03:00
atharv-honestly 30ab85a8db feat(libressl): implement certificate verification error strings 2026-10-23 16:33:43 +05:30
Dean f40cdebce2 Merge pull request #9208 from YossiYad/feat/gnm-neo-draw-packets
feat(libSceGnmDriverForNeoMode): write the draw, dispatch, compute wait and VGT control packets
2026-10-24 00:02:58 +13:00
orezraey 7735835ba8 Merge remote-tracking branch 'origin/main' into fix/libscecescs-eucjp-measured-ps5
# Conflicts:
#	core/libs/tests/GuestCes.cpp
#	docs/dev/debt/libSceCesCs.md
2026-10-23 08:02:15 -03:00
xXPBSXxandClaude Sonnet 5.5 cb20a0563c docs(debt): note how titles call inet_pton
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-23 13:02:04 +02:00
orezraeyandClaude Opus 5.5 282bcd2dcd test(libSceCesCs): expect Cp1251 byte 0x98 to be unassigned in the UTF-32 round trip
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 07:55:30 -03:00
orezraey 803744fe85 Merge remote-tracking branch 'origin/main' into fix/libscecescs-scalar-measured-ps5
# Conflicts:
#	core/libs/prx/libSceCesCs/Export.cpp
#	core/libs/tests/GuestCes.cpp
#	docs/dev/debt/libSceCesCs.md
2026-10-23 07:55:22 -03:00
Eduardo Ruiz b92291c7ae feat(libc): export operator delete(void*, const std::nothrow_t&)
The console's libc exports _ZdlPvRKSt9nothrow_t (NID McsGnqV6yRE) as a 12-byte tail call to the same delete function that _ZdlPv uses, ignoring the nothrow tag. Forward to _ZdlPv so memory from the nothrow new overloads is released through the registered application heap; a null pointer is ignored.
2026-10-23 12:52:32 +02:00
milescovielloandClaude Opus 5.5 23c4f728c8 fix(agc): share a table's rejection messages instead of copying each
ShaderResources::rejectTableElement records a poison entry and the
reason for each table element the driver rejects, and kept the reason
as its own std::string per element. A sampler table's rejections
mostly repeat one reason, so a table with many border or opaque-black
samplers held one heap copy of the same text per element, and building
the image table faults copied every string again.

TableStage and BdaResources::ImageTableFaults now keep the reasons as
shared_ptr<const std::string>, and a rejection whose reason equals the
previous one shares its string. The fault copy only bumps reference
counts. The recompiler's own poison entries, which have no driver
reason, take a null pointer where they took an empty string, and the
fault report skips both the same way.

The new image table case rejects two sampler table entries, differing
only in MAX_LOD, for the same reason and samples each one; the second
entry's reason is the shared string.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 10:51:25 +00:00
xXPBSXxandClaude Sonnet 5.5 79b6e97632 docs(debt): note how a title calls sceHmd2Open and sceHmd2Initialize
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-23 12:48:07 +02:00
Daniele Giovane 13b1892fdd Merge main and address review for PR 8495 2026-10-23 12:45:54 +02:00
Daniele Giovane bc00fafac0 Merge main and address review for PR 9160 2026-10-23 12:45:54 +02:00
Dean e3d03fbae6 Merge pull request #7930 from AnthonyClemens/perf/agc-skip-empty-indirect
perf(agc): skip CPU-path indirect draws that draw nothing before buil…
2026-10-23 23:45:49 +13:00
Adrià 2f83cc782f Merge pull request #7647 from fma-rc/fix/agc-heap-mirror-resident
fix(agc): bind heap mirrors only where the guest holds bytes
2026-10-23 12:45:26 +02:00
dotaku22 171419e958 feat(libc): implement buffered stream purge 2026-10-23 12:42:22 +02:00
Dean 812ed15875 Merge pull request #9047 from VakzOs/feat/libressl-des
feat(libSceLibreSsl): implement DES_set_key, DES_ecb_encrypt and DES_set_odd_parity
2026-10-23 23:38:53 +13:00
xXPBSXxandClaude Sonnet 5.5 8b9c212d14 docs(debt): note how a title uses the sceNetCtlGetInfo host name codes
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-23 12:37:55 +02:00
xXPBSXxandClaude Sonnet 5.5 735701a30a docs(debt): note the formats a title passes to sceAudioOut2PortCreate
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-23 12:37:44 +02:00
xXPBSXxandClaude Sonnet 5.5 e9b842569a docs(debt): shorten the sceKernelFtruncate title note below the entry length limit
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-23 12:37:11 +02:00
JAB-devandClaude Sonnet 5.5 a5c3bb0933 fix(libSceAudioOut): sceAudioOutInit initializes AudioOut2 as the firmware does
In PS5 firmware 3.20 and 4.03 sceAudioOutInit calls sceAudioOut2Initialize, which sets the flag that sceAudioOut2GetSpeakerInfo tests before anything else. A title that only calls sceAudioOutInit got 0x80268006 here. The flag moves next to sceAudioOutInit so the test targets that build only AudioOut.cpp still link.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-23 12:36:41 +02:00
JJenkxandClaude Opus 5.5 eef6cb8061 test(libs): give patched_libraries the MinGW runtime on its PATH
patched_libraries loads each patched .prx with LoadLibraryExW and
LOAD_WITH_ALTERED_SEARCH_PATH, so Windows looks for the libraries' own
dependencies (libstdc++-6.dll, libgcc_s_seh-1.dll, libwinpthread-1.dll)
next to the .prx and then on PATH, not next to the test executable
where the build copies the MinGW runtime. Run from a shell whose PATH
does not start with the toolchain's bin, it failed with error 126 for
libc.prx, libkernel.prx and the others, or loaded another libstdc++
found earlier on PATH.

On MinGW, prepend the compiler's directory to the test's PATH, as the
other tests do for the directories their libraries load from.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 06:35:18 -04:00