Commit Graph
20967 Commits
Author SHA1 Message Date
Zenodeon 41d4affd61 test(agc): account for heap order in partial imports 2026-10-24 01:45:09 +04:00
Dean 1b5efcc8d9 Merge pull request #9210 from rooklz/feat/cescs-gb18030
feat(libSceCesCs): add the GB18030-2000 and GB18030-2005 profiles
2026-10-24 10:44:26 +13:00
SebastianandClaude Opus 5.5 a98448ff29 test(libkernel): stop pinning the throw for nested named semaphore names
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01QnkpF2oEMofseVz9Z7WEAC
2026-10-23 21:44:10 +00:00
orezraeyandClaude Opus 5.5 f6d9973b5a test(libkernel): stop pinning the unmeasured ip_mreqn address forms
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 18:42:34 -03:00
SwagandClaude Opus 5.5 d21dd06379 test(libSceLibreSsl): drop the assertion on unsupported thread ids
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 17:42:31 -04:00
Adrià e7ca71d525 Merge pull request #8552 from Sam-mon7/fix/copy-kernel-variant
fix(agc): recognise the copy kernel as Demon's Souls 01.007.000 compiles it
2026-10-23 23:40:38 +02:00
wail-arch 75212edbfd fix(relinker): keep only visible executable exports bound by name
A bundled module's import keeps its name only when the executable
exports it as a visible global or weak symbol, as the dynamic loader
can bind it. Test local, internal and hidden executable symbols of the
same name next to global, weak and protected ones.
2026-10-23 21:40:31 +00:00
Filip Michalski 33aaab29be perf(shader): use 32-bit scalar buffer bounds 2026-10-23 23:39:46 +02:00
Filip Michalski d7bb63bb3b perf(shader): skip log2 correction outside the near-one range
Evaluate the existing accuracy correction only inside its established input range. Keep the native log2 result and all correction thresholds and arithmetic unchanged, and cover inputs adjacent to both range boundaries in the existing GPU test.
2026-10-23 23:39:45 +02:00
Dean 11b175a6b9 Merge pull request #9967 from JJenkx/windows/libc-setlocale-console
fix(libc): accept any setlocale category and only the C locale, as titles' libc.prx does
2026-10-24 10:38:40 +13:00
Dean Galvin 73aede5257 Merge main into feat/libscezlib-requests 2026-10-24 10:38:35 +13:00
Dean 313d905437 Merge pull request #9877 from orezraey/fix/libkernel-release-flexible-measured-ps5
fix(libkernel): keep the range sceKernelReleaseFlexibleMemory releases mapped as measured on a PS5
2026-10-24 10:37:09 +13:00
Dean cbd7ec1959 Merge pull request #9211 from voidlakhan/fix/savedata-dialog-getresult-output-buffer
fix(libSceSaveDataDialog.native): initialize result directory name on empty selection
2026-10-24 10:36:36 +13:00
Himansh Raj 23b2cf95f9 Merge remote-tracking branch 'origin/main' into split/macos-build 2026-10-24 03:05:19 +05:30
hugodearaujo 3dbab5725c fix(agc): count indirect records as drawable when the index limit is unknown
The empty-indirect skip and the last-drawable search filtered records by
firstVertexOrIndex < indexCount, which is 0 when the queue never set an
index limit, so a second submission of the same draw was skipped as empty.
2026-10-23 18:23:53 -03:00
Adrià dcd7e3a61e Merge pull request #8564 from JAB-dev/feat/agc-4-4-4-4-partial-writes
feat(agc): merge partial writes into 4_4_4_4 UNORM color targets
2026-10-23 23:23:11 +02:00
Adrià 9477025a05 Merge pull request #8672 from eliasbruno124-dev/fix/cold-device-storage-pressure-20261020
perf(agc): reclaim idle device buffers under storage cache pressure
2026-10-23 23:22:06 +02:00
Adrià a0e858ff7b Merge pull request #8881 from thuanquang/fix/writelane-spill-window
fix(shader): keep a v_writelane lane known across computed-index window stores
2026-10-23 23:17:12 +02:00
spiff637 3d831f4d1c fix(agc): resolve indexed indirect draws on a queue that never set INDEX_BUFFER_SIZE
A queue that has received neither INDEX_BUFFER_SIZE nor
INDEX_ATTRIBUTES_INDIRECT since its last reset has no index limit.
Such a draw takes the CPU record path and reads each record's index
range as written, refusing a range that overflows or is not readable.
An explicit INDEX_BUFFER_SIZE of 0 still throws.
2026-10-23 18:13:02 -03:00
hugodearaujo 716498d4e1 test(libSceNgs2.native): drop the reverb setup flags expectation 2026-10-23 18:11:57 -03:00
Dean d271a49580 Merge pull request #10323 from LuPetro/fix/tools-compile-database-validation
fix(tools): validate compilation database entries
2026-10-24 10:11:49 +13:00
roboterspinne b10424a47b fix(relinker): require the Linux entry, relocation offsets and DT_PLTGOT in PT_LOAD memory
The Windows and macOS patchers reject an entry point outside executable
PT_LOAD memory and a relocation offset or DT_PLTGOT outside PT_LOAD memory
through WindowsLoadImage::GetRva. The Linux patcher copied these values
unchecked and reported success; with a bad entry or relocation offset the
output crashed with SIGSEGV at load.

