Commit Graph
14017 Commits
Author SHA1 Message Date
Adrià FranchandClaude 60151b66b7 perf(recompiler): keep the format word specialized for buffers accessed with the descriptor's format
Co-Authored-By: Claude <[email protected]>
2026-10-12 09:50:41 +02:00
Adrià FranchandClaude 68164aee2a docs: note that compute shaders keep the specialized form
Co-Authored-By: Claude <[email protected]>
2026-10-12 09:50:41 +02:00
Adrià FranchandClaude 672e43ca67 perf(recompiler): keep compute shaders specialized; only prebuilt vertex and pixel shaders take the registration form
Co-Authored-By: Claude <[email protected]>
2026-10-12 09:50:41 +02:00
Adrià FranchandClaude d809e6d0db fix(agc): close the library prebuild pool only if it was created
Co-Authored-By: Claude <[email protected]>
2026-10-12 09:50:41 +02:00
Adrià FranchandClaude acc0a0487d docs: describe shader modules and pipeline libraries built at registration
Co-Authored-By: Claude <[email protected]>
2026-10-12 09:50:41 +02:00
Adrià FranchandClaude 361c7e2024 perf(agc): keep oversized shaders specialized and prebuild libraries on their own thread
Co-Authored-By: Claude <[email protected]>
2026-10-12 09:50:41 +02:00
Adrià FranchandClaude a326fa84f7 fix(recompiler): give registration results a flattened SRT placeholder
Co-Authored-By: Claude <[email protected]>
2026-10-12 09:50:41 +02:00
Adrià FranchandClaude 9eb42ca2d2 fix(agc): destroy pipeline library shader modules once the library is built
Co-Authored-By: Claude <[email protected]>
2026-10-12 09:50:41 +02:00
Adrià FranchandClaude 67556722e1 perf(recompiler): read vertex attribute component selectors at run time when modules are built at registration
Co-Authored-By: Claude <[email protected]>
2026-10-12 09:50:41 +02:00
Adrià FranchandClaude e9def903fd perf(agc): prebuild each stage's library alone and keep two descriptor sets with pipeline libraries
Co-Authored-By: Claude <[email protected]>
2026-10-12 09:50:41 +02:00
Adrià FranchandClaude 7f64d14772 perf(agc): build the shader pipeline libraries when graphics stages are resolved at registration
Co-Authored-By: Claude <[email protected]>
2026-10-12 09:50:41 +02:00
Adrià FranchandClaude d7e0f27d6b perf(agc): describe pipeline set layouts from the compiled shaders alone
Co-Authored-By: Claude <[email protected]>
2026-10-12 09:50:41 +02:00
Adrià FranchandClaude 4d0b5c7898 perf(agc): give the fragment stage its own descriptor set when modules are built at registration
Co-Authored-By: Claude <[email protected]>
2026-10-12 09:50:41 +02:00
Adrià FranchandClaude baf3437465 perf(recompiler): read depth-compare state and export mappings at run time when modules are built at registration
Co-Authored-By: Claude <[email protected]>
2026-10-12 09:50:33 +02:00
Adrià FranchandClaude 765ea6a10f perf(recompiler): keep descriptor heaps uncompacted and read image modes at run time when modules are built at registration
Co-Authored-By: Claude <[email protected]>
2026-10-12 09:50:32 +02:00
Adrià FranchandClaude ddb6680667 perf(recompiler): read buffer V# words in the shader when modules are built at registration
Co-Authored-By: Claude <[email protected]>
2026-10-12 09:50:32 +02:00
083c98a067 fix(libkernel): leave a once initializer's own cleanup handlers alone when it throws
pthread_once and scePthreadOnce removed their reset handler with a pop
that runs whatever handler is on top of the cleanup stack. An
initializer that pushed a handler of its own and then threw left that
handler on top, so the pop ran it with dangling state. Both now record
the stack top before pushing the reset handler; on a throw they restore
the stack to it and reset the control directly, and a normal return
restores it as well.

Reported in review by Hussein Kadhim, who fixed it the same way.

