OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 module device.mojom; | 5 module device.mojom; |
6 | 6 |
7 import "mojo/common/time.mojom"; | 7 import "mojo/common/time.mojom"; |
8 import "gpu/ipc/common/mailbox_holder.mojom"; | |
9 import "gpu/ipc/common/sync_token.mojom"; | |
10 | 8 |
11 // A field of view, given by 4 degrees describing the view from a center point. | 9 // A field of view, given by 4 degrees describing the view from a center point. |
12 struct VRFieldOfView { | 10 struct VRFieldOfView { |
13 float upDegrees; | 11 float upDegrees; |
14 float downDegrees; | 12 float downDegrees; |
15 float leftDegrees; | 13 float leftDegrees; |
16 float rightDegrees; | 14 float rightDegrees; |
17 }; | 15 }; |
18 | 16 |
19 // A display's position, orientation, velocity, and acceleration state at the | 17 // A display's position, orientation, velocity, and acceleration state at the |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
80 SetClient(VRServiceClient client) => (uint32 numberOfConnectedDevices); | 78 SetClient(VRServiceClient client) => (uint32 numberOfConnectedDevices); |
81 // Inform the service that the page is listening for vrdisplayactivate events. | 79 // Inform the service that the page is listening for vrdisplayactivate events. |
82 SetListeningForActivate(bool listening); | 80 SetListeningForActivate(bool listening); |
83 }; | 81 }; |
84 | 82 |
85 interface VRServiceClient { | 83 interface VRServiceClient { |
86 OnDisplayConnected(VRDisplay display, VRDisplayClient& request, | 84 OnDisplayConnected(VRDisplay display, VRDisplayClient& request, |
87 VRDisplayInfo displayInfo); | 85 VRDisplayInfo displayInfo); |
88 }; | 86 }; |
89 | 87 |
90 interface VRSubmitFrameClient { | |
91 OnSubmitFrameTransferred(); | |
92 OnSubmitFrameRendered(); | |
93 }; | |
94 | |
95 interface VRDisplay { | 88 interface VRDisplay { |
96 ResetPose(); | 89 ResetPose(); |
97 | 90 |
98 RequestPresent(bool secureOrigin, VRSubmitFrameClient client) => (bool success
); | 91 RequestPresent(bool secureOrigin) => (bool success); |
99 ExitPresent(); | 92 ExitPresent(); |
100 SubmitFrame(int16 frameId, gpu.mojom.MailboxHolder mailboxHolder); | 93 SubmitFrame(VRPose? pose); |
101 UpdateLayerBounds(int16 frameId, VRLayerBounds leftBounds, | 94 UpdateLayerBounds(int16 frameId, VRLayerBounds leftBounds, |
102 VRLayerBounds rightBounds, int16 sourceWidth, | 95 VRLayerBounds rightBounds); |
103 int16 sourceHeight); | |
104 GetVRVSyncProvider(VRVSyncProvider& request); | 96 GetVRVSyncProvider(VRVSyncProvider& request); |
105 }; | 97 }; |
106 | 98 |
107 interface VRVSyncProvider { | 99 interface VRVSyncProvider { |
108 enum Status { SUCCESS, CLOSING }; | 100 enum Status { SUCCESS, RETRY }; |
109 | 101 |
110 // The frameId maps a VSync to a frame arriving from the compositor. IDs will | 102 // The frameId maps a VSync to a frame arriving from the compositor. IDs will |
111 // be reused after the frame arrives from the compositor. Negative IDs imply | 103 // be reused after the frame arrives from the compositor. Negative IDs imply |
112 // no mapping. | 104 // no mapping. |
113 GetVSync() => (VRPose? pose, mojo.common.mojom.TimeDelta time, int16 frameId, | 105 GetVSync() => (VRPose? pose, mojo.common.mojom.TimeDelta time, int16 frameId, |
114 Status status); | 106 Status status); |
115 }; | 107 }; |
116 | 108 |
117 interface VRDisplayClient { | 109 interface VRDisplayClient { |
118 OnChanged(VRDisplayInfo display); | 110 OnChanged(VRDisplayInfo display); |
119 OnExitPresent(); | 111 OnExitPresent(); |
120 OnBlur(); | 112 OnBlur(); |
121 OnFocus(); | 113 OnFocus(); |
122 OnActivate(VRDisplayEventReason reason); | 114 OnActivate(VRDisplayEventReason reason); |
123 OnDeactivate(VRDisplayEventReason reason); | 115 OnDeactivate(VRDisplayEventReason reason); |
124 }; | 116 }; |
OLD | NEW |