AnyPS5/core/libs/prx
XairRrR 94cffec3a7 perf(agc-driver): prepare shader ABI variants before taking the preparation lock
A shader preparation transaction took the global writers lock when it
was constructed and kept it to its end. ResolveShaderAbi, reached from
sceAgcCreateInterpolantMapping and sceAgcLinkShaders, compiled its
variants inside such a transaction, so every game thread creating or
linking shaders waited behind one compile: Uncharted's stalled frames
spent about half a second each in shader registration.

The root transaction now takes the lock on its first Read, Edit or
Hold. ResolveShaderAbi prepares the variants before reading the
prepared state when its ABI was not committed yet. Registry
publication holds the lock as before: PublishRegisteredShader holds
it, and RegisterShader holds it before the driver mutex, so the lock
order is unchanged. Commit takes no lock: a transaction with changes
already holds it.
2026-10-11 14:54:48 +02:00
..
libReactNative.Modules.Vsh
…
libReactNative.Modules.Vsh.WebAppLauncher
…
libSceAcm
…
libSceAgc feat(libSceAgc): implement sceAgcDebugRaiseException 2026-10-11 07:47:33 -03:00
libSceAgcDriver perf(agc-driver): prepare shader ABI variants before taking the preparation lock 2026-10-11 14:54:48 +02:00
libSceAgcVsh
…
libSceAjm
…
libSceAjm.native Merge pull request #2395 from ArchitDewan/fix/atrac9-gradient-bounds 2026-10-11 10:29:27 +02:00
libSceAjmi
…
libSceAmpr fix(libs): share Sony CRT semantics between libc and libSceAmpr with tests 2026-10-11 11:42:31 +02:00
libSceAppContent feat(libSceAppContent): implement sceAppContentGetAddcontDownloadProgress 2026-10-11 07:48:11 +02:00
libSceAudio
…
libSceAudio3d fix(audio): pace blocking audio calls with a high-resolution timer 2026-10-10 01:31:57 +02:00
libSceAudioIn build: route system dependency include paths and pin the shader cache to package versions 2026-10-11 10:18:23 +02:00
libSceAudioOut build: route system dependency include paths and pin the shader cache to package versions 2026-10-11 10:18:23 +02:00
libSceAudioPropagation fix(audio): bind singular propagation path setter as unsupported 2026-10-10 03:50:02 +02:00
libSceAudiodec fix(audiodec): take the M4AAC raw channel layout from the stream 2026-10-08 17:29:46 +02:00
libSceAudiodec.native
…
libSceAvPlayer fix(avplayer): use precise Windows notified waits for EOF polling 2026-10-11 11:20:24 +02:00
libSceAvPlayer.native
…
libSceBluetoothHid
…
libSceCdlgG2P feat(libs): run the G2P and VR setup dialogs as common dialogs without UI 2026-10-10 22:53:48 +00:00
libSceCdlgPlayerReview
…
libSceCesCs
…
libSceCommonDialog feat(libs): define vabi macros + add to declarations 2026-09-10 08:07:03 +03:00
libSceContentDelete fix(content): export the content calls PPSA06465 imports 2026-10-11 09:23:39 +02:00
libSceContentExport fix(content): export the content calls PPSA06465 imports 2026-10-11 09:23:39 +02:00
libSceContentSearch fix(content): export the content calls PPSA06465 imports 2026-10-11 09:23:39 +02:00
libSceConvertKeycode feat(libs): name the PPSA23566 stubs from the shadPS4 NID list and implement sleep 2026-10-06 17:28:39 -05:00
libSceErrorDialog
…
libSceFiber
…
libSceFont fix(font): throw where the writing line error codes come from the PS4 module only and accept attribute 0 2026-10-11 09:41:52 +02:00
libSceFont-module
…
libSceFont.native
…
libSceFontFt
…
libSceFontFt-module
…
libSceGameLiveStreaming
…
libSceGameUpdate build(libs): strip the MinGW static runtime flags once for all libraries 2026-10-07 10:10:38 +00:00
libSceHmd
…
libSceHmd2 fix(exports): drop the sceNpWebApi2GetMemoryPoolStats stub and register the test with the shared guest tests 2026-10-11 11:07:03 +02:00
libSceHttp fix(http): retain request status callbacks with the guest ABI 2026-10-11 07:36:46 +02:00
libSceHttp2 fix(libSceHttp2): make sceHttp2WebSocketSetPingInterval throw, document under unknown function info 2026-10-11 10:06:26 +02:00
libSceIme
…
libSceImeBackend
…
libSceImeDialog
…
libSceJobManager fix(libSceJobManager): count a wait before serialising it and close under the lock 2026-10-11 07:40:37 +02:00
libSceJpegDec
…
libSceJpegEnc build(libs): strip the MinGW static runtime flags once for all libraries 2026-10-07 10:10:38 +00:00
libSceJson2 fix(exports): export the calls PPSA01530, PPSA23827 and PPSA13356 import 2026-10-11 11:07:03 +02:00
libSceKeyboard build: route system dependency include paths and pin the shader cache to package versions 2026-10-11 10:18:23 +02:00
libSceLibcInternal feat(libkernel): implement getcontext, setcontext and makecontext 2026-10-11 13:00:38 +03:00
libSceLoginDialog build(libs): strip the MinGW static runtime flags once for all libraries 2026-10-07 10:10:38 +00:00
libSceMbus
…
libSceMouse build: route system dependency include paths and pin the shader cache to package versions 2026-10-11 10:18:23 +02:00
libSceMsgDialog
…
libSceMsgDialog.native
…
libSceNet fix(exports): export the calls PPSA01530, PPSA23827 and PPSA13356 import 2026-10-11 11:07:03 +02:00
libSceNetCtl
…
libSceNetCtlApDialog
…
libSceNgs2
…
libSceNgs2.native perf(libSceNgs2.native): parse waveform files without reading their samples 2026-10-11 02:29:13 +02:00
libSceNpAuth
…
libSceNpCommerce
…
libSceNpEntitlementAccess feat(libSceNpEntitlementAccess): declare sceNpEntitlementAccessGetGameTrialsFlag 2026-10-11 23:50:45 +13:00
libSceNpGameIntent
…
libSceNpManager docs(npmanager): name ZVZ++68nNI8 sceNpGetSandboxInfo (throwing stub), imported by PPSA28416 2026-10-11 00:15:48 +02:00
libSceNpPartner001
…
libSceNpSessionSignaling feat(libs): provide the exports PPSA01289 imports that no library has 2026-10-09 02:42:57 -04:00
libSceNpTrophy2 test(libSceNpTrophy2): cover sceNpTrophy2ShowTrophyList, take the context argument 2026-10-11 13:08:03 +02:00
libSceNpUniversalDataSystem
…
libSceNpUtility
…
libSceNpWebApi2 feat(libSceNpWebApi2): export sceNpWebApi2PushEventAbortHandle 2026-10-11 11:43:35 +02:00
libSceOpusCeltDec fix(opus): export the libSceOpusCeltDec module 2026-10-11 07:10:03 +09:00
libSceOpusDec
…
libScePad fix(libScePad): export scePadUnknown_n3kSX62fgNo under its NID 2026-10-11 11:07:03 +02:00
libScePlayGo docs(libScePlayGo): record where the chunk set comes from 2026-10-11 12:30:52 +02:00
libScePlayGoDialog
…
libScePlayerInvitationDialog build(libs): strip the MinGW static runtime flags once for all libraries 2026-10-07 10:10:38 +00:00
libScePlayerSelectionDialog
…
libScePngDec
…
libScePngEnc
…
libScePosixForWebKit feat(libScePosixForWebKit): implement arc4random 2026-10-11 11:14:30 +00:00
libSceProprietaryVoiceChatHelperPrx
…
libScePsml
…
libScePsml_debug feat(psml): declare scePsmlMfsrCreateContext1300 and scePsmlMfsrGetDispatchMfsrPacket1300 2026-10-10 12:42:01 -05:00
libSceRandom
…
libSceRazorCpu
…
libSceRemoteplay
…
libSceRtc fix(rtc): floor pre-epoch timestamps for timezone lookup 2026-10-10 09:28:30 +08:00
libSceRudp feat(libSceRudp): implement context query calls 2026-10-11 11:07:33 +00:00
libSceSaveData
…
libSceSaveData.native fix(savedata): export sceSaveDataCancel 2026-10-10 21:22:48 +13:00
libSceSaveDataDialog
…
libSceSaveDataDialog.native fix(savedata): keep progress dialogs running until closed 2026-10-08 01:37:34 +03:00
libSceShare feat(share): answer sceShareSetContentParamForApplicationTitle 2026-10-09 21:02:01 +09:00
libSceShare.native
…
libSceSharePlay fix(libSceSharePlay): fill the connection info with no Share Play session 2026-10-11 17:14:21 +09:00
libSceSigninDialog
…
libSceSsl fix(net): return the console's errors from the memory pool stats calls 2026-10-11 09:49:13 +02:00
libSceSysmodule fix(libSceSysmodule): recognize Trophy2 module id 2026-10-11 11:35:37 +02:00
libSceSystemGesture fix(libSceSystemGesture): report no touch events for the primitive and recognizer calls 2026-10-11 02:01:32 +02:00
libSceSystemService feat(libSceSystemService): export sceSystemServiceLaunchApp 2026-10-11 03:48:47 -04:00
libSceTextToSpeech2 feat(libSceTextToSpeech2): report the speech engine as unavailable 2026-10-08 15:31:10 +13:00
libSceUlt fix(exports): export the calls PPSA01530, PPSA23827 and PPSA13356 import 2026-10-11 11:07:03 +02:00
libSceUsbd feat(libSceUsbd): implement transfer allocation and event handling for the no-device path 2026-10-11 09:40:14 +00:00
libSceUserService build(libs): strip the MinGW static runtime flags once for all libraries 2026-10-07 10:10:38 +00:00
libSceVdecsw feat(libs): implement libSceVdecsw on top of libSceVideodec2 2026-10-09 13:28:48 +02:00
libSceVideoOut fix(videoout): build TimedWait into libSceVideoOut instead of importing it from libkernel 2026-10-11 11:19:05 +02:00
libSceVideoRecordingP
…
libSceVideodec2
…
libSceVoice feat(libSceVoice): track the port mute flag 2026-10-10 19:59:15 +02:00
libSceVoiceChat feat(libs): provide the exports PPSA01289 imports that no library has 2026-10-09 02:42:57 -04:00
libSceVoiceQoS fix(voiceqos): return the console's sceVoiceQoSInit argument errors 2026-10-07 23:34:15 -03:00
libSceVrSetupDialog feat(libs): run the G2P and VR setup dialogs as common dialogs without UI 2026-10-10 22:53:48 +00:00
libSceVrTracker2
…
libSceWebBrowserDialog
…
libSceZlib fix(zlib): inherit DWARF unwinding in Windows tests 2026-10-10 02:03:59 +04:00
libc Merge pull request #3478 from fable-void/pr/macos-write-watch-remap 2026-10-11 13:52:58 +02:00
libkernel Merge pull request #3428 from MarcZX100/codex/fix-libkernel-open-empty-path-3308 2026-10-11 13:55:48 +02:00
libkernel_sys Merge pull request #3481 from sypher69/fix/fchdir-search-permission 2026-10-11 14:09:47 +02:00
libkernel_web
…
ulobjmgr build(libs): strip the MinGW static runtime flags once for all libraries 2026-10-07 10:10:38 +00:00