Index: content/browser/gpu/gpu_data_manager_impl_private.cc |
diff --git a/content/browser/gpu/gpu_data_manager_impl_private.cc b/content/browser/gpu/gpu_data_manager_impl_private.cc |
index 3a1da35e23a274e8097871dda88ddbbac93f573c..2ae98d7189a0b145b8bdefd12dda4fd1b5d5f888 100644 |
--- a/content/browser/gpu/gpu_data_manager_impl_private.cc |
+++ b/content/browser/gpu/gpu_data_manager_impl_private.cc |
@@ -209,6 +209,31 @@ void UpdateStats(const gpu::GPUInfo& gpu_info, |
} |
} |
+void UpdateDriverBugListStats(const gpu::GpuDriverBugList* bug_list, |
+ const std::set<int>& blacklisted_features) { |
Zhenyao Mo
2017/05/04 17:32:36
maybe rename blacklisted_features to workarounds o
|
+ uint32_t max_entry_id = bug_list->max_entry_id(); |
+ if (max_entry_id == 0) { |
+ // GPU Blacklist was not loaded. No need to go further. |
Zhenyao Mo
2017/05/04 17:32:36
nit: Blacklist -> driver bug list
|
+ return; |
+ } |
+ |
+ // Use entry 0 to capture the total number of times that data |
+ // was recorded in this histogram in order to have a convenient |
+ // denominator to compute blacklist percentages for the rest of the |
Zhenyao Mo
2017/05/04 17:32:36
nit: blacklist -> driver bug list
|
+ // entries. |
+ UMA_HISTOGRAM_SPARSE_SLOWLY("GPU.DriverBugTestResultsPerEntry", 0); |
+ |
+ if (blacklisted_features.size() != 0) { |
+ std::vector<uint32_t> flag_entries; |
+ bug_list->GetDecisionEntries(&flag_entries); |
+ DCHECK_GT(flag_entries.size(), 0u); |
+ for (size_t i = 0; i < flag_entries.size(); ++i) { |
+ UMA_HISTOGRAM_SPARSE_SLOWLY("GPU.DriverBugTestResultsPerEntry", |
+ flag_entries[i]); |
+ } |
+ } |
+} |
+ |
// Combine the integers into a string, seperated by ','. |
std::string IntSetToString(const std::set<int>& list) { |
std::string rt; |
@@ -685,6 +710,7 @@ void GpuDataManagerImplPrivate::UpdateGpuInfoHelper() { |
disabled_driver_bug_exts = gpu_driver_bug_list_->GetDisabledExtensions(); |
disabled_ext_set.insert(disabled_driver_bug_exts.begin(), |
disabled_driver_bug_exts.end()); |
+ UpdateDriverBugListStats(gpu_driver_bug_list_.get(), gpu_driver_bugs_); |
} |
disabled_extensions_ = |
base::JoinString(std::vector<base::StringPiece>(disabled_ext_set.begin(), |