diff options
author | gab@chromium.org <gab@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-09-23 22:23:47 +0000 |
---|---|---|
committer | gab@chromium.org <gab@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-09-23 22:23:47 +0000 |
commit | db404666d529da4446fb5cc5a183ada1979bb6a6 (patch) | |
tree | c83c28f461633c00465f335dd08e04b813bb75c9 /gpu | |
parent | bc882ddd33cc25ac5e68dd5b042cc6f836a57c74 (diff) | |
download | chromium_src-db404666d529da4446fb5cc5a183ada1979bb6a6.zip chromium_src-db404666d529da4446fb5cc5a183ada1979bb6a6.tar.gz chromium_src-db404666d529da4446fb5cc5a183ada1979bb6a6.tar.bz2 |
Enable GPU control lists in tests.
Reland of https://codereview.chromium.org/23534006/ (see that and the bug for more details).
Also adding INFO-level logging to spell out each control list rule being applied on the bots (makes debugging and understanding failures much easier).
R=piman@chromium.org
TBR=jcivelli, piman, zmo
BUG=295799
Review URL: https://codereview.chromium.org/23703017
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@224810 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'gpu')
-rw-r--r-- | gpu/config/gpu_control_list.cc | 14 | ||||
-rw-r--r-- | gpu/config/gpu_control_list.h | 15 | ||||
-rw-r--r-- | gpu/config/software_rendering_list_json.cc | 18 |
3 files changed, 44 insertions, 3 deletions
diff --git a/gpu/config/gpu_control_list.cc b/gpu/config/gpu_control_list.cc index 1d45d72..0c645b5 100644 --- a/gpu/config/gpu_control_list.cc +++ b/gpu/config/gpu_control_list.cc @@ -10,6 +10,7 @@ #include "base/strings/string_number_conversions.h" #include "base/strings/string_split.h" #include "base/strings/string_util.h" +#include "base/strings/stringprintf.h" #include "base/sys_info.h" #include "gpu/config/gpu_info.h" #include "gpu/config/gpu_util.h" @@ -1030,6 +1031,14 @@ GpuControlList::GpuControlListEntry::StringToMultiGpuCategory( return kMultiGpuCategoryNone; } +void GpuControlList::GpuControlListEntry::LogControlListMatch( + const std::string& control_list_logging_name) const { + static const char kControlListMatchMessage[] = + "Control list match for rule #%u in %s."; + LOG(INFO) << base::StringPrintf(kControlListMatchMessage, id_, + control_list_logging_name.c_str()); +} + bool GpuControlList::GpuControlListEntry::Contains( OsType os_type, const std::string& os_version, const GPUInfo& gpu_info) const { @@ -1185,7 +1194,8 @@ bool GpuControlList::GpuControlListEntry::StringToFeature( GpuControlList::GpuControlList() : max_entry_id_(0), needs_more_info_(false), - supports_feature_type_all_(false) { + supports_feature_type_all_(false), + control_list_logging_enabled_(false) { } GpuControlList::~GpuControlList() { @@ -1292,6 +1302,8 @@ std::set<int> GpuControlList::MakeDecision( for (size_t i = 0; i < entries_.size(); ++i) { if (entries_[i]->Contains(os, os_version, gpu_info)) { if (!entries_[i]->disabled()) { + if (control_list_logging_enabled_) + entries_[i]->LogControlListMatch(control_list_logging_name_); MergeFeatureSets(&possible_features, entries_[i]->features()); if (!entries_[i]->NeedsMoreInfo(gpu_info)) MergeFeatureSets(&features, entries_[i]->features()); diff --git a/gpu/config/gpu_control_list.h b/gpu/config/gpu_control_list.h index ced3b52..29a5f77 100644 --- a/gpu/config/gpu_control_list.h +++ b/gpu/config/gpu_control_list.h @@ -93,6 +93,13 @@ class GPU_EXPORT GpuControlList { // Register whether "all" is recognized as all features. void set_supports_feature_type_all(bool supported); + // Enables logging of control list decisions. + void enable_control_list_logging( + const std::string& control_list_logging_name) { + control_list_logging_enabled_ = true; + control_list_logging_name_ = control_list_logging_name; + } + private: friend class GpuControlListEntryTest; friend class MachineModelInfoTest; @@ -289,6 +296,11 @@ class GPU_EXPORT GpuControlList { const FeatureMap& feature_map, bool supports_feature_type_all); + // Logs a control list match for this rule in the list identified by + // |control_list_logging_name|. + void LogControlListMatch( + const std::string& control_list_logging_name) const; + // Determines if a given os/gc/machine_model/driver is included in the // Entry set. bool Contains(OsType os_type, const std::string& os_version, @@ -479,6 +491,9 @@ class GPU_EXPORT GpuControlList { // The features a GpuControlList recognizes and handles. FeatureMap feature_map_; bool supports_feature_type_all_; + + bool control_list_logging_enabled_; + std::string control_list_logging_name_; }; } // namespace gpu diff --git a/gpu/config/software_rendering_list_json.cc b/gpu/config/software_rendering_list_json.cc index 1e57daa..0fd56e1 100644 --- a/gpu/config/software_rendering_list_json.cc +++ b/gpu/config/software_rendering_list_json.cc @@ -18,7 +18,7 @@ const char kSoftwareRenderingListJson[] = LONG_STRING_CONST( { "name": "software rendering list", // Please update the version number whenever you change this file. - "version": "6.10", + "version": "6.11", "entries": [ { "id": 1, @@ -1123,6 +1123,21 @@ LONG_STRING_CONST( "features": [ "accelerated_video_decode" ] + }, + { + "id": 79, + "description": "Disable force compositing mode on all Windows versions prior to Vista.", + "cr_bugs": [273920], + "os": { + "type": "win", + "version": { + "op": "<", + "value": "6.0" + } + }, + "features": [ + "force_compositing_mode" + ] } ] } @@ -1130,4 +1145,3 @@ LONG_STRING_CONST( ); // LONG_STRING_CONST macro } // namespace gpu - |