mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
57 lines
1.8 KiB
Plaintext
57 lines
1.8 KiB
Plaintext
// Copyright 2014 The Chromium Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
[DartPackage="mojo_services"]
|
|
module mojo;
|
|
|
|
import "gpu/interfaces/gpu_capabilities.mojom";
|
|
|
|
struct CommandBufferState {
|
|
int32 num_entries;
|
|
int32 get_offset;
|
|
int32 put_offset;
|
|
int32 token;
|
|
int32 error; // TODO(piman): enum
|
|
int32 context_lost_reason; // TODO(piman): enum
|
|
uint32 generation;
|
|
};
|
|
|
|
interface CommandBufferSyncClient {
|
|
DidInitialize(bool success, GpuCapabilities capabilities);
|
|
DidMakeProgress(CommandBufferState state);
|
|
};
|
|
|
|
interface CommandBufferSyncPointClient {
|
|
DidInsertSyncPoint(uint32 sync_point);
|
|
};
|
|
|
|
interface CommandBufferLostContextObserver {
|
|
DidLoseContext(int32 context_lost_reason);
|
|
};
|
|
|
|
interface CommandBuffer {
|
|
// Initialize attempts to initialize the command buffer. Success or failure
|
|
// will be communicated via the CommandBufferSyncClient DidInitialize() call.
|
|
// If the context is lost after creation the LostContext method on the
|
|
// CommandBufferLostContextObserver's will be called then this pipe will be
|
|
// closed.
|
|
Initialize(CommandBufferSyncClient sync_client,
|
|
CommandBufferSyncPointClient sync_point_client,
|
|
CommandBufferLostContextObserver lost_observer,
|
|
handle<shared_buffer> shared_state);
|
|
SetGetBuffer(int32 buffer);
|
|
Flush(int32 put_offset);
|
|
MakeProgress(int32 last_get_offset);
|
|
RegisterTransferBuffer(
|
|
int32 id, handle<shared_buffer> transfer_buffer, uint32 size);
|
|
DestroyTransferBuffer(int32 id);
|
|
|
|
// InsertSyncPoint returns the sync point returned via DidInsertSyncPoint.
|
|
// If |retire| is true, the sync point is retired on insertion. Otherwise,
|
|
// explicitly call RetireSyncPoint to retire it.
|
|
InsertSyncPoint(bool retire);
|
|
RetireSyncPoint(uint32 sync_point);
|
|
Echo() => ();
|
|
};
|