diff --git a/src/android/app/src/main/jni/config.cpp b/src/android/app/src/main/jni/config.cpp index 2bfe60fdf..236de73f9 100644 --- a/src/android/app/src/main/jni/config.cpp +++ b/src/android/app/src/main/jni/config.cpp @@ -311,9 +311,6 @@ void Config::ReadValues() { if (Settings::values.vr_use_immersive_mode) { LOG_INFO(Config, "VR immersive mode enabled"); - // Use a min setting of 3x to avoid extremely low resolutions - VRSettings::values.resolution_factor = std::max(3, static_cast(VRSettings::values.resolution_factor)); - // no point rendering passthrough in immersive mode VRSettings::values.vr_environment = static_cast(VRSettings::VREnvironmentType::VOID); diff --git a/src/android/app/src/main/jni/vr/vr_main.cpp b/src/android/app/src/main/jni/vr/vr_main.cpp index f446bb60b..7995065b3 100644 --- a/src/android/app/src/main/jni/vr/vr_main.cpp +++ b/src/android/app/src/main/jni/vr/vr_main.cpp @@ -206,9 +206,13 @@ class VRApp { const uint32_t defaultResolutionFactor = GetDefaultGameResolutionFactorForHmd(VRSettings::values.hmd_type); const uint32_t resolutionFactorFromPreferences = VRSettings::values.resolution_factor; + // add a couple factors to resolution with immersive mode so users + // aren't resetting their default settings to get higher res. min + // resolution factor for immersive is 3x. + const uint32_t immersiveModeOffset = (VRSettings::values.vr_immersive_mode > 0) ? 2 : 0; const uint32_t resolutionFactor = (resolutionFactorFromPreferences > 0 ? resolutionFactorFromPreferences - : defaultResolutionFactor); + : defaultResolutionFactor) + immersiveModeOffset; if (resolutionFactor != defaultResolutionFactor) { ALOGI("Using resolution factor of {}x instead of HMD default {}x", resolutionFactor, @@ -905,4 +909,3 @@ Java_org_citra_citra_1emu_vr_VRUtils_getDefaultResolutionFactor(JNIEnv* env, jcl const VRSettings::HMDType hmdType = VRSettings::HmdTypeFromStr(VRSettings::GetHMDTypeStr()); return GetDefaultGameResolutionFactorForHmd(hmdType); } -