blob: 0e09f80cd4c214e342a0dd5b2d36bb4d57cfbd0d [file] [log] [blame]
// Copyright 2016 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.
module ui.mojom;
import "cc/ipc/display_compositor.mojom";
import "gpu/ipc/common/gpu_info.mojom";
import "gpu/ipc/common/surface_handle.mojom";
import "gpu/ipc/common/sync_token.mojom";
import "ui/gfx/geometry/mojo/geometry.mojom";
import "ui/gfx/mojo/buffer_types.mojom";
interface GpuServiceInternal {
// Tells the GPU service to create a new channel for communication with a
// client. The GPU service responds with an IPC handle.
EstablishGpuChannel(int32 client_id,
uint64 client_tracing_id,
bool is_gpu_host)
=> (handle<message_pipe> channel_handle);
[Sync]
CreateGpuMemoryBuffer(gfx.mojom.GpuMemoryBufferId id,
gfx.mojom.Size size,
gfx.mojom.BufferFormat format,
gfx.mojom.BufferUsage usage,
int32 client_id,
gpu.mojom.SurfaceHandle surface_handle)
=> (gfx.mojom.GpuMemoryBufferHandle buffer_handle);
DestroyGpuMemoryBuffer(gfx.mojom.GpuMemoryBufferId id,
int32 client_id,
gpu.mojom.SyncToken sync_token);
};