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

Side by Side Diff: content/gpu/gpu_child_thread.cc

Issue 8692013: Improve GPU tests to fail when GPU drawing fails (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: re-added DLOG Created 9 years 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
« no previous file with comments | « content/common/gpu/gpu_command_buffer_stub.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/gpu/gpu_child_thread.h" 5 #include "content/gpu/gpu_child_thread.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
96 MessageLoop::current()->Quit(); 96 MessageLoop::current()->Quit();
97 return; 97 return;
98 } 98 }
99 99
100 // We don't need to pipe log messages if we are running the GPU thread in 100 // We don't need to pipe log messages if we are running the GPU thread in
101 // the browser process. 101 // the browser process.
102 if (!CommandLine::ForCurrentProcess()->HasSwitch(switches::kSingleProcess) && 102 if (!CommandLine::ForCurrentProcess()->HasSwitch(switches::kSingleProcess) &&
103 !CommandLine::ForCurrentProcess()->HasSwitch(switches::kInProcessGPU)) 103 !CommandLine::ForCurrentProcess()->HasSwitch(switches::kInProcessGPU))
104 logging::SetLogMessageHandler(GpuProcessLogMessageHandler); 104 logging::SetLogMessageHandler(GpuProcessLogMessageHandler);
105 105
106 // Always set gpu info and send it back, even if there's an error and it's
107 // impartially collected.
106 bool succeeded = gpu_info_collector::CollectGraphicsInfo(&gpu_info_); 108 bool succeeded = gpu_info_collector::CollectGraphicsInfo(&gpu_info_);
107 109 content::GetContentClient()->SetGpuInfo(gpu_info_);
108 if (succeeded) { 110 LOG(INFO) << "gpu_info_collector::CollectGraphicsInfo complete. success = " <<
109 content::GetContentClient()->SetGpuInfo(gpu_info_); 111 succeeded;
110 LOG(INFO) << "gpu_info_collector::CollectGraphicsInfo complete";
111 }
112 112
113 // Record initialization only after collecting the GPU info because that can 113 // Record initialization only after collecting the GPU info because that can
114 // take a significant amount of time. 114 // take a significant amount of time.
115 gpu_info_.initialization_time = base::Time::Now() - process_start_time_; 115 gpu_info_.initialization_time = base::Time::Now() - process_start_time_;
116 116
117 // In addition to disabling the watchdog if the command line switch is 117 // In addition to disabling the watchdog if the command line switch is
118 // present, disable it in two other cases. OSMesa is expected to run very 118 // present, disable it in two other cases. OSMesa is expected to run very
119 // slowly. Also disable the watchdog on valgrind because the code is expected 119 // slowly. Also disable the watchdog on valgrind because the code is expected
120 // to run slowly in that case. 120 // to run slowly in that case.
121 bool enable_watchdog = 121 bool enable_watchdog =
(...skipping 28 matching lines...) Expand all
150 // IPC messages before the sandbox has been enabled and all other necessary 150 // IPC messages before the sandbox has been enabled and all other necessary
151 // initialization has succeeded. 151 // initialization has succeeded.
152 gpu_channel_manager_.reset(new GpuChannelManager( 152 gpu_channel_manager_.reset(new GpuChannelManager(
153 this, 153 this,
154 watchdog_thread_, 154 watchdog_thread_,
155 ChildProcess::current()->io_message_loop_proxy(), 155 ChildProcess::current()->io_message_loop_proxy(),
156 ChildProcess::current()->GetShutDownEvent())); 156 ChildProcess::current()->GetShutDownEvent()));
157 157
158 // Ensure the browser process receives the GPU info before a reply to any 158 // Ensure the browser process receives the GPU info before a reply to any
159 // subsequent IPC it might send. 159 // subsequent IPC it might send.
160 if (succeeded) 160 Send(new GpuHostMsg_GraphicsInfoCollected(gpu_info_));
161 Send(new GpuHostMsg_GraphicsInfoCollected(gpu_info_));
162 } 161 }
163 162
164 void GpuChildThread::StopWatchdog() { 163 void GpuChildThread::StopWatchdog() {
165 if (watchdog_thread_.get()) { 164 if (watchdog_thread_.get()) {
166 watchdog_thread_->Stop(); 165 watchdog_thread_->Stop();
167 } 166 }
168 } 167 }
169 168
170 void GpuChildThread::OnCollectGraphicsInfo() { 169 void GpuChildThread::OnCollectGraphicsInfo() {
171 #if defined(OS_WIN) 170 #if defined(OS_WIN)
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
229 // Runs on the main thread. 228 // Runs on the main thread.
230 void GpuChildThread::SetDxDiagnostics(GpuChildThread* thread, 229 void GpuChildThread::SetDxDiagnostics(GpuChildThread* thread,
231 const content::DxDiagNode& node) { 230 const content::DxDiagNode& node) {
232 thread->gpu_info_.dx_diagnostics = node; 231 thread->gpu_info_.dx_diagnostics = node;
233 thread->gpu_info_.finalized = true; 232 thread->gpu_info_.finalized = true;
234 thread->collecting_dx_diagnostics_ = false; 233 thread->collecting_dx_diagnostics_ = false;
235 thread->Send(new GpuHostMsg_GraphicsInfoCollected(thread->gpu_info_)); 234 thread->Send(new GpuHostMsg_GraphicsInfoCollected(thread->gpu_info_));
236 } 235 }
237 236
238 #endif 237 #endif
OLDNEW
« no previous file with comments | « content/common/gpu/gpu_command_buffer_stub.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698