Commit Graph
20967 Commits
Author SHA1 Message Date
Dean 698037fba4 Merge pull request #11027 from plexerPK/fix/stubgen-temporary-names
fix(tools): use short temporary names for stubgen outputs
2026-10-26 22:08:11 +13:00
Santhosh Kumar 0a8d4229da test(libSceLibreSsl): cover supported protocol selection paths 2026-10-26 14:37:57 +05:30
Dean d75562d60c Merge pull request #10998 from plexerPK/fix/self-recorded-host-mapping
fix(tools): preserve recorded SELF segment host mapping
2026-10-26 22:07:38 +13:00
Dean 71a8f4eac8 Merge pull request #10968 from MarcZX10/marc/fix-ime-keyboard-type-overflow
fix(libSceConvertKeycode): look up keyboard types without signed overflow
2026-10-26 22:06:39 +13:00
Dean ca8257d923 Merge pull request #10952 from AZLisme/feat/batch2-font-letter-traversal
fix(libSceFont): exhaust render-step character traversal
2026-10-26 22:06:04 +13:00
Dean 690c9c29c2 Merge pull request #10921 from MarcZX10/marc/fix-sysctl-copyout-null-source
fix(libkernel): skip the sysctl copy-out when no bytes are copied
2026-10-26 22:05:30 +13:00
Dean bb61ff9bc6 Merge pull request #10888 from krishalivaibhav/fix/macos-math-exact-test
fix(tests): keep guest_math_exact's pseudo-denormal out of constant folding
2026-10-26 22:04:58 +13:00
Santhosh Kumar 1e03c7c5f2 fix(libSceLibreSsl): address public API and test review feedback 2026-10-26 14:34:31 +05:30
Santhosh Kumar 7171386769 fix(libSceFreeType): address public API and test review feedback 2026-10-26 14:34:29 +05:30
Santhosh Kumar 483d7309a4 fix(libSceFreeType): address public API and test review feedback 2026-10-26 14:34:27 +05:30
Dean 172dcf2901 Merge pull request #10864 from thepoppfish/codex/fix-empty-nid-lookup
fix(tools): skip database access for empty NID lookups
2026-10-26 22:04:20 +13:00
Dean ec9256a042 Merge pull request #10852 from Mherberts/codex/fix-elf-section-table-alignment
fix(relinker): align ELF64 section header tables
2026-10-26 22:03:40 +13:00
Dean cd71251946 Merge pull request #10828 from wail-arch/feat/notification-send
refactor(libSceNotification): declare sceNotificationSend with the SDK's parameters
2026-10-26 22:03:05 +13:00
Dean e9904dd48c Merge pull request #10454 from Danigamer05/fix/pngdec-large-image-info
fix(pngdec): require image info for large dimensions
2026-10-26 22:02:27 +13:00
Dean 65c2713b6c Merge pull request #10410 from JAB-dev/fix/ngs2-mastering-gain-ps5
fix(libSceNgs2): clamp the mastering gain to +-32 and keep NaN, as the PS5 module does
2026-10-26 22:01:52 +13:00
Dean cb78d89650 Merge pull request #10292 from al3w0f205/test/ajm-wvorbis-null-header-packet
test(libSceAjm.native): cover null parameter validation in sceAjmDecWVorbisCreateHeaderPacket
2026-10-26 22:01:15 +13:00
Dean c3db979cd3 Merge pull request #10128 from orezraey/fix/libc-gethostname-measured-ps5
fix(libc): report the empty host name measured on a PS5
2026-10-26 22:00:35 +13:00
Dean 59594c5bcc Merge pull request #9112 from al3w0f205/test/hmd-distortion-memory-and-stubs-coverage
test(libSceHmd): cover distortion work memory query aliases
2026-10-26 21:59:37 +13:00
zaryabzip b8ab1b1a5c feat(libkernel): implement sceKernelMapNamedSystemFlexibleMemory 2026-10-26 13:59:25 +05:00
Dean fb5afb3ef7 Merge pull request #8236 from javierUDP/test/rosetta-inplace-execution
test(relinker): execute the in-place Rosetta replacements
2026-10-26 21:59:04 +13:00
Dean d9f5bf4d91 Merge pull request #11120 from shahulmubeen-a/fix/shader-1d-store-through-2d-array
fix(shader): write 1D storage images through 2D-array stores at slice 0
2026-10-26 21:58:24 +13:00
Himansh Raj 11c88cdfd5 Merge remote-tracking branch 'origin/main' into split/macos-game-start 2026-10-26 14:28:17 +05:30
mrfelek 3e7a0ae671 fix(shader): keep the f32 floor and ceil flush where the device flushes by default
NVIDIA's proprietary driver flushes f32 add, multiply and fma denormals by default but not the inputs of floor and ceil, so its startup probe failed only on those two. Drop their software flush only where the device declares DenormFlushToZero 32.
2026-10-26 08:57:06 +00:00
mrfelek 415e302c9c perf(agc): probe the f32 denormal flush on NVIDIA's proprietary driver
The driver declares no shaderDenormFlushToZeroFloat32, so every f32 add, mul and fma kept the software flush. Run the same probe as on MoltenVK and use the driver's default handling when it matches the emulated flush.
2026-10-26 08:57:06 +00:00
Dean d5e493883f Merge pull request #10738 from rooklz/fix/cescs-big5-box-drawing
fix(libSceCesCs): encode the Big5 box-drawing duplicates into their lower cells as the console does
2026-10-26 21:56:25 +13:00
Himansh Raj 1ac3e3561c Merge remote-tracking branch 'origin/main' into split/macos-pooled-tail 2026-10-26 14:21:18 +05:30
Himansh Raj 2d3b71067f style(agc): drop the macOS-only <cstddef> in Resources.cpp
main's Resources.cpp already uses std::byte in Buffer::Bytes() on every
platform without including <cstddef>; it arrives through the project headers
this file includes first. Guarding a second include under __APPLE__ suggested
otherwise, so drop it. Also keep the blank line inside the __APPLE__ block so
the text outside it stays identical to main.
2026-10-26 14:21:18 +05:30
akkadbakkad89andDevin 4a59035543 fix(recompiler): exempt proven control conditions and own-bit ballots in stencil replay
MaskReplaySafety counted every use reaching a conditional branch condition as a quad observation, including EXEC/VCC guards that control() itself already proves replay-safe, and every Ballot regardless of how its bits are read. Nested optional regions (a merged phi re-used as the predicate of an inner execz) and ballots consumed only through the own-lane funnel (word extract, lane<32 select, lane&31 shift, &1 isolate) were refused even though neither crosses lane boundaries; the same reasoning exempts explicit-lod samples, which do not compute implicit quad derivatives.

