7842 Commits

Author SHA1 Message Date
Stenzek
9ab2608ba0
GPU/TextureCache: Fix replacement background name length 2025-06-03 22:55:21 +10:00
Stenzek
5b40d7902a
System: Shut down GPU backend before other components
Prevents a rare crash on shutdown if OSD stats were enabled.
2025-06-03 19:06:17 +10:00
Stenzek
7fde697118
GPU/TextureCache: Add merging of adjacent palette records
So a texture spanning multiple pages can be merged at dump time.

Doing a merge instead of a union on the original palette rect
is safer, because gaps won't dump as larger textures with garbage
in the middle.
2025-06-03 19:05:22 +10:00
Stenzek
eee67a30da
GPU/HW: Fix off-by-one in sprite UV rect calculation
CheckForTexPageOverlap() makes it exclusive already.

Fixes replacements for FF8 title screen not applying in the third
texture page, because it thought it was sampling from an unwritten
area of VRAM.
2025-06-03 18:54:29 +10:00
Mark Zhuang
62c0a1e7d4
RISCV: fix flush cache for linux riscv when clang <= 18
for __builtin___clear_cache, clang-18 generates __clear_cache:
https://godbolt.org/z/K5Kx6EEhq, which is an empty function.
clang-19 can generates __riscv_flush_icache:
https://godbolt.org/z/TKe6Kh61a
2025-06-03 17:58:38 +10:00
Stenzek
d9367229e9
Achievements: Avoid duplicate tracker display 2025-06-03 17:57:29 +10:00
Stenzek
42813e8840
GameDatabase: Actually disable auto scale for DisableUpdating 2025-06-01 21:19:07 +10:00
Stenzek
ae3b295d95
FullscreenUI: Disable menu item borders by default
Looks nicer.
2025-06-01 15:10:40 +10:00
Stenzek
47405b081c
GameDatabase: Disable MSAA with DisableUpscaling 2025-06-01 14:37:16 +10:00
Stenzek
2cc0851116
GameDatabase: Fix DisableUpscaling trait with auto res 2025-06-01 14:37:16 +10:00
Stenzek
fc7934a2be
FullscreenUI: Fix nav focus loss in leaderboards
Stops hotkeys triggering when using mouse navigation.

