From d52d383c224aa60d0d4541276e80e114486eaab3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Mon, 10 Oct 2022 10:46:51 +0200 Subject: [PATCH] Delete some misguided FPU control code, that we definitely don't want --- Common/Math/math_util.cpp | 43 ++------------------------------------- Common/Math/math_util.h | 9 -------- Qt/QtMain.cpp | 1 - SDL/SDLMain.cpp | 1 - ios/ViewController.mm | 3 --- 5 files changed, 2 insertions(+), 55 deletions(-) diff --git a/Common/Math/math_util.cpp b/Common/Math/math_util.cpp index 9b1a59a755..6e72791f87 100644 --- a/Common/Math/math_util.cpp +++ b/Common/Math/math_util.cpp @@ -1,44 +1,5 @@ #include "Common/Math/math_util.h" -#include -// QNX can only use RunFast mode and it is already the default. -#if defined(__ARM_ARCH_7A__) -// Enables 'RunFast' VFP mode. -void EnableFZ() { - int x; - asm( - "fmrx %[result],FPSCR \r\n" - "orr %[result],%[result],#16777216 \r\n" - "fmxr FPSCR,%[result]" - :[result] "=r" (x) : : - ); - //printf("ARM FPSCR: %08x\n",x); -} +#include -// New fastmode code from: http://pandorawiki.org/Floating_Point_Optimization -// These settings turbocharge the slow VFP unit on Cortex-A8 based chips by setting -// restrictions that permit running VFP instructions on the NEON unit. -// Denormal flush-to-zero, for example. -void FPU_SetFastMode() { - static const unsigned int x = 0x04086060; - static const unsigned int y = 0x03000000; - int r; - asm volatile ( - "fmrx %0, fpscr \n\t" //r0 = FPSCR - "and %0, %0, %1 \n\t" //r0 = r0 & 0x04086060 - "orr %0, %0, %2 \n\t" //r0 = r0 | 0x03000000 - "fmxr fpscr, %0 \n\t" //FPSCR = r0 - : "=r"(r) - : "r"(x), "r"(y) - ); -} - -#else - -void EnableFZ() { - // TODO -} - -void FPU_SetFastMode() {} - -#endif +// Could delete this file, but might find use again. diff --git a/Common/Math/math_util.h b/Common/Math/math_util.h index fd47662b54..8f8962cab4 100644 --- a/Common/Math/math_util.h +++ b/Common/Math/math_util.h @@ -189,12 +189,3 @@ inline uint16_t ShrinkToHalf(float full) { FP16 fp = float_to_half_fast3(fp32); return fp.u; } - -// FPU control. -void EnableFZ(); - -// Enable both FZ and Default-NaN. Is documented to flip some ARM implementation into a "run-fast" mode -// where they can schedule VFP instructions on the NEON unit (these implementations have -// very slow VFP units). -// http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0274h/Babffifj.html -void FPU_SetFastMode(); diff --git a/Qt/QtMain.cpp b/Qt/QtMain.cpp index bba1f1ae2b..c6381a112d 100644 --- a/Qt/QtMain.cpp +++ b/Qt/QtMain.cpp @@ -316,7 +316,6 @@ static int mainInternal(QApplication &a) { emugl->resize(pixel_xres, pixel_yres); emugl->showFullScreen(); #endif - EnableFZ(); // Disable screensaver #if defined(QT_HAS_SYSTEMINFO) QScreenSaver ssObject(emugl); diff --git a/SDL/SDLMain.cpp b/SDL/SDLMain.cpp index da966cabae..0a6daa5361 100644 --- a/SDL/SDLMain.cpp +++ b/SDL/SDLMain.cpp @@ -807,7 +807,6 @@ int main(int argc, char *argv[]) { } else { joystick = nullptr; } - EnableFZ(); int framecount = 0; bool mouseDown = false; diff --git a/ios/ViewController.mm b/ios/ViewController.mm index c90c30a22a..63d241cf46 100644 --- a/ios/ViewController.mm +++ b/ios/ViewController.mm @@ -807,6 +807,3 @@ void bindDefaultFBO() { [sharedViewController bindDefaultFBO]; } - -void EnableFZ(){}; -void DisableFZ(){};