3448 Commits

Author SHA1 Message Date
Stenzek
25ffc5a248
GameDatabase: Warn if multitap enabled on unsupported game
Fear Effect sends a multitap read command, but doesn't know how to
handle it. There's probably others.

Also add a DisableMultitap trait for these games to force it off.
2024-12-13 18:41:00 +10:00
Stenzek
8f19912c64
GPU/ShaderGen: Use sample instead of load at 1x as well
Consistency. Mali ends up ever-so-slightly faster with sample versus
texel loads, apparently.

Also fixes compile errors when using texture filtering on GLSL ES.
2024-12-13 14:36:21 +10:00
Stenzek
db848d1381
System: Remove redundant GameDB lookup 2024-12-12 17:43:00 +10:00
Stenzek
5577328f35
Controller: Allow !compatsettings to always start in analog mode 2024-12-12 17:42:37 +10:00
Stenzek
99f133223c
CPU/Recompiler: Create block links for self-looping blocks
This way invalidation will rewrite the jump back to the compiler.
Otherwise a SMC block can end up looping itself indefinitely.

Might help with Spyro 2/3. I can't seem to make them crash anymore.
2024-12-12 16:28:51 +10:00
Stenzek
2e805d56dd
CPU/CodeCache: Always backpatch KSEG2 writes 2024-12-12 16:24:54 +10:00
Stenzek
c3a2156c79
CPU/CodeCache: Fix event kicking for Cached Interpreter 2024-12-12 16:24:19 +10:00
Stenzek
cdcf05a878
CPU/Recompiler: Only truncate block for future writes
If we overwrite an instruction that has already executed, it
should invalidate the block next time.
2024-12-12 16:23:32 +10:00
Stenzek
e507fdcb1f
System: Load state before calling OnSystemStarted()
Needed for transitent state cleanup on Android.
2024-12-11 22:04:21 +10:00
Stenzek
d8af8e4a60
GPU/HW: Fix possibly-stale display with MSAA+Show VRAM 2024-12-11 22:04:21 +10:00
Stenzek
69947fb907
GPU/TextureCache: Look for replacements outside of subdirectory
i.e. old setups that do not have the `replacements` subdirectory.
2024-12-11 15:02:55 +10:00
Stenzek
d871c17f3f
Settings: Set sprite texture filter on reset 2024-12-11 14:54:26 +10:00
Stenzek
1edcc8c0ac
System: Merge system taints with state taints on load 2024-12-10 20:19:27 +10:00
Stenzek
cc567d9498
Cheats: Fix hash-suffixed files incorrectly loading 2024-12-10 20:19:26 +10:00
Stenzek
1e839224e8
CDROM: Fix physical disc reading without SubQ on Linux 2024-12-10 02:28:02 +10:00
Stenzek
2e6deca76f
FileSystem: Don't use POSIX locks on Android
Requires SDK 24, and it's pointless anyway.
2024-12-10 02:26:54 +10:00
Stenzek
b814666134
CPU/Recompiler: Fix ARM32 build (again) 2024-12-10 02:26:45 +10:00
Stenzek
a1928de4d0
ImGuiOverlays: Pack SaveStateSelectorUI state 2024-12-09 15:35:07 +10:00
Stenzek
765a46fc88
FullscreenUI: Pack state in struct 2024-12-09 15:02:05 +10:00
Stenzek
53c08c52ed
ImGuiFullscreen: Pack state in struct 2024-12-09 15:01:57 +10:00
Stenzek
5d7cb6c5dc
System: Move state compression/writing to worker thread
Reduce hitches when saving.
2024-12-09 14:16:55 +10:00
Stenzek
31d953dac2
System: Prevent memcard blocking resume state save
Because otherwise you end up with a stale/old resume state, which is
arguably worse.
2024-12-09 13:42:41 +10:00
Stenzek
5bf7227790
CPU/CodeCache: Use code buffer section on Android 2024-12-08 19:44:27 +10:00
Stenzek
3a661a1c3d
Cheats: Move file clearing into core
Needed for Android.
2024-12-08 02:58:50 +10:00
Stenzek
d5432da082
Settings: Disable runahead/rewind in Safe Mode 2024-12-08 02:58:50 +10:00
Stenzek
f9155e5ce7
Settings: Fix incorrect data type for rewind slots 2024-12-08 02:58:50 +10:00
Stenzek
5725a0360b
GPU: Use A1BGR5 format for SW/HashCache if available 2024-12-06 18:28:09 +10:00
Stenzek
f0c456893c
GPUDevice: Support pre-rotating swap chains 2024-12-06 15:38:51 +10:00
Stenzek
acf04ed67a
GPUDevice: Use row-major matrix packing
With column vectors. mul() turns into dot products instead of madds.
2024-12-06 15:10:15 +10:00
Stenzek
5c4d95fd51
Settings: Add missing GPU feature disables 2024-12-06 15:07:56 +10:00
Stenzek
6d080c1a3f
GPU: Fix additional GL_POP() causing validation errors 2024-12-06 14:51:57 +10:00
Stenzek
0c7636b3c3
System: Add missing safe mode disable messages 2024-12-05 17:04:09 +10:00
Stenzek
5b6e3a952c
System: Reset code cache on fastmem mode change
Fixes excess backpatching and potential crashes when changing mode.
2024-12-03 17:29:47 +10:00
Stenzek
0a2facfaeb
Settings: Don't enable fastmem without recompiler
Don't need to bother allocating memory otherwise.
2024-12-03 16:54:42 +10:00
Stenzek
d3ceda0c5b
CPU/CodeCache: Improve block host size heuristics
Codegen is much better these days, especially with NewRec.
2024-12-03 16:54:28 +10:00
Stenzek
25063d4018
Achievements: Fix overlay stacking 2024-12-03 14:13:04 +10:00
Stenzek
cbc22a89f7
GPU/HW: Fix TC + SW-For-Readbacks combo 2024-12-02 20:45:02 +10:00
Stenzek
3959c83bd4
GPU/TextureCache: Fix split writes not dumping 2024-12-02 20:12:40 +10:00
Stenzek
22edf23269
GPU: Fix parameter logging of some commands 2024-12-02 17:24:18 +10:00
Stenzek
6756c96fa2
CDROM: Improve SeekL -> ReadN timing
See comments - Mech stops at target Data - 2, or SubQ target.
2024-12-02 17:24:16 +10:00
Stenzek
2f70d1bd9c
CPU: Write trace log to data directory 2024-12-01 23:21:33 +10:00
Stenzek
e9848a6182
Misc: Collapse more niche log channels 2024-12-01 23:21:33 +10:00
Stenzek
0faa9cf650
Build: Add Devel configuration
Gets you debug assertions and logging, while still producing an
optimized executable.
2024-12-01 23:21:33 +10:00
Stenzek
7c627a8c83
Controller: Add JogCon
This is probably wrong, but I have no way of testing it with an actual
force feedback wheel.

