sharpemu/src/SharpEmu.Libs
kuba e7c7c27cbb [AudioOut2] Pace one grain per Advance+Push cycle and report the queue level
sceAudioOut2ContextAdvance and sceAudioOut2ContextPush each submitted the
context's pending PCM and, whenever nothing reached a host device, each slept
a whole grain in the software pacing fallback. A title that calls Advance then
Push once per grain therefore spent two grain periods per grain, so its audio
thread ran at half real time and held up every thread waiting on it.

Advance now claims the next grain on the context's clock and returns without
blocking (or, when its own submit already blocked in the backend, marks the
grain served), and Push waits for the grain Advance claimed; a Push with no
preceding Advance claims one itself. Neither call skips pending PCM. Because
the output holds QueueDepth grains, a grain may be queued as soon as the grain
QueueDepth-1 ahead of it starts playing, so a context can run that far ahead
of real time before a push blocks.

sceAudioOut2ContextGetQueueLevel reported an empty queue with the full depth
available on every call. Titles size their rendering by those two values --
Wwise renders exactly puiAvailableQueues grains per update and pushes them
non-blocking -- so a queue that never filled made it render a full queue every
update and then block inside Push for a grain per push while holding its audio
lock, which starved the game thread. The level now comes from the context's
grain clock, or, once a grain has reached a host device, from that device's
queued milliseconds beyond a short cushion.
2026-09-29 23:09:59 +02:00
..
Acm [HLE] Fix AJM/ACM no-op stubs and accept Gen5 AudioOut2 mastering/batch calls (#807) 2026-08-09 18:52:15 +03:00
Agc Fix for DS,Little Nightmares, Little Nightmares III and Astro Bot shader (#913) 2026-09-27 20:43:07 +03:00
Ajm [AGC/Vulkan] Extend PS5 runtime and rendering compatibility (#216) 2026-07-16 02:02:34 +03:00
Ampr [Ampr] Fix PakDirectoryTracker to handle multiple directories with the same name (#925) 2026-09-28 04:43:05 +03:00
AppContent Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
Audio [AudioOut2] Pace one grain per Advance+Push cycle and report the queue level 2026-09-29 23:09:59 +02:00
AvPlayer Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
Codec [Codec/Native] Real H.264 decode for sceVideodec2, fix TLS loader missing the main module (#824) 2026-08-18 00:00:01 +03:00
CommonDialog [AGC/Vulkan] Extend PS5 runtime and rendering compatibility (#216) 2026-07-16 02:02:34 +03:00
ContentExport [HLE] Stub ContentExport, Font, and Pad calls Astro Bot needs to boot (#298) 2026-07-17 04:34:48 +03:00
Diagnostics Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
DiscMap Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
Fiber [AGC/Vulkan] Extend PS5 runtime and rendering compatibility (#216) 2026-07-16 02:02:34 +03:00
Font [Font] sceFontRebindRenderer, sceFontGetCharGlyphMetrics, sceFontGetKerning 2026-09-22 04:12:19 +03:00
GameUpdate [hle] Add missing service exports 2026-06-21 23:18:55 +03:00
Gpu [GPU] performance: negative interval filter 2026-09-28 04:37:46 +03:00
Ime Fix for DS,Little Nightmares, Little Nightmares III and Astro Bot shader (#913) 2026-09-27 20:43:07 +03:00
Json Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
Kernel Fix for DS,Little Nightmares, Little Nightmares III and Astro Bot shader (#913) 2026-09-27 20:43:07 +03:00
Media Fix for DS,Little Nightmares, Little Nightmares III and Astro Bot shader (#913) 2026-09-27 20:43:07 +03:00
Mouse Add 21 missing SysAbi exports and GUI Environment tab for SHARPEMU_* toggles (#189) 2026-07-15 03:36:15 +03:00
Network Fix for DS,Little Nightmares, Little Nightmares III and Astro Bot shader (#913) 2026-09-27 20:43:07 +03:00
Ngs2 Sdl backend (#670) 2026-07-28 03:33:26 +03:00
Np Fix for DS,Little Nightmares, Little Nightmares III and Astro Bot shader (#913) 2026-09-27 20:43:07 +03:00
NpGameIntent [hle] Add missing service exports 2026-06-21 23:18:55 +03:00
Pad Fix for DS,Little Nightmares, Little Nightmares III and Astro Bot shader (#913) 2026-09-27 20:43:07 +03:00
PlayGo [PlayGo] Derive the installed chunk set from the pak files on disk (#438) 2026-07-19 20:33:30 +03:00
Psml Astro Bot stack: VEH/TBB, title clear, swapchain fallback, Psml MFSR (#528) 2026-07-23 12:37:44 +03:00
Random [HLE] Add RandomExports HLE (#413) 2026-07-18 23:44:57 +03:00
Remoteplay fix(gta): restore wiped GTA foundation and gameplay path (PPSA04264) (#650) 2026-07-27 01:58:55 +03:00
Rtc Fix/deadcells crash (#262) 2026-07-16 13:57:16 +03:00
SaveData Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
Share [Share] Added sceShareGetRunningStatus 2026-09-22 04:16:44 +03:00
Stubs Amd fix opcode nid filecache wave32 (#903) 2026-09-24 15:00:42 +03:00
SystemGesture Fix UnmanagedCallersOnly boot crash & Core Engine Improvements (CPU, HLE, AGC) (#81) 2026-07-12 18:04:12 +03:00
SystemService [GUI/CLI] Add support for console settings and language selection (#907) 2026-09-26 00:17:25 +03:00
Ult Fix UnmanagedCallersOnly boot crash & Core Engine Improvements (CPU, HLE, AGC) (#81) 2026-07-12 18:04:12 +03:00
Usbd [Usbd] more stubs 2026-09-22 03:06:22 +03:00
UserService Pad: implement scePadGetTriggerEffectState under its own NID (#712) 2026-07-31 12:09:24 +03:00
VideoOut Fix for DS,Little Nightmares, Little Nightmares III and Astro Bot shader (#913) 2026-09-27 20:43:07 +03:00
Voice feat(voice): add QoS stubs (GetStatus, Terminate, SetMode) (#541) 2026-07-23 01:48:55 +03:00
CxxAbiExports.cs revert: restore state before huge regression 2026-07-23 16:03:45 +03:00
HostFsPath.cs Ampr: fix path case on Linux (#750) 2026-08-03 00:36:00 +03:00
HostTiming.cs [AGC/Vulkan] Extend PS5 runtime and rendering compatibility (#216) 2026-07-16 02:02:34 +03:00
LibcInternalExports.cs Align SysAbi export names with Aerolib NID catalog (#137) 2026-07-14 17:10:57 +03:00
LibcStdioExports.cs Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
SharpEmu.Libs.csproj Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00