Browse Source

Fix build

pull/324/head
MaranBr 7 months ago
committed by crueter
parent
commit
fe737b7cfe
  1. 8
      src/core/arm/dynarmic/arm_dynarmic_32.cpp
  2. 6
      src/core/arm/dynarmic/arm_dynarmic_64.cpp

8
src/core/arm/dynarmic/arm_dynarmic_32.cpp

@ -273,7 +273,7 @@ std::shared_ptr<Dynarmic::A32::Jit> ArmDynarmic32::MakeJit(Common::PageTable* pa
if (Settings::values.cpu_accuracy.GetValue() == Settings::CpuAccuracy::Unsafe) {
config.unsafe_optimizations = true;
if (!Settings::values.cpuopt_unsafe_mmu) {
config.fastmem_pointer = nullptr;
config.fastmem_pointer = std::nullopt;
config.fastmem_exclusive_access = false;
}
if (Settings::values.cpuopt_unsafe_unfuse_fma) {
@ -296,13 +296,17 @@ std::shared_ptr<Dynarmic::A32::Jit> ArmDynarmic32::MakeJit(Common::PageTable* pa
// Curated optimizations
if (Settings::values.cpu_accuracy.GetValue() == Settings::CpuAccuracy::Auto) {
config.unsafe_optimizations = true;
#if defined(_WIN32) || defined(__linux__) || defined(__ANDROID__)
config.fastmem_pointer = std::nullopt;
config.fastmem_exclusive_access = false;
#endif
config.optimizations |= Dynarmic::OptimizationFlag::Unsafe_UnfuseFMA;
config.optimizations |= Dynarmic::OptimizationFlag::Unsafe_IgnoreStandardFPCRValue;
config.optimizations |= Dynarmic::OptimizationFlag::Unsafe_InaccurateNaN;
config.optimizations |= Dynarmic::OptimizationFlag::Unsafe_IgnoreGlobalMonitor;
}
// Paranoia mode for debugging optimizations
// Paranoid mode for debugging optimizations
if (Settings::values.cpu_accuracy.GetValue() == Settings::CpuAccuracy::Paranoid) {
config.unsafe_optimizations = false;
config.optimizations = Dynarmic::no_optimizations;

6
src/core/arm/dynarmic/arm_dynarmic_64.cpp

@ -331,7 +331,7 @@ std::shared_ptr<Dynarmic::A64::Jit> ArmDynarmic64::MakeJit(Common::PageTable* pa
if (Settings::values.cpu_accuracy.GetValue() == Settings::CpuAccuracy::Unsafe) {
config.unsafe_optimizations = true;
if (!Settings::values.cpuopt_unsafe_mmu) {
config.fastmem_pointer = nullptr;
config.fastmem_pointer = std::nullopt;
config.fastmem_exclusive_access = false;
}
if (Settings::values.cpuopt_unsafe_unfuse_fma) {
@ -354,6 +354,10 @@ std::shared_ptr<Dynarmic::A64::Jit> ArmDynarmic64::MakeJit(Common::PageTable* pa
// Curated optimizations
if (Settings::values.cpu_accuracy.GetValue() == Settings::CpuAccuracy::Auto) {
config.unsafe_optimizations = true;
#if defined(_WIN32) || defined(__linux__) || defined(__ANDROID__)
config.fastmem_pointer = std::nullopt;
config.fastmem_exclusive_access = false;
#endif
config.optimizations |= Dynarmic::OptimizationFlag::Unsafe_UnfuseFMA;
config.fastmem_address_space_bits = 64;
config.optimizations |= Dynarmic::OptimizationFlag::Unsafe_IgnoreGlobalMonitor;

Loading…
Cancel
Save