Commit Graph
6930 Commits
Author SHA1 Message Date
milescovielloandClaude Opus 5.5 8868e09624 fix(shader): bound the bytes the recompiler's result memos hold
Every shader source keeps up to 256 materialized results of
Recompile(request, capture) in its result memo, and as many patch
recipes in its masked memo, with no limit on their bytes. In Ghost of
Tsushima's opening the memos held about 500 MiB after 5 minutes and
kept growing, at a 13 % hit rate.

Each memo entry now counts the bytes its result's vectors keep (the
bindings' vectors included; the module is shared with the prepared
module cache), plus its patch recipe in the masked memo. A result held
by both tables counts once in each. Past a budget, 256 MiB unless
APS5_RESULT_MEMO_MB sets another (0 sets none), the least recently used
entries of both tables of all sources are dropped until three quarters
of the budget is left. The recency stamps come from one clock for all
sources and both tables so they compare across them. The profile line
also reports the trimmed and held entries and their MiB.

The trim takes its lock blocking and repeats, re-reading the bytes held,
until they are within the budget, so the insertion that pushed them
over has its trim run after any other; it stops when nothing is left to
drop.

SetResultMemoBudget and ResultMemoBytes let agc_shader_result_memo_budget
check that a memo over its budget keeps the most recently used results
and drops the oldest one, with the masked memo off. A one-shot hook
inside the trim (SetResultMemoTrimHook) lets
agc_shader_result_memo_budget_threads insert two results from other
threads after the trim has read the bytes held: the memo must still end
within its budget. agc_shader_result_memo_budget_masked, with the masked
memo on, checks that a first result counts its masked entry too and that
a trim empties the masked memo.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-26 05:04:18 +00:00
Dean a401865a1a Merge pull request #9269 from UnhealthyKraken/test/libc-crt-exit-lifecycle
test(libc): cover CRT exit and TLS cleanup lifecycle
2026-10-26 17:38:22 +13:00
Dean e5759e7ee6 Merge pull request #10524 from YossiYad/feat/kernel-sys-console-identity
feat(libkernel_sys): implement sceKernelIsCEX, sceKernelIsDevKit, get_authinfo and sceKernelGetOpenPsIdForSystem
2026-10-26 17:37:52 +13:00
Dean 3e235180d8 Merge pull request #9922 from UnhealthyKraken/feat/freetype-outline-borders
feat(freetype): implement system outline border queries
2026-10-26 17:37:23 +13:00
Dean 034b60a2d4 Merge pull request #10239 from voidlakhan/fix/npgameintent-invalid-argument-error
fix(libSceNpGameIntent): return errors for invalid arguments and uninitialized calls
2026-10-26 16:23:39 +13:00
Dean 0ce4b82c2d Merge pull request #10243 from orezraey/fix/libkernel-rtld-thread-atexit-measured-ps5
fix(libkernel): answer the thread atexit references as measured on a PS5
2026-10-26 16:23:13 +13:00
Dean 14eb2cda22 Merge pull request #10640 from rocklouis055/feat/nputility-lookup-async
feat(libSceNpUtility): implement lookup async requests, waits and timeouts
2026-10-26 15:43:03 +13:00
Dean 9f386f3a29 Merge pull request #9157 from shanu337/videoout-color-space-wrappers
refactor(libSceVideoOut): consolidate color space wrappers and add Flip tests
2026-10-26 15:32:59 +13:00
Dean 3326a27071 Merge pull request #10523 from YossiYad/feat/np-tus-sync-wrappers
feat(libSceNpTus): implement the nine blocking data and variable calls
2026-10-26 14:48:15 +13:00
Dean a3987a1eca Merge pull request #10718 from rooklz/fix/cescs-strict-jis0208
fix(libSceCesCs): map the strict JIS X 0208 profiles' unsettled cells as the console does
2026-10-26 14:40:45 +13:00
Dean 732ab06f41 Merge pull request #10354 from JJenkx/windows/libc-nextafter-msun
fix(libc): compute nextafter and nextafterf with FreeBSD msun's algorithm, as titles' libc.prx does
2026-10-26 14:30:57 +13:00
Dean d31f372e33 Merge pull request #10062 from imellag/fix/agc-moltenvk-destroy-at-idle
fix(agc): destroy buffers and memory on MoltenVK only while the graphics queue is idle
2026-10-26 14:28:45 +13:00
Dean 517a7b12b8 Merge pull request #10525 from YossiYad/feat/np-party-plain-queries
feat(libSceNpParty): implement sceNpPartyGetMembers, sceNpPartyGetMemberInfo and sceNpPartyRegisterHandler
2026-10-26 14:27:45 +13:00
Dean 853ffe0f69 Merge pull request #10794 from slopgobblercobbler/feat/kernel-sys-sce-pthread-main
feat(libkernel_sys): implement scePthreadMain through pthread_main_np
2026-10-26 14:27:16 +13:00
Adrià 3b252b44fe Merge pull request #9561 from DavidSamir/feat/libkernel-fcntl-osync
feat(libkernel): sync each write on a file whose O_FSYNC flag is set
2026-10-26 02:26:06 +01:00
Dean 1c9064435d Merge pull request #10451 from Danigamer05/fix/pngdec-16bit-input
fix(pngdec): honor the 16-bit input attribute
2026-10-26 14:16:21 +13:00
Dean 0f34ebb853 Merge pull request #10446 from Danigamer05/fix/keyboard-key2char-contract
fix(keyboard): preserve raw keys and ignore the Kana LED
2026-10-26 14:12:38 +13:00
Dean 5b85225ef3 Merge pull request #9797 from Terminev/feat/npwebapi-offline-requests
feat(libSceNpWebApi): add user contexts, requests and push event callbacks offline
2026-10-26 13:34:33 +13:00
Adrià 97d33464c5 Merge pull request #9527 from AlxcBTW/pr/libc-annex-k-stream-io
feat(libc): add the Annex K stream printf, scanf and freopen_s functions
2026-10-26 01:21:26 +01:00
Adrià 898a7fef4f Merge pull request #9631 from UnhealthyKraken/feat/libc-fetch-seqcst
feat(libc): implement sequential bitwise fetch helpers
2026-10-26 01:11:55 +01:00
Rookie a8c6b562d6 fix(libSceCesCs): map the strict JIS X 0208 profiles' unsettled cells as the console does 2026-10-26 00:10:31 +00:00
Kraken 54dadc019e fix(freetype): retain newly identified Ot inventory aliases 2026-10-25 23:43:52 +00:00
Kraken a36fd27f64 fix(freetype): reconcile provider NIDs and public declarations 2026-10-25 23:43:17 +00:00
Kraken f6190694de Merge remote-tracking branch 'origin/main' into HEAD 2026-10-25 23:41:43 +00:00
Kraken 8df45c965d Merge remote-tracking branch 'origin/main' into HEAD
# Conflicts:
#	core/libs/tests/GuestLibcThreads.cpp
2026-10-25 23:41:36 +00:00
Adrià acb900c194 Merge pull request #9737 from imellag/feat/agc-depth-bounds-emulation
feat(agc): emulate a one-sided depth bounds test without the depthBounds feature
2026-10-26 00:35:49 +01:00
Adrià 47f9cee2cd Merge pull request #9579 from slopgobblercobbler/fix/savedata-delete-search-mount3-param-error
fix(savedata): validate null arguments in delete, search, and mount3
2026-10-26 00:27:15 +01:00
Adrià 710cf9c035 Merge pull request #9668 from rooklz/fix/libc-acosf-msun
fix(libc): compute acosf with FreeBSD msun's algorithm, as the console's libc.prx does
2026-10-26 00:14:55 +01:00
Dean 2a16d79fb9 Merge pull request #10722 from rooklz/fix/cescs-error-length
fix(libSceCesCs): report the length of a rejected MBCS character as the console does
2026-10-26 12:10:41 +13:00
Dean 346a1be323 Merge pull request #10127 from Felipebmaitan/feat/ngs2-pcm-playback
feat(ngs2): play additional PCM sampler formats
2026-10-26 12:10:04 +13:00
Dean 380ffe3a3a Merge pull request #10456 from alnsx/codex/fix-select-redirected-input
fix(libkernel): poll files on standard descriptors as vnodes
2026-10-26 12:09:32 +13:00
Adrià b76f08cf33 Merge pull request #9727 from KernelPanicNT/fix/net-reject-unsupported-flags
fix(libSceNet): reject the flags and names the module rejects
2026-10-26 00:07:35 +01:00
Adrià 49d1f9b07e Merge pull request #9726 from KernelPanicNT/fix/npmanager-state-callback-id-error
fix(libSceNpManager): return the module error for an out-of-range state callback id
2026-10-25 23:49:10 +01:00
Adrià e82b11daaf Merge pull request #9550 from Ondra97/codex/feat-freetype-size-objects
feat(libSceFreeType): manage multiple size objects
2026-10-25 23:49:05 +01:00
Adrià 34b882ff19 Merge pull request #9722 from hypermoist/feat/font-graphics-fill-descriptors
feat(libSceFont): build the graphics region and fill descriptors as the console does
2026-10-25 23:49:00 +01:00
Dean b90d009d9f Merge pull request #10665 from JJenkx/fix/libc-acoshf-positive-rounding-20261024
fix(libc): match acoshf positive-range evaluation
2026-10-26 11:14:24 +13:00
Dean 701616674a Merge pull request #10708 from Michael-KD/test/sdwa-cvt-f32-ubyte-measured
test(shader): pin SDWA v_cvt_f32_ubyte source selects measured on RDNA2
2026-10-26 11:10:38 +13:00
Dean 3c2453eb8e Merge pull request #10808 from ElysiaAlarien/docs/libscemsgdialog-debt
docs(libSceMsgDialog): record the silent stub and parameter layout as debt
2026-10-26 11:09:35 +13:00
Dean 905c3e2870 Merge pull request #10647 from Bram910/fix/call-site-hint-prefixes
fix(relinker): resolve BND and NOTRACK call sites
2026-10-26 11:09:02 +13:00
Dean fd450a5b9b Merge pull request #8997 from HQasper/claude/project-thread-wjykmu
fix(libSceFont): select the Hangul Light system font
2026-10-26 11:08:35 +13:00
Danigamer05 4d845fb4e1 docs(keyboard): retain title character-use evidence 2026-10-25 23:08:02 +01:00
Dean 8592a95176 Merge pull request #10702 from MarcZX10/marc/signatures-libscevoice
feat(libSceVoice): declare sceVoiceVADAdjustment with its shadPS4 signature
2026-10-26 11:06:11 +13:00
Dean 6cc5ec671d Merge pull request #10394 from JJenkx/windows/libc-drand48-upper-bits
fix(libc): return the upper 32 bits of the state from drand48 and erand48 as titles' libc.prx does
2026-10-26 11:05:43 +13:00
Danigamer05 288c5290ab Merge remote-tracking branch 'origin/main' into fix/pngdec-16bit-input 2026-10-25 23:05:08 +01:00
Dean 0161550de3 Merge pull request #8621 from JJenkx/fix/playgo-scenario-unlisted
fix(libScePlayGo): answer ids past the listed scenario chunks as unlisted
2026-10-26 11:05:05 +13:00
Adrià d19a809639 Merge pull request #9682 from Gruzzberry/feat/settimeofday
feat(libkernel_sys): implement settimeofday
2026-10-25 23:04:11 +01:00
Dean f2a89261e3 Merge pull request #10526 from YossiYad/feat/share-play-connection-info
feat(libSceSharePlay): implement sceSharePlayGetCurrentConnectionInfo
2026-10-26 11:03:32 +13:00
Dean 1240c09878 Merge pull request #9148 from MarrasFederico/feat/ngs2-parse-pcm-depths
feat(libSceNgs2.native): parse 8-, 24- and 32-bit PCM and float waveforms
2026-10-26 11:01:52 +13:00
Dean 88f99678bf Merge pull request #10648 from edubox/feat/libc-pad-launch-attr
feat(libc): forward pthread attributes in _Pad::_Launch
2026-10-26 10:42:58 +13:00
Adrià 9c6d153dec Merge pull request #10419 from iamthehimansh/split/macos-build
build: compile FileStream, error categories, thread priority and two tests on macOS
2026-10-25 22:35:29 +01:00