Commit Graph
14017 Commits
Author SHA1 Message Date
Avijit SinghandCopilot 82f24e44a2 fix(relinker): warn on skipped SELF modules
Co-authored-by: Copilot <[email protected]>
2026-10-13 18:04:49 +05:30
Romans Pokrovskis 44c4b3f8bf fix(agc): admit inactive covered-centroid mode
Admit PA_SC_AA_CONFIG bit29 only without active perspective or linear centroid inputs, or with a skipped pixel program. Active/unspecified centroid inputs and unrelated AA fields remain refused. Source: pinned PS5_Mesa 0b2d6d1a GFX10.3 schema/RADV producer; existing ENA/ADDR intersection. Console covered-centroid interpolation remains unmeasured.

Full build/all 124 runtime libraries, conventions and registration pass. Final Windows suite: 965 pass, zero fail, seven skips of 972. Isolated state test passes 20 repeats and fails 5/5 with main State.cpp; four guard mutants fail 5/5 each. Original two title register captures reproduce the main refusal and pass this check with candidate, five times each. NVIDIA relevant groups pass; AMD draw-cache failure also occurs on unchanged main and is reported in issue4435.

AI-assisted: Codex.
2026-10-13 15:34:41 +03:00
boykopovar 0f2683cb7d Merge pull request #5135 from boykopovar/feat/web-relinker-ui
feat(ci): add relinker wasm build ci
2026-10-13 15:31:28 +03:00
Kovalev Vladislav 5f56417320 fix(relinker): accept section-relative guest module relocations 2026-10-13 18:30:11 +06:00
Adrià c827e11872 Merge pull request #4086 from hugodearaujo/fix/setschedparam-console
fix(libkernel): check and keep the scheduling policy of a thread
2026-10-13 14:29:15 +02:00
boykopovar 693578f116 ci(pages): rename deployment workflow file 2026-10-13 15:27:02 +03:00
Adrià afbc22fb1a Merge pull request #4140 from veosett/fix/relinker-windows-fixed-base
feat(relinker): support fixed Windows guest image bases
2026-10-13 14:26:54 +02:00
Adrià 94d9957725 Merge pull request #4078 from MarcZX100/codex/carry-ssl-connections-3766
fix(libSceSsl): add missing verification callback export
2026-10-13 14:26:09 +02:00
boykopovar dece64c6e8 ci(pages): build and deploy wasm converter 2026-10-13 15:26:04 +03:00
Adrià a164b1d711 Merge pull request #1359 from TibixDev/pr/copied-write-ordering
fix(agc): order direct reads after copied writes
2026-10-13 14:25:22 +02:00
Aarav bc014a887c fix(relinker): reject load file sizes beyond memory size 2026-10-13 17:55:11 +05:30
SandstromPLandClaude Opus 5.5 d34b78890d fix(savedata): return no saves for a search with another title's ID
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-13 17:53:29 +05:30
Claude 15969f2753 fix(libkernel): report the zone's daylight saving amount from sceKernelConvertLocaltimeToUtc
libc mktime subtracts it when tm_isdst is set outside summer time, so it
must not be zero there.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_017iLxaSz4qjmirfqKZdhVQk
2026-10-13 12:19:55 +00:00
Adrià 398ccaaf96 Merge pull request #5108 from adriadam10/ci/agc-graphics-tests-link-driver
build(agc): link the graphics and BDA device tests against libSceAgcDriver
2026-10-13 14:19:16 +02:00
Adrià bc0375c72a Merge pull request #5130 from adriadam10/ci/windows-keep-f16-unpack
ci(windows): build the f16 unpack execution test, it runs without a device
2026-10-13 14:18:44 +02:00
Adrià a60f8d940b Merge pull request #5048 from MarcZX100/codex/libc-openlog-closelog
fix(libc): implement openlog and closelog state
2026-10-13 14:18:31 +02:00
Adrià FranchandClaude 5181b30d79 ci(windows): build the f16 unpack execution test, it runs without a device
Co-Authored-By: Claude <[email protected]>
2026-10-13 14:18:28 +02:00
boykopovar 8485298e46 Merge pull request #5114 from boykopovar/feat/web-relinker-ui
feat(pages): add web relinker ui
2026-10-13 15:16:10 +03:00
Adrià a2a3a3a94d Merge pull request #4062 from danzaio/fix/windows-log-without-standard-handles
fix(relinker): log Windows output when standard handles are missing
2026-10-13 14:11:42 +02:00
Adrià 96f3e9fe5d Merge pull request #4041 from ee6aba54/fix/agc-cmask-unknown-codes
fix(agc): keep the texels of CMASK tiles with codes other than 0 and 15
2026-10-13 14:11:16 +02:00
boykopovar 860cecf11e docs(readme): link online converter and simplify progress history 2026-10-13 15:03:17 +03:00
Adrià FranchandClaude 14f2092c9e build(agc): link the graphics and BDA device tests against libSceAgcDriver
Co-Authored-By: Claude <[email protected]>
2026-10-13 13:53:51 +02:00
boykopovar dae5690e59 fix(web): reject windows folder output before writing files 2026-10-13 14:53:19 +03:00
Adrià 14036cb0e8 Merge pull request #5107 from adriadam10/ci/linux-mesa-shader-cache
ci(linux): keep lavapipe's shader cache between builds
2026-10-13 13:51:53 +02:00
Adrià FranchandClaude aef5972ff5 ci(linux): keep lavapipe's shader cache between builds
Co-Authored-By: Claude <[email protected]>
2026-10-13 13:51:10 +02:00
Celegans12 247162dc4f feat(agc): read hull patch constants in tessellation domain programs
TessellationLowering refused every domain-program read of the off-chip
ring outside its patch's control points, so domain programs that read
the hull's patch constants, like the quad terrain domain in Ghost of
Yotei at 0x8000 - 208 * (rel + 1), aborted.

