Browse Source

OpenXR fix error spam if session hasn't started yet

Bastiaan Olij 1 year ago
parent
commit
b1548e8b19
1 changed files with 10 additions and 3 deletions
  1. 10 3
      modules/openxr/openxr_api.cpp

+ 10 - 3
modules/openxr/openxr_api.cpp

@@ -1434,7 +1434,9 @@ Size2 OpenXRAPI::get_recommended_target_size() {
 XRPose::TrackingConfidence OpenXRAPI::get_head_center(Transform3D &r_transform, Vector3 &r_linear_velocity, Vector3 &r_angular_velocity) {
 XRPose::TrackingConfidence OpenXRAPI::get_head_center(Transform3D &r_transform, Vector3 &r_linear_velocity, Vector3 &r_angular_velocity) {
 	XrResult result;
 	XrResult result;
 
 
-	ERR_FAIL_COND_V(!running, XRPose::XR_TRACKING_CONFIDENCE_NONE);
+	if (!running) {
+		return XRPose::XR_TRACKING_CONFIDENCE_NONE;
+	}
 
 
 	// xrWaitFrame not run yet
 	// xrWaitFrame not run yet
 	if (frame_state.predictedDisplayTime == 0) {
 	if (frame_state.predictedDisplayTime == 0) {
@@ -1487,7 +1489,9 @@ XRPose::TrackingConfidence OpenXRAPI::get_head_center(Transform3D &r_transform,
 }
 }
 
 
 bool OpenXRAPI::get_view_transform(uint32_t p_view, Transform3D &r_transform) {
 bool OpenXRAPI::get_view_transform(uint32_t p_view, Transform3D &r_transform) {
-	ERR_FAIL_COND_V(!running, false);
+	if (!running) {
+		return false;
+	}
 
 
 	// xrWaitFrame not run yet
 	// xrWaitFrame not run yet
 	if (frame_state.predictedDisplayTime == 0) {
 	if (frame_state.predictedDisplayTime == 0) {
@@ -1506,9 +1510,12 @@ bool OpenXRAPI::get_view_transform(uint32_t p_view, Transform3D &r_transform) {
 }
 }
 
 
 bool OpenXRAPI::get_view_projection(uint32_t p_view, double p_z_near, double p_z_far, Projection &p_camera_matrix) {
 bool OpenXRAPI::get_view_projection(uint32_t p_view, double p_z_near, double p_z_far, Projection &p_camera_matrix) {
-	ERR_FAIL_COND_V(!running, false);
 	ERR_FAIL_NULL_V(graphics_extension, false);
 	ERR_FAIL_NULL_V(graphics_extension, false);
 
 
+	if (!running) {
+		return false;
+	}
+
 	// xrWaitFrame not run yet
 	// xrWaitFrame not run yet
 	if (frame_state.predictedDisplayTime == 0) {
 	if (frame_state.predictedDisplayTime == 0) {
 		return false;
 		return false;