Elad
c6f3737c2a
PPU LLVM: Fixup patches enlisting in analyzer
2025-01-07 20:42:45 +02:00
Elad
0b784ff2c1
PPU LLVM: Function table dependent resolver hashing
2025-01-07 15:43:41 +02:00
Megamouse
99f1f4c22a
cheats: add float32 gui support
2025-01-06 10:48:00 +01:00
Elad
6165c2d8b3
Thread.h: Fix a bug by adding thread_state::destroying_context
2025-01-05 10:01:35 +02:00
Elad
0cc655074d
serialzation.hpp: Fix add_padding
2024-12-27 22:08:28 +02:00
Elad
98a0c76a08
StrFmt.cpp: Make function printing shorter
2024-12-24 21:31:57 +02:00
Elad
6a4b9430c0
Thread.h: Add a few noexcept
2024-12-24 21:31:57 +02:00
Elad
3bf735161f
sys_config: Move cleanup to IDM abort
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
Elad
926de68a79
Debugger: Dump related thread information on crash
2024-11-28 13:32:52 +02:00
Elad
2b9f076024
fs: Minor fix of fs::dir::open
...
Did not close previous handle on fs::dir::open like on fs::file
2024-11-28 05:47:40 +02:00
Elad
378a69ea85
Qt: Deprecate processEvents() part 2
2024-11-27 16:00:40 +02:00
Elad
cc86e01df9
lockless.h: Fox
2024-11-18 18:45:34 +02:00
Elad
1dfee5fbfa
lockless.h: Fixup addressing
2024-11-18 18:45:34 +02:00
Elad
21f65f087d
lockless.h: Fixup lf_array assert
2024-11-18 18:45:34 +02:00
Megamouse
29901d65ed
More constexpr
2024-11-16 15:10:20 +01:00
Megamouse
0bb83ed5e9
Fix warning
2024-11-16 15:10:20 +01:00
Elad
68d74bc28a
Progress Dialog: Fix recursion and concurrency use of text updates
2024-11-16 12:22:23 +02:00
Elad
1475625705
Implement lf_array::for_each
2024-11-16 12:22:23 +02:00
Elad
935e83a490
Utilities\lockless.h: Flatten recusrion in lf_array
...
Add assert for sane index access.
2024-11-16 12:22:23 +02:00
Megamouse
070add461f
overlays: get localized values in home menu settings
2024-11-15 09:48:12 +01:00
oltolm
2b0f786b2d
Fix std::basic_string warnings ( #16261 )
2024-11-11 21:54:44 +02:00
Megamouse
2262ac1684
Qt: Replace QMap with std::map
...
This should reduce the amount of string conversions during list refreshes
2024-11-06 09:34:32 +01:00
Elad
b053b1e200
Another attempt to fix fs::pending_file for hardlinks
2024-11-02 21:43:35 +02:00
Elad
d3c0ec5651
Print last system error on fs::error::unknown
2024-11-02 21:43:35 +02:00
Elad
4206b022b6
Win32/File.cpp: Use ReplaceFile for hardlink overwrite
2024-11-01 07:37:57 +02:00
elad335
8b8396b945
Filesystem/Win32: Recreate hardlinks on fs::pending_file
2024-10-29 19:26:33 +02:00
RipleyTom
36da83592a
Improve AMD cpu detection
2024-10-07 05:36:19 +02:00
kd-11
82f97d33d1
aarch64: Correctly implement the null function trap
2024-09-25 15:48:36 +03:00
kd-11
31ce32709e
build: Disble fixed base for windows-on-arm
2024-09-08 17:41:29 +03:00
kd-11
4f27af9949
Fix compilation warning
2024-09-08 17:41:29 +03:00
kd-11
7e3b8b5cdb
c++-ify empty return
2024-09-04 07:49:49 +03:00
kd-11
a60eab6e36
aarch64: Fix compilation for windows-on-arm
2024-09-04 07:49:49 +03:00
kd-11
c80342e8d4
aarch64: Support calloc patch blocks
2024-08-31 13:55:58 +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
23788b04c6
Restore comment
2024-08-29 13:08:23 +03:00
kd-11
c0e577c4dc
Allow overcommit on macos
2024-08-29 13:08:23 +03:00
kd-11
56d35bf409
Fix crash in JIT when compiling LLVM blocks
2024-08-25 22:04:45 +03:00
kd-11
4f97ea8da7
macos - Fix crash when running native arm64 LLVM
2024-08-25 22:04:45 +03:00
kd-11
470f8674df
aarch64 - Support for apple exceptions
2024-08-24 14:13:14 +03:00
kd-11
4bb79b6c31
Rework aarch64 signal handling
2024-08-21 16:16:28 +03:00
kd-11
3ea24183b9
Improve "write" instruction detection.
2024-08-20 05:18:53 +03:00
kd-11
c2f5de1c55
Fix compiler warnings about unused args for aarch64
2024-08-20 05:18:53 +03:00
Elad Ashkenazi
1bd4565186
Implement thread_ctrl::wait_until()
2024-08-17 06:38:49 +03:00
Megamouse
456ff10f02
Qt/patches: don't allow duplicate app versions
2024-08-15 09:35:58 +02:00
Megamouse
8371c445ce
Qt/patches: check if app version is 5 characters long and like 01.00
2024-08-15 09:35:58 +02:00
Megamouse
93424d1adc
Qt/patches: check if serial is 9 characters long and alphanumeric
2024-08-15 09:35:58 +02:00
Megamouse
d05d803f5e
patches: use more std::move
2024-08-15 09:35:58 +02:00
Megamouse
76c0df849a
patches: improve error logging: add file paths to all errors
2024-08-14 20:21:55 +02:00