gfx/layers/ipc/PTexture.ipdl

branch
TOR_BUG_9701
changeset 8
97036ab72558
equal deleted inserted replaced
-1:000000000000 0:503761b56a8e
1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*-
2 * vim: sw=2 ts=8 et :
3 */
4 /* This Source Code Form is subject to the terms of the Mozilla Public
5 * License, v. 2.0. If a copy of the MPL was not distributed with this
6 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
7
8 include LayersSurfaces;
9 include protocol PLayerTransaction;
10 include protocol PImageBridge;
11 include protocol PGrallocBuffer;
12 include "mozilla/GfxMessageUtils.h";
13
14 using struct mozilla::layers::FrameMetrics from "FrameMetrics.h";
15 using struct mozilla::layers::FenceHandle from "mozilla/layers/FenceUtils.h";
16
17 namespace mozilla {
18 namespace layers {
19
20 union MaybeFenceHandle {
21 FenceHandle;
22 null_t;
23 };
24
25 /**
26 * PTexture is the IPDL glue between a TextureClient and a TextureHost.
27 */
28 sync protocol PTexture {
29 manager PImageBridge or PLayerTransaction;
30
31 child:
32 async __delete__();
33
34 async CompositorRecycle(MaybeFenceHandle aFence);
35
36 parent:
37
38 async ClientRecycle();
39
40 /**
41 * Asynchronously tell the Compositor side to remove the texture.
42 */
43 async RemoveTexture();
44
45 /**
46 * Synchronously tell the compositor side to remove the texture.
47 */
48 sync RemoveTextureSync();
49 };
50
51 } // layers
52 } // mozilla

mercurial