dolphin/Source/Core/Common
JosJuice 06e60ac327 JitArm64: Implement accurate NaNs
For quite some time now, we've had a setting on x86-64 that makes Dolphin
handle NaNs in a more accurate but slower way. There's only one game that
cares about this, Dragon Ball: Revenge of King Piccolo, and what that game
cares about more specifically is that the default NaN (or "generated NaN"
as I believe it's called in PowerPC documentation) is the same as on
PowerPC. On ARM, the default NaN is the same as on PowerPC, so for the
longest time we didn't need to do anything special to get Dragon Ball:
Revenge of King Piccolo working. However, in 93e636a I changed how we
handle FMA instructions in a way that resulted in the sign of NaNs
becoming inverted for nmadd/nmsub instructions, breaking the game.
To fix this, let's implement the AccurateNaNs setting, like on x86-64.
2022-12-03 19:41:32 +01:00
..
Config Integrate "Ignore for this session" better with config system 2022-09-24 13:03:45 +02:00
Crypto Add initial WiiConnect24 support 2022-10-16 04:19:36 +02:00
Debug Merge pull request #10771 from TryTwo/PR_AutoStep 2022-11-04 23:32:54 +01:00
GL
Logging Use __VA_OPT__(, ) __VA_ARGS__ instead of ##__VA_ARGS__ 2022-08-23 12:09:57 -07:00
Align.h
Analytics.cpp
Analytics.h
AndroidAnalytics.cpp
AndroidAnalytics.h
Arm64Emitter.cpp JitArm64: Implement accurate NaNs 2022-12-03 19:41:32 +01:00
Arm64Emitter.h JitArm64: Implement accurate NaNs 2022-12-03 19:41:32 +01:00
ArmCommon.h
ArmCPUDetect.cpp CPUDetect: improve win/arm64 support 2022-07-25 21:21:11 -07:00
ArmFPURoundMode.cpp
Assert.h Use __VA_OPT__(, ) __VA_ARGS__ instead of ##__VA_ARGS__ 2022-08-23 12:09:57 -07:00
BitField.h
BitField.natvis
BitSet.h
BitUtils.h Common: Remove unused stuff from BitUtils.h 2022-08-05 17:54:51 +02:00
BlockingLoop.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
build_info.txt.in MacUpdater: check os version 2022-10-30 12:04:57 -07:00
CDUtils.cpp Move to C++20 for non-MSVC compilers 2022-07-30 23:35:53 +01:00
CDUtils.h
ChunkFile.h HostFileSystem: Set all NAND folders to be saved in save states when a movie is active 2022-11-10 14:02:29 -05:00
CMakeLists.txt Merge pull request #10771 from TryTwo/PR_AutoStep 2022-11-04 23:32:54 +01:00
CodeBlock.h
ColorUtil.cpp
ColorUtil.h
Common.h
CommonFuncs.cpp
CommonFuncs.h
CommonPaths.h Config: Add option to use JPN as the Japanese region directory in GetDirectoryForRegion(). 2022-11-22 17:53:19 +01:00
CommonTypes.h
CompatPatches.cpp
CPUDetect.h CPUDetect: improve win/arm64 support 2022-07-25 21:21:11 -07:00
DebugInterface.h
DynamicLibrary.cpp
DynamicLibrary.h
ENetUtil.cpp ENetUtil: Check return values of ENet functions in SendPacket(). 2022-10-09 02:39:38 +02:00
ENetUtil.h ENetUtil: Check return values of ENet functions in SendPacket(). 2022-10-09 02:39:38 +02:00
EnumFormatter.h
EnumMap.h EnumMap: Fix typo 2022-08-28 22:38:35 -07:00
EnumMap.natvis
Event.h
FatFsUtil.cpp Zero-initialize structures passed to FatFs functions. 2022-10-16 17:12:04 +02:00
FatFsUtil.h FatFsUtil: Add ability to provide callbacks for the FatFs code. 2022-09-29 05:16:21 +02:00
FileSearch.cpp
FileSearch.h
FileUtil.cpp FileUtil: Return success bool from CopyDir 2022-10-31 23:33:02 -07:00
FileUtil.h FileUtil: Return success bool from CopyDir 2022-10-31 23:33:02 -07:00
FixedSizeQueue.h
Flag.h
FloatUtils.cpp
FloatUtils.h
FormatUtil.h
FPURoundMode.h
GekkoDisassembler.cpp
GekkoDisassembler.h
GenericCPUDetect.cpp
GenericFPURoundMode.cpp
Hash.cpp Common/Hash: use zlib-ng for adler32. small cleanups. 2022-08-01 10:07:27 -07:00
Hash.h Common/Hash: use zlib-ng for adler32. small cleanups. 2022-08-01 10:07:27 -07:00
HRWrap.cpp Common: Create HRWrap 2022-01-09 12:44:15 -08:00
HRWrap.h
HttpRequest.cpp
HttpRequest.h
Image.cpp Common/Image: Add unit to log message 2022-09-26 15:04:15 -07:00
Image.h replace libpng with libspng 2022-07-25 18:32:16 -07:00
IniFile.cpp StripSpaces: only strip spaces 2022-07-25 18:40:12 -07:00
IniFile.h
Inline.h
Intrinsics.h
IOFile.cpp
IOFile.h
JitRegister.cpp
JitRegister.h
Lazy.h
LdrWatcher.cpp
LdrWatcher.h
LinearDiskCache.h
make_scmrev.h.js
MathUtil.cpp
MathUtil.h
Matrix.cpp Common/Matrix: Fix Quaternion Norm function. 2022-10-10 21:16:35 -05:00
Matrix.h Common/Matrix: Add equality operators to TVec2/3/4. 2022-09-24 01:38:01 +02:00
MemArena.h
MemArenaAndroid.cpp
MemArenaUnix.cpp
MemArenaWin.cpp
MemoryUtil.cpp
MemoryUtil.h
MinizipUtil.h ResourcePack: dont scan for individual files 2022-08-06 15:38:46 -07:00
MsgHandler.cpp Common/MsgHandler: Use caller's file and line number in log messages 2022-01-09 12:44:14 -08:00
MsgHandler.h Common: Add [[nodiscard]] to GetStringT(). 2022-09-23 14:58:18 +02:00
NandPaths.cpp IOS/ES: Add support for V1Ticket 2022-11-17 17:54:06 -05:00
NandPaths.h IOS/ES: Add support for V1Ticket 2022-11-17 17:54:06 -05:00
Network.cpp Common/Network: Add StrNetworkError helper function 2022-08-24 21:05:18 +04:00
Network.h BBA/BuiltIn: Add SSDP multicast support 2022-08-24 21:29:57 +04:00
PcapFile.cpp
PcapFile.h
PerformanceCounter.cpp
PerformanceCounter.h
Profiler.cpp Common::Timer: use chrono::steady_clock internally 2022-08-02 22:24:06 -07:00
Profiler.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
QoSSession.cpp
QoSSession.h
Random.cpp
Random.h
Result.h
scmrev.h.in
SCMRevGen.vcxproj
ScopeGuard.h
SDCardUtil.cpp
SDCardUtil.h
Semaphore.h
SettingsHandler.cpp Use fmt::localtime instead of thread-unsafe std::localtime 2021-10-15 22:49:13 +02:00
SettingsHandler.h
SFMLHelper.cpp
SFMLHelper.h
SocketContext.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
SocketContext.h
SPSCQueue.h
StringUtil.cpp Merge pull request #10876 from shuffle2/cpudetect 2022-07-26 12:52:50 +02:00
StringUtil.h Merge pull request #10876 from shuffle2/cpudetect 2022-07-26 12:52:50 +02:00
Swap.h
SymbolDB.cpp
SymbolDB.h
Thread.cpp
Thread.h
Timer.cpp add TODO for chrono in GetLocalTimeSinceJan1970 2022-08-06 22:25:30 -07:00
Timer.h Timer: protect usages of ms timers from rollover 2022-08-02 22:24:06 -07:00
TraversalClient.cpp
TraversalClient.h
TraversalProto.h
TraversalServer.cpp
TypeUtils.h
UPnP.cpp
UPnP.h
VariantUtil.h
Version.cpp
Version.h
WindowSystemInfo.h
WorkQueueThread.h 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
x64ABI.cpp
x64ABI.h
x64CPUDetect.cpp CPUDetect: improve win/arm64 support 2022-07-25 21:21:11 -07:00
x64Emitter.cpp
x64Emitter.h HW: Pass System to MMIO handlers. 2022-11-23 05:52:21 +01:00
x64FPURoundMode.cpp
x64Reg.h