Index: device/vr/vr_service.mojom |
diff --git a/device/vr/vr_service.mojom b/device/vr/vr_service.mojom |
index 2af38f579633e856444ee7611122b8e7cb1118eb..cfd246ccfa64d7e7d9e634373013bfb8fac24ea8 100644 |
--- a/device/vr/vr_service.mojom |
+++ b/device/vr/vr_service.mojom |
@@ -5,6 +5,8 @@ |
module device.mojom; |
import "mojo/common/time.mojom"; |
+import "gpu/ipc/common/mailbox.mojom"; |
+import "gpu/ipc/common/sync_token.mojom"; |
// A field of view, given by 4 degrees describing the view from a center point. |
struct VRFieldOfView { |
@@ -24,6 +26,10 @@ struct VRPose { |
array<float, 3>? linearVelocity; |
array<float, 3>? angularAcceleration; |
array<float, 3>? linearAcceleration; |
+ int32 surfaceId; |
+ int32 frameId; |
+ gpu.mojom.Mailbox? mailbox; |
+// gpu.mojom.SyncToken syncToken; |
}; |
struct VRDisplayCapabilities { |
@@ -85,12 +91,17 @@ interface VRServiceClient { |
VRDisplayInfo displayInfo); |
}; |
+interface VRSubmitFrameClient { |
+ OnSubmitFrameTransferred(); |
+ OnSubmitFrameRendered(); |
+}; |
+ |
interface VRDisplay { |
ResetPose(); |
RequestPresent(bool secureOrigin) => (bool success); |
ExitPresent(); |
- SubmitFrame(VRPose? pose); |
+ SubmitFrame(VRPose? pose, VRSubmitFrameClient client); |
UpdateLayerBounds(int16 frameId, VRLayerBounds leftBounds, |
VRLayerBounds rightBounds); |
GetVRVSyncProvider(VRVSyncProvider& request); |