Also fixes the first leaderboard entry not focusing on page swap.
2025-06-01 14:37:16 +10:00
Stenzek
1ad9ca7e90
FullscreenUI: Cancel pending nav on focus reset 2025-06-01 14:37:16 +10:00
Davide Pesavento
02d8e14752
ImGuiManager: Avoid deprecated std::memory_order_consume (#3433) 2025-05-31 14:27:02 +10:00
Stenzek
0a0ad3f9e2
Qt: Improve clarity of unknown dump hashes 2025-05-31 03:00:59 +10:00
Stenzek
2018eb77fe
GPU: Adjust draw timing approximation
Cache seems to be able to go up to 128x8? Constructor draws sprites that
fit exactly in the texture cache, and does so within vblank, so it can't
take too long to draw.
2025-05-30 19:26:49 +10:00
Sheng Jiang 蒋晟
b195f747cf
implement ExtConstantBitClear/Set on ExtImprovedSlide (#3430) 2025-05-28 21:42:11 +10:00
Stenzek
4164b95cb3
ImGuiManager: Make OSD message animation match notifications 2025-05-27 17:58:22 +10:00
Stenzek
6b811df6d0
CDROM: Add "Switch to Next Disc on Stop" option.
NOTE: THIS WILL NOT WORK FOR ALL GAMES.

Plenty of games don't stop the CD-ROM drive when they're expecting a
disc change, leaving us with no way of knowing when it's needed.
2025-05-27 17:10:11 +10:00
Stenzek
24cd6fa11b
Hotkeys: Add switch to previous/next disc hotkeys 2025-05-27 17:03:39 +10:00
Stenzek
d885446672
VulkanDevice: Fix manual device selection 2025-05-27 17:03:39 +10:00
Stenzek
1c54047cd1
Qt: Remove redundant vertical layout in console settings 2025-05-27 17:03:39 +10:00
Davide Pesavento
8fa6336a90
Qt: Further polish the layout of some widgets (#3427) 2025-05-27 17:02:46 +10:00
Anderson Cardoso
09a1bfdde3
Atualização Português do Brasil (#3426)
- Novas linhas adicionadas/movidas traduzidas.
- Confirmação de novas linhas de texto.
2025-05-25 13:00:16 +10:00
Víctor "IlDucci
492ff51f40
Spanish (Spain) translation update 2025/05/24 (#3425)
- Translated all the new strings.
- Minor edits on existing ones.
2025-05-25 12:59:58 +10:00
Davide Pesavento
80c9a8d399 Qt: Remove unused ui file 2025-05-24 15:57:05 +10:00
Davide Pesavento
e30c1b53ad Qt: Use grid layout for audio stretch settings dialog 2025-05-24 15:57:05 +10:00
Stenzek
f6aa3eb5b0
Qt: Update glyph ranges 2025-05-24 12:55:59 +10:00
Stenzek
64dfe003b2
Qt: Update status bar visibility on shutdown
Fixes empty widgets being displayed.
2025-05-24 12:55:44 +10:00
zkdpower
7e37849378
update the Simple-Chinese translation to latest. (#3422) 2025-05-24 12:54:37 +10:00
Davide Pesavento
c12e7fcc0b
Qt: Fix minor typos in graphics settings help text (#3421) 2025-05-23 17:08:53 +10:00
Stenzek
4d5ba3b4e6
VulkanDevice: Tidy up device/extension initialization
Single pass, avoids enabling extensions that will not be used.
2025-05-23 17:06:59 +10:00
Stenzek
32b3ade56c
VulkanDevice: Allocate N semaphores for N swap chains 2025-05-23 15:21:49 +10:00
Stenzek
cdadda85b5
Qt: Fix application exiting on fullscreen+lang change 2025-05-23 15:21:49 +10:00
Stenzek
66934cc5b8
System: Include queued frames in input latency stats 2025-05-23 15:16:15 +10:00
Stenzek
03111befb9
Settings: Correct a couple of default values 2025-05-23 15:15:58 +10:00
Stenzek
461c51ff6a
Qt: Fix updater crash while game running
Or while fullscreen.
2025-05-20 00:00:41 +10:00
Stenzek
1667179f78
Qt: Updater shouldn't confirm shutdown
Otherwise if it's cancelled we end up in a funky state.
2025-05-20 00:00:38 +10:00
Stenzek
b27e5ac26a
Qt: Fix incorrect lock parent 2025-05-19 23:52:11 +10:00
Stenzek
a422402014
CPU: Fix bgez/blez disassembly with non-standard pattern 2025-05-18 13:43:41 +10:00
Stenzek
c7ed3239b7
Qt: Use grid layout for second audio settings panel 2025-05-18 13:33:38 +10:00
Stenzek
54444475f5
Qt: Fix sizing of patch detail widgets 2025-05-18 13:33:21 +10:00
Stenzek
0ee3f235b6
Qt: Fix swapped parameter order in patch info 2025-05-18 12:47:03 +10:00
Anderson Cardoso
4748a93b8a
Atualização Português do Brasil (#3420)
Atualizaod para a última versão.
2025-05-18 12:14:47 +10:00
Stenzek
8ee0daaa17
GameDatabase: Bump cache version
Forgot to do this before.
2025-05-17 23:06:36 +10:00
Stenzek
5eedecd811
System: Swap back gamesettings->safe mode order
Fixes e.g. round texcoords warning being shown on games that need it.

But don't display CD speedup warnings if the gamedb will disable them.
2025-05-17 23:06:36 +10:00
Stenzek
9b17e1485d
MediaCapture/FFmpeg: Log when dynlib open fails 2025-05-17 23:06:36 +10:00
Stenzek
0aa789d6c9
MediaCapture/FFmpeg: Default to VP9 2025-05-17 23:06:30 +10:00
Stenzek
6baea54e9d
MediaCapture/FFMpeg: Re-introduce v7.0.x support
I hate this... thanks flatpak.
2025-05-17 21:48:32 +10:00
Stenzek
84999e0bc9
FileSystem: Handle BOM in ReadFileToString()
Works with UTF-8 BOM, UTF-16 LE + BE.

Fixes DisplayDepth ReShade shader not loading.
2025-05-17 20:27:01 +10:00
Stenzek
e3c0eed3df
StringUtil: Add DecodeUTF16String() and BE variants 2025-05-17 20:25:45 +10:00
Stenzek
17dfb95d6a
GPU/HW: Fix MSAA+depth buffer combination
Clear should wipe out all samples, copy should copy all samples.
2025-05-17 19:44:23 +10:00
Stenzek
4a707afae1
System: Show safe mode warning after applying gamesettings
Prevents warning about things that have already been disabled.
2025-05-17 18:44:03 +10:00
Stenzek
a6b59f9efe
GameDatabase: Add traits for disabling disc speedup 2025-05-17 18:40:58 +10:00
Stenzek
c729515118
AnalogController: Add option to use right stick as shoulder buttons 2025-05-17 18:40:38 +10:00
Stenzek
22109fc8e0
MediaCapture/FFmpeg: Tidy up format selection
And remove use of deprecated fields.
2025-05-17 18:11:13 +10:00
Stenzek
d35cefb02a
GPU/HW: Check for depth clears for lines 2025-05-17 15:22:01 +10:00
Stenzek
844869c0c1
GPU/HW: Fix precise lines failing depth test 2025-05-17 15:04:22 +10:00
Stenzek
a375d558f6
GPU/HW: ScaleNx/MMPX do not require blending 2025-05-17 14:05:56 +10:00
Stenzek
3d8f6bf7aa
GPU/HW: Fix filtered alpha blending in ROV path 2025-05-17 14:05:55 +10:00
Davide Pesavento
401f2652ca
Achievements: Use round instead of ceil for unlocked percentage (#3418) 2025-05-17 14:05:41 +10:00
Stenzek
21aaec99f1
Qt: Note when patches are not allowed for achievements 2025-05-17 01:07:55 +10:00
Stenzek
871323f4e1
Cheats: Fix setting overrides applying for blacklisted patches 2025-05-17 00:59:20 +10:00
Daniel Nylander
4ec372cd4e
Updated Swedish translation (#3417) 2025-05-16 23:51:22 +10:00
Stenzek
93e4913f11
Qt: Fix additional padding in patch list 2025-05-16 19:21:37 +10:00
Stenzek
cfb24f930d
Qt: Fix revision-specific patches showing in list
It was already filtered in Big Picture Mode.
2025-05-16 19:20:26 +10:00
Stenzek
7368047b49
ImGuiManager: Upload software cursor textures on GPU thread 2025-05-16 19:13:38 +10:00
Stenzek
4ea90f948d
CDROM: Display OSD message on backend read fail 2025-05-16 19:06:55 +10:00
Stenzek
7310aa509a
CDROM: Stop reading on backend read fail
Instead of panicing. Game's probably just going to crash anyway.
2025-05-16 18:14:08 +10:00
Stenzek
f8b8963776
CDImageDevice: Fix possible invalid optional access 2025-05-16 17:54:02 +10:00
Stenzek
44729000af
Qt: Update Korean translation by Hack茶ん 2025-05-14 23:18:23 +10:00
Stenzek
7932618424
Bus: Enable SIO2 on any unknown BIOS
Not all PS2 BIOSes are in the list.
2025-05-14 23:18:23 +10:00
Stenzek
2ed7aa5536
CPU: Clear pending bus error when interpreting block
It can get set from a failed rec access much earlier.

Also eliminates a redundant store from the main interpreter loop.
2025-05-14 23:18:22 +10:00
Stenzek
4bacbc8958
Qt: Eliminate heap allocations in GameListSortModel
More of an issue since the filter is now checking multiple fields.
2025-05-13 21:43:32 +10:00
Stenzek
b91d219524
Qt: Clarify that XInput should only be used for wrappers 2025-05-13 21:31:00 +10:00
Stenzek
2b280bddd0
GPU/TextureCache: Display replacement info on game start 2025-05-13 21:21:16 +10:00
zkdpower
2c67c7d287
Update the Simple-Chinese translation to latest. (#3413) 2025-05-12 20:58:43 +10:00
KamFretoZ
085ef31ee8
Qt: Search more things! (#3414)
Co-authored-by: KrossX <2485237+krossx@users.noreply.github.com>
2025-05-12 20:58:36 +10:00
Stenzek
6cde51b7b5
Achievements: Tidy up API calls 2025-05-11 14:07:31 +10:00
Stenzek
aee66edd6e
Achievements: Unload RAIntegration on UI thread
Fixes crash when toggling it on/off.
2025-05-09 20:58:38 +10:00
Stenzek
18c5608f7d
Qt: Work around MacOS disc change menu bug
QActionGroup usage here was incorrect.
2025-05-07 21:29:39 +10:00
Stenzek
b2dcf39f8b
FullscreenUI: Fix possible crash with RAIntegration 2025-05-06 22:50:32 +10:00
Stenzek
2aea3e1c3c
FullscreenUI: Add vertical padding to several windows
Looks less cluttered.

- Achievement/leaderboard lists.
- Game list/game grid.
- Save state selector.
2025-05-06 22:42:06 +10:00
Stenzek
30fe7f3e4a
Achievements: Manually generate badge URLs when using RAIntegration
It doesn't fill in these fields (currently at least).
2025-05-06 22:42:06 +10:00
Stenzek
942316b2d0
Log: Fix inconsistent enum ordering 2025-05-06 22:40:21 +10:00
Stenzek
03db7ea8ea
GPUThread: Remove unnecessary padding 2025-05-05 02:22:57 +10:00
Stenzek
c8a5712c10
FullscreenUI: Fix possible crash with achievements/leaderboards hotkey 2025-05-05 02:22:57 +10:00
Stenzek
d326d307b4
Achievements: Fix memory writes using CPU addresses 2025-05-05 02:22:57 +10:00
Anderson Cardoso
ea58cd1d57
Atualização Português do Brasil (#3411)
Atualizado para a última versão.
2025-05-05 02:22:40 +10:00
Stenzek
ad13b17bea
FullscreenUI: Fix slow fadeout on fast forward toggle 2025-05-03 00:46:18 +10:00
Stenzek
6cafb5cdea
FullscreenUI: Fix resume state dialog height at some window sizes 2025-05-03 00:45:45 +10:00
Víctor "IlDucci
af5fb6961c
Spanish (Spain) translation update 2025/04/26 (#3410)
- Translated latest strings.
- Minor tweaks related to the Game Settings.
2025-05-03 00:44:51 +10:00
Stenzek
8d80ae123d
Controller: Remove 'f' from string float values 2025-04-26 14:41:45 +10:00
KamFretoZ
d049b36387
Log: Allow read-only access to the log file (#3409) 2025-04-26 13:03:39 +10:00
Stenzek
611bb8fb4f
VulkanDevice: Remove hardcoded 1.0 API version
Been like this for a couple of months, evidently forgot to remove it
when testing...
2025-04-25 17:40:40 +10:00
Stenzek
f8cd1d3d92
Qt: Warn on cheat enable if gamesettings disabled 2025-04-25 15:54:34 +10:00
Stenzek
773ec046b5
Justifier: Fix byteswapped RGB colours 2025-04-24 21:41:38 +10:00
Stenzek
589b8f5139
Justifier: Handle byte 4 IRQ enable flag
Fixes games with two justifiers connected concurrently.
2025-04-24 21:41:31 +10:00
Stenzek
740758fdda
CPU/Recompiler: Call RaiseBreakException() on BP
For pcdrv.
2025-04-24 10:51:07 +10:00
Stenzek
559f831c30
Achievements: Defer login/game identify until after RAIntegration load 2025-04-23 22:16:27 +10:00
Stenzek
50e99dd1ff
D3D12Device: Fix incorrect state when texture uploaded 2x w/o use 2025-04-23 22:16:27 +10:00