Commit Graph
100 Commits
Author SHA1 Message Date
Stenzek 7d098674f2 IPU: ARM64 compatibility 2024-06-14 17:06:45 +10:00
Stenzek 4e0e8cef54 Common: ARM64 compatibility 2024-06-14 17:06:45 +10:00
Stenzek 6ee99d8b81 Build: Add ARM64 configurations 2024-06-14 17:06:45 +10:00
Stenzek 22d929d171 VTLB: Fix unmapping all pages with 16K host 2024-06-14 17:06:45 +10:00
Stenzek 122f1ec767 TextureDecompress: Re-add non-SSE code paths 2024-06-14 17:06:45 +10:00
Stenzek 04d7d1a1db 3rdparty/winpixeventruntime: Fix build with ARM64 clang-cl 2024-06-14 17:06:45 +10:00
Stenzek 3c69d5cf70 3rdparty/cubeb: Fix build for ARM64 2024-06-14 17:06:45 +10:00
Stenzek e03e8b602c 3rdparty/cpuinfo: Fix build for ARM64 2024-06-14 17:06:45 +10:00
Stenzek cc7b58eef0 3rdparty/lzma: Fix ARM64 build with clang-cl 2024-06-14 17:06:45 +10:00
Stenzek a703076720 3rdparty/soundtouch: Enable NEON on ARM64 2024-06-14 17:06:45 +10:00
Stenzek 21897414ac CI: Add required files for Windows ARM64 build 2024-06-14 17:06:45 +10:00
Stenzek 1a286b0bec CI: Add script for building universal Mac dependencies 2024-06-14 17:06:45 +10:00
Stenzek 94fc34dd62 GS: Tidy up shifts in GSVector4i 2024-06-14 11:54:17 +10:00
Stenzek 4731c6d290 GS: Fix a couple of non-immediate constant shifts 2024-06-14 11:54:17 +10:00
Stenzek 153b492a79 GS: Remove unordered runion()
We're working with rectangles everywhere.
2024-06-14 11:54:17 +10:00
Stenzek ccb23868e5 GSRunner: Enable the crash dump writer 2024-06-14 11:54:17 +10:00
Stenzek affbcfe135 GS/SW: Zero out texture cache buffers
This _shouldn't_ be necessary, but apparently our texture min/max is wrong
somewhere, and we end up sampling from "random" malloc memory, which breaks
GS dump runs.
2024-06-14 11:54:17 +10:00
Connor McLaughlin 08e824831b Achievements: Fix incorrect data source for mastery points 2024-06-12 14:44:54 +10:00
Stenzek 7ad27e6e9d CDVD: Add precaching option 2024-06-11 11:31:28 +10:00
Stenzek e1596c7911 FileSystem: Add ReadFileWithProgress() 2024-06-11 11:31:28 +10:00
Stenzek 8a3513f2ba 3rdparty/libchdr: Allow cancelling precache 2024-06-11 11:31:28 +10:00
Stenzek d43171454b CI: Disable repository submodule cloning
No longer needed.
2024-06-11 11:30:45 +10:00
Stenzek e5917fa47a GS/Vulkan: Disable unused-function warning for vk_mem_alloc 2024-06-11 11:30:45 +10:00
Stenzek 5ee751326a 3rdparty/fmt: Work around RTTI being disabled 2024-06-11 11:30:45 +10:00
Stenzek 226a02a770 MemoryCardFolder: Fix rapidyaml deprecation warnings 2024-06-11 11:30:45 +10:00
Stenzek 8cc7e60138 3rdparty: Move WIL v1.0.240122.1 in-tree
Renamed to winwil, because otherwise you won't be able to easily git
pull these changes.
2024-06-11 11:30:45 +10:00
Stenzek 5c59288b39 3rdparty: Move rapidyaml v0.6.0 in-tree
Also c4core v0.2.0, fast-float v6.1.1.
2024-06-11 11:30:45 +10:00
Stenzek d6c4a9a4d5 3rdparty: Move Vulkan-Headers v1.3.287 in-tree 2024-06-11 11:30:45 +10:00
Stenzek 08975bd9f1 3rdparty: Move googletest v1.14.0 in-tree 2024-06-11 11:30:45 +10:00
Stenzek cf475d961a 3rdparty: Move fmt v10.2.1 in-tree 2024-06-11 11:30:45 +10:00
Stenzek cb0f0b65cc DEV9: Add missing RedtapeWindows.h include 2024-06-11 11:30:45 +10:00
Stenzek cc7313bf32 Qt: Use 64-bit comparison for VC runtime check
Backport https://github.com/stenzek/duckstation/commit/484c1dccd4ca588ce8b9bd11481695669eb6f5bc
2024-06-10 16:48:35 +10:00
Stenzek e2a4d8f1e6 CDVD: Force initialized flag on NVRAM reads
Jak 1 crashes on boot if it's not set.
2024-06-10 12:51:18 +10:00
Stenzek b55ec3ae58 CDVD: Tidy up NVRAM read helpers
Get rid of the janky offsetof.
2024-06-10 12:51:18 +10:00
Stenzek 6220148be7 CDVD: Cache mechacon version 2024-06-10 12:51:18 +10:00
Stenzek 919da4d97a CDVD: Read NVRAM on startup, cache, and save on shutdown 2024-06-10 12:51:18 +10:00
Stenzek 4f5562ad3f GS: Swap to cpuinfo for checking CPU features 2024-06-09 22:18:59 +10:00
Stenzek 37df1adff6 Qt: Add very-early VC++ runtime version check
Backport of https://github.com/stenzek/duckstation/commit/a2e6a48d2eee2d863c8fc2dfce60a574b14f4048
2024-06-09 21:47:32 +10:00
Stenzek 1ec4c248fb CI/Windows: Disable Qt's PCRE2 JIT
Backport of https://github.com/stenzek/duckstation/commit/daed75de20e8d533bf0ef3a53b314780ba1d136e
2024-06-07 16:14:34 +10:00
Connor McLaughlin 91fbf1b22e CI/Windows: Uninstall system LLVM package
Instead of upgrading it, we haven't tested clang-18 with PCSX2 yet.
2024-06-07 15:56:53 +10:00
Connor McLaughlin 69c2c53ca7 CI/AppImage: QtNetwork is no longer needed 2024-05-31 13:39:51 +10:00
Stenzek d48f527d6d Common: Tidy up signal handlers
Move MacOS into its own file.
Fix assertion failure crash dumping.
2024-05-31 13:39:36 +10:00
Stenzek ecbe239c0b Common: Use Mach VM routines for memory mapping
MacOS does not support an equivalent of MAP_FIXED_NOREPLACE via mmap(),
which means that our usage for allocating PCSX2's memory map is not
thread-safe.
2024-05-30 13:39:07 +10:00
Stenzek 18665b81c4 3rdparty/vixl: Import @ 8eca2b7 2024-05-30 13:38:51 +10:00
Stenzek 94bd7c96b9 GS/HW: Use valid rect over size in CopyRGBFromDepthToColor()
Avoids a copy.
2024-05-28 12:44:27 +10:00
Stenzek e863da9490 GS/HW: Fix unscaled rect in CopyRGBFromDepthToColor()
Fixes fade transitions when upscaling in GT3.
2024-05-28 12:44:27 +10:00
Stenzek c94282ce5f GS/Vulkan: Purge threaded presentation 2024-05-27 21:10:59 +10:00
Stenzek d94f1dd9a3 GS: Add option to disable mailbox presentation
For those who like terrible frame pacing.
2024-05-27 21:10:59 +10:00
Stenzek 5dc1167fa8 GS/DX11: Don't spin on CPU when GPU results aren't available
Backport of https://github.com/stenzek/duckstation/commit/547587af111506376f3ab2ea0d4805d481bd0880
2024-05-27 21:10:59 +10:00
Stenzek 9187e7eb34 InputManager: Fix exit menu button forwarding to game
Backport of https://github.com/stenzek/duckstation/commit/a7f2ad37de936d68e8881aa6878e91ed213d228a
2024-05-27 00:18:53 +10:00
Stenzek 3928014e5c GS/Vulkan: Work around validation layer semaphore error 2024-05-25 14:06:50 +10:00
Stenzek c7a21a60cf GS: Improve vsync mode selection
All games use mailbox/triple buffering. Except when you enable sync to
host refresh, in which case FIFO/double buffering is used.

