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
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
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
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
08d9cbfe48
cellPad: implement cellPadPeriphGetData default logic and add some comments
2023-08-26 22:10:15 +02: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
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
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
Eladash
8236a0fa2d
Fixup cellPadPeriphGetInfo
2023-08-19 17:18:40 +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
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
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
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
Elad Ashkenazi
5668b1bd7a
PPU Loader: Fixup stack alignment after envp fix
2023-08-12 02:03:24 +03:00
Eladash
eae1c5afdd
PPU Loader: Fix main()'s envp
2023-08-11 05:07:27 +03:00
Eladash
4bbe885f35
LV2/cellPad: Implement priority-based connection updates
2023-08-10 09:31:49 +03:00
Eladash
a2416bf7f5
cellPad: Fix max_connect in GetInfo
...
This value is saved and loaded from cellPadInit as is.
2023-08-10 09:31:49 +03:00
Eladash
df24305698
PPU/Debugger: Fix op_branch_targets
2023-08-08 10:22:05 +03:00
Eladash
cdc0441405
PPU: Fixup interpreter and analyzer
2023-08-08 10:22:05 +03:00
Eladash
edf4f7eacc
PPU/Patches: Fix CALLOC patch with interpreter
2023-08-07 19:01:38 +03:00
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
971c12b937
Fixup log message in sys_memory_allocate
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
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
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
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
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
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
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
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
13575029c0
cellSaveData: add some more error logging
2023-07-25 11:12:16 +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
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
9ff91c29f2
Invalidate Savestates
2023-07-23 17:58:54 +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
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
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