xemu/hw/xbox/mcpx
coldhex 0427ae8cfc mcpx: Implement APU multipass voice processing
Voice Processor (VP) multipass feature allows configuring lists of voices
that are first mixed (in order) into a designated mixbin which is then used
as a sample source when processing voices with multipass flag set to true
in NV_PAVS_VOICE_CFG_FMT. Setting correct voice order in lists is the
responsibility of the game/application and in practice is handled by the
DirectSound library. The multipass mixbin is hardcoded to 31 in
DirectSound, but hardware would allow other bins.

This implementation also adds additional info to audio debug UI to see what
the source and destination voices involved are. The info is only shown
when DSP processing is off, i.e. "VP Only" (MON_VP) is selected. This is
because storing the voice numbers requires additional digging which is
required for MON_VP anyway and therefore is free. The multipass feature
itself works fine with DSP (i.e. GP and EP) enabled, only the additional
debug info is not shown.
2025-02-15 15:01:29 -07:00
..
dsp mcpx: Remove set but not used count variable 2024-12-29 18:42:12 -07:00
aci.c xbox: Update PCI device header revisions to match Xbox 1.0 retail 2021-03-03 13:43:42 -07:00
adpcm.h mcpx: Narrow variable def scopes, fix shadowing 2025-01-07 00:52:51 -07:00
apu.c mcpx: Implement APU multipass voice processing 2025-02-15 15:01:29 -07:00
apu.h mcpx: Enable APU pipeline 2021-01-03 16:14:47 -07:00
apu_debug.h mcpx: Implement APU multipass voice processing 2025-02-15 15:01:29 -07:00
apu_regs.h mcpx: Enable APU pipeline 2021-01-03 16:14:47 -07:00
fpconv.h mcpx: Enable APU pipeline 2021-01-03 16:14:47 -07:00
meson.build build: Convert xemu Makefiles to meson 2021-04-18 23:41:28 -07:00
svf.h mcpx: Enable APU pipeline 2021-01-03 16:14:47 -07:00
trace-events mcpx: Start using tracing infrastructure for logging 2022-02-01 23:34:53 -07:00
trace.h mcpx: Start using tracing infrastructure for logging 2022-02-01 23:34:53 -07:00