Commit graph

3945 commits

Author SHA1 Message Date
Malcolm Jestadt ebeeafc94f SPU LLVM: Use vrangeps in clamp_smax
- This instruction can clamp a value between a range of values, something which previously needed 2 instructions.
- With the immediate byte set to 0x2 it will compute the minimum between the absolute value of the first input and the second input, and then copy the sign from the first input to the result.
2022-06-11 18:25:31 +03:00
Elad Ashkenazi 17e28ae85d SPU LLVM: Improve expression matching detection for moved registers 2022-06-11 16:13:58 +03:00
RipleyTom da6434a65a
Implements sys_fs_fcntl 0xC0000008 & 0xC000001A (#11957) 2022-06-11 13:12:42 +01:00
Megamouse 2a1e3b2b77 sys_rsxaudio: use max channel count from configured sound_modes 2022-06-09 18:59:13 +02:00
Megamouse 61823a5d62 sys_rsxaudio: only update config if the fxo is initialized 2022-06-09 18:59:13 +02:00
Megamouse ba96c6f3bb cellAudioOut: properly implement downMixer
If the PS3 downMixer is enabled, the game uses 8 channel input and 2 or 6 channel output
2022-06-09 18:59:13 +02:00
Megamouse fd8931c87e cellAudio: simplify sound mixer
There was no need to treat the first mix differently if all it did was init the buffer anyway.
Let's just always memset to zero.
2022-06-09 18:59:13 +02:00
Malcolm Jestadt 64616f1408 SPU LLVM: Microfixes
- Avoid vpermb path in shufb when op.ra == op.rb
- Reverse indices with (c ^ 0xf) rather than (~c) in vpermb path, vpternlogd is a 3 input operation and requires needless mov instructions to avoid destroying inputs
2022-06-08 22:50:30 +03:00
Nekotekina 8d46840e09 Enable ppu_feed_data in PPU Interpreter 2022-06-07 15:24:50 +03:00
Nekotekina 753a12f436 Enable call history in PPU Interpreter 2022-06-07 15:24:50 +03:00
Megamouse 8e667e69f6 initial cellGameThemeInstall and cellGameThemeInstallFromBuffer 2022-06-07 07:37:30 +02:00
Megamouse 4d09be25aa cellMsgDialog: send DRAWING_END on abort 2022-06-06 20:07:01 +02:00
Eladash 0f499e36fb Optimize emulation stopping for when cellSysutilCheckCallback is not called 2022-06-06 19:21:41 +02:00
Eladash f5beaabded cellSysutil: Implement DRAWING callbacks
Also fixed a minor race in cellUserInfo regarding status of dialog
2022-06-06 19:21:41 +02:00
Elad Ashkenazi 248809ca1f cellGame: Revert cellGameDataCheckCreate2 change for now 2022-06-06 13:41:20 +02:00
Eladash f9bc7458d4 rsx: Resurgence of HLE GCM 2022-06-06 12:56:25 +02:00
Eladash f1b03b36f7 cellGame: Make stats storage non-temporary, fix cbSet->setParam initial value 2022-06-05 20:47:49 +02:00
Megamouse e9ba6fd034 Qt: use unique_ptr for Ui objects. Should fix some mem-leaks 2022-06-05 19:07:03 +02:00
Megamouse ac34714837 CellAudioOut: Add some placeholders to CellAudioOutCodingType 2022-06-05 13:34:34 +02:00
Megamouse b4ce31cae3 cellAudioOut: update TODO comments for CELL_AUDIO_OUT_SECONDARY 2022-06-05 13:34:34 +02:00
Megamouse 5dffbca636 cellAudioOut: Only add LPCM 2ch. to secondary output 2022-06-05 13:34:34 +02:00
Megamouse 306776626a cellAudioOut: set latency to 13 2022-06-05 13:34:34 +02:00
Megamouse 15be6827ea cellAudioOutGetConfigure: Store and return set config seperately 2022-06-05 13:34:34 +02:00
Megamouse 8c0a786918 cellAudioOutConfigure: don't return error on unsupported config
Apparently the config simply isn't changed
2022-06-05 13:34:34 +02:00
Megamouse 8aa67114a9 cellAudioOut: Prefer 7.1 if available and supported
Select 7.1 as initial mode if the PARAM.SFO supports it and we enabled it
2022-06-05 13:34:34 +02:00
Megamouse 1bbb26334a cellAudioOut: Use bev_bdvd for disc game PARAM.SFO
Game Data PARAM.SFO does not contain SOUND_FORMAT
2022-06-05 13:34:34 +02:00
Malcolm Jestadt 1227b0a633 SPU LLVM: Reneable icelake shufb paths
- The previous code works just fine
2022-06-05 13:08:00 +03:00
Elad Ashkenazi 9bb7e8d614
rsx: Implement atomic FIFO fetching (stability improvement) (non-default setting) (#12107) 2022-06-04 15:35:06 +03:00
Malcolm Jestadt 0e5514003a SPU LLVM: Optimize LQR/STQR
- Avoid type mismatch between adds that prevented llvm from combining the operations
2022-06-03 16:16:28 +03:00
Megamouse 06e5b8a06a cellAudioOut: add stereo, 5.1 and 7.1 for covenience 2022-06-02 13:12:04 +02:00
Megamouse 94aef197dd cellAudioOut: switch to manual multi-selection of format as seen on PS3 2022-06-02 13:12:04 +02:00
Megamouse a86e7eeba0 cellAudioOut: Always add Linear PCM 2 Ch., also add 5.1 when 7.1 is selected 2022-06-02 13:12:04 +02:00
Megamouse 95a3ce68ce cellAudioOut: log all added sound modes 2022-06-02 13:12:04 +02:00
Megamouse 9ab1e69697 cellAudioOut: simplify sfo access and make it foolproof 2022-06-02 13:12:04 +02:00
Megamouse 60d80fd5fc PSF: move sound format flags to enum 2022-06-02 13:12:04 +02:00
Megamouse 350d3ad386 cellAudioOut: fix AC3/DTS mixup 2022-06-02 13:12:04 +02:00
Megamouse d6065e8814 cellAudioOut: add sound modes even if they aren't supported 2022-06-02 13:12:04 +02:00
Megamouse 363808a57b cellAudioOut: simplify sound mode initialization 2022-06-02 13:12:04 +02:00
Megamouse 3402835c8e cellAudioOut: apply review fixes, add some comments 2022-06-02 13:12:04 +02:00
Megamouse 911d37e4d7 cellAudioOut: use 2 channel LPCM by default and also use it as fallback 2022-06-02 13:12:04 +02:00
Megamouse 72e1e242a3 cellAudio: use format instead of downmix 2022-06-02 13:12:04 +02:00
Megamouse c42ff338e7 cellAudioOutGetSoundAvailability: return channel count based on available sound modes 2022-06-02 13:12:04 +02:00
Megamouse 4f81fcd5cc cellAudioOutConfigure: move sound_modes to fxo, implement waitForEvent 2022-06-02 13:12:04 +02:00
Megamouse d47f1ef406 cellAudio: Implement application based downmix settings 2022-06-02 13:12:04 +02:00
Megamouse 03df3c5293 cellAudioQuit: do not clear event queues
They seem to be handled independently.
2022-05-31 23:38:29 +02:00
Elad Ashkenazi bda52a51a7
Debugger: Show HEX view of floating-point PPU registers 2022-05-31 07:36:10 +02:00
Malcolm Jestadt e9dfb3cb63 SPU LLVM: Fixup for inline MFC transfers
- Could previsouly segfault when src and dst were swapped. Just use unaligned instructions instead.
2022-05-29 19:08:36 +03:00
Vestral 5b0badc215 sys_rsxaudio: timer fix 2022-05-29 14:59:12 +02:00
Malcolm Jestadt 6f4398889e SPU LLVM: Optimize inline MFC transfers
- Use wider instructions when possible
2022-05-29 15:32:25 +03:00
Eladash dd4722fc1f rsx: Fix second VBLANK time
Turns out that both VBLANK time and flip time clock at 80Mhz which is MFTB rate, just that cellGcmGetLastFlipTime is missing conversion to microseconds, so odd.
2022-05-29 14:23:28 +02:00