Commit graph

1769 commits

Author SHA1 Message Date
Elad Ashkenazi c5c51ec0c1 types.hpp: Add argument formatter to assert errors 2024-08-01 16:32:09 +03:00
Megamouse 7ebfe5ce69 Remove unused variable 2024-08-01 02:44:01 +02:00
Megamouse 08168c39c8 Fix std::move warning 2024-08-01 02:44:01 +02:00
Megamouse 319c533196 Silence deprecation warnings on MacOs 2024-08-01 02:44:01 +02:00
Elad Ashkenazi faabb9e111 Add SPU usage for program dump 2024-07-28 12:36:42 +03:00
Elad Ashkenazi b639599ade reduce logging 2024-07-28 12:36:42 +03:00
Elad Ashkenazi 26b21ed031 LLVM: Prevent crash on disk space shortage 2024-05-30 11:41:24 +03:00
Elad Ashkenazi c556322fc5 LLVM: Fix nullptr deref when accessing broken cache files 2024-05-30 11:41:24 +03:00
Elad Ashkenazi a2dcbb9c13 Replace src_loc with std::soource_location 2024-05-21 14:19:12 +03:00
Elad Ashkenazi 7b3c9bea58 StrFmt.h: Fix throw_exception log message 2024-05-21 14:19:12 +03:00
Megamouse 25ce3880c4 Replace get_thread_class with static cast for performance reasons 2024-05-18 16:16:08 +02:00
Megamouse ab923bc2c3 Add comment for thread_scheduler_mode::old to get_affinity_mask 2024-05-18 16:16:08 +02:00
Megamouse dfee5b9a6c threads: replace magic number id_type with thread_class 2024-05-18 16:16:08 +02:00
Elad Ashkenazi 302fe53704 Log SPU access violation in always-level 2024-05-14 19:36:48 +03:00
Elad Ashkenazi 7c313703a2 Savestates: Fix SPU pause from access violation handler 2024-05-14 19:36:48 +03:00
Elad Ashkenazi 91a54c11eb Savestates: Fixup file write 2024-05-05 06:57:11 +03:00
Eladash b83e39a540 Fix some warnings 2024-05-04 14:15:51 +03:00
Eladash 4905cd425f Thread.cpp: Prevent repeatedly halting the debugger 2024-05-04 14:15:51 +03:00
oltolm 862727e9bf simplify template code like std::invoke_result<T>::type 2024-04-21 18:15:17 +03:00
oltolm 9e9a3262eb simplify template code like std::is_same<T>::value 2024-04-21 18:15:17 +03:00
Megamouse b4d5b44e00 Don't create perf map files in linux unless enabled 2024-04-20 19:46:05 +02:00
oltolm c40826c140 llvm: update to 18 2024-03-28 08:45:20 +01:00
Eladash 316b3a8851 Thread.cpp: Reduce logging 2024-03-27 19:59:22 +02:00
Eladash 213a19c9f3 Add logging for CallFromMainThread 2024-03-24 16:19:06 +02:00
Eladash d39361705a report_fatal_error: Minor cleanup and improvement 2024-03-06 20:32:22 +02:00
Elad.Ash 75ef154c12
SPU LLVM: Improve runtime SPU compilation preferences (#15250) 2024-02-28 08:28:49 +02:00
Eladash 88ba3c47c2 ELF.h: Avoid using seek operations 2024-02-16 10:42:57 +02:00
Eladash 77ba2b40e7 Thread.cpp: Explicitly state difference type in thread_ctrl::wait_for_accurate 2024-02-11 23:01:40 +02:00
Megamouse cdfe3ee7c8 Name some threads 2024-01-31 16:33:29 +01:00
Megamouse 0d1fbfb755 VFS: Fix some potential .back() segfaults 2024-01-25 17:03:58 +01:00
pastalian e8ad6ec673
Add missing headers (#15075)
Some systems must explicitly include these headers.
2024-01-24 17:22:37 +01:00
Steveice10 3ef48cbdd5 rpcs3qt: Add macOS support to the updater. 2024-01-24 09:44:56 +01:00
Megamouse 50fcec63e0 fs: fix get_executable_dir 2024-01-21 00:11:16 +01:00
Megamouse 8edd7d54cf fs: fix warning. fix size argument in report_fatal_error 2024-01-20 21:59:02 +01:00
Steveice10 9c354ee269
Utilities: Add support for portable user directory. (#15064) 2024-01-20 10:04:25 +02:00
Megamouse fd540f1820 Mac: silence deprecation warning 2024-01-16 22:52:57 +01:00
oltolm 0ae1578dce split JIT.cpp and SPURecompiler.cpp 2024-01-14 17:21:39 +01:00
oltolm 2039b85be3 prepare split 2024-01-14 17:21:39 +01:00
oltolm 8eae73dd02 add comments where to split 2024-01-14 17:21:39 +01:00
Megamouse 3d974eed03 fs: move buf from stack to heap to silence VS warning 2024-01-14 06:40:35 +01:00
Megamouse 329b58c8cd fs: remove duplicate to_utf8 function 2024-01-14 06:40:35 +01:00
RipleyTom b6e9746198
RPCN 0.9 (#15002) 2024-01-05 09:43:26 +01:00
Megamouse d03393ffe9 sys: fix games.yml hdd paths 2024-01-02 10:18:23 +01:00
Eladash c2076373e8 Utilities\BitField.h: Try to fix some warnings
Cleanup and make bitfield extraction u32 if possible
2024-01-01 11:58:00 +02:00
Megamouse 59c58aa3cf fix some warnings 2023-12-30 19:07:35 +01:00
Eladash f696107c90 Add savestate data validity asserts 2023-12-29 11:11:53 +02:00
kd-11 6a7fb4c10c Do not include profiling headers 2023-12-23 14:24:34 +02:00
Megamouse b17b6e07ea Fix warning 2023-12-20 23:33:43 +01:00
Eladash 0c410f8a14 Postpone thread launching on g_fxo->init 2023-12-19 15:34:07 +02:00
oltolm fdcb481f07 fix Clang warnings 2023-11-29 19:02:34 +01:00
Eladash ac19a50f5f Rewrite global zipping buffer function
Take advantage of the new method, remove a method that is not recommended for use.
2023-11-28 16:46:44 +02:00
Eladash f60bdbaece Savestates: Compressed state files 2023-11-27 12:36:17 +02:00
Eladash 66d01b688c Savestates: Implement initial RAM ventilation system 2023-11-10 08:45:49 +02:00
Eladash f9d213650c Utilities/Thread.cpp: Fix threads memory leak 2023-10-24 22:14:12 +03:00
oltolm 50df01d00e llvm: add support for LLVM 17 2023-10-13 14:27:48 +02:00
Megamouse 76629e1b52 Qt: Allow to use .gz files in Log viewer
Log viewer can open .gz files
Log viewer can save log as .gz
Refactored most instances of zip and unzip code to seperate functions
2023-10-13 07:45:16 +02:00
Eladash e79fc867c5 Patches: Add savable breakpoints patch type 2023-09-26 11:06:01 +03:00
Eladash 7a4ee286be Rewrite Utilitis/sema.cpp 2023-09-11 15:44:33 +03:00
Eladash b4fc43d787 PPU LLVM: Re-add multi-threaded overlay module compilation 2023-09-10 18:58:34 +03:00
Megamouse 0bb5974ab6 input: try to add tony hawk RIDE Skateboard 2023-09-05 20:41:39 +02:00
Eladash 53ba38e98d Thread.cpp: Flush log and make thread context dump on exception 2023-09-05 06:20:57 +03:00
Megamouse 6bc7d7c698 fs::utime: fallback to 01/01/1980 00:00:00 if the date is too low 2023-09-04 10:07:23 +03:00
Eladash 66b6bae596 Win32/File.cpp: Avoid potential race in concurrent writes
Uninitialized data is better than overwritten data. Affects SPU Cache (unprotected writes).
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
Megamouse 105c694903 Windows: update some comments and echos in git-version-gen.cmd 2023-09-02 10:39:25 +02:00
Zion Nimchuk d4b1d5c938 Actually fix build id issue 2023-09-02 09:58:01 +02:00
oltolm 373e502501
Workaround for Clang: move bless to its own header file 2023-08-19 13:30:46 +03:00
Eladash cd98e84ca5 Debugger/RSX: Add FP/VP hash of current shader 2023-08-19 04:21:37 +03:00
Megamouse f199ad7a42 patches: Improve location logging for invalid note sequence 2023-08-12 14:43:47 +02:00
Megamouse d760e66fdb VS: Fix compilation on Visual Studio 17.7.0 2023-08-12 13:53:40 +02:00
Ivan Chikish 804665df69 Fixup futex_waitv redefinition 2023-08-03 14:32:46 +03:00
Ivan Chikish 39a0ff99b2 Fix lf_queue regression 2023-08-03 06:56:50 +03:00
Ivan Chikish d34287b2cc Linux: use futex_waitv syscall for atomic waiting
In order to make this possible, some unnecessary features were removed.
2023-08-02 21:46:06 +03:00
Ivan Chikish 831a9fe012 Remove thread pool
Prevents implementing thread priority on Linux.
2023-08-02 21:46:06 +03:00
Megamouse d119cf6e96 Qt6 port 2023-07-31 20:03:24 +03:00
Eladash 1184d6aecb Thread.cpp: Fixup SPU access violation log message 2023-07-31 11:55:31 +03:00
oltolm bc40b61ef1 rename fs::stat to fs::get_stat 2023-07-25 12:15:08 +03:00
Eladash 95fb7859d2 Fixup patches 2023-07-24 17:07:15 +03:00
Eladash 12fe55a258 Thread.cpp: Always print SPU thread name in access violation
Suppress GUI log window prefix removal.
2023-07-23 17:58:54 +03:00
Eladash 9291e2777d File.h: Implement fs::error::xdev 2023-07-21 12:27:35 +03:00
Eladash eecadab387 Implement fs::file::get_id()
File descripor ID with 2 provided ways to compare between them:
1. is_mirror_of():
 Test if identical:
  For example: when LHS writes one byte to a file at X offset, RHS file be able to read that exact byte at X offset)

2. is_coherent_with():
 Test if both files point to the same file:
  For example: if a file descriptor pointing to the complete file exists and is being truncated to 0 bytes from non-
  -zero size state: this has to affect both RHS and LHS files.
2023-07-17 08:09:09 +03:00
Megamouse 3381144d2e Patches: improve location logging of some invalid nodes 2023-07-13 08:40:19 +02:00
Megamouse a19883f875 Patches: do not allow empty patch names 2023-07-13 08:40:19 +02:00
Megamouse 02bac61c9c Patches: validate yml patch offset values 2023-07-13 08:40:19 +02:00
Eladash 083b4f0d3b Patches: Fix potential RPCS3 crashes due to invalid patches 2023-07-13 07:38:46 +03:00
oltolm 0c94606fcf
Make compile with msvc, clang and gcc on Windows 2023-07-11 21:40:30 +03:00
Eladash 17d8f2884e Debug fixes 2023-07-09 13:33:03 +03:00
Eladash 554b27a82a PPU LLVM: Implement SELF precompilation
Do not use PS3 memory for precompilation.
2023-06-28 18:34:33 +03:00
brian218 cf4ae38699 sys_fs: Implemented get_normalized_path() 2023-06-25 09:08:20 +02:00
Eladash 09f83e48ff fs: Add get_parent_dir_view
string view version of the argument path, use with care.
2023-06-24 12:00:04 +03:00
Eladash bcbce5dd48 File.cpp: revert get_parent_dir change 2023-06-24 12:00:04 +03:00
unknown 37bc73865d jit: fix assertion in GDBJITRegistrationListener 2023-06-18 13:06:53 +03:00
Megamouse a90858193e Qt/logging: add format function for QString 2023-06-15 19:48:15 +02:00
Megamouse 635fed0427 fs/linux: fix potential copy_file issue
sendfile is meant to be run in a loop, since there is no guarantee that a single call copies all the data.
The current implementation may lead to corrupt files on linux.
2023-06-12 15:59:32 +03:00
Eladash d5eebd6ab4 debugger: Fix trailing spaces in PPU register dump 2023-06-06 09:48:27 +02:00
brian218 a131a41874 Fixed a bug in fs::get_parent_dir() 2023-06-05 20:15:43 +02:00
brian218 c85775922e sys_usbd: Implemented sys_usbd_unregister_extra_ldd() 2023-06-05 13:51:54 +03:00
brian218 6a570ae57e sys_fs: Implemented sys_fs_mount(prot=1) read-only mounting & fixed up some operation and permission checks 2023-06-05 13:51:54 +03:00
Eladash 300701a06b Make page faults entry enqueue and event atomic 2023-06-02 08:54:46 +03:00
Eladash 3d8d9ef61c Threads.cpp: Fix infinite looping 2023-06-02 08:54:46 +03:00
Megamouse f96a0ce9d2 Trophies: Add more sanity checks to pugixml backend 2023-05-30 19:11:57 +02:00
Megamouse cb1b71bc57 Qt: fix emulated button reset 2023-05-25 20:37:15 +02:00
Eladash f031cd9b42 Take advantage of WIN10 Thread Name API 2023-05-24 20:39:51 +02:00
Megamouse f5c48a00b4 Fix log message 2023-05-18 09:15:49 +02:00
Dark 24dde5d42b Implement support for emulating Rock Band 3's MIDI Pro Adapter
Co-authored-by: Megamouse <studienricky89@googlemail.com>
2023-05-17 22:59:44 +02:00
oltolm b7b87096d8 fix: make ASAN work on Windows 2023-05-06 10:17:58 +02:00
brian218 6a41b22a1b sys_fs: Further implemented cellFsArcadeHddSerialNumber (0xc0000007) 2023-05-06 10:26:37 +03:00
Ivan Chikish 3cf8c629fa X86 SigHandler: Add support for BEXTR instruction
BEXTR is emitted for znver CPUs in recent LLVM.
2023-05-05 18:03:50 +03:00
Megamouse ad5a62b62d Loader: split add_only into own function
The new code does not require any modifications apart from loading vfs
2023-04-28 17:16:04 +02:00
kd-11 b060165817 jit: Fix vec_cmp_eq<u32>
- Emit pcmpeqd instead of the incorrect pcmpeqw
2023-04-15 12:16:15 +03:00
Eladash 79d09d02ed Add savestate buttons to home menu 2023-04-13 20:46:37 +02:00
Ivan Chikish 06b0e35fb9 Update to LLVM 16.0.1
Fix Zen4+ AVX-512 detection
2023-04-11 12:13:09 +03:00
Ivan Chikish fb88e1c1c9 Update to LLVM 16.0.0, switch to upstream LLVM 2023-04-06 10:19:31 +03:00
RipleyTom 0f45a8c180 Fix inaccuracies pointed out by PVS-Studio 2023-03-25 08:45:30 +01:00
RipleyTom c98158b460 Add buf_to_hexstring 2023-03-18 01:51:35 +01:00
oltolm 520524285a
llvm: update code to new API (#13500)
* llvm: update code to new API

* llvm: remove OLDLLVM define
2023-03-11 01:57:21 +03:00
Megamouse cc145eaf2e patches: fix move_file/hide_file error 2023-03-04 19:18:36 +01:00
Megamouse 92ae57c9ee Windows: log more descriptive errors 2023-03-04 18:34:56 +01:00
Eladash 382a7c94a2 Patches: Virtual move/remove game files patches 2023-03-03 20:56:11 +01:00
Megamouse e46dba43ad config: try to fix float locale issues 2023-02-25 11:23:07 +01:00
Megamouse afad96a52a Qt: try to fix QString::toDouble locale nonsense 2023-02-25 11:23:07 +01:00
kd-11 7db6594358 rsx/overlays: Use lf_queue for a lock-free stack implementation 2023-02-24 00:46:53 +03:00
Megamouse ccb7528a59 fix some warnings 2023-02-22 23:57:20 +01:00
Megamouse f0c8f6d47b patch_manager: check config values before applying them 2023-02-22 01:17:36 +01:00
Megamouse a29dc3893f patch_manager: change wording 2023-02-22 01:17:36 +01:00
Megamouse c6f392bf6c patch_manager: allow multiple dynamic values 2023-02-22 01:17:36 +01:00
Megamouse f2ded2fdb7 patch_manager: Add dropdown labels 2023-02-22 01:17:36 +01:00
Megamouse 080737fd1f patch_manager: add more dynamic to dynamic patches 2023-02-22 01:17:36 +01:00
Megamouse 1040757556 patch_manager: add ability to add dynamic patches 2023-02-22 01:17:36 +01:00
Margen67 5bb89328d0 Remove whitespace 2023-02-15 08:58:02 +01:00
Megamouse 9375e255e1 overlays: add pages to home menu 2023-02-09 20:36:35 +01:00
Jan Beich 3eaa29e7c2 Thread: silence -Wsign-compare on FreeBSD aarch64
Utilities/Thread.cpp:1805:48: error: comparison of integers of different signs: 'uptr' (aka 'unsigned long') and '__register_t' (aka 'long') [-Werror,-Wsign-compare]
        const bool is_executing = uptr(info->si_addr) == RIP(context);
                                  ~~~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~
2023-01-19 18:49:06 +03:00
brian218 d2dc57585c sys_fs: Improved sys_fs_fcntl(0xc0000015&0xc000001c) 2023-01-18 08:09:35 +01:00
kd-11 439bdde849 rsx: Fix printing of expected values 2023-01-11 16:48:53 +03:00
Megamouse 9b7eaf5117 Improve error logging 2023-01-09 21:06:51 +01:00
Elad Ashkenazi 382a27cb2f
Allow to cancel dir size calculation (#13134) 2022-12-30 09:34:35 +01:00
Nekotekina eeda958f33 fs: fix read/read_at/write (Unix)
It's known that too huge read can require multiple syscalls.
2022-12-29 16:19:54 +03:00
Nekotekina 2f9cac8d18 fs: implement file::read_at
Reads from the given offset; does not seek; thread-safe.
2022-12-29 16:19:54 +03:00
Megamouse 96c6dc01eb Qt: Implement config check in Utilities and log viewer 2022-12-22 09:09:51 +01:00
Elad Ashkenazi baa2768a69 StrUtil.h: Prevent an overflow in strcpy_trunc 2022-12-17 19:55:16 +01:00
kd-11 04fb86556a rsx: Fix surface metadata life-cycle
- Beware of clone operations. Blindly inheriting the parent's metadata is wrong.
- It is possible, especially when reusing a pre-existing slice, that the parent and child info has diverged
2022-12-17 20:16:58 +03:00
Eladash 8980fc5524 rsx: Fix exceptions 2022-12-17 14:27:20 +01:00
Eladash 7df093c94b Make it work with LLVM
Allow multiple entries for a single code.
2022-12-09 21:16:05 +03:00
Eladash f572e29a13 PPU: Add new patch function for SONIC 06 2022-12-09 21:16:05 +03:00
kd-11 0aaa40cd53 ux: Update vcredist links and optionally disable help text from error dialog 2022-12-06 20:46:35 +01:00
Megamouse a6b44ea1bb Qt: support fatal error as htmk 2022-12-06 20:46:35 +01:00
Elad Ashkenazi ad3ea966cb
Add RPCS3/games/ for automatic games detection, support PSN games outside HDD0 (#12982)
* SFO: Do not load PARAM.SFO with illegal TITLE_ID
* Add support for PSN games outside HDD0
* Add RPCS3/games/ for automatic game detection
2022-12-02 13:18:07 +03:00
Eladash e9e139c364 logs improvements
* Do not use unsafe pointer arithmetics exceeding existing memory. (exceeding m_fptr)
* Properly use the enire 32MB of the buffer, previously only 16MB were used for cuncurrent access.
* Fix a bug occurring after attempting to push 1TB (40 bits).
* Flush the log before hitting a debugging breakpoint.
2022-11-28 18:52:11 +03:00
Eladash 8b934abcf2 Improve error_code, make HDD1 errors be warnings 2022-11-26 16:33:47 +03:00
Nekotekina bf388e5428 cfmt/StrFmt: support s128 formatting (untested) 2022-11-26 09:30:11 +03:00