Merge pull request #94655 from bruvzg/ffp-contract-2
Disable FP contraction.
This commit is contained in:
commit
9b7f5f5fa5
6 changed files with 34 additions and 0 deletions
|
@ -190,6 +190,8 @@ def configure(env: "SConsEnvironment"):
|
|||
env.Append(CCFLAGS=["-mfix-cortex-a53-835769"])
|
||||
env.Append(CPPDEFINES=["__ARM_ARCH_8A__"])
|
||||
|
||||
env.Append(CCFLAGS=["-ffp-contract=off"])
|
||||
|
||||
# Link flags
|
||||
|
||||
env.Append(LINKFLAGS="-Wl,--gc-sections -Wl,--no-undefined -Wl,-z,now".split())
|
||||
|
|
|
@ -179,6 +179,8 @@ def configure(env: "SConsEnvironment"):
|
|||
env.Append(CCFLAGS=["-fsanitize-recover=memory"])
|
||||
env.Append(LINKFLAGS=["-fsanitize=memory"])
|
||||
|
||||
env.Append(CCFLAGS=["-ffp-contract=off"])
|
||||
|
||||
# LTO
|
||||
|
||||
if env["lto"] == "auto": # Full LTO for production.
|
||||
|
|
|
@ -96,6 +96,8 @@ def configure(env: "SConsEnvironment"):
|
|||
env.Append(CCFLAGS=["-arch", "x86_64", "-mmacosx-version-min=10.13"])
|
||||
env.Append(LINKFLAGS=["-arch", "x86_64", "-mmacosx-version-min=10.13"])
|
||||
|
||||
env.Append(CCFLAGS=["-ffp-contract=off"])
|
||||
|
||||
cc_version = get_compiler_version(env)
|
||||
cc_version_major = cc_version["apple_major"]
|
||||
cc_version_minor = cc_version["apple_minor"]
|
||||
|
|
|
@ -467,6 +467,8 @@ def configure_msvc(env: "SConsEnvironment", vcvars_msvc_config):
|
|||
if env["arch"] == "x86_32":
|
||||
env["x86_libtheora_opt_vc"] = True
|
||||
|
||||
env.Append(CCFLAGS=["/fp:strict"])
|
||||
|
||||
env.AppendUnique(CCFLAGS=["/Gd", "/GR", "/nologo"])
|
||||
env.AppendUnique(CCFLAGS=["/utf-8"]) # Force to use Unicode encoding.
|
||||
env.AppendUnique(CXXFLAGS=["/TP"]) # assume all sources are C++
|
||||
|
@ -675,6 +677,8 @@ def configure_mingw(env: "SConsEnvironment"):
|
|||
if env["arch"] in ["x86_32", "x86_64"]:
|
||||
env["x86_libtheora_opt_gcc"] = True
|
||||
|
||||
env.Append(CCFLAGS=["-ffp-contract=off"])
|
||||
|
||||
mingw_bin_prefix = get_mingw_bin_prefix(env["mingw_prefix"], env["arch"])
|
||||
|
||||
if env["use_llvm"]:
|
||||
|
|
18
thirdparty/libwebp/patches/godot-msvc-arm64-fpstrict-fix.patch
vendored
Normal file
18
thirdparty/libwebp/patches/godot-msvc-arm64-fpstrict-fix.patch
vendored
Normal file
|
@ -0,0 +1,18 @@
|
|||
diff --git a/thirdparty/libwebp/sharpyuv/sharpyuv_gamma.c b/thirdparty/libwebp/sharpyuv/sharpyuv_gamma.c
|
||||
index 09028428ac..3184e2b80f 100644
|
||||
--- a/thirdparty/libwebp/sharpyuv/sharpyuv_gamma.c
|
||||
+++ b/thirdparty/libwebp/sharpyuv/sharpyuv_gamma.c
|
||||
@@ -26,7 +26,13 @@ static uint32_t kGammaToLinearTabS[GAMMA_TO_LINEAR_TAB_SIZE + 2];
|
||||
#define LINEAR_TO_GAMMA_TAB_SIZE (1 << LINEAR_TO_GAMMA_TAB_BITS)
|
||||
static uint32_t kLinearToGammaTabS[LINEAR_TO_GAMMA_TAB_SIZE + 2];
|
||||
|
||||
+// -- GODOT start --
|
||||
+#if defined(_MSC_VER)
|
||||
+static const double kGammaF = 2.222222222222222;
|
||||
+#else
|
||||
static const double kGammaF = 1. / 0.45;
|
||||
+#endif
|
||||
+// -- GODOT end --
|
||||
#define GAMMA_TO_LINEAR_BITS 16
|
||||
|
||||
static volatile int kGammaTablesSOk = 0;
|
6
thirdparty/libwebp/sharpyuv/sharpyuv_gamma.c
vendored
6
thirdparty/libwebp/sharpyuv/sharpyuv_gamma.c
vendored
|
@ -26,7 +26,13 @@ static uint32_t kGammaToLinearTabS[GAMMA_TO_LINEAR_TAB_SIZE + 2];
|
|||
#define LINEAR_TO_GAMMA_TAB_SIZE (1 << LINEAR_TO_GAMMA_TAB_BITS)
|
||||
static uint32_t kLinearToGammaTabS[LINEAR_TO_GAMMA_TAB_SIZE + 2];
|
||||
|
||||
// -- GODOT start --
|
||||
#if defined(_MSC_VER)
|
||||
static const double kGammaF = 2.222222222222222;
|
||||
#else
|
||||
static const double kGammaF = 1. / 0.45;
|
||||
#endif
|
||||
// -- GODOT end --
|
||||
#define GAMMA_TO_LINEAR_BITS 16
|
||||
|
||||
static volatile int kGammaTablesSOk = 0;
|
||||
|
|
Loading…
Reference in a new issue