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.
7 struct CommandBufferState {
12 int32 error; // TODO(piman): enum
13 int32 context_lost_reason; // TODO(piman): enum
17 interface CommandBufferSyncClient {
18 DidInitialize(bool success);
19 DidMakeProgress(CommandBufferState state);
22 [Client=CommandBufferClient]
23 interface CommandBuffer {
24 Initialize(CommandBufferSyncClient sync_client,
25 handle<shared_buffer> shared_state);
26 SetGetBuffer(int32 buffer);
27 Flush(int32 put_offset);
28 MakeProgress(int32 last_get_offset);
29 RegisterTransferBuffer(
30 int32 id, handle<shared_buffer> transfer_buffer, uint32 size);
31 DestroyTransferBuffer(int32 id);
34 // TODO(piman): move to somewhere else (native_viewport?).
35 RequestAnimationFrames();
36 CancelAnimationFrames();
38 // TODO(piman): sync points
41 interface CommandBufferClient {
43 LostContext(int32 lost_reason); // TODO(piman): enum
45 // TODO(piman): move to somewhere else (native_viewport?).