mirror of
https://github.com/mitch030504/Wiicompiled_VR_Frame.git
synced 2026-10-06 13:00:26 +02:00
Give the Steam Frame's native build the standalone headset defaults
MKW_VR_STANDALONE (runtime_config.h) names the standalone headsets: the Quest, and the Steam Frame in its Android flavour and its native SteamOS build. They share render scale 0.8, foveation medium, the GX thread, the game's object culling, and the headset panel's foveation and tracked-hands rows; passthrough stays Quest-only. The Frame's native build also sets AuroraConfig::xrHeadsetOnly, so Aurora neither presents the desktop window nobody watches nor renders it past the last pass the eyes sample, which Android does always (4 to 6 ms of a 12 ms GPU frame on a Quest 3). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019HBRGKTE1GnN2ah8gcZKr3
This commit is contained in:
6 files changed
+32
-15
No files matched your search
@@ -146,8 +146,8 @@ bool g_vrHudVirtualScreen = RuntimeConfigFile::VrHudVirtualScreen(true);
|
||||
int g_vrRaceView = static_cast<int>(RuntimeConfigFile::GetVrRaceView());
|
||||
bool g_vrFlatScreen = g_vrRaceView == static_cast<int>(RuntimeConfigFile::VrRaceView::FlatScreen);
|
||||
constexpr std::array<const char*, 3> kVrRaceViewLabels{"Immersive", "Immersive window", "Flat screen"};
|
||||
#if defined(__ANDROID__)
|
||||
#if !defined(MKW_HEADSET_STEAM_FRAME)
|
||||
#if defined(MKW_VR_STANDALONE)
|
||||
#if defined(__ANDROID__) && !defined(MKW_HEADSET_STEAM_FRAME)
|
||||
bool g_vrPassthrough = RuntimeConfigFile::VrPassthrough();
|
||||
#endif
|
||||
bool g_vrHandTracking = RuntimeConfigFile::VrHandTracking();
|
||||
@@ -1260,7 +1260,7 @@ void DrawVrSteeringWheelSettings() {
|
||||
"trailed item.");
|
||||
}
|
||||
ImGui::EndDisabled();
|
||||
#if defined(__ANDROID__)
|
||||
#if defined(MKW_VR_STANDALONE)
|
||||
ImGui::BeginDisabled(!g_vrHandSteering && g_vrCockpitItemHand == 2);
|
||||
if (ImGui::Checkbox("Tracked hands", &g_vrHandTracking)) {
|
||||
RuntimeConfigFile::SetVrHandTracking(g_vrHandTracking);
|
||||
@@ -1491,8 +1491,8 @@ void DrawVrSettings() {
|
||||
eyes.scaled_height, g_vrRenderScalePercent);
|
||||
}
|
||||
}
|
||||
#if defined(__ANDROID__)
|
||||
#if !defined(MKW_HEADSET_STEAM_FRAME)
|
||||
#if defined(MKW_VR_STANDALONE)
|
||||
#if defined(__ANDROID__) && !defined(MKW_HEADSET_STEAM_FRAME)
|
||||
if (ImGui::Checkbox("Passthrough around the menu screen", &g_vrPassthrough)) {
|
||||
mkw::vr::OpenXRSetPassthrough(g_vrPassthrough);
|
||||
RuntimeConfigFile::SetVrPassthrough(g_vrPassthrough);
|
||||
@@ -1829,7 +1829,7 @@ void DrawVrCameraSettings() {
|
||||
RuntimeConfigFile::SetVrHandSteering(g_vrHandSteering);
|
||||
RuntimeConfigFile::SetVrCockpitItemHand(RuntimeConfigFile::kVrCockpitItemHandDefault);
|
||||
RuntimeConfigFile::SetVrCockpitItemThrow(g_vrCockpitItemThrow);
|
||||
#if defined(__ANDROID__)
|
||||
#if defined(MKW_VR_STANDALONE)
|
||||
g_vrHandTracking = RuntimeConfigFile::kVrHandTrackingDefault;
|
||||
RuntimeConfigFile::SetVrHandTracking(g_vrHandTracking);
|
||||
#endif
|
||||
@@ -2531,7 +2531,7 @@ void InitializeRuntimeSettings() noexcept {
|
||||
aurora_set_display_mode(static_cast<AuroraDisplayMode>(g_displayMode));
|
||||
g_displayMode = static_cast<int>(aurora_get_display_mode());
|
||||
aurora_set_disable_copy_filter(g_disableCopyFilter);
|
||||
#if defined(__ANDROID__)
|
||||
#if defined(MKW_VR_STANDALONE)
|
||||
aurora_set_stereo_foveation(static_cast<uint32_t>(g_vrFoveation));
|
||||
#endif
|
||||
aurora_set_stereo_mirror_view(static_cast<AuroraStereoMirrorView>(g_vrMirrorView));
|
||||
|
||||
@@ -745,6 +745,11 @@ private:
|
||||
// launched with foveation off does without them.
|
||||
aurora_config.xrFragmentDensityMap = RuntimeConfigFile::VrFoveation() != "off";
|
||||
#endif
|
||||
#if defined(MKW_HEADSET_STEAM_FRAME) && !defined(__ANDROID__)
|
||||
// The Frame's native build: the headset is the only display anyone looks at, so the
|
||||
// desktop window is neither presented nor fully rendered, as on Android.
|
||||
aurora_config.xrHeadsetOnly = true;
|
||||
#endif
|
||||
#if defined(_WIN32)
|
||||
if (kRequiredAuroraBackend != BACKEND_D3D12) return;
|
||||
const auto& requirements = backend_->GraphicsRequirements();
|
||||
|
||||
Reference in new issue
Block a user