856 Commits

Author SHA1 Message Date
Megamouse
7e8ed5ecc1 rsx: clear unused parameters on capture boot 2025-12-01 17:51:30 +01:00
Elad
e09be04df6 Emu/UX: Automatic Cache Precompilation for PKG instal 2025-11-29 10:47:51 +02:00
Elad
5893851029 Core: Remove Intel-TSX ISA Extension based code 2025-11-17 10:32:08 +02:00
Elad
8712414123 System.cpp: Check if the original EBOOT.BIN is valid for disc game updates 2025-11-03 12:04:11 +02:00
Elad
6b556ca5b0 SaveStates: Fix Gem Thread Reboot 2025-10-14 08:16:02 +03:00
Elad
b18a0830f3 Multi-Slot Savestates 2025-10-07 13:33:58 +03:00
Megamouse
f371f8be3e Move gamemode exit to final kill callback analog to display_sleep 2025-07-06 19:42:09 +02:00
ADAS2024
ef566186be [Linux] Implement Feral Interactive's Gamemode for Potential Performance Increases (#17325)
Currently, this is a draft PR to implement Feral Interactive's Gamemode
into RPCS3, which can improve game performance on certain Linux systems.

At the moment, I am running into various compiler warnings when trying
to include "gamemode_client.h" due to the file not using strict typings
and old C-style casts. I know I can disable these flags during RPCS3's
compilation but I wanted to check with the maintainers before going
forward and if this feature should be implemented.

It should be noted that RPCS3 only fails to compile and run if I include
Feral's header file, but everything else compiles if I comment out the
include.

Targets Issue #11299
2025-07-06 11:50:03 +02:00
Megamouse
c27d7db0a7 SDL: do not track emu state when initializing 2025-05-21 07:01:11 +02:00
elad335
fa744121fc Fix CallFromMainThread execution condition 2025-05-13 17:37:13 +03:00
elad335
d21358e91f System: Fix Kill calling duplication 2025-05-09 11:39:53 +03:00
elad335
3ea3ed6672 Emu: Track game termination progress better 2025-05-08 17:06:47 +03:00
Megamouse
738d1ef682 Emu: Make game termination less confusing 2025-05-08 12:58:38 +02:00
Megamouse
9c7d8da298 Add log message if game ignores exit game request 2025-05-08 12:58:38 +02:00
Antonino Di Guardo
b8d1d7cdf1 Fix game list update for auto-detection VFS games folder (#17051) 2025-04-17 12:14:54 +02:00
Megamouse
949a80dc0a Loader: deny boot if the firmware is too old 2025-03-28 18:18:09 +03:00
RipleyTom
324af04426 Set PSN to disconnected when net status is disconnected 2025-03-25 21:46:38 +01:00
Megamouse
b2ff24453c overlays: fix background image logic
Also make the path getter more generic
2025-03-21 20:47:45 +01:00
Megamouse
ec29650029 Fix warning 2025-03-17 23:11:31 +01:00
Megamouse
42ba0b6271 Qt: Use localized game icons and titles 2025-03-17 00:47:43 +01:00
Elad
783079266e Emulator: Implement config CLI args, add barrier for host CLI args 2025-03-03 06:54:00 +02:00
Elad
207ee59acd PPU Analyzer: Firmware/import caller analysis and KLIC finding pass 2025-02-27 12:32:21 +02:00
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
665bb83297 Fix Savestates recent regression 2025-01-28 18:49:19 +02:00
Megamouse
0ef2e96121 Fix segfault on missing firmware
Wait until kill to close the gs_frame on error
2025-01-25 17:06:35 +01:00
Elad
81d0dd686b LLVM: Add explicit resource-freeing at emulation stop 2025-01-25 12:47:44 +02:00
Megamouse
ba702509c8 Qt: Add Recent savestates menu 2025-01-23 22:55:07 +01:00
Megamouse
448666c896 Log LLVM version 2025-01-23 18:01:16 +01:00
Megamouse
6805c36004 Decrease log level of config file move error 2025-01-22 02:18:07 +01:00
Megamouse
a7edfa221e windows: move logs to log dir 2025-01-16 21:33:33 +01:00
Megamouse
451e953d26 windows: move config.yml and games.yml to /config/ 2025-01-16 21:33:33 +01:00
Megamouse
c443326fb1 Do not re-use the old game window if the renderer changed 2025-01-06 15:49:09 +01:00
Megamouse
2ac171a30f move error_report to ErrorCodes.cpp 2025-01-06 15:49:09 +01:00
Megamouse
7369169331 Disable continuous mode if a savestate is not possible 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
3ce4c95e61 Show message while creating savestate in continuous mode 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
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