The check now runs conditional branches through a memoized controlProven() with a visiting set, exempts those condition uses in quadObserved, walks past own-bit ballots into the isolated per-lane bools, and treats explicit-lod samples as lane-local in both quadObserved and helperObserved. optionalBody now uses a local region set so nested control proofs do not corrupt the outer walk. Anything not matching these shapes is refused as before.

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-26 08:50:55 +00:00
akkadbakkad89andDevin 9f6dd5b6ed fix(shader): pair structurally equivalent whole-quad evaluations
IrProgram does not intern values, so titles that evaluate the same
whole-quad ballot twice emit distinct WqmU64 nodes for the low and
high mask words. maskStable and helpers paired those words by object
identity and rejected the split form. Compare the two evaluations
structurally instead: same-block ballots must agree on their source
tree and must not be separated by an execution-mask change, and every
newly accepted node is recorded as restricted. Assassins Creed
Shadows (PPSA20397) hits this in shader 0x407325e400.

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-26 08:50:52 +00:00
Dean cbee224804 Merge pull request #10316 from JJenkx/windows/libc-tanh-msun
fix(libc): compute tanh with FreeBSD msun's algorithm, as titles' libc.prx does
2026-10-26 21:48:43 +13:00
JJenkx a208275b3a docs(agc): list the direct readback regression switch 2026-10-26 04:48:30 -04:00
akkadbakkad89andDevin 7a95148e53 test(libSceNpCppWebApi): exercise the UserProfile exports through registered tests
Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-26 08:46:49 +00:00
JJenkx 61ba654e90 feat(agc): read selected live images without guest writeback 2026-10-26 04:42:43 -04:00
orezraeyandClaude Opus 5.5 5afe14de63 Merge main into docs/libkernel-sync-timeouts-eventflag-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-26 05:38:49 -03:00
lost9409 9a848d0b99 feat(libSceLibreSsl): implement TLS alert descriptions 2026-10-26 09:31:37 +01:00
Dean b27cc8416f Merge pull request #7505 from AlxcBTW/pr/unwatch-hook-exits-v2
fix(agc): run the unwatch hook before an import whose range leaves the write watch whatever the import does
2026-10-26 21:31:22 +13:00
Dean 5bfc926a68 Merge pull request #9621 from Ondra97/codex/fix-ult-finalize-allocation
fix(ult): preserve sync objects if finalization allocation fails
2026-10-26 21:31:17 +13:00
Dean 9d906c833c Merge pull request #10681 from PYTHONRETARDE/fix/d16-depth-take-storage-discard
fix(agc): discard a new depth surface's depth before taking storage writes
2026-10-26 21:29:52 +13:00
Dean 4c752cafc9 Merge pull request #10177 from orezraey/fix/libkernel-cond-destroyed-measured-ps5
fix(libkernel): mark a destroyed condition variable with 1 and accept destroying a null one, as measured on a PS5
2026-10-26 21:29:48 +13:00
Dean 19af7f44e4 Merge pull request #10368 from Ondra97/codex/fix-storage-native-overlap-span
fix(agc): check whole storage views for native surface overlap
2026-10-26 21:20:04 +13:00
QRMOEandClaude Opus 5.5 5f10d0a229 fix(shader): keep pixel helper lanes out of guest lane masks
Pixel-stage ballots and EXEC reads count only lanes that are not helper
invocations, so a waterfall loop over a saved whole-quad EXEC picks and
clears live lanes only. In programs that execute s_wqm on EXEC, writing
EXEC from a value keeps a helper invocation active while a live lane of
its quad is, so implicit-LOD sampling after a save/restore still has its
helpers.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-26 09:19:15 +01:00
roboterspinne b818895614 Merge remote-tracking branch 'upstream/main' into fix/relinker-dynstr-leading-nul 2026-10-26 09:17:36 +01:00
roboterspinne de709f9e02 Merge remote-tracking branch 'upstream/main' into fix/relinker-executable-export-attributes 2026-10-26 09:16:25 +01:00
roboterspinne b1e3b814fb Merge remote-tracking branch 'upstream/main' into fix/relinker-null-symbol-entry 2026-10-26 09:15:26 +01:00
LeandroLP23andClaude Opus 5.5 3fe0cd9b8b test(agc): give the storage image budget test a device-local heap as large as its reported budget
agc_driver_sampled_cache_budget_memory reports a 64 GiB budget on the
largest device-local heap but kept the heap's real size. On an APU that
heap is 512 MiB, so the storage image cache ceiling is the 512 MiB
floor, and both checks failed: half of the heap or of the budget
(256 MiB) and the budget under pressure (1024 MiB). The test now raises
the heap it reports to at least the reported budget, so its
expectations hold whatever heap the device has.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-26 09:13:46 +01:00
krishalivaibhavandClaude Opus 5.5 4580ed6301 fix(libSceLibcInternal): declare environ for the spawn test on macOS
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-26 13:38:53 +05:30
xXPBSXxandClaude Sonnet 5.5 d34c5315de docs(agc): state how the packed 11_11_10 float CB resolve averages
AI-assisted: yes

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-26 09:01:42 +01:00
xXPBSXxandClaude Sonnet 5.5 b29dbb487f test(agc): check the packed 11_11_10 float resolve against a CPU reference
The decode test now expects a CB resolve of an 11_11_10 float target to
decode into a resolve pass instead of refusing it; the 10_11_11 unorm
refusal stays. A new execution test fills a multisampled R32_UINT image with
a different packed word per sample (2, 4 and 8 samples, fractions that need
truncation, denormals, large values, an infinite field), resolves it through
the new pass, and compares every texel with the float32 average of the
unpacked samples packed with truncation toward zero. With the pass summing
only the first sample the two-sample case fails (texel 0x701c0380 instead of
0x80200400); with the full pass it passes on an RTX 4080 SUPER and an
RX 6400.

