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:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user