This means vsync enabled will ever tear, but at the same time, never
drop to 30fps on a missed frame due to frame rate differences.

To have the "best of both worlds", you should enable vsync and sync to
host refresh. Previously, this resulted in additional input lag, since
the host vsync would drive the EE frame timing. Now, this behaviour is
disabled by default, unless you enable "Use Host VSync Timing".
2024-05-25 14:06:50 +10:00
Stenzek 82fbf34f5b ImGuiOverlays: Display vsync queue size in OSD 2024-05-25 14:06:50 +10:00
Stenzek 99e38bc458 GS/Vulkan: Prefer mailbox presentation for vsync-on 2024-05-23 11:34:49 +10:00
Stenzek 68bbc2cc92 GS/Vulkan: Log any image acquire error 2024-05-23 11:34:49 +10:00
Connor McLaughlin 92b707db99 Common: Missed MAP_FIXED -> MAP_FIXED_NOREPLACE 2024-05-22 00:05:24 +10:00
Connor McLaughlin d765f2e15c Common: Fix Mac build 2024-05-21 23:14:47 +10:00
Stenzek e24d97bbe4 Common: Don't use MAP_FIXED on Linux
MAP_FIXED will clobber any existing memory mapping, and is not safe
to use in a multi-threaded environment. Whether we like it or not,
we are a multi-threaded environment, because Qt initializes before
we get to main(), so it's already too late to safely use MAP_FIXED
by the time we get there.

