| 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 |