| OLD | NEW |
| 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 "mojo/services/public/interfaces/gpu/gpu_capabilities.mojom"; |
| 8 |
| 7 struct CommandBufferState { | 9 struct CommandBufferState { |
| 8 int32 num_entries; | 10 int32 num_entries; |
| 9 int32 get_offset; | 11 int32 get_offset; |
| 10 int32 put_offset; | 12 int32 put_offset; |
| 11 int32 token; | 13 int32 token; |
| 12 int32 error; // TODO(piman): enum | 14 int32 error; // TODO(piman): enum |
| 13 int32 context_lost_reason; // TODO(piman): enum | 15 int32 context_lost_reason; // TODO(piman): enum |
| 14 uint32 generation; | 16 uint32 generation; |
| 15 }; | 17 }; |
| 16 | 18 |
| 17 interface CommandBufferSyncClient { | 19 interface CommandBufferSyncClient { |
| 18 DidInitialize(bool success); | 20 DidInitialize(bool success, GpuCapabilities capabilities); |
| 19 DidMakeProgress(CommandBufferState? state); | 21 DidMakeProgress(CommandBufferState? state); |
| 20 }; | 22 }; |
| 21 | 23 |
| 22 [Client=CommandBufferClient] | 24 [Client=CommandBufferClient] |
| 23 interface CommandBuffer { | 25 interface CommandBuffer { |
| 24 Initialize(CommandBufferSyncClient? sync_client, | 26 Initialize(CommandBufferSyncClient? sync_client, |
| 25 handle<shared_buffer>? shared_state); | 27 handle<shared_buffer>? shared_state); |
| 26 SetGetBuffer(int32 buffer); | 28 SetGetBuffer(int32 buffer); |
| 27 Flush(int32 put_offset); | 29 Flush(int32 put_offset); |
| 28 MakeProgress(int32 last_get_offset); | 30 MakeProgress(int32 last_get_offset); |
| 29 RegisterTransferBuffer( | 31 RegisterTransferBuffer( |
| 30 int32 id, handle<shared_buffer>? transfer_buffer, uint32 size); | 32 int32 id, handle<shared_buffer>? transfer_buffer, uint32 size); |
| 31 DestroyTransferBuffer(int32 id); | 33 DestroyTransferBuffer(int32 id); |
| 32 Echo() => (); | 34 Echo() => (); |
| 33 | 35 |
| 34 // TODO(piman): sync points | 36 // TODO(piman): sync points |
| 35 }; | 37 }; |
| 36 | 38 |
| 37 interface CommandBufferClient { | 39 interface CommandBufferClient { |
| 38 DidDestroy(); | 40 DidDestroy(); |
| 39 LostContext(int32 lost_reason); // TODO(piman): enum | 41 LostContext(int32 lost_reason); // TODO(piman): enum |
| 40 }; | 42 }; |
| OLD | NEW |