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
Stenzek
c439de6364
Common: SSE2 backsupport for vector classes
...
shuffle8() sucks, the rest aren't _too_ bad.
2024-09-22 21:06:05 +10:00
Stenzek
f169b892c1
GPU: Defer frame done if not running events
...
Prevents interruption/execution exiting if the frame was ticked over
by a MMIO access, e.g. reading GPUSTAT.
2024-09-22 21:06:05 +10:00
Stenzek
3dca598063
Log: Switch to enum class
...
Need to change the channel to a bitset too.. the string lookups are
horribly slow, and conflict when one is a prefix of another.
2024-09-21 22:26:06 +10:00
Stenzek
88381209b3
System: Fix crash when disabling runahead
2024-09-21 22:26:06 +10:00
Stenzek
19698559c3
System: Drop IPC server
...
The one group using it switched to shared memory exports anyway.
2024-09-21 22:26:05 +10:00
Stenzek
ac8461a28b
System: Fix bogus SW thread CPU in OSD
2024-09-21 22:26:05 +10:00
Stenzek
e617f17294
System: Set GPU timing enable on init/destroy
...
It's really unrelated to the guest GPU.
2024-09-21 22:26:05 +10:00
Stenzek
e7aa0495ab
System: Not all setting changes need to interrupt
2024-09-21 22:26:05 +10:00
Stenzek
b5df06a54a
GPU/HW: Rewrite automatic internal resolution selection
...
Make it aspect ratio aware, as well as updating when/if the game changes
resolution. Also include the padding area in the OSD/status resolution.
2024-09-21 22:26:05 +10:00
Stenzek
292c1e0f06
Misc: Normalize OSD message keys
2024-09-18 22:35:50 +10:00
Stenzek
e03deb4928
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:23:57 +10:00
Stenzek
6f31e562a0
MetalDevice: Implement timed present
2024-09-13 15:19:29 +10:00
Stenzek
f2720b98dd
System: Reduce force-displayed-warning scope
...
Please don't make me regret this.
2024-09-10 23:53:39 +10:00
Stenzek
20b4581bbe
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:42 +10:00
Stenzek
d1770b616f
Settings: Default console logging to running from TTY
2024-09-09 20:55:15 +10:00
Stenzek
ac5a2a153a
GPUDevice: Remove BeginPresent() skip parameter
...
It wasn't used - System does its own present skipping.
2024-09-07 12:53:55 +10:00
Stenzek
4b0c1fdbf2
GPUDevice: Add recovery from lost device
2024-09-07 12:48:44 +10:00
Stenzek
1c1b82ed66
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:42 +10:00
Stenzek
ab1c85790c
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:00:30 +10:00
spacepaw
5b4d625d23
Add *.psx as a supported PS-X EXE file type ( #3290 )
2024-09-06 09:33:19 +02:00
Stenzek
87eded4bce
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:10 +10:00
Stenzek
1446e3035f
Settings: Make Disable Interlacing a Deinterlacing mode
...
Saving that precious vertical space.
2024-09-03 20:02:01 +10:00
Stenzek
94911abdca
System: Display disabled enhancements in safe mode
2024-09-03 19:29:59 +10:00
Stenzek
f9a594058f
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:26 +10:00
spacepaw
63abdb7afd
Reworked the "Force NTSC Timings" feature to support both NTSC and PAL frame timings ( #3287 )
2024-09-03 10:50:45 +02:00
Stenzek
164a353352
System: Fix possible race condition in presence update
2024-09-02 12:12:41 +10:00
KamFretoZ
b564f928bd
DiscordRPC: Add Rcheevos Icon Support ( #3286 )
2024-09-01 22:02:28 +07:00
Stenzek
7f4e5d55db
Misc: Update copyright headers
2024-09-01 22:08:31 +10:00
Stenzek
e8b787fb57
Misc: Change various icons
2024-08-25 23:17:05 +10:00
Stenzek
707453b596
FileSystem: Swap vector for DynamicHeapArray
...
No point zeroing it out.
2024-08-25 22:13:18 +10:00
Stenzek
bda6869084
Qt: Implement per-game controller configuration
2024-08-24 14:10:25 +10:00
Stenzek
9e3507e0f4
InputManager: Support multiple mice via raw input
...
Only on Windows for now.
2024-08-23 22:31:59 +10:00
Stenzek
b9679dfb0b
System: Remove contradictory statement
2024-08-20 12:08:59 +10:00
Stenzek
3455a0d151
System: Fix lockup with runahead enabled
2024-08-20 11:50:52 +10:00
Stenzek
41c8607782
TimingEvents: Don't defer frame done callback
2024-08-19 19:41:14 +10:00
Stenzek
86d4d92753
TimingEvents: Switch to 64-bit counters
2024-08-13 23:52:25 +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
Stenzek
f0945ca3ca
BIOS: Refactor loading/hashing of images
...
Fixes identification of PS2 BIOSes. However, they are not (yet) fastboot
compatible.
2024-07-19 15:51:25 +10:00
Stenzek
f1ca914512
CDROM: Further adjust IRQ delay
...
Fixes audio dropouts in Crime Crackers, Ogre Battle seems fine now as
well.
2024-07-17 20:57:36 +10:00
Stenzek
fae6b7ae86
System: Fix double error on load/boot cancel
2024-07-14 21:32:10 +10:00
Stenzek
fee888758f
System: Purge unused RecreateSystem()
2024-07-14 21:30:52 +10:00
Stenzek
2cfa535784
System: Fix certain GPU settings not applying until unpause
2024-07-13 17:52:42 +10:00
Stenzek
226a8eac81
MemoryCardIconCache: Ignore shared cards
2024-07-10 21:47:02 +10:00
Stenzek
bc73dacea4
System: Use socket multiplier for sleeping when connected
...
Should significantly reduce PINE latency.
2024-07-06 21:56:30 +10:00
Stenzek
87f2995f3d
TextureReplacements: Namespace-ify
2024-07-04 15:52:32 +10:00
Stenzek
f6d3a7987d
System: Load discord-rpc dynamically
2024-07-04 15:52:32 +10:00
Stenzek
9ef7e8c5d0
GPU/HW: Use GSVector instead of Rectangle
2024-07-03 15:44:12 +10:00
Stenzek
baab966b4e
System: Check for SSE4.1 in early hardware checks
2024-07-03 00:24:12 +10:00
Stenzek
173a61039c
System: Use cpuinfo for cache line size check
2024-07-03 00:24:12 +10:00
Stenzek
be8fbafd71
CPU/CodeCache: Always dynamically allocate code buffer
...
Reduces .bss size.
2024-06-30 16:45:51 +10:00
Stenzek
810ce1ce57
GPU: Remove duplicate display params fields
...
And enable postfx when the DAC is turned off.
2024-06-28 20:17:15 +10:00
Stenzek
3877486712
System: Ensure titles are sanitized for screenshots
2024-06-28 19:44:27 +10:00
Stenzek
ebf50edb79
System: Allocate JIT space before fastmem area
...
On Intel MacOS 14, the fastmem area gets allocated close to the
executable base, leaving no region free +/- 2GB for the JIT area.
2024-06-26 17:11:27 +10:00
Stenzek
ccb76d1451
GameList: Add custom title/regions
...
Largely inspired by https://github.com/PCSX2/pcsx2/pull/9330 , but almost
entirely rewritten.
2024-06-17 23:45:02 +10:00
Stenzek
1ae79c89e3
System: Refactor unsafe settings warning
...
And warn about round upscaled texture coordinates option.
2024-06-17 17:02:55 +10:00
Stenzek
34f20798a1
GPU/HW: Add separate 3D/2D (sprite) texture filtering
2024-06-17 15:56:56 +10:00
Stenzek
8455c9c3c6
GPU/HW: Add 'Force Round Upscaled Texture Coordinates'
2024-06-16 19:09:46 +10:00
Stenzek
c637e2b337
System: Fix title after loading state for EXE-boot
2024-05-31 21:08:45 +10:00
Stenzek
723af4de3a
Misc: Loading old save state versions is unlikely
2024-05-31 18:48:26 +10:00
Stenzek
7682cd2c10
System: Generate hash serials when running PS-EXE
...
Allows for per-game settings.
2024-05-30 22:21:52 +10:00
Stenzek
2eb0085539
System: Fix inverted volume selection
2024-05-27 11:58:42 +10:00
Stenzek
015804c434
System: Move GDB server into core
2024-05-27 00:18:05 +10:00
Stenzek
55d96f86f0
System: Add "Disable Mailbox Presentation" option
...
Partial backport of https://github.com/PCSX2/pcsx2/pull/11296
2024-05-26 22:38:35 +10:00
Stenzek
4311e08726
System: Implement PINE server
2024-05-26 22:38:35 +10:00
Stenzek
328a3cd7af
System: Prevent save states while memory cards are being saved
2024-05-25 17:42:12 +10:00
Stenzek
60ee17e713
System: Fix regtest dumping
2024-05-25 15:58:41 +10:00
Stenzek
0f9a255093
System: Fallback to FIFO on AMD (no mailbox support)
2024-05-24 22:48:26 +10:00
Stenzek
98520978a8
System: OSD message corrections
2024-05-24 22:13:35 +10:00
Stenzek
42a5fe0a6e
GPU: Further improve vsync handling
2024-05-24 02:33:33 +10:00
Stenzek
4e922a34a7
Log: Simplify macros
2024-05-24 02:08:14 +10:00
Stenzek
b6d019db66
Misc: Replace log printf calls with fmt
2024-05-24 00:29:49 +10:00
Stenzek
d2f28b6926
GPU: Explicit RemovePathLimits() is no longer needed
2024-05-23 19:52:56 +10:00
Stenzek
6cad97b404
GPUDevice: Make vsync actually tear-free
...
Apparently users prefer stutter over tearing...
2024-05-23 13:52:26 +10:00
Stenzek
14ba3b7312
System: Fix sync to host refresh audio stretching
2024-05-22 22:32:51 +10:00
Stenzek
d9cc80c7f9
WindowInfo: Get refresh rate from monitor config
...
DwmGetCompositionTimingInfo() returns a noisy refresh rate, at least on
Win11 22H2.
2024-05-22 22:16:31 +10:00
Stenzek
08125262bb
System: Fix Edit Memory Cards action for disc sets
2024-05-21 13:55:37 +10:00
Stenzek
1a4679def8
System: Use different conditions for frame dupe-skip
2024-05-20 01:32:33 +10:00
Stenzek
5b4f74122c
System: Add "Skip Duplicate Frame Display" option
...
Skips the presentation/display of frames that are not unique.
Can be combined with driver-level frame generation to increase
perceptible frame rate. Can result in worse frame pacing, and is
not compatible with syncing to host refresh.
2024-05-20 01:12:32 +10:00
Stenzek
9bdf23cba7
System: Load game settings from first disc of multi-disc games
2024-05-18 15:21:44 +10:00
Stenzek
35bdbf2a55
System: Check host page size on startup
2024-05-16 17:37:23 +10:00
Stenzek
c53717bbe4
System: Rewrite input profile hotkey priority logic
2024-05-16 16:53:13 +10:00
Stenzek
c116e5a1d5
Qt: Consider per-game overrides for Edit Memory Cards menu
2024-05-15 01:50:43 +10:00
Stenzek
e517581041
System: Tidy up some unused code
2024-05-14 15:13:18 +10:00
Stenzek
f3aec0c965
Host: Re-introduce plural translation support
2024-05-13 01:46:45 +10:00
Stenzek
318fd0b0fd
System: Fix triple popup on missing BIOS
2024-05-13 00:07:47 +10:00
Stenzek
be920acf38
System: Get rid of double popup on renderer create error
2024-05-13 00:06:56 +10:00
Stenzek
e7765d26fb
System: Fix double popup on missing SBI file
2024-05-12 17:20:37 +10:00
Stenzek
fa104acdd1
Misc: Purge unused code and report startup error to host
2024-05-05 22:29:26 +10:00
Stenzek
ca3cfbaa99
Misc: Pass string_view by value
2024-05-05 22:28:29 +10:00
Stenzek
7548113afd
System: Move COM init to common code
2024-04-25 12:56:02 +10:00
Stenzek
b4999975db
System: Fix pause-on-start running unthrottled
2024-04-23 14:44:08 +10:00
Stenzek
eb91fe31e2
Hotkeys: Add OSD toggle hotkey
2024-04-22 01:52:02 +10:00
Stenzek
3b8afb39f6
System: Don't try to fast boot non-PS1 discs
2024-04-22 01:44:04 +10:00
Stenzek
3fa2bd1d3a
System: Confirm shutdown if memory card is being written
2024-04-22 01:41:42 +10:00
Stenzek
a5613fc815
System: Add OSD message when all enhancements are disabled
2024-04-22 00:38:46 +10:00
Stenzek
b26a9556f7
System: Improve reset determinism
2024-04-22 00:19:44 +10:00
Stenzek
35f0d7f623
CPU: Update debug dispatcher flag on init
2024-04-22 00:08:16 +10:00
Stenzek
0fbc1a3a8a
AudioStream: Add surround expansion via FreeSurround
2024-04-21 23:30:46 +10:00
Stenzek
d3c12fecb3
Qt: Move dump audio on startup out of settings
2024-04-21 20:28:20 +10:00
Stenzek
84b24c6228
Achievements: Fix HC mode activating on reset of non-cheevo game
2024-04-18 00:40:06 +10:00
Stenzek
4bcc5a312a
System: Remove log spam
2024-04-14 17:25:23 +10:00
Stenzek
c149d66d4d
System: Add 'Reduce Input Latency' option
...
i.e. pre-frame sleep.
2024-04-13 19:57:25 +10:00
Stenzek
7344661801
GPUDevice: Split submission and presentation
2024-04-11 22:53:02 +10:00
Stenzek
88270771da
System: Combine VRR and Optimal Frame Pacing
...
GSync/FreeSync display users should:
- DISABLE VSync.
- ENABLE Optimal Frame Pacing.
2024-04-11 21:33:40 +10:00
Stenzek
1b1e42d003
System: Add Error to boot/load/save state
2024-04-11 13:42:10 +10:00
Stenzek
440a1700c0
System: Interrupt execution when loading state and reset
2024-04-10 20:18:30 +10:00
Stenzek
71f50566f3
System: Consider pending ticks when using global ticks
2024-04-07 19:01:48 +10:00