Commit graph

525 commits

Author SHA1 Message Date
Stenzek 294e8c9201
System: Set realtime constraints on MacOS
Significantly improves frame timing/pacing, now it is a
flat line on my 2023 MBP like other platforms.
2024-09-13 20:54:43 +10:00
Stenzek 68b82ab55b
MetalDevice: Implement timed present 2024-09-13 20:39:36 +10:00
Stenzek 338fb278e8
System: Reduce force-displayed-warning scope
Please don't make me regret this.
2024-09-11 00:00:36 +10:00
Stenzek e32783d421
Settings: Remove second source of truth for OSD notifications
And split it into warnings/messages. Warnings are always displayed
regardless of the "Show OSD Messages" setting, because they're critical
and users forget they disable messages.
2024-09-10 22:10:44 +10:00
Stenzek 2fe4877dbc
Settings: Default console logging to running from TTY 2024-09-09 20:58:43 +10:00
Stenzek 26aacb0e92
GPUDevice: Remove BeginPresent() skip parameter
It wasn't used - System does its own present skipping.
2024-09-07 13:55:58 +10:00
Stenzek 6336c4ee1f
GPUDevice: Add recovery from lost device 2024-09-07 12:48:44 +10:00
Stenzek 3a4ac13c26
GPUDevice: Purge threaded presentation
Worse frame pacing, and GPU thread (when I finish it) will give
significantly faster performance on mobile anyway.
2024-09-07 12:15:43 +10:00
Stenzek 70fd457cc4
CPU: Refactor execution mode switching
Fixes single step breaking in branch delay slots with recompiler.
Simplifies initialization.
Removes multiple sources of truth for fastmem.
2024-09-06 20:30:47 +10:00
spacepaw cd6e2fc16a
Add *.psx as a supported PS-X EXE file type () 2024-09-06 17:33:19 +10:00
Stenzek 0ceeddbfe7
FileSystem: Fix FD leak with atomic updated file on Linux
Also add the ability to explicitly commit and check for errors.
2024-09-03 20:43:12 +10:00
Stenzek cf9ef3d2ac
Settings: Make Disable Interlacing a Deinterlacing mode
Saving that precious vertical space.
2024-09-03 20:02:05 +10:00
Stenzek 08edd9894b
System: Display disabled enhancements in safe mode 2024-09-03 19:29:59 +10:00
Stenzek f93e5efa26
Settings: Force Frame Timings => Force Video Timing
Also drop from GameDB, an override doesn't make sense here anyway,
due to the low success rate with the enhancement.
2024-09-03 19:06:28 +10:00
spacepaw f511877910
Reworked the "Force NTSC Timings" feature to support both NTSC and PAL frame timings () 2024-09-03 18:50:45 +10:00
Stenzek 2e0b0d3963
System: Fix possible race condition in presence update 2024-09-02 12:12:41 +10:00
KamFretoZ 45291c5afe
DiscordRPC: Add Rcheevos Icon Support () 2024-09-02 01:02:28 +10:00
Stenzek 9ca6b5430f
Misc: Update copyright headers 2024-09-01 23:10:55 +10:00
Stenzek b6228aced7
Misc: Change various icons 2024-08-26 00:16:35 +10:00
Stenzek 7efacbad36
FileSystem: Swap vector for DynamicHeapArray
No point zeroing it out.
2024-08-25 22:13:19 +10:00
Stenzek eb102275c2
Qt: Implement per-game controller configuration 2024-08-24 14:19:23 +10:00
Stenzek 330381c939
InputManager: Support multiple mice via raw input
Only on Windows for now.
2024-08-23 23:06:55 +10:00
Stenzek e4cc8af961
System: Remove contradictory statement 2024-08-20 12:08:59 +10:00
Stenzek 3e8f2f6b1c
System: Fix lockup with runahead enabled 2024-08-20 11:50:52 +10:00
Stenzek fefcfc906d
TimingEvents: Don't defer frame done callback 2024-08-19 19:41:14 +10:00
Stenzek 55bcf7261f
TimingEvents: Switch to 64-bit counters 2024-08-19 15:31:31 +10:00
Stenzek 3772706603
System: Look up media capture settings on-demand
No need to store them, save some memory.
2024-08-18 15:52:54 +10:00
Stenzek c6d14febd2
System: Log information on startup 2024-08-18 12:50:16 +10:00
Stenzek b274bf4d57
System: Switch to new capture file on video FPS change 2024-08-18 12:34:25 +10:00
Stenzek 052930a8d8
System: Fix reset with Type 2 fastboot 2024-08-18 12:13:57 +10:00
Stenzek e96320daf0
BIOS: Add Type 2 fastboot patch (PS2) 2024-08-13 14:47:40 +10:00
Stenzek 5786f3a8c9
System: Fix loading state without media 2024-08-12 21:22:32 +10:00
Stenzek af47eb6956
System: Add video capture feature 2024-08-11 21:06:58 +10:00
Stenzek b2ca23e9da
GPU: Use full display rect for postfx calculations 2024-08-06 17:38:08 +10:00
Stenzek aeb9d383ce
System: Add save state compression mode options 2024-08-06 17:02:21 +10:00
Stenzek 70411783cd
System: Make more functions static 2024-08-06 16:10:15 +10:00
Stenzek e6a682f8d5
System: Reduce rewind/runahead memory usage w/o 8MB enabled 2024-08-06 16:02:18 +10:00
Stenzek 0c15c9eaa8
Qt: Fix bug where config-based RAIntegration occasionally failed 2024-08-04 21:03:42 +10:00
Stenzek c3bf267936
System: Remove redundant remap 2024-08-04 21:03:39 +10:00
Stenzek 02fbfae6a0
System: Add advanced 'Export Shared Memory' option
Memory map is exported as duckstation_<pid>. Previously, this only
worked on Windows, now it is extended to Linux as well.
2024-08-04 20:28:07 +10:00
Stenzek 1b9b4699d9
Qt: Fix render-window-resize with 270deg rotation 2024-08-03 01:19:22 +10:00
Stenzek 3a83c4265c
Misc: Fix a bunch of code analysis warnings
Some of which were even actual errors.
2024-08-02 23:56:07 +10:00
Stenzek 33f6cc246e
System: Use default compression level
I'd intended to make this an option.
2024-07-29 22:06:21 +10:00
Stenzek a6518ff9dc
System: Rewrite save state I/O
No more ByteStream or virtual calls for every piece of data.
2024-07-29 17:27:32 +10:00
Stenzek 6fe0c986fa
System: Rewrite EXE override/loading
Relies on POST=7 as a kernel initialization indicator, instead of
patching the BIOS.

Fixes EXE loading with OpenBIOS and PS2 BIOS, and fast boot getting
baked into save states.
2024-07-28 19:05:56 +10:00
Stenzek 7a3a72ec3d
GPU: Add display rotation option 2024-07-26 23:09:33 +10:00
Stenzek 0407f939fc
CPU: Fix loading recompiler-saved states with interpreter 2024-07-23 21:11:01 +10:00
Stenzek 2a617c505a
GPU/HW: Support using ROV for accurate blending 2024-07-23 14:46:06 +10:00
Stenzek deed0c9713
GameDatabase: Merge compatibility messages 2024-07-22 14:59:55 +10:00
Stenzek efd8aab437
TimingEvents: Fix events ending up out-of-order 2024-07-20 22:35:32 +10:00