Stenzek
8772c336ec
CPU: Don't stall until GTE completion on write
...
Apparently this is what the real CPU does, and some very optimized
code can run slower if we stall early.
Obviously if you write to a register being read by the command,
things are going to break.
2025-02-15 12:57:18 +10:00
Stenzek
7d80a74dc3
GameDatabase: Remove now-unused traits
2025-02-15 12:57:02 +10:00
Stenzek
2bfc408242
Bus: Enable mmap fastmem on uppermost KSEG0 mirror
...
Instead of mapping all the RAM mirrors, we only map the KSEG0
uppermost mirror. This is where some games place their stack, so
we avoid the backpatching overhead/slowdown, but don't pay the
cost of 4x the mprotect() calls when a page's protection changes,
which can have a non-trivial impact on slow ARM devices.
2025-02-15 12:42:43 +10:00
Stenzek
e9bfca8cca
System: Add 'Fast Forward Memory Card Access' option
...
Does what it says on the tin.
2025-02-15 12:38:32 +10:00
Stenzek
13d58d8ed0
Qt: Move fast boot/fast forward to console settings
...
Makes more sense there, and matches Android.
2025-02-15 12:32:22 +10:00
Stenzek
f4aa5e1b98
MemoryCard: Filename -> Path
2025-02-15 11:39:31 +10:00
Stenzek
e0620fcd40
System: Fix setting-altering game patch behaviour
...
e.g. overclock was only half applying
2025-02-14 23:50:34 +10:00
Stenzek
dc6d6b91d4
PostProcessing: Fix abort on slow compile in big picture
2025-02-14 19:01:40 +10:00
Stenzek
5ae32d3c70
System: Fix black screen when changing options while paused
2025-02-14 19:01:40 +10:00
Stenzek
3a44c3a758
GPU: Fix prerotated presenting with OpenGL
2025-02-14 19:01:39 +10:00
Stenzek
7bc18c8538
DDGoController: Rewrite to support axis input
...
And add virtual buttons for each of the possible states.
2025-02-12 21:52:02 +10:00
Stenzek
ce616f1c5c
Cheats: Reapply frame end codes immediately on reload
...
Otherwise you end up with a single frame where the old code is used.
2025-02-10 23:45:24 +10:00
Stenzek
36d5708391
GPU/HW: Fall back to replacements from first disc
...
So you only need one copy.
2025-02-10 23:45:24 +10:00
Stenzek
5fb5dcdd70
Achievements: Improve summary popup
...
Put hardcore mode notice on its own line, rather than in
parenthesis in the title.
2025-02-09 18:24:06 +10:00
Stenzek
46ae3e55ea
Cheats: Show disabled code count when HC/safe mode is active
2025-02-09 17:45:19 +10:00
Stenzek
4ce48abfc1
GPU/HW: Fix incorrect source rect for page replacements
2025-02-09 17:45:16 +10:00
Stenzek
8132c51a12
Cheats: Add 'Ignore' field to file format
...
Codes with Ignore set to true will not be listed/loaded.
2025-02-09 15:58:23 +10:00
Stenzek
4236beabaf
System: Fix setting-altering patches not applying on startup
2025-02-09 15:38:12 +10:00
Stenzek
901927d7fe
CDROM: Don't panic on unknown register read
2025-02-09 13:23:37 +10:00
Stenzek
94b2060979
GPU: Clear display texture on fatal error
2025-02-09 13:22:03 +10:00
Stenzek
06b02183cb
GPU/HW: Split transparent draws if dual-source blend unsupported
...
The ordering is not correct otherwise. Ape Escape has a bunch of
overlapping sprites that have a mix of opaque and transparent texels,
and the transparent texels are repeated multiple times when the
opaque texels should cancel them out.
Only affects old Mali drivers.
2025-02-09 13:07:53 +10:00
Stenzek
160c34ef28
CDROM: Avoid additional stat() call loading subchannel
...
And use BuildRelativePath() for title-based subchannel files.
Fixes flaky loading on Android, some devices return a zero-sized file
when querying a non-existant file.........
2025-02-08 15:54:38 +10:00
Stenzek
81bca06707
System: Add hash to OnGameChanged
2025-02-08 15:03:17 +10:00
Stenzek
f8c39ace1c
GPU/HW: Warning fix
2025-02-05 22:40:59 +10:00
Stenzek
bee2dabc77
Misc: Replace stringstream str() with C++20 move str()
...
No extra heap allocation/copy.
2025-02-05 22:38:48 +10:00
Stenzek
2cfc39e874
System: Move cheat reload to Initialize()
2025-02-05 22:13:51 +10:00
Stenzek
57cb2f846e
FullscreenUI: Fix system unpausing on shutdown
2025-02-05 20:03:58 +10:00
Stenzek
ecbb79c4bf
GPU: Add Lanczos scaling option
2025-02-05 20:01:26 +10:00
Stenzek
99e81f1559
GPU: Fix incorrect condition in WaitForOneQueuedFrame()
2025-02-05 19:31:01 +10:00
Stenzek
4ad2d0ac2d
GPU: Fix incorrect PAL overscan range
2025-02-03 19:31:23 +10:00
Stenzek
af277d4d14
Settings: Default to nearest sprite texture filtering
...
Instead of whatever the 3D texture filter is.
Less confusing since the UI is not disconnected when upgrading from very
old releases, or Android.
2025-02-02 22:57:31 +10:00
Stenzek
59773509af
System: Recreate memory save states when device options change
2025-02-02 22:54:32 +10:00
Stenzek
1f5a10371e
GPUThread: Handle rare race condition in frame queueing
2025-02-02 22:18:13 +10:00
Stenzek
4ceeb58dbc
GPU: Use display size for calculating internal screenshot size
...
Fixes detail being lost due to added padding when not cropping.
2025-02-02 17:14:35 +10:00
Stenzek
64d3716cfd
GPU: Further simplify draw rect calculation
...
Remove "Stretch Vertically" option, it was very confusing to users.
Integer scale will prefer whichever direction gets a larger draw
rectangle/preserves as much detail.
2025-02-02 17:02:58 +10:00
Stenzek
0c3d55a1a1
GPU: Fix incorrect PAR with overscan cropping
2025-02-02 16:07:06 +10:00
Stenzek
a5940b2e21
GPU: Use constants for display overscan range
2025-02-02 15:39:20 +10:00
Stenzek
24354cb39f
GPU: Fix more GPU thread-reading-CPU-thread-settings locations
2025-02-02 13:08:08 +10:00
Stenzek
804d90d48f
System: Fix overriding console region
2025-02-02 13:00:18 +10:00
Stenzek
b01c06b412
GPU/TextureCache: Prevent wrapping for replacement lookup
...
Fixes replacements for 8 and 16-bit textures placed in the right-most
page of VRAM.
2025-01-31 20:56:11 +10:00
Stenzek
635ae5de31
GPU/HW: Don't use sprites-as-fills for small/offscreen points
2025-01-31 19:50:33 +10:00
Stenzek
d65c4efdd8
GPU/TextureCache: Prefill dumped texture list with replacements
...
Allows skipping dumping replaced textures without replacements enabled.
2025-01-31 15:47:22 +10:00
Stenzek
b5925ab139
Achievements: Include any codepoints above 0x100 in dynamic range
2025-01-31 13:48:57 +10:00
Stenzek
03181d1179
GPUThread: Fix crash during FSUI language switch
2025-01-31 13:47:29 +10:00
Stenzek
96058f5d7e
System: Use recreation logic for toggling GPU threading
2025-01-31 12:56:19 +10:00
Stenzek
f7d7eecb6c
GPU/TextureCache: Fix replacements starting in second page
2025-01-30 13:33:00 +10:00
Stenzek
44a75d6586
GPUThread: Fix setting change crash with thread off
2025-01-30 13:32:32 +10:00
Stenzek
369879e685
Settings: Log when creating EmuFolders fails
2025-01-30 02:11:23 +10:00
Stenzek
aae7573e63
Achievements: Fix build with regtest
2025-01-30 02:10:49 +10:00
Stenzek
0d9e6bd482
FullscreenUI: Use effective value for achievement options enable
2025-01-30 01:18:47 +10:00