Stenzek
315d30fe4c
GS: Uncap upscale multiplier subject to GPU limits
2024-07-02 21:51:33 +10:00
Stenzek
46e30467de
Config: Don't copy global WS/NI to game settings
2024-07-02 15:28:03 +10:00
Stenzek
e7139ab801
Qt: Fix use-after-free in settings reopen()
2024-07-02 15:28:03 +10:00
Connor McLaughlin
5ff35927a7
GS: Remove unused enum
2024-06-30 23:03:28 +10:00
Stenzek
d3bcfe0f5c
GS/HW: Prefer already-RTA-target over SW blend for no-overlap
...
Saves barriers in Ace Combat and Metal Gear Solid games.
2024-06-29 11:14:34 +10:00
Stenzek
6600d09966
GS/HW: Prefer SW blend over HDR for colclip without overlap
2024-06-29 11:14:34 +10:00
Stenzek
51917c4461
GS/DX11: Fix downsample uniform unpack
...
Fixes #11482 .
2024-06-29 01:15:25 +10:00
Stenzek
5b45913a6a
GS/HW: Use box filtering for source downsampling
2024-06-27 10:49:46 +10:00
Stenzek
7f0ab1442e
GS/HW: Clear instead of invalidating upscaled targets
...
This'll require a little more VRAM bandwidth, but it's better than
sampling random garbage because HPO pushes the coordinates down.
2024-06-26 21:22:36 +10:00
Stenzek
107c117a4e
VMManager: Don't use achievements when playing GS dumps
2024-06-25 19:12:23 +10:00
Stenzek
c44500ba0f
Achievements: Fix async HC mode disable running on wrong thread
2024-06-25 19:12:23 +10:00
Stenzek
d53b2ae104
ImGuiManager: Avoid invalid scale update on surfaceless
2024-06-25 19:12:23 +10:00
Stenzek
f909282973
Achievements: Eliminate intermediate malloc on state save
2024-06-25 19:12:23 +10:00
Stenzek
46931072c7
3rdparty/rcheevos: Hash functions are not needed
2024-06-25 19:12:23 +10:00
Stenzek
9225fa9efd
3rdparty/rcheevos: Bump to d54cf8f
2024-06-25 19:12:23 +10:00
Stenzek
3040474f99
Qt: Fix duplicate log window when theme switching
2024-06-24 13:17:53 +10:00
Stenzek
02ef8098c9
Qt: Work around theme swap bug with Classic Windows
2024-06-24 13:17:53 +10:00
Stenzek
4924d8c984
GS/Vulkan: Release swap chain images on acquire fail
2024-06-24 10:16:04 +10:00
Stenzek
57d225437e
GS/HW: Ensure mipmaps aren't generated on hash cache textures
2024-06-24 10:15:48 +10:00
Stenzek
f6a7dc52e2
GS/HW: Better eliminate redundant clamps with mipmapped draws
...
TW/TH won't match when mipmap minimization eliminates the base level.
Use the TEX0 register from the context instead.
2024-06-24 10:15:48 +10:00
Stenzek
ec8d5d1b71
GS/HW: Allow use of trilinear with shader sampling
2024-06-24 10:15:48 +10:00
Stenzek
ab2874749e
CI/AppImage: Explicitly remove libwayland-*
2024-06-16 16:05:25 +10:00
Stenzek
8766d0b676
VMManager: Refactor Affinity Control to Thread Pinning
...
Instead of having control over specific threads, thread pinning puts the
EE/VU/GS threads on the most performant cores, then the software threads
on the remaining cores, but only if they're in the same cluster.
This way we don't end up pinning across clusters with different
performance characteristics, which would harm instead of help software
renderer performance.
Also unpins on shutdown, that way we don't keep CPU cores awake.
2024-06-16 14:18:49 +10:00
Connor McLaughlin
707d61f54d
CDVD: Remove leftover debug log
...
Didn't mean to commit this.
2024-06-16 00:06:55 +10:00
Connor McLaughlin
6fcd5d0aff
GzippedFileReader: Don't write OOB in last chunk
...
zlib_indexed can write the full span to the block, despite the length being shorter. This code can die in a fire.
Closes #11398 .
2024-06-15 17:42:56 +10:00
Connor McLaughlin
21df138833
MSBuild: RecStubs.cpp should be excluded
2024-06-15 15:18:38 +10:00
Stenzek
36f9715637
CDVD: Actually fix NVRAM open mode
2024-06-15 12:44:46 +10:00
Stenzek
480bd2da4b
DarwinMisc: Use template sysctlbyname
2024-06-14 20:45:44 +10:00
Stenzek
8a18403fea
arm64: Add stubs for EE/VU/IOP recs
2024-06-14 17:06:45 +10:00
Stenzek
fe9399612d
arm64: Add VIF dynarec
2024-06-14 17:06:45 +10:00
Stenzek
0a4c037898
GS: ARM64 compatibility
2024-06-14 17:06:45 +10:00
Stenzek
71036c95a4
Core: ARM64 compatibility
2024-06-14 17:06:45 +10:00
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