Commit Graph

3652 Commits

Author SHA1 Message Date
Pokechu22
a34d5e5960 Arm64Emitter: Add additional alignment assertions
Before, unaligned values would be silently ignored in most cases.
2022-09-18 23:33:24 -07:00
Pokechu22
ec1ed64832 EnumMap: Fix typo 2022-08-28 22:38:35 -07:00
Sepalani
7202cf2650 BBA/BuiltIn: Add SSDP multicast support 2022-08-24 21:29:57 +04:00
Sepalani
e783a7f409 Common/Network: Add StrNetworkError helper function 2022-08-24 21:05:18 +04:00
Admiral H. Curtiss
e5cfa286bd
Merge pull request #10960 from shuffle2/mz
ResourcePack: dont scan for individual files
2022-08-24 17:11:21 +02:00
Admiral H. Curtiss
a7d358a97b
Merge pull request #11003 from sepalani/decode-error
Move SocketManager's DecodeError to Common
2022-08-24 17:01:07 +02:00
Pokechu22
0cced44142 Use __VA_OPT__(, ) __VA_ARGS__ instead of ##__VA_ARGS__
Per https://en.cppreference.com/w/cpp/preprocessor/replace#.23_and_.23.23_operators the `##` behavior is a nonstandard extension; this extension seems to be supported by all compilers we care about, but IntelliSense in visual studio doesn't correctly handle it, resulting in false errors in the IDE (but not when compiling).

Per https://en.cppreference.com/w/cpp/preprocessor/replace#Function-like_macros C++20 introduced a workaround, where `__VA_OPT__(, )` generates a comma if and only if `__VA_ARGS__` is non-empty.

This PR replaces all occurrences, with the exception of Externals, DSPSpy (which is not likely to be edited in MSVC and does not target C++20 currently), and JitArm64_Integer.cpp (which uses `Function(__VA_ARGS__)`, and thus does not ever need a comma).
2022-08-23 12:09:57 -07:00
Sepalani
597fb9ff6d Move SocketManager's DecodeError to Common
Fix thread safety issue
2022-08-22 14:02:26 +04:00
Mai
e9e2c741a2
Merge pull request #10953 from JosJuice/aarch64-add-encoding
Arm64Emitter: Fix encoding of size for ADD (vector)
2022-08-09 18:13:50 -04:00
Shawn Hoffman
6e94c20abd add TODO for chrono in GetLocalTimeSinceJan1970 2022-08-06 22:25:30 -07:00
Shawn Hoffman
292724b228 Revert "msvc: use std::chrono for GetLocalTimeSinceJan1970"
This reverts commit 86da6c98fb.
2022-08-06 22:22:14 -07:00
Shawn Hoffman
9bb8315441 ResourcePack: dont scan for individual files
walking the zip prevents minizip from re-reading the same
data repeatedly from the actual backing filesystem.
also improves most usages of minizip to allow for >4GB,
files altho we probably don't need it
2022-08-06 15:38:46 -07:00
Tilka
3595c8b295
Merge pull request #10952 from JosJuice/bitutils-remove-unused
Common: Remove unused stuff from BitUtils.h
2022-08-05 21:08:02 +01:00
JosJuice
52661dcc76 Arm64Emitter: Fix encoding of size for ADD (vector)
This was causing a bug in the rounding of paired single multiplication
operands. If Force25BitPrecision was called for quad registers, the
element size of its ADD instruction would get treated as if it was 16
instead of the intended 64, which would cause the result of the
calculation to be incorrect if the carry had to pass a 16-bit boundary.

