925 Commits

Author SHA1 Message Date
Stenzek
c9c4307871
FileSystem: Android build fix 2024-12-06 15:10:15 +10:00
Stenzek
042a2d72f7
Threading: Add IsCallingThread() to ThreadHandle 2024-12-06 15:10:15 +10:00
Stenzek
04e472d088
FileSystem: Add non-blocking option to POSIXLock 2024-12-03 17:29:47 +10:00
Stenzek
d93c713fb7
FileSystem: Make POSIXLock moveable 2024-12-03 17:29:47 +10:00
Stenzek
e9848a6182
Misc: Collapse more niche log channels 2024-12-01 23:21:33 +10:00
Stenzek
0faa9cf650
Build: Add Devel configuration
Gets you debug assertions and logging, while still producing an
optimized executable.
2024-12-01 23:21:33 +10:00
Stenzek
0f51472d64
Misc: Android build fix 2024-11-30 01:09:41 +10:00
Stenzek
aafc029682
Misc: Un-namespace Timer 2024-11-29 20:13:37 +10:00
Stenzek
ff3214b8f7
SmallString: Add span helpers 2024-11-29 17:06:20 +10:00
Stenzek
d3246deb77
ThirdParty: Add aes.cpp 2024-11-29 17:06:06 +10:00
Stenzek
83274c7e3b
ThirdParty/SmallVector: Compile fixes 2024-11-29 17:05:18 +10:00
Stenzek
b39f1558ec
StringUtil: Add Base64 decode/encode functions 2024-11-29 17:05:02 +10:00
Stenzek
c0b4627c11
StringUtil: Drop old MacOS workaround 2024-11-29 15:25:36 +10:00
Stenzek
bbe6612b25
Common: Add SHA256Digest 2024-11-29 15:20:33 +10:00
Stenzek
da501b9294
StringUtil: Add ParseFixedHexString() 2024-11-29 15:04:25 +10:00
Stenzek
dac5dd562b
HTTPDownloader: Improve error reporting
Give something human-readable when an error occurs.
2024-11-29 14:00:55 +10:00
Stenzek
57d3aa4850
FileSystem: Add Error parameter to StatFile() 2024-11-27 17:50:43 +10:00
Stenzek
1434507b41
FileSystem: Add span overload for WriteBinaryFile()
And normalize filename -> path parameter names.
2024-11-27 17:50:43 +10:00
Stenzek
3ff1b04576
GPUDevice: Support generating mipmaps 2024-11-24 23:29:28 +10:00
Stenzek
affbdfc350
Timer: Fix >1 second sleeps on MacOS 2024-11-24 23:29:28 +10:00
Stenzek
e987b56aae
Log: Remove unused ISOReader channel 2024-11-23 18:59:10 +10:00
Stenzek
5c03e1d940
Misc: Fix alignment errors on ARM32 2024-11-23 18:52:45 +10:00
Stenzek
e6892e0a54
Common: Fix incorrect condition in PreviousPow2/NextPow2 2024-11-21 12:31:00 +10:00
Stenzek
6c1b98e46a
GPU/SW: Fix 256-bit AVX2 path 2024-11-18 14:19:47 +10:00
Stenzek
d5e2db0dee
Misc: Fix new clang-cl warnings 2024-11-16 14:06:14 +10:00
Stenzek
350429466a
FileSystem: Move separator macro to path.h 2024-11-14 00:17:27 +10:00
Stenzek
3f41dcc97d
Log: Add option coloured variants 2024-11-11 14:04:48 +10:00
Stenzek
e3e0fe6445
Log: Prepend timestamp to multi-line messages 2024-11-10 13:23:25 +10:00
Stenzek
886ef4cc59
WAVWriter: Add matching reader class 2024-11-06 13:46:48 +10:00
Stenzek
ead9e56c4d
System: Support loading ELF files 2024-11-05 17:54:12 +10:00
Stenzek
65f3dcbe9b
HeapArray: Fix assignment/move with aligned variant 2024-11-05 17:53:42 +10:00
Stenzek
ca2ed61dba
Timers: Work around possible MSVC codegen bug
Fixes very strange behaviour in games in MSVC LTCG build.
2024-11-04 23:03:51 +10:00
Stenzek
a8b588371a
SettingsInterface: Add missing const qualifiers 2024-11-03 20:06:32 +10:00
Stenzek
6551358212
Log: Replace channel string search with bitset
Knocks off around ~20KB of code.
2024-10-31 14:41:33 +10:00
Stenzek
0dc78e4c23
Timer: Fix sleep timer handle leak 2024-10-30 15:19:10 +10:00
Stenzek
b86fdc1cc1
Threading: Add error checking to semaphore 2024-10-30 15:19:06 +10:00
Stenzek
631f32a4c9
Common: Add ZipHelpers 2024-10-22 20:46:35 +10:00
Stenzek
5c4a9f9f1c
MinizipHelpers: Close file after reading 2024-10-20 12:43:11 +10:00
Stenzek
972a0693b2
Memmap: Compatibility with old libc without MAP_FIXED_NOREPLACE 2024-10-18 20:48:29 +10:00
Stenzek
2079bac40b
StringUtil: Add FromCharsWithOptionalBase() 2024-10-13 16:43:22 +10:00
Stenzek
0d05548459
MinizipHelpers: Add ReadZipFileToString() 2024-10-13 16:43:22 +10:00
Stenzek
d8fef6f22e
GameDatabase: Store strings as views
Saves duplicating everything in memory, and a ton of heap allocations.
2024-10-13 16:43:22 +10:00
Stenzek
86d66ddf82
StringUtil: Don't call data() on empty string_view 2024-10-13 15:33:38 +10:00
Stenzek
6e26ba3e9e
Qt: Display language flags instead of region 2024-10-12 16:49:07 +10:00
Stenzek
2fc5856c44
StringUtil: Add CompareNoCase() 2024-10-12 16:21:34 +10:00
Stenzek
26b6c704f0
MemMap: Support dynamic page size selection
i.e. 4K to 16K on ARM64.
2024-10-05 19:25:23 +10:00
Stenzek
9ff4fbd21c
StringUtil: Fix incorrect end_ptr computation 2024-10-07 01:42:19 +10:00
Stenzek
45c8f6ea56
BIOS: Make GetInfoForHash() public
And it should take a const span.
2024-10-01 21:14:43 +10:00
Stenzek
ccc3b114d4
FileSystem: Slight ifdef tidy-ups 2024-10-01 21:11:19 +10:00
Stenzek
e06f1f1002
GPU: Add hardware texture cache 2024-09-29 13:37:47 +10:00
Stenzek
4132b5ef3d
Settings: Remove 'Increase Timer Resolution' option
It's no longer needed since I switched to high-resolution waitable
timers, which are supported on Win10 1803+.
2024-09-28 23:50:44 +10:00
Stenzek
ca6b99401b
Common: Build fix when compiling with AVX2 march 2024-09-28 19:43:23 +10:00
Stenzek
2cfad2126d
Common: Missed another SSE4 instruction 2024-09-25 01:37:07 +10:00
Stenzek
b971125469
MSBuild: Support creating legacy SSE2 builds 2024-09-23 21:19:28 +10:00
Stenzek
c439de6364
Common: SSE2 backsupport for vector classes
shuffle8() sucks, the rest aren't _too_ bad.
2024-09-22 21:06:05 +10:00
Stenzek
e1c876671a
Misc: More iNN => sNN 2024-09-22 21:06:05 +10:00
Stenzek
3dca598063
Log: Switch to enum class
Need to change the channel to a bitset too.. the string lookups are
horribly slow, and conflict when one is a prefix of another.
2024-09-21 22:26:06 +10:00
Stenzek
19698559c3
System: Drop IPC server
The one group using it switched to shared memory exports anyway.
2024-09-21 22:26:05 +10:00
Stenzek
a7747c5be3
Common: Add 256-bit integer vector wrapper 2024-09-21 22:26:05 +10:00
Stenzek
96ece5de1c
SmallString: MSVC warning fix 2024-09-19 22:25:35 +10:00
Stenzek
369599202c
StringUtil: Speed up EncodeHex()/append_hex() 2024-09-18 21:42:46 +10:00
Stenzek
401295ebdb
Common: Allow PRINTFLIKE to work on Clang
And thus clang-cl.
2024-09-18 21:31:06 +10:00
Stenzek
d330dca38a
MetalDevice: Use CocoaTools methods 2024-09-13 19:52:09 +10:00
Stenzek
ad67ab7ec3
MetalDevice: Use TranspileAndCreateShaderFromSource() 2024-09-13 17:31:59 +10:00
Stenzek
ddcb0cb541
Misc: Warning fixes 2024-09-10 23:53:27 +10:00
Stenzek
d1770b616f
Settings: Default console logging to running from TTY 2024-09-09 20:55:15 +10:00
Stenzek
e2a3fe14f0
Cheats: Prevent inlining of memory functions
Clang is way too eager here and inlines the whole thing hundreds of
times within CheatList::Apply().
2024-09-09 18:53:51 +10:00
Stenzek
4c31218d2b
GPUDevice: Add API version field
Also tie shader caches to API version and device LUID. That way we don't
have tons of cache files, and they're regenerated if the GPU/driver
changes.
2024-09-08 23:33:05 +10:00
Stenzek
3078339f64
Common: Extract out ryml helpers 2024-09-09 00:35:31 +10:00
Stenzek
b10f043350
StringUtil: Fix typo 2024-09-09 00:35:12 +10:00
Stenzek
1956575710
Cheats: Fix detection of ungrouped cheat import 2024-09-08 11:49:59 +10:00
Stenzek
9d6ec23dc4
Common: Fix GSVector natvis 2024-09-07 21:53:32 +10:00
Stenzek
87eded4bce
FileSystem: Fix FD leak with atomic updated file on Linux
Also add the ability to explicitly commit and check for errors.
2024-09-03 20:43:10 +10:00
Stenzek
6d0f92d4fb
dep/fmt: Bump to v11.0.2 2024-09-03 17:54:43 +10:00
Stenzek
6a3b1a2725
MDEC: Vectorize 16 and 24-bit copy-out
Speedup of 15% and 6% in FMV playback respectively.
2024-09-02 17:57:26 +10:00
Stenzek
88ee70ef8a
Misc: Remove unused files 2024-09-01 23:17:17 +10:00
Stenzek
7f4e5d55db
Misc: Update copyright headers 2024-09-01 22:08:31 +10:00
Stenzek
14ab642ff3
Common: Add aligned_unique_ptr 2024-09-01 13:02:58 +10:00
Stenzek
81c9bdeeef
GSVector: Add a bunch of fp64 operations 2024-09-01 12:00:09 +10:00
Stenzek
cdba1fe25a
Common: Rename iNN -> sNN 2024-08-31 14:38:20 +10:00
Stenzek
c7a6e7e483
SHA1Digest: Span-ify 2024-08-26 21:27:51 +10:00
Stenzek
ae2e79f401
Util: Add CompressHelpers 2024-08-26 21:27:30 +10:00
Stenzek
88e4bf6aad
SmallString: Tidy-up and add wide string helpers 2024-08-26 14:06:18 +10:00
Stenzek
707453b596
FileSystem: Swap vector for DynamicHeapArray
No point zeroing it out.
2024-08-25 22:13:18 +10:00
Stenzek
c8e61307b2
StringUtil: Use unicode replacement character in DecodeUTF8() 2024-08-25 13:56:01 +10:00
Stenzek
bda6869084
Qt: Implement per-game controller configuration 2024-08-24 14:10:25 +10:00
Stenzek
44a12db931
Log: Flush on every write
Slower, but if we crash, need the whole thing.
2024-08-18 12:18:10 +10:00
Stenzek
2e2451998c
Misc: Fix ARM32 build (again) 2024-08-14 21:39:29 +10:00
Stenzek
cbbfc2f11a
StringUtil: Add BytePatternSearch() 2024-08-13 14:47:11 +10:00
Stenzek
290c44f4c0
Error: Add TakeDescription() 2024-08-11 20:43:13 +10:00
Stenzek
8ad133dbc0
FileSystem: Fix crash on file open fail in WriteAtomicRenamedFile() 2024-08-09 12:36:21 +10:00
Stenzek
81295c8a7d
FileSystem: Correctly use lstat() on Linux 2024-08-06 15:52:26 +10:00
Stenzek
e499f9052a
MemMap: Fix inverted condition 2024-08-05 13:08:42 +10:00
Stenzek
6c5ffba18e
MemMap: Fix object leak on fallocate() failure 2024-08-05 12:39:17 +10:00
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