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