| Index: content/browser/gpu/gpu_data_manager_impl.cc
|
| ===================================================================
|
| --- content/browser/gpu/gpu_data_manager_impl.cc (revision 173250)
|
| +++ content/browser/gpu/gpu_data_manager_impl.cc (working copy)
|
| @@ -173,6 +173,10 @@
|
| CHECK(succeed);
|
| }
|
|
|
| + {
|
| + base::AutoLock auto_lock(gpu_info_lock_);
|
| + gpu_info_ = gpu_info;
|
| + }
|
| UpdateGpuInfo(gpu_info);
|
| UpdateGpuSwitchingManager(gpu_info);
|
| UpdatePreliminaryBlacklistedFeatures();
|
| @@ -208,12 +212,21 @@
|
| if (software_rendering_)
|
| return;
|
|
|
| - GetContentClient()->SetGpuInfo(gpu_info);
|
| + GPUInfo my_gpu_info;
|
| + {
|
| + base::AutoLock auto_lock(gpu_info_lock_);
|
| + gpu_info_collector::MergeGPUInfo(&gpu_info_, gpu_info);
|
| + complete_gpu_info_already_requested_ =
|
| + complete_gpu_info_already_requested_ || gpu_info_.finalized;
|
| + my_gpu_info = gpu_info_;
|
| + }
|
|
|
| + GetContentClient()->SetGpuInfo(my_gpu_info);
|
| +
|
| if (gpu_blacklist_.get()) {
|
| GpuBlacklist::Decision decision =
|
| gpu_blacklist_->MakeBlacklistDecision(
|
| - GpuBlacklist::kOsAny, "", gpu_info);
|
| + GpuBlacklist::kOsAny, "", my_gpu_info);
|
| if (update_histograms_)
|
| UpdateStats(gpu_blacklist_.get(), decision.blacklisted_features);
|
|
|
| @@ -226,13 +239,6 @@
|
| }
|
| }
|
|
|
| - {
|
| - base::AutoLock auto_lock(gpu_info_lock_);
|
| - gpu_info_collector::MergeGPUInfo(&gpu_info_, gpu_info);
|
| - complete_gpu_info_already_requested_ =
|
| - complete_gpu_info_already_requested_ || gpu_info_.finalized;
|
| - }
|
| -
|
| // We have to update GpuFeatureType before notify all the observers.
|
| NotifyGpuInfoUpdate();
|
| }
|
|
|