Commit graph

10850 commits

Author SHA1 Message Date
Eladash bdceb24fd9 PPU: Try to reduce wait for other threads 2023-09-10 18:58:34 +03:00
Eladash b4fc43d787 PPU LLVM: Re-add multi-threaded overlay module compilation 2023-09-10 18:58:34 +03:00
Eladash d399bd5b6a PPU Analyzer: Another fixup 2023-09-10 18:58:34 +03:00
Eladash 6b05fcf704 vm_ptr.h: Fix warning
/rpcs3/rpcs3/Emu/Cell/../Memory/vm_ptr.h:135:32: warning: invalid application of 'sizeof' to a void type [-Wpointer-arith]
  135 |                         return sizeof(T);
      |                                ^~~~~~~~~
2023-09-10 18:58:34 +03:00
brian218 009d8e13da USIO: Support up to 4 players for Tekken Tag Tournament 2 Pair Play mode 2023-09-06 18:17:06 +02:00
Elad Ashkenazi 52495c17d6
PPU Analyzer: Fixup 2023-09-06 06:53:10 +03:00
Megamouse 055c7db5a4 progress dialog: Fix remaining time 2023-09-05 22:53:44 +02:00
Eladash 44c08c3a73 PPU/Progress Dialog: Improve remaining time calculation 2023-09-05 22:02:47 +03:00
Megamouse 0bb5974ab6 input: try to add tony hawk RIDE Skateboard 2023-09-05 20:41:39 +02:00
Eladash 6dcdf6ec76 Add approximation to remaining compilation time 2023-09-05 14:58:46 +03:00
Eladash ff4485d8ae PPU LLVM: Patch unregistered BLRs
Fixes "Unregistered PPU Function" in "Jak and Daxter Collection"
2023-09-05 06:20:57 +03:00
Eladash eacfa36fe6 SPU/DisAsm: Fix constant propagation with non-GPR-writing instructions 2023-09-05 06:20:57 +03:00
Eladash fdbb0b0e2f PPU LLVM: Optimize branch list 2023-09-05 06:20:57 +03:00
Eladash cf6eb64f0b SPU LLVM: Improve space-filling for function discovery 2023-09-05 06:20:57 +03:00
Eladash 85773ad869 PPU LLVM: Optimize traps a bit 2023-09-05 06:20:57 +03:00
Eladash a02c168a0d PPU Analyzer: Fixup greedy instruction search 2023-09-05 06:20:57 +03:00
Megamouse b5dac0c333 Progress dialog: show analysing... while no files or modules are known yet. 2023-09-03 15:25:19 +02:00
Eladash 1c8f1b2c27 SPU LLVM: Sad workaround for precompilation
Disable progress dialog for when only precompilation is required.
2023-09-02 22:14:53 +03:00
Eladash 8d9e9eaff9 PPU Precompilation: Fixup file counter 2023-09-02 22:14:53 +03:00
Eladash b900c43ceb PPU: Precompile only encrypted executeables
Improve sys_prx_load_module and sys_overlay_load_module error checking.
2023-09-02 22:14:53 +03:00
Eladash d62d6cc852 Progress Dialog: Force-update counter when complete
This confuses both the user and the developer at times.
2023-09-02 22:14:53 +03:00
Eladash 150afecc29 Fixup spu_thread::discover_functions 2023-09-02 22:14:53 +03:00
Elad Ashkenazi ea57984912
SPU LLVM: Fill space between functions using targets (Precompilation)
* Revert "PPU Analyzer: Revert TRAP detection change"
2023-09-02 15:56:34 +03:00
Eladash 11006dac35 sys_rsx: Fix local memory size reported in driver info 2023-09-02 12:55:34 +03:00
Eladash dd4840caf6 SPU LLVM: Add CRC check for cache 2023-09-02 12:31:11 +03:00
Eladash 3f7afb8375 SPU LLVM: Fix crashes on corrupted cache file
* Fix OOM if size is too high.
* Fix out-of-bounds access beyond SPU_LS_SIZE.
2023-09-02 12:31:11 +03:00
Eladash deacf76ca4 PPU Analyzer: Revert TRAP detection change 2023-09-02 12:31:11 +03:00
Eladash 5e110f2844 SPU LLVM: Try to precompile filler-sapce between functions 2023-09-02 12:31:11 +03:00
Eladash 7c0d8fc29c Improve spu_thread::is_exec_code 2023-09-02 12:31:11 +03:00
Eladash a626ccfcad SPU LLVM: Initial precompilation of tail-calls 2023-09-02 12:31:11 +03:00
Eladash a9810ccb72 SPU LLVM: Another fix for Game Collection's precompilation 2023-09-02 12:31:11 +03:00
Eladash 90ad129b83 Debugger: Fix GOTO and intruction stepping 2023-09-02 12:31:11 +03:00
Eladash e851c044b5 SPU: Function discovery fix
Do not detect branch to next.
2023-09-02 12:31:11 +03:00
Megamouse a597368c46 SPU: fix some wierd typos (may be wrong, no idea) 2023-09-02 12:10:36 +03:00
Eladash f9f2657c98 SPU LLVM: Optimize spu_idisable 2023-09-01 18:08:15 +03:00
kd-11 1c793edf7d Fix excluded sections check mismatch 2023-09-01 13:35:20 +03:00
kd-11 133ddb118c rsx/texture-cache: Remove archaic short-circuit during purge-xxxxx routines 2023-08-31 07:23:10 +03:00
Megamouse f554b444c0 Qt: rename pad profiles to config files 2023-08-31 00:36:48 +02:00
Eladash 02b5cae2ad Precompile PRX/ELF extension 2023-08-30 16:47:45 +03:00
Eladash ba41e466cf Hotfix SPU Cache Spam For Game Collections 2023-08-30 16:47:45 +03:00
Eladash 6d0390bad9 Fixup Create PPU Cache 2023-08-30 08:45:29 +03:00
Eladash ee9477dc21 SPU: support pure SPU code precompilation discovery 2023-08-30 08:45:29 +03:00
Eladash 37212a632c SPU: Refactor function discovery 2023-08-30 08:45:29 +03:00
Elad Ashkenazi 105c5759f3 Add SPU Precompilation to Create PPU Cache 2023-08-30 08:45:29 +03:00
Megamouse 7144e92ce2 Qt: fix pressure intensity deadzone enabled state 2023-08-29 21:11:46 +02:00
Megamouse 452a4654da input: add SDL_GameControllerDB 2023-08-29 03:19:41 +02:00
Elad Ashkenazi 3d2229ca05 SPU LLVM Precompilation Fixup 2023-08-28 13:33:43 +03:00
Eladash b5faf5800b SPU LLVM Precompilation
Implement function SPU function discovery in images or random SPU code
2023-08-28 09:03:56 +03:00
Malcolm Jestadt 290ff5b839 Zero register optimization for AVX-512-VBMI
- Take advantage of the fact that AVX instructions zero the upper 128 bits for a nice optimization when one input vector is zeroed
2023-08-28 05:09:30 +03:00
Eladash be0a789e7d PPU Analyzer: Fix OPD section validation 2023-08-27 02:11:01 +03:00
Megamouse 75af7dc269 cellPad: fix lost status during cellPad_NotifyStateChange
CELL_PAD_STATUS_CUSTOM_CONTROLLER was lost when setting reported_status.
2023-08-27 00:18:23 +02:00
Megamouse 9d88102520 cellPad: fix potential out of bounds read and u32 warnings 2023-08-27 00:18:23 +02:00
Megamouse 656f971823 cellPad: some readability updates 2023-08-27 00:18:23 +02:00
Megamouse dad07da2e9 Midi: fix data type warnings 2023-08-27 00:18:23 +02:00
Megamouse 08d9cbfe48 cellPad: implement cellPadPeriphGetData default logic and add some comments 2023-08-26 22:10:15 +02:00
Megamouse a101f6490f input: Use pad class instead of index in pad settings dialog
While not a bug, it's not very elegant to use the index as long as
there isn't any gap between the values. So let's use the class instead.
2023-08-26 22:10:15 +02:00
Megamouse b248483841 input: implement pressure intensity deadzone 2023-08-26 14:40:56 +02:00
Megamouse c727795881 input: clamp 0-1 in NormalizeDirectedInput
If you called this function with a value smaller than threshold, you
would get an overflow. This never happened, because we always passed
values bigger than threshold. Let's better fix this anyway.
2023-08-26 14:40:56 +02:00
Megamouse f4c2b4cc7e GHLtar: fix guitar tilt
fixes #14454 🤦
2023-08-25 23:27:15 +02:00
Dark bf8621c921 Update rpcs3/Emu/Io/RB3MidiKeyboard.cpp
Co-authored-by: Megamouse <studienricky89@googlemail.com>
2023-08-25 21:13:06 +02:00
Dark 8bd9a52de3 RB3MidiKeyboard.cpp: fix some note off messages being processed incorrectly
Some keyboards send a note on message with zero velocity instead of a
note off. As the MIDI spec permits this, it needs to be handled here.
2023-08-25 21:13:06 +02:00
Eladash eb61ae37ae rsx: Optimize RET returning to following CALL 2023-08-25 20:36:39 +03:00
Eladash 82c5c4d285 PPU Analyzer: Analyze whole segment 0 when patches are applied
Improve greedy instruction search.
2023-08-25 12:52:02 +03:00
Eladash 68c70dd1b9 Savestates: Fix config_event_entry compatibility 2023-08-25 12:52:02 +03:00
Eladash 5fde96d563 rsx: Discard color mask writes with reserved bits 2023-08-25 05:41:54 +03:00
Megamouse 8772219492 Remove unused variable in PPUThread.cpp 2023-08-23 21:42:59 +02:00
Megamouse 6b7f4cbe17 cellPad: remove unused variables 2023-08-23 21:42:59 +02:00
Megamouse d8af3ea855 overlays: fix some warnings, simplify code, use move and references 2023-08-23 21:42:59 +02:00
Eladash 4794869bd8 sceNpDrm: Slow down sceNpDrmIsAvailable 2023-08-23 10:14:29 +03:00
Eladash 4462b7be5c cellGame: Make cellGameDataCheck slower
* Turns out cellGameBootCheck is actually quite fast.
* cellGameDataCheck is incredibly slow, slower for DISC type.
* Set 0 sizeKB for when RET_NONE is about to be returned.
2023-08-23 10:14:29 +03:00
Eladash 756ab1191e PPU Analyzer: Fix for unaligned sections 2023-08-23 10:14:29 +03:00
Eladash e2d4d400ff rsx: Fixup calculate_required_range 2023-08-22 14:26:14 +03:00
Eladash 2022098b13 Progress Dialog: Fix race when PPU compilation is super fast 2023-08-22 14:26:14 +03:00
Eladash a26b8dff18 rsx: Fix index vertex array range with modulo calculation 2023-08-22 09:41:23 +03:00
Eladash ee3c7f335f Progress Dialog: Avoid PPU compilation pop-up on short linkage 2023-08-22 09:01:15 +03:00
Eladash bf93f9f987 Progress Dialog: Fix race that could lead to ever-inaccurate results 2023-08-22 09:01:15 +03:00
Eladash a001e6ef09 Progress Dialog: Fix race on PPU compilation status 2023-08-22 05:40:53 +03:00
Megamouse e28b705f0d Input: Add PS Move navigation controller
Add the ps move navigation controller to pad types.
Use proper pad class profiles.
2023-08-21 23:48:56 +02:00
Eladash 1843a27c2a LV2/Loader: Fix kernel regions addresses 2023-08-21 14:36:54 +03:00
Eladash 7a0185dbcc PPU/debugger: Fixup 2023-08-21 14:36:54 +03:00
Eladash 17302a9422 Debugger/PPU: Superior Callstack Detection 2023-08-20 22:43:41 +03:00
oltolm 66aa02a382 xaudio2: enable IID_IXAudio2Extension for mingw-w64 2023-08-19 21:31:19 +02:00
Eladash 8236a0fa2d Fixup cellPadPeriphGetInfo 2023-08-19 17:18:40 +03:00
Eladash 9635417ae5 Replace some utils::bless usages 2023-08-19 17:18:40 +03:00
Eladash cd98e84ca5 Debugger/RSX: Add FP/VP hash of current shader 2023-08-19 04:21:37 +03:00
Eladash 730badd378 cellAudio: Move and partially fix _mxr000 hack 2023-08-18 11:37:29 +03:00
Eladash 8b212f2169 PPU: Fix LVRX bad memory access 2023-08-17 17:59:45 +03:00
Eladash c8f8ecc4d6 LV2: Fixup reservation notifications 2023-08-17 13:02:57 +03:00
Eladash 6adc7f9ee6 SPU: Use usermode waiting for busy GETLLAR loop 2023-08-17 09:02:28 +03:00
Eladash dddd12f66b CELL: Postponed address notifications 2023-08-17 09:02:28 +03:00
oltolm 01a05502e8 cmake: replace add_compile_definitions with target_compile_definitions 2023-08-15 20:56:39 +02:00
oltolm d062fc1d31 sys_net.cpp: fix compiler warning 2023-08-15 20:56:39 +02:00
Elad Ashkenazi 968762c135 Fix PPU SELF Precompilation 2023-08-14 18:47:20 +03:00
Megamouse 0e23b89352 cellRec: add more encoder options 2023-08-13 21:35:07 +02:00
Elad Ashkenazi 219ee76bf2 cellPad: Fixup sys_config management 2023-08-13 14:20:39 +03:00
Megamouse 39bbf17caf cellRec: fix width of encoder frames
Turns out the pitch was accidentally used as width, leading to an out of bounds read/write.
I kept the pitch in the struct for completeness' sake. It may be needed later, if only for error checks.
2023-08-13 00:37:19 +02:00
Megamouse f40a6d496a home menu: remove non-dynamic SPU Loop Detection 2023-08-12 23:56:26 +02:00
Malcolm Jestadt f2e782f5dd SPU LLVM: Inline timer reads for WrDec and RdDec
- Uses RDTSC to emulate the spu decrementer
2023-08-13 00:16:35 +03:00
Megamouse d760e66fdb VS: Fix compilation on Visual Studio 17.7.0 2023-08-12 13:53:40 +02:00
Malcolm Jestadt 512f0a814c SPU LLVM: Fix for AVX-512 CFLTU path
- vcvvtps2udq doesn't turn negative numbers into 0, fix by using signed integer max with 0 instead of vrangeps
2023-08-12 02:55:08 +03:00