android: core: Prepare for ARM64 dynarmic support.
This commit is contained in:
parent
2353fbe146
commit
035bb32281
16
externals/CMakeLists.txt
vendored
16
externals/CMakeLists.txt
vendored
@ -31,14 +31,12 @@ target_include_directories(catch-single-include INTERFACE catch/single_include)
|
|||||||
add_subdirectory(cryptopp)
|
add_subdirectory(cryptopp)
|
||||||
|
|
||||||
# Dynarmic
|
# Dynarmic
|
||||||
if (ARCHITECTURE_x86_64)
|
# Dynarmic will skip defining xbyak if it's already defined, we then define it below
|
||||||
# Dynarmic will skip defining xbyak if it's already defined, we then define it below
|
add_library(xbyak INTERFACE)
|
||||||
add_library(xbyak INTERFACE)
|
option(DYNARMIC_TESTS OFF)
|
||||||
option(DYNARMIC_TESTS OFF)
|
set(DYNARMIC_NO_BUNDLED_FMT ON)
|
||||||
set(DYNARMIC_NO_BUNDLED_FMT ON)
|
set(DYNARMIC_FRONTENDS "A32")
|
||||||
set(DYNARMIC_FRONTENDS "A32")
|
add_subdirectory(dynarmic)
|
||||||
add_subdirectory(dynarmic)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# libfmt
|
# libfmt
|
||||||
add_subdirectory(fmt)
|
add_subdirectory(fmt)
|
||||||
@ -131,4 +129,4 @@ if (ENABLE_WEB_SERVICE)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
# lodepng
|
# lodepng
|
||||||
add_subdirectory(lodepng)
|
add_subdirectory(lodepng)
|
||||||
|
@ -486,7 +486,7 @@ if (ENABLE_WEB_SERVICE)
|
|||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (ARCHITECTURE_x86_64)
|
if (ARCHITECTURE_x86_64 OR ARCHITECTURE_ARM64)
|
||||||
target_sources(core PRIVATE
|
target_sources(core PRIVATE
|
||||||
arm/dynarmic/arm_dynarmic.cpp
|
arm/dynarmic/arm_dynarmic.cpp
|
||||||
arm/dynarmic/arm_dynarmic.h
|
arm/dynarmic/arm_dynarmic.h
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
#include "common/logging/log.h"
|
#include "common/logging/log.h"
|
||||||
#include "common/texture.h"
|
#include "common/texture.h"
|
||||||
#include "core/arm/arm_interface.h"
|
#include "core/arm/arm_interface.h"
|
||||||
#ifdef ARCHITECTURE_x86_64
|
#if defined(ARCHITECTURE_x86_64) || defined(ARCHITECTURE_ARM64)
|
||||||
#include "core/arm/dynarmic/arm_dynarmic.h"
|
#include "core/arm/dynarmic/arm_dynarmic.h"
|
||||||
#endif
|
#endif
|
||||||
#include "core/arm/dyncom/arm_dyncom.h"
|
#include "core/arm/dyncom/arm_dyncom.h"
|
||||||
@ -363,7 +363,7 @@ System::ResultStatus System::Init(Frontend::EmuWindow& emu_window, u32 system_mo
|
|||||||
*memory, *timing, [this] { PrepareReschedule(); }, system_mode, num_cores, n3ds_mode);
|
*memory, *timing, [this] { PrepareReschedule(); }, system_mode, num_cores, n3ds_mode);
|
||||||
|
|
||||||
if (Settings::values.use_cpu_jit) {
|
if (Settings::values.use_cpu_jit) {
|
||||||
#ifdef ARCHITECTURE_x86_64
|
#if defined(ARCHITECTURE_x86_64) || defined(ARCHITECTURE_ARM64)
|
||||||
for (u32 i = 0; i < num_cores; ++i) {
|
for (u32 i = 0; i < num_cores; ++i) {
|
||||||
cpu_cores.push_back(
|
cpu_cores.push_back(
|
||||||
std::make_shared<ARM_Dynarmic>(this, *memory, i, timing->GetTimer(i)));
|
std::make_shared<ARM_Dynarmic>(this, *memory, i, timing->GetTimer(i)));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user