Chromium Code Reviews| 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 e9d5277fa2e2550547ebdc9ab6d6518c9fcb83b1..2bb33b58f1b7a774c1d60034b51e712425a086df 100644 |
| --- a/content/browser/gpu/gpu_data_manager_impl_private.cc |
| +++ b/content/browser/gpu/gpu_data_manager_impl_private.cc |
| @@ -61,13 +61,6 @@ namespace content { |
| namespace { |
| -enum GpuFeatureStatus { |
| - kGpuFeatureEnabled = 0, |
| - kGpuFeatureBlacklisted = 1, |
| - kGpuFeatureDisabled = 2, // disabled by user but not blacklisted |
| - kGpuFeatureNumStatus |
| -}; |
| - |
| #if defined(OS_WIN) |
| enum WinSubVersion { |
| @@ -82,7 +75,7 @@ enum WinSubVersion { |
| kNumWinSubVersions |
| }; |
| -int GetGpuBlacklistHistogramValueWin(GpuFeatureStatus status) { |
| +int GetGpuBlacklistHistogramValueWin(gpu::GpuFeatureStatus status) { |
| static WinSubVersion sub_version = kNumWinSubVersions; |
| if (sub_version == kNumWinSubVersions) { |
| sub_version = kWinOthers; |
| @@ -110,17 +103,17 @@ int GetGpuBlacklistHistogramValueWin(GpuFeatureStatus status) { |
| break; |
| } |
| } |
| - int entry_index = static_cast<int>(sub_version) * kGpuFeatureNumStatus; |
| + int entry_index = static_cast<int>(sub_version) * gpu::kGpuFeatureStatusMax; |
| switch (status) { |
| - case kGpuFeatureEnabled: |
| + case gpu::kGpuFeatureStatusEnabled: |
| break; |
| - case kGpuFeatureBlacklisted: |
| + case gpu::kGpuFeatureStatusBlacklisted: |
| entry_index++; |
| break; |
| - case kGpuFeatureDisabled: |
| + case gpu::kGpuFeatureStatusDisabled: |
| entry_index += 2; |
| break; |
| - case kGpuFeatureNumStatus: |
| + case gpu::kGpuFeatureStatusMax: |
| NOTREACHED(); |
| break; |
| } |
| @@ -201,21 +194,21 @@ void UpdateStats(const gpu::GPUInfo& gpu_info, |
| for (size_t i = 0; i < kNumFeatures; ++i) { |
| // We can't use UMA_HISTOGRAM_ENUMERATION here because the same name is |
| // expected if the macro is used within a loop. |
| - GpuFeatureStatus value = kGpuFeatureEnabled; |
| + gpu::GpuFeatureStatus value = gpu::kGpuFeatureStatusEnabled; |
| if (blacklisted_features.count(kGpuFeatures[i])) |
| - value = kGpuFeatureBlacklisted; |
| + value = gpu::kGpuFeatureStatusBlacklisted; |
| else if (kGpuFeatureUserFlags[i]) |
| - value = kGpuFeatureDisabled; |
| + value = gpu::kGpuFeatureStatusDisabled; |
| base::HistogramBase* histogram_pointer = base::LinearHistogram::FactoryGet( |
| - kGpuBlacklistFeatureHistogramNames[i], |
| - 1, kGpuFeatureNumStatus, kGpuFeatureNumStatus + 1, |
| + kGpuBlacklistFeatureHistogramNames[i], 1, gpu::kGpuFeatureStatusMax, |
| + gpu::kGpuFeatureStatusMax + 1, |
| base::HistogramBase::kUmaTargetedHistogramFlag); |
| histogram_pointer->Add(value); |
| #if defined(OS_WIN) |
| histogram_pointer = base::LinearHistogram::FactoryGet( |
| - kGpuBlacklistFeatureHistogramNamesWin[i], |
| - 1, kNumWinSubVersions * kGpuFeatureNumStatus, |
| - kNumWinSubVersions * kGpuFeatureNumStatus + 1, |
| + kGpuBlacklistFeatureHistogramNamesWin[i], 1, |
| + kNumWinSubVersions * gpu::kGpuFeatureStatusMax, |
| + kNumWinSubVersions * gpu::kGpuFeatureStatusMax + 1, |
| base::HistogramBase::kUmaTargetedHistogramFlag); |
| histogram_pointer->Add(GetGpuBlacklistHistogramValueWin(value)); |
| #endif |
| @@ -309,6 +302,13 @@ bool GpuDataManagerImplPrivate::IsFeatureBlacklisted(int feature) const { |
| return (blacklisted_features_.count(feature) == 1); |
| } |
| +bool GpuDataManagerImplPrivate::IsFeatureEnabled(int feature) const { |
|
Zhenyao Mo
2017/02/03 23:57:32
What is the design for the situation if this is ca
ericrk
2017/02/06 19:51:38
makes sense - added disabled.
|
| + DCHECK_EQ(feature, gpu::GPU_FEATURE_TYPE_GPU_RASTERIZATION); |
| + return gpu_feature_info_ |
|
ericrk
2017/01/30 15:41:24
We could also put an IsFeatureEnabled on GpuFeatur
Zhenyao Mo
2017/02/03 23:57:32
Sounds good.
|
| + .status_values[gpu::GPU_FEATURE_TYPE_GPU_RASTERIZATION] == |
| + gpu::kGpuFeatureStatusEnabled; |
| +} |
| + |
| bool GpuDataManagerImplPrivate::IsDriverBugWorkaroundActive(int feature) const { |
| return (gpu_driver_bugs_.count(feature) == 1); |
| } |
| @@ -682,6 +682,11 @@ void GpuDataManagerImplPrivate::UpdateGpuInfo(const gpu::GPUInfo& gpu_info) { |
| UpdateGpuInfoHelper(); |
| } |
| +void GpuDataManagerImplPrivate::UpdateGpuFeatureInfo( |
| + const gpu::GpuFeatureInfo& gpu_feature_info) { |
| + gpu_feature_info_ = gpu_feature_info; |
| +} |
| + |
| void GpuDataManagerImplPrivate::UpdateVideoMemoryUsageStats( |
| const gpu::VideoMemoryUsageStats& video_memory_usage_stats) { |
| GpuDataManagerImpl::UnlockedSession session(owner_); |