Stenzek
02fbfae6a0
System: Add advanced 'Export Shared Memory' option
...
Memory map is exported as duckstation_<pid>. Previously, this only
worked on Windows, now it is extended to Linux as well.
2024-08-04 20:28:07 +10:00
Stenzek
3a83c4265c
Misc: Fix a bunch of code analysis warnings
...
Some of which were even actual errors.
2024-08-02 23:56:07 +10:00
Stenzek
0321a2cdc4
Common: Purge ByteStream
2024-07-29 17:27:32 +10:00
Stenzek
6ce9e571ed
Misc: Purge remaining ByteStream references
2024-07-29 17:27:32 +10:00
Stenzek
a6518ff9dc
System: Rewrite save state I/O
...
No more ByteStream or virtual calls for every piece of data.
2024-07-29 17:27:32 +10:00
Stenzek
c83b5fdd05
FileSystem: Add AtomicRenamedFile
2024-07-29 17:27:32 +10:00
Stenzek
ab7a3e1934
BinaryReaderWriter: Add class for files as well as spans
2024-07-29 17:27:32 +10:00
Stenzek
876f212685
DynamicLibrary: Add patch to versioned filename
2024-07-28 19:06:17 +10:00
Stenzek
40356fc381
FileSystem: Remove unnecessary checks
2024-07-28 19:06:17 +10:00
Stenzek
7a3a72ec3d
GPU: Add display rotation option
2024-07-26 23:09:33 +10:00
Stenzek
f1f89d3f0f
BinarySpanReaderWriter: Add subspan methods
2024-07-21 13:33:41 +10:00
Stenzek
56dd9878e1
Misc: RISC-V build fixes
2024-07-19 22:25:57 +10:00
Stenzek
0815aedca2
FileSystem: Drop use of stat64()
...
We define _FILE_OFFSET_BITS on 32-bit Linux anyway.
2024-07-19 22:25:57 +10:00
Stenzek
7217536fdd
MD5Digest: Span-ify
2024-07-19 15:51:25 +10:00
Stenzek
41e15539f9
FileSystem: Add Error parameter to more functions
2024-07-19 15:51:25 +10:00
Stenzek
6176a21ff1
ProgressCallback: Eliminate redundancy and drop C format strings
2024-07-19 15:51:25 +10:00
Stenzek
24ef76bfee
StringUtil: Purge StdStringFromFormat()
2024-07-19 14:01:16 +10:00
Stenzek
59a2309a83
GPU: Use half width vector types where appropriate
2024-07-14 21:25:48 +10:00
Stenzek
d70f5ddb32
GSVector: Remove unused functions
2024-07-14 21:25:48 +10:00
Stenzek
ec851c9d6d
FileSystem: Add FTruncate64()
2024-07-09 21:38:38 +10:00
Nik Chizhov
40048cbbc8
fix: remove duplicated code
2024-07-07 12:45:49 +10:00
Stenzek
eba0794b4f
FileSystem: Add Error to file writing
2024-07-06 19:36:15 +10:00
Stenzek
29b3fa2b95
GSVector: Add {min,max}v_{u8,u16}
2024-07-06 19:36:15 +10:00
Stenzek
77488db3dc
Misc: Align CPU state and SPU voices to cache lines
...
Fixes the ~12% performance regression from the texture replacement
namespace'ify commit. Apparently LTO was placing the CPU struct in the
middle of a cache line...
2024-07-06 18:49:37 +10:00
Stenzek
487eb102b7
Common: __m128 shouldn't be used in nosimd
2024-07-04 19:18:47 +10:00
Stenzek
7927ec647f
Qt: Fix a couple of instances of inconsistent sorting
2024-07-04 13:25:26 +10:00
Stenzek
e0509ebd9f
Common: Remove Rectangle class
2024-07-03 15:54:32 +10:00
Stenzek
2a7de25505
Common: Remove gsvector.h dependency on assert.h
2024-07-03 15:44:12 +10:00
Stenzek
0ae6ddcf7f
Common: Add GSVector
...
Mostly based on PCSX2.
2024-07-03 00:24:12 +10:00
Stenzek
da2dc5fa1e
FIFOQueue: Optimize PopRange() for trivially-copyable types
2024-07-02 14:26:16 +10:00
Stenzek
422102989c
CMake: Remove unused macro
2024-06-30 16:55:04 +10:00
Stenzek
be8fbafd71
CPU/CodeCache: Always dynamically allocate code buffer
...
Reduces .bss size.
2024-06-30 16:45:51 +10:00
Stenzek
890f3fcf5d
Common/Log: Make actually writing unlikely
...
Move it out of the hot path.
2024-06-30 16:45:51 +10:00
Stenzek
dd420cbfcf
Common: Alloc failures in HeapArray are unlikely
2024-06-28 13:12:50 +10:00
Stenzek
ea3fa7fe3d
Postprocessing/FX: Fix locating shaders in subdirectories
2024-06-23 13:20:47 +10:00
TheUbMunster
4827e548be
BinarySpanReaderWriter: Fix off-by-one error ( #3230 )
...
fix off-by-one error
2024-06-23 11:12:04 +10:00
Stenzek
f1465ddf43
Memmap: Use Mach VM routines for memory mapping
2024-05-29 22:49:32 +10:00
Stenzek
4e905a63ec
Util: Add socket helper classes
2024-05-26 22:20:29 +10:00
Stenzek
8e5781266a
CrashHandler: Fix call stack on manual dump
2024-05-25 17:42:12 +10:00
Stenzek
cca7b46114
Assertions: Write crash dump on assertion fail
2024-05-25 17:42:12 +10:00
Stenzek
0240ea8b49
PageFaultHandler: Simplifications
2024-05-25 17:42:12 +10:00
Stenzek
4e922a34a7
Log: Simplify macros
2024-05-24 02:08:14 +10:00
Stenzek
b6d019db66
Misc: Replace log printf calls with fmt
2024-05-24 00:29:49 +10:00
Stenzek
e01efaa681
Log: Channel is [[maybe_unused]]
2024-05-22 22:16:58 +10:00
Stenzek
8e3284d8c6
Vulkan: Simplify loader using DynamicLibrary
2024-05-15 00:50:25 +10:00
Stenzek
88ace6e4ae
CMake: Detect cache line size dynamically on AArch64 Linux
2024-05-15 00:50:24 +10:00
Stenzek
d9003b10c3
SettingsInterface: Fix TinyString helper
2024-05-15 00:50:24 +10:00
Stenzek
117e6be1dc
HeapArray: Add span returners
2024-05-12 22:56:54 +10:00
Stenzek
c85e743573
Error: Strip trailing whitespace from Windows errors
2024-05-12 15:20:39 +10:00
Stenzek
4ca7753720
CrashHandler: Use SetUnhandledExceptionFilter() and terminate on crash
...
Fixes zombie processes sticking around.
2024-05-05 22:29:26 +10:00
Stenzek
fa104acdd1
Misc: Purge unused code and report startup error to host
2024-05-05 22:29:26 +10:00
Stenzek
ca3cfbaa99
Misc: Pass string_view by value
2024-05-05 22:28:29 +10:00
Stenzek
295081fe62
Misc: Replace offsetof with constexpr-friendly OFFSETOF
...
Fixes build with clang-18.
2024-04-28 15:25:24 +10:00
Stenzek
5477f2eae2
HeapArray: Fix swap() not swapping size
...
Even though it's not used.
2024-04-27 13:18:36 +10:00
Stenzek
d2b9195c66
MemorySettingsInterface: Warning fix
2024-04-25 15:06:41 +10:00
Stenzek
1cdfca155d
Qt: Clean and remove empty game settings
2024-04-25 14:02:16 +10:00
Stenzek
a5613fc815
System: Add OSD message when all enhancements are disabled
2024-04-22 00:38:46 +10:00
Stenzek
17b9736899
Misc: Use a 128b cache line size on Apple Silicon
...
Turns out it's not 64 bytes like I assumed. The things you learn.
2024-04-18 20:38:36 +10:00
Stenzek
9fd2994b73
Log: Fix crash with >1 instance + file log
2024-04-14 21:18:47 +10:00
Stenzek
6258cb9e0e
FullscreenUI: Various minor bug fixes
2024-04-13 19:57:25 +10:00
Stenzek
e2d87f554b
FileSystem: Canonicalize() after RealPath()
2024-04-11 14:44:29 +10:00
Stenzek
164062f80d
Build: Use C++20 for everything except reshadefx
2024-04-11 13:46:25 +10:00
Stenzek
f75a5605eb
SmallString: Add vformat overloads
2024-04-11 13:42:00 +10:00
Stenzek
631fca3042
SettingsInterface: Add SmallString overloads
2024-04-09 19:54:25 +10:00
Stenzek
6b7cf6a432
SmallString: Add missing methods
2024-04-09 19:54:25 +10:00
Stenzek
9dd686a994
ByteStream: Add error feedback
2024-04-07 13:10:34 +10:00
Stenzek
69c9133cd4
Common: Fix double free on opening invalid zip file
2024-04-05 17:23:29 +10:00
Stenzek
59a13d91ea
Image: Don't use libjpeg stdio functions
...
Fixes I/O in debug builds.
2024-04-03 23:01:53 +10:00
Stenzek
693982d755
SettingsInterface: Add Error to Save()
2024-03-31 15:50:29 +10:00
Stenzek
eb504143c1
FileSystem: Add Error to CreateDirectory()/RenamePath()
2024-03-31 15:50:13 +10:00
Stenzek
979b7bd36f
FileSystem: Use PathCchCanonicalizeEx() for GetWin32Path()
2024-03-30 00:46:38 +10:00
Stenzek
ab445ec69d
FileSystem: Handle paths longer than MAX_PATH on Windows
2024-03-29 16:23:03 +10:00
Stenzek
b143d96476
Build: Use deps DLLs on Windows
2024-03-24 16:02:59 +10:00
Stenzek
43eb6e20fa
System: Improve screenshot naming
2024-03-16 14:14:15 +10:00
Stenzek
9211d9f2e3
Path: Add CreateFileURL()
2024-03-16 14:10:35 +10:00
Stenzek
620d08f72d
Build: Move Image from common to util
2024-03-06 16:09:21 +10:00
Stenzek
f936a36c85
GPUDevice: Add GPUDownloadTexture
...
Which can also be based in host/client memory.
Use it for screenshots and VRAM downloads.
2024-02-29 18:56:50 +10:00
Stenzek
4a70164dac
CMake: Determine host page size at build time
...
Needed for running on Asahi Linux.
2024-02-25 20:30:41 +10:00
Stenzek
c1381cfda6
System: Gracefully handle memory allocaion failure
2024-02-25 20:30:41 +10:00
Stenzek
18ba2032ad
Error: Add AddPrefix()/AddSuffix()
2024-02-25 20:30:41 +10:00
Stenzek
fcb8ce1ebc
Common: Add DynamicLibrary
2024-02-25 20:30:40 +10:00
Stenzek
ea649bdb1b
Common: Fix duplicate fastjmp on Windows/CMake
2024-02-25 01:53:23 +10:00
Stenzek
d5fb5645fc
ByteStream: Move zstd wrapper to util project
...
Removes zstd dependency from common, fixes updater running on Mac.
2024-02-05 14:28:26 +10:00
Stenzek
a957fb669d
StringUtil: Fix inequal-length EqualNoCase
2024-02-04 15:22:38 +10:00
Stenzek
c2c3eac749
Build: Use shared webp/zstd/zlib
2024-02-03 19:41:56 +10:00
Stenzek
f66866ed73
GPUDevice: Use Error class for initialization errors
2024-01-21 00:18:33 +10:00
Stenzek
ecd8d97f72
FileSystem: Handle infinite symlink loops in FindFiles()
2024-01-21 00:07:32 +10:00
Stenzek
03d6500250
Log: Skip argument packing when below filter level
2024-01-14 01:44:21 +10:00
Stenzek
87a7c09466
GPU/HW: Improve heuristics for draw/write when copying
2023-12-15 16:05:44 +10:00
Stenzek
23d5b20da6
GPU/HW: Split dirty rect into draw/write
...
Significant performance improvement in Persona 2.
2023-12-14 20:23:49 +10:00
Stenzek
2cd747983a
SmallString: Pass string_view by value
2023-12-14 20:23:48 +10:00
Stenzek
4f84a98864
StringUtil: Pass string_views by value
2023-12-13 21:20:31 +10:00
Stenzek
710698f7e1
Misc: Remove StringUtil::{Starts,Ends}With, use C++20
2023-12-13 21:18:19 +10:00
Stenzek
79c226efff
SmallString: fmt -> format, format -> sprintf
2023-12-13 21:06:15 +10:00
Stenzek
fdd3edf73a
Common: Add LLVM SmallVector
2023-12-09 22:08:14 +10:00
Stenzek
a9ee2a34d8
SmallString: Add missing constructors/move operators
2023-12-09 22:06:59 +10:00
Stenzek
524625269f
Path: Add RealPath()
2023-12-05 16:05:27 +10:00
Stenzek
7ef3578630
ByteStream: Fix incorrect computation in Zstd SeekRelative()
2023-12-03 17:03:38 +10:00
Ganael Laplanche
5486a7a467
Fix get_thread_time() declaration on FreeBSD
2023-11-29 21:05:21 +01:00
Ganael Laplanche
af046c8987
Fix build on FreeBSD
...
FreeBSD's alloca(3) only needs <stdlib.h>
2023-11-29 20:54:12 +01:00