DH
2ebf257f84
vm: removed c_page_size, it cannot be used by globals
2025-03-10 21:09:27 +01:00
DH
798c194025
android stuff
2025-03-10 21:09:27 +01:00
Megamouse
a8fc3f5f74
static analysis: more const
2025-03-05 00:12:30 +01:00
Elad
207ee59acd
PPU Analyzer: Firmware/import caller analysis and KLIC finding pass
2025-02-27 12:32:21 +02:00
oltolm
29ad4ecc78
concepts: fix review notes
2025-02-26 11:04:02 +02:00
oltolm
ebde5310b9
use concepts instead of std::enable_if
2025-02-26 11:04:02 +02:00
Megamouse
3c576da42f
Move debugger functions to emu_utils.cpp
2025-02-25 19:45:43 +01:00
oltolm
b08273b127
Use Microsoft::WRL::ComPtr ( #16744 )
2025-02-23 15:39:39 +02:00
Elad
52edef0867
Remove xxHash submodule
2025-02-17 18:00:01 +02:00
Jan Beich
19077ee1ed
cpu_stats: restore a header for BSDs after cd87a64621
...
rpcs3/util/cpu_stats.cpp:390:4: error: use of undeclared identifier 'getpid'
390 | getpid(),
| ^
2025-02-13 13:37:36 +00:00
RipleyTom
cd87a64621
Headers cleanup
2025-02-11 20:38:35 +01:00
Megamouse
50387cc516
update_manager: use v3 api for all OS
2025-02-03 22:53:53 +00:00
kd-11
cfd571cfc2
Re-enable TSC on ryzen CPUs
2025-02-02 17:45:50 +03:00
Elad
394fc8eb79
Enable Time-based TSC for non-Ryzen CPUs
2025-01-31 14:35:08 +02:00
Elad
9d5b75bb7a
LLVM: Slice PPU executable memory
2025-01-25 12:47:44 +02:00
Megamouse
ba702509c8
Qt: Add Recent savestates menu
2025-01-23 22:55:07 +01:00
kd-11
27c56cde22
rsx/shaders: Track active MRT count per shader
...
- Also use more robust hashing to avoid collisions
2025-01-10 04:34:28 +03:00
Elad
6165c2d8b3
Thread.h: Fix a bug by adding thread_state::destroying_context
2025-01-05 10:01:35 +02:00
Elad
036693a14d
Fix sys_config_unregister_service
2025-01-05 10:01:35 +02:00
Megamouse
15f29eedee
Fix atomic_ptr value constructing overloads ( #16473 )
...
* Fix idm remove
idm::remove calls shared_ptr::exchange with a null_ptr.
This calls the stored object's constructor with null args.
---------
Co-authored-by: Elad <18193363+elad335@users.noreply.github.com>
2024-12-29 14:53:04 +02:00
Elad
cfeb022340
shared_ptr.hpp: Rewrite shared_ptr to single_ptr conversion
...
Logic felt non-intuitive and this method should be very explicit.
2024-12-27 22:08:28 +02:00
Elad
0cc655074d
serialzation.hpp: Fix add_padding
2024-12-27 22:08:28 +02:00
Elad
4d0c835df3
util/shared_ptr.hpp: STX pointers library fixes
2024-12-24 21:31:57 +02:00
Elad
575a245f8d
IDM: Implement lock-free smart pointers ( #16403 )
...
Replaces `std::shared_pointer` with `stx::atomic_ptr` and `stx::shared_ptr`.
Notes to programmers:
* This pr kills the use of `dynamic_cast`, `std::dynamic_pointer_cast` and `std::weak_ptr` on IDM objects, possible replacement is to save the object ID on the base object, then use idm::check/get_unlocked to the destination type via the saved ID which may be null. Null pointer check is how you can tell type mismatch (as dynamic cast) or object destruction (as weak_ptr locking).
* Double-inheritance on IDM objects should be used with care, `stx::shared_ptr` does not support constant-evaluated pointer offsetting to parent/child type.
* `idm::check/get_unlocked` can now be used anywhere.
Misc fixes:
* Fixes some segfaults with RPCN with interaction with IDM.
* Fix deadlocks in access violation handler due locking recursion.
* Fixes race condition in process exit-spawn on memory containers read.
* Fix bug that theoretically can prevent RPCS3 from booting - fix `id_manager::typeinfo` comparison to compare members instead of `memcmp` which can fail spuriously on padding bytes.
* Ensure all IDM inherited types of base, either has `id_base` or `id_type` defined locally, this allows to make getters such as `idm::get_unlocked<lv2_socket, lv2_socket_raw>()` which were broken before. (requires save-states invalidation)
* Removes broken operator[] overload of `stx::shared_ptr` and `stx::single_ptr` for non-array types.
2024-12-22 20:59:48 +02:00
Megamouse
cf0b4d4ed4
cellGem: split status_flags into calibration flags and runtime flags
2024-12-20 17:30:25 +01:00
capriots
9d4ff13c2b
cellAdec implementation part 2: LPCM decoder ( #16381 )
...
* cellAdec: savestate fixup
* simd.hpp: add some intrinsics
* cellAdec implementation part 2: LPCM decoder
* cellAdec: set to HLE by default
* cellAdec: review fixes
---------
Co-authored-by: Elad <18193363+elad335@users.noreply.github.com>
2024-12-18 20:21:56 +02:00
Megamouse
657ab4261c
Fix some static analysis warnings
2024-12-17 20:46:07 +01:00
Elad
191e132c6c
util/types.hpp: Rewrite narrow<>
2024-11-27 16:00:40 +02:00
Elad
05096854bc
Update vm_native.cpp
2024-11-16 13:53:25 +02:00
Elad
1475625705
Implement lf_array::for_each
2024-11-16 12:22:23 +02:00
Elad
e7faec6b0e
util/vm_native.cpp: Fix memory leak
2024-11-15 14:00:30 +02:00
oltolm
2b0f786b2d
Fix std::basic_string warnings ( #16261 )
2024-11-11 21:54:44 +02:00
Elad
85d1649696
utils/atomic.hpp: Make atomic_op reject non-non-const lvalue
2024-11-02 21:43:35 +02:00
Elad
1417f9b7de
utils/atomic.cpp: Fixup utils::get_unique_tsc()
...
It was reading s_min_tsc again inside the atomic operation.
Also optimize it a bit.
2024-11-02 21:43:35 +02:00
Elad
edfe940543
utils/sysinfo.cpp: Yield CPU time when measuring TSC freq
2024-10-30 10:06:49 +02:00
elad335
97f2b6b701
Fix get_system_time()
2024-10-29 19:26:33 +02:00
elad335
a325eb52bd
Compilation hotfix
2024-10-25 13:21:49 +03:00
elad335
84217917d5
utils/sysinfo.cpp: New TSC calibration technique
2024-10-25 10:00:21 +03:00
elad335
c70c08bb07
utils: Make get_tsc_freq() inlined and non-blocking
2024-10-24 21:03:06 +03:00
elad335
a9a454faf7
asm: Fix utils::rational_mul optimization
2024-10-24 21:03:06 +03:00
elad335
8d9911e383
Implement u64_x_u64_=_u128 optimization
2024-10-24 21:03:06 +03:00
Megamouse
d4ce5b86ec
Improve log file creation error message
...
Early out in file_writer ctor instead of large if else
2024-10-14 21:29:51 +02:00
kd-11
92c1a8c45d
sysinfo/arm64: Improve code around registry access and document the fields
2024-09-08 17:41:29 +03:00
kd-11
d19d0cb70d
windows/arm64: Implement fallback OS version detection
2024-09-08 17:41:29 +03:00
kd-11
a60eab6e36
aarch64: Fix compilation for windows-on-arm
2024-09-04 07:49:49 +03:00
kd-11
4d193ecb6a
Block parallel JIT allocation on macos
2024-08-29 13:08:23 +03:00
kd-11
ce9024efc5
Fix overlapping addresses returned by mmap
2024-08-29 13:08:23 +03:00
kd-11
f5173ca9bf
aarch64 - Decode CPU brand information
2024-08-24 02:07:00 +03:00
Elad Ashkenazi
d6acdc77e0
Debugger/SPU: Implement SPU Disassembler
2024-08-21 13:32:45 +03:00
kd-11
c2f5de1c55
Fix compiler warnings about unused args for aarch64
2024-08-20 05:18:53 +03:00