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
Stenzek
7166c04ff2
R3000: Serialize IOP->EE ticks carry
...
[SAVEVERSION+]
2024-05-16 20:08:38 +10:00
Connor McLaughlin
67f1d6e24b
FullscreenUI: Fix deadlock/abort in Graphics Settings
...
Regression from https://github.com/PCSX2/pcsx2/commit/b9f4a011381fba0555fee27bec5701579da0cd15 .
Closes #11249 .
2024-05-15 01:33:28 +10:00
Stenzek
0aea297b73
GS/DX12: Fix incorrect resource state of ImGui font
2024-05-12 14:48:51 +10:00
Stenzek
20dbcfd2eb
GS/HW: Avoid barriers on second alpha pass when only writing to Z
...
Completely redundant. We also don't need to use the drawlist.
2024-05-12 11:55:37 +10:00
Stenzek
ba7096c9fa
GS/Vulkan: Always issue first barrier on RDNA3
...
It turns out *not* doing this causes GPU resets on RDNA3, specifically
Windows drivers. Despite the layout changing enforcing the execution
dependency between previous draws and the first input attachment read,
it still wants the region/fragment-local barrier...
2024-05-12 11:55:37 +10:00
Connor McLaughlin
4cc4a6561c
GS: Fix use-after-free on lost device
2024-05-12 11:54:48 +10:00
Connor McLaughlin
95843dc84a
GS/HW: Fix invalid self copy from move in DX renderers
2024-05-12 11:54:48 +10:00
Connor McLaughlin
fdb751ed1a
GS/HW: Fix possible texture leak on skipped draw
2024-05-12 11:54:48 +10:00
Connor McLaughlin
612c24e0c0
GS/HW: Fix incorrect StretchRect() in double buffer copy
2024-05-11 20:26:18 +10:00
Stenzek
7bc5427908
Qt: Fix remove game directory button being enabled w/o selection
2024-05-07 12:41:03 +10:00
Stenzek
1881139b0a
Error: Fix negative formatting of HRESULT
2024-05-07 12:41:03 +10:00
Stenzek
339dc2313b
CrashHandler: Use SetUnhandledExceptionFilter() and terminate on crash
...
Fixes zombie processes sticking around.
2024-05-07 12:41:03 +10:00
Stenzek
9752a037be
HostSys: Simplify page fault handler installation
...
And include whether it was a write or a read access.
2024-05-07 12:41:03 +10:00
Stenzek
d8cd336674
CI/Flatpak: Update to SDL2 2.30.3
2024-05-07 12:41:03 +10:00
Stenzek
90338ed065
HeapArray: Add missing field swap
2024-05-05 12:13:20 +10:00
Stenzek
89f4ac9b9a
Config: Remove unused FrameLimitEnable field
2024-05-05 12:13:20 +10:00
Stenzek
2ab6a3b873
Qt: Clean and remove empty game settings
2024-05-05 12:13:20 +10:00
Stenzek
12af031193
Qt: Fix volume reset button in game properties
2024-05-05 12:13:20 +10:00
Stenzek
8d9c89a871
GS/SW: Remove redundant code generator classes
...
Makes space for ARM64.
2024-05-04 19:02:12 +10:00
Stenzek
0f5e7355ff
SPU2: Use AudioStream for output
2024-05-04 14:12:20 +10:00
Stenzek
ca091eeea9
Host: Add AudioStream
2024-05-04 14:12:20 +10:00
Stenzek
ca8a837614
3rdparty: Add FreeSurround
2024-05-04 14:12:20 +10:00
Stenzek
dceac5372a
Qt: Handle sliders in per-game settings
2024-05-04 14:12:20 +10:00
Stenzek
7fae0f499f
SettingsWrapper: Add SmallString overloads
2024-05-04 14:12:20 +10:00
Stenzek
964dcfcb0a
Console: Add log macros
2024-05-04 14:12:20 +10:00
Stenzek
b67b555617
GS/HW: Fix blend_mix regression
2024-05-04 13:10:11 +10:00
Connor McLaughlin
09ea13df55
CI/Linux: Remove invalid download links
2024-05-04 02:58:38 +10:00
Stenzek
40c7982dcf
GS: Predivide ST by Q on large equal-Q triangles
...
In addition to sprites.
Fixes intro screen of IndyCar Series, which uses rotated sprites (tris).
Fixes some onscreen sprites in SpongeBob SquarePants - Revenge of the Flying Dutchman.
Fixes menu background in Cold Winter.
Fixes health bars in Biker Mice From Mars.
2024-04-30 16:43:23 +10:00
Stenzek
fd0c82c04a
GS: Use insertps/blendps instead of shuffles
...
Faster by one cycle on any CPU we care about these days.
2024-04-30 16:43:23 +10:00
Stenzek
107a3fda44
GS/HW: Rename RTCorrect/Decorrect to ScaleAlpha
2024-04-28 17:40:20 +02:00
Stenzek
e734eb415c
GS/HW: Allow transition to RTA on full cover draw
2024-04-28 17:40:20 +02:00
Stenzek
aa48256010
GS/HW: Round alpha values for indexed sample of RTA
2024-04-28 17:40:20 +02:00
Stenzek
77a03498c1
GS: Round coordinates in PrimitiveCoversWithoutGaps()
2024-04-28 17:40:20 +02:00
Connor McLaughlin
f5c3cd0f87
GS/HW: Ensure valid alpha doesn't get cleared on 24-bit targets
2024-04-27 20:23:17 +10:00
Stenzek
85a33971e7
Misc: Add gstreamer fallback to aplay
2024-04-26 20:30:16 +10:00
Stenzek
4e79e85f3f
GH: Clarify lack of support for third-party Linux builds
2024-04-26 20:07:12 +10:00
Stenzek
c831f5759f
CI: Simplify Linux build
2024-04-26 13:09:30 +10:00
Stenzek
9f1483f01b
GS/HW: Check for format combinations that make sense for CSBW
...
True Crime: New York City strikes again...
2024-04-25 11:58:37 +10:00
Stenzek
ece89051bd
GS/HW: Stretch double buffered targets when scale changes
...
Otherwise the coordinates are out of range => GPU crash.
2024-04-25 11:58:37 +10:00
Stenzek
e768f1c93b
MSBuild: Use AVX/AVX2 for 3rdparty as well
2024-04-25 11:55:41 +10:00
Stenzek
56cd7f2259
INISettingsInterface: Fix file descriptor leak on Linux
2024-04-25 11:55:19 +10:00
Stenzek
3d11057177
GS/HW: Clear dirty list on target clear
2024-04-23 11:57:17 +10:00