| Index: components/view_manager/public/interfaces/compositor_frame.mojom
|
| diff --git a/components/view_manager/public/interfaces/compositor_frame.mojom b/components/view_manager/public/interfaces/compositor_frame.mojom
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..aba98dcdc85c4f5ac27f9d06a909624fdd8ccf85
|
| --- /dev/null
|
| +++ b/components/view_manager/public/interfaces/compositor_frame.mojom
|
| @@ -0,0 +1,53 @@
|
| +// Copyright 2015 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +module mojo;
|
| +
|
| +import "ui/mojo/geometry/geometry.mojom";
|
| +import "components/view_manager/public/interfaces/quads.mojom";
|
| +
|
| +enum ResourceFormat {
|
| + RGBA_8888,
|
| + RGBA_4444,
|
| + BGRA_8888,
|
| + ALPHA_8,
|
| + LUMINANCE_8,
|
| + RGB_565,
|
| + ETC1,
|
| +};
|
| +
|
| +struct Mailbox {
|
| + array<int8, 64> name;
|
| +};
|
| +
|
| +struct MailboxHolder {
|
| + Mailbox mailbox;
|
| + uint32 texture_target;
|
| + uint32 sync_point;
|
| +};
|
| +
|
| +struct TransferableResource {
|
| + uint32 id;
|
| + ResourceFormat format;
|
| + uint32 filter;
|
| + Size size;
|
| + MailboxHolder mailbox_holder;
|
| + bool is_repeated;
|
| + bool is_software;
|
| +};
|
| +
|
| +struct CompositorFrame {
|
| + array<TransferableResource> resources;
|
| + array<Pass> passes;
|
| +};
|
| +
|
| +// CompositorFrameReceiver is an interface for receiving CompositorFrame
|
| +// structs. This is a separate interface to allow CompositorFrames to be
|
| +// delivered from supplementary (not main) threads of a mojo app.
|
| +interface CompositorFrameReceiver {
|
| + // After the submitted frame is drawn for the first time, the receiver will
|
| + // respond to the SubmitFrame message. Clients should use this acknowledgement
|
| + // to ratelimit frame submissions.
|
| + SubmitCompositorFrame(CompositorFrame frame) => ();
|
| +};
|
|
|