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

Side by Side Diff: content/renderer/gpu/gpu_channel_host.cc

Issue 7860028: Retry 3 to split WebGraphicsContext3DCommandBufferImpl::initialize() into two stages. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fold thread fixes into this patch. Created 9 years, 3 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 #include "content/renderer/gpu/gpu_channel_host.h" 5 #include "content/renderer/gpu/gpu_channel_host.h"
6 6
7 #include "base/message_loop.h" 7 #include "base/message_loop.h"
8 #include "base/message_loop_proxy.h" 8 #include "base/message_loop_proxy.h"
9 #include "content/common/child_process.h" 9 #include "content/common/child_process.h"
10 #include "content/common/gpu/gpu_messages.h" 10 #include "content/common/gpu/gpu_messages.h"
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after
199 delete message; 199 delete message;
200 return false; 200 return false;
201 } 201 }
202 202
203 CommandBufferProxy* GpuChannelHost::CreateViewCommandBuffer( 203 CommandBufferProxy* GpuChannelHost::CreateViewCommandBuffer(
204 int render_view_id, 204 int render_view_id,
205 CommandBufferProxy* share_group, 205 CommandBufferProxy* share_group,
206 const std::string& allowed_extensions, 206 const std::string& allowed_extensions,
207 const std::vector<int32>& attribs, 207 const std::vector<int32>& attribs,
208 const GURL& active_url) { 208 const GURL& active_url) {
209 DCHECK(ChildThread::current());
209 #if defined(ENABLE_GPU) 210 #if defined(ENABLE_GPU)
210 AutoLock lock(context_lock_); 211 AutoLock lock(context_lock_);
211 // An error occurred. Need to get the host again to reinitialize it. 212 // An error occurred. Need to get the host again to reinitialize it.
212 if (!channel_.get()) 213 if (!channel_.get())
213 return NULL; 214 return NULL;
214 215
215 GPUCreateCommandBufferConfig init_params; 216 GPUCreateCommandBufferConfig init_params;
216 init_params.share_group_id = 217 init_params.share_group_id =
217 share_group ? share_group->route_id() : MSG_ROUTING_NONE; 218 share_group ? share_group->route_id() : MSG_ROUTING_NONE;
218 init_params.allowed_extensions = allowed_extensions; 219 init_params.allowed_extensions = allowed_extensions;
219 init_params.attribs = attribs; 220 init_params.attribs = attribs;
220 init_params.active_url = active_url; 221 init_params.active_url = active_url;
221 int32 route_id; 222 int32 route_id;
222 if (!RenderThread::current()->Send( 223 if (!ChildThread::current()->Send(
223 new GpuHostMsg_CreateViewCommandBuffer( 224 new GpuHostMsg_CreateViewCommandBuffer(
224 render_view_id, 225 render_view_id,
225 init_params, 226 init_params,
226 &route_id))) { 227 &route_id))) {
227 return NULL; 228 return NULL;
228 } 229 }
229 230
230 if (route_id == MSG_ROUTING_NONE) 231 if (route_id == MSG_ROUTING_NONE)
231 return NULL; 232 return NULL;
232 233
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
314 } 315 }
315 316
316 void GpuChannelHost::RemoveRoute(int route_id) { 317 void GpuChannelHost::RemoveRoute(int route_id) {
317 MessageLoopProxy* io_loop = RenderProcess::current()->io_message_loop_proxy(); 318 MessageLoopProxy* io_loop = RenderProcess::current()->io_message_loop_proxy();
318 io_loop->PostTask(FROM_HERE, 319 io_loop->PostTask(FROM_HERE,
319 NewRunnableMethod( 320 NewRunnableMethod(
320 channel_filter_.get(), 321 channel_filter_.get(),
321 &GpuChannelHost::MessageFilter::RemoveRoute, 322 &GpuChannelHost::MessageFilter::RemoveRoute,
322 route_id)); 323 route_id));
323 } 324 }
OLDNEW
« no previous file with comments | « content/renderer/gpu/command_buffer_proxy.cc ('k') | content/renderer/gpu/renderer_gl_context.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698