Stenzek
bcd4b918dc
FullscreenUI: Fix black screen on renderer change
2025-03-15 14:39:22 +10:00
Stenzek
c82c007a75
FullscreenUI: Add settings reset option to settings
2025-03-15 14:33:51 +10:00
Stenzek
0a470067f5
FullscreenUI: Move appearance up in settings order
2025-03-15 14:07:35 +10:00
Stenzek
2a86faa51e
FullscreenUI: Replace landing icons with colourable icons
2025-03-15 13:56:29 +10:00
Stenzek
4bac7cb79e
FullscreenUI: Fix some dialogs not being cancellable
...
i.e. exitable with right mouse click/B button.
2025-03-15 02:18:20 +10:00
KamFretoZ
db3b689166
FullscreenUI: Add Dark Ruby theme ( #3389 )
2025-03-15 02:17:54 +10:00
Stenzek
1189f53840
FullscreenUI: Add 'Automatic' theme that syncs with Qt
2025-03-15 00:42:02 +10:00
Stenzek
6e27b8ab91
FullscreenUI: Add option to start/open to game list
2025-03-14 23:57:14 +10:00
Stenzek
3d0f038697
FullscreenUI: Move game list settings to main tab
...
And add resume to game list/grid.
2025-03-14 23:53:50 +10:00
Stenzek
f11c31b41c
ImGuiOverlays: Apply theme to save state selector
2025-03-14 22:58:02 +10:00
Stenzek
cffafad2ca
ImGuiManager: Use fullscreen UI theme for OSD
2025-03-14 22:36:14 +10:00
Stenzek
b6fa2cecd3
FullscreenUI: Fix shadowed text alpha again
2025-03-14 22:36:14 +10:00
Stenzek
9c971825a9
FullscreenUI: Apply theme to ingame achievement overlays
2025-03-14 21:22:17 +10:00
Stenzek
e422afdec1
FullscreenUI: Improve achievements pause menu overlays
...
- Add most recent unlock/nearest completion.
- Make it look nicer and better fit with the rest of the interface.
2025-03-14 20:50:20 +10:00
Stenzek
ba3295930c
VulkanDevice: Allow 0x0 window size
...
Fixes minimizing in render-to-separate-window mode.
2025-03-12 23:54:25 +10:00
Stenzek
44af55a77f
FullscreenUI: Differentiate title/subtitle colours
...
Makes it easier to read.
2025-03-12 01:46:04 +10:00
Stenzek
72a0ba1e8e
FullscreenUI: Fix pause menu light theme shadow colour
2025-03-12 00:19:32 +10:00
Stenzek
aeadd4c280
FullscreenUI: Move game info to top of pause menu
2025-03-11 23:19:00 +10:00
Stenzek
d6ab840e4b
FullscreenUI: Use RetroAchievements game icon as fallback game image
2025-03-11 22:38:43 +10:00
Stenzek
492a55ee8b
FullscreenUI: Add icons to achievement list categories
2025-03-11 22:27:08 +10:00
Stenzek
541af8d5de
GDBServer: Stub out thread commands
2025-03-11 22:07:18 +10:00
Stenzek
7bae23d79d
GDBServer: Implement memory breakpoints
2025-03-11 21:50:26 +10:00
Stenzek
a0c06f8d9c
GDBServer: Implement 's' command (single step)
2025-03-11 21:32:03 +10:00
Stenzek
814263b442
GDBServer: Mostly rewrite handlers and fix undefined behaviour
...
Remove all heap allocations.
Remove copies.
2025-03-11 21:29:29 +10:00
Stenzek
2f5855a7a4
GDBServer: Get rid of <map> usage
2025-03-11 20:37:37 +10:00
Stenzek
cd694c01d8
GDBServer: Improve ack handling
...
Treat acks as complete packets, that way it doesn't spam an error
when only an ack is sent.
2025-03-11 20:30:47 +10:00
Stenzek
9f0bbccd50
Achievements: Fix progress bar text alignment
2025-03-10 21:54:45 +10:00
Stenzek
58dc7562a3
GPU/HW: Add in-pass clear depth pipeline
...
Instead of clearing the entire buffer, we only need to wipe out the
current drawing area. Saves a decent chunk of memory bandwidth in games
that end up spamming clears.
2025-03-07 21:33:06 +10:00
Stenzek
ee6887b68a
GPU/HW: Add stat for depth buffer clears
2025-03-07 21:33:02 +10:00
Stenzek
2bfbec3e9e
Settings: Use new key name for depth threshold
...
Because of the changed range.
2025-03-07 21:32:57 +10:00
Stenzek
e73ca9e052
Qt: Fix new range for depth clear threshold
2025-03-07 18:05:20 +10:00
Stenzek
6437a5db60
GPU/TextureCache: Dump textures asynchronously
...
Saves lagging the emulation.
2025-03-07 16:05:36 +10:00
Stenzek
95797b05f1
GPU: Force early run on GP0 FIFO overflow
...
And don't crash if a game spams GP0 writes and it overflows.
2025-03-07 15:49:07 +10:00
Stenzek
9939f1cd05
CPU/Interpreter: Use __builtin_{add,sub}_overflow for exceptions
...
Recompiler already does this.
2025-03-07 15:48:28 +10:00
Stenzek
7eb7ad684c
CPU/Recompiler: Remove load delay flag from lwc2
...
Shouldn't make any difference since it's not a register write.
2025-03-07 15:08:00 +10:00
Stenzek
826f10239c
CPU/Recompiler: Flush GTE completion cycle on load without fastmem
2025-03-06 22:41:10 +10:00
Stenzek
78bb14bd23
CPU: Fix disassembly of GTE instructions in log
2025-03-06 22:41:10 +10:00
Stenzek
b230c9c639
CPU/PGXP: Use GTE MAX_Z for Z normalization
...
Fixes clipping with depth buffer in some games, e.g. Final Fantasy VII battles.
2025-03-06 22:41:10 +10:00
Stenzek
8cfd843d8f
System: Fix depth clear threshold not applying immediately
2025-03-06 22:41:09 +10:00
Stenzek
859f5090c8
FullscreenUI: Update translation strings
2025-03-02 12:01:55 +10:00
KamFretoZ
38146f2023
FullscreenUI: Fix toast colors and add more themes ( #3381 )
2025-03-02 12:01:27 +10:00
Stenzek
965da856db
FullscreenUI: Add additional rounding to some dialogs
2025-03-01 17:10:09 +10:00
Stenzek
34fdbafe85
FullscreenUI: Add drop shadows to most text
...
Improves readability with custom backgrounds.
2025-03-01 16:00:05 +10:00
Stenzek
5a4e87aba3
FullscreenUI: Reorder interface settings to match Qt
2025-03-01 13:10:44 +10:00
KamFretoZ
5dc0a3630a
FullscreenUI: Add Themes ( #3380 )
2025-03-01 12:41:06 +10:00
Stenzek
89d9842c7e
FullscreenUI: Fix popup title colours
2025-03-01 01:11:26 +10:00
Stenzek
be970bcfe4
Qt: Handle inverted+negated axes when mapping
2025-02-28 18:06:51 +10:00
Stenzek
ec7c83a58e
Settings: Fix race toggling OSD messages
2025-02-28 16:29:18 +10:00
Stenzek
6a86c80445
CPU: Correct wording about cop2 and IRQs
2025-02-28 16:29:18 +10:00
Stenzek
0733e173b2
FullscreenUI: Add BackgroundProgressCallback
2025-02-28 15:46:53 +10:00
Stenzek
f7f17a077c
Cheats: Add Enable8MBRAM option for patches
2025-02-26 22:43:18 +10:00
Stenzek
fbbc4943f6
FullscreenUI: Fix crash in game properties on non-scanned file
2025-02-24 23:48:23 +10:00
Stenzek
b764ed4682
DDGoController: Fix incorrect translation context
2025-02-23 18:03:02 +10:00
Stenzek
3ea26cc910
GPU: Rewrite automatic resolution scaling
...
Make it play nice with rewind/runahead.
2025-02-21 23:58:05 +10:00
Stenzek
91370ee5ac
Achievements: Update both HC and SC counts on unlock/boot
2025-02-21 23:58:04 +10:00
Stenzek
fa3815d681
Achievements: Fix progress database corruption
2025-02-21 23:58:04 +10:00
Stenzek
72ac4f94db
CDROM: Increase delay for pause-when-paused
...
Fixes lockup in Tama - Adventurous Ball in Giddy Labyrinth.
2025-02-17 22:53:10 +10:00
Stenzek
6f25cf31a7
CDROM: Add randomness to repeated seek times
...
I hate it, but it fixes lockups in Dino Crisis 2, and probably
other games with dodgy code too.
Also Simple 1500 Series Vol. 57 - The Meiro.
2025-02-17 22:52:56 +10:00
Stenzek
9a75af2fa9
Qt: Explicitly set desktop file path on startup
...
Fixes window icon when running under Wayland.
Or, well, as much as it can given the fact that smug GNOME developers
think that windows should not be able to set their own icons.
2025-02-16 23:49:19 +10:00
Stenzek
5bd1a492be
GameDatabase: Turn PGXPPreserveProjFP into a boolean setting
2025-02-16 19:02:56 +10:00
Stenzek
e688e24eb9
GTE: Use floating-point math for preserve-proj-fp
2025-02-16 18:04:24 +10:00
Stenzek
369f62318f
Cheats: Only display codes for selected revision
2025-02-15 22:45:17 +10:00
Stenzek
ce8b1f0996
GPU: Small optimization to lanczos shader
...
Apparently the Adreno shader compiler can't do this on its own.
~23% performance improvement.
2025-02-15 17:44:41 +10:00
Stenzek
958fd0049c
GPU/HW: Don't use shader for self-overlapping copies
...
If we use the shader here, we're going to immediately end the
render pass since the area we read and wrote to is going to be
dirty again.
This is problematic on Mali where the render passes are really
expensive. Test case: Dino Crisis 2 - open menu
2025-02-15 17:20:30 +10:00
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