Co-authored-by: Hussein Kadhim <[email protected]>
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-12 07:49:09 +00:00
Tyler WesterbergandClaude Opus 5.5 a3cba2d1ff fix(agc-driver): move indices far past every vertex fetch's records to the first zero vertex
Goat Simulator 3 draws a triangle list whose indices are all 0xffffffff
with primitive restart off. Each fetch past a descriptor's records reads
zeros (out-of-bounds select 0 or 1), but the zero-padded vertex copies
were sized to the highest index: 160 GiB, which vkAllocateMemory refused.
When the highest index is at least 64Ki vertices past the largest
per-vertex record count, the draw now uses a copy of its indices with
every index past that count moved to it. Each attribute reads zeros
there as at the original index; only the vertex index the shader sees
changes, so indices closer to the records are left as they are.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-12 03:42:49 -04:00
m.peauandClaude Opus 5.5 e19e9145dd fix(libc): truncate strxfrm like FreeBSD's C locale
Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
2026-10-12 09:42:28 +02:00
krishalivaibhav dd4504ee43 test(agc): follow repository comment conventions 2026-10-12 13:11:36 +05:30
SandstromPLandClaude Opus 5.5 872c3ba6ff fix(conventions): check the whole repository when run from a subdirectory
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-12 13:10:44 +05:30
krishalivaibhav 512ea3ec07 fix(agc): synchronize recorded fast clears with attachments 2026-10-12 13:10:17 +05:30
Rujul Talekar e991645c46 fix(tools): simulate cp1252 default encoding on Python 3.10 in pr_overlap tests
command_output patched subprocess._text_encoding, which does not exist on Python 3.10, so all eight tests errored before their assertions. Use subprocess._text_encoding where available and map io.TextIOWrapper locale to cp1252 on older interpreters, so a subprocess with no explicit encoding decodes as cp1252 on both. Add a behavioral check that default decodes as cp1252 while explicit utf-8 stays correct.

