Commit graph

13430 commits

Author SHA1 Message Date
Eladash 8e75e940dd cellSaveData: Fix check 58, implement checks 77 and 76 2023-08-07 19:01:38 +03:00
Eladash d694600146 PPU Loader: Fixup virtual load for non PRX 2023-08-07 19:01:38 +03:00
Eladash 0989f62256 cellGame: Add some LV2 sleep
Those functions are supposed to take a really long time, and in this time the caller PPU waits for VSH.
2023-08-07 10:56:15 +03:00
Eladash 63f045ef2e Add some error checking to sys_fs_chmod 2023-08-07 10:56:15 +03:00
Eladash 91b68f3b45 PPU Analyzer: Fixup verify_func 2023-08-07 06:48:44 +03:00
Eladash 39910885d9 PPU: fix leak when precompiling SELF files 2023-08-06 21:37:10 +03:00
Eladash 506ec0f947 PPU Loader: Fix imports/exports in virtual mode 2023-08-06 21:37:10 +03:00
Eladash c96f3a877f PPU Analyzer: Add more function constraints 2023-08-06 21:37:10 +03:00
Eladash 2a0278fbb1 Fixup SPU/PPU Cache Abortion 2023-08-06 21:37:10 +03:00
Eladash ee869a49f4 PPU Precompilation Fixup 2023-08-06 10:38:40 +03:00
Megamouse 343ba8733b Merge xfloat options 2023-08-06 09:30:53 +03:00
Eladash e6009794ee vm.cpp: Fixup race in range_lock_internal 2023-08-06 08:26:17 +03:00
Eladash 971c12b937 Fixup log message in sys_memory_allocate 2023-08-06 08:26:17 +03:00
Eladash 849af08ee9 System.cpp: Fixup spu.log/tty.log dumping 2023-08-06 08:26:17 +03:00
Eladash 6547fa9cc3 PPU LLVM: Fixup VSH Precompilation 2023-08-06 08:26:17 +03:00
Eladash 4eaa03e9ba PPU: A few more minor bugfixes 2023-08-06 08:26:17 +03:00
Eladash d0b3891002 PPU LLVM Cache Fixup 2023-08-06 08:26:17 +03:00
Eladash e25936c1f1 PPU LLVM/RawSPU: Fixup MMIO crossing-out 2023-08-06 08:26:17 +03:00
Ani 6672499dde vk: Fix detection of RADV on get_driver_vendor()
Since Mesa 22.2.0 (2022-09-21), commit 
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11027/diffs?commit_id=f06da59fd75d7ce7708d159753fcdbc11de16f9e, 
the deviceName property has included the name of the GPU, thus 
invalidating our previous method of detecting RADV as a driver vendor

Before: "AMD RADV NAVY_FLOUNDER"
After: "AMD Radeon RX 6700M (RADV NAVI22)"

Before: "AMD RADV RENOIR"
After: "AMD Radeon Graphics (RADV RENOIR)"
2023-08-06 01:08:06 +02:00
nastys dea24c905b Make experimental build warning modal 2023-08-05 12:40:59 +02:00
Whatcookie d4cf12bc17
LV2: Improve sys_timer_usleep by using CPU usermode waiting
* Linux: set timerslack to minimum value
- Linux delays the wakeup of threads to save power, this feature isn't needed for this application

* Utils: Add detection for waitpkg and monitorx extensions
- These instructions are used for user mode wait instructions

