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

Side by Side Diff: content/browser/gpu/browser_gpu_channel_host_factory.cc

Issue 1365563002: Make channel preemption not require view contexts for hookup (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@wakeup_gpu
Patch Set: rebase Created 5 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
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 #include "content/browser/gpu/browser_gpu_channel_host_factory.h" 5 #include "content/browser/gpu/browser_gpu_channel_host_factory.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/location.h" 9 #include "base/location.h"
10 #include "base/profiler/scoped_tracker.h" 10 #include "base/profiler/scoped_tracker.h"
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
141 // failure in ChannelEstablishedOnIO, but we ended up with the same 141 // failure in ChannelEstablishedOnIO, but we ended up with the same
142 // process ID, meaning the failure was not because of a channel error, 142 // process ID, meaning the failure was not because of a channel error,
143 // but another reason. So fail now. 143 // but another reason. So fail now.
144 LOG(ERROR) << "Failed to create channel."; 144 LOG(ERROR) << "Failed to create channel.";
145 FinishOnIO(); 145 FinishOnIO();
146 return; 146 return;
147 } 147 }
148 reused_gpu_process_ = true; 148 reused_gpu_process_ = true;
149 } 149 }
150 150
151 bool preempts = true;
152 bool preempted = false;
153 bool allow_future_sync_points = true;
154 bool allow_real_time_streams = true;
151 host->EstablishGpuChannel( 155 host->EstablishGpuChannel(
152 gpu_client_id_, gpu_client_tracing_id_, true, true, true, 156 gpu_client_id_, gpu_client_tracing_id_, preempts, preempted,
157 allow_future_sync_points, allow_real_time_streams,
153 base::Bind( 158 base::Bind(
154 &BrowserGpuChannelHostFactory::EstablishRequest::OnEstablishedOnIO, 159 &BrowserGpuChannelHostFactory::EstablishRequest::OnEstablishedOnIO,
155 this)); 160 this));
156 } 161 }
157 162
158 void BrowserGpuChannelHostFactory::EstablishRequest::OnEstablishedOnIO( 163 void BrowserGpuChannelHostFactory::EstablishRequest::OnEstablishedOnIO(
159 const IPC::ChannelHandle& channel_handle, 164 const IPC::ChannelHandle& channel_handle,
160 const gpu::GPUInfo& gpu_info) { 165 const gpu::GPUInfo& gpu_info) {
161 if (channel_handle.name.empty() && reused_gpu_process_) { 166 if (channel_handle.name.empty() && reused_gpu_process_) {
162 // We failed after re-using the GPU process, but it may have died in the 167 // We failed after re-using the GPU process, but it may have died in the
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
293 if (!host) { 298 if (!host) {
294 request->event.Signal(); 299 request->event.Signal();
295 return; 300 return;
296 } 301 }
297 302
298 gfx::GLSurfaceHandle surface = 303 gfx::GLSurfaceHandle surface =
299 GpuSurfaceTracker::Get()->GetSurfaceHandle(surface_id); 304 GpuSurfaceTracker::Get()->GetSurfaceHandle(surface_id);
300 305
301 host->CreateViewCommandBuffer( 306 host->CreateViewCommandBuffer(
302 surface, 307 surface,
303 surface_id,
304 gpu_client_id_, 308 gpu_client_id_,
305 init_params, 309 init_params,
306 request->route_id, 310 request->route_id,
307 base::Bind(&BrowserGpuChannelHostFactory::CommandBufferCreatedOnIO, 311 base::Bind(&BrowserGpuChannelHostFactory::CommandBufferCreatedOnIO,
308 request)); 312 request));
309 } 313 }
310 314
311 // static 315 // static
312 void BrowserGpuChannelHostFactory::CommandBufferCreatedOnIO( 316 void BrowserGpuChannelHostFactory::CommandBufferCreatedOnIO(
313 CreateRequest* request, CreateCommandBufferResult result) { 317 CreateRequest* request, CreateCommandBufferResult result) {
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
432 } 436 }
433 437
434 // static 438 // static
435 void BrowserGpuChannelHostFactory::InitializeShaderDiskCacheOnIO( 439 void BrowserGpuChannelHostFactory::InitializeShaderDiskCacheOnIO(
436 int gpu_client_id, 440 int gpu_client_id,
437 const base::FilePath& cache_dir) { 441 const base::FilePath& cache_dir) {
438 ShaderCacheFactory::GetInstance()->SetCacheInfo(gpu_client_id, cache_dir); 442 ShaderCacheFactory::GetInstance()->SetCacheInfo(gpu_client_id, cache_dir);
439 } 443 }
440 444
441 } // namespace content 445 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/frame_host/render_widget_host_view_child_frame.cc ('k') | content/browser/gpu/gpu_process_host.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698