Commit Graph

656 Commits

Author SHA1 Message Date
Erik Abair f701573d44 nv2a: Use rounded values for alpha testing 2025-03-05 17:12:14 -07:00
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
Matt Borgerson 7cb7bb68a9 nv2a: Multiversion [un]swizzle to optimize for common bpp 2025-01-26 18:47:46 -07:00
Matt Borgerson eae328dc19 nv2a: Move [un]swizzle_rect to swizzle.h 2025-01-26 18:47:46 -07:00
Matt Borgerson bb5ee6865b nv2a: Drop osdep.h, add stdbool.h to swizzle.c 2025-01-26 18:47:46 -07:00
NZJenkins ae4b5c0695
nv2a: Speed up software swizzling 2025-01-26 14:00:35 -07:00
Fred Hallock 191bc40f70
xid: Add Xbox Controller S 2025-01-25 20:48:58 -07:00
Ryzee119 e293f6ba67 input: Add xbox live communicator support 2025-01-15 03:08:14 -07:00
Matt Borgerson 7eba0d3124 nv2a/gl: Update copyright on recently modified files 2025-01-07 17:37:06 -07:00
Matt Borgerson 510c280b05 nv2a/gl: Unify ShaderBinding and ShaderLruNode 2025-01-07 17:35:06 -07:00
Matt Borgerson 5dcbb7ebdb nvnet: Minor cleanup 2025-01-07 14:28:27 -07:00
Matt Borgerson 6c389194b6 nv2a/psh: Remove unused arguments in string format 2025-01-07 00:52:51 -07:00
Matt Borgerson d76898f63b nv2a: Fix variable shadowing complaints 2025-01-07 00:52:51 -07:00
Matt Borgerson 281f42c5e1 mcpx: Fix variable shadowing 2025-01-07 00:52:51 -07:00
Matt Borgerson 85f84be04d mcpx: Narrow variable def scopes, fix shadowing 2025-01-07 00:52:51 -07:00
Matt Borgerson 57c6d82fa3 nv2a/vk: Simplify debug indent loop to a variable field width format 2025-01-07 00:52:51 -07:00
Matt Borgerson 6ac52147a4 nv2a/psh: Remove function scope variable i, which was being shadowed 2025-01-07 00:52:51 -07:00
Matt Borgerson 3070d6422c mstring: Remove mstring_append_{int,char} 2025-01-07 00:52:51 -07:00
Matt Borgerson 0e50741c28 ui,xbox: Copyright updates on changed files 2025-01-06 23:06:21 -07:00
Matt Borgerson 34fe7918d3 nvnet: Return `true' instead of `1' when returning a bool 2025-01-06 23:05:53 -07:00
Matt Borgerson 8687b152c9 nvnet: Drop pc.h, add pci_device.h includes 2025-01-06 23:05:53 -07:00
Matt Borgerson 376280a635 xbox: Configure nic 2025-01-06 23:05:53 -07:00
Matt Borgerson 24c24e030d mc146818rtc: Move Xbox RTC init pattern to reset handler 2025-01-06 23:05:53 -07:00
Matt Borgerson 75ce25c9b5 nv2a: Define DEBUG_NV2A_*=0 ifndef 2025-01-06 23:05:53 -07:00
Matt Borgerson f4ef9f6309 mcpx: Rename dev to parent_obj, use QOM casts 2025-01-06 23:05:53 -07:00
Matt Borgerson 83e91385b7 smc: Include block_int-io.h 2025-01-06 23:05:53 -07:00
Matt Borgerson 31f615c9e9 xbox_pci: Replace sysbus_add_io with memory_region_add_subregion 2025-01-06 23:05:53 -07:00
Matt Borgerson 68497e96d4 xbox_pci: Use Resettable interface 2025-01-06 23:05:53 -07:00
Matt Borgerson dcfc47951e xbox_pci: Use new pci_bus_map_irqs function 2025-01-06 23:05:53 -07:00
Matt Borgerson 7b52d02640 xbox_pci: Drop arg in call to pci_create_simple_multifunction 2025-01-06 23:05:53 -07:00
Matt Borgerson 95b3efb570 xbox_pci: Drop ioapi.h include 2025-01-06 23:05:53 -07:00
Matt Borgerson db2101dab5 xbox: Update nvnet creation 2025-01-06 23:05:53 -07:00
Matt Borgerson fbb5ba3fed xbox: pcspk_init was removed, inline it 2025-01-06 23:05:53 -07:00
Matt Borgerson 0ef5ad787c xbox: Pass isa_bus to i8257_dma_init 2025-01-06 23:05:53 -07:00
Matt Borgerson 5aa997e89b xbox: Rename isa_bus_irqs -> isa_bus_register_input_irqs 2025-01-06 23:05:53 -07:00
Matt Borgerson d38f0e7901 xbox: Rename pcms->bus -> pcms->pcibus 2025-01-06 23:05:53 -07:00
Matt Borgerson 9560677f0a nv2a: Include hw/pci/pci_device.h header 2025-01-06 23:05:53 -07:00
Matt Borgerson f45e61afc8 xbox: Use new mc146818 interface, set x86ms->rtc 2025-01-06 23:05:53 -07:00
Matt Borgerson 4239f64dd5 xbox: Update kvm clock header and drop kvmclock_enabled check 2025-01-06 23:05:53 -07:00
Matt Borgerson a49ee1439f nvnet: Pass mem_reentrancy_guard to object_get_typename 2025-01-06 23:05:53 -07:00
Matt Borgerson cab8b9fbc0 nvnet: Use Resettable interface 2025-01-06 23:05:53 -07:00
Matt Borgerson 9327159f7c nv2a: Use Resettable interface 2025-01-06 23:05:53 -07:00
Matt Borgerson 3106ea97e5 mcpx: Use new bql_[un]lock functions 2025-01-06 23:05:53 -07:00
Matt Borgerson 5cb65d1791 nv2a: Migrate nv2a_get_offsets to new _get_params model 2025-01-06 23:05:53 -07:00
Matt Borgerson 008d848582 mcpx: Use new bql_[un]lock functions 2025-01-06 23:05:53 -07:00
Matt Borgerson 08d4c3611b mcpx: Update headers 2025-01-06 23:05:53 -07:00
Matt Borgerson 81a6985bb0 mcpx: Use new fifo8_pop_buf api 2025-01-06 23:05:53 -07:00
Matt Borgerson 6cce59135b mcpx: Use Resettable interface 2025-01-06 23:05:53 -07:00
Matt Borgerson 3b59f9b2f1 lpc47m157: Drop call to serial_set_frequency 2025-01-06 23:05:53 -07:00
Matt Borgerson 824af3978f meson: Migrate nv2a_vsh_cpu submodule to a subproject 2025-01-02 19:07:25 -07:00