* lv2: Use user mode wait instructions instead of yielding when appropriate
2023-08-05 11:49:30 +03:00
trigger 51a8d2235c osk: ignore input based on ignore_device_events 2023-08-04 21:32:04 +02:00
kd-11 26ecd88074 rsx: Rebuild shader texture state if we detect a silent mismatch 2023-08-04 19:23:06 +03:00
MSuih 65685d4525 Fix current date format 2023-08-04 11:22:44 +03:00
Eladash 744a1528cc Optimize memory usage of ELF loader
Do not duplicate shdr memory when it is present in phdr.
2023-08-03 16:19:55 +03:00
Eladash bb92154145 Auto-dump decrypted binaries if PPU debug is enabled 2023-08-03 16:19:55 +03:00
Eladash 8057773c4f Fix decrypt_binaries_t::done() 2023-08-03 16:19:55 +03:00
Eladash 9f625de51a vm.cpp/Non-TSX: Fixup potential deadlock 2023-08-03 15:04:37 +03:00
Eladash 06c9b95e09 PPU LLVM/SPU/Non-TSX: Obnoxiously responsive and obedient PPU for SPU requests 2023-08-03 15:04:37 +03:00
trigger 0f3dfec7f2 direct return in ppu_check 2023-08-03 12:35:06 +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
Megamouse bb2d7063c4 Update ffmpeg 2023-08-02 08:21:47 +02:00
Megamouse ef12da774e rsx: fix register_vertex_printer value func 2023-07-31 23:14:02 +02:00
Ani 6cd5a7eab9 rpcs3_version: Bump to 0.0.29 2023-07-31 20:03:24 +03:00
Megamouse d119cf6e96 Qt6 port 2023-07-31 20:03:24 +03:00
Megamouse 9b3a878c18 cellAudioIn: reduce log spam
Some logs I've seen are 20% filled with this stuff.
2023-07-31 13:19:55 +03:00
Megamouse 365b264656 cellMsgDialogAbort: do not return CELL_MSGDIALOG_ERROR_DIALOG_NOT_OPENED 2023-07-31 13:19:55 +03:00
Eladash b12edf70bb Optimize RSX Debugger 2023-07-31 11:55:31 +03:00
Elad Ashkenazi 53c1da8f94 Qt: Fix elf_memory_dumping_dialog PPU address 2023-07-31 08:53:10 +03:00
Elad Ashkenazi 213b810279 Debugger: Transition to plain text edit 2023-07-31 08:53:10 +03:00
Elad Ashkenazi 8a4617d3c2 Fix color tag of logs/tty 2023-07-31 08:53:10 +03:00
Megamouse c108b31954 Qt: fix data type of find_dialog text edits 2023-07-31 04:10:09 +03:00
Whatcookie fd6829f757
SPU LLVM: AVX-512 optimization for CFLTU (#14384)
- Takes advantage of vrangeps and the new float to uint instructions from AVX-512
- Down from 6 to 3 instructions

TODO: Somehow ensure that this is what llvm outputs using CreateFPToUI?
2023-07-29 09:01:01 +03:00
Talkashie dabb2cc9a0
Fix typos, improve consistency
Fixes typos where spelling or grammar is objectively wrong.
Changes wording and capitalization in some areas to be more consistent with other areas.
2023-07-28 13:09:06 +03:00
Whatcookie 4ecb06c901
SPU LLVM: Optimize common SFI+ROTQMBY pattern 2023-07-28 10:26:40 +03:00
Whatcookie 375bc4cc69
Utils: Add initial AVX10 support
- Adds detection for AVX10 features
- Also adds new bools for 256-wide AVX-512 instructions, indicated by either AVX-512 support, or AVX10
2023-07-28 06:55:20 +03:00
Elad Ashkenazi 9265ff53d0
Include spu.log inside RPCS3.log when SPU Debug is true 2023-07-27 19:15:32 +03:00
Eladash 75ad56338b SPU/Non-TSX: Implement cuncurrent reservations 2023-07-27 02:50:01 +03:00
Eladash db24ce7708 SPU/MFC: Format command more consistently 2023-07-27 02:50:01 +03:00
Eladash 2d45ecff22 cellSaveData: Adjust to non-TSX 2023-07-27 02:50:01 +03:00
Elad Ashkenazi 5d98f3866c Log TTY output after emulation have been stopped 2023-07-26 17:56:44 +03:00
Elad Ashkenazi 106f31db6a sceNpTrophy: Minor UB fixup
id.data[9] is char while isprint should accept u8.
2023-07-26 17:56:44 +03:00
brian218 9a5bdc9b4f sys_fs: Updated sys_fs_fcntl(0xc0000015&0xc000001c)'s error handling according to real hardware testing 2023-07-26 13:10:51 +03:00
brian218 0b829be798 sys_fs: Fixed up sys_fs_fcntl(0xc0000007) aka cellFsArcadeHddSerialNumber according to real hardware testing 2023-07-26 13:10:51 +03:00
Megamouse 94bb75fb7c sceNpTrophy: Check if a trophy configuration file exists before starting the install process 2023-07-25 22:00:19 +02:00
Eladash 7d84d0f83e sceNpTrophy: Initial commSign checking of CreateContext 2023-07-25 21:40:35 +03:00
oltolm bc40b61ef1 rename fs::stat to fs::get_stat 2023-07-25 12:15:08 +03:00
Megamouse 73c3d5fc81 Fix config path in Emu.Restart() 2023-07-25 11:12:16 +03:00
Megamouse 13575029c0 cellSaveData: add some more error logging 2023-07-25 11:12:16 +03:00
brian218 ea016382f2 Fixed Emu.Restart(graceful=false) no longer worked after #14038 2023-07-25 09:48:11 +03:00
Eladash 782344eed8 Debugger: Make break-all non-default 2023-07-24 17:07:15 +03:00
Eladash 9d3e626b55 Minor ppu_initialize fix 2023-07-24 17:07:15 +03:00
Eladash a6e8b9037a ppu: Make install function log message trace 2023-07-24 17:07:15 +03:00
brian218 c9f91ecee9 USIO: Added support for Tekken Tag Tournament 2 Live Monitor edition 2023-07-24 08:39:14 +02:00
oltolm 7cb2d3f143
opengl: fix Qt warnings (#14249) 2023-07-24 07:30:21 +03:00
brian218 a975b4937a USIO: Added support for Tekken Tag Tournament 2 2023-07-23 20:23:00 +02:00
Eladash fce8e0fef0 Savestates: Facilitate multi slots 2023-07-23 17:58:54 +03:00
Eladash 3bbc2c1f4c PPU Analyzer: Fixup get_ptr() 2023-07-23 17:58:54 +03:00
Eladash 99671b754f Add ppu_module::get_ref() to ease debugging 2023-07-23 17:58:54 +03:00
Eladash 9fc5f6271b Update SPU reservation notifier mask 2023-07-23 17:58:54 +03:00
Eladash 4647f3046e Qt: Minor logging change 2023-07-23 17:58:54 +03:00
Eladash c44cddabfa CPUThread.cpp: Fix use of cpu_counter::add
This also fixes a crash when saving savestate because main thread uses cpu_counter::suspend_all which adds cuncurrency.
2023-07-23 17:58:54 +03:00
Eladash 9ff91c29f2 Invalidate Savestates 2023-07-23 17:58:54 +03:00
Eladash e303cc536c Qt: Fix GetBootConfirmation() 2023-07-23 17:06:59 +03:00
Eladash afdfefc9ad Game List: Fix allowance of caches/games to be removed while the game is running! 2023-07-23 17:06:59 +03:00
Eladash 3033914e2d Game List: Implement Remove HDD1 Cache option 2023-07-23 17:06:59 +03:00
brian218 70b124cfa0
USIO: Fixed BACKUP MEMORY ERROR for some games (#14248) 2023-07-23 12:17:49 +03:00
Eladash 38a5313ed2 Fix log data loss on force application shutdown 2023-07-21 12:27:35 +03:00
Eladash 465da5136d Qt: Fix saved log filename 2023-07-21 12:27:35 +03:00
Megamouse 568e7481d8 sys_fs: use path instead of u8path
Japanese PS3 games often use unicode paths which hard crash the std::filesystem::string() method.
wstring() would work in these cases, but I guess we can just use path() instead of u8path().
2023-07-20 07:22:07 +03:00
Darkhost1999 a0297933ce
Create Missing Paths for Dev_USB/HDD0 and mms
In addiytion, fix 2 warnings.
2023-07-19 12:01:44 +03:00
Eladash 50dad6801b SPU LLVM: Use get_known_bits() in SHUFB 2023-07-18 22:27:45 +03:00
Malcolm Jestadt ee7475a9d4 SPU LLVM: Handle SHUFB special cases with a lookup table
- Needs 3 instructions to handle the special cases, since x86 lacks an 8 bit simd shift instruction
2023-07-18 22:27:45 +03:00
Elad Ashkenazi ba988f1d3f
Qt: Exit And Save Log - toolbar action (#14212)
Fixup main_window::IsValidFile
2023-07-18 05:11:53 +03:00
Megamouse db029ed29f Fix default renderer when creating a brand new config 2023-07-17 09:35:26 +02:00
Elad Ashkenazi 41d38975f7 Savestates/sys_fs: Utilize fs::file::get_id to fix an old bug 2023-07-17 08:09:09 +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
Eladash e27e6c0b2d Implement PPU usleep control setting hack 2023-07-17 07:17:11 +03:00
Eladash 30a5d646ec Qt: Minor fixup 2023-07-16 20:16:20 +02:00
Eladash 882fb3e049 Qt: Cache drag-and-drop result when moving it 2023-07-16 19:49:55 +03:00
Eladash 0423781363 Qt: Restrict file types for drag-and-drop 2023-07-16 17:43:27 +03:00
Megamouse 43cfb3cd10 ecdsa: tiny optimization for key and curve 2023-07-16 09:32:39 +02:00
Megamouse de15c9746f ecdsa: clean up some code 2023-07-16 09:32:39 +02:00
Eladash 1371bf89e0 PPU LLVM: Allow to abort OVL analysis in the middle 2023-07-15 08:26:28 +03:00
Eladash 3b8f8d7fc8 PPU LLVM: Improve precompilation time 2023-07-15 08:26:28 +03:00
Megamouse a828c214b5 Qt/patches: highlight faulty lines in patch creator 2023-07-13 08:40:19 +02:00
Megamouse 482722af0a Patches: fix logging for locations of node iterators 2023-07-13 08:40:19 +02:00
Megamouse e8ee5831d3 Qt: add validator to patch creator offset lineedit 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
Eladash c0280b43f2 PPU/Debugger: View the currently used CR field content in register panel 2023-07-12 13:22:06 +03:00