PRs welcome to improve it further.
2024-12-01 21:17:54 +10:00
Stenzek
f9c125c1a1
InputManager: Add ForceFeedbackDevice interface 2024-12-01 21:08:52 +10:00
Stenzek
b87c6dde6c
CDROM: More logging tidy-up 2024-12-01 18:15:42 +10:00
Stenzek
4fe3e1147d
Controller: Add GetPortDisplayName() that takes pad index 2024-12-01 17:47:55 +10:00
Stenzek
9fc9f4b9e9
Settings: Fix hash cache fields not being compared 2024-12-01 16:53:29 +10:00
Stenzek
00132c6070
AnalogController: Fix more log spam 2024-12-01 14:49:38 +10:00
Stenzek
c6746e76f1
CPU/Intepreter: Raise #RI on invalid COP0 move 2024-12-01 14:27:24 +10:00
Stenzek
62414b0c4c
CPU/Interpreter: IBE should not set BD/BT
Apparently. Nothing relies on this. :P
2024-12-01 14:27:24 +10:00
Stenzek
145ad2db27
GameList: Fix scanning of ELF files 2024-12-01 13:10:20 +10:00
Stenzek
9dec34c8c0
Settings: Disable texture replacements if TC disabled
Stops replacements being enumerated in the software renderer as well.
2024-11-30 14:42:51 +10:00
Stenzek
f1435dcf67
Settings: Bump maximum hash cache size
Hopefully mobile will be okay with it.. I know Adreno GL
craps out around 8,000 texture objects.
2024-11-30 14:36:07 +10:00
Stenzek
53008eb34a
GPU/HW: Allow use of RGB5A1 for texture cache
Reduces bandwidth and storage requirements by 50%.
2024-11-30 14:36:07 +10:00
Stenzek
c6e2235ee2
GPU/HW: Vectorize texture conversion routines
~100% speed up for RGBA8, ~50% for RGB5A1.
2024-11-30 14:36:07 +10:00
Stenzek
fa4dc381ed
GPUDevice: Rename RGBA5551 to RGB5A1
And fix the incorrect format for Vulkan.
2024-11-30 14:36:07 +10:00
Stenzek
ee750b44e3
Settings: Normalize texture replacment option titles 2024-11-30 01:09:41 +10:00
Stenzek
0f51472d64
Misc: Android build fix 2024-11-30 01:09:41 +10:00
Stenzek
b7fff840c8
System: Move thread name init to host
Prevents funky thread names for regtest on Linux.
2024-11-29 21:21:27 +10:00
Stenzek
cbc16bee9e
GPU: Display scanout resolution regardless of crop mode 2024-11-29 21:05:01 +10:00
Stenzek
b059cda8d5
Achievements: Pack state in struct 2024-11-29 20:13:37 +10:00
Stenzek
aafc029682
Misc: Un-namespace Timer 2024-11-29 20:13:37 +10:00
Stenzek
682ba71319
GPU: Fix aspect ratio with Show VRAM enabled 2024-11-29 18:36:32 +10:00
Stenzek
d5b9b54a69
GPU/SW: Vectorize VRAM writes/copies 2024-11-29 18:05:52 +10:00
Stenzek
19eee76aec
AnalogController: Reduce log spam 2024-11-29 17:30:53 +10:00
Stenzek
9970944da2
Achievements: Add encryption of login tokens in ini
Super simple key derived from the machine's UUID.

The idea isn't to provide a ton of security, but prevent users from
accidentially exposing their tokens when sharing their ini for debugging
purposes.

