Commit Graph

1576 Commits

Author SHA1 Message Date
GovanifY
132431b7c8 headers: relicense to GPL-3.0+
also update to 2024 while i'm at it
2024-07-30 17:17:13 -04:00
Ty Lamontagne
7e5016fdab linux/cmake: Allow libbacktrace to be disabled 2024-07-18 16:46:24 -04:00
TheLastRar
ad64d88e7b Common: Fix FreeBSD build 2024-07-17 22:15:09 +02:00
Stenzek
480bd2da4b DarwinMisc: Use template sysctlbyname 2024-06-14 20:45:44 +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
122f1ec767 TextureDecompress: Re-add non-SSE code paths 2024-06-14 17:06:45 +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
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
cf475d961a 3rdparty: Move fmt v10.2.1 in-tree 2024-06-11 11:30:45 +10:00
Stenzek
919da4d97a CDVD: Read NVRAM on startup, cache, and save on shutdown 2024-06-10 12:51:18 +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
TheLastRar
f2e4a5e780 GS: Remove MSVC macro hack 2024-05-30 19:01:23 +01: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
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
TheLastRar
63a5a15c37 Common: Provide a MAP_FIXED_NOREPLACE define for FreeBSD 2024-05-23 11:34:06 +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
ff7995f0d6 Deps: Bump to shaderc 2024.1
And use dynamic loading.
2024-05-21 18:34:01 +10:00
Ziemas
086bbf95dc
Misc: Fix building with gcc14 (#11278) 2024-05-21 12:25:11 +10:00
Stenzek
12a0644315 Misc: Pass most string_views by value instead of reference 2024-05-17 11:57:38 +10:00
Stenzek
49a17b3a2e Error: Strip trailing whitespace from Windows errors
Backport of c85e743573
2024-05-17 11:57:38 +10:00
Stenzek
3a0b26225d SettingsInterface: Fix TinyString helper
Backport of d9003b10c3
2024-05-17 11:57:38 +10:00
Stenzek
0628e8cc87 GS/Vulkan: Simplify loader using DynamicLibrary
Backport of 8e3284d8c6
2024-05-17 11:57:38 +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
90338ed065 HeapArray: Add missing field swap 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
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
85a33971e7 Misc: Add gstreamer fallback to aplay 2024-04-26 20:30:16 +10:00
Stenzek
e768f1c93b MSBuild: Use AVX/AVX2 for 3rdparty as well 2024-04-25 11:55:41 +10:00
Benjamin Moir
d48c3cfce5 HeapArray: Avoid writing out of bounds in internal_resize 2024-04-24 21:44:48 +01:00
Stenzek
35525d5304 SettingsInterface: Add SmallString overloads
Backport of 631fca3042
2024-04-13 13:21:17 +10:00
Stenzek
9fa409a1a9 SmallString: Add missing methods
Backport of
79c226efff
2cd747983a
6b7cf6a432
f75a5605eb
2024-04-13 13:21:17 +10:00
Stenzek
ece20b1307 Image: Don't pass FILE across CRT boundary
Fixes crash using libpng/libjpeg in Debug builds.
2024-04-13 12:35:22 +10:00
TellowKrinkle
5271e83824 Common: Don't forceinline vararg functions
No compiler actually inlines them, and GCC issues an error saying that it can't force inline vararg functions
2024-04-08 18:16:25 +02:00
Stenzek
c8698dac79 3rdparty/imgui: Update to v1.90.4 2024-04-06 22:21:53 +10:00
Stenzek
ec3f1b2aa4 GS/Vulkan: Swap out glslang for shaderc 2024-04-06 21:16:52 +10:00
Connor McLaughlin
49c199e7e8 GSRunner: Fix build on Windows 2024-04-06 17:43:13 +10:00
Stenzek
8890e5948b Common: Sync DynamicLibrary with DuckStation 2024-04-06 14:37:55 +10:00
Stenzek
caf0ade6f3 3rdparty: Remove jpgd 2024-04-06 13:17:22 +10:00
Stenzek
590b81a782 Image: Use libjpeg and support WebP saving
Backport from:

f3c0c14b2a
c854b8f85e
2024-04-06 13:17:22 +10:00
Stenzek
dfa5fccec9 Build: Unify shared libraries across platforms
Use DLLs/shared libraries for:
 - libjpeg
 - libpng
 - libwebp
 - lz4
 - SDL
 - zlib
 - zstd
2024-04-06 13:17:22 +10:00
Stenzek
332be6c771 SettingsInterface: Add Error to Save() 2024-04-04 11:40:10 +10:00
Stenzek
81502e6c7d FileSystem: Add Error to CreateDirectory()/RenamePath() 2024-04-04 11:40:10 +10:00