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

Side by Side Diff: components/view_manager/public/interfaces/surfaces.mojom

Issue 1281663002: Mandoline: Allow submitting CompositorFrames directly to mojo::Views (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed comments Created 5 years, 4 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 mojo; 5 module mojo;
6 6
7 import "components/view_manager/public/interfaces/quads.mojom"; 7 import "components/view_manager/public/interfaces/compositor_frame.mojom";
8 import "components/view_manager/public/interfaces/surface_id.mojom";
9 import "ui/mojo/geometry/geometry.mojom";
10
11 enum ResourceFormat {
12 RGBA_8888,
13 RGBA_4444,
14 BGRA_8888,
15 ALPHA_8,
16 LUMINANCE_8,
17 RGB_565,
18 ETC1,
19 };
20
21 struct Mailbox {
22 array<int8, 64> name;
23 };
24
25 struct MailboxHolder {
26 Mailbox mailbox;
27 uint32 texture_target;
28 uint32 sync_point;
29 };
30
31 struct TransferableResource {
32 uint32 id;
33 ResourceFormat format;
34 uint32 filter;
35 Size size;
36 MailboxHolder mailbox_holder;
37 bool is_repeated;
38 bool is_software;
39 };
40 8
41 struct ReturnedResource { 9 struct ReturnedResource {
42 uint32 id; 10 uint32 id;
43 uint32 sync_point; 11 uint32 sync_point;
44 int32 count; 12 int32 count;
45 bool lost; 13 bool lost;
46 }; 14 };
47 15
48 struct Frame {
49 array<TransferableResource> resources;
50 array<Pass> passes;
51 };
52
53 interface ResourceReturner { 16 interface ResourceReturner {
54 ReturnResources(array<ReturnedResource> resources); 17 ReturnResources(array<ReturnedResource> resources);
55 }; 18 };
56 19
57 interface Surface { 20 interface Surface {
58 // Request the id namespace for this connection. Fully qualified surface ids 21 // Request the id namespace for this connection. Fully qualified surface ids
59 // are the combination of the id_namespace for the connection that created the 22 // are the combination of the id_namespace for the connection that created the
60 // surface and the id_local component allocated by the caller. 23 // surface and the id_local component allocated by the caller.
61 GetIdNamespace() => (uint32 id_namespace); 24 GetIdNamespace() => (uint32 id_namespace);
62 25
63 // Sets a ResourceReturner that will receive unused resources. 26 // Sets a ResourceReturner that will receive unused resources.
64 SetResourceReturner(ResourceReturner returner); 27 SetResourceReturner(ResourceReturner returner);
65 28
66 // Creates a new surface with the given local identifier. Once a surface is 29 // Creates a new surface with the given local identifier. Once a surface is
67 // created the caller may submit frames to it or destroy it using the local 30 // created the caller may submit frames to it or destroy it using the local
68 // identifier. The caller can also produce a fully qualified surface id that 31 // identifier. The caller can also produce a fully qualified surface id that
69 // can be embedded in frames produces by different connections. 32 // can be embedded in frames produces by different connections.
70 CreateSurface(uint32 id_local); 33 CreateSurface(uint32 id_local);
71 34
72 // After the submitted frame is drawn for the first time, the surface will 35 // After the submitted frame is drawn for the first time, the surface will
73 // respond to the SubmitFrame message. Clients should use this acknowledgement 36 // respond to the SubmitFrame message. Clients should use this acknowledgement
74 // to ratelimit frame submissions. 37 // to ratelimit frame submissions.
75 SubmitFrame(uint32 id_local, Frame frame) => (); 38 SubmitFrame(uint32 id_local, CompositorFrame frame) => ();
76 DestroySurface(uint32 id_local); 39 DestroySurface(uint32 id_local);
77 }; 40 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698