summaryrefslogtreecommitdiffstats
path: root/modules/openxr
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2024-07-18 15:38:14 +0200
committerRémi Verschelde <rverschelde@gmail.com>2024-07-18 15:38:14 +0200
commit1e81a946cc8e7c913c1267a4489f8b0f3fffd5b1 (patch)
tree258645a8837132523ccf720d4b757252e51fc8dc /modules/openxr
parentd12030e6d7bb73cc182482ad120e2f33ddd69b7c (diff)
parent7a5a8597eb81b20b14d3ab1f8b2d6dace49a2603 (diff)
downloadredot-engine-1e81a946cc8e7c913c1267a4489f8b0f3fffd5b1.tar.gz
Merge pull request #94412 from dsnopek/xr-always-render
Always render when XR is enabled, even if no OS windows can draw
Diffstat (limited to 'modules/openxr')
-rw-r--r--modules/openxr/openxr_interface.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/modules/openxr/openxr_interface.cpp b/modules/openxr/openxr_interface.cpp
index fbbc61a91c..cce9c09361 100644
--- a/modules/openxr/openxr_interface.cpp
+++ b/modules/openxr/openxr_interface.cpp
@@ -651,6 +651,10 @@ bool OpenXRInterface::initialize() {
// make this our primary interface
xr_server->set_primary_interface(this);
+ // Register an additional output with the display server, so rendering won't
+ // be skipped if no windows are visible.
+ DisplayServer::get_singleton()->register_additional_output(this);
+
initialized = true;
return initialized;
@@ -674,6 +678,8 @@ void OpenXRInterface::uninitialize() {
}
}
+ DisplayServer::get_singleton()->unregister_additional_output(this);
+
initialized = false;
}