summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/core/arm/dynarmic/arm_dynarmic_32.cpp5
-rw-r--r--src/core/arm/dynarmic/arm_dynarmic_64.cpp5
-rw-r--r--src/video_core/renderer_opengl/gl_device.cpp2
-rw-r--r--src/yuzu/configuration/configure_filesystem.cpp5
4 files changed, 15 insertions, 2 deletions
diff --git a/src/core/arm/dynarmic/arm_dynarmic_32.cpp b/src/core/arm/dynarmic/arm_dynarmic_32.cpp
index ec4407b6e..53d78de32 100644
--- a/src/core/arm/dynarmic/arm_dynarmic_32.cpp
+++ b/src/core/arm/dynarmic/arm_dynarmic_32.cpp
@@ -306,13 +306,18 @@ void ARM_Dynarmic_32::ClearExclusiveState() {
void ARM_Dynarmic_32::PageTableChanged(Common::PageTable& page_table,
std::size_t new_address_space_size_in_bits) {
+ ThreadContext32 ctx{};
+ SaveContext(ctx);
+
auto key = std::make_pair(&page_table, new_address_space_size_in_bits);
auto iter = jit_cache.find(key);
if (iter != jit_cache.end()) {
jit = iter->second;
+ LoadContext(ctx);
return;
}
jit = MakeJit(page_table, new_address_space_size_in_bits);
+ LoadContext(ctx);
jit_cache.emplace(key, jit);
}
diff --git a/src/core/arm/dynarmic/arm_dynarmic_64.cpp b/src/core/arm/dynarmic/arm_dynarmic_64.cpp
index ae5566ab8..b36b7d918 100644
--- a/src/core/arm/dynarmic/arm_dynarmic_64.cpp
+++ b/src/core/arm/dynarmic/arm_dynarmic_64.cpp
@@ -348,13 +348,18 @@ void ARM_Dynarmic_64::ClearExclusiveState() {
void ARM_Dynarmic_64::PageTableChanged(Common::PageTable& page_table,
std::size_t new_address_space_size_in_bits) {
+ ThreadContext64 ctx{};
+ SaveContext(ctx);
+
auto key = std::make_pair(&page_table, new_address_space_size_in_bits);
auto iter = jit_cache.find(key);
if (iter != jit_cache.end()) {
jit = iter->second;
+ LoadContext(ctx);
return;
}
jit = MakeJit(page_table, new_address_space_size_in_bits);
+ LoadContext(ctx);
jit_cache.emplace(key, jit);
}
diff --git a/src/video_core/renderer_opengl/gl_device.cpp b/src/video_core/renderer_opengl/gl_device.cpp
index ba59414a7..5776fccdc 100644
--- a/src/video_core/renderer_opengl/gl_device.cpp
+++ b/src/video_core/renderer_opengl/gl_device.cpp
@@ -210,7 +210,7 @@ Device::Device() {
const bool is_amd = vendor == "ATI Technologies Inc.";
const bool is_intel = vendor == "Intel";
-#ifdef __linux__
+#ifdef __unix__
const bool is_linux = true;
#else
const bool is_linux = false;
diff --git a/src/yuzu/configuration/configure_filesystem.cpp b/src/yuzu/configuration/configure_filesystem.cpp
index bde2d4620..58f644af4 100644
--- a/src/yuzu/configuration/configure_filesystem.cpp
+++ b/src/yuzu/configuration/configure_filesystem.cpp
@@ -103,7 +103,10 @@ void ConfigureFilesystem::SetDirectory(DirectoryTarget target, QLineEdit* edit)
str = QFileDialog::getOpenFileName(this, caption, QFileInfo(edit->text()).dir().path(),
QStringLiteral("NX Gamecard;*.xci"));
} else {
- str = QFileDialog::getExistingDirectory(this, caption, edit->text()) + QDir::separator();
+ str = QFileDialog::getExistingDirectory(this, caption, edit->text());
+ if (!str.isNull() && str.back() != QDir::separator()) {
+ str.append(QDir::separator());
+ }
}
if (str.isEmpty())