Elad Ashkenazi
6995467ff6
SPU: SPURS limiter algorithm update
2024-09-24 10:31:37 +03:00
Elad Ashkenazi
ad42a2b89a
SPU: Task-based SPURS limiter
2024-09-24 10:31:37 +03:00
Elad Ashkenazi
11e3aa660e
SPU: Remove condition from GETLLAR spin detection
2024-08-25 18:29:30 +03:00
kd-11
c2f5de1c55
Fix compiler warnings about unused args for aarch64
2024-08-20 05:18:53 +03:00
Elad Ashkenazi
981a1c56fb
SPU: Disable transfer locking for RSX addresses
2024-08-15 14:05:25 +03:00
Elad Ashkenazi
ce92341e75
SPU: Unlock RSX list transfers
2024-08-15 14:05:25 +03:00
Elad Ashkenazi
6fb05be9da
CELL: Remove performance hack for reservation
...
With the new notification method, we can remove this hack with micro-consequences. (though it comes with benefit of not breaking current reservations spuriously)
2024-08-14 11:53:00 +03:00
Elad Ashkenazi
d0ebba6c5e
CELL: New reservation notifications mechanism
2024-08-14 11:53:00 +03:00
Elad Ashkenazi
3fa8994f4e
SPU: Fix "SPU Accurate Reservations" off
2024-08-13 10:56:33 +03:00
Megamouse
ff84e7c6e2
Fix overflow warning
2024-08-12 21:04:10 +02:00
Elad Ashkenazi
6c791541ee
SPU: Fix bug in GETLLAR
2024-08-11 17:55:56 +03:00
kd-11
9d87e444ac
Clear hv context
2024-08-08 13:40:07 +03:00
Elad Ashkenazi
77e8f9a8ab
SPU: Utilize Operating System sleep in detected RCHCNT loop
2024-07-19 14:31:19 +03:00
Elad Ashkenazi
f948a80242
CELL: More efficient reservation notificatins
2024-06-30 07:46:14 +03:00
Elad Ashkenazi
649714429b
SPU: Notify threads on RdEventStat properly
2024-06-20 00:51:51 +03:00
Elad Ashkenazi
dbb02241c5
SPU: Cleanup GETLLAR
2024-06-20 00:51:51 +03:00
Elad Ashkenazi
5b973448bf
SPU: Better GETLLAR spin detection
2024-06-15 22:41:52 +03:00
Elad Ashkenazi
d5935a37bb
SPU: Notify threads if data changed in RdEventStat
2024-06-15 22:41:52 +03:00
Elad Ashkenazi
5693cc9eb3
SPU: smart GETLLAR spin detection
2024-06-15 22:41:52 +03:00
Elad Ashkenazi
ac5d907002
SPU: Remove inaccurate GETLLAR option
2024-06-06 19:27:52 +03:00
Elad Ashkenazi
0da51d25bc
SPU: Add block prefix to log if available
2024-05-30 11:41:24 +03:00
Eladash
ff42459239
SPU Analyzer: Improve value propagation
2024-05-21 16:37:54 +03:00
Eladash
f9345c7699
SPU LLVM: PUTLLC 16 Optimization
...
Also, do not check LR event if already raised in PUTLLC
2024-05-21 16:37:54 +03:00
Elad Ashkenazi
a2dcbb9c13
Replace src_loc with std::soource_location
2024-05-21 14:19:12 +03:00
Megamouse
b8f8d09f97
Fix spu_thread audit check
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
6d8575d0d0
Savestates: Warn on invalid SPU save state
2024-05-14 19:36:48 +03:00
Eladash
7bd4cfc5b3
Logging fix
2024-05-04 14:15:51 +03:00
Eladash
060ddca1ab
SPU: Fixup breakpoints
2024-04-13 13:48:00 +03:00
Eladash
12bfc7d56a
SPU/Debugger: Use bitset for breakpoints
2024-04-12 17:13:11 +03:00
oltolm
c567c92d4b
fix GCC warnings
2024-03-28 08:45:20 +01:00
Eladash
8588b2b11a
vm: Fix writer lock leak
2024-03-27 19:59:22 +02:00
Eladash
213a19c9f3
Add logging for CallFromMainThread
2024-03-24 16:19:06 +02:00
Eladash
adc8a360ad
SPU LLVM: More compilation threads
2024-03-08 11:40:38 +02:00
Eladash
ea0545779a
SPU: Include BRSL following code in is_exec_code()
2024-03-07 18:46:51 +02:00
Eladash
2930d609ea
SPU: Detect invalid STOP codes (code mining)
2024-03-07 18:46:51 +02:00
Eladash
d699db2d19
SPU Analyser: Detect invalid relative branches
2024-03-07 18:46:51 +02:00
RipleyTom
606a60e901
Accurate frest and frsqest
2024-01-23 12:24:38 +02:00
RipleyTom
7d55a85fa6
Replaces page fault triggers with assembly
2024-01-16 12:04:47 +02:00
Eladash
f0c93ae9dc
sys_spu: Fix warning and theoretical bug
2024-01-01 11:58:00 +02:00
Megamouse
f45cbdd0f7
fixes
2023-12-30 21:14:26 +01:00
Megamouse
7a02787bee
fix some more warnings
2023-12-30 21:14:26 +01:00
Megamouse
59c58aa3cf
fix some warnings
2023-12-30 19:07:35 +01:00
Eladash
9f6c5381a1
SPU/Savestates: Remove reservation hack, allow its saving
2023-12-29 11:11:53 +02:00
Eladash
f60bdbaece
Savestates: Compressed state files
2023-11-27 12:36:17 +02:00
Eladash
eb407e3b5c
SPU/MFC: Add block has to command history
2023-10-24 22:14:12 +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
Megamouse
a597368c46
SPU: fix some wierd typos (may be wrong, no idea)
2023-09-02 12:10:36 +03:00
Eladash
37212a632c
SPU: Refactor function discovery
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
Eladash
17302a9422
Debugger/PPU: Superior Callstack Detection
2023-08-20 22:43:41 +03:00
Eladash
6adc7f9ee6
SPU: Use usermode waiting for busy GETLLAR loop
2023-08-17 09:02:28 +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
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
Eladash
75ad56338b
SPU/Non-TSX: Implement cuncurrent reservations
2023-07-27 02:50:01 +03:00
Eladash
c0280b43f2
PPU/Debugger: View the currently used CR field content in register panel
2023-07-12 13:22:06 +03:00
Elad Ashkenazi
e882d64d8a
SPU/PPU Debugger: Add decimal mode to registers panel
2023-07-10 19:06:57 +03:00
Eladash
482dd0e8f8
SPU: Remove wrong clamp in MFC_Size
...
Just crashes real MFC.
2023-07-09 13:33:03 +03:00
Eladash
b68cfbf794
Fix spu_thread::dump_callstack_list regression
...
TODO: Fix in PPU [properly!]
2023-07-09 13:33:03 +03:00
Elad Ashkenazi
1219e5c244
SPU: Fix static interpreter requirement with interrupts
...
Removed a wrong condition in PPU LLVM as a fixup.
2023-07-07 22:39:49 +03:00
Eladash
d752ab0151
SPU/Debugger: Add RawSPU debug data
2023-06-09 14:07:37 +03:00
Eladash
16579e0b1f
Fix spu_thread::cleanup()
2023-06-06 09:48:27 +02:00
Eladash
a776f15557
SPU: fix event count with ACK and mask write
2023-06-02 08:54:46 +03:00
Eladash
b861a9c5d0
LV2: Implement set-priority thread requeue
2023-06-02 08:54:46 +03:00
Eladash
e29b81c444
Debug Fixes
2023-05-22 20:04:49 +03:00
Megamouse
54e6cf95d7
Fix some warnings
2023-05-18 12:41:22 +02:00
Eladash
514ef9a9c5
SPU Executable Code Dumping Tool
2023-05-15 14:11:13 +03:00
Elad Ashkenazi
db7f84f9f8
SPU/PPU/Debugger: Ensure ascending stack frames ( #13833 )
...
* PPU/Debugger: Ensure ascending stack frames
* SPU/Debugger: Ensure descending stack frame pointers
2023-05-10 11:23:09 +03:00
Eladash
d13c0ee393
SPU/Debugger: Detect stack-less functions
2023-05-08 19:27:21 +03:00
Eladash
62c9b99e72
Update SPUThread.cpp
2023-02-27 14:17:05 +01:00
Megamouse
e46dba43ad
config: try to fix float locale issues
2023-02-25 11:23:07 +01:00
Megamouse
ccb7528a59
fix some warnings
2023-02-22 23:57:20 +01:00
Margen67
5bb89328d0
Remove whitespace
2023-02-15 08:58:02 +01:00
Eladash
3976018980
Debugger: Print error codes stored in GPR
2023-02-12 23:10:20 +01:00
Elad Ashkenazi
e6a7597444
PRX/savestates/VSH: Associate PRX with library, fix VSH browser ( #13221 )
...
* PRX/savestate:s Associate PRX with library
* VFS/Savestates: Fix host_root resolving
* Savestates: Fix segfault in ppu_initialize
* SPU: Avoid some log spam
* VSH/sys_vm: Fix limit on root processes
2023-01-15 23:12:54 +03:00
kd-11
3dba894369
rsx: Minor refactoring RSXThread
...
- Part 1 of many
2023-01-11 16:48:53 +03:00
Eladash
a6dfc3be2f
SPU: Enable the MFC list optimization for Atomic RSX FIFO
2022-10-09 19:27:46 +03:00
Eladash
6a36967e6f
SPU: Inline and batch MFC list transfers
2022-10-09 19:27:46 +03:00
Eladash
d25d1ecb3a
LV2: Avoid using multi-variable atomic waiting on cpu_thread::state wait
2022-10-04 16:28:34 +03:00
kd-11
0dd9c386ee
Fix running the emulator with AUDIT enabled
2022-10-03 12:57:16 +03:00
Elad Ashkenazi
0cc981ec18
SPU: fix atomicity of inaccurate GETLLAR
2022-09-30 15:26:08 +03:00
Eladash
2759091ede
Debugger: Rewind SPU captures
...
Very basic implementation, can be improved.
2022-09-25 14:31:39 +03:00
Eladash
ae02b71a85
Savestates/Debugger: fix mfc debug option with savestates
2022-09-25 14:31:39 +03:00
Eladash
2807be7080
SPU: Regression fix after #12648
2022-09-13 20:11:30 +03:00
Eladash
ec7b18dab5
Implement independent CPU preemptions
2022-09-13 19:28:20 +03:00
Eladash
cfdc852f03
SPU: Power consumption reduction when using SPU inaccurate reservations
2022-09-13 11:21:01 +03:00
Eladash
780ca38f2f
SPU: Extend Inaccurate SPU reservations
2022-09-12 14:16:39 +03:00
Eladash
07f0ba213e
SPU: Allow special channel storage in channel busy waiting period
...
Move code to SPUThread.cpp.
2022-09-07 20:42:23 +03:00
Eladash
48382564d1
SPU: Implement "quintuple" Inbound MBOX storage
2022-09-07 20:42:23 +03:00
Eladash
7698064f5a
SPU: Untangle VM lock to avoid deadlocks
2022-09-07 16:05:56 +03:00
Eladash
7bad8f3348
Savestates/SPU: Minor fixup after fb01ed55
2022-09-01 20:09:28 +03:00
Eladash
ee1384341e
rsx: Implement atomic vertex upload (with Strict Rendering Mode)
2022-09-01 20:09:28 +03:00
Eladash
fb01ed55e5
SPU: Fix potential deadlock in event queue syscalls
2022-09-01 19:03:38 +03:00
Eladash
3f02935844
Add some debugging information
2022-08-30 08:57:33 +02:00
Nekotekina
e28707055b
Implement simd_builder for x86
...
ASMJIT-based tool for building vectorized loops (such as ones in BufferUtils.cpp)
2022-08-28 18:38:52 +03:00
Eladash
a71bdc761e
SPU/Debugger: Improve debugging reservations
...
Simplify and make the debugging results more consistent.
2022-08-22 18:24:26 +03:00
Eladash
9d8f4d5cfa
Bugfix after #12523
2022-08-22 18:24:26 +03:00
Eladash
ee87fdc869
Fix GETLLAR spin detection
2022-08-22 08:33:22 +03:00