Elad
623f5822b3
Fix Emulator::Pause() segfault
2024-12-24 21:31:57 +02:00
Elad
c6dadc537b
Add some FXO init checks
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
cf850598eb
System.cpp: Do not hold on fs::dir handle
2024-11-28 05:47:40 +02:00
Elad
d63e643081
Emu: Fixup
2024-11-28 05:47:40 +02:00
Elad
9a2bcd2508
System.cpp: Fix Kill() on bad app startup
2024-11-27 16:00:40 +02:00
Elad
f3b9d64df7
Add some asserts for g_fxo->init<>
2024-11-27 16:00:40 +02:00
Elad
68c58281e5
System.cpp: Add system_state::loading
2024-11-27 16:00:40 +02:00
Elad
07df91d4e8
Fix Emulation boot recursion
2024-11-27 16:00:40 +02:00
Elad
378a69ea85
Qt: Deprecate processEvents() part 2
2024-11-27 16:00:40 +02:00
Elad
68d74bc28a
Progress Dialog: Fix recursion and concurrency use of text updates
2024-11-16 12:22:23 +02:00
Megamouse
7866dc2e34
overlays: localize RPCS3 progress dialog
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
bcf581dc82
Fixup Emulator::GetBackgroundPicturePath()
2024-11-04 14:59:21 +02:00
Elad
c782b45b97
High-Resolution Game Background for loading
2024-11-04 10:59:45 +02:00
Antonino Di Guardo
df9275819e
Added reconciliation functions for game list file (games.yml) ( #16061 )
2024-09-20 08:46:51 +02:00
Antonino Di Guardo
d1648dd707
[TESTERS NEEDED] Improved contextual menu ( #16038 )
2024-09-14 21:51:42 +02:00
Elad Ashkenazi
d1bfa9cd9c
RSX: Fix RSX Captures
2024-08-27 06:51:55 +03:00
Megamouse
e5b03d9cbd
Qt: check microphone permissions
2024-08-26 07:42:22 +02:00
Elad Ashkenazi
f980c59860
Do not add usage stats for unused SPU programs
2024-08-11 17:55:56 +03:00
Elad Ashkenazi
faabb9e111
Add SPU usage for program dump
2024-07-28 12:36:42 +03:00
Megamouse
363a4dbdef
Fix warning: dangling pointer (construct string_view from temporary string)
2024-06-27 03:21:35 +03:00
Elad Ashkenazi
6fff22391c
PPU Analyzer: Utilize exported functions
2024-06-08 14:09:37 +03:00
Elad Ashkenazi
4e8e5a7fed
PPU Debug: Dump decrypted PRX
2024-06-08 14:09:37 +03:00
Elad Ashkenazi
721e55458c
PPU Analyzer: Fixes
2024-06-08 14:09:37 +03:00
Elad Ashkenazi
e75eec7392
System.cpp: Fix crash on fatal error during Ready state
...
Also remove the assert from BlockingCallFromMainThread, in some cases it may even be correct. Each case needs to be inspected alone.
2024-05-30 11:41:24 +03:00
Elad Ashkenazi
b3c9f7647f
Savestates/SPU LLVM: Fix sinking store finally
2024-05-22 12:58:43 +03:00
Elad Ashkenazi
a2dcbb9c13
Replace src_loc with std::soource_location
2024-05-21 14:19:12 +03:00
Elad Ashkenazi
351bf49d9f
SPU Debug: Fix GUI thread halt on log massive messages
2024-05-21 14:19:12 +03:00
Elad Ashkenazi
6d8575d0d0
Savestates: Warn on invalid SPU save state
2024-05-14 19:36:48 +03:00
Elad Ashkenazi
66008d5ca4
Savestates: Multi-threaded compression, use ZSTD
2024-05-14 19:36:48 +03:00
Megamouse
04d6ff274b
Move cache dir code to utils
2024-05-07 08:47:29 +02:00
Megamouse
c11c286206
Adust vsh cache dir criteria
2024-05-07 08:47:29 +02:00
Megamouse
f418ad74f5
VSH: move cache to /cache/vsh/
2024-05-07 08:47:29 +02:00
Elad Ashkenazi
91a54c11eb
Savestates: Fixup file write
2024-05-05 06:57:11 +03:00
Megamouse
9f90ca1b48
Rename enum values to be more precise
2024-05-05 01:38:54 +02:00
Megamouse
e164d462b4
cellVideoOut: support interlaced scan modes
2024-05-05 01:38:54 +02:00
Megamouse
cebf6dcd01
Allow any 1080p selection if the game supports 1080p
2024-05-05 01:38:54 +02:00
Megamouse
4aa83d1350
sys: force resolution to 720p if the game does not support the configuration
...
Maybe prevents some issues with global config.
2024-05-05 01:38:54 +02:00
Eladash
51e1598e42
Savestates: Fix rare race
2024-05-04 14:15:51 +03:00
Ikko Eltociear Ashimine
270a21ebae
Fix typo in System.cpp
...
Enfore -> Enforce
2024-04-16 17:17:26 +02:00
Eladash
d1837b54b4
Savestates: Add save stage names
2024-04-13 13:48:00 +03:00
Eladash
7285af4771
SaveStates: Add error messages on screen
2024-03-29 13:25:51 +03:00
Eladash
7468d96c51
Savestates: safe saving while cellSaveData is active
2024-03-27 19:59:22 +02:00
Eladash
750359d780
Fixup emulation stopping
2024-03-27 19:59:22 +02:00
Eladash
6a3e795d73
Fix shutting down emulation while save-stating
2024-03-26 21:35:53 +02:00
Megamouse
e05239f3d9
Fix some warnings
2024-03-26 12:26:26 +01:00
Elad Ashkenazi
453a3c4852
Fixup Savestate Segfault
2024-03-25 12:05:24 +02:00
Eladash
580f9bf03a
GUI: Progress Dialog On Save State Creation
2024-03-24 16:19:06 +02:00