Stenzek
f6f709bcc5
System: Fix vsync preventing fast forward/turbo
2025-01-16 21:14:21 +10:00
Stenzek
0dc257abe4
System: Set time constraints for GPU thread on MacOS
...
Fixes erratic frame times.
2025-01-13 19:51:35 +10:00
Stenzek
f6c7681ef0
ImGuiOverlays: Double buffer input OSD and add vibration
2025-01-13 16:49:31 +10:00
Stenzek
3621705933
Achievements: Ensure loading old states behave the same as new
2025-01-13 13:13:15 +10:00
Stenzek
035762af94
System: Fix subimage change OSD message
2025-01-12 19:03:53 +10:00
Stenzek
e4dea69713
System: Drop state load OSD duration to quick
2025-01-12 17:50:33 +10:00
Stenzek
e43d7046ba
Achievements: Attempt relogin on system boot
...
And display an error notification if login fails, instead of
invalidating the token.
2025-01-12 17:50:33 +10:00
Stenzek
29934d62c4
System: Improve rewind behaviour
...
- Fix crash when rewinding before first state is saved.
- Always save a rewind state immediately after normal save state load.
- Don't toss the last rewind state when rewinding, that way there is
always at least one state to rewind to.
2025-01-09 23:46:06 +10:00
Stenzek
4449ae7904
Settings: Rearrange fields to avoid padding
2025-01-09 21:21:12 +10:00
Stenzek
561397a53c
CDROM: Add 'maximum' read speedup option
...
"Instant" seek is now renamed to Maximum as well, for consistency.
2025-01-09 15:23:47 +10:00
Stenzek
0960160589
System: Don't check for subchannel with GPU dump
2025-01-06 21:17:27 +10:00
Stenzek
db14824d61
System: Use task queue for saving states/screenshots/gpudumps
...
System shutdown no longer needs to block. Gets rid of the slight
hitch when shutting down and saving state with the Big Picture UI.
2025-01-03 20:16:38 +10:00
Stenzek
37e5e64ddc
System: Move state display updates to call sites
...
Fixes black frames when changing settings with runahead/rewind enabled.
2025-01-01 23:05:08 +10:00
Stenzek
f3b7686457
System: Fix crash with memory save states + renderer switch
2025-01-01 22:55:31 +10:00
Stenzek
dcd439e7d8
GTE: Add 'Free Camera' feature
2025-01-01 22:02:55 +10:00
Stenzek
a08acdb93a
System: Improve texture recycling when changing rewind/runahead settings
...
Fix suprious failures when changing rewind settings when low on VRAM.
2025-01-01 19:33:01 +10:00
Stenzek
b76618fdf4
System: Should call PGXP Reset not Initialize() in InternalReset()
2024-12-31 15:24:36 +10:00
Stenzek
e0877c1922
System: Add IsUsingPS2BIOS()
2024-12-31 14:58:31 +10:00
Stenzek
7228f6f1cf
System: Don't fail startup if cpuinfo init fails
2024-12-30 18:11:56 +10:00
Stenzek
82a843c121
RegTest: Log state and RAM hashes on exit
...
Useful for checking determinism.
2024-12-29 17:25:55 +10:00
Stenzek
1ed9e609a5
RegTest: Support replaying GPU dumps
2024-12-29 17:25:55 +10:00
Stenzek
dd180f2fd6
System: Fix dump VRAM writes not updating on GPU thread
2024-12-25 15:53:53 +10:00
Stenzek
dc18ce2c2a
System: Warn if fastmem mode is not optimal
2024-12-24 13:16:37 +10:00
Stenzek
f3f99f7eac
FullscreenUI: Support renderer swapping without restart
2024-12-23 14:37:38 +10:00
Stenzek
9e04b0bf55
GPU/TextureCache: Add 'Always Track Uploads' option
2024-12-23 13:52:23 +10:00
Stenzek
515a4d07fb
System: Fix pre-frame sleep getting stuck
2024-12-22 16:48:45 +10:00
Stenzek
0aa89ec7b0
System: Fix some GPU settings not updating
2024-12-21 18:29:56 +10:00
Stenzek
62285dcf33
Settings: Split into GPU and main settings
...
That way the GPU thread copy doesn't need fields it never touches.
2024-12-21 14:53:15 +10:00
Stenzek
26db661a05
GPU: Remove global indirection
2024-12-21 14:35:12 +10:00
Stenzek
c4b0430d5e
System: Remove unused SetExpansionROM()
2024-12-19 23:32:15 +10:00
Stenzek
7826c258b0
System: Frame step after runahead
...
Makes it behave as expected.
2024-12-19 23:32:15 +10:00
Stenzek
2d659fc3eb
GPU: Move backend work off CPU thread
2024-12-19 23:32:15 +10:00
Stenzek
831c982f3b
System: Rewrite memory save state handling
...
Makes it more friendly to GPU thread.
2024-12-19 22:42:28 +10:00
Stenzek
f010d81652
ISOReader: Add XA and raw extraction modes
2024-12-17 14:19:41 +10:00
Stenzek
b634eecd21
System: Allow separate configuration for multi-disc games
2024-12-16 01:22:48 +10:00
Stenzek
43af57d735
System: Fix UpdateGTEAspectRatio() during initialization
2024-12-15 22:12:43 +10:00
Stenzek
5687dd22bd
PIO: Add basic flash cartridge support
2024-12-13 23:22:57 +10:00
Stenzek
db848d1381
System: Remove redundant GameDB lookup
2024-12-12 17:43:00 +10:00
Stenzek
e507fdcb1f
System: Load state before calling OnSystemStarted()
...
Needed for transitent state cleanup on Android.
2024-12-11 22:04:21 +10:00
Stenzek
1edcc8c0ac
System: Merge system taints with state taints on load
2024-12-10 20:19:27 +10:00
Stenzek
5d7cb6c5dc
System: Move state compression/writing to worker thread
...
Reduce hitches when saving.
2024-12-09 14:16:55 +10:00
Stenzek
31d953dac2
System: Prevent memcard blocking resume state save
...
Because otherwise you end up with a stale/old resume state, which is
arguably worse.
2024-12-09 13:42:41 +10:00
Stenzek
5c4d95fd51
Settings: Add missing GPU feature disables
2024-12-06 15:07:56 +10:00
Stenzek
0c7636b3c3
System: Add missing safe mode disable messages
2024-12-05 17:04:09 +10:00
Stenzek
5b6e3a952c
System: Reset code cache on fastmem mode change
...
Fixes excess backpatching and potential crashes when changing mode.
2024-12-03 17:29:47 +10:00
Stenzek
b7fff840c8
System: Move thread name init to host
...
Prevents funky thread names for regtest on Linux.
2024-11-29 21:21:27 +10:00
Stenzek
aafc029682
Misc: Un-namespace Timer
2024-11-29 20:13:37 +10:00
Stenzek
0befbf8021
GPU: Add Uncorrected Borders crop mode
...
Should behave the same as the old "All Borders" mode.
The pixel aspect ratio WILL BE WRONG.
Also fixes the size of screenshots in internal resolution mode.
2024-11-26 18:00:19 +10:00
Stenzek
5fd79254bd
GPU: Fix crash when toggling software renderer
2024-11-26 12:58:12 +10:00
Stenzek
b180b26728
GPU: Rework "All Borders" cropping to be aspect correct
...
The "All Borders" crop mode was previously creating an aspect ratio that
was completely incorrect when using modes outside of Auto/4:3. We now
scale the aspect ratio relative to the PAL/NTSC aspect ratio to account
for this, regardless of how much of a border the game configures.
Overscan cropping also produced an incorrect aspect ratio outside of 4:3
mode, resulting in minor horizontal stretching. It is now correct,
however, this results in black borders being added in 16:9 for most
games.
To remove these borders, you have two options:
- Use the "Stretch to Fill" aspect ratio. This will scale the GTE
aspect ratio to fill the screen.
- Use the "Only Overscan Area (Aspect Uncorrected)" crop mode. This
mode retains the "old" behaviour, resulting in a stretched image.
2024-11-25 16:26:16 +10:00
Stenzek
24dfd30839
Image: Refactor to a more generic class
2024-11-24 23:29:29 +10:00
Stenzek
b984f343ae
System: Fix audio CD images not showing title
2024-11-23 18:52:45 +10:00
Stenzek
8ec9c90c82
Qt: Fix settings not applying immediately when editing profile
2024-11-14 00:35:25 +10:00
Stenzek
8611f4f438
System: Handle GPU device loss in BP-only mode
2024-11-10 15:48:41 +10:00
Stenzek
ead9e56c4d
System: Support loading ELF files
2024-11-05 17:54:12 +10:00
Stenzek
8bd0e6c3f7
CPU/CodeCache: Clear blocks on system shutdown
...
Means we release all allocated memory on system shutdown, rather
than waiting until the next VM/system start.
2024-11-05 13:06:46 +10:00
Stenzek
6551358212
Log: Replace channel string search with bitset
...
Knocks off around ~20KB of code.
2024-10-31 14:41:33 +10:00
Stenzek
2043128f98
System: Fix per-game fast boot applying too late
2024-10-30 15:19:10 +10:00
Stenzek
bfadd608fb
System: Add 'Task Threads'
...
Used for saving screenshots/GPU dumps.
2024-10-30 15:19:10 +10:00
Stenzek
53fb5cd9e1
GTE: Remove dependency on GPUDevice
2024-10-28 14:31:22 +10:00
Stenzek
d34707a377
System: Pack state in struct
...
Don't trust the linker...
2024-10-28 14:31:22 +10:00
Stenzek
166c930738
System: Move private functions to separate header
2024-10-28 14:31:22 +10:00
Stenzek
21d19a6297
System: Move perf counters to separate namespace
2024-10-28 14:31:22 +10:00
Stenzek
875ccecb90
System: Use frame rate for speed calculation
...
Instead of cycles. Makes it invariant to OC changes, and can
be managed on the (future) GPU thread.
2024-10-27 22:01:00 +10:00
Stenzek
2c57817803
System: Invalidate display on debug window change
...
Fixes these windows displaying black if the VM is paused.
2024-10-27 15:15:20 +10:00
Stenzek
1ae2dcf192
GPU: Propagate initialization error to caller
...
Avoids double error popup.
2024-10-26 01:41:29 +10:00
Stenzek
b92eeec962
System: Warning fix
2024-10-25 20:45:11 +10:00
Stenzek
080807e557
CDROM: Move subchannel replacement from CDImage
...
This will allow you to use SBI/LSD files with real discs, if your
drive does not support reading subchannels, or has an incorrect
skew.
2024-10-25 15:35:12 +10:00
Stenzek
7d2216c289
GameList: Avoid double fopen/read of EXEs
2024-10-23 21:20:28 +10:00
Stenzek
2d04f2eff9
System: Support loading .CPE files
2024-10-23 21:08:17 +10:00
Stenzek
485f81a02f
GPUDump: Support XZ compression
2024-10-22 19:40:03 +10:00
Stenzek
396e7d994a
System: Make global safe mode always take precedence
2024-10-22 01:11:31 +10:00
Stenzek
a9bfe2642f
System: Simplify error path in BootSystem()
2024-10-21 00:18:12 +10:00
Stenzek
b62e58776e
System: Fix GPU usage disappearing on renderer change
2024-10-21 00:12:20 +10:00
Stenzek
c250209336
System: Fix input profiles inheriting base settings
2024-10-21 00:05:32 +10:00
Stenzek
4ab22921c4
GPUDump: Add GPU dump recording and playback
...
Implements the specification from:
https://github.com/ps1dev/standards/blob/main/GPUDUMP.md
2024-10-20 22:02:24 +10:00
Stenzek
056b629837
ImGuiManager: Add 'Screen Margins' (i.e. safe zone)
2024-10-20 13:17:22 +10:00
Stenzek
76208f5f2d
System: Display localized trait names
2024-10-19 01:16:05 +10:00
Stenzek
57cf0f2643
System: Reload cheats/patches on safe mode toggle
2024-10-19 01:13:32 +10:00
Stenzek
baa9065d2e
System: Add taints to save states
...
This informs the user they are loading a save state that at some point
had potentially-game-breaking options enabled, and a reset is necessary
to clear them.
2024-10-19 01:13:32 +10:00
Stenzek
86a28d5dc0
ImGuiOverlays: Move debug state to auxiliary windows
2024-10-18 20:48:30 +10:00
Stenzek
eb46142ee7
GPUDevice: Extract swap chain to separate class
2024-10-18 20:48:29 +10:00
Stenzek
005d48a387
System: Don't display setting warnings without game
2024-10-18 20:48:29 +10:00
Stenzek
11c212260c
System: Only check controller changes when valid
2024-10-14 12:46:54 +10:00
Stenzek
e0b6f6f1b2
Cheats: Rewrite cheat management system
2024-10-13 16:43:22 +10:00
Stenzek
26b6c704f0
MemMap: Support dynamic page size selection
...
i.e. 4K to 16K on ARM64.
2024-10-05 19:25:23 +10:00
Stenzek
3fb5fb4c72
System: Fix saving of subimage index
2024-10-06 18:06:51 +10:00
Stenzek
c9f7ef5f9a
System: Fix reset when booting EXE
2024-10-06 13:36:46 +10:00
Stenzek
08bdffac64
GPU/HW: Fix toggling texture replacement settings
2024-10-05 13:50:36 +10:00
Stenzek
887d588029
System: Further improve fastboot behaviour
...
Use fastboot when slowboot will fail.
2024-10-04 14:48:05 +10:00
Stenzek
51fefb36a0
System: Fix crash when toggling SW with interpreter
2024-10-01 22:41:01 +10:00
Stenzek
45c8f6ea56
BIOS: Make GetInfoForHash() public
...
And it should take a const span.
2024-10-01 21:14:43 +10:00
Stenzek
060146a37a
CDROM: Add SubQ Skew option
...
Fixes corrupted boss sprites in Captain Commando.
One day I'll refactor things to fix this properly.
2024-09-29 17:11:52 +10:00
Stenzek
e06f1f1002
GPU: Add hardware texture cache
2024-09-29 13:37:47 +10:00
Stenzek
4132b5ef3d
Settings: Remove 'Increase Timer Resolution' option
...
It's no longer needed since I switched to high-resolution waitable
timers, which are supported on Win10 1803+.
2024-09-28 23:50:44 +10:00
Stenzek
036e11f7a8
Qt: Remove unused variable
2024-09-27 22:48:43 +10:00
Stenzek
df8e950e6e
Qt: Rename 'Disable All Enhancements' to 'Safe Mode'
...
And move it to the bottom of the dialog.
2024-09-26 21:54:51 +10:00
Stenzek
29da7f7211
System: Add 'Fast Forward Boot' option
2024-09-26 21:40:48 +10:00
Stenzek
4d74b203af
System: Don't try to read SYSTEM.CNF from Audio CD
2024-09-26 13:39:01 +10:00
Stenzek
bfc914aaa9
CMake: Add DISABLE_SSE4 option
...
NOT recommended. Only if you ABSOLUTELY need it.
The SSE2/legacy build will be a separate download option, and
warn you if you try to run it on a CPU that supports SSE4.
2024-09-23 20:27:58 +10:00