wip(probe): throwaway iterate-iterate-2AU-xaudio probe instrumentation

Uncommitted experimental probe code preserved for handoff. Per running
memory these probes are inert/throwaway diagnostics, not production fixes.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
MechaCat02
2026-06-05 07:19:28 +02:00
parent acd1656753
commit d6acb21b2e
3 changed files with 82 additions and 3 deletions

View File

@@ -2465,10 +2465,20 @@ fn coord_pre_round(
}
if kernel.xaudio_tick_enabled {
if kernel.parallel_active {
kernel.xaudio.tick_wallclock();
let fired = if kernel.parallel_active {
kernel.xaudio.tick_wallclock()
} else {
kernel.xaudio.tick_instr(stats.instruction_count);
kernel.xaudio.tick_instr(stats.instruction_count)
};
// AUDIT-2AU Option β: on each audio period, re-signal the XAudio
// render loop's captured frame-event pair (buffer-ready /
// frame-done). Emulates canary's host XAudio2 OnBufferEnd firing
// those events every period; without it ours's render loop
// (tid=11) wedges on its second KeWait forever and starves the
// tid=9/10 mixers + tid=12 DPC downstream (2.AS cascade). Gated
// by the same instruction-count tick => deterministic.
if fired {
xenia_kernel::exports::pulse_xaudio_frame_events(kernel);
}
}