Such reads now lower to a new PatchInput kind and become Patch inputs.
Hull outputs and domain inputs place a constant by its off-chip address
modulo the record stride, in a record-sized array at location
ceil(hsStride / 16); each program derives both on its own, so the two
interfaces match although they compile separately. Domain reads at an
address that does not move with the relative patch, across more than
one record or inside the control-point region still throw, as does a
domain program that reads patch constants but no control point. Hull
patch-constant writes now take the same bound: above the control points
of all NUM_PATCHES patches, not just one patch's.
2026-10-13 13:50:53 +02:00
Celegans12 25a83722c7 fix(agc): bound tessellation patch records by the draw's patch count
TessellationLowering proved ring and LDS addresses affine over a
relative patch index of up to 256. A hull that lays its patch-constant
records out downwards, at 0x8000 - 208 * (rel + 1) like the quad
particle hull in Ghost of Yotei, then reached a negative address for
the last slot and aborted as "not affine". The relative patch index of
hull and domain programs stays below VGT_LS_HS_CONFIG.NUM_PATCHES
(bits 7:0, patches per threadgroup), which is 63 for that draw.

DecodeShaderStages now carries NUM_PATCHES as patchesPerGroup in the
tessellation configuration (draw keys, hull and domain cache keys,
recompile request version 22) and refuses zero, and the lowering bounds
the relative patch index by it. Configurations without it keep 256.
2026-10-13 13:50:27 +02:00
Adrià ff8fe4dbc1 Merge pull request #3988 from karanvora2599/perf/shader-f16-unpack-half
perf(shader): convert f16 operands with UnpackHalf2x16 where f16 denormals are kept
2026-10-13 13:48:59 +02:00
Claude 1614d82fc8 fix(libkernel): call tzset before reading the host zone offsets
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_017iLxaSz4qjmirfqKZdhVQk
2026-10-13 11:48:31 +00:00
Adrià c63dd4442c Merge pull request #5106 from adriadam10/ci/agc-mesh-tests-link-driver
build(agc): link agc_driver_mesh_tests against libSceAgcDriver
2026-10-13 13:47:54 +02:00
Adrià FranchandClaude f20a32bec3 build(agc): link agc_driver_mesh_tests against libSceAgcDriver
Co-Authored-By: Claude <[email protected]>
2026-10-13 13:46:45 +02:00
Dean ce8f7eeb3f Merge pull request #4344 from Roojool/contrib/round2-c19
fix(tools): use configured Ninja for test registration audit
2026-10-14 00:46:35 +13:00
Adrià 84e2a8c0b3 Merge pull request #5105 from adriadam10/ci/windows-device-test-stubs
ci(windows): build only the execution tests that run without a Vulkan device
2026-10-13 13:45:23 +02:00
AlxcBTWandClaude Opus 5.5 230b5c2683 perf(agc-driver): join the imports of adjacent large ranges when a buffer is bound across them
8 MiB window, so a range larger than the window is always imported alone. A
buffer bound across two such ranges then has no import and is copied whole on
every use: PPSA25344 binds a 368 MiB buffer across a 320.75 MiB and a 47.3 MiB
range and copies it on almost every frame.

