diff options
| author | 2021-01-03 03:27:29 -0800 | |
|---|---|---|
| committer | 2021-01-03 03:27:29 -0800 | |
| commit | 71e18dddbe14464160ac2d90e42d8b41da3d2e21 (patch) | |
| tree | 5520c28eb3930f0eb6672e5a0461e4ebceebd9fb /src/core | |
| parent | Merge pull request #5279 from bunnei/buffer-queue-connect (diff) | |
| parent | externals: Update dynarmic to 3806284cb (diff) | |
| download | yuzu-71e18dddbe14464160ac2d90e42d8b41da3d2e21.tar.gz yuzu-71e18dddbe14464160ac2d90e42d8b41da3d2e21.tar.xz yuzu-71e18dddbe14464160ac2d90e42d8b41da3d2e21.zip | |
Merge pull request #5278 from MerryMage/cpuopt_unsafe_inaccurate_nan
dynarmic: Add Unsafe_InaccurateNaN optimization
Diffstat (limited to 'src/core')
| -rw-r--r-- | src/core/arm/dynarmic/arm_dynarmic_32.cpp | 3 | ||||
| -rw-r--r-- | src/core/arm/dynarmic/arm_dynarmic_64.cpp | 3 | ||||
| -rw-r--r-- | src/core/settings.h | 1 |
3 files changed, 7 insertions, 0 deletions
diff --git a/src/core/arm/dynarmic/arm_dynarmic_32.cpp b/src/core/arm/dynarmic/arm_dynarmic_32.cpp index 8aaf11eee..0831dd5d2 100644 --- a/src/core/arm/dynarmic/arm_dynarmic_32.cpp +++ b/src/core/arm/dynarmic/arm_dynarmic_32.cpp | |||
| @@ -181,6 +181,9 @@ std::shared_ptr<Dynarmic::A32::Jit> ARM_Dynarmic_32::MakeJit(Common::PageTable& | |||
| 181 | if (Settings::values.cpuopt_unsafe_reduce_fp_error) { | 181 | if (Settings::values.cpuopt_unsafe_reduce_fp_error) { |
| 182 | config.optimizations |= Dynarmic::OptimizationFlag::Unsafe_ReducedErrorFP; | 182 | config.optimizations |= Dynarmic::OptimizationFlag::Unsafe_ReducedErrorFP; |
| 183 | } | 183 | } |
| 184 | if (Settings::values.cpuopt_unsafe_inaccurate_nan) { | ||
| 185 | config.optimizations |= Dynarmic::OptimizationFlag::Unsafe_InaccurateNaN; | ||
| 186 | } | ||
| 184 | } | 187 | } |
| 185 | 188 | ||
| 186 | return std::make_unique<Dynarmic::A32::Jit>(config); | 189 | return std::make_unique<Dynarmic::A32::Jit>(config); |
diff --git a/src/core/arm/dynarmic/arm_dynarmic_64.cpp b/src/core/arm/dynarmic/arm_dynarmic_64.cpp index d2e1dc724..4c5ebca22 100644 --- a/src/core/arm/dynarmic/arm_dynarmic_64.cpp +++ b/src/core/arm/dynarmic/arm_dynarmic_64.cpp | |||
| @@ -212,6 +212,9 @@ std::shared_ptr<Dynarmic::A64::Jit> ARM_Dynarmic_64::MakeJit(Common::PageTable& | |||
| 212 | if (Settings::values.cpuopt_unsafe_reduce_fp_error) { | 212 | if (Settings::values.cpuopt_unsafe_reduce_fp_error) { |
| 213 | config.optimizations |= Dynarmic::OptimizationFlag::Unsafe_ReducedErrorFP; | 213 | config.optimizations |= Dynarmic::OptimizationFlag::Unsafe_ReducedErrorFP; |
| 214 | } | 214 | } |
| 215 | if (Settings::values.cpuopt_unsafe_inaccurate_nan) { | ||
| 216 | config.optimizations |= Dynarmic::OptimizationFlag::Unsafe_InaccurateNaN; | ||
| 217 | } | ||
| 215 | } | 218 | } |
| 216 | 219 | ||
| 217 | return std::make_shared<Dynarmic::A64::Jit>(config); | 220 | return std::make_shared<Dynarmic::A64::Jit>(config); |
diff --git a/src/core/settings.h b/src/core/settings.h index 1cb7ff7f5..a324530bd 100644 --- a/src/core/settings.h +++ b/src/core/settings.h | |||
| @@ -131,6 +131,7 @@ struct Values { | |||
| 131 | 131 | ||
| 132 | bool cpuopt_unsafe_unfuse_fma; | 132 | bool cpuopt_unsafe_unfuse_fma; |
| 133 | bool cpuopt_unsafe_reduce_fp_error; | 133 | bool cpuopt_unsafe_reduce_fp_error; |
| 134 | bool cpuopt_unsafe_inaccurate_nan; | ||
| 134 | 135 | ||
| 135 | // Renderer | 136 | // Renderer |
| 136 | Setting<RendererBackend> renderer_backend; | 137 | Setting<RendererBackend> renderer_backend; |