Revert "Reland c91b178b07b0d - Delete dead signin code (SigninGlobalError)"
[chromium-blink-merge.git] / components / view_manager / public / interfaces / command_buffer.mojom
blobb18965baab43deeca61310e107e3f7bdb8f8da92
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.
5 module mojo;
7 import "components/view_manager/public/interfaces/gpu_capabilities.mojom";
8 import "ui/mojo/geometry/geometry.mojom";
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;
20 interface CommandBufferSyncClient {
21   // |capabilities| is null if |success| is false.
22   DidInitialize(bool success, GpuCapabilities? capabilities);
23   DidMakeProgress(CommandBufferState state);
26 interface CommandBufferSyncPointClient {
27   DidInsertSyncPoint(uint32 sync_point);
30 interface CommandBufferLostContextObserver {
31   DidLoseContext(int32 context_lost_reason);
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);
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() => ();
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);