LinuxElfPatcher::Patch now requires e_entry in an executable load and every
non-NONE RELA and JMPREL r_offset and DT_PLTGOT to fit inside one PT_LOAD's
MemorySize, in the fixed-base and --lazy-binding paths. A relocation needs
the bytes ld.so writes: 4 for PC32 and 32, the output symbol's st_size (at
least 1) for COPY, and 8 otherwise. DT_PLTGOT needs 8 bytes with eager
binding and 24 with --lazy-binding, where ld.so writes GOT[1] and GOT[2].
Two test fixtures that set e_entry to a file offset outside their only
PT_LOAD now use the matching virtual address.
2026-10-23 21:09:51 +00:00
Dean b9a8704095 Merge pull request #8718 from ArjenS-LA/fix/audit-module-weak-imports
fix(tools): preserve weak guest module imports in audits
2026-10-24 10:09:05 +13:00
Felipebmaitan 31c4d801ea test(job-manager): record worker wait reference divergence 2026-10-23 18:05:09 -03:00
roboterspinne 09622d3f5c fix(relinker): reject a second PT_DYNAMIC segment
The PT_DYNAMIC loop used the first header and ignored any later one, so
the Linux target converted an input with two PT_DYNAMIC headers. A
second PT_DYNAMIC now fails with "Multiple PT_DYNAMIC segments" at its
file offset on every target.
2026-10-23 21:01:59 +00:00
Felipebmaitan a078f2a401 fix(job-manager): wake queued work before blocking caller-owned workers 2026-10-23 18:01:29 -03:00
Felipebmaitan 0b6b36f88f fix(job-manager): wake queued work before blocking caller-owned workers 2026-10-23 18:00:03 -03:00
Crimson cd329c060a fix(shader): fault on misaligned 64-bit LDS atomics under the workgroup lock 2026-10-23 23:59:53 +03:00
Felipebmaitan 3ca817ed1b fix(job-manager): wake queued work before blocking caller-owned workers 2026-10-23 17:58:21 -03:00
Adrià FranchandClaude Sonnet 5.5 c9147cbeec test(agc): register only the APS5_EXACT_RCP entry of the rcp hardware test
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-23 22:57:38 +02:00
Felipebmaitan c714feddc9 fix(job-manager): wake queued work before blocking caller-owned workers 2026-10-23 17:56:29 -03:00
roboterspinne c4925081cc fix(relinker): accept only ET_EXEC, ET_DYN and the SCE dynamic ELF types as executable input
Relink() rejected only ET_REL, ET_NONE and ET_CORE, so the Linux target
converted any other e_type, such as 5, 0xfe00 or 0xffff. It now rejects
every type other than ET_EXEC, ET_DYN, 0xfe10 and 0xfe18 with
"Unsupported ELF object type 0x..", after the three named rejections.
2026-10-23 20:56:01 +00:00
Filip Michalski 7753a92d32 perf(shader): avoid scanning the final IR operand use 2026-10-23 22:53:38 +02:00
JJenkxandClaude Opus 5.5 8251179fc2 fix(libc): return the upper 32 bits of the state from drand48 and erand48 as titles' libc.prx does
drand48 and erand48 returned the whole 48-bit state over 2^48, as FreeBSD
does. The libc.prx bundled with eleven titles returns its upper 32 bits
over 2^32, so the low 16 bits never reach the result; both functions now
do the same. The generator and the other rand48 functions are unchanged.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 16:52:02 -04:00
Adrià FranchandClaude Sonnet 5.5 86d9e49f2e docs(shader): note APS5_EXACT_RCP reaches v_rcp_f16 and position W
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-23 22:50:13 +02:00
thibautandClaude Opus 5.5 3654f15bfa feat(shader): bit-exact RDNA v_rcp_f32 behind APS5_EXACT_RCP
v_rcp_f32 and v_rcp_iflag_f32 lower to the driver's 1/x, whose low bits
differ from the console's on NVIDIA and Intel. With APS5_EXACT_RCP set,
normal inputs with normal results take the RDNA reciprocal datapath
instead: a cubic over 32 segments of the mantissa in 32-bit integer
arithmetic, the linear term rounded to nearest even, and a 2,761-entry
table of one-ULP corrections, looked up only when the dropped bits fall
next to the rounding cut (6.25 % of inputs). This reproduces all 2^23
mantissas of an RDNA2 (gfx1031) sweep. Other inputs keep 1/x.

