| // 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 "gpu/ipc/common/gpu_info.mojom"; |
| import "gpu/ipc/common/sync_token.mojom"; |
| import "ui/gfx/geometry/mojo/geometry.mojom"; |
| import "ui/gfx/mojo/buffer_types.mojom"; |
| |
| interface Gpu { |
| // Tells the GPU service to create a new channel for communication with a |
| // client. The GPU service responds with client ID, IPC handle and |
| // GPUInfo. |
| [Sync] |
| EstablishGpuChannel() => (int32 client_id, |
| handle<message_pipe>? channel_handle, |
| gpu.mojom.GpuInfo gpu_info); |
| |
| // Tells the GPU service to create a new GPU memory buffer. |
| CreateGpuMemoryBuffer(gfx.mojom.GpuMemoryBufferId id, |
| gfx.mojom.Size size, |
| gfx.mojom.BufferFormat format, |
| gfx.mojom.BufferUsage usage) |
| => (gfx.mojom.GpuMemoryBufferHandle buffer_handle); |
| |
| // Tells the GPU process to destroy GPU memory buffer. |
| DestroyGpuMemoryBuffer(gfx.mojom.GpuMemoryBufferId id, |
| gpu.mojom.SyncToken sync_token); |
| }; |