Commit Graph

7679 Commits

Author SHA1 Message Date
Stenzek a1e5bb7bc0
FullscreenUI: Display legend for achievement status icons 2025-03-15 15:58:39 +10:00
Stenzek 61de096d26
FullscreenUI: Add status text (left side of footer) 2025-03-15 15:58:22 +10:00
Stenzek 4f00a7c7c1
FullscreenUI: Add rounding to achievements progress bars 2025-03-15 15:44:23 +10:00
Stenzek 3420af829c
FullscreenUI: Display unlock rarity in achievements view 2025-03-15 15:41:30 +10:00
Stenzek 830842891e
GameList: Rename max value enum for consistency 2025-03-15 15:03:42 +10:00
Stenzek dd885cfe2f
GameList: Cache invalid entries
Saves repeatedly scanning them every time the application starts.
2025-03-15 15:02:56 +10:00
Stenzek 8a0400ad2c
GameList: Don't try to scan gpudump files 2025-03-15 14:46:19 +10:00
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 6c867859bf
FullscreenUI: Apply theme to loading screen 2025-03-14 23:07:14 +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 c57689cc90
FullscreenUI: Inherit colour alpha for shadowed text 2025-03-14 21:21:56 +10:00
Stenzek 511663198e
Qt: Update glyph ranges 2025-03-14 20:52:43 +10:00
zkdpower 531b3e103a
Update the Simple-Chinese translation to latest. (#3388) 2025-03-14 20:52:19 +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
KamFretoZ 4fc49ee0ca
FullscreenUI: Tweak the highlight background color (#3387) 2025-03-12 23:54:15 +10:00
Stenzek f6296ceb09
Qt: Increase setup wizard dialog height
Needs it on Linux otherwise graphics combos are shrunk.
2025-03-12 01:46:10 +10:00
Stenzek 9a9ed52b70
Qt: Fix vertical alignment in patches page 2025-03-12 01:46:07 +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 8bffd9725e
Qt: Lock system when automatic updater shows
Prevents messyness when launching in fullscreen+big picture.
2025-03-10 21:54:45 +10:00
Stenzek e25f287d60
Qt: Avoid stuck in temporary render-to-separate mode 2025-03-10 21:54:45 +10:00
Stenzek 9f0bbccd50
Achievements: Fix progress bar text alignment 2025-03-10 21:54:45 +10:00
Víctor "IlDucci 29f19d0ab6
Spanish (Spain) translation update (#3386)
- Adding new strings.
2025-03-09 16:10:49 +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 705fe11e07
Qt: Fix incorrect file filter for memory card import 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 160f1ea8a0
Qt: Fix vibration motor binding not showing some devices 2025-03-06 22:41:09 +10:00
Anderson Cardoso c3ce0eece2
Atualização Português do Brasil (#3385)
Melhoria de consistência dos textos e adição de novos conforme última atualização mais recente.
2025-03-06 22:40:54 +10:00
Stenzek 0bf0b5c22b
Qt: Fix typo in setup wizard 2025-03-04 14:07:17 +10:00
Stenzek 4c64e4879f
Mini: Log fatal errors to stderr 2025-03-04 14:07:17 +10:00
Daniel Nylander af4eb68065
Updated Swedish translation (#3383) 2025-03-04 14:06:10 +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 a0fef2d5ab
Qt: Merge gamelistmodel.cpp and gamelistwidget.cpp
They're constantly referring to each other.
2025-03-01 18:13:37 +10:00
Stenzek 4bfb37f8fb
Qt: Add graphics and achievements to setup wizard 2025-03-01 18:05:48 +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 9bfc3e90cc
FullscreenUI: Hook up dynamic toast colour 2025-03-01 13:10:50 +10:00
Stenzek 9d9da94b7b
FullscreenUI: Default to dark theme on unknown value 2025-03-01 13:10:50 +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 37fa0d135c
Mini: Add duckstation-mini interface 2025-02-28 16:29:18 +10:00
Stenzek df9f15eb68
OpenGLDevice: Support SDL window type 2025-02-28 16:29:18 +10:00
Stenzek ee1a3b904e
VulkanDevice: Support SDL window type 2025-02-28 15:46:53 +10:00
Stenzek 4bddd38d70
WindowInfo: Add SDL window type 2025-02-28 15:46:53 +10:00
Stenzek 0733e173b2
FullscreenUI: Add BackgroundProgressCallback 2025-02-28 15:46:53 +10:00
Stenzek 498e7aac56
X11Tools: Load libxcb and friends dynamically 2025-02-28 15:46:53 +10:00
Stenzek f7f17a077c
Cheats: Add Enable8MBRAM option for patches 2025-02-26 22:43:18 +10:00
Anderson Cardoso 0b167aad52
Atualização Português do Brasil (#3379)
Atualizado para a última versão.
2025-02-26 22:42:50 +10:00
Renzo Pigliacampo 08bbb4a981
Updated Spanish (Latin America) translation (#3378) 2025-02-26 22:42:42 +10:00
Stenzek fbbc4943f6
FullscreenUI: Fix crash in game properties on non-scanned file 2025-02-24 23:48:23 +10:00
Stenzek eda32e0695
Qt: Fix image key in overlay export 2025-02-23 18:03:02 +10:00
Stenzek b764ed4682
DDGoController: Fix incorrect translation context 2025-02-23 18:03:02 +10:00
zkdpower 2011c5511c
Update the Simple-Chinese translation to latest. (#3377) 2025-02-23 18:02:52 +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 d812463649
Qt: Ensure SIGCHLD is ignored properly 2025-02-21 23:58:04 +10:00
Stenzek 5fea81c07d
Qt: Show only HC achievement count if HC == SC 2025-02-21 23:58:04 +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
KamFretoZ 6a0c73b547
Qt: Add AMOLED theme (#3374) 2025-02-20 13:18:27 +10:00
Stenzek 78bd0fdf3e
Qt: Always use ARGB32 for padded cover images
Fixes black background around non-square covers.
2025-02-17 22:53:10 +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 2f5c4d819e
Common: Add xorshift-based PRNG class 2025-02-17 21:33:37 +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 0c30acb285
Qt: Work around QtWayland bugs
- Render to main no longer screws up the game list/menu bar.
- Toggling render to main no longer breaks the main window.

Positioning still sucks, but the various groups involved would
rather sit around arguing with each other rather than actually
shipping solutions ¯\_(ツ)_/¯.
2025-02-16 22:16:19 +10:00
Stenzek cb10c6fbf4
Qt: Ensure build warning is themed 2025-02-16 22:16:17 +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 9928d01ac4
Common: Fix ARM64 build on clang-cl 19
Also fix Vector4 extract32().
2025-02-16 18:03:33 +10:00
Stenzek cba9d00019
Qt: Further improve async cover loading
- Fix non-square images not centering.
- Fix possible crash when changing scale quickly.
- Avoid repeatedly resizing placeholder.
2025-02-16 13:18:37 +10:00
Anderson Cardoso b45f9c39c7
Atualização Português do Brasil (#3373)
Atualizado para a última versão.
2025-02-16 13:18:22 +10:00
Stenzek 1b3ca81efc
Qt: Fix hotkey search placeholder localisation 2025-02-15 23:02:19 +10:00
Stenzek 369f62318f
Cheats: Only display codes for selected revision 2025-02-15 22:45:17 +10:00
shikulja 4562573711
Update Russian translation (#3372)
* Update ts

* Update Russian translation

* .
2025-02-15 22:44:50 +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 bceadadcb4
Image: Fix possible unaligned movaps 2025-02-14 22:51:29 +10:00
Stenzek 6802f77cb9
CrashHandler: More Wcast-function-type-mismatch fixes 2025-02-14 22:06:44 +10:00
Stenzek ced9ee4b0b
Qt: Update glyph ranges 2025-02-14 19:02:22 +10:00
Stenzek dc6d6b91d4
PostProcessing: Fix abort on slow compile in big picture 2025-02-14 19:01:40 +10:00
Stenzek 5060e72b96
Qt: Fix missing vibration binding for NegConRumble 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 953bd0919b
RegTest: Fix flipped images in OpenGL
We're reading the framebuffer, not rendered image.
2025-02-14 19:01:40 +10:00
Stenzek b68d7c8adb
Image: Vectorize RGBA8 conversion and add A1BGR5 2025-02-14 19:01:40 +10:00
Stenzek 9b2cf0abbd
InputSource: Fix Wcast-function-type-mismatch 2025-02-14 19:01:40 +10:00
Stenzek 5913de947f
VulkanDevice: Fix incorrect texture format for A1BGR5 2025-02-14 19:01:40 +10:00
Stenzek 3a44c3a758
GPU: Fix prerotated presenting with OpenGL 2025-02-14 19:01:39 +10:00
zkdpower f90fdf66c8
Update the Simple-Chinese translation to latest. (#3371)
* Update the Simple-Chinese translation to latest.
2025-02-14 19:01:28 +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
Anderson Cardoso cd89f62935
Atualização Português do Brasil (#3369)
Atualizado para a última versão.
2025-02-12 19:22:13 +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 c137c562cd
Qt: Fix incorrect recommended value 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
Daniel Nylander f6e8ebec99
Updating Swedish translation (100%) (#3367) 2025-02-10 23:44:23 +10:00
zkdpower 2876713f0f
Update the Simple-Chinese translation to latest. (#3368)
* Update the Simple-Chinese translation to latest.

* Update the Simple-Chinese translation to latest.
2025-02-10 23:44:11 +10:00
Stenzek ef4c00a896
Qt: Use display name for a couple of recommended values 2025-02-10 02:21:19 +10:00
Stenzek 7a587d927f
Qt: Fix overlapping widgets in macro trigger shift-click 2025-02-10 02:15:27 +10:00
zkdpower 788b9cd3bf
Update the Simple-Chinese translation to latest. (#3365) 2025-02-10 02:00:38 +10:00
Víctor "IlDucci c1f8a525ca
Spanish (Spain) translation update 2025-02-09 (#3366)
Adding latest changes and cleaning up unused translations.
2025-02-10 01:59:49 +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 ac4ef4f853
Gt: Update glyph ranges 2025-02-09 16:50:02 +10:00
zkdpower 07f973076d
update the Simple-Chinese Translation to latest. (#3363) 2025-02-09 16:49:38 +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 0428a93315
Qt: Fix possible crash when rescanning game list 2025-02-09 15:04:09 +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 2663ac9666
CDImage: Improve PBP load error reporting 2025-02-08 17:33:58 +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 acb355a8c3
CDImage: Make .bin loader track length match .cue
Fixes different hashes for loading single-track .bin games directly.
2025-02-08 15:02:56 +10:00
Stenzek f2cca01e29
ImGuiManager: Fix achievement unlock icon not showing 2025-02-08 01:46:44 +10:00
Daniel Nylander 084422355a
Updated Swedish translation (#3362) 2025-02-08 01:46:34 +10:00
Stenzek 063bb96e5d
D3D11Device: Always query timestamp before present start
Fixes high GPU usage reporting in D3D11 with AMD GPUs + Optimal Frame
Pacing.
2025-02-07 15:58:35 +10:00
zkdpower 5ae6d9084a
update Chinese translation. (#3361)
just UI.
2025-02-07 12:31:58 +10:00
Anderson Cardoso 51480818cd
Atualização Português do Brasil (#3360)
Atualizado para a última versão
2025-02-06 22:04:07 +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 c6563a4656
VulkanDevice: Require Vulkan 1.1 for most extension probing
Too much of a headache to deal with these ancient Mali drivers that
support some extensions but not full Vulkan 1.1, and VMA does not
support this scenario.
2025-02-04 17:15:29 +10:00
Stenzek 4ad2d0ac2d
GPU: Fix incorrect PAL overscan range 2025-02-03 19:31:23 +10:00
Stenzek 455836af89
CMake: Check C++20 features that are missing on some systems 2025-02-03 00:30:59 +10:00
Stenzek cb205c4c36
Qt: Show icon in settings console region dropdown 2025-02-02 22:57:59 +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 1ca5782396
Threading: Handle EINTR on sem_wait() 2025-02-02 22:17:56 +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 a681386f28
Qt: Fix some options not being disabled with SW 2025-02-01 23:19:12 +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 9b6021b79e
FullscreenUI: Fix progress bar padding in loading screen 2025-01-30 01:43:22 +10:00
Stenzek 0d9e6bd482
FullscreenUI: Use effective value for achievement options enable 2025-01-30 01:18:47 +10:00
Stenzek d314b25f91
System: Fix per-game achievements hardcore mode
By mostly reverting 4dd6365a99, I didn't
think of all the implications. Not just per-game HC mode, but it's also
problematic on Android too.
2025-01-30 01:18:47 +10:00
Stenzek 02234715c5
FullscreenUI: Move UpdateRunIdleState() for system soft-fail to host
That way it's always in the correct state for e.g. memory card shutdown
confirmations.
2025-01-29 20:40:14 +10:00
Stenzek 128bab29f8
Host: Allow button title override in ConfirmMessageAsync() 2025-01-29 19:19:53 +10:00
Stenzek 4dd6365a99
System: Simplify HC disable confirm on startup
Use one path on all platforms, always asynchronous.
2025-01-29 19:19:53 +10:00
Stenzek 28f6358ec5
Qt: Use FSUI to service ConfirmMessageAsync() if active 2025-01-29 19:19:53 +10:00