Commit Graph
14017 Commits
Author SHA1 Message Date
BIGFERRY999 b28a84d421 feat(libc): implement ceill and floorl 2026-10-19 01:14:40 +02:00
hypermistandClaude Opus 5.5 ec3fe412db feat(libc): implement the remaining Dinkumware _Atomic helpers
The 1-, 2- and 8-byte loads, stores, exchanges, compare-exchanges and fetch
operations, _Atomic_is_lock_free_N, the flag and fence functions and the
lock-based generic _Atomic_copy, _Atomic_exchange and _Atomic_compare_exchange_*,
matching the libc.prx bundled with PPSA08427 including its handling of
invalid memory orders.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Q8tinbP1MUpUaDsbNWnGnu
2026-10-19 01:09:51 +02:00
Ondra97 65f6549e0f fix(agc): keep multisample ownership on its recording device 2026-10-19 01:08:38 +02:00
Ondra97andRomans Pokrovskis 785f8f7bcf fix(agc): reclaim retired multisample color targets
Co-authored-by: Romans Pokrovskis <[email protected]>
2026-10-19 01:08:37 +02:00
Mehran c83a7531e2 fix(agc): record a multisampled target's commands on its own device 2026-10-19 01:08:37 +02:00
Adrià 9121a9e455 Merge pull request #6327 from HilalElusive/patch-1
docs(debt): correct Windows GUI logging description
2026-10-19 01:08:04 +02:00
Adrià 03741f3cf2 Merge pull request #6163 from freshstart2066-create/feat/libc-fmaf
feat(libc): implement fmaf
2026-10-19 01:07:49 +02:00
fdfawef324andCodex edf6717cd1 docs(libSceJson2): qualify handler callback assumptions
Remove title IDs from the touched technical-debt entries and state that the null third type-mismatch handler argument is unverified on console.

Co-Authored-By: Codex <[email protected]>
2026-10-18 19:01:19 -04:00
MarcZX10 0c2260e30a fix(libSceAgc): preserve versioned register defaults layout 2026-10-18 22:56:16 +00:00
Ondra97 a64d038154 fix(libs): flush pending GPU results before file writes 2026-10-19 00:53:25 +02:00
Dean fc623324a2 Merge pull request #7664 from MarcZX10/codex/test-skip-7661
test(agc): skip unavailable shadow checks
2026-10-19 11:51:52 +13:00
Yunus Shaikh 866ad41ea1 Merge main into fix/agc-sample-location-grid-exact
Keeps MultisampleTargetOrderTarget next to #6175's MultisampleTargetView, which now also returns the target's image.
2026-10-18 15:50:54 -07:00
BIGFERRY999 6e3ae1c02e feat(libc): implement fmaf 2026-10-19 00:46:38 +02:00
Romans Pokrovskis 166e84bed1 test(audio): cover repeated legacy vibration grains 2026-10-19 01:44:21 +03:00
Adrià 384840af1b Merge pull request #6130 from ivica00/fix/rect-list-tess-coord-rounding
fix(shader): round tessellation coordinates to nearest integer in rect-list evaluation
2026-10-19 00:43:06 +02:00
Romans Pokrovskis 4b7f46d79c Merge remote-tracking branch 'origin/main' into codex/review6860-cadence-maineb1 2026-10-19 01:42:35 +03:00
Adrià eb1a15b5cc Merge pull request #6314 from eliyarson/feat/relinker-game-patches
feat(relinker): add conversion-time game patches
2026-10-19 00:37:51 +02:00
Adrià 18bd700806 Merge pull request #6291 from santhoshkumar-dev/codex/fix-pixel-exec-helper-lanes
fix(shader): preserve pixel helper lanes in EXEC copies
2026-10-19 00:37:47 +02:00
RockENZO ec5c0dcd0c fix(relinker): preserve executable exports in macOS output 2026-10-19 08:59:29 +10:30
Adrià c820102bd0 Merge pull request #6162 from freshstart2066-create/feat/libc-remquo
feat(libc): implement remquo and remquof
2026-10-19 00:28:20 +02:00
Adrià 0fd3555ad6 Merge pull request #5958 from ps54all/feat/shader-converted-image-sample
feat(shader): sample converted unorm images in the shader
2026-10-19 00:24:10 +02:00
gohansharma79-svg a7ab0a0b9b docs(avplayer): avoid the pending metadata note conflict 2026-10-19 03:51:36 +05:30
fdfawef324andCodex ea02128b5b fix(agc): count transient copy buffers toward the recorder budget
Charge read-only GPU-copy input snapshots and depth-copy linear scratch for their requested bytes while the batch retains them. Exercise both production paths with CPU Vulkan mocks, including the budget boundary and fence-governed resource retention.

