Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(59)

Side by Side Diff: gpu/config/gpu_control_list.cc

Issue 1547793004: Make gpu black list work again on Linux (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Clear existing gpu testing switches before each test Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "gpu/config/gpu_control_list.h" 5 #include "gpu/config/gpu_control_list.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include "base/command_line.h"
10 #include "base/cpu.h" 11 #include "base/cpu.h"
11 #include "base/json/json_reader.h" 12 #include "base/json/json_reader.h"
12 #include "base/logging.h" 13 #include "base/logging.h"
13 #include "base/strings/string_number_conversions.h" 14 #include "base/strings/string_number_conversions.h"
14 #include "base/strings/string_split.h" 15 #include "base/strings/string_split.h"
15 #include "base/strings/string_util.h" 16 #include "base/strings/string_util.h"
16 #include "base/strings/stringprintf.h" 17 #include "base/strings/stringprintf.h"
17 #include "base/sys_info.h" 18 #include "base/sys_info.h"
18 #include "gpu/config/gpu_info.h" 19 #include "gpu/config/gpu_info.h"
20 #include "gpu/config/gpu_switches.h"
19 #include "gpu/config/gpu_util.h" 21 #include "gpu/config/gpu_util.h"
20 #include "third_party/re2/src/re2/re2.h" 22 #include "third_party/re2/src/re2/re2.h"
21 23
22 namespace gpu { 24 namespace gpu {
23 namespace { 25 namespace {
24 26
25 // Break a version string into segments. Return true if each segment is 27 // Break a version string into segments. Return true if each segment is
26 // a valid number, and not all segment is 0. 28 // a valid number, and not all segment is 0.
27 bool ProcessVersionString(const std::string& version_string, 29 bool ProcessVersionString(const std::string& version_string,
28 char splitter, 30 char splitter,
(...skipping 1395 matching lines...) Expand 10 before | Expand all | Expand 10 after
1424 std::set<int> permanent_features; 1426 std::set<int> permanent_features;
1425 // Has all features absent from "features" set that could potentially be 1427 // Has all features absent from "features" set that could potentially be
1426 // included later with more information. 1428 // included later with more information.
1427 std::set<int> potential_features; 1429 std::set<int> potential_features;
1428 1430
1429 if (os == kOsAny) 1431 if (os == kOsAny)
1430 os = GetOsType(); 1432 os = GetOsType();
1431 if (os_version.empty()) 1433 if (os_version.empty())
1432 os_version = base::SysInfo::OperatingSystemVersion(); 1434 os_version = base::SysInfo::OperatingSystemVersion();
1433 1435
1436 base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
Zhenyao Mo 2016/01/29 22:40:35 I disagree with this method of hacking all over th
1437 if (command_line->HasSwitch(switches::kGpuTestingOsVersion))
1438 os_version =
1439 command_line->GetSwitchValueASCII(switches::kGpuTestingOsVersion);
1440
1434 for (size_t i = 0; i < entries_.size(); ++i) { 1441 for (size_t i = 0; i < entries_.size(); ++i) {
1435 ScopedGpuControlListEntry entry = entries_[i]; 1442 ScopedGpuControlListEntry entry = entries_[i];
1436 if (entry->Contains(os, os_version, gpu_info)) { 1443 if (entry->Contains(os, os_version, gpu_info)) {
1437 bool needs_more_info_main = entry->NeedsMoreInfo(gpu_info, false); 1444 bool needs_more_info_main = entry->NeedsMoreInfo(gpu_info, false);
1438 bool needs_more_info_exception = entry->NeedsMoreInfo(gpu_info, true); 1445 bool needs_more_info_exception = entry->NeedsMoreInfo(gpu_info, true);
1439 1446
1440 if (!entry->disabled()) { 1447 if (!entry->disabled()) {
1441 if (control_list_logging_enabled_) 1448 if (control_list_logging_enabled_)
1442 entry->LogControlListMatch(control_list_logging_name_); 1449 entry->LogControlListMatch(control_list_logging_name_);
1443 // Only look at main entry info when deciding what to add to "features" 1450 // Only look at main entry info when deciding what to add to "features"
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
1583 const std::string& feature_name, int feature_id) { 1590 const std::string& feature_name, int feature_id) {
1584 feature_map_[feature_name] = feature_id; 1591 feature_map_[feature_name] = feature_id;
1585 } 1592 }
1586 1593
1587 void GpuControlList::set_supports_feature_type_all(bool supported) { 1594 void GpuControlList::set_supports_feature_type_all(bool supported) {
1588 supports_feature_type_all_ = supported; 1595 supports_feature_type_all_ = supported;
1589 } 1596 }
1590 1597
1591 } // namespace gpu 1598 } // namespace gpu
1592 1599
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698