7470 Commits

Author SHA1 Message Date
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 4dd6365a99ee591c136bf2e36ef376013ee17b04, 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
Stenzek
4da7692a2d
System: Adjust initialization order to better fit FullscreenUI
Fixes jankyness of rendering the landing page when trying to resume
a game with achievements active, or when loading state.
2025-01-29 19:19:53 +10:00
Stenzek
1b678d0ebc
FullscreenUI: Allow using right mouse button for 'back' 2025-01-29 19:19:53 +10:00
Stenzek
224cb6ac8e
FullscreenUI: Fix ClosePauseMenu() running on wrong thread 2025-01-29 19:19:49 +10:00
Stenzek
231ba050a2
GPUThread: Switch to borderless if exclusive fullscreen fails
Better than ending up windowed.
2025-01-29 18:20:41 +10:00
Stenzek
e36dbaf255
Qt: Show current fullscreen resolution in UI even if invalid 2025-01-29 18:20:08 +10:00
Stenzek
70c45f7cf8
GPU/TextureCache: Handle replacements larger than 256x256
I left this unfinished because it was a pain...
2025-01-28 17:36:00 +10:00
Stenzek
f58fa2297e
GPU/TextureCache: Only use a single palette record for C16
Stops C16 textures larger than 256x256 being split up.
2025-01-28 17:36:00 +10:00
Stenzek
b0c0d6444c
GPU/TextureCache: Fix parsing of C16 replacement names 2025-01-28 17:36:00 +10:00
Stenzek
7188ab863a
GPU/HW: Treat fill-like sprites as fills if TC is enabled
Umihara Kawase Shun clears the framebuffer with a single large
sprite, which causes the texture cache to think the pages have
been drawn.
2025-01-28 17:35:52 +10:00