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
Stenzek
b06da6607b
Error: Add prefix methods
2024-04-04 11:40:10 +10:00
Stenzek
f3d6249cc1
FileSystem: Handle paths longer than MAX_PATH on Windows
2024-04-04 11:39:40 +10:00
Stenzek
ad81318854
GS: Replace xz/liblzma with 7zip LZMA SDK
2024-03-30 21:37:29 +10:00
Stenzek
907ae642d0
Common: Update FixedArray.h from DuckStation
2024-03-30 21:37:29 +10:00
Stenzek
515cbc7b29
Path: Add CreateFileURL()
2024-03-13 20:13:35 +10:00
Ty Lamontagne
46e039dab2
VMManager: Log power profile and GPUs on startup
2024-03-07 01:21:28 +00:00
JordanTheToaster
a7bced02da
FS: Fix cover text truncation
2024-02-06 02:01:53 -06:00
TellowKrinkle
d65133451d
Common: Add helper for creating an NSString from a string_view
2024-01-26 12:48:37 +10:00
TellowKrinkle
36e81949e0
Qt: Use proper Show in Finder on macOS
2024-01-26 12:48:37 +10:00
Stenzek
227049b6f2
FileSystem: Handle infinite symlink loops in FindFiles()
2024-01-17 13:57:19 +10:00
Stenzek
ff34150b15
Build: Simplify Git version extraction
...
Get rid of SysForwardDefs.h
Use last known git tag to determine version info, if it is not a tagged commit.
2024-01-15 15:35:21 +10:00
Stenzek
0bbde2ca52
IPU: Fix regression from #10617
2024-01-14 15:22:43 +10:00
Stenzek
f9833bb8af
Qt: Tidy up Tools menu
...
Make System Console and Verbose contingent on Advanced Settings being enabled.
Make Debug Console contingent on actually running under a debugger.
2024-01-13 12:26:34 +10:00
Stenzek
fa00069068
Console: Remove WX rubbish and replace
2024-01-12 12:40:46 +10:00
Stenzek
ef76666e5a
Misc: Warning fixes
2024-01-08 23:33:43 +10:00
Connor McLaughlin
b7ae453d84
Common: Fix duplicate fastjmp on Windows/CMake
2023-12-27 16:03:49 +10:00
Stenzek
59d29b3648
Common: Rename General to HostSys
...
Actually fits what it's doing.
2023-12-27 13:55:35 +10:00
Stenzek
911d7f6533
Common: Move janky macros to Config.h
2023-12-27 13:55:35 +10:00
Stenzek
9d49015c0c
Common: Purge pxEnum macros
2023-12-27 13:55:35 +10:00
Stenzek
308f8c5112
x86emitter: Abstract MXCSR into a general FPControlRegister type
2023-12-27 13:55:35 +10:00
Stenzek
86edc0dbe2
x86emitter: Make SSE_MXCSR not dependent on emitter
2023-12-27 13:55:35 +10:00
Stenzek
f461bc9176
x86emitter: Purge x86caps
...
We can use cpuinfo for querying AVX/AVX2.
2023-12-27 13:55:35 +10:00
Stenzek
b121e5af25
x86emitter: Purge MXCSR mask
...
We require SSE4, no need to mask away things that are unsupported by
SSE1.
2023-12-27 13:55:35 +10:00
Stenzek
f43255a1fb
MSBuild: Don't supply PrecompiledHeader.h to moc
...
Redundant, since it's force included anyway.
2023-12-25 12:39:08 +10:00
Stenzek
59949c50d3
CMake: Don't compile PrecompiledHeader.cpp
2023-12-25 12:39:08 +10:00
Stenzek
0bc9c7ffa1
Common: Replace x86_intrin.h with generic Intrin.h
...
For later Apple Silicon support.
2023-12-24 14:03:14 +10:00
Stenzek
d9abe10308
Misc: Remove explicit PCH include, switch to SPDX
2023-12-24 14:03:14 +10:00
Stenzek
47a65ce01e
Misc: Slim down PCH
2023-12-24 14:03:14 +10:00
Stenzek
87d392adb5
Common: Don't include x86_intrin.h globally
2023-12-24 14:03:14 +10:00
Stenzek
1dac754ca3
Misc: Purge OFFSETOF
2023-12-24 14:03:14 +10:00
Stenzek
b844bb1268
Misc: Simplify platform/compiler macros
2023-12-24 14:03:14 +10:00
Stenzek
dc859ca0a6
Misc: Simplify assertion macros
2023-12-24 14:03:14 +10:00
Stenzek
20e75b4057
GS: Replace ASSERT() with pxAssert()
2023-12-24 14:03:14 +10:00
Stenzek
a69977c62b
Misc: Always use C++20 constinit
2023-12-24 14:03:14 +10:00
Stenzek
3b0513a57c
Misc: Purge _M_AMD64 define
2023-12-24 14:03:14 +10:00
Stenzek
a5c2ea679d
TextureDecompress: Remove non-SSE code paths
2023-12-24 14:03:14 +10:00
Stenzek
31e9206fc0
Common: Purge unused macros
2023-12-24 14:03:14 +10:00
Stenzek
4bf7d2b2fe
Common: Remove macro checks for unsupported platforms
2023-12-24 14:03:14 +10:00
Stenzek
c8b051628f
Misc: Replace likely/unlikely with C++20 equivalents
2023-12-24 14:03:14 +10:00
Stenzek
76f36b780c
StringUtil: Replace StartsWith/EndsWith with C++20 equivalents
2023-12-24 14:03:14 +10:00
Stenzek
d73d698fd5
FileSystem: Purge GetDisplayNameFromPath()
...
Redundant function.
2023-12-24 14:03:14 +10:00
Stenzek
ade2cc8182
Path: Add RealPath()
2023-12-11 14:55:36 +10:00
Stenzek
b7aea5b726
SmallString: Add missing copy construct/assign operators
2023-12-11 01:28:34 +10:00
JordanTheToaster
cefcd843fc
Misc: Fix fmt errors
2023-12-01 20:59:18 +10:00
Stenzek
7ec57692b1
Qt: Remove QtNetwork dependency
2023-11-21 20:40:13 +10:00
Stenzek
15091cea54
Qt: Fix progress dialog cancelling
2023-11-21 20:40:13 +10:00
Stenzek
7715d122c7
HTTPDownloader: Add support for progress updates/cancelling
2023-11-21 20:40:13 +10:00
Stenzek
72145f4914
Common: Remove ThreadPool class
...
No longer needed.
2023-11-09 17:55:22 +00:00
Stenzek
7247a1e5a4
HTTPDownloaderCurl: Switch to multi/async API
2023-11-09 17:55:22 +00:00
Stenzek
c557ea1b6f
HTTPDownloader: Drop Common namespace
...
Annoying to type...
2023-11-09 17:55:22 +00:00
Stenzek
e9a4d9702c
Achievements: Use retryable client error status code
2023-11-09 17:55:22 +00:00
Stenzek
4aaf6ba69e
Common: Fix unused function warning
2023-10-11 19:15:58 +10:00
refractionpcsx2
88f8ef0244
Build: Fix up various warnings, increase variable readability
2023-10-10 20:39:54 +01:00
Stenzek
c8e0390aaf
MSBuild: Fix libpng warning
2023-10-10 18:01:30 +10:00
Stenzek
606cbb3883
System: Simplify memory allocation
2023-10-10 18:01:30 +10:00
Stenzek
377746f155
x86: Move dispatchers to recompiler code space
2023-10-10 18:01:30 +10:00
Stenzek
10b217e0c2
Image: Support loading webp files
2023-10-02 19:52:29 +10:00