Fixes one of the two bugs reported in
https://bugs.dolphin-emu.org/issues/12998.
2022-08-05 21:49:28 +02:00
JosJuice
c00008e3cd Common: Remove unused stuff from BitUtils.h 2022-08-05 17:54:51 +02:00
JosJuice
939fa1ed1c
Merge pull request #10941 from shuffle2/crypto-cleanup
Crypto cleanup
2022-08-05 12:12:34 +02:00
Mai
f59f1a2a35
Merge pull request #10740 from Tilka/cxx20
Move to C++20 for non-MSVC compilers
2022-08-04 09:31:31 -04:00
Mai
a8b2174ce6
Merge pull request #10872 from shuffle2/timer
Timer improvements
2022-08-03 14:30:29 -04:00
Shawn Hoffman
bf5076eb01 crypto/sha1: add real workaround for msvc/arm64 bad codegen 2022-08-02 23:05:45 -07:00
Shawn Hoffman
78142e30cc crypto/sha1: simplify enablement of sha insns on non-msvc 2022-08-02 23:05:07 -07:00
Shawn Hoffman
4e6aa28da4 crypto/aes: silence warning on godforsaken android gcc 2022-08-02 23:03:51 -07:00
Shawn Hoffman
fec61f89a3 Timer: protect usages of ms timers from rollover 2022-08-02 22:24:06 -07:00
Shawn Hoffman
86da6c98fb msvc: use std::chrono for GetLocalTimeSinceJan1970 2022-08-02 22:24:06 -07:00
Shawn Hoffman
b473c35873 windows: mark as HighQoS, ensure timer resolution is honored 2022-08-02 22:24:06 -07:00
Shawn Hoffman
3384b1385e move "double time" code into State from Timer
Ideally the statesave format could be changed
to just store a u64 in the future
2022-08-02 22:24:06 -07:00
Shawn Hoffman
09089eeee0 Common::Timer: use chrono::steady_clock internally 2022-08-02 22:24:06 -07:00
Shawn Hoffman
8d16971a6f LogManager: use own timestamp function 2022-08-02 22:24:05 -07:00
Shawn Hoffman
d71797154a VolumeVerifier: enable fast hash functions by default
sets defaults based on cpu support.
2022-08-02 22:23:49 -07:00
Tilka
7d2d5d914b
Merge pull request #10903 from shuffle2/hash-reorg
Common/Hash: use zlib-ng for adler32. small cleanups.
2022-08-02 18:29:04 +01:00
Shawn Hoffman
17c554c165 Common/Hash: use zlib-ng for adler32. small cleanups. 2022-08-01 10:07:27 -07:00
Shawn Hoffman
46ad8b9d68 Implement hw accelerated AES 2022-08-01 10:00:42 -07:00
Tillmann Karras
d033d92b05 Move to C++20 for non-MSVC compilers 2022-07-30 23:35:53 +01:00
Shawn Hoffman
97ff757a74 SHA1/arm64: fix casting warning on certain gcc 2022-07-30 12:06:21 -07:00
Admiral H. Curtiss
a9d9f5c0da
Merge pull request #10899 from shuffle2/sha1
add hw-accelerated SHA1
2022-07-30 14:11:37 +02:00
Shawn Hoffman
25462f4a3c SavePNG: make sure to finalize image file 2022-07-28 10:12:36 -07:00
Shawn Hoffman
8939210d8a Common/Crypto/SHA1: implement accelerated versions 2022-07-27 01:07:48 -07:00
Shawn Hoffman
dd29a54cf6 introduce wrapper for SHA1 functionality 2022-07-26 22:16:37 -07:00
Josh
7e75bcd36f
Use Dynamic last Log Type 2022-07-27 00:07:53 +02:00
Admiral H. Curtiss
a9edf129e3
Merge pull request #10889 from shuffle2/spng
replace libpng with libspng
2022-07-26 12:53:04 +02:00
Admiral H. Curtiss
6b419c7ca3
Merge pull request #10876 from shuffle2/cpudetect
CPUDetect: improve win/arm64 support
2022-07-26 12:52:50 +02:00
Shawn Hoffman
76b4318b88 CPUDetect: improve win/arm64 support
read brand_string on macos/arm64
remove unused flags
report family/model info instead of vendor name
2022-07-25 21:21:11 -07:00
Shawn Hoffman
f92541fbd9 StripSpaces: only strip spaces
StripWhitespace maintains old behavior
2022-07-25 18:40:12 -07:00
Shawn Hoffman
acb10f0006 replace libpng with libspng 2022-07-25 18:32:16 -07:00
Shawn Hoffman
0a15d2fcec cubeb: fix logged source file paths 2022-07-18 09:52:54 -07:00
Admiral H. Curtiss
2d8d3358c4
FatFsUtil: Skip past entries with invalid filenames. 2022-07-11 23:11:42 +02:00
Admiral H. Curtiss
de9c9f2281
FatFsUtil: Improve error handling and error reporting. 2022-07-11 23:11:42 +02:00
Admiral H. Curtiss
f40eeebcf0
FatFsUtil: Add some path traversal attack protection when unpacking. 2022-07-11 23:11:42 +02:00
Admiral H. Curtiss
a621fdf857
Core: In deterministic mode, build SD cards with a consistent filename order and dummy timestamps. 2022-07-11 23:11:41 +02:00
Admiral H. Curtiss
a5b1bfef68
Common: Change default path for Wii SD cards to not be inside the Wii NAND. 2022-07-11 23:11:41 +02:00
Admiral H. Curtiss
77d4591fb4
Core: If configured, sync SD card image with SD card folder on emulation start and end.
Co-authored-by: Pablo Stebler <pablo@stebler.xyz>
2022-07-11 23:11:41 +02:00