When UploadFinish meets such a region, it imports the run of the ranges the
region crosses, provided every one of them is larger than the window, and
retires their own imports. It does this before any region of the build
confirms an import, so the retire moves the epoch ahead of every pointer the
build would use. A range that large is registered whole, not grown in 64 KiB
pieces like a heap, so the joined import is not re-imported as a heap grows; it
stands in refreshImports while exactly its ranges stand. A later join that
reaches a joined import takes it in, so two joins that share a range never
retire each other in turn.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-13 13:45:21 +02:00
Adrià FranchandClaude 1137c57572 ci(windows): build only the execution tests that run without a Vulkan device
Co-Authored-By: Claude <[email protected]>
2026-10-13 13:44:08 +02:00
Adrià 99e4dfefe7 Merge pull request #5100 from adriadam10/ci/dispatch-gate-matrices
ci(build): run relinker and context matrices on dispatch only when touched
2026-10-13 13:42:58 +02:00
NikoandClaude Opus 5.5 44767a7b97 perf(libc): size each write-watch query to the region it covers
WindowsMappings::Collect handed GetWriteWatch the whole remaining output
capacity for every private region it walked. The call's cost follows that
capacity, not the size of the range: on Windows 11 (26200) a query of one
16 KiB region took 0.35 us with room for 4 entries and 6.5 us with room
for the 65536 the write tracker passes. Flexible memory is committed in
16 KiB allocations, one region each, so a resetting walk over 33 MiB of it
took 14.7 ms, 5.8 times a memcmp of the same bytes.

Each query now gets room for the pages its region spans, which is the most
it can report, so every walk returns the same pages; the 33 MiB walk takes
1.23 ms. guest_memory checks that a walk over eight 16 KiB allocations
reports every stored page once, in order, with room for 32, 5 and 1 pages.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-13 13:40:33 +02:00
Adrià 2f969f147b Merge pull request #3973 from MarcZX100/codex/carry-rudp-end-terminate
fix(libSceRudp): correct End and Terminate functions
2026-10-13 13:40:04 +02:00
Adrià e57a793958 Merge pull request #3911 from GalaxyGamingFR/fix/pr-overlap-own-branch
fix(tools): drop the branch's own pull request in pr_overlap --branch
2026-10-13 13:39:14 +02:00
Adrià FranchandClaude 3c273e7081 ci(build): run relinker and context matrices on dispatch only when touched
Co-Authored-By: Claude <[email protected]>
2026-10-13 13:39:04 +02:00
Claude 6c8ef3d469 docs(libkernel): move the time zone debt entry away from the end of its section
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_017iLxaSz4qjmirfqKZdhVQk
2026-10-13 11:38:56 +00:00
Dean 9fa50827dd Merge pull request #4532 from DavidSamir/fix/libc-rename-replace-open-destination-windows
fix(libc): replace an open or read-only destination in rename on Windows
2026-10-14 00:38:14 +13:00
Evgeniy Kazarin e3cef332e6 feat(libc): implement generic error category messages 2026-10-13 14:38:04 +03:00
Feuris cd0e9dccd7 feat(libc): implement wcscat 2026-10-13 08:38:02 -03:00
Dean 18414447b9 Merge pull request #4525 from Lorkydey/fix/poll-priority-windows
fix(libkernel): support POLLPRI on Windows sockets
2026-10-14 00:37:59 +13:00
boykopovar 36ea209e72 fix(wasm): enable windows diagnostics and disable gui mode 2026-10-13 14:37:50 +03:00
Dean e09ee165d5 Merge pull request #3651 from MarcZX100/codex/libc-posix-spawn-3624
feat(libSceLibcInternal): implement posix_spawn actions
2026-10-14 00:37:44 +13:00
Dean bc1ded3a18 Merge pull request #4386 from MarcZX100/codex/carry-mlockall-getdtablesize-3628
feat(libkernel): add mlockall export
2026-10-14 00:37:29 +13:00
Claude ae7f5e3aaa fix(libkernel): report west_sec as seconds east of UTC
PPSA99203 (PS5SX2) documents that the console fills west_sec with the
offset east of UTC despite the field's name.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_017iLxaSz4qjmirfqKZdhVQk
2026-10-13 11:37:12 +00:00
XairRrR 95f34a0504 fix(agc): report GPU time per presented or dropped frame
The [present] line divided the GPU busy and idle time of a window by the
presentations that got a swapchain image. That time covers the GPU work
of every frame, so with frames dropped for want of an image it read
several times too high (278.9 ms instead of about 52 ms on a hidden
window, reported on #4684). Those two figures are now divided by the
presented and dropped frames; the per-present blit figures are unchanged.
2026-10-13 13:34:19 +02:00