| // 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); |
| }; |