Commit Graph

2563 Commits

Author SHA1 Message Date
Stenzek
de1a1af908 FullscreenUI: Avoid per-frame memory allocations with SmallString 2024-04-09 19:54:25 +10:00
Stenzek
631fca3042 SettingsInterface: Add SmallString overloads 2024-04-09 19:54:25 +10:00
Stenzek
71f50566f3 System: Consider pending ticks when using global ticks 2024-04-07 19:01:48 +10:00
Stenzek
8a1b4d8bee DMA: Halt linked list transfers during pad transfer
Plenty of games seem to suffer from this issue where they have a linked list
DMA going while polling the controller. Having a large slice size causes the
serial transfer to complete before the silly busy wait in the BIOS poll routine
returns, resulting in it thinking that the controller is disconnected. Some
games are very sensitive to this (e.g. Newman Haas Racing), to the point that
even using a slice size of 1 is insufficient for avoiding the race, probably
due to the linked list layout.

Therefore, without major refactoring to ensure the CPU runs every DMA block,
and the associated performance penalty, we just halt the DMA until the serial
transfers have completed. To reduce the chances of this significantly affecting
timing, we add accumulate the ticks that have been "lost", and allow them to be
"used up" when the transfer does happen.
2024-04-07 18:55:03 +10:00
Stenzek
8bdeb8bdac MemoryCardImage: Handle 128KB GME files 2024-04-07 17:06:42 +10:00
Stenzek
1ee5f737ed MemoryCardImage: Report errors to caller 2024-04-07 13:23:00 +10:00
Stenzek
99b0fb5911 GPU/HW: Move pipelines to end of struct
Helps keep the rest in range for ARM32's 4K displacement.
2024-04-06 21:51:52 +10:00
Stenzek
1097eab600 GPU/HW: Don't create shader blend pipelines if disallowed 2024-04-04 13:25:33 +10:00
Stenzek
c2a08bdb1d CPU/NewRec: Fix ARM32 (again) 2024-04-04 13:25:33 +10:00
Stenzek
a432308908 GPU: Fix GLES compile error 2024-04-04 13:25:33 +10:00
Stenzek
cb6be52404 GameDatabase: Warn if CPU mode is enabled and unnecessary 2024-04-03 22:58:20 +10:00
Stenzek
74f3c8d1aa GPU/HW: Enable feedback loops for rendering 2024-04-01 18:12:52 +10:00
Stenzek
72ab669e70 GPUDevice: Add support for feedback loops 2024-04-01 13:55:19 +10:00
Stenzek
71a07a5a8e CPU/NewRec: Fix lwl/lwr on ARM 2024-03-31 23:49:40 +10:00
Stenzek
3ecc19c43f GPU: Fix HW readback counter 2024-03-31 14:02:44 +10:00
Stenzek
8ebda3cdc8 CPU/NewRec: Fix register corruption in swl/swr 2024-03-31 13:55:19 +10:00
Stenzek
a3013efbca CPU/NewRec: Fix PGXP desync
Wobbly geometry in Threads of Fate.
2024-03-30 00:46:38 +10:00
Stenzek
f9f9447013 SPU: Ignore End+Mute flag for noise channels
Fixes the noise effects cutting out too early in Motor Toon Grand Prix.
2024-03-29 15:08:14 +10:00
Stenzek
2b7008bd93 GPU/HW: Fix box downsampling with FMVs 2024-03-29 12:37:10 +10:00
Stenzek
c41563c7dc Pad: Fix unconditional memory card replug on load state 2024-03-29 12:34:42 +10:00
Stenzek
e54ad1956a GPU/HW: Fix height incorrect doubling in interleaved 480i mode 2024-03-29 12:17:13 +10:00
Stenzek
de1e5b24fb CDROM: Don't send reports when subq isn't valid 2024-03-26 01:20:33 +10:00
Stenzek
83ebad1129 System: Leave title empty when booting physical audio CDs 2024-03-25 23:24:41 +10:00
Stenzek
7b8704aba1 System: Fix incorrect sanitization of memcard filenames 2024-03-25 23:24:41 +10:00
Stenzek
480c78502f System: Fix crash toggling debug GPU device
When postfx is enabled.
2024-03-24 22:32:44 +10:00
Stenzek
43fc9f1ef2 Settings: Support saving WebP screenshots 2024-03-24 16:03:00 +10:00
Stenzek
b143d96476 Build: Use deps DLLs on Windows 2024-03-24 16:02:59 +10:00
Stenzek
8c09e9389d GameDB: Add DisablePGXPPreserveProjFP trait
And add it to Crash Team Racing.
2024-03-23 14:11:28 +10:00
Stenzek
604dd5df40 Qt: Add copy/clear game settings 2024-03-21 00:50:57 +10:00
Stenzek
3085172ffd FullscreenUI: Update translation strings 2024-03-20 22:48:23 +10:00
Stenzek
9703542775 AudioStream: Re-add SDL backend 2024-03-20 22:46:20 +10:00
Stenzek
e70f0e1bc1 GPU/HW: Use texelFetch() instead of sampler 2024-03-20 21:56:20 +10:00
Stenzek
a4a58c6ba2 SPU: Implement volume sweep phase inversion 2024-03-20 21:55:55 +10:00
Stenzek
2003c9452b DMA: Properly handle bus errors and DICR transitions 2024-03-18 02:07:42 +10:00
Stenzek
fa6850902a CPU: Make interrupts actually edge-triggered 2024-03-18 01:46:19 +10:00
Stenzek
e755e15c69 GPU: Fix GLSL compile error 2024-03-17 00:07:18 +10:00
Stenzek
1ab7850ed0 GPU: Rewrite deinterlacing and add adaptive/blend modes 2024-03-16 14:14:15 +10:00
Stenzek
43eb6e20fa System: Improve screenshot naming 2024-03-16 14:14:15 +10:00
Stenzek
6aa491f863 GPU: Ensure screenshots are saved before shutdown 2024-03-16 14:14:15 +10:00
Stenzek
9211d9f2e3 Path: Add CreateFileURL() 2024-03-16 14:10:35 +10:00
Stenzek
d1a1cab9a9 Bus: Direct KUSEG+KSEG0 isolated cache reads to ICache 2024-03-13 14:14:40 +10:00
Stenzek
3395853ba2 CDROM: Fix overflow in UpdatePositionWhileSeeking() 2024-03-13 14:14:40 +10:00
Stenzek
8fe86ff690 GPU/HW: Fix another buffer unmapping case 2024-03-08 21:16:00 +10:00
Stenzek
7159330f63 GPU/HW: Ensure buffers are unmapped before present
Darn DX11...
2024-03-08 13:43:22 +10:00
Stenzek
25db163347 System: Fix incorrect save state screenshot size 2024-03-08 04:12:50 +10:00
Stenzek
c854b8f85e Image: Swap stb for libpng/libjpeg 2024-03-07 00:02:35 +10:00
Stenzek
250b1bea8f GPU: Use Image class for screenshot saving 2024-03-06 23:55:18 +10:00
Stenzek
620d08f72d Build: Move Image from common to util 2024-03-06 16:09:21 +10:00
Stenzek
f80ead6a21 GameDB: More settings 2024-03-05 00:02:22 +10:00
Stenzek
e2024f6175 System: Change "Auto Load Cheats" to "Enable Cheats" 2024-03-03 14:03:07 +10:00