Index: device/vr/vr_service.mojom |
diff --git a/device/vr/vr_service.mojom b/device/vr/vr_service.mojom |
index a77d4a9bf2dbb9d3370c89ae68c2a2d8bcc5ad3c..2eee52f99666c336098390877082cc3289c083ac 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_holder.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 { |
@@ -84,19 +86,25 @@ interface VRServiceClient { |
VRDisplayInfo displayInfo); |
}; |
+interface VRSubmitFrameClient { |
+ OnSubmitFrameTransferred(); |
+ OnSubmitFrameRendered(); |
+}; |
+ |
interface VRDisplay { |
ResetPose(); |
- RequestPresent(bool secureOrigin) => (bool success); |
+ RequestPresent(bool secureOrigin, VRSubmitFrameClient client) => (bool success); |
ExitPresent(); |
- SubmitFrame(VRPose? pose); |
+ SubmitFrame(int16 frameId, gpu.mojom.MailboxHolder mailboxHolder); |
UpdateLayerBounds(int16 frameId, VRLayerBounds leftBounds, |
- VRLayerBounds rightBounds); |
+ VRLayerBounds rightBounds, int16 sourceWidth, |
+ int16 sourceHeight); |
GetVRVSyncProvider(VRVSyncProvider& request); |
}; |
interface VRVSyncProvider { |
- enum Status { SUCCESS, RETRY }; |
+ enum Status { SUCCESS, CLOSING }; |
// The frameId maps a VSync to a frame arriving from the compositor. IDs will |
// be reused after the frame arrives from the compositor. Negative IDs imply |