summaryrefslogtreecommitdiffstats
path: root/modules/openxr/openxr_api_extension.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'modules/openxr/openxr_api_extension.cpp')
-rw-r--r--modules/openxr/openxr_api_extension.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/modules/openxr/openxr_api_extension.cpp b/modules/openxr/openxr_api_extension.cpp
index fae0fc13d3..a1744fa1db 100644
--- a/modules/openxr/openxr_api_extension.cpp
+++ b/modules/openxr/openxr_api_extension.cpp
@@ -48,6 +48,7 @@ void OpenXRAPIExtension::_bind_methods() {
ClassDB::bind_method(D_METHOD("is_running"), &OpenXRAPIExtension::is_running);
ClassDB::bind_method(D_METHOD("get_play_space"), &OpenXRAPIExtension::get_play_space);
+ ClassDB::bind_method(D_METHOD("get_predicted_display_time"), &OpenXRAPIExtension::get_predicted_display_time);
ClassDB::bind_method(D_METHOD("get_next_frame_time"), &OpenXRAPIExtension::get_next_frame_time);
ClassDB::bind_method(D_METHOD("can_render"), &OpenXRAPIExtension::can_render);
@@ -130,8 +131,17 @@ uint64_t OpenXRAPIExtension::get_play_space() {
return (uint64_t)OpenXRAPI::get_singleton()->get_play_space();
}
+int64_t OpenXRAPIExtension::get_predicted_display_time() {
+ ERR_FAIL_NULL_V(OpenXRAPI::get_singleton(), 0);
+ return (XrTime)OpenXRAPI::get_singleton()->get_predicted_display_time();
+}
+
int64_t OpenXRAPIExtension::get_next_frame_time() {
ERR_FAIL_NULL_V(OpenXRAPI::get_singleton(), 0);
+
+ // In the past we needed to look a frame ahead, may be calling this unintentionally so lets warn the dev.
+ WARN_PRINT_ONCE("OpenXR: Next frame timing called, verify this is intended.");
+
return (XrTime)OpenXRAPI::get_singleton()->get_next_frame_time();
}