Use MAP_FIXED_NOREPLACE instead. This is how MAP_FIXED should have
behaved from the beginning.

Obviously this means you'll need Linux 4.17+ and a semi-recent libc
to use PCSX2 now. But if you're running a 6 year old unsupported
kernel, you have bigger problems.

Fixes "random" startup crashes.
2024-05-21 22:44:00 +10:00
Stenzek 2e882dfabc CI/Flatpak: libaio is no longer needed 2024-05-21 18:34:01 +10:00
Stenzek ff7995f0d6 Deps: Bump to shaderc 2024.1
And use dynamic loading.
2024-05-21 18:34:01 +10:00
Stenzek f11ef37745 Deps: Switch to sourceforge mirror for FreeType
The savannah.gnu.org link redirects to non-existant domains, at least in
Australia.
2024-05-21 18:34:01 +10:00
Stenzek 9044f54353 Deps: Apply qtbase commit 7b01862 2024-05-21 18:34:01 +10:00
Stenzek 475bd6ee7d Deps: Bump Qt to 6.7.1 2024-05-21 18:34:01 +10:00
Connor McLaughlin 7683674585 Qt: Fix default tab of Graphics Settings 2024-05-19 22:25:55 +10:00
Stenzek 81f1102809 Qt: Update base translation 2024-05-19 16:07:15 +10:00
Stenzek ebb315ab6f Qt: update_base_translation.sh should be executable 2024-05-19 16:06:48 +10:00
Connor McLaughlin 70b709a675 CI/Flatpak: Temporarily disable repo/appstream validation
pcsx2.net (cloudflare?) appears to be blocking the GitHub runner. Until this is resolved, disable runner-side validation.
2024-05-19 13:27:10 +10:00
Stenzek 31e935d831 GzippedFileReader: Don't clamp chunkID on read 2024-05-18 02:45:26 +10:00
Stenzek 34ae500614 CsoFileReader: Fix devbuild assertion 2024-05-18 02:45:26 +10:00
Stenzek 2cead675bb Revert "CI/AppImage: Don't bundle libssl/libcrypto"
This reverts commit 21c46b778e.
2024-05-18 02:45:26 +10:00
Stenzek a6f7159537 CDVD: Simplify ISO opening 2024-05-17 11:58:01 +10:00
Stenzek d099f7afd6 CDVD: Purge AsyncFileReader interface
Everything goes through ThreadedFileReader now.
2024-05-17 11:58:01 +10:00
Stenzek 7587bb8a07 CDVD: Use ThreadedFileReader for gzip ISOs 2024-05-17 11:58:01 +10:00
Stenzek 29e9125b15 CDVD: Use ThreadedFileReader for uncompressed ISOs 2024-05-17 11:58:01 +10:00
Stenzek f0ae33d61e CDVD: Use ThreadedFileReader for block dumps 2024-05-17 11:58:01 +10:00
Stenzek 89c4e2c1a4 CDVD: Fix error propagation from ThreadedFileReader 2024-05-17 11:58:01 +10:00
Stenzek 431b8b0df6 CDVD: Purge MultpartFileReader
Nobody should be using this.
2024-05-17 11:58:01 +10:00
Stenzek e8e84d160b Qt: Update base translation 2024-05-17 11:57:38 +10:00
Stenzek 3fd1eabdb8 Qt: Rename Load Profile to Apply Profile
And make it copy hotkeys.
2024-05-17 11:57:38 +10:00
Stenzek 21c46b778e CI/AppImage: Don't bundle libssl/libcrypto 2024-05-17 11:57:38 +10:00
Stenzek 55ee8242cc VMManager: Rewrite input profile hotkey priority logic 2024-05-17 11:57:38 +10:00
Stenzek 967a41c035 USB-Eyetoy: Fix unused comprLen warning
But this also has a behavioural change.
2024-05-17 11:57:38 +10:00
Stenzek 75894501ee FullscreenUI: Warning fix 2024-05-17 11:57:38 +10:00
Stenzek 39b29b3542 AudioStream: Vectorize volume application 2024-05-17 11:57:38 +10:00
Stenzek 25bc75a468 InputManager: Add push to toggle for macros
Backport of https://github.com/stenzek/duckstation/commit/f0a4ceb909adee07501c48adb631a5d3f02f1f6f
2024-05-17 11:57:38 +10:00
Stenzek 12a0644315 Misc: Pass most string_views by value instead of reference 2024-05-17 11:57:38 +10:00
Stenzek 9fac941570 GS: Make VSync a boolean toggle
i.e. ditch the old adaptive mode, and always use adaptive if available.
2024-05-17 11:57:38 +10:00
Stenzek 81203d9a15 Config: Remove redundant GS setting macros
Not needed without WX.
2024-05-17 11:57:38 +10:00
Stenzek 5d50cd562f MTGS: Eliminate redundant SynchronousMTGS checks in Release build 2024-05-17 11:57:38 +10:00
Stenzek 49a17b3a2e Error: Strip trailing whitespace from Windows errors
Backport of https://github.com/stenzek/duckstation/commit/c85e74357356fd0d9b5b0c7711cf514ef47feeea
2024-05-17 11:57:38 +10:00
Stenzek cfecbf53aa Host: Add plural translation support
Backport of https://github.com/stenzek/duckstation/commit/f3aec0c965df248b316709e2aa9742f8d554b42f
2024-05-17 11:57:38 +10:00
Stenzek 3a0b26225d SettingsInterface: Fix TinyString helper
Backport of https://github.com/stenzek/duckstation/commit/d9003b10c36494d981c8541833ecc48de37c5759
2024-05-17 11:57:38 +10:00
Stenzek 0628e8cc87 GS/Vulkan: Simplify loader using DynamicLibrary
Backport of https://github.com/stenzek/duckstation/commit/8e3284d8c6b28c4a73752da005e3881e6b270d10
2024-05-17 11:57:38 +10:00
Stenzek 6545c62d26 3rdparty/cubeb: Only include connected devices when enumerating wasapi
Otherwise you just get a ton of unusable outputs.
2024-05-17 11:57:38 +10:00
Stenzek c573c00eb0 3rdparty/cubeb: Sync to 19fcbef
Backport of https://github.com/stenzek/duckstation/commit/872cee908c99e72f7738c16641a1021445616ecf