The use of the machine UUID is disabled in portable mode for those who
actually move it between computers. Instead, the key is derived from the
username alone, which is trivially computable.
2024-11-29 17:13:21 +10:00
Stenzek
5401dc8d52
Settings: Add EmuFolders::IsRunningInPortableMode() 2024-11-29 17:06:40 +10:00
Stenzek
da501b9294
StringUtil: Add ParseFixedHexString() 2024-11-29 15:04:25 +10:00
Stenzek
dac5dd562b
HTTPDownloader: Improve error reporting
Give something human-readable when an error occurs.
2024-11-29 14:00:55 +10:00
Stenzek
3ed6cc2ba8
GameList: Fix crash loading custom language options 2024-11-29 13:17:07 +10:00
Stenzek
6be242449b
AnalogController: Simplify rumble config
And fix some variables not being saved to state, yay determinism issues.
2024-11-29 13:11:25 +10:00
Stenzek
eeee1e691a
Cheats: Support importing native format
Compared to only replacing the .cht file.
2024-11-29 13:10:59 +10:00
Stenzek
208e6c4b35
Cheats: Strip whitespace from code names 2024-11-29 12:49:51 +10:00
dreamsyntax
4e43b1ec8c
Debugger/MemoryScanner: Add 'Freeze Selected' (#3334) 2024-11-27 18:30:02 +10:00
Stenzek
97700b85de
GPU/HW: Clear ROV depth on fill/copy/write
It wasn't being specified before, whoops.
2024-11-27 17:52:31 +10:00
Stenzek
eb390a9b5d
GPU/TextureCache: Specify max hash cache size/memory in config 2024-11-27 17:52:31 +10:00
Stenzek
4edae3cdd0
GPU/HW: Depth buffer needs to be a RT in ROV mode 2024-11-27 12:56:01 +10:00
Stenzek
0befbf8021
GPU: Add Uncorrected Borders crop mode
Should behave the same as the old "All Borders" mode.
The pixel aspect ratio WILL BE WRONG.

Also fixes the size of screenshots in internal resolution mode.
2024-11-26 18:00:19 +10:00
Stenzek
be7a20fef2
GPU/TextureCache: Map replacement non-255 alpha to fully transparent
That way if during the scaling process you end up with interpolated
colours, the cutout alpha is preserved.

Ideally we'd blend it, but that tends to create more problems than it
solves on PSX.
2024-11-26 13:08:32 +10:00
Stenzek
5fd79254bd
GPU: Fix crash when toggling software renderer 2024-11-26 12:58:12 +10:00
Stenzek
57595c47af
GPU/TextureCache: Move replacement cache onto the GPU
And enforce a maximum. Should sort out the upload spam.
2024-11-25 19:37:28 +10:00
Stenzek
b180b26728
GPU: Rework "All Borders" cropping to be aspect correct
The "All Borders" crop mode was previously creating an aspect ratio that
was completely incorrect when using modes outside of Auto/4:3. We now
scale the aspect ratio relative to the PAL/NTSC aspect ratio to account
for this, regardless of how much of a border the game configures.

Overscan cropping also produced an incorrect aspect ratio outside of 4:3
mode, resulting in minor horizontal stretching. It is now correct,
however, this results in black borders being added in 16:9 for most
games.

To remove these borders, you have two options:

 - Use the "Stretch to Fill" aspect ratio. This will scale the GTE
   aspect ratio to fill the screen.

 - Use the "Only Overscan Area (Aspect Uncorrected)" crop mode. This
   mode retains the "old" behaviour, resulting in a stretched image.
2024-11-25 16:26:16 +10:00
Stenzek
dec468966c
GPU/HW: Fix sprite mode triggering on screen-aligned UVs
Some polygons just end up being perfect. For example, Croc 2
minecart level.
2024-11-25 15:39:45 +10:00
Stenzek
a804801a1b
GPU/HW: Support filtering with texture cache 2024-11-25 13:23:39 +10:00
Stenzek
0ae8fcced3
GPU/HW: Fix incorrect sampling at 1x with TC 2024-11-25 13:15:07 +10:00
Stenzek
0076af6974
SPU: Zero out upper ADPCM filters
Also in CD-ROM.
2024-11-25 01:33:11 +10:00
Stenzek
40a1bee9ea
CDROM: Fix incorrect clmap in XA-ADPCM decoding
Fixes crunchy audio in GT2: A-Spec.
2024-11-25 01:05:10 +10:00
Stenzek
9fa8fee193
Achievements: Use rc_client for pause throttling 2024-11-24 23:56:16 +10:00
Stenzek
852239ec8a
Qt: Add game list language override option 2024-11-24 23:29:29 +10:00
Stenzek
70a4b5c9f2
GameDatabase: Add missing flags 2024-11-24 23:29:29 +10:00
Stenzek
7b230dc4c1
GPU/HW: MSAA samples change needs to recreate pipelines
Otherwise Metal/Vulkan go boom boom.
2024-11-24 23:29:29 +10:00
Stenzek
24dfd30839
Image: Refactor to a more generic class 2024-11-24 23:29:29 +10:00
Stenzek
3ff1b04576
GPUDevice: Support generating mipmaps 2024-11-24 23:29:28 +10:00
Stenzek
5261cfe8e4
CPU/Recompiler: Tidy up type names
And reduce global namespace pollution.
2024-11-23 18:52:46 +10:00
Stenzek
f67eacc071
CPU: Default to new recompiler/remove old recompiler 2024-11-23 18:52:46 +10:00
Stenzek
d2d06adeeb
CPU/NewRec/ARM32: Shifts need to be explicitly masked 2024-11-23 18:52:45 +10:00
Stenzek
5c03e1d940
Misc: Fix alignment errors on ARM32 2024-11-23 18:52:45 +10:00
Stenzek
bb24d406f2
Pad: GCC compile fix 2024-11-23 18:52:45 +10:00
Stenzek
b984f343ae
System: Fix audio CD images not showing title 2024-11-23 18:52:45 +10:00
Stenzek
378fd80e3d
CDROM: Defer subq read until needed
Should help with hitches on real disc reads until I refactor
in a proper sector cache...
2024-11-20 14:24:48 +10:00
Stenzek
ca9af62f92
FullscreenUI: Add a BP achievements login dialog 2024-11-20 13:44:39 +10:00
Stenzek
81e2619e91
FullscreenUI: Add missing icon 2024-11-19 20:35:07 +10:00
Stenzek
5a948800b7
Achievements: Purge first-disc-from-playlist option
Unnecessary since all disc's hashes are registered.
2024-11-19 20:13:22 +10:00
Stenzek
4b71428846
GPU/TextureCache: Fix tracking getting enabled without TC 2024-11-18 23:34:24 +10:00
Stenzek
1451e968d5
GPU/TextureCache: Pack state in struct 2024-11-18 14:19:47 +10:00
Stenzek
9838dd9df2
GPU/TextureCache: Purge copy-target sources from hash cache
Saves some VRAM/hash cache usage by disacarding hash cache entries that
are discarded by a copy, but unfortunately cannot stop the uploads.
2024-11-18 14:19:47 +10:00
Stenzek
6c1b98e46a
GPU/SW: Fix 256-bit AVX2 path 2024-11-18 14:19:47 +10:00
Stenzek
ed78a20ea7
FullscreenUI: More icon replacements 2024-11-17 13:23:03 +10:00
Stenzek
574f12759c
FullscreenUI: Hide advanced settings by default 2024-11-17 13:12:45 +10:00
Stenzek
97d8a35108
GameDatabase: Fix compatibility rating localization 2024-11-17 13:04:20 +10:00
Stenzek
725530984c
FullscreenUI: Move remaining OSD settings to main page 2024-11-16 22:03:58 +10:00
Stenzek
8747101648
FullscreenUI: Fix enable state of skip dupe frames 2024-11-16 22:01:09 +10:00
Stenzek
49a6ef7aca
FullscreenUI: Add icons to remaining options 2024-11-16 21:56:32 +10:00
Stenzek
bb450d5e5f
FullscreenUI: Fix nav focus loss on input bind 2024-11-16 20:00:39 +10:00
Stenzek
d56bcfa4c8
FullscreenUI: Fix activate button stuck on input bind 2024-11-16 20:00:20 +10:00
Stenzek
3cf7a94d1e
GunCon: Allow empty/disabled crosshair 2024-11-14 00:35:45 +10:00
Stenzek
8ec9c90c82
Qt: Fix settings not applying immediately when editing profile 2024-11-14 00:35:25 +10:00
Stenzek
c2316dfdc8
InputManager: Fix relative mode engaging for gun controllers
It still needs to activate when using raw input.
2024-11-14 00:17:28 +10:00
Stenzek
babaffcce9
GPU/HW: Don't enable no-color-perspective when unsupported
i.e. GLES
2024-11-13 21:07:02 +10:00
Stenzek
5219e4f987
CDROM: Simulate real pause timing 2024-11-12 16:03:36 +10:00
Stenzek
a2af51b856
CDROM: Simulate backwards track jump after seek/pause 2024-11-12 16:03:36 +10:00
Stenzek
5f607d8c7a
CDROM: Avoid double seek on repeated Setloc+ReadS 2024-11-12 16:03:36 +10:00
Stenzek
97938a8b8c
CDROM: Improve command logging clarity 2024-11-12 16:03:36 +10:00
Stenzek
5cf2c86874
CDROM: More accurate approximation of sectors per track 2024-11-12 16:03:35 +10:00
Stenzek
365e129792
CPU: Fix puts() hook incorrect arg 2024-11-11 16:27:11 +10:00
Stenzek
6ffa5bffab
CPU: Handle mirrors of BIOS syscalls 2024-11-11 16:26:51 +10:00
Stenzek
3f41dcc97d
Log: Add option coloured variants 2024-11-11 14:04:48 +10:00
PugsyMAME
5caadec34d
Cheat bugfix and new A8 cheat type (#3328)
* Bugfix for import and entering new cheats

Added needed g_emu_thread->reloadCheats calls after the reloadList() calls on entering a new code or importing new codes.

Without it I had to import new codes and then manually edit one of them for it to show up in the cheat counts and possibly even work

* Added Cheat Type A8

Added cheat type A8 which is the byte equivalent of the A7 cheat type as there will be a need of this type.

* Changed boolean parameters in last PR

Changed boolean parameters in last PR as per discord
2024-11-11 14:01:50 +10:00
Stenzek
8611f4f438
System: Handle GPU device loss in BP-only mode 2024-11-10 15:48:41 +10:00
Stenzek
5b600789d6
GPU: Page align VRAM storage on Apple Silicon 2024-11-10 14:02:09 +10:00
Stenzek
886ef4cc59
WAVWriter: Add matching reader class 2024-11-06 13:46:48 +10:00
Stenzek
ead9e56c4d
System: Support loading ELF files 2024-11-05 17:54:12 +10:00
Stenzek
2044e35377
GPUDump: Fix unknown compression type reported with Zstandard 2024-11-05 16:21:40 +10:00
Stenzek
3952661978
GPU: Write initial rendering attributes to GPU dump 2024-11-05 16:17:49 +10:00
Stenzek
7b7dd2bef1
AnalogController: Reset state on analog->digital switch
But only when the game does not support analog mode.

Tomb Raider's game selector menu puts the controller into
configuration mode, and we're supposed to respond with a
0x00 header byte if the user switches the pad to digital
mode.

Problem is, the game itself doesn't understand this mode
switch nor configuration mode. So the status byte gets
stuck at 0x00 if the user toggles analog mode, and the
game thinks no pad is connected.

Work around this by resetting the whole state if the game
does not support analog mode.
2024-11-05 16:07:31 +10:00
Stenzek
88e14dd3ff
RegTest: Support using global data directory 2024-11-05 13:58:20 +10:00
Stenzek
8bd0e6c3f7
CPU/CodeCache: Clear blocks on system shutdown
Means we release all allocated memory on system shutdown, rather
than waiting until the next VM/system start.
2024-11-05 13:06:46 +10:00
Stenzek
ca2ed61dba
Timers: Work around possible MSVC codegen bug
Fixes very strange behaviour in games in MSVC LTCG build.
2024-11-04 23:03:51 +10:00
Stenzek
8c4d595a89
Qt: Make input source selection non-inheritable
Makes sense to set this in the profile specifically,
given it is tied to devices.
2024-11-03 20:17:56 +10:00
Stenzek
0fc719c4cf
Cheats: Simplify code merging on import
The save file already does replacement.
2024-11-03 17:38:50 +10:00
Stenzek
a8bc364a2b
Cheats: Fix importing hash-formatted codes 2024-11-03 17:38:27 +10:00
Stenzek
12acecbf36
FullscreenUI: Allow editing option range cheat values 2024-11-02 22:19:33 +10:00
Stenzek
775496af8a
FullscreenUI: Ensure each cheat option has a unique name 2024-11-02 22:19:33 +10:00
Stenzek
b4e509d090
Qt: Fix FF/turbo speed resetting in game properties 2024-11-02 21:25:47 +10:00
Stenzek
6551358212
Log: Replace channel string search with bitset
Knocks off around ~20KB of code.
2024-10-31 14:41:33 +10:00
Stenzek
afb9ab7d11
DMA: Show MADR in debug window 2024-10-31 14:28:20 +10:00
Stenzek
9cb2cabd8b
FullscreenUI: Fix footer text in save state submenu 2024-10-30 20:10:40 +10:00
Stenzek
5518199206
GPU/SW: Fix polyline culling 2024-10-30 15:28:45 +10:00
Stenzek
5bca12a840
GameDatabase: Add ForceFullBoot trait
And set it for Nightmare Creatures. Game's disc code is a nightmare.
2024-10-30 15:19:11 +10:00
Stenzek
814f22f58b
Cheats: Only apply overclock when it is not already enabled 2024-10-30 15:19:10 +10:00
Stenzek
2043128f98
System: Fix per-game fast boot applying too late 2024-10-30 15:19:10 +10:00
Stenzek
d24e8fda83
GPU/HW: Only enable fbfetch/DSB when needed
Thanks Adreno...
2024-10-30 15:19:10 +10:00
Stenzek
dadc994ba8
GPU/HW: GLSL ES compile fix 2024-10-30 15:19:10 +10:00
Stenzek
a3d55c6e30
Misc: Android build fixes 2024-10-30 15:19:10 +10:00
Stenzek
bfadd608fb
System: Add 'Task Threads'
Used for saving screenshots/GPU dumps.
2024-10-30 15:19:10 +10:00
Stenzek
53fb5cd9e1
GTE: Remove dependency on GPUDevice 2024-10-28 14:31:22 +10:00
Stenzek
d34707a377
System: Pack state in struct
Don't trust the linker...
2024-10-28 14:31:22 +10:00
Stenzek
166c930738
System: Move private functions to separate header 2024-10-28 14:31:22 +10:00
Stenzek
21d19a6297
System: Move perf counters to separate namespace 2024-10-28 14:31:22 +10:00
Stenzek
875ccecb90
System: Use frame rate for speed calculation
Instead of cycles. Makes it invariant to OC changes, and can
be managed on the (future) GPU thread.
2024-10-27 22:01:00 +10:00
Stenzek
99e65282f6
GPU/HW: Prefer shader over image copy if not dirty 2024-10-27 15:35:19 +10:00
Stenzek
2c57817803
System: Invalidate display on debug window change
Fixes these windows displaying black if the VM is paused.
2024-10-27 15:15:20 +10:00
Stenzek
c6b74684de
GPU/HW: Split shaders into resolution independent/dependent
Avoids recompiling everything on resolution change.
2024-10-27 15:15:20 +10:00
Stenzek
6cf8ac340b
GPU/HW: Make copy/write shaders resolution independent 2024-10-27 15:15:20 +10:00
Stenzek
aa0c0068ce
GPU/HW: Move shadergen parameters to functions 2024-10-27 13:50:47 +10:00
Stenzek
1d21ca61e7
Cheats: Allow hex literal in option ranges 2024-10-27 12:32:41 +10:00
Stenzek
218df625df
Cheats: Fix crash on parsing invalid cheat 2024-10-27 12:32:41 +10:00
KamFretoZ
24f15acf6c
BPM: Adjust Hotkey And Button Legends (#3323) 2024-10-26 20:34:32 +10:00
Stenzek
8def5b5d0a
GameDB: Allow user to choose different mode for ForceDeinterlacing 2024-10-26 16:15:58 +10:00
Stenzek
7782bb9845
CDROM: Fix lockup when loading state with precaching 2024-10-26 02:14:59 +10:00
Stenzek
1ae2dcf192
GPU: Propagate initialization error to caller
Avoids double error popup.
2024-10-26 01:41:29 +10:00
Stenzek
6af71beed5
GPU: Work around nearest sampling issues on AMD
Fixes one-line flickering display in some games.
2024-10-26 01:40:44 +10:00
Stenzek
b92eeec962
System: Warning fix 2024-10-25 20:45:11 +10:00
Stenzek
080807e557
CDROM: Move subchannel replacement from CDImage
This will allow you to use SBI/LSD files with real discs, if your
drive does not support reading subchannels, or has an incorrect
skew.
2024-10-25 15:35:12 +10:00
Stenzek
cdd230c040
ImGuiOverlays: Fix input overlay glyph clipping 2024-10-25 12:45:50 +10:00
Stenzek
903213c818
Hotkeys: Add hotkey to open cheat settings 2024-10-25 12:45:29 +10:00
Stenzek
7d2216c289
GameList: Avoid double fopen/read of EXEs 2024-10-23 21:20:28 +10:00
Stenzek
2d04f2eff9
System: Support loading .CPE files 2024-10-23 21:08:17 +10:00
Stenzek
a8d846ac8f
Cheats: Use libzip for reading archive 2024-10-22 21:25:27 +10:00
Stenzek
4963dc1759
Host: Make resource routines fill error object 2024-10-22 20:41:33 +10:00
Stenzek
485f81a02f
GPUDump: Support XZ compression 2024-10-22 19:40:03 +10:00
Stenzek
164c043e1b
InputManager: Add pressure/deadzone to macros
Arguably less useful than on the PS2, but is still applicable
to the left/right analog sticks.
2024-10-22 19:39:56 +10:00
Stenzek
396e7d994a
System: Make global safe mode always take precedence 2024-10-22 01:11:31 +10:00
Stenzek
c11b250efe
Cheats: Search archives with disc set serials
That way the list is auto-populated for all discs.
2024-10-21 20:25:07 +10:00
Stenzek
32e62725dd
Pad: Implement RX/TX IRQs 2024-10-21 00:38:05 +10:00
Stenzek
6e1d8c5213
Qt: Fix settings clear not resetting input profile 2024-10-21 00:29:54 +10:00
Stenzek
a9bfe2642f
System: Simplify error path in BootSystem() 2024-10-21 00:18:12 +10:00
Stenzek
b62e58776e
System: Fix GPU usage disappearing on renderer change 2024-10-21 00:12:20 +10:00
Stenzek
05c285f760
Settings: Fix cheats/patches not being removed on clear 2024-10-21 00:08:56 +10:00
Stenzek
c250209336
System: Fix input profiles inheriting base settings 2024-10-21 00:05:32 +10:00
Stenzek
0d3501d435
Misc: Pass SettingsInterface by const reference 2024-10-20 23:59:47 +10:00
Stenzek
825dd13c6b
GameDatabase: Fix crash with deinterlacing mode 2024-10-20 23:21:39 +10:00
Stenzek
4ab22921c4
GPUDump: Add GPU dump recording and playback
Implements the specification from:

https://github.com/ps1dev/standards/blob/main/GPUDUMP.md
2024-10-20 22:02:24 +10:00
Stenzek
428c3e3426
Host: Fix error when switching to surfaceless 2024-10-20 22:02:22 +10:00
Stenzek
056b629837
ImGuiManager: Add 'Screen Margins' (i.e. safe zone) 2024-10-20 13:17:22 +10:00
Stenzek
e0bc03b525
Controller: Fix localization with new types 2024-10-20 12:55:10 +10:00
Stenzek
6cc350a459
Cheats: Serialize access to zips
Prevents the UI thread from trashing the zip struct while the
emulation thread is also reading.
2024-10-20 12:43:11 +10:00
Stenzek
163cb2f653
MemoryScanner: Fix default operator value 2024-10-19 22:51:52 +10:00
Stenzek
43ed92415d
GPU/HW: Fix assert triggering in debug mode 2024-10-19 17:05:06 +10:00
Stenzek
9050098e3e
GameDatabase: Rework deinterlace mode selection
The mode can either be preferred (if the user has not chosen
progressive), or force (ignore user's choice).

Also remove it from a bunch of games which apparently no longer
need it? Very strange...
2024-10-19 17:02:22 +10:00
Stenzek
e4a358cacb
Controller: Add Pop'n and Densha De Go Controllers
Variants of digital controller with different buttons grounded.
2024-10-19 16:23:01 +10:00
Stenzek
49134efe4e
Settings: Fix PGXP suboptions getting disabled
Regression from 005d48a387b24b2e65056b96cf8fabce19662911
2024-10-19 13:01:05 +10:00
Stenzek
76208f5f2d
System: Display localized trait names 2024-10-19 01:16:05 +10:00
Stenzek
57cf0f2643
System: Reload cheats/patches on safe mode toggle 2024-10-19 01:13:32 +10:00
Stenzek
baa9065d2e
System: Add taints to save states
This informs the user they are loading a save state that at some point
had potentially-game-breaking options enabled, and a reset is necessary
to clear them.
2024-10-19 01:13:32 +10:00
Stenzek
50d8bb091f
MemoryCard: Add RenameFile() and localize errors 2024-10-19 00:03:07 +10:00
Stenzek
86a28d5dc0
ImGuiOverlays: Move debug state to auxiliary windows 2024-10-18 20:48:30 +10:00
Stenzek
eb46142ee7
GPUDevice: Extract swap chain to separate class 2024-10-18 20:48:29 +10:00
Stenzek
005d48a387
System: Don't display setting warnings without game 2024-10-18 20:48:29 +10:00
Stenzek
e2cb54d233
Settings: Use uint getter/setter for more fields 2024-10-18 20:48:29 +10:00
Stenzek
d4f3e004cf
Host: Add missing SetBaseUIntSettingValue() 2024-10-18 20:48:29 +10:00
Stenzek
219e890da5
GPU/HW: Write through VRAM transfers
Reduces the chances of rendering nothing after device loss.
2024-10-14 18:20:48 +10:00
Stenzek
11c212260c
System: Only check controller changes when valid 2024-10-14 12:46:54 +10:00
Stenzek
4a57ccc3e8
Cheats: Strip leading * when importing old files 2024-10-14 12:44:23 +10:00
Stenzek
b3ae9cbe4a
Qt: Swap compatibility star image to SVG
Images originally provided by KamFretoZ, adjusted to better fit the
column width.
2024-10-13 17:08:56 +10:00
Stenzek
e0b6f6f1b2
Cheats: Rewrite cheat management system 2024-10-13 16:43:22 +10:00
Stenzek
d8fef6f22e
GameDatabase: Store strings as views
Saves duplicating everything in memory, and a ton of heap allocations.
2024-10-13 16:43:22 +10:00
Stenzek
6e26ba3e9e
Qt: Display language flags instead of region 2024-10-12 16:49:07 +10:00
Stenzek
ba0708a4ff
GameDatabase: Add parsing of Language field
Also speed up lookups through binary search.
2024-10-12 16:23:47 +10:00
Stenzek
83a1386d0b
FullscreenUI: Collapse macro button settings by default 2024-10-11 21:40:35 +10:00
Stenzek
407dccb1db
Qt: Move GDB server enable to advanced options
And expose the port as a setting.
2024-10-11 21:26:06 +10:00
Stenzek
26b6c704f0
MemMap: Support dynamic page size selection
i.e. 4K to 16K on ARM64.
2024-10-05 19:25:23 +10:00
Stenzek
0c2ab82252
System: Fix no-disc startup in later versions 2024-10-11 16:54:46 +10:00
Stenzek
32e96b02ca
FullscreenUI: Various fixes
- Fix mismatched X/Y in landing page.
- Fix mismatched X/Y submenus.
- Fix window padding on save state submenu.
- Fix pressing back/close on save state submenu closing list.
2024-10-07 12:51:27 +10:00
Stenzek
3fb5fb4c72
System: Fix saving of subimage index 2024-10-06 18:06:51 +10:00
Stenzek
c9f7ef5f9a
System: Fix reset when booting EXE 2024-10-06 13:36:46 +10:00
Stenzek
80971dac5a
AnalogController: Allow negative vibration bias 2024-10-05 16:07:33 +10:00
Stenzek
08bdffac64
GPU/HW: Fix toggling texture replacement settings 2024-10-05 13:50:36 +10:00
Stenzek
71bb953253
GPU/HW: Handle redundant texture window updates
Significantly reduces draw count in THPS2.

~150 draw calls per frame to ~70.
2024-10-05 13:06:45 +10:00
Stenzek
52389f48a6
GPU/HW: Fix force-round-coords with texture cache 2024-10-05 13:06:43 +10:00
Stenzek
2f331540b1
BIOS: Fix OpenBIOS initializer 2024-10-05 12:18:46 +10:00
Stenzek
a83b642a2d
Settings: Disable texture cache in safe mode 2024-10-04 14:49:42 +10:00
Stenzek
c740fd9e11
GPU/TextureCache: Disable bilinear page upscaling by default
And fix it.
2024-10-04 14:48:10 +10:00
Stenzek
887d588029
System: Further improve fastboot behaviour
Use fastboot when slowboot will fail.
2024-10-04 14:48:05 +10:00
Stenzek
4d5e0b6c54
Settings: Don't create dumps/audio in userdir
Was replaced by media capture.
2024-10-01 23:06:34 +10:00
Stenzek
7e72b9fb7b
GPU/TextureCache: Fix palette reduction in C4 mode
It was only looking at the first row...
2024-10-01 23:01:19 +10:00
Stenzek
51fefb36a0
System: Fix crash when toggling SW with interpreter 2024-10-01 22:41:01 +10:00
Stenzek
0730a361a3
GPU/HW: Fix batch shader compiling with GLSL ES 2024-10-01 21:14:58 +10:00
Stenzek
45c8f6ea56
BIOS: Make GetInfoForHash() public
And it should take a const span.
2024-10-01 21:14:43 +10:00
Stenzek
07f410bc6a
Achievements: Mirror whacky rcheevos header handling 2024-09-29 20:38:46 +10:00
Stenzek
6dc4fa5c75
CDROM: Physical => SubQ in variables
Better describes what it actually is.
2024-09-29 18:01:44 +10:00
Stenzek
060146a37a
CDROM: Add SubQ Skew option
Fixes corrupted boss sprites in Captain Commando.

One day I'll refactor things to fix this properly.
2024-09-29 17:11:52 +10:00
Stenzek
3081c4f5cd
Qt: Fix disabling of some texture dumping options 2024-09-29 16:19:20 +10:00
Stenzek
73fd97e770
GPUTextureCache: Fix reload replacements hotkey/menu action 2024-09-29 16:13:31 +10:00
Stenzek
d32143b319
ImGuiOverlays: Make escape close save state selector 2024-09-29 15:29:40 +10:00
Stenzek
e06f1f1002
GPU: Add hardware texture cache 2024-09-29 13:37:47 +10:00
Stenzek
4132b5ef3d
Settings: Remove 'Increase Timer Resolution' option
It's no longer needed since I switched to high-resolution waitable
timers, which are supported on Win10 1803+.
2024-09-28 23:50:44 +10:00
Stenzek
7d8ae9aa11
Packaging: Add SPEC and PKGBUILD 2024-09-28 22:07:14 +10:00
Stenzek
ca6b99401b
Common: Build fix when compiling with AVX2 march 2024-09-28 19:43:23 +10:00
Stenzek
036e11f7a8
Qt: Remove unused variable 2024-09-27 22:48:43 +10:00
Stenzek
615781be39
GPUBackend: Don't rely on g_settings 2024-09-27 20:59:04 +10:00
Stenzek
4e880280bd
Qt: Fix inconsistent multitap addressing
And remove multiple copies of the same variables while we're at it.
2024-09-27 20:59:04 +10:00
Stenzek
5995471de6
FullscreenUI: Disable rewind options unless enabled 2024-09-26 21:54:51 +10:00
Stenzek
df8e950e6e
Qt: Rename 'Disable All Enhancements' to 'Safe Mode'
And move it to the bottom of the dialog.
2024-09-26 21:54:51 +10:00
Stenzek
29da7f7211
System: Add 'Fast Forward Boot' option 2024-09-26 21:40:48 +10:00
Stenzek
b36e2ce6be
CPU/CodeCache: Don't create a branch block with no delay slot
Can't compile that.
2024-09-26 20:55:13 +10:00
Stenzek
c46ec398dc
GPU: Move software fill/write/copy into rasterizer namespace 2024-09-26 18:30:46 +10:00
Stenzek
495a0da8d4
Pad: Pack state in struct 2024-09-26 17:54:46 +10:00
Stenzek
58dc24cb0d
CDROM: Pack state in struct
Ensures locality, as with other subsystems.
2024-09-26 17:49:35 +10:00
Stenzek
a26c3e5620
System: Add new 'Type 1B' fast boot
This saves approximately 2 seconds of boot time, as it no longer copies
the shell from ROM to RAM. The actual byte reads only take in the order
of 75ms, but because the BIOS executes the memcpy() out of uncached ROM,
the repeated instruction fetches take it up to almost 2 seconds...

It would be faster to read it from the CD-ROM...
2024-09-26 16:28:47 +10:00
Stenzek
0e4ca9cd93
CDROM: Fix CDDA playback in some obscure edge cases
e.g. Roswell Conspiracies
2024-09-26 14:05:34 +10:00
Stenzek
4d74b203af
System: Don't try to read SYSTEM.CNF from Audio CD 2024-09-26 13:39:01 +10:00
Stenzek
991927151c
ImGuiOverlays: Fix scrolling offscreen with no-serial 2024-09-26 13:38:57 +10:00
Stenzek
fd8f97f4d3
GPU/HW: Fix adaptive downsampling
Also rewrite shaders to improve blurring around edges of 3D objects
(e.g. FF7).

As a trade-off, the background does blur slightly less, but (imo)
it looks better overall, since you'll notice the foreground being
blurred much more than the background.
2024-09-26 13:25:53 +10:00
Stenzek
114effd9a1
CDROM: Simulate backwards 1T jump on short seeks
Fixes hangs in LMA Manager, Nightmare Creatures PAL with Interpreter.
2024-09-25 01:37:07 +10:00
Stenzek
3808217298
SPU: Handle ignore loop address with IRQs on
This was actually the issue with World Cup 98, not anything to do with
disc timing. Which makes more sense.

Game has IRQs enabled, but because it wasn't keyed on, the condition
never held true, therefore the new repeat address was immediately
overwritten.
2024-09-25 01:37:07 +10:00
Stenzek
bfc914aaa9
CMake: Add DISABLE_SSE4 option
NOT recommended. Only if you ABSOLUTELY need it.

The SSE2/legacy build will be a separate download option, and
warn you if you try to run it on a CPU that supports SSE4.
2024-09-23 20:27:58 +10:00
Stenzek
d67b826033
CI/Flatpak: Improve install behaviour
Use "standard" install path.
2024-09-23 19:21:14 +10:00
Stenzek
bb3d27f153
GPU/SW: Drop dithering function specialization
Reduces the code size by roughly half, which may be beneficial on
icache-starved processors.

Also fixes too-bright values being fed into the blending equation.
2024-09-23 01:01:07 +10:00
Stenzek
23ec40d032
Settings: Set log level to none if no sinks enabled 2024-09-23 00:26:48 +10:00
Stenzek
c439de6364
Common: SSE2 backsupport for vector classes
shuffle8() sucks, the rest aren't _too_ bad.
2024-09-22 21:06:05 +10:00
Stenzek
e1c876671a
Misc: More iNN => sNN 2024-09-22 21:06:05 +10:00
Stenzek
986e207cff
GPU/HW: Make batch shaders independent on resolution
Almost a 6x reduction in *compressed* shader cache size.
2024-09-22 21:06:05 +10:00
Stenzek
f9941c3f68
GPU/HW: Reduce shader dependence on global constants
Step 1 of making resolution-independent shaders.
2024-09-22 21:06:05 +10:00
Stenzek
f169b892c1
GPU: Defer frame done if not running events
Prevents interruption/execution exiting if the frame was ticked over
by a MMIO access, e.g. reading GPUSTAT.
2024-09-22 21:06:05 +10:00
PugsyMAME
88bc3a2278
Fixed typo in F4 Cheat Type code (#3300)
Typo in my code, this fix will make it work properly on multiple find & replaces.
2024-09-22 21:05:44 +10:00
Stenzek
3dca598063
Log: Switch to enum class
Need to change the channel to a bitset too.. the string lookups are
horribly slow, and conflict when one is a prefix of another.
2024-09-21 22:26:06 +10:00
Stenzek
88381209b3
System: Fix crash when disabling runahead 2024-09-21 22:26:06 +10:00
Stenzek
1754ecf4f9
SPU: Get rid of second output stream 2024-09-21 22:26:05 +10:00
Stenzek
df17528b18
Qt: Move threaded rendering toggle to Debug tab
Frees up some space.
2024-09-21 22:26:05 +10:00
Stenzek
54e5d93165
GPU/SW: Enable SIMD path and make default 2024-09-21 22:26:05 +10:00
Stenzek
19698559c3
System: Drop IPC server
The one group using it switched to shared memory exports anyway.
2024-09-21 22:26:05 +10:00
Stenzek
ac8461a28b
System: Fix bogus SW thread CPU in OSD 2024-09-21 22:26:05 +10:00
Stenzek
e617f17294
System: Set GPU timing enable on init/destroy
It's really unrelated to the guest GPU.
2024-09-21 22:26:05 +10:00
Stenzek
e7aa0495ab
System: Not all setting changes need to interrupt 2024-09-21 22:26:05 +10:00
Stenzek
40670726b4
GPU/SW: Fix SSE4 path and add 256-bit AVX2 path 2024-09-21 22:26:05 +10:00
Stenzek
a7747c5be3
Common: Add 256-bit integer vector wrapper 2024-09-21 22:26:05 +10:00
Stenzek
5f80cb1188
GPU/HW: Fix inaccurate shader progress counter 2024-09-21 22:26:05 +10:00
Stenzek
b5df06a54a
GPU/HW: Rewrite automatic internal resolution selection
Make it aspect ratio aware, as well as updating when/if the game changes
resolution. Also include the padding area in the OSD/status resolution.
2024-09-21 22:26:05 +10:00
Stenzek
e056bcb5ff
AudioStream: Fix incorrect padding 2024-09-21 22:26:05 +10:00
Stenzek
0538b95d9b
GPU/HW: Reduce number of shaders/pipelines in default config
~3x speedup in shader compile time on a cold cache.
2024-09-19 22:18:58 +10:00
Stenzek
292c1e0f06
Misc: Normalize OSD message keys 2024-09-18 22:35:50 +10:00
Stenzek
401295ebdb
Common: Allow PRINTFLIKE to work on Clang
And thus clang-cl.
2024-09-18 21:31:06 +10:00
Stenzek
8ba85d62dc
Pad: Fix stuck inputs after loading mismatched state pad type 2024-09-18 21:21:57 +10:00
Stenzek
8b67ed8536
CPU: Display loadstore offsets in hex
Also add 0x prefix to logical immediate operands, since it is printed
in hex, and normalize arithmetic operands.
2024-09-15 17:29:33 +10:00
Stenzek
8fa406061a
CPU: Add SetBreakpointEnabled() 2024-09-15 17:15:38 +10:00
PugsyMAME
b5768266bb
Quality of Life changes to breakpoints (#3297)
1. Made it so that breakpoints are checked for a match on 28 bits rather than the full 32 bits. It's much simpler to use 12345 rather than 80012345 and risk getting the number of zeros wrong and also handles the mirror code/memory accesses using 00??????, 80?????? & A0??????.
2. Added bp.hit_count update to execution breakpoints.
3. Changed the Hit breakpoint message at the bottom of the debugger screen to include the hit count [see notes later].
4. Added bp.enabled check to the execution breakpoint (it uses it in the r/w breakpoints code already) [see notes later].

Notes:
3. I've added the hit count to the message as it's quicker to spot but it's also a partial workaround as the Hit Count in the Breakpoints tab doesn't seem to get refreshed.
       4. I thought the checkbox in the Breakpoints tab would set the bp.enabled but it seems it has no affect on any type of breakpoint. The only way to stop a breakpoint is to delete it.
2024-09-15 07:17:08 +01:00
Stenzek
e03deb4928
System: Set realtime constraints on MacOS
Significantly improves frame timing/pacing, now it is a
flat line on my 2023 MBP like other platforms.
2024-09-13 20:23:57 +10:00
Stenzek
6f31e562a0
MetalDevice: Implement timed present 2024-09-13 15:19:29 +10:00
Stenzek
f2720b98dd
System: Reduce force-displayed-warning scope
Please don't make me regret this.
2024-09-10 23:53:39 +10:00
KamFretoZ
065beff2da
Qt: Rename NeGcon Rumble controller name 2024-09-10 19:59:41 +07:00
Stenzek
20b4581bbe
Settings: Remove second source of truth for OSD notifications
And split it into warnings/messages. Warnings are always displayed
regardless of the "Show OSD Messages" setting, because they're critical
and users forget they disable messages.
2024-09-10 22:10:42 +10:00
Stenzek
2813b4bece
Achievements: Open profile on leaderboard selection 2024-09-09 22:10:06 +10:00
Stenzek
891d5cefbe
ImGuiFullscreen: Allow smooth scrolling 2024-09-09 21:57:08 +10:00
Stenzek
e93dea5ad8
SPU: Connect 0x1F801DB8/0x1F801DBA writes
But I'm not aware of any games that actually use this, and if there is a
sweep active, it will be soon overwritten anyway.
2024-09-09 21:04:47 +10:00
Stenzek
d1770b616f
Settings: Default console logging to running from TTY 2024-09-09 20:55:15 +10:00
Stenzek
e2a3fe14f0
Cheats: Prevent inlining of memory functions
Clang is way too eager here and inlines the whole thing hundreds of
times within CheatList::Apply().
2024-09-09 18:53:51 +10:00
Stenzek
4c31218d2b
GPUDevice: Add API version field
Also tie shader caches to API version and device LUID. That way we don't
have tons of cache files, and they're regenerated if the GPU/driver
changes.
2024-09-08 23:33:05 +10:00
Stenzek
3078339f64
Common: Extract out ryml helpers 2024-09-09 00:35:31 +10:00
Stenzek
1d83e72887
Achievements: Fix incorrect plural string 2024-09-08 11:51:31 +10:00
Stenzek
1956575710
Cheats: Fix detection of ungrouped cheat import 2024-09-08 11:49:59 +10:00
Stenzek
32a3311208
System: Add option to automatically resize window 2024-09-07 22:05:54 +10:00
Stenzek
940cc636d6
GPU: Fix internal res screenshot AR with None cropping 2024-09-07 20:19:28 +10:00
Stenzek
47a3cd44f3
CDROM: Support reading MODE1 sectors 2024-09-07 16:05:53 +10:00
Stenzek
ac5a2a153a
GPUDevice: Remove BeginPresent() skip parameter
It wasn't used - System does its own present skipping.
2024-09-07 12:53:55 +10:00
Stenzek
4b0c1fdbf2
GPUDevice: Add recovery from lost device 2024-09-07 12:48:44 +10:00
Stenzek
1c1b82ed66
GPUDevice: Purge threaded presentation
Worse frame pacing, and GPU thread (when I finish it) will give
significantly faster performance on mobile anyway.
2024-09-07 12:15:42 +10:00
Mrlinkwii
95185b7308
FSUI : some misc fixes (#3291)
FullscreenUI: Some misc fixes
2024-09-06 13:55:17 +01:00
Stenzek
2e080d4998
Qt: Add edit function to debugger memory view 2024-09-06 22:48:50 +10:00
Stenzek
ab1c85790c
CPU: Refactor execution mode switching
Fixes single step breaking in branch delay slots with recompiler.
Simplifies initialization.
Removes multiple sources of truth for fastmem.
2024-09-06 20:00:30 +10:00
spacepaw
5b4d625d23
Add *.psx as a supported PS-X EXE file type (#3290) 2024-09-06 09:33:19 +02:00
Stenzek
0458dfe8be
MemoryCard: Don't display message for empty card 2024-09-03 21:49:51 +10:00
Stenzek
a7d8e6d018
Host: Add disambiguation variants for translations 2024-09-03 21:39:00 +10:00
Stenzek
87eded4bce
FileSystem: Fix FD leak with atomic updated file on Linux
Also add the ability to explicitly commit and check for errors.
2024-09-03 20:43:10 +10:00
Stenzek
1eb1b03141
MemoryCard: Defer creation of card until first save
Also do not overwrite the card if it failed to load.
2024-09-03 20:13:03 +10:00
Stenzek
1446e3035f
Settings: Make Disable Interlacing a Deinterlacing mode
Saving that precious vertical space.
2024-09-03 20:02:01 +10:00
Stenzek
94911abdca
System: Display disabled enhancements in safe mode 2024-09-03 19:29:59 +10:00
Stenzek
f9a594058f
Settings: Force Frame Timings => Force Video Timing
Also drop from GameDB, an override doesn't make sense here anyway,
due to the low success rate with the enhancement.
2024-09-03 19:06:26 +10:00
Stenzek
6d0f92d4fb
dep/fmt: Bump to v11.0.2 2024-09-03 17:54:43 +10:00
Stenzek
6a3b1a2725
MDEC: Vectorize 16 and 24-bit copy-out
Speedup of 15% and 6% in FMV playback respectively.
2024-09-02 17:57:26 +10:00
spacepaw
63abdb7afd
Reworked the "Force NTSC Timings" feature to support both NTSC and PAL frame timings (#3287) 2024-09-03 10:50:45 +02:00
Stenzek
164a353352
System: Fix possible race condition in presence update 2024-09-02 12:12:41 +10:00
KamFretoZ
b564f928bd
DiscordRPC: Add Rcheevos Icon Support (#3286) 2024-09-01 22:02:28 +07:00
Stenzek
51cfea49fe
ImGuiManager: Split OSD and debug window fonts
Fixes the latter not fitting on screen anymore.
2024-09-02 00:27:48 +10:00
Stenzek
5ed8af4236
Achievements: Shrink URL buffer sizes
They never end up being 512 bytes.
2024-09-01 23:51:16 +10:00
Stenzek
7f4e5d55db
Misc: Update copyright headers 2024-09-01 22:08:31 +10:00
Stenzek
aa955b8ae2
GPU/SW: Split out rasterizer, add dynamic selection 2023-12-23 20:38:41 +10:00
Stenzek
3fbdcdb4ff
AudioStream: Rewrite and integrate expander 2024-09-01 13:16:10 +10:00
Stenzek
b84d3f14fc
SPU: Vectorize reverb resampling 2024-08-31 17:30:25 +10:00
Stenzek
cdba1fe25a
Common: Rename iNN -> sNN 2024-08-31 14:38:20 +10:00
Stenzek
7df5764835
Data: Remove license-incompatible shaders 2024-09-01 20:01:34 +10:00
Stenzek
63c7f4a893
GPU/HW: Fix assert with accurate blending + true colour on 2024-08-27 23:46:34 +10:00
Stenzek
d651c9f477
GameList: Support excluding disc sets 2024-08-26 21:42:35 +10:00
Stenzek
f243dc075d
Host: Use CompressHelpers for ReadCompressedResourceFile() 2024-08-26 21:33:00 +10:00
Stenzek
2c27b20090
ImGuiManager: Remove unused function 2024-08-26 18:53:30 +10:00
Stenzek
63bf64b05d
ImGuiOverlays: Use actual recording icon 2024-08-26 18:55:15 +10:00
Stenzek
940200f7f3
FullscreenUI: More animation fixes 2024-08-26 17:56:47 +10:00
Stenzek
46a6681159
CDROM: Fix incorrect clamp with seek speedup
And bump the minimum time up around 0.29ms or so, hopefully improve
stability in FF7.
2024-08-26 16:45:23 +10:00
Stenzek
344a4a6215
FullscreenUI: Navigation improvements
Improve default item focus, eliminate some animation glitches.
2024-08-26 15:47:50 +10:00