Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1895)

Side by Side Diff: content/browser/gpu/gpu_process_host.h

Issue 1129943006: Implement StreamTexture::BindTexImage. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: CreateStreamTexture Flow Change. Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
60 GPU_PROCESS_KIND_SANDBOXED, 60 GPU_PROCESS_KIND_SANDBOXED,
61 GPU_PROCESS_KIND_COUNT 61 GPU_PROCESS_KIND_COUNT
62 }; 62 };
63 63
64 typedef base::Callback<void(const IPC::ChannelHandle&, const gpu::GPUInfo&)> 64 typedef base::Callback<void(const IPC::ChannelHandle&, const gpu::GPUInfo&)>
65 EstablishChannelCallback; 65 EstablishChannelCallback;
66 66
67 typedef base::Callback<void(CreateCommandBufferResult)> 67 typedef base::Callback<void(CreateCommandBufferResult)>
68 CreateCommandBufferCallback; 68 CreateCommandBufferCallback;
69 69
70 typedef base::Callback<void(bool)> CreateStreamTextureCallback;
71
70 typedef base::Callback<void(const gfx::GpuMemoryBufferHandle& handle)> 72 typedef base::Callback<void(const gfx::GpuMemoryBufferHandle& handle)>
71 CreateGpuMemoryBufferCallback; 73 CreateGpuMemoryBufferCallback;
72 74
73 static bool gpu_enabled() { return gpu_enabled_; } 75 static bool gpu_enabled() { return gpu_enabled_; }
74 static int gpu_crash_count() { return gpu_crash_count_; } 76 static int gpu_crash_count() { return gpu_crash_count_; }
75 77
76 // Creates a new GpuProcessHost or gets an existing one, resulting in the 78 // Creates a new GpuProcessHost or gets an existing one, resulting in the
77 // launching of a GPU process if required. Returns null on failure. It 79 // launching of a GPU process if required. Returns null on failure. It
78 // is not safe to store the pointer once control has returned to the message 80 // is not safe to store the pointer once control has returned to the message
79 // loop as it can be destroyed. Instead store the associated GPU host ID. 81 // loop as it can be destroyed. Instead store the associated GPU host ID.
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
117 // Tells the GPU process to create a new command buffer that draws into the 119 // Tells the GPU process to create a new command buffer that draws into the
118 // given surface. 120 // given surface.
119 void CreateViewCommandBuffer( 121 void CreateViewCommandBuffer(
120 const gfx::GLSurfaceHandle& compositing_surface, 122 const gfx::GLSurfaceHandle& compositing_surface,
121 int surface_id, 123 int surface_id,
122 int client_id, 124 int client_id,
123 const GPUCreateCommandBufferConfig& init_params, 125 const GPUCreateCommandBufferConfig& init_params,
124 int route_id, 126 int route_id,
125 const CreateCommandBufferCallback& callback); 127 const CreateCommandBufferCallback& callback);
126 128
129 void CreateStreamTexture(int32 image_id,
130 int client_id,
131 int32 route_id,
132 int32 stream_id,
133 const CreateStreamTextureCallback& callback);
134
127 // Tells the GPU process to create a new GPU memory buffer. 135 // Tells the GPU process to create a new GPU memory buffer.
128 void CreateGpuMemoryBuffer(gfx::GpuMemoryBufferId id, 136 void CreateGpuMemoryBuffer(gfx::GpuMemoryBufferId id,
129 const gfx::Size& size, 137 const gfx::Size& size,
130 gfx::GpuMemoryBuffer::Format format, 138 gfx::GpuMemoryBuffer::Format format,
131 gfx::GpuMemoryBuffer::Usage usage, 139 gfx::GpuMemoryBuffer::Usage usage,
132 int client_id, 140 int client_id,
133 int32 surface_id, 141 int32 surface_id,
134 const CreateGpuMemoryBufferCallback& callback); 142 const CreateGpuMemoryBufferCallback& callback);
135 143
136 // Tells the GPU process to destroy GPU memory buffer. 144 // Tells the GPU process to destroy GPU memory buffer.
(...skipping 26 matching lines...) Expand all
163 // BrowserChildProcessHostDelegate implementation. 171 // BrowserChildProcessHostDelegate implementation.
164 bool OnMessageReceived(const IPC::Message& message) override; 172 bool OnMessageReceived(const IPC::Message& message) override;
165 void OnChannelConnected(int32 peer_pid) override; 173 void OnChannelConnected(int32 peer_pid) override;
166 void OnProcessLaunched() override; 174 void OnProcessLaunched() override;
167 void OnProcessCrashed(int exit_code) override; 175 void OnProcessCrashed(int exit_code) override;
168 176
169 // Message handlers. 177 // Message handlers.
170 void OnInitialized(bool result, const gpu::GPUInfo& gpu_info); 178 void OnInitialized(bool result, const gpu::GPUInfo& gpu_info);
171 void OnChannelEstablished(const IPC::ChannelHandle& channel_handle); 179 void OnChannelEstablished(const IPC::ChannelHandle& channel_handle);
172 void OnCommandBufferCreated(CreateCommandBufferResult result); 180 void OnCommandBufferCreated(CreateCommandBufferResult result);
181 void OnStreamTextureCreated(bool result);
173 void OnDestroyCommandBuffer(int32 surface_id); 182 void OnDestroyCommandBuffer(int32 surface_id);
174 void OnGpuMemoryBufferCreated(const gfx::GpuMemoryBufferHandle& handle); 183 void OnGpuMemoryBufferCreated(const gfx::GpuMemoryBufferHandle& handle);
175 void OnDidCreateOffscreenContext(const GURL& url); 184 void OnDidCreateOffscreenContext(const GURL& url);
176 void OnDidLoseContext(bool offscreen, 185 void OnDidLoseContext(bool offscreen,
177 gpu::error::ContextLostReason reason, 186 gpu::error::ContextLostReason reason,
178 const GURL& url); 187 const GURL& url);
179 void OnDidDestroyOffscreenContext(const GURL& url); 188 void OnDidDestroyOffscreenContext(const GURL& url);
180 void OnGpuMemoryUmaStatsReceived(const GPUMemoryUmaStats& stats); 189 void OnGpuMemoryUmaStatsReceived(const GPUMemoryUmaStats& stats);
181 #if defined(OS_MACOSX) 190 #if defined(OS_MACOSX)
182 void OnAcceleratedSurfaceBuffersSwapped(const IPC::Message& message); 191 void OnAcceleratedSurfaceBuffersSwapped(const IPC::Message& message);
(...skipping 18 matching lines...) Expand all
201 // The serial number of the GpuProcessHost / GpuProcessHostUIShim pair. 210 // The serial number of the GpuProcessHost / GpuProcessHostUIShim pair.
202 int host_id_; 211 int host_id_;
203 212
204 // These are the channel requests that we have already sent to 213 // These are the channel requests that we have already sent to
205 // the GPU process, but haven't heard back about yet. 214 // the GPU process, but haven't heard back about yet.
206 std::queue<EstablishChannelCallback> channel_requests_; 215 std::queue<EstablishChannelCallback> channel_requests_;
207 216
208 // The pending create command buffer requests we need to reply to. 217 // The pending create command buffer requests we need to reply to.
209 std::queue<CreateCommandBufferCallback> create_command_buffer_requests_; 218 std::queue<CreateCommandBufferCallback> create_command_buffer_requests_;
210 219
220 // The pending create command buffer requests we need to reply to.
221 std::queue<CreateStreamTextureCallback> create_stream_texture_requests_;
222
211 // The pending create gpu memory buffer requests we need to reply to. 223 // The pending create gpu memory buffer requests we need to reply to.
212 std::queue<CreateGpuMemoryBufferCallback> create_gpu_memory_buffer_requests_; 224 std::queue<CreateGpuMemoryBufferCallback> create_gpu_memory_buffer_requests_;
213 225
214 // Surface ids for pending gpu memory buffer request refs. 226 // Surface ids for pending gpu memory buffer request refs.
215 std::queue<int32> create_gpu_memory_buffer_surface_refs_; 227 std::queue<int32> create_gpu_memory_buffer_surface_refs_;
216 228
217 // Qeueud messages to send when the process launches. 229 // Qeueud messages to send when the process launches.
218 std::queue<IPC::Message*> queued_messages_; 230 std::queue<IPC::Message*> queued_messages_;
219 231
220 // Whether the GPU process is valid, set to false after Send() failed. 232 // Whether the GPU process is valid, set to false after Send() failed.
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
291 // IOSurfaces. 303 // IOSurfaces.
292 IOSurfaceManagerToken io_surface_manager_token_; 304 IOSurfaceManagerToken io_surface_manager_token_;
293 #endif 305 #endif
294 306
295 DISALLOW_COPY_AND_ASSIGN(GpuProcessHost); 307 DISALLOW_COPY_AND_ASSIGN(GpuProcessHost);
296 }; 308 };
297 309
298 } // namespace content 310 } // namespace content
299 311
300 #endif // CONTENT_BROWSER_GPU_GPU_PROCESS_HOST_H_ 312 #endif // CONTENT_BROWSER_GPU_GPU_PROCESS_HOST_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698