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

Side by Side Diff: chrome/browser/gpu_blacklist.cc

Issue 6346007: Refactor and improve gpu_info_collector: collect information on linux;... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 11 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 "chrome/browser/gpu_blacklist.h" 5 #include "chrome/browser/gpu_blacklist.h"
6 6
7 #include "base/json/json_reader.h" 7 #include "base/json/json_reader.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "base/string_number_conversions.h" 9 #include "base/string_number_conversions.h"
10 #include "base/string_util.h" 10 #include "base/string_util.h"
(...skipping 352 matching lines...) Expand 10 before | Expand all | Expand 10 after
363 363
364 GpuFeatureFlags GpuBlacklist::DetermineGpuFeatureFlags( 364 GpuFeatureFlags GpuBlacklist::DetermineGpuFeatureFlags(
365 GpuBlacklist::OsType os, 365 GpuBlacklist::OsType os,
366 Version* os_version, 366 Version* os_version,
367 const GPUInfo& gpu_info) const { 367 const GPUInfo& gpu_info) const {
368 GpuFeatureFlags flags; 368 GpuFeatureFlags flags;
369 // No need to go through blacklist entries if GPUInfo isn't available. 369 // No need to go through blacklist entries if GPUInfo isn't available.
370 if (gpu_info.progress() == GPUInfo::kUninitialized) 370 if (gpu_info.progress() == GPUInfo::kUninitialized)
371 return flags; 371 return flags;
372 scoped_ptr<Version> driver_version( 372 scoped_ptr<Version> driver_version(
373 Version::GetVersionFromString(WideToASCII(gpu_info.driver_version()))); 373 Version::GetVersionFromString(gpu_info.driver_version()));
374 if (driver_version.get() == NULL) 374 if (driver_version.get() == NULL)
375 return flags; 375 return flags;
376 376
377 if (os == kOsAny) 377 if (os == kOsAny)
378 os = GetOsType(); 378 os = GetOsType();
379 scoped_ptr<Version> my_os_version; 379 scoped_ptr<Version> my_os_version;
380 if (os_version == NULL) { 380 if (os_version == NULL) {
381 std::string version_string; 381 std::string version_string;
382 #if defined(OS_MACOSX) 382 #if defined(OS_MACOSX)
383 // Seems like base::SysInfo::OperatingSystemVersion() returns the wrong 383 // Seems like base::SysInfo::OperatingSystemVersion() returns the wrong
384 // version in MacOsx. 384 // version in MacOsx.
385 int32 version_major, version_minor, version_bugfix; 385 int32 version_major, version_minor, version_bugfix;
386 base::SysInfo::OperatingSystemVersionNumbers( 386 base::SysInfo::OperatingSystemVersionNumbers(
387 &version_major, &version_minor, &version_bugfix); 387 &version_major, &version_minor, &version_bugfix);
388 version_string = base::StringPrintf("%d.%d.%d", 388 version_string = base::StringPrintf("%d.%d.%d",
389 version_major, 389 version_major,
390 version_minor, 390 version_minor,
391 version_bugfix); 391 version_bugfix);
392 #else 392 #else
393 version_string = base::SysInfo::OperatingSystemVersion(); 393 version_string = base::SysInfo::OperatingSystemVersion();
394 size_t pos = version_string.find_first_not_of("0123456789.");
395 if (pos != std::string::npos)
396 version_string = version_string.substr(0, pos);
394 #endif 397 #endif
395 my_os_version.reset(Version::GetVersionFromString(version_string)); 398 my_os_version.reset(Version::GetVersionFromString(version_string));
396 os_version = my_os_version.get(); 399 os_version = my_os_version.get();
397 } 400 }
398 DCHECK(os_version != NULL); 401 DCHECK(os_version != NULL);
399 402
400 for (size_t i = 0; i < blacklist_.size(); ++i) { 403 for (size_t i = 0; i < blacklist_.size(); ++i) {
401 if (blacklist_[i]->Contains(os, *os_version, 404 if (blacklist_[i]->Contains(os, *os_version,
402 gpu_info.vendor_id(), gpu_info.device_id(), 405 gpu_info.vendor_id(), gpu_info.device_id(),
403 *driver_version)) { 406 *driver_version)) {
(...skipping 14 matching lines...) Expand all
418 return kOsUnknown; 421 return kOsUnknown;
419 #endif 422 #endif
420 } 423 }
421 424
422 void GpuBlacklist::Clear() { 425 void GpuBlacklist::Clear() {
423 for (size_t i = 0; i < blacklist_.size(); ++i) 426 for (size_t i = 0; i < blacklist_.size(); ++i)
424 delete blacklist_[i]; 427 delete blacklist_[i];
425 blacklist_.clear(); 428 blacklist_.clear();
426 } 429 }
427 430
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698