Commit Graph
100 Commits
Author SHA1 Message Date
Stenzek 8fa406061a CPU: Add SetBreakpointEnabled() 2024-09-15 17:15:38 +10:00
Stenzek 1ffd2f4149 Qt/Debugger: Improve row scrolling
Don't center the current PC unless we're going off screen, or requested
a specific address.
2024-09-14 02:07:08 +10:00
Stenzek 6d637127f2 Qt: Fix memory view colours in light themes 2024-09-14 00:44:44 +10:00
Stenzek 350cf7ee32 GPUDevice: Use suffixed shaderc libname
Avoids conflicts with other installations of shaderc, e.g. the Vulkan
SDK, which might be in the user's LD_LIBRARY_PATH.
2024-09-13 23:05:01 +10:00
Stenzek d28f0fa4e6 Qt: Enable word wrap in Settings window list 2024-09-13 21:22:48 +10:00
Stenzek e17eaf77dd ImGuiFullscreen: Disable border animation when smooth scrolling is off 2024-09-13 21:14:07 +10: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 d330dca38a MetalDevice: Use CocoaTools methods 2024-09-13 19:52:09 +10:00
Stenzek d981dc7471 MetalDevice: Implement pipeline cache 2024-09-13 19:26:44 +10:00
Stenzek ad67ab7ec3 MetalDevice: Use TranspileAndCreateShaderFromSource() 2024-09-13 17:31:59 +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
Stenzek ddcb0cb541 Misc: Warning fixes 2024-09-10 23:53:27 +10: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 6c3f33804f ImGuiFullscreen: Fix whole menu being unscrollable
If the first/last menu items were not enabled, e.g. settings pages
2024-09-09 21:37:52 +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 fe9d06a194 Qt/Debugger: Snap code view to center on goto address 2024-09-09 20:41:10 +10:00
Stenzek 936c945e73 Qt/Debugger: Highlight selection on dump address 2024-09-09 20:37:04 +10:00
Stenzek c633a6bacc Qt/Debugger: Invalidate blocks on manual memory edit
Ensures recompiler isn't executing stale code.
2024-09-09 20:19:26 +10:00
Stenzek 128d5254ca MSBuild: Disable RTTI on Windows builds
It's not used.
2024-09-09 19:22:41 +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 7bcdf11240 MediaCapture: Fix audio timestamp drift
Fixes capture lag after approximately 10 minutes.
2024-09-09 17:27:22 +10:00
Stenzek de551c1836 D3D12Device: Fix crash when using media capture 2024-09-09 17:27:10 +10:00
Stenzek 559aff0ad5 D3D12Device: Use DXC and 12.0 feature level 2024-09-09 00:23:30 +10:00
Stenzek a22acfc8a7 Deps: Include DXC and DirectX Agility SDK 2024-09-09 00:00:35 +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 c42fb7c16e GPUDevice: Support ingesting SPIR-V
Will be transpiled to HLSL -> DXBC for DirectX backends.
2024-09-08 22:11:58 +10:00
Stenzek 6a5f16d89a VulkanDevice: Handle rare case of unaligned SPIR-V 2024-09-08 21:55:51 +10:00
Stenzek 432fd80f3d PostProcessing/FX: Use SPIR-V instead of GLSL for Vulkan 2024-09-08 19:43:18 +10:00
Stenzek 86bff869bc dep/reshadefx: Update to 7bdfb03 2024-09-08 19:19:58 +10:00
Stenzek 3078339f64 Common: Extract out ryml helpers 2024-09-09 00:35:31 +10:00
Stenzek b10f043350 StringUtil: Fix typo 2024-09-09 00:35:12 +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 9d6ec23dc4 Common: Fix GSVector natvis 2024-09-07 21:53:32 +10:00
Stenzek 940cc636d6 GPU: Fix internal res screenshot AR with None cropping 2024-09-07 20:19:28 +10:00
Stenzek af777c16ff MediaCapture: Log video size 2024-09-07 20:19:07 +10:00
Stenzek 47a3cd44f3 CDROM: Support reading MODE1 sectors 2024-09-07 16:05:53 +10:00
Stenzek 1b2ff7e0e8 CDImage: Support reading MODE1 sectors 2024-09-07 16:05:43 +10:00
Stenzek 6ea2bb1810 Qt/Debugger: Auto refresh memory every 100ms 2024-09-07 13:39:14 +10:00
Stenzek 71ec59be06 Qt/Debugger: Highlight changed bytes in memory view 2024-09-07 13:19:01 +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
Stenzek c5dd48474f CI/MacOS: Don't use ninja for lunasvg 2024-09-06 22:59:21 +10:00
Stenzek 2e080d4998 Qt: Add edit function to debugger memory view 2024-09-06 22:48:50 +10:00
Stenzek 153d95982b RegTest: Compile fix 2024-09-06 22:14:29 +10:00
Stenzek 929b049bd8 Qt: Save/restore additional window positions
Cheat Manager, Memory Scanner, CPU Debugger.
2024-09-06 20:43:43 +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
Stenzek 4c59513c79 GPUDevice: Fix pipeline cache loading
(again)
2024-09-06 18:00:00 +10:00
Stenzek a074699dab Qt: Fix 'Boot and Debug' menu option 2024-09-06 17:45:59 +10:00
Stenzek 129df8410e PostProcessing/FX: Log pipeline creation error description 2024-09-03 23:28:27 +10:00
Stenzek a53dc85035 GPUDevice: Fix initial pipeline cache not being created 2024-09-03 22:45:42 +10: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 060c5553c0 INISettingsInterface: Use FileSystem atomic update routines 2024-09-03 20:43:42 +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 503004f17c Data: Note third-party codecs in AppImage FFmpeg 2024-09-03 19:17:19 +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 8274042bb1 CI/AppImage: Build shrunk ffmpeg for media capture 2024-09-02 21:55:27 +10:00
Stenzek 6d0f92d4fb dep/fmt: Bump to v11.0.2 2024-09-03 17:54:43 +10:00
Stenzek 56dac5f52a Deps: Bump SDL2 to 2.30.7 2024-09-03 17:47:20 +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
Stenzek 4c51337edd ImGuiManager: Don't rasterize full glyph range for debug font 2024-09-02 12:37:58 +10:00
Stenzek 164a353352 System: Fix possible race condition in presence update 2024-09-02 12:12:41 +10: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 0ba068e843 GameDB: Disable PGXP culling in Spyro 1
Otherwise it corrupts memory when looking through portals.
2024-09-02 00:26:12 +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 4322799201 dep/rcheevos: Don't silently truncate buffers in rc_api_init_fetch_image_request() 2024-09-01 23:50:06 +10:00
Stenzek 88ee70ef8a Misc: Remove unused files 2024-09-01 23:17:17 +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 14ab642ff3 Common: Add aligned_unique_ptr 2024-09-01 13:02:58 +10:00
Stenzek 81c9bdeeef GSVector: Add a bunch of fp64 operations 2024-09-01 12:00:09 +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 ac139d96f1 CDImage/ECM: Use EDC/ECC functions from libchdr 2024-09-01 19:43:39 +10:00
Stenzek fe8dada392 dep/libchdr: Add EDC computation functions 2024-09-01 19:43:16 +10:00
Stenzek 7df5764835 Data: Remove license-incompatible shaders 2024-09-01 20:01:34 +10:00
Stenzek 486f410f43 GameDB: Disable WS in Athena - Awakening from the Ordinary Life 2024-08-31 14:37:46 +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 542ef3a6c0 GPUDevice: Warning fix 2024-08-26 21:37:29 +10:00
Stenzek 667d1bf7c8 GPUDevice: Use CompressHelpers
And compress the pipeline cache. Saves a fair bit of disk space.
2024-08-26 21:33:28 +10:00
Stenzek f243dc075d Host: Use CompressHelpers for ReadCompressedResourceFile() 2024-08-26 21:33:00 +10:00
Stenzek c7a6e7e483 SHA1Digest: Span-ify 2024-08-26 21:27:51 +10:00
Stenzek ae2e79f401 Util: Add CompressHelpers 2024-08-26 21:27:30 +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 05c7e6009c InputManager: Don't set key down for binds when ImGui has focus
Fixes unpausing etc when alt-tabbing.
2024-08-26 17:57:28 +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