Index: device/vr/android/gvr/gvr_delegate.cc |
diff --git a/device/vr/android/gvr/gvr_delegate.cc b/device/vr/android/gvr/gvr_delegate.cc |
index 9b05efcefeeb77955fe9ffca9b251a128db57fda..ceb673c389c3bf642e49449e9e71a9d04185ca63 100644 |
--- a/device/vr/android/gvr/gvr_delegate.cc |
+++ b/device/vr/android/gvr/gvr_delegate.cc |
@@ -118,9 +118,10 @@ mojom::VRPosePtr GvrDelegate::VRPosePtrFromGvrPose(const vr::Mat4f& head_mat) { |
/* static */ |
void GvrDelegate::GetGvrPoseWithNeckModel(gvr::GvrApi* gvr_api, |
- vr::Mat4f* out) { |
+ vr::Mat4f* out, |
+ int64_t prediction_time) { |
gvr::ClockTimePoint target_time = gvr::GvrApi::GetTimePointNow(); |
- target_time.monotonic_system_time_nanos += kPredictionTimeWithoutVsyncNanos; |
+ target_time.monotonic_system_time_nanos += prediction_time; |
gvr::Mat4f head_mat = gvr_api->ApplyNeckModel( |
gvr_api->GetHeadSpaceFromStartSpaceRotation(target_time), 1.0f); |
@@ -129,11 +130,18 @@ void GvrDelegate::GetGvrPoseWithNeckModel(gvr::GvrApi* gvr_api, |
} |
/* static */ |
+void GvrDelegate::GetGvrPoseWithNeckModel(gvr::GvrApi* gvr_api, |
+ vr::Mat4f* out) { |
+ GetGvrPoseWithNeckModel(gvr_api, out, kPredictionTimeWithoutVsyncNanos); |
+} |
+ |
+/* static */ |
mojom::VRPosePtr GvrDelegate::GetVRPosePtrWithNeckModel( |
gvr::GvrApi* gvr_api, |
- vr::Mat4f* head_mat_out) { |
+ vr::Mat4f* head_mat_out, |
+ int64_t prediction_time) { |
gvr::ClockTimePoint target_time = gvr::GvrApi::GetTimePointNow(); |
- target_time.monotonic_system_time_nanos += kPredictionTimeWithoutVsyncNanos; |
+ target_time.monotonic_system_time_nanos += prediction_time; |
gvr::Mat4f gvr_head_mat = gvr_api->ApplyNeckModel( |
gvr_api->GetHeadSpaceFromStartSpaceRotation(target_time), 1.0f); |
@@ -166,6 +174,14 @@ mojom::VRPosePtr GvrDelegate::GetVRPosePtrWithNeckModel( |
} |
/* static */ |
+mojom::VRPosePtr GvrDelegate::GetVRPosePtrWithNeckModel( |
+ gvr::GvrApi* gvr_api, |
+ vr::Mat4f* head_mat_out) { |
+ return GetVRPosePtrWithNeckModel(gvr_api, head_mat_out, |
+ kPredictionTimeWithoutVsyncNanos); |
+} |
+ |
+/* static */ |
gfx::Size GvrDelegate::GetRecommendedWebVrSize(gvr::GvrApi* gvr_api) { |
// Pick a reasonable default size for the WebVR transfer surface |
// based on a downscaled 1:1 render resolution. This size will also |