Authored by Rujul Talekar, with Muse Spark 1.3 assistance.
2026-10-12 13:02:14 +05:30
Paritosh LahreandClaude Opus 5.5 436e310ddb fix(conventions): report 3rdparty submodules without a .gitmodules entry (#4304)
Co-authored-by: Claude Opus 5.5 <[email protected]>
2026-10-12 20:31:24 +13:00
Bharat Yadav f961c52ad8 fix(release): exclude removed libraries from packages (#4297) 2026-10-12 20:31:13 +13:00
Paritosh LahreandClaude Opus 5.5 0f0291e39b fix(tools): run pr_overlap on gh older than 2.48 (#4289)
Co-authored-by: Claude Opus 5.5 <[email protected]>
2026-10-12 20:31:03 +13:00
Lorkyandlorkydey 44e9050a58 fix(import-audit): parse export aliases as C++ tokens (#4196)
Co-authored-by: lorkydey <[email protected]>
2026-10-12 20:30:54 +13:00
RainandClaude Opus 5.5 3048da7c04 docs(compatibility): record DOOM homebrew on Windows with AMD RDNA 4 and RDNA 2 (#4312)
Co-authored-by: Claude Opus 5.5 <[email protected]>
2026-10-12 20:29:53 +13:00
MarcZX10 656c81ac8b docs: clarify runtime code generation limits for --to-intel (#4257) 2026-10-12 20:29:46 +13:00
Dean 98c07d8e77 Merge pull request #4111 from jdmagic/fix/kernel-close-net-sockets
fix(libkernel): close() and setsockopt() reach libSceNet sockets
2026-10-12 20:28:00 +13:00
Dean 8b06e64176 Merge pull request #3854 from aryan0078/fix/relinker-debug-module
fix(relinker): resolve debug PRX dependencies by module identity
2026-10-12 20:27:31 +13:00
Dean 4b07baa2f2 Merge pull request #4314 from gravelas/feat/libscevoiceqos-set-connection-attribute
feat(libSceVoiceQoS): export sceVoiceQoSSetConnectionAttribute
2026-10-12 20:27:08 +13:00
Dean 5161070e67 Merge pull request #4273 from poonasor/fix/relinker-move-tls-branch-from-short-access
fix(relinker): move a short guest TLS access's follower branch into its stub
2026-10-12 20:26:47 +13:00
Dean aa2f05a285 Merge pull request #4266 from ducloc080202/fix/libkernel-apr-write-commands
fix(libkernel): record AmmModifyMtypeProtect and AmmRemapIntoPrt commands
2026-10-12 20:26:26 +13:00
Dean 5240dd46a5 Merge pull request #4255 from overlordxrz-source/feat/rudp-get-max-segment-size
feat(libSceRudp): implement sceRudpGetMaxSegmentSize
2026-10-12 20:26:05 +13:00
Dean fedcb3c813 Merge pull request #4117 from PrintOrb/fix/windows-positioned-invalid-descriptors
fix(libkernel): return positioned descriptor errors without CRT reports
2026-10-12 20:25:44 +13:00
Dean 2c51fdfba9 Merge pull request #4112 from jdmagic/fix/net-errors-set-kernel-errno
fix(libSceNet): failures also set libkernel's errno
2026-10-12 20:25:23 +13:00
Dean 4303f39b92 Merge pull request #4110 from jdmagic/fix/net-epoll-control-ops
fix(libSceNet): sceNetEpollControl takes 2 as MOD and 3 as DEL
2026-10-12 20:25:02 +13:00
Dean 84377033a5 Merge pull request #3831 from eljackjoestar-cmd/codex/opus-surround
feat(ajm): decode Opus surround mapping family
2026-10-12 20:24:32 +13:00
Dean 46f5b72e8e Merge pull request #3623 from milescoviello/fix/pthread-key-numbering
fix(libkernel): number pthread keys from 1 as FreeBSD libthr does
2026-10-12 20:24:15 +13:00
SandstromPLandClaude Opus 5.5 70f03dc5e5 fix(relinker): write registries after the executable
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-12 12:48:01 +05:30
Jan ŠléglandClaude Opus 5.5 7f5cd4480d fix(recompiler): give an early-return selection a merge when its parent's other arm reaches the same join
A selection outside loops whose one arm only returns and whose other arm
branches to a join it does not dominate gets an empty block on that edge
as its merge (splitOneReturnJoin), but only when every other predecessor
of the join dominates the selection or is dominated by it. When the
parent selection's other arm is a region that ends in the same join, the
selection has no structured merge and the shader fails to recompile.

When every structurization attempt fails, Structurize now runs them again
and accepts that split for any join the selection does not dominate. The
split only inserts an empty block on the edge from the selection to the
join. Graphs that structurize on main keep their result.

A synthetic CFG and a synthetic program cover the shape; both fail on main
with "conditional block N has no structured merge".

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Fnrk5Dazjb2tLooVSpdRQq
2026-10-12 09:11:25 +02:00
Dean 2ca6198e9a Merge pull request #3606 from Lorkydey/feat/libkernel-getlogin-r
feat(libkernel): implement getlogin_r using the host account name
2026-10-12 20:01:56 +13:00
ArjenS-LA 100896c1dc fix(relinker): convert guest modules with GNU hash tables 2026-10-12 00:01:49 -07:00
Dean 9231a08b00 Merge pull request #3737 from MarcZX100/codex/json2-init-parameter2-3348
feat(libSceJson2): implement InitParameter2 constructors
2026-10-12 20:01:34 +13:00
ArjenS-LA 4b6bb2f059 fix(relinker): preserve inputs when writing Windows diagnostics 2026-10-12 00:01:25 -07:00
Dean de24bd616d Merge pull request #4044 from xXPBSXx/fix/export-ppsa07411-vr2-imports
fix(exports): export the PS VR2 calls PPSA07411 imports that no library has
2026-10-12 20:01:13 +13:00
ArjenS-LA e2c24cf038 fix(relinker): accept trailing separators on the Windows origin path 2026-10-12 00:01:09 -07:00
ArjenS-LA 341dafb7ca fix(relinker): rebase each origin in guest runpath lists 2026-10-12 00:00:52 -07:00
ArjenS-LA 9504762edb fix(tools): ignore unreachable CTest registration files 2026-10-12 00:00:28 -07:00