Index: chrome/gpu/gpu_thread.cc |
=================================================================== |
--- chrome/gpu/gpu_thread.cc (revision 72706) |
+++ chrome/gpu/gpu_thread.cc (working copy) |
@@ -95,6 +95,18 @@ |
gpu_info_collector::CollectGraphicsInfo(&gpu_info_); |
child_process_logging::SetGpuInfo(gpu_info_); |
+#if defined(OS_WIN) |
+ // Asynchronously collect the DirectX diagnostics because this can take a |
+ // couple of seconds. |
+ if (!base::WorkerPool::PostTask( |
+ FROM_HERE, |
+ NewRunnableFunction(&GpuThread::CollectDxDiagnostics, this), |
+ true)) { |
+ // Flag GPU info as complete if the DirectX diagnostics cannot be collected. |
+ gpu_info_.SetProgress(GPUInfo::kComplete); |
+ } |
+#endif |
+ |
// Record initialization only after collecting the GPU info because that can |
// take a significant amount of time. |
gpu_info_.SetInitializationTime(base::Time::Now() - process_start_time_); |
@@ -196,26 +208,7 @@ |
Send(new GpuHostMsg_SynchronizeReply()); |
} |
-void GpuThread::OnCollectGraphicsInfo(GPUInfo::Level level) { |
-#if defined(OS_WIN) |
- if (level == GPUInfo::kComplete && gpu_info_.level() <= GPUInfo::kPartial) { |
- // Prevent concurrent collection of DirectX diagnostics. |
- gpu_info_.SetLevel(GPUInfo::kCompleting); |
- |
- // Asynchronously collect the DirectX diagnostics because this can take a |
- // couple of seconds. |
- if (!base::WorkerPool::PostTask( |
- FROM_HERE, |
- NewRunnableFunction(&GpuThread::CollectDxDiagnostics, this), |
- true)) { |
- |
- // Flag GPU info as complete if the DirectX diagnostics cannot be |
- // collected. |
- gpu_info_.SetLevel(GPUInfo::kComplete); |
- } |
- } |
-#endif |
- |
+void GpuThread::OnCollectGraphicsInfo() { |
Send(new GpuHostMsg_GraphicsInfoCollected(gpu_info_)); |
} |
@@ -269,7 +262,7 @@ |
// Runs on the GPU thread. |
void GpuThread::SetDxDiagnostics(GpuThread* thread, const DxDiagNode& node) { |
thread->gpu_info_.SetDxDiagnostics(node); |
- thread->gpu_info_.SetLevel(GPUInfo::kComplete); |
+ thread->gpu_info_.SetProgress(GPUInfo::kComplete); |
} |
#endif |