Co-Authored-By: Codex <[email protected]>
2026-10-18 18:21:23 -04:00
Adrià 8b8edc5619 Merge pull request #6315 from hypermoist/fix/libc-snprintf-s-constraints
fix(libc): check the C11 runtime constraints in snprintf_s and vsnprintf_s
2026-10-19 00:17:04 +02:00
Adrià 38a848a1b7 Merge pull request #6287 from ahmad3a4/fix/libc-append-streams-windows
fix(libc): append stream writes atomically on Windows
2026-10-19 00:16:59 +02:00
gohansharma79-svg b0a7695b57 fix(avplayer): deliver the first paused picture after audio starts 2026-10-19 03:46:40 +05:30
Adrià 6a480ea637 Merge pull request #6302 from Ondra97/codex/fix-positioned-truncate-race
fix(libkernel): serialize Windows ftruncate with file transfers
2026-10-19 00:16:07 +02:00
Adrià a3c8aced97 Merge pull request #6175 from mitul72/fix/agc-pass-hazard-inputs
fix(agc): name in-place draw inputs and multisampled targets in pass hazards
2026-10-19 00:16:02 +02:00
Dean Galvin cf4d1f4a97 Merge main into pr-4650
# Conflicts:
#	core/shader/recompiler/ShaderDiskCache.cpp
2026-10-19 11:15:57 +13:00
Adrià 590b0f3eed Merge pull request #6164 from 011010/fix/agc-shader-layer
fix(agc): lower a fragment Layer input through the viewport index layer extension
2026-10-19 00:15:02 +02:00
Yunus Shaikh d13a90d015 Merge main into fix/recompiler-once-per-pixel-sample-inputs
Resolves the shader debt file bullet by bullet: main's EmitSetAttribute entry, and this branch's PERSP_SAMPLE/LINEAR_SAMPLE and pixel-position entries.
2026-10-18 15:14:25 -07:00
Adrià 77fd2b6c5e Merge pull request #6317 from SleglJan/pr/clip-distance-full
fix(shader): leave out the all-zero position distance when guest distances fill all eight
2026-10-19 00:12:57 +02:00
MarcZX100 91be80b447 fix(agc): refresh sampled depth shadow for bound target 2026-10-18 22:11:35 +00:00
MarcZX100 5a0a00f429 fix(agc): refresh depth shadow after attachment switches 2026-10-18 22:10:48 +00:00
MarcZX100 1912045c1e fix(agc): preserve direct depth sampling as fallback 2026-10-18 22:10:41 +00:00
MarcZX100 c17f38a355 feat(agc): sample multisampled depth through a shadow image 2026-10-18 22:10:31 +00:00
BIGFERRY999 994fd66bf4 feat(libc): implement remquo and remquof 2026-10-19 00:10:02 +02:00
Adrià 8a456334f6 Merge pull request #6240 from ArjenS-LA/fix/guest-registry-weak-imports
fix(relinker): preserve weak imports in guest module registries
2026-10-19 00:06:30 +02:00
Adrià 57a9970094 Merge pull request #6311 from Ondra97/codex/fix-posix-flexible-memory-release
fix(libkernel): release flexible memory budget through munmap
2026-10-19 00:06:26 +02:00
Adrià 07d5061ada Merge pull request #6306 from MarcZX10/codex/qualify-srt-memory-flags
fix(shader): qualify SRT memory flags template
2026-10-19 00:06:20 +02:00
Muhammad Wasif Ali WasifandClaude Opus 5.5 b4e80e8fc7 fix(libc): read /dev/random and /dev/urandom through fopen
fopen resolved the random device paths to a host file that does not
exist and failed with ENOENT, while open and sceKernelOpen already serve
them from host entropy. A read-only fopen of either path now returns a
stream whose fread fills the buffer with host entropy. setvbuf, feof,
ferror, clearerr, the stream locks and fclose work on it, fflush returns
0 as on a FreeBSD stream that is not writing, other stream functions
throw, and opening the paths for writing throws as in libkernel.

ProsperoTV (PPSA99003) reads its phone pairing code this way and showed
"Code expired or unavailable".

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-19 03:01:38 +05:00
Adrià 07377573f4 Merge pull request #6279 from hypermoist/fix/mesh-draw-short-of-a-primitive
fix(agc): a mesh draw shorter than one primitive draws nothing
2026-10-18 23:57:36 +02:00
Yunus Shaikh d2e2cd650d Merge main into fix/agc-sample-location-grid-exact
Keeps the multisampled target's sample-order view fields next to #6297's HTILE fields.
2026-10-18 14:56:26 -07:00
Adrià 130efc3886 Merge pull request #6152 from freshstart2066-create/feat/libc-copysign-clean
feat(libc): implement copysign and copysignf
2026-10-18 23:56:00 +02:00
teepeanandClaude Opus 5.5 d840b10d2f docs(agc): list APS5_NO_WRITE_ONLY_PASSES in the environment reference
Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
2026-10-19 00:55:02 +03:00
Adrià 3f16b82132 Merge pull request #6297 from Gashrod1/fix/agc-undrawn-msaa-z-footprint
fix(agc): sample undrawn multisampled Z and D 64 KiB swizzle textures, and Z ones whose HTILE is cleared
2026-10-18 23:55:01 +02:00
Adrià 4d1d947662 Merge pull request #6259 from fdfawef324/codex/optional-compute-capture-stop
fix(agc): stop optional compute captures at their bounds
2026-10-18 23:54:55 +02:00
teepeanandClaude Opus 5.5 12d720f743 fix(agc): seal a pass's write-only stores at guest flushes
Queue 0 skips partial and cache flush EVENT_WRITE packets and ACQUIRE_MEM, and nothing ends the
open render pass on them, so the pass hazard tracker is all that orders two draws inside one
pass. A write-only store, a flush and a second write-only store to the same bytes stayed in one
pass with no barrier between them, although the flush orders them on the guest GPU.

At such a packet, the write-only ranges of the open pass now count as written, so a later
write-only store to them is a WriteAfterWrite and begins a new pass. The seal is queued behind
the draws in the draw pipeline (or made at once when it is idle), once per run of flushes after
a draw.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
2026-10-19 00:48:42 +03:00
teepeanandClaude Opus 5.5 0fe9f61d01 perf(agc): draws that only store to a buffer continue one render pass
A guest buffer the recompiler classifies as only stored to (bufferWritten, not bufferRead, not
bufferAtomic), which no other allocation of the draw overlaps, is a write-only range of the draw.
It conflicts with every read and every other write of the open render pass, but not with the
write-only stores of other draws to the same range: the guest GPU leaves stores of different draws
unordered as well, since no barrier separates them. Before, such a buffer counted as both read
and written, so consecutive draws storing to it each began a new pass with two full barriers.
APS5_NO_WRITE_ONLY_PASSES=1 restores that.

Unreal Engine 4 stores virtual texture feedback from every base pass material that samples a
virtual texture into one buffer per frame: in Stray (PPSA02100) about 90 % of the pass restarts.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
2026-10-19 00:48:34 +03:00
LeandroLP23andClaude Opus 5.5 fb1ad2fcf4 feat(tools): warn when a pull request adds a technical debt entry over 1000 characters
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 23:48:11 +02:00