And apply PR #740 (Re-enable and polish IAudioClient3 to achieve lower
latencies).

`*latency_frames = min_period;` in wasapi_get_min_latency was changed to
`*latency_frames = hns_to_frames(params.rate, min_period_rt);`, as
otherwise it reports in mixer frames, not stream frames.
2024-05-17 11:57:38 +10:00
Stenzek f084e76f36 Qt: Add option to pause when controller is disconnected 2024-05-17 11:57:38 +10:00
Stenzek b9d7b63b32 FullscreenUI: Use native file selector on Flatpak 2024-05-17 11:57:38 +10:00
Stenzek 4d67f71217 FullscreenUI: Add horizontal padding to menu windows
Backport of https://github.com/stenzek/duckstation/commit/37a76a020aa67e534425e5b1717587f5899f774f
2024-05-17 11:57:38 +10:00
Stenzek 4b1a4fdbb9 FullscreenUI: Fix minimal output latency toggle 2024-05-17 11:57:38 +10:00
Stenzek a0bc8e0ff8 FullscreenUI: Fix gaps between some UI elements
Backport of https://github.com/stenzek/duckstation/commit/4d8ed49b24f4b680fd5454ee43e229bbb3b109db
https://github.com/stenzek/duckstation/commit/69e0c1681cf4a8934e19fe47dfb4ec6c83f048f1
2024-05-17 11:57:38 +10:00