From ef63bccfc12cc17f2c104215717fbec204c8471a Mon Sep 17 00:00:00 2001 From: Shawn Hoffman Date: Fri, 25 Feb 2011 04:00:16 +0000 Subject: [PATCH] vs2010: make -d be passed to debugfast builds launched from vs revert r7200. instead, wrap the Interpreter_FloatingPoint.cpp in fp:precise for msvc git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7238 8ced0084-cf51-0410-be5f-012b33b47a6e --- .../Interpreter/Interpreter_FloatingPoint.cpp | 12 +++++++++--- Source/Core/DolphinWX/Dolphin.vcxproj.user | 2 ++ 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/Source/Core/Core/Src/PowerPC/Interpreter/Interpreter_FloatingPoint.cpp b/Source/Core/Core/Src/PowerPC/Interpreter/Interpreter_FloatingPoint.cpp index b29b7dad35..3b0ae602cd 100644 --- a/Source/Core/Core/Src/PowerPC/Interpreter/Interpreter_FloatingPoint.cpp +++ b/Source/Core/Core/Src/PowerPC/Interpreter/Interpreter_FloatingPoint.cpp @@ -42,6 +42,10 @@ using namespace MathUtil; void UpdateSSEState(); +#ifdef _MSC_VER +#pragma float_control(precise, on, push) +#endif + // Extremely rare - actually, never seen. // Star Wars : Rogue Leader spams that at some point :| void Interpreter::Helper_UpdateCR1(double _fValue) @@ -242,9 +246,7 @@ void Interpreter::fnegx(UGeckoInstruction _inst) void Interpreter::fselx(UGeckoInstruction _inst) { - // D = (A >= 0) ? C : B - rPS0(_inst.FD) = (rPS0(_inst.FA) < 0.0 || riPS0(_inst.FA) == PPC_NAN_U64) ? - rPS0(_inst.FB) : rPS0(_inst.FC); + rPS0(_inst.FD) = (rPS0(_inst.FA) >= -0.0) ? rPS0(_inst.FC) : rPS0(_inst.FB); // This is a binary instruction. Does not alter FPSCR if (_inst.Rc) Helper_UpdateCR1(rPS0(_inst.FD)); } @@ -517,3 +519,7 @@ void Interpreter::fsqrtx(UGeckoInstruction _inst) UpdateFPRF(rPS0(_inst.FD)); if (_inst.Rc) Helper_UpdateCR1(rPS0(_inst.FD)); } + +#ifdef _MSC_VER +#pragma float_control(pop) +#endif diff --git a/Source/Core/DolphinWX/Dolphin.vcxproj.user b/Source/Core/DolphinWX/Dolphin.vcxproj.user index ac6cafaf98..ac67ec629b 100644 --- a/Source/Core/DolphinWX/Dolphin.vcxproj.user +++ b/Source/Core/DolphinWX/Dolphin.vcxproj.user @@ -3,6 +3,7 @@ $(TargetDir) WindowsLocalDebugger + -d $(TargetDir) @@ -15,6 +16,7 @@ $(TargetDir) WindowsLocalDebugger + -d $(TargetDir)