Commit Graph

3675 Commits

Author SHA1 Message Date
JoshuaMK e2f4400f49 Make SetPatch responsible for overwriting old patches 2022-10-26 22:46:49 -05:00
JoshuaMK 2594447c25 Have UnsetPatch only unset the argument address 2022-10-23 18:42:34 -05:00
JoshuaMK e10b3308c2 Fix patch corruption using find_if instead of remove_if 2022-10-23 18:41:15 -05:00
JosJuice 4dbf0b8e90 JitArm64: Reimplement Force25BitPrecision
The previous implementation of Force25BitPrecision was essentially a
translation of the x86-64 implementation. It worked, but we can make a
more efficient implementation by using an AArch64 instruction I don't
believe x86-64 has an equivalent of: URSHR. The latency is the same as
before, but the instruction count and register count are both reduced.
2022-10-22 10:03:52 +02:00
Markus Wick bba38a3642
Merge pull request #11182 from JosJuice/aarch64-emit-shift-imm
Arm64Emitter: Combine immh and immb for Emit(Scalar)ShiftImm
2022-10-22 09:23:06 +02:00
JMC47 00e23da607
Merge pull request #11051 from shuffle2/update-vcredist
WinUpdater: Check OS and VC++ Redist versions
2022-10-21 13:55:51 -04:00
JosJuice 84375a91d9 Arm64Emitter: Combine immh and immb for Emit(Scalar)ShiftImm
This simplifies the callers of EmitShiftImm and EmitScalarShiftImm.
2022-10-19 20:20:39 +02:00
Admiral H. Curtiss b1725dfb33
Zero-initialize structures passed to FatFs functions. 2022-10-16 17:12:04 +02:00
Admiral H. Curtiss c0476fdac3
Merge pull request #11072 from SketchMaster2001/wiiconnect24
Add initial WiiConnect24 support
2022-10-16 04:31:28 +02:00
SketchMaster2001 e413d7f5ec
Add initial WiiConnect24 support 2022-10-16 04:19:36 +02:00
Jordan Woyak 6eb1f8beba Common/Matrix: Fix Quaternion Norm function. 2022-10-10 21:16:35 -05:00
Admiral H. Curtiss bfbc04ef5e
ENetUtil: Check return values of ENet functions in SendPacket(). 2022-10-09 02:39:38 +02:00
Admiral H. Curtiss 66684a392f
Deduplicate NetPlayServer::Send() and NetPlayClient::Send() into ENetUtil::SendPacket(). 2022-10-09 02:25:28 +02:00
Pokechu22 e8221d7948 Common/PointerWrap: Remove DoPOD
This was added in 385d8e2b15, but became somewhat redundant with Do in 4c7bbd96e4, and completely redundant now that std::is_trivially_copyable_v is well-supported.
2022-10-06 11:25:36 -07:00
Admiral H. Curtiss 79efd5df1e
Common/WorkQueueThread: Make Shutdown() public, so users can wait for all currently queued tasks to finish when shutting down the thread. 2022-10-01 23:58:52 +02:00
Mai e3e6c3dfa4
Merge pull request #11088 from JosJuice/uicommon-set-enable-alert
Move a SetEnableAlert call to UICommon
2022-09-29 09:09:29 -04:00
Mai 6805c9dd0d
Merge pull request #11108 from AdmiralCurtiss/fat-fs-callbacks
FatFsUtil: Add ability to provide callbacks for the FatFs code.
2022-09-29 09:08:12 -04:00
Admiral H. Curtiss 3182d9178c
FatFsUtil: Add ability to provide callbacks for the FatFs code. 2022-09-29 05:16:21 +02:00
Pokechu22 67ed4fa92d Common/Image: Add unit to log message 2022-09-26 15:04:15 -07:00
JosJuice 04072f0ce6 Integrate "Ignore for this session" better with config system
Because of the previous commit, this is needed to stop DolphinQt from
forgetting that the user pressed ignore whenever any part of the config
is changed.

This commit also changes the behavior a bit on DolphinQt: "Ignore for
this session" now applies to the current emulation session instead of
the current Dolphin launch. This matches how it already worked on
Android, and is in my opinion better because it means the user won't
lose out on important panic alerts in a game becase they played another
game first that had repeated panic alerts that they wanted to ignore.

For Android, this commit isn't necessary, but it makes the code cleaner.
2022-09-24 13:03:45 +02:00
Admiral H. Curtiss 70485472b1
Common/Matrix: Add equality operators to TVec2/3/4. 2022-09-24 01:38:01 +02:00
Admiral H. Curtiss 9860b68b9c
Common: Add [[nodiscard]] to GetStringT(). 2022-09-23 14:58:18 +02:00
Shawn Hoffman 717c36bc43 WinUpdater: Check OS and VC++ Redist versions. 2022-09-20 15:57:50 -07:00
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