AI-assisted: yes

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-26 09:01:42 +01:00
xXPBSXxandClaude Sonnet 5.5 55910c3097 fix(agc): resolve 11_11_10 float color targets by averaging the unpacked samples
A CB resolve whose source is an 11_11_10 float target stopped the title at
decode ("CB resolves of 11_11_10 float color targets are unsupported"): the
target is an R32_UINT image, and the subpass resolve of an integer format
takes one sample instead of averaging. The resolve now draws a pass that
reads every sample of the multisampled R32_UINT image, unpacks the three
unsigned small floats, averages them in float32 in sample order, and packs
the result with truncation toward zero, matching the ROUND_MODE the target
is already required to have. An infinite or NaN field in any sample is
passed through from the first sample that has one.

The averaging is assumed to match the console's CB resolve of an unpacked
float target; it is not measured on hardware. 10_11_11 unorm and 4_4_4_4
unorm targets still refuse the resolve.

AI-assisted: yes

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-26 09:01:42 +01:00
JaceTheBlu fb1b33078d Merge feat/libressl-verify-param-ip into feat/libressl-x509-lookup
# Conflicts:
#	core/libs/prx/libSceLibreSsl/CMakeLists.txt
#	docs/dev/debt/libSceLibreSsl.md
2026-10-26 07:58:53 +00:00