OLD | NEW |
| (Empty) |
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 | |
3 // found in the LICENSE file. | |
4 | |
5 module mojo; | |
6 | |
7 import "components/view_manager/public/interfaces/gpu_capabilities.mojom"; | |
8 import "ui/mojo/geometry/geometry.mojom"; | |
9 | |
10 struct CommandBufferState { | |
11 int32 num_entries; | |
12 int32 get_offset; | |
13 int32 put_offset; | |
14 int32 token; | |
15 int32 error; // TODO(piman): enum | |
16 int32 context_lost_reason; // TODO(piman): enum | |
17 uint32 generation; | |
18 }; | |
19 | |
20 interface CommandBufferSyncClient { | |
21 // |capabilities| is null if |success| is false. | |
22 DidInitialize(bool success, GpuCapabilities? capabilities); | |
23 DidMakeProgress(CommandBufferState state); | |
24 }; | |
25 | |
26 interface CommandBufferSyncPointClient { | |
27 DidInsertSyncPoint(uint32 sync_point); | |
28 }; | |
29 | |
30 interface CommandBufferLostContextObserver { | |
31 DidLoseContext(int32 context_lost_reason); | |
32 }; | |
33 | |
34 interface CommandBuffer { | |
35 // Initialize attempts to initialize the command buffer. Success or failure | |
36 // will be communicated via the CommandBufferSyncClient DidInitialize() call. | |
37 // If the context is lost after creation the LostContext method on the | |
38 // CommandBufferLostContextObserver's will be called then this pipe will be | |
39 // closed. | |
40 Initialize(CommandBufferSyncClient sync_client, | |
41 CommandBufferSyncPointClient sync_point_client, | |
42 CommandBufferLostContextObserver lost_observer, | |
43 handle<shared_buffer> shared_state); | |
44 SetGetBuffer(int32 buffer); | |
45 Flush(int32 put_offset); | |
46 MakeProgress(int32 last_get_offset); | |
47 RegisterTransferBuffer( | |
48 int32 id, handle<shared_buffer> transfer_buffer, uint32 size); | |
49 DestroyTransferBuffer(int32 id); | |
50 | |
51 // InsertSyncPoint returns the sync point returned via DidInsertSyncPoint. | |
52 // If |retire| is true, the sync point is retired on insertion. Otherwise, | |
53 // explicitly call RetireSyncPoint to retire it. | |
54 InsertSyncPoint(bool retire); | |
55 RetireSyncPoint(uint32 sync_point); | |
56 Echo() => (); | |
57 | |
58 CreateImage(int32 id, | |
59 handle memory_handle, | |
60 int32 type, | |
61 Size size, | |
62 int32 format, | |
63 int32 internal_format); | |
64 DestroyImage(int32 id); | |
65 }; | |
OLD | NEW |