Megamouse
8d801dadc4
Move display sleep functions to emu callbacks
2025-02-25 19:45:43 +01:00
Megamouse
87db82cacd
Move check_microphone_permissions to emu callbacks
2025-02-25 19:45:43 +01:00
RipleyTom
cd87a64621
Headers cleanup
2025-02-11 20:38:35 +01:00
Elad
9677a3a9ea
Fix Emulator::IsPaused() to allow measurements during module compilation
...
Also fix a potential deadlock in access violation handler for non-cpu_thread
2025-01-25 12:47:44 +02:00
Megamouse
2ac171a30f
move error_report to ErrorCodes.cpp
2025-01-06 15:49:09 +01:00
Megamouse
d5470d92ec
Keep game window open when loading the last savestate
2025-01-06 15:49:09 +01:00
Megamouse
cc7e7300ce
Clean up old game window in case of unexpected errors
2025-01-06 15:49:09 +01:00
Megamouse
1ab3a0bd73
RSX/Qt: Reuse gs_frame if possible
2025-01-06 15:49:09 +01: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
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
fce07bbeab
Qt: Deprecate proccessEvents() usage
2024-11-26 03:33:24 +02:00
Megamouse
070add461f
overlays: get localized values in home menu settings
2024-11-15 09:48:12 +01: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
a2dcbb9c13
Replace src_loc with std::soource_location
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
Megamouse
c11c286206
Adust vsh cache dir criteria
2024-05-07 08:47:29 +02:00
Eladash
d1837b54b4
Savestates: Add save stage names
2024-04-13 13:48:00 +03:00
Eladash
6a3e795d73
Fix shutting down emulation while save-stating
2024-03-26 21:35:53 +02: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
Eladash
213a19c9f3
Add logging for CallFromMainThread
2024-03-24 16:19:06 +02:00
Megamouse
5fe36872c5
System: don't consider games as registered if they were already in games.yml
...
Also, show message if nothing was added
2024-01-24 08:18:57 +01:00
Megamouse
8a87dc63b1
Emu: Add more info to BlockingCallFromMainThread
2024-01-21 00:11:16 +01:00
Eladash
ce5f7bd4ff
Savestates: Rename DeferDeserialization, add some asserts
2024-01-01 11:58:00 +02:00
Eladash
099c74481d
Savestates: Optimize SPU pausing
2023-10-01 12:00:41 +03:00
Eladash
e79fc867c5
Patches: Add savable breakpoints patch type
2023-09-26 11:06:01 +03:00
Elad Ashkenazi
968762c135
Fix PPU SELF Precompilation
2023-08-14 18:47:20 +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
Elad Ashkenazi
5d98f3866c
Log TTY output after emulation have been stopped
2023-07-26 17:56:44 +03:00
Eladash
05824e6acd
UX: Option to pause emulation when RPCS3 is not focused
2023-07-07 14:38:32 +03:00
Eladash
a03dd44924
Empty kill and init callback before calling them
2023-06-29 12:12:56 +03:00
Eladash
d34b3190f7
Make stopping emulation not pause or crash UI
...
* Make the UI and main thread available when stopping emulation.
* Make BlockingCallFromMainThread always execute, preventing bugs when it unexpectedly did not.
* Add error code for when starting emulation when Emu.Kill() is in progress.
2023-06-26 20:48:38 +02:00
Megamouse
c78c504043
overlays: update progress dialog workaround
2023-06-10 09:09:55 +02:00
Megamouse
404d08ef6d
Qt: always use last boot path for game boot actions
...
The actual path caused the GUI to try to run elfs directly after booting a game from a loader.
2023-06-08 21:15:39 +02:00
Megamouse
3f5bc3464d
Rename ProcureCurrentEmulationCourseInformation to GetEmulationIdentifier
...
This is much easier to understand in my opinion.
The old name just made me scratch my head whenever I read it.
2023-06-08 21:15:39 +02:00
Megamouse
66e1cf96e2
Qt/Loader: Let users choose which packages to install
2023-06-01 16:34:23 +02:00
Elad Ashkenazi
a3271b08b7
System.cpp: Make boot of disc updates more strict
2023-05-14 17:47:56 +02:00
oltolm
b0de5970ce
Get the font directory from Windows ( #13825 )
2023-05-13 20:58:59 +02:00
Megamouse
ad5a62b62d
Loader: split add_only into own function
...
The new code does not require any modifications apart from loading vfs
2023-04-28 17:16:04 +02:00
Megamouse
cd9ff08235
Decrease some include madness
2023-04-26 21:37:44 +02:00
Megamouse
2c71d08ea2
Emu: Cache games.yml and only save when necessary
2023-04-21 20:18:24 +02:00
Eladash
a1741f21cc
Optimize AddGamesFromDir a bit
2023-04-21 12:14:44 +02:00
Eladash
79d09d02ed
Add savestate buttons to home menu
2023-04-13 20:46:37 +02:00
Megamouse
364c33060b
Fix boot by RPCS3_GAMEID constants
2023-02-20 22:53:22 +01:00
Megamouse
e064380a7d
overlays: add message box to home menu
2023-02-09 20:36:35 +01:00
Megamouse
9375e255e1
overlays: add pages to home menu
2023-02-09 20:36:35 +01:00
Megamouse
d3183708e8
overlays: do not open home menu in VSH
2023-01-21 09:11:53 +01:00
Megamouse
44771150b7
overlays: add simple home menu
2023-01-21 09:11:53 +01:00