Commit Graph
100 Commits
Author SHA1 Message Date
Stenzek 6b7cf6a432 SmallString: Add missing methods 2024-04-09 19:54:25 +10:00
Stenzek be342ff592 CI: Fix incorrect flatpak cache key 2024-04-07 19:25:27 +10:00
Stenzek 71f50566f3 System: Consider pending ticks when using global ticks 2024-04-07 19:01:48 +10:00
Stenzek 1782151a7a GameDB: PGXP-CPU for Newman Haas Racing 2024-04-07 19:01:09 +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 9dd686a994 ByteStream: Add error feedback 2024-04-07 13:10:34 +10:00
Stenzek f4584f48f9 dep/imgui: Disable windowing key 2024-04-06 21:51:52 +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 69f79c3a4f Deps: Speed up shaderc build
Mainly for flatpak...
2024-04-06 00:12:16 +10:00
Stenzek d9b1d39638 Updater: Add missing CoInitializeEx() call 2024-04-05 20:02:39 +10:00
Stenzek d8bf0c81a7 Updater: Use IFileOperation 2024-04-05 19:26:12 +10:00
Stenzek 26c76d184f Qt: Fix toolbar position not saving 2024-04-05 19:21:56 +10:00
Connor McLaughlin 26979f5569 Docs: Add Fedora package names to README.md 2024-04-05 17:57:31 +10:00
Stenzek 52f1686520 Deps: Remove glslang 2024-04-05 17:53:24 +10:00
Stenzek 98241cb6ba GPUDevice: Swap out glslang for shaderc 2024-04-05 17:53:24 +10:00
Stenzek e245884d16 Deps: Build shaderc 2024-04-05 17:53:24 +10:00
Stenzek 69c9133cd4 Common: Fix double free on opening invalid zip file 2024-04-05 17:23:29 +10:00
Stenzek bdafbe0b28 Qt: Fix crash on shutdown settings save 2024-04-05 17:23:29 +10:00
Stenzek 3d84da0ddd Docs: Update README.md 2024-04-05 17:23:28 +10:00
Stenzek ffbb14f508 dep/imgui: Use FreeType rasterizer 2024-04-05 17:23:28 +10:00
Stenzek 69588bf7a6 Deps: Include freetype/harfbuzz shared libraries 2024-04-05 17:23:28 +10:00
Stenzek 5c56d4e869 Deps: Update to Qt 6.7.0 and SDL 2.30.2 2024-04-05 17:23:28 +10:00
Stenzek 0a17cf7db8 Qt: More missing toNativeSeparators() calls 2024-04-04 16:59:52 +10:00
Stenzek 4270dd0804 GameDB: More hashes 2024-04-04 16:19:58 +10:00
Stenzek 44322a14f0 dep/imgui: Update to v1.90.4 2024-04-04 16:17:01 +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 5e05328dea GameDB: Motor Toon Grand Prix (again) 2024-04-04 13:25:33 +10:00
Stenzek e197cce832 GameDB: More PSX.EXE games 2024-04-04 11:26:29 +10:00
Stenzek 59a13d91ea Image: Don't use libjpeg stdio functions
Fixes I/O in debug builds.
2024-04-03 23:01:53 +10:00
Stenzek cb6be52404 GameDatabase: Warn if CPU mode is enabled and unnecessary 2024-04-03 22:58:20 +10:00
Stenzek bd19276cf5 Qt: Fix loading/saving state to file on Windows 2024-04-03 22:58:20 +10:00
Stenzek 59a7c3d9a8 GameDB: Various updates 2024-04-03 22:58:20 +10:00
Stenzek 41cc60e87e VulkanDevice: Use vkCmdClearAttachments() to avoid render pass restart 2024-04-01 18:12:53 +10:00
Stenzek 5ec1331831 Qt: Update glyph ranges 2024-04-01 18:12:53 +10:00
Stenzek a89c514d3f Qt: Minor typo corrections 2024-04-01 18:12:52 +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 cc5f9a12b1 dep: Update Vulkan-Headers to v1.3.279 2024-04-01 13:55:00 +10:00
Stenzek 71a07a5a8e CPU/NewRec: Fix lwl/lwr on ARM 2024-03-31 23:49:40 +10:00
Stenzek 86927ea3eb Qt: Use window modality for message boxes
Stops them opening in the middle of the screen on MacOS.
2024-03-31 23:37:49 +10:00
Stenzek f0f1473b6e Qt: Fix native message boxes on MacOS 2024-03-31 23:12:14 +10:00
Stenzek 0b99db6730 Qt: Ensure settings are writable before running setup wizard 2024-03-31 15:51:30 +10:00
Stenzek 693982d755 SettingsInterface: Add Error to Save() 2024-03-31 15:50:29 +10:00
Stenzek eb504143c1 FileSystem: Add Error to CreateDirectory()/RenamePath() 2024-03-31 15:50:13 +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 979b7bd36f FileSystem: Use PathCchCanonicalizeEx() for GetWin32Path() 2024-03-30 00:46:38 +10:00
Stenzek ab445ec69d FileSystem: Handle paths longer than MAX_PATH on Windows 2024-03-29 16:23:03 +10:00
Stenzek e5adb5452b GameDB: Motor Toon Grand Prix 2024-03-29 15:13:42 +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 d4d3518e68 CI: Enable DBus for Linux deps build 2024-03-29 13:25:30 +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 fe35542c76 D3D11Device: Add MAP_DISCARD fallback path for uniform streaming 2024-03-28 13:59:09 +10:00
Stenzek de1e5b24fb CDROM: Don't send reports when subq isn't valid 2024-03-26 01:20:33 +10:00
Stenzek 28fd6c0ea4 Qt: Expose "Ignore Drive Subcode" option 2024-03-26 01:20:33 +10:00
Stenzek 98d2d866d6 CI: Use OS zlib for MacOS
Because the updater doesn't get fixup'd, so the dylib doesn't get added
to its bundle.
2024-03-26 01:20:33 +10:00
Stenzek 3e8dd2c374 CDImageDevice: Fix reading of pure audio CDs 2024-03-25 23:24:41 +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 315524a89c VulkanDevice: Fix render pass fallback path with MRT 2024-03-24 22:32:44 +10:00
Stenzek f1847462a9 VulkanDevice: Fix rendering to multiple targets 2024-03-24 22:32:44 +10:00
Stenzek 3206054fab OpenGLDevice: Fix rendering to multiple RTs 2024-03-24 22:32:44 +10:00
Stenzek 101ebe3ac3 PostProcessing/FX: Fix GLSL compile error with discard 2024-03-24 22:32:44 +10:00
Stenzek 9cdff4781f OpenGLDevice: Fix depth clears not going through 2024-03-24 22:32:44 +10:00
Stenzek 480c78502f System: Fix crash toggling debug GPU device
When postfx is enabled.
2024-03-24 22:32:44 +10:00
Stenzek c0e6750ad3 Updater: Link zlib statically
Old builds don't know that the DLL is needed when extracting...
2024-03-24 18:46:26 +10:00
Stenzek 057c0c65a6 CI: Drop setup-python for Mac
No longer needed?
2024-03-24 16:12:34 +10:00
Stenzek b1c00cfd95 CI: Don't bother building SDL2 debug
Nobody's actually running debug DS builds except me...
2024-03-24 16:03:00 +10:00
Stenzek 43fc9f1ef2 Settings: Support saving WebP screenshots 2024-03-24 16:03:00 +10:00
Stenzek f3c0c14b2a Image: Support loading/saving WebP 2024-03-24 16:03:00 +10:00
Stenzek cd3c88ad7e deps: Remove now-unused vendored libs 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 68ff16e187 CI: Build zlib/zstd/libjpeg/libpng as part of deps 2024-03-24 15:17:09 +10:00
Stenzek 8c09e9389d GameDB: Add DisablePGXPPreserveProjFP trait
And add it to Crash Team Racing.
2024-03-23 14:11:28 +10:00
Stenzek 17e3e96789 CI: Build libwebp on Windows as part of deps 2024-03-23 13:47:10 +10:00
Stenzek 084a76afa0 CDImageDevice: Verify MSF of SUBQ before use 2024-03-23 13:46:18 +10:00
Stenzek 4d5c8cb134 Qt: Fix main window stuck open after update 2024-03-23 02:26:56 +10:00
Stenzek d96062b690 AudioStream: Fix infinite loop 2024-03-21 03:50:46 +10:00
Stenzek 2be8287edf Qt: Fix closing log window via taskbar 2024-03-21 02:01:48 +10:00
Stenzek bcc7ab71cb NoGUI: Add SDL platform 2024-03-21 01:53:44 +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 8db0fcee99 GameDB: More PGXP CPU traits 2024-03-18 02:07:42 +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 8b2b4ce8d9 Image: Fix reading of JPEG files 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