It is off by default: the tables add about 13k SPIR-V words to each
shader that uses it.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_017EjjFU1FjMR11oWDYs8UMo
2026-10-23 22:50:09 +02:00
orezraeyandClaude Opus 5.5 88d5f8483a docs(libkernel): keep the unmodelled EBADF of sceKernelAvailableDirectMemorySize in the debt
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 17:49:06 -03:00
Adrià 11e8ad2934 Merge pull request #8713 from SeifKaroui/fix/shader-unused-phi-cycles
fix(shader): remove unused phi cycles before resource planning
2026-10-23 22:46:22 +02:00
Bram910 2d2c58d805 fix(io): stage long-named outputs with short temporary names 2026-10-23 22:45:55 +02:00
Dean d3a4fab335 Merge pull request #10268 from MarcZX10/fix/tools-web-release-stream-test
fix(tools): make web release stream mock writable
2026-10-24 09:45:47 +13:00
orezraeyandClaude Opus 5.5 4dc6530ee0 fix(libkernel): refuse an ip_mreqn with a non-zero address and require the multicast host checks
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 17:45:18 -03:00
Dean 5ab504eae8 Merge pull request #10216 from veosett/codex/env-reader-whitespace
fix(tools): recognize spaced environment reader calls
2026-10-24 09:45:05 +13:00
Dean 3c1a4b51c3 Merge pull request #10291 from al3w0f205/test/audio3d-speaker-array-argument-validation
test(libSceAudio3d): cover speaker array parameter validation and memory query limits
2026-10-24 09:41:58 +13:00
orezraeyandClaude Opus 5.5 26090c534a Merge fix/libscecescs-mbcs-strings-measured-ps5 into fix/libscecescs-jis-encode-measured-ps5
Brings in main with #9204. The measured CP932 and CP51932 encoding rules (JIS form aliases, U+FEFF, the C1 range and U+000E) apply to those profiles only; the strict JIS X 0208 profiles keep #9204's tables.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 17:41:53 -03:00
orezraeyandClaude Opus 5.5 cce3beb67a Merge main into fix/libscecescs-mbcs-strings-measured-ps5
Keep #9204's strict JIS X 0208 profiles with their SS2 and SS3 choices inside the new helpers: decodeEucJp sends the measured CP51932 profile to decodeEucJpScalar and the strict profiles to #9204's rules, and only the X0208Ss2Ss3 profile encodes JIS X 0212. The EUC-KR, UHC and Big5 UTF-8 forms decode with decodeScalarUtf8.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 17:39:22 -03:00
Dean c4d105021e Merge pull request #10260 from emirplus/fix/check-skips-stream-reconfigure
fix(tools): reconfigure streams with backslashreplace in check_skips
2026-10-24 09:37:41 +13:00
Dean 4f8049efce Merge pull request #10269 from emirplus/fix/trace-digest-stream-reconfigure
fix(tools): wrap entrypoint in main with stream reconfigure in trace_digest
2026-10-24 09:37:09 +13:00
Dean 1915df0dd4 Merge pull request #10252 from emirplus/fix/unwrap-self-stream-reconfigure
fix(tools): reconfigure streams with backslashreplace in unwrap_self
2026-10-24 09:36:38 +13:00
Dean 6a740e702a Merge pull request #10285 from al3w0f205/test/webbrowserdialog-uninitialized-cookie-coverage
test(libSceWebBrowserDialog): cover uninitialized rejection for cookie operations
2026-10-24 09:33:15 +13:00
Dean f9a35b33dd Merge pull request #10279 from al3w0f205/test/avplayer-addsource-disablestream-null-handle
test(libSceAvPlayer): cover null handle validation in sceAvPlayerAddSourceEx and sceAvPlayerDisableStream
2026-10-24 09:32:44 +13:00