Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(607)

Side by Side Diff: device/vr/vr_service.mojom

Issue 2738683002: WebVR compositor bypass via BrowserMain context + mailbox (Closed)
Patch Set: Less hacked up version Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « device/vr/vr_display_impl.cc ('k') | gpu/ipc/common/mailbox_holder.typemap » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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";
8 10
9 // A field of view, given by 4 degrees describing the view from a center point. 11 // A field of view, given by 4 degrees describing the view from a center point.
10 struct VRFieldOfView { 12 struct VRFieldOfView {
11 float upDegrees; 13 float upDegrees;
12 float downDegrees; 14 float downDegrees;
13 float leftDegrees; 15 float leftDegrees;
14 float rightDegrees; 16 float rightDegrees;
15 }; 17 };
16 18
17 // A display's position, orientation, velocity, and acceleration state at the 19 // A display's position, orientation, velocity, and acceleration state at the
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
78 SetClient(VRServiceClient client) => (uint32 numberOfConnectedDevices); 80 SetClient(VRServiceClient client) => (uint32 numberOfConnectedDevices);
79 // Inform the service that the page is listening for vrdisplayactivate events. 81 // Inform the service that the page is listening for vrdisplayactivate events.
80 SetListeningForActivate(bool listening); 82 SetListeningForActivate(bool listening);
81 }; 83 };
82 84
83 interface VRServiceClient { 85 interface VRServiceClient {
84 OnDisplayConnected(VRDisplay display, VRDisplayClient& request, 86 OnDisplayConnected(VRDisplay display, VRDisplayClient& request,
85 VRDisplayInfo displayInfo); 87 VRDisplayInfo displayInfo);
86 }; 88 };
87 89
90 interface VRSubmitFrameClient {
91 OnSubmitFrameTransferred();
92 OnSubmitFrameRendered();
93 };
94
88 interface VRDisplay { 95 interface VRDisplay {
89 ResetPose(); 96 ResetPose();
90 97
91 RequestPresent(bool secureOrigin) => (bool success); 98 RequestPresent(bool secureOrigin) => (bool success);
92 ExitPresent(); 99 ExitPresent();
93 SubmitFrame(VRPose? pose); 100 SubmitFrame(int16 frameId, gpu.mojom.MailboxHolder mailboxHolder,
101 VRSubmitFrameClient client);
94 UpdateLayerBounds(int16 frameId, VRLayerBounds leftBounds, 102 UpdateLayerBounds(int16 frameId, VRLayerBounds leftBounds,
95 VRLayerBounds rightBounds); 103 VRLayerBounds rightBounds, int16 sourceWidth,
104 int16 sourceHeight);
96 GetVRVSyncProvider(VRVSyncProvider& request); 105 GetVRVSyncProvider(VRVSyncProvider& request);
97 }; 106 };
98 107
99 interface VRVSyncProvider { 108 interface VRVSyncProvider {
100 enum Status { SUCCESS, RETRY }; 109 enum Status { SUCCESS, RETRY };
101 110
102 // The frameId maps a VSync to a frame arriving from the compositor. IDs will 111 // The frameId maps a VSync to a frame arriving from the compositor. IDs will
103 // be reused after the frame arrives from the compositor. Negative IDs imply 112 // be reused after the frame arrives from the compositor. Negative IDs imply
104 // no mapping. 113 // no mapping.
105 GetVSync() => (VRPose? pose, mojo.common.mojom.TimeDelta time, int16 frameId, 114 GetVSync() => (VRPose? pose, mojo.common.mojom.TimeDelta time, int16 frameId,
106 Status status); 115 Status status);
107 }; 116 };
108 117
109 interface VRDisplayClient { 118 interface VRDisplayClient {
110 OnChanged(VRDisplayInfo display); 119 OnChanged(VRDisplayInfo display);
111 OnExitPresent(); 120 OnExitPresent();
112 OnBlur(); 121 OnBlur();
113 OnFocus(); 122 OnFocus();
114 OnActivate(VRDisplayEventReason reason); 123 OnActivate(VRDisplayEventReason reason);
115 OnDeactivate(VRDisplayEventReason reason); 124 OnDeactivate(VRDisplayEventReason reason);
116 }; 125 };
OLDNEW
« no previous file with comments | « device/vr/vr_display_impl.cc ('k') | gpu/ipc/common/mailbox_holder.typemap » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698