milescoviello and Claude Opus 5.5
f57bbc936a
perf(agc): store only the depth plane units a flush overlaps
...
A read of memory inside a stale D32 Z_X depth plane (FlushDepthPlanes) stored
the whole plane: a copy of the depth image into the mirror, MarkWholeWritten
and a write-back of every byte. In Super Meat Boy 3D (#8840 ) a read-only
buffer ending about 3 KiB inside a stale 3840x2160 plane makes
ShaderResources::Revalidate flush ~1000 times per 5 s, each one moving
31.9 MiB, bound by transfer bandwidth.
A depth surface now tracks its plane as 64 KiB units, each one 128x128 tile
of the mirror's block units: a stale bit and a write generation per unit
replace memoryStale and the plane-wide syncedGeneration.
- FlushDepthPlanes stores only the stale units the range overlaps: the depth
to mirror copy takes one region per unit rectangle (UnitRects, from the
mirror's slice windows), the mirror marks just those units written
(MarkUnitsWritten) and the write-back covers their hull. The other units
stay stale and the plane stays registered. Stale bits are cleared only
after the copy was recorded, and the stored units' generations advance
only when FlushPending stored them. A depth fast clear still pending at
the store rewrites the whole image, so it makes every unit stale first.
- SyncFromMemory copies from the mirror only the units the guest wrote since
their own generation (one ChangedBlocks scan; untracked memory counts as
unwritten, as WrittenSince did), so a guest write into one unit no longer
replaces GPU depth that is still unstored in the others.
- Flushes followed by a retire keep the whole-plane store: the color target
flush in Draw and a written storage view (DepthPlaneScope::Whole). The
retire of an overwritten surface in DepthSurfaceTexture first stores its
remaining stale units the guest did not write.
- A mirror without block units (APS5_NO_BLOCK_TRACKING, unaligned base)
falls back to the whole-plane copy, and APS5_DEPTH_PLANE_WHOLE_STORE=1
tracks the plane as one unit, the previous behaviour.
- DepthPlaneStoreCounts reports stores, units and bytes stored.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-21 10:03:00 +00:00
Dean
7156315ef3
Merge pull request #8952 from xdCloudy/feat/ps5-ult-exports
...
feat(libSceUlt): declare PS5 pending exports
2026-10-21 23:00:33 +13:00
Dean
87e7bbc7e4
Merge pull request #8950 from xdCloudy/feat/ps5-savedata-exports
...
feat(libSceSaveData): declare PS5 pending exports
2026-10-21 23:00:29 +13:00
Dean
add0185079
Merge pull request #8948 from xdCloudy/feat/ps5-npmanager-exports
...
feat(libSceNpManager): declare PS5 pending exports
2026-10-21 23:00:23 +13:00
Dean
8baf2b480d
Merge pull request #8843 from christophermonterocortes-cr/feat/npcppwebapi-demangled-signatures
...
feat(libSceNpCppWebApi): align stub signatures with demangled symbols
2026-10-21 23:00:17 +13:00
Dean
aa37bc7aef
Merge pull request #6683 from EagleBearerYS/fix/agc-sample-location-grid-exact
...
fix(agc): keep the guest's sample order where pixel (0,0)'s locations stand in for a 2x2 grid
2026-10-21 23:00:12 +13:00
Adrià Franch and Claude
4c153eca53
docs(dev): guide to reading call sites and library disassembly
...
Co-Authored-By: Claude <[email protected] >
2026-10-21 11:56:11 +02:00
Dean
b5d763770a
Merge pull request #8955 from xdCloudy/feat/ps5-videoout-exports
...
feat(libSceVideoOut): declare PS5 pending exports
2026-10-21 22:20:56 +13:00
Dean
32f5424e80
Merge pull request #8954 from xdCloudy/feat/ps5-videocoreinterface-exports
...
feat(libSceVideoCoreInterface): declare PS5 pending exports
2026-10-21 22:20:52 +13:00
Dean
6f3b8e66be
Merge pull request #8953 from xdCloudy/feat/ps5-urlconfigresolver-exports
...
feat(libSceUrlConfigResolver): declare PS5 pending exports
2026-10-21 22:20:48 +13:00
Dean
2ca8469e84
Merge pull request #8947 from xdCloudy/feat/ps5-imedialog-exports
...
feat(libSceImeDialog): declare PS5 pending exports
2026-10-21 22:20:44 +13:00
Dean
e6ebe8a8b7
Merge pull request #8857 from Dripl1x/perf/direct-memory-section-pool
...
perf(libkernel): reuse released direct-memory sections that never held data
2026-10-21 22:20:39 +13:00
Dean
27c88a8d75
Merge pull request #8224 from savvaniss/fix/agc-strided-overhang-render-target
...
fix(agc): bind a strided buffer's last record only up to the render target it runs into
2026-10-21 21:32:49 +13:00
Dean
14a903974e
Merge pull request #8945 from xdCloudy/feat/ps5-httpcache-exports
...
feat(libSceHttpCache): declare PS5 pending exports
2026-10-21 21:32:24 +13:00
Dean
285e62dbe9
Merge pull request #8943 from xdCloudy/feat/ps5-acm-exports
...
feat(libSceAcm): declare PS5 pending exports
2026-10-21 21:32:20 +13:00
Dean
d6ce027977
Merge pull request #8805 from ags-arnab/feat/nptus-multislot-variables
...
feat(libSceNpTus): run the remaining multi-slot variable calls offline
2026-10-21 21:32:16 +13:00
Dean
bf272df673
Merge pull request #8839 from JJenkx/windows/videodec2-generic-vp9-info
...
fix(libSceVideodec2): answer the generic picture query for VP9 pictures
2026-10-21 21:32:04 +13:00
Dean
f894ba69d3
Merge pull request #8479 from hypermoist/feat/libc-wide-stream-scanf
...
feat(libc): add the wide stream scanf family
2026-10-21 20:58:24 +13:00
Dean
854a514bbe
Merge pull request #7945 from veosett/codex/windows-cache-housekeeping-safety
...
fix(shader): avoid unsafe Windows cache directory traversal
2026-10-21 20:57:27 +13:00
Dean
ef1f41c4c9
Merge pull request #8061 from Dragost/fix/libkernel-pthread-yield-busy-spin
...
fix(libkernel): prevent 100% CPU busy-spinning on pthread yield on Windows
2026-10-21 20:57:20 +13:00
Dean
fbba6e8208
Merge pull request #8845 from rooklz/fix/refs-file-identity
...
fix(relinker): compare Windows file identities by their 128-bit file ID
2026-10-21 20:57:16 +13:00
Dean
fc3853432f
Merge pull request #8934 from xdCloudy/feat/ps5-depth-exports
...
feat(libSceDepth): declare PS5 depth exports
2026-10-21 20:57:04 +13:00
Dean
1bcaa14234
Merge pull request #8307 from hypermoist/fix/libs-console-results-part2
...
fix(libs): return what the firmware returns from 31 more calls it does not implement
2026-10-21 20:57:00 +13:00
Dean
0c50cbf3e4
Merge pull request #8936 from xdCloudy/feat/ps5-videodec-exports
...
feat(libSceVideodec): declare PS5 video decoder exports
2026-10-21 20:46:56 +13:00
Dean
51e9046672
Merge pull request #8935 from xdCloudy/feat/ps5-esvm-exports
...
feat(libSceEsvm): declare PS5 ESVM exports
2026-10-21 20:46:52 +13:00
Dean
fb8b15c886
Merge pull request #8933 from xdCloudy/feat/ps5-agcdriver-exports
...
feat(libSceAgcDriver): declare PS5 AGC driver exports
2026-10-21 20:46:48 +13:00
Dragost
2716dee730
fix(libkernel): prevent 100% CPU busy-spinning on pthread yield on Windows
2026-10-21 09:30:27 +02:00
Dean
9be6ccf60c
Merge pull request #8255 from Nixitov/feat/process-abi-type
...
feat(libkernel): declare sceKernelGetProcessAbiType
2026-10-21 20:20:37 +13:00
Dean
06dbff33c7
Merge pull request #8252 from YossiYad/feat/move-handle-errors
...
fix(libSceMove): return INVALID_HANDLE and ALREADY_OPENED instead of throwing, and open other users' controllers
2026-10-21 20:20:33 +13:00
Dean
7ef094f7d4
Merge pull request #8222 from jagrat04/feat/libSceNet-show-route
...
feat(libSceNet): implement sceNetShowRoute
2026-10-21 20:19:56 +13:00
Dean
b974e17b81
Merge pull request #8206 from Celegans12/feat/agc-skip-refused-draws
...
feat(agc): skip draws whose graphics stage the recompiler refuses behind APS5_SKIP_REFUSED_DRAWS
2026-10-21 20:16:54 +13:00
Savvanis Spyros and Claude Opus 5.5
1c0e23afc5
fix(agc): trim a strided overhang at the render target only for read-only buffers
...
A store to the trimmed tail of a written buffer would be dropped instead
of failing as an alias of the render target, so only read-only buffers,
such as per-attribute vertex fetches, are trimmed.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-21 10:09:17 +03:00
xdCloudy
44c36055a2
docs(debt): place AGC driver note by related entries
2026-10-21 08:05:46 +01:00
xdCloudy
6b33ef1bd1
docs(debt): isolate AGC driver unknown signatures
2026-10-21 08:04:36 +01:00
xdCloudy
b95a10c920
docs(libSceAgcDriver): record unknown export signatures
2026-10-21 08:04:36 +01:00
Nixitov
4d83fece6d
feat(libkernel): declare sceKernelGetProcessAbiType
...
AI-assisted: yes
2026-10-21 09:01:22 +02:00
xdCloudy
947b3ba6a0
feat(libSceVideoOut): declare pending PS5 exports
2026-10-21 08:01:08 +01:00
xdCloudy
b2ebae8e3a
feat(libSceVideoCoreInterface): declare pending PS5 exports
2026-10-21 08:01:08 +01:00
xdCloudy
5a6128fa72
feat(libSceUlt): declare pending PS5 exports
2026-10-21 08:01:07 +01:00
xdCloudy
55c2864b32
feat(libSceUrlConfigResolver): declare pending PS5 exports
2026-10-21 08:01:07 +01:00
xdCloudy
65a6531b6e
feat(libSceSaveData): declare pending PS5 exports
2026-10-21 08:01:06 +01:00
xdCloudy
11a097be24
feat(libSceNpManager): declare pending PS5 exports
2026-10-21 08:01:06 +01:00
xdCloudy
9781a70a19
feat(libSceImeDialog): declare pending PS5 exports
2026-10-21 08:01:06 +01:00
xdCloudy
57bb18047c
feat(libSceHttpCache): declare pending PS5 exports
2026-10-21 08:01:05 +01:00
xdCloudy
ea4e722fa2
feat(libSceAcm): declare pending PS5 exports
2026-10-21 08:01:05 +01:00
Dean
b77bd58806
Merge pull request #8226 from dantdmdarealguy/fix/libc-update-stream-read-windows
...
fix(libc): switch update streams to reading as FreeBSD does
2026-10-21 19:57:35 +13:00
Dean
c183ffbfb2
Merge pull request #8836 from xdCloudy/split/libSceWkFontConfig
...
feat(prx): add missing libSceWkFontConfig exports
2026-10-21 19:57:27 +13:00
Dean
fd5a019283
Merge pull request #8835 from xdCloudy/split/libSceTEEClient
...
feat(prx): add missing libSceTEEClient exports
2026-10-21 19:57:22 +13:00
hypermist and Claude Opus 5.5
f4689c27a5
docs(libSceAjm.native): drop sceAjmInstanceCodecType from the throwing declarations
...
It returns the codec from the instance id as the firmware does, so the
entry for declarations that only resolve imports no longer covers it.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
Claude-Session: https://claude.ai/code/session_01RbLgECLQ2bpDM7oe2urGZK
2026-10-21 19:56:43 +13:00
Dean
2ad5bb26ca
Merge pull request #8355 from akkadbakkad89/feat/npgameintent-applauncher
...
feat(libSceNpGameIntent): implement the AppLauncher lifecycle a title calls at boot
2026-10-21 19:55:48 +13:00