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

Side by Side Diff: trunk/src/content/browser/gpu/gpu_data_manager_impl_private.cc

Issue 23775004: Revert 221114 "Enable GPU blacklist in tests." (Closed) Base URL: svn://svn.chromium.org/chrome/
Patch Set: Created 7 years, 3 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) 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 "content/browser/gpu/gpu_data_manager_impl_private.h" 5 #include "content/browser/gpu/gpu_data_manager_impl_private.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/bind_helpers.h" 8 #include "base/bind_helpers.h"
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/debug/trace_event.h" 10 #include "base/debug/trace_event.h"
(...skipping 553 matching lines...) Expand 10 before | Expand all | Expand 10 after
564 std::string* gl_version) { 564 std::string* gl_version) {
565 DCHECK(gl_vendor && gl_renderer && gl_version); 565 DCHECK(gl_vendor && gl_renderer && gl_version);
566 566
567 *gl_vendor = gpu_info_.gl_vendor; 567 *gl_vendor = gpu_info_.gl_vendor;
568 *gl_renderer = gpu_info_.gl_renderer; 568 *gl_renderer = gpu_info_.gl_renderer;
569 *gl_version = gpu_info_.gl_version_string; 569 *gl_version = gpu_info_.gl_version_string;
570 } 570 }
571 571
572 void GpuDataManagerImplPrivate::Initialize() { 572 void GpuDataManagerImplPrivate::Initialize() {
573 TRACE_EVENT0("startup", "GpuDataManagerImpl::Initialize"); 573 TRACE_EVENT0("startup", "GpuDataManagerImpl::Initialize");
574 const CommandLine* command_line = CommandLine::ForCurrentProcess(); 574 CommandLine* command_line = CommandLine::ForCurrentProcess();
575 if (command_line->HasSwitch(switches::kSkipGpuDataLoading)) 575 if (command_line->HasSwitch(switches::kSkipGpuDataLoading) &&
576 !command_line->HasSwitch(switches::kUseGpuInTests))
576 return; 577 return;
577 578
578 gpu::GPUInfo gpu_info; 579 gpu::GPUInfo gpu_info;
579 if (command_line->GetSwitchValueASCII( 580 {
580 switches::kUseGL) == gfx::kGLImplementationOSMesaName) {
581 // If using the OSMesa GL implementation, use fake vendor and device ids to
582 // make sure it never gets blacklisted. This is better than simply
583 // cancelling GPUInfo gathering as it allows us to proceed with loading the
584 // blacklist below which may have non-device specific entries we want to
585 // apply anyways (e.g., OS version blacklisting).
586 gpu_info.gpu.vendor_id = 0xffff;
587 gpu_info.gpu.device_id = 0xffff;
588
589 // Hardcode some values otherwise some blacklisting rules in
590 // kSoftwareRenderingListJson result in a positive match as GpuControlList
591 // assumes a match (by design) when a property is required for the
592 // verification yet not present in the GpuInfo.
593 gpu_info.driver_vendor =
594 gfx::kGLImplementationOSMesaName; // Bypass rule #74.
595 gpu_info.driver_date = "2013.8"; // Bypass rules #12 and #55.
596 gpu_info.driver_version = "9.0.3"; // Bypass rule #23.
597 } else {
598 TRACE_EVENT0("startup", 581 TRACE_EVENT0("startup",
599 "GpuDataManagerImpl::Initialize:CollectBasicGraphicsInfo"); 582 "GpuDataManagerImpl::Initialize:CollectBasicGraphicsInfo");
600 gpu::CollectBasicGraphicsInfo(&gpu_info); 583 gpu::CollectBasicGraphicsInfo(&gpu_info);
601 } 584 }
602 #if defined(ARCH_CPU_X86_FAMILY) 585 #if defined(ARCH_CPU_X86_FAMILY)
603 if (!gpu_info.gpu.vendor_id || !gpu_info.gpu.device_id) 586 if (!gpu_info.gpu.vendor_id || !gpu_info.gpu.device_id)
604 gpu_info.finalized = true; 587 gpu_info.finalized = true;
605 #endif 588 #endif
606 589
607 std::string gpu_blacklist_string; 590 std::string gpu_blacklist_string;
(...skipping 460 matching lines...) Expand 10 before | Expand all | Expand 10 after
1068 const std::string& gpu_blacklist_json, 1051 const std::string& gpu_blacklist_json,
1069 const std::string& gpu_switching_list_json, 1052 const std::string& gpu_switching_list_json,
1070 const std::string& gpu_driver_bug_list_json, 1053 const std::string& gpu_driver_bug_list_json,
1071 const gpu::GPUInfo& gpu_info) { 1054 const gpu::GPUInfo& gpu_info) {
1072 std::string browser_version_string = ProcessVersionString( 1055 std::string browser_version_string = ProcessVersionString(
1073 GetContentClient()->GetProduct()); 1056 GetContentClient()->GetProduct());
1074 CHECK(!browser_version_string.empty()); 1057 CHECK(!browser_version_string.empty());
1075 1058
1076 if (!gpu_blacklist_json.empty()) { 1059 if (!gpu_blacklist_json.empty()) {
1077 gpu_blacklist_.reset(gpu::GpuBlacklist::Create()); 1060 gpu_blacklist_.reset(gpu::GpuBlacklist::Create());
1078 if (CommandLine::ForCurrentProcess()->HasSwitch(
1079 switches::kLogGpuControlListDecisions)) {
1080 gpu_blacklist_->enable_control_list_logging();
1081 }
1082 gpu_blacklist_->LoadList( 1061 gpu_blacklist_->LoadList(
1083 browser_version_string, gpu_blacklist_json, 1062 browser_version_string, gpu_blacklist_json,
1084 gpu::GpuControlList::kCurrentOsOnly); 1063 gpu::GpuControlList::kCurrentOsOnly);
1085 } 1064 }
1086 if (!gpu_switching_list_json.empty()) { 1065 if (!gpu_switching_list_json.empty()) {
1087 gpu_switching_list_.reset(gpu::GpuSwitchingList::Create()); 1066 gpu_switching_list_.reset(gpu::GpuSwitchingList::Create());
1088 gpu_switching_list_->LoadList( 1067 gpu_switching_list_->LoadList(
1089 browser_version_string, gpu_switching_list_json, 1068 browser_version_string, gpu_switching_list_json,
1090 gpu::GpuControlList::kCurrentOsOnly); 1069 gpu::GpuControlList::kCurrentOsOnly);
1091 } 1070 }
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after
1282 1261
1283 void GpuDataManagerImplPrivate::OnGpuProcessInitFailure() { 1262 void GpuDataManagerImplPrivate::OnGpuProcessInitFailure() {
1284 gpu_process_accessible_ = false; 1263 gpu_process_accessible_ = false;
1285 gpu_info_.finalized = true; 1264 gpu_info_.finalized = true;
1286 complete_gpu_info_already_requested_ = true; 1265 complete_gpu_info_already_requested_ = true;
1287 // Some observers might be waiting. 1266 // Some observers might be waiting.
1288 NotifyGpuInfoUpdate(); 1267 NotifyGpuInfoUpdate();
1289 } 1268 }
1290 1269
1291 } // namespace content 1270 } // namespace content
OLDNEW
« no previous file with comments | « trunk/src/content/browser/gpu/compositor_util_browsertest.cc ('k') | trunk/src/content/content_tests.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698