sharpemu/tests/SharpEmu.Libs.Tests
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
..
Agc Fix for DS,Little Nightmares, Little Nightmares III and Astro Bot shader (#913) 2026-09-27 20:43:07 +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
Cpu [CPU] Emulate and rewrite SHA extension instructions on hosts without SHA (#909) 2026-09-26 14:20:08 +03:00
Fiber Fix for DS,Little Nightmares, Little Nightmares III and Astro Bot shader (#913) 2026-09-27 20:43:07 +03:00
Font [Font] Implement sceFontGetVerticalLayout (#492) 2026-07-21 18:18:16 +03:00
GUI [GUI/CLI] Add support for console settings and language selection (#907) 2026-09-26 00:17:25 +03:00
Gpu [GPU] performance: negative interval filter 2026-09-28 04:37:46 +03:00
HLE Prevent invalid SaveData writes from damaging guest memory (#444) 2026-07-19 20:27:17 +03:00
Json [SourceGenerators] Compile-time SysAbi export registry, analyzers, and build-generated aerolib.bin (#204) 2026-07-16 00:00:32 +03:00
Kernel Fix for DS,Little Nightmares, Little Nightmares III and Astro Bot shader (#913) 2026-09-27 20:43:07 +03:00
LibcInternal Add libc heap trace contract tests (#409) 2026-07-19 03:25:42 +03:00
Loader [Test] Prevented other tests from running the same alignment test in parallel 2026-09-29 19:32:08 +03:00
Logging Reject undefined numeric LogLevel values (#390) 2026-07-18 15:47:19 +03:00
Media Fix for DS,Little Nightmares, Little Nightmares III and Astro Bot shader (#913) 2026-09-27 20:43:07 +03:00
Memory Fix for DS,Little Nightmares, Little Nightmares III and Astro Bot shader (#913) 2026-09-27 20:43:07 +03:00
Network Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
Np Fix for DS,Little Nightmares, Little Nightmares III and Astro Bot shader (#913) 2026-09-27 20:43:07 +03:00
Pad [Pad] Reject pad handle 0 after the title opens a pad (#912) 2026-09-26 14:19:39 +03:00
PlayGo [PlayGo] Reject authoritative unknown chunk loci (#242) 2026-07-16 19:22:33 +03:00
Pthread Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +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 sceRtcConvertLocalTimeToUtc failing on non-UTC hosts (#210) 2026-07-16 00:04:35 +03:00
SaveData Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
ShaderCompiler Fix for DS,Little Nightmares, Little Nightmares III and Astro Bot shader (#913) 2026-09-27 20:43:07 +03:00
SystemService [GUI/CLI] Add support for console settings and language selection (#907) 2026-09-26 00:17:25 +03:00
Tls [AGC/Vulkan] Extend PS5 runtime and rendering compatibility (#216) 2026-07-16 02:02:34 +03:00
VideoOut Fix for DS,Little Nightmares, Little Nightmares III and Astro Bot shader (#913) 2026-09-27 20:43:07 +03:00
AerolibCatalogTests.cs [SourceGenerators] Compile-time SysAbi export registry, analyzers, and build-generated aerolib.bin (#204) 2026-07-16 00:00:32 +03:00
FakeCpuMemory.cs Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
LibcStdioExportsTests.cs Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
NativeExecutionRequirements.cs Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
NativePageProtectionRequirements.cs Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
SaveDataStorageTests.cs Sdl backend (#670) 2026-07-28 03:33:26 +03:00
SharpEmu.Libs.Tests.csproj Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
SysAbiRegistryTests.cs Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00