summaryrefslogtreecommitdiff
path: root/src/common/settings.cpp
diff options
context:
space:
mode:
authorGravatar liamwhite2023-11-30 09:20:55 -0500
committerGravatar GitHub2023-11-30 09:20:55 -0500
commit57a391e71db13ade7a3d96f59d53781eff18d2ac (patch)
tree0b4223de40a2d77598ac9095b1374353c2e9da7c /src/common/settings.cpp
parentMerge pull request #12223 from liamwhite/fruit-company (diff)
parentcore: Rename patcher file (diff)
downloadyuzu-57a391e71db13ade7a3d96f59d53781eff18d2ac.tar.gz
yuzu-57a391e71db13ade7a3d96f59d53781eff18d2ac.tar.xz
yuzu-57a391e71db13ade7a3d96f59d53781eff18d2ac.zip
Merge pull request #12074 from GPUCode/yuwu-on-the-metal
Implement Native Code Execution (NCE)
Diffstat (limited to 'src/common/settings.cpp')
-rw-r--r--src/common/settings.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/common/settings.cpp b/src/common/settings.cpp
index 3e829253f..4666bd0a0 100644
--- a/src/common/settings.cpp
+++ b/src/common/settings.cpp
@@ -41,6 +41,7 @@ SWITCHABLE(AspectRatio, true);
41SWITCHABLE(AstcDecodeMode, true); 41SWITCHABLE(AstcDecodeMode, true);
42SWITCHABLE(AstcRecompression, true); 42SWITCHABLE(AstcRecompression, true);
43SWITCHABLE(AudioMode, true); 43SWITCHABLE(AudioMode, true);
44SWITCHABLE(CpuBackend, true);
44SWITCHABLE(CpuAccuracy, true); 45SWITCHABLE(CpuAccuracy, true);
45SWITCHABLE(FullscreenMode, true); 46SWITCHABLE(FullscreenMode, true);
46SWITCHABLE(GpuAccuracy, true); 47SWITCHABLE(GpuAccuracy, true);
@@ -155,6 +156,22 @@ bool IsFastmemEnabled() {
155 return true; 156 return true;
156} 157}
157 158
159static bool is_nce_enabled = false;
160
161void SetNceEnabled(bool is_39bit) {
162 const bool is_nce_selected = values.cpu_backend.GetValue() == CpuBackend::Nce;
163 is_nce_enabled = IsFastmemEnabled() && is_nce_selected && is_39bit;
164 if (is_nce_selected && !is_nce_enabled) {
165 LOG_WARNING(
166 Common,
167 "Program does not utilize 39-bit address space, unable to natively execute code");
168 }
169}
170
171bool IsNceEnabled() {
172 return is_nce_enabled;
173}
174
158bool IsDockedMode() { 175bool IsDockedMode() {
159 return values.use_docked_mode.GetValue() == Settings::ConsoleMode::Docked; 176 return values.use_docked_mode.GetValue() == Settings::ConsoleMode::Docked;
160} 177}