| 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
|
|
|