| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 module ui.mojom; | 5 module ui.mojom; |
| 6 | 6 |
| 7 import "cc/ipc/display_compositor.mojom"; | 7 import "cc/ipc/display_compositor.mojom"; |
| 8 import "gpu/ipc/common/gpu_info.mojom"; | 8 import "gpu/ipc/common/gpu_info.mojom"; |
| 9 import "gpu/ipc/common/memory_stats.mojom"; | 9 import "gpu/ipc/common/memory_stats.mojom"; |
| 10 import "gpu/ipc/common/surface_handle.mojom"; | 10 import "gpu/ipc/common/surface_handle.mojom"; |
| 11 import "gpu/ipc/common/sync_token.mojom"; | 11 import "gpu/ipc/common/sync_token.mojom"; |
| 12 import "ui/gfx/geometry/mojo/geometry.mojom"; | 12 import "ui/gfx/geometry/mojo/geometry.mojom"; |
| 13 import "ui/gfx/mojo/buffer_types.mojom"; | 13 import "ui/gfx/mojo/buffer_types.mojom"; |
| 14 | 14 |
| 15 interface GpuService { | 15 interface GpuService { |
| 16 // Tells the GPU service to create a new channel for communication with a | 16 // Tells the GPU service to create a new channel for communication with a |
| 17 // client. The GPU service responds with an IPC handle. | 17 // client. The GPU service responds with an IPC handle. |
| 18 EstablishGpuChannel(int32 client_id, | 18 EstablishGpuChannel(int32 client_id, |
| 19 uint64 client_tracing_id, | 19 uint64 client_tracing_id, |
| 20 bool is_gpu_host) | 20 bool is_gpu_host) |
| 21 => (handle<message_pipe>? channel_handle); | 21 => (handle<message_pipe>? channel_handle); |
| 22 | 22 |
| 23 // Tells the GPU process to close the channel identified by |client_id|. |
| 24 // If no channel can be identified, do nothing. |
| 25 CloseChannel(int32 client_id); |
| 26 |
| 23 [Sync] | 27 [Sync] |
| 24 CreateGpuMemoryBuffer(gfx.mojom.GpuMemoryBufferId id, | 28 CreateGpuMemoryBuffer(gfx.mojom.GpuMemoryBufferId id, |
| 25 gfx.mojom.Size size, | 29 gfx.mojom.Size size, |
| 26 gfx.mojom.BufferFormat format, | 30 gfx.mojom.BufferFormat format, |
| 27 gfx.mojom.BufferUsage usage, | 31 gfx.mojom.BufferUsage usage, |
| 28 int32 client_id, | 32 int32 client_id, |
| 29 gpu.mojom.SurfaceHandle surface_handle) | 33 gpu.mojom.SurfaceHandle surface_handle) |
| 30 => (gfx.mojom.GpuMemoryBufferHandle buffer_handle); | 34 => (gfx.mojom.GpuMemoryBufferHandle buffer_handle); |
| 31 | 35 |
| 32 DestroyGpuMemoryBuffer(gfx.mojom.GpuMemoryBufferId id, | 36 DestroyGpuMemoryBuffer(gfx.mojom.GpuMemoryBufferId id, |
| 33 int32 client_id, | 37 int32 client_id, |
| 34 gpu.mojom.SyncToken sync_token); | 38 gpu.mojom.SyncToken sync_token); |
| 35 | 39 |
| 36 GetVideoMemoryUsageStats() => (gpu.mojom.VideoMemoryUsageStats stats); | 40 GetVideoMemoryUsageStats() => (gpu.mojom.VideoMemoryUsageStats stats); |
| 41 |
| 42 // Notify GPU that a shader was loaded from disk. |
| 43 LoadedShader(string data); |
| 44 |
| 45 // Tells GPU to release the surface because it's being destroyed. |
| 46 DestroyingVideoSurface(int32 surface_id) => (); |
| 47 |
| 48 // Tells GPU to wake up the GPU because we're about to draw. |
| 49 WakeUpGpu(); |
| 37 }; | 50 }; |
| OLD | NEW |