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

Side by Side Diff: chrome/gpu/gpu_thread.cc

Issue 6531023: Collect as much GPU information as possible without creating a GL/D3D context... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: move safe info collection into gpu process Created 9 years, 10 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) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 "chrome/gpu/gpu_thread.h" 5 #include "chrome/gpu/gpu_thread.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "app/gfx/gl/gl_context.h" 10 #include "app/gfx/gl/gl_context.h"
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
102 102
103 } // namespace 103 } // namespace
104 104
105 void GpuThread::OnInitialize() { 105 void GpuThread::OnInitialize() {
106 // Redirect LOG messages to the GpuProcessHost 106 // Redirect LOG messages to the GpuProcessHost
107 bool single_process = CommandLine::ForCurrentProcess()->HasSwitch( 107 bool single_process = CommandLine::ForCurrentProcess()->HasSwitch(
108 switches::kSingleProcess); 108 switches::kSingleProcess);
109 if (!single_process) 109 if (!single_process)
110 logging::SetLogMessageHandler(GpuProcessLogMessageHandler); 110 logging::SetLogMessageHandler(GpuProcessLogMessageHandler);
111 111
112 // Collect as much GPU info as possible without creating GL/D3D context.
113 gpu_info_collector::CollectGraphicsInfoSafe(&gpu_info_);
114 LOG(INFO) << "gpu_info_collector::CollectGraphicsInfoSafe complete";
115
116 // Go through GPU blacklist with partial GPU info; if GPU is already
117 // blacklisted, don't create GL/D3D context.
118 bool blacklisted;
119 Send(new GpuHostMsg_GraphicsInfoCollectedSafe(gpu_info_, &blacklisted));
120 if (blacklisted) {
121 MessageLoop::current()->Quit();
Ken Russell (switch to Gerrit) 2011/02/18 22:21:24 How about a LOG(ERROR) like the other exit paths?
Zhenyao Mo 2011/02/18 22:41:52 Done.
122 return;
123 }
124
112 // Load the GL implementation and locate the bindings before starting the GPU 125 // Load the GL implementation and locate the bindings before starting the GPU
113 // watchdog because this can take a lot of time and the GPU watchdog might 126 // watchdog because this can take a lot of time and the GPU watchdog might
114 // terminate the GPU process. 127 // terminate the GPU process.
115 if (!gfx::GLContext::InitializeOneOff()) { 128 if (!gfx::GLContext::InitializeOneOff()) {
116 LOG(INFO) << "GLContext::InitializeOneOff failed"; 129 LOG(INFO) << "GLContext::InitializeOneOff failed";
117 MessageLoop::current()->Quit(); 130 MessageLoop::current()->Quit();
118 return; 131 return;
119 } 132 }
120 gpu_info_collector::CollectGraphicsInfo(&gpu_info_); 133 gpu_info_collector::CollectGraphicsInfo(&gpu_info_);
121 child_process_logging::SetGpuInfo(gpu_info_); 134 child_process_logging::SetGpuInfo(gpu_info_);
(...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after
309 NewRunnableFunction(&GpuThread::SetDxDiagnostics, thread, node)); 322 NewRunnableFunction(&GpuThread::SetDxDiagnostics, thread, node));
310 } 323 }
311 324
312 // Runs on the GPU thread. 325 // Runs on the GPU thread.
313 void GpuThread::SetDxDiagnostics(GpuThread* thread, const DxDiagNode& node) { 326 void GpuThread::SetDxDiagnostics(GpuThread* thread, const DxDiagNode& node) {
314 thread->gpu_info_.SetDxDiagnostics(node); 327 thread->gpu_info_.SetDxDiagnostics(node);
315 thread->gpu_info_.SetLevel(GPUInfo::kComplete); 328 thread->gpu_info_.SetLevel(GPUInfo::kComplete);
316 } 329 }
317 330
318 #endif 331 #endif
OLDNEW
« chrome/gpu/gpu_info_collector.h ('K') | « chrome/gpu/gpu_info_collector_win.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698