OLD | NEW |
---|---|
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 #ifndef CONTENT_BROWSER_GPU_GPU_PROCESS_HOST_H_ | 5 #ifndef CONTENT_BROWSER_GPU_GPU_PROCESS_HOST_H_ |
6 #define CONTENT_BROWSER_GPU_GPU_PROCESS_HOST_H_ | 6 #define CONTENT_BROWSER_GPU_GPU_PROCESS_HOST_H_ |
7 | 7 |
8 #include <map> | 8 #include <map> |
9 #include <queue> | 9 #include <queue> |
10 #include <set> | 10 #include <set> |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
58 GPU_PROCESS_KIND_UNSANDBOXED, | 58 GPU_PROCESS_KIND_UNSANDBOXED, |
59 GPU_PROCESS_KIND_SANDBOXED, | 59 GPU_PROCESS_KIND_SANDBOXED, |
60 GPU_PROCESS_KIND_COUNT | 60 GPU_PROCESS_KIND_COUNT |
61 }; | 61 }; |
62 | 62 |
63 typedef base::Callback<void(const IPC::ChannelHandle&, const gpu::GPUInfo&)> | 63 typedef base::Callback<void(const IPC::ChannelHandle&, const gpu::GPUInfo&)> |
64 EstablishChannelCallback; | 64 EstablishChannelCallback; |
65 | 65 |
66 typedef base::Callback<void(bool)> CreateCommandBufferCallback; | 66 typedef base::Callback<void(bool)> CreateCommandBufferCallback; |
67 | 67 |
68 typedef base::Callback<void(const gfx::Size)> CreateImageCallback; | 68 typedef base::Callback<void(bool)> CreateImageCallback; |
69 | 69 |
70 typedef base::Callback<void(const gfx::GpuMemoryBufferHandle& handle)> | 70 typedef base::Callback<void(const gfx::GpuMemoryBufferHandle& handle)> |
71 CreateGpuMemoryBufferCallback; | 71 CreateGpuMemoryBufferCallback; |
72 | 72 |
73 static bool gpu_enabled() { return gpu_enabled_; } | 73 static bool gpu_enabled() { return gpu_enabled_; } |
74 | 74 |
75 // Creates a new GpuProcessHost or gets an existing one, resulting in the | 75 // Creates a new GpuProcessHost or gets an existing one, resulting in the |
76 // launching of a GPU process if required. Returns null on failure. It | 76 // launching of a GPU process if required. Returns null on failure. It |
77 // is not safe to store the pointer once control has returned to the message | 77 // is not safe to store the pointer once control has returned to the message |
78 // loop as it can be destroyed. Instead store the associated GPU host ID. | 78 // loop as it can be destroyed. Instead store the associated GPU host ID. |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
115 // Tells the GPU process to create a new command buffer that draws into the | 115 // Tells the GPU process to create a new command buffer that draws into the |
116 // given surface. | 116 // given surface. |
117 void CreateViewCommandBuffer( | 117 void CreateViewCommandBuffer( |
118 const gfx::GLSurfaceHandle& compositing_surface, | 118 const gfx::GLSurfaceHandle& compositing_surface, |
119 int surface_id, | 119 int surface_id, |
120 int client_id, | 120 int client_id, |
121 const GPUCreateCommandBufferConfig& init_params, | 121 const GPUCreateCommandBufferConfig& init_params, |
122 int route_id, | 122 int route_id, |
123 const CreateCommandBufferCallback& callback); | 123 const CreateCommandBufferCallback& callback); |
124 | 124 |
125 // Tells the GPU process to create a new image using the given window. | 125 // Tells the GPU process to create a new image using the given handle. |
126 void CreateImage( | 126 void CreateImage( |
127 gfx::PluginWindowHandle window, | 127 const gfx::GpuMemoryBufferHandle& handle, |
128 const gfx::Size& size, | |
129 unsigned internalformat, | |
128 int client_id, | 130 int client_id, |
alexst (slow to review)
2014/06/12 22:29:22
I don't know that it's super important for this pa
reveman
2014/06/13 16:45:11
We could use GpuMemoryBufferId::secondary_id inste
| |
129 int image_id, | 131 int image_id, |
130 const CreateImageCallback& callback); | 132 const CreateImageCallback& callback); |
131 | 133 |
132 // Tells the GPU process to delete image. | 134 // Tells the GPU process to delete image. |
133 void DeleteImage(int client_id, int image_id, int sync_point); | 135 void DeleteImage(int client_id, int image_id, int sync_point); |
134 | 136 |
135 void CreateGpuMemoryBuffer(const gfx::GpuMemoryBufferHandle& handle, | 137 void CreateGpuMemoryBuffer(const gfx::GpuMemoryBufferHandle& handle, |
136 const gfx::Size& size, | 138 const gfx::Size& size, |
137 unsigned internalformat, | 139 unsigned internalformat, |
138 unsigned usage, | 140 unsigned usage, |
(...skipping 27 matching lines...) Expand all Loading... | |
166 virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE; | 168 virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE; |
167 virtual void OnChannelConnected(int32 peer_pid) OVERRIDE; | 169 virtual void OnChannelConnected(int32 peer_pid) OVERRIDE; |
168 virtual void OnProcessLaunched() OVERRIDE; | 170 virtual void OnProcessLaunched() OVERRIDE; |
169 virtual void OnProcessCrashed(int exit_code) OVERRIDE; | 171 virtual void OnProcessCrashed(int exit_code) OVERRIDE; |
170 | 172 |
171 // Message handlers. | 173 // Message handlers. |
172 void OnInitialized(bool result, const gpu::GPUInfo& gpu_info); | 174 void OnInitialized(bool result, const gpu::GPUInfo& gpu_info); |
173 void OnChannelEstablished(const IPC::ChannelHandle& channel_handle); | 175 void OnChannelEstablished(const IPC::ChannelHandle& channel_handle); |
174 void OnCommandBufferCreated(bool succeeded); | 176 void OnCommandBufferCreated(bool succeeded); |
175 void OnDestroyCommandBuffer(int32 surface_id); | 177 void OnDestroyCommandBuffer(int32 surface_id); |
176 void OnImageCreated(const gfx::Size size); | 178 void OnImageCreated(bool succeeded); |
177 void OnGpuMemoryBufferCreated(const gfx::GpuMemoryBufferHandle& handle); | 179 void OnGpuMemoryBufferCreated(const gfx::GpuMemoryBufferHandle& handle); |
178 void OnDidCreateOffscreenContext(const GURL& url); | 180 void OnDidCreateOffscreenContext(const GURL& url); |
179 void OnDidLoseContext(bool offscreen, | 181 void OnDidLoseContext(bool offscreen, |
180 gpu::error::ContextLostReason reason, | 182 gpu::error::ContextLostReason reason, |
181 const GURL& url); | 183 const GURL& url); |
182 void OnDidDestroyOffscreenContext(const GURL& url); | 184 void OnDidDestroyOffscreenContext(const GURL& url); |
183 void OnGpuMemoryUmaStatsReceived(const GPUMemoryUmaStats& stats); | 185 void OnGpuMemoryUmaStatsReceived(const GPUMemoryUmaStats& stats); |
184 #if defined(OS_MACOSX) | 186 #if defined(OS_MACOSX) |
185 void OnAcceleratedSurfaceBuffersSwapped( | 187 void OnAcceleratedSurfaceBuffersSwapped( |
186 const GpuHostMsg_AcceleratedSurfaceBuffersSwapped_Params& params); | 188 const GpuHostMsg_AcceleratedSurfaceBuffersSwapped_Params& params); |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
278 typedef std::multimap<int, scoped_refptr<GpuSurfaceTracker::SurfaceRef> > | 280 typedef std::multimap<int, scoped_refptr<GpuSurfaceTracker::SurfaceRef> > |
279 SurfaceRefMap; | 281 SurfaceRefMap; |
280 SurfaceRefMap surface_refs_; | 282 SurfaceRefMap surface_refs_; |
281 | 283 |
282 DISALLOW_COPY_AND_ASSIGN(GpuProcessHost); | 284 DISALLOW_COPY_AND_ASSIGN(GpuProcessHost); |
283 }; | 285 }; |
284 | 286 |
285 } // namespace content | 287 } // namespace content |
286 | 288 |
287 #endif // CONTENT_BROWSER_GPU_GPU_PROCESS_HOST_H_ | 289 #endif // CONTENT_BROWSER_GPU_GPU_PROCESS_HOST_H_ |
OLD | NEW |