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

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

Issue 1117813002: Add GL strings to CastSysInfo interface and use to configure GPU (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 7 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 "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/metrics/field_trial.h" 10 #include "base/metrics/field_trial.h"
(...skipping 471 matching lines...) Expand 10 before | Expand all | Expand 10 after
482 void GpuDataManagerImplPrivate::GetGLStrings(std::string* gl_vendor, 482 void GpuDataManagerImplPrivate::GetGLStrings(std::string* gl_vendor,
483 std::string* gl_renderer, 483 std::string* gl_renderer,
484 std::string* gl_version) { 484 std::string* gl_version) {
485 DCHECK(gl_vendor && gl_renderer && gl_version); 485 DCHECK(gl_vendor && gl_renderer && gl_version);
486 486
487 *gl_vendor = gpu_info_.gl_vendor; 487 *gl_vendor = gpu_info_.gl_vendor;
488 *gl_renderer = gpu_info_.gl_renderer; 488 *gl_renderer = gpu_info_.gl_renderer;
489 *gl_version = gpu_info_.gl_version; 489 *gl_version = gpu_info_.gl_version;
490 } 490 }
491 491
492 void GpuDataManagerImplPrivate::SetGpuDeviceName(const std::string& vendor,
493 const std::string& device) {
494 if (!gpu_info_.gpu.vendor_string.empty() ||
495 !gpu_info_.gpu.device_string.empty())
496 return;
497
498 gpu_info_.gpu.vendor_string = vendor;
499 gpu_info_.gpu.device_string = device;
500 }
501
492 void GpuDataManagerImplPrivate::Initialize() { 502 void GpuDataManagerImplPrivate::Initialize() {
493 TRACE_EVENT0("startup", "GpuDataManagerImpl::Initialize"); 503 TRACE_EVENT0("startup", "GpuDataManagerImpl::Initialize");
494 if (finalized_) { 504 if (finalized_) {
495 DVLOG(0) << "GpuDataManagerImpl marked as finalized; skipping Initialize"; 505 DVLOG(0) << "GpuDataManagerImpl marked as finalized; skipping Initialize";
496 return; 506 return;
497 } 507 }
498 508
499 base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); 509 base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
500 if (command_line->HasSwitch(switches::kSkipGpuDataLoading)) 510 if (command_line->HasSwitch(switches::kSkipGpuDataLoading))
501 return; 511 return;
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
671 // device_id, driver_vendor, driver_version for deciding whether we need to 681 // device_id, driver_vendor, driver_version for deciding whether we need to
672 // collect full info (on Linux) and for crash reporting purpose. 682 // collect full info (on Linux) and for crash reporting purpose.
673 command_line->AppendSwitchASCII(switches::kGpuVendorID, 683 command_line->AppendSwitchASCII(switches::kGpuVendorID,
674 base::StringPrintf("0x%04x", gpu_info_.gpu.vendor_id)); 684 base::StringPrintf("0x%04x", gpu_info_.gpu.vendor_id));
675 command_line->AppendSwitchASCII(switches::kGpuDeviceID, 685 command_line->AppendSwitchASCII(switches::kGpuDeviceID,
676 base::StringPrintf("0x%04x", gpu_info_.gpu.device_id)); 686 base::StringPrintf("0x%04x", gpu_info_.gpu.device_id));
677 command_line->AppendSwitchASCII(switches::kGpuDriverVendor, 687 command_line->AppendSwitchASCII(switches::kGpuDriverVendor,
678 gpu_info_.driver_vendor); 688 gpu_info_.driver_vendor);
679 command_line->AppendSwitchASCII(switches::kGpuDriverVersion, 689 command_line->AppendSwitchASCII(switches::kGpuDriverVersion,
680 gpu_info_.driver_version); 690 gpu_info_.driver_version);
691 if (!gpu_info_.gpu.vendor_string.empty())
692 command_line->AppendSwitchASCII(switches::kGpuVendorString,
693 gpu_info_.gpu.vendor_string);
694 if (!gpu_info_.gpu.device_string.empty())
695 command_line->AppendSwitchASCII(switches::kGpuDeviceString,
696 gpu_info_.gpu.device_string);
681 697
682 if (ShouldUseWarp()) 698 if (ShouldUseWarp())
683 command_line->AppendSwitch(switches::kUseWarp); 699 command_line->AppendSwitch(switches::kUseWarp);
684 } 700 }
685 701
686 void GpuDataManagerImplPrivate::AppendPluginCommandLine( 702 void GpuDataManagerImplPrivate::AppendPluginCommandLine(
687 base::CommandLine* command_line) const { 703 base::CommandLine* command_line) const {
688 DCHECK(command_line); 704 DCHECK(command_line);
689 705
690 #if defined(OS_MACOSX) 706 #if defined(OS_MACOSX)
(...skipping 274 matching lines...) Expand 10 before | Expand all | Expand 10 after
965 } 981 }
966 if (!gpu_driver_bug_list_json.empty()) { 982 if (!gpu_driver_bug_list_json.empty()) {
967 gpu_driver_bug_list_.reset(gpu::GpuDriverBugList::Create()); 983 gpu_driver_bug_list_.reset(gpu::GpuDriverBugList::Create());
968 if (log_gpu_control_list_decisions) 984 if (log_gpu_control_list_decisions)
969 gpu_driver_bug_list_->enable_control_list_logging("gpu_driver_bug_list"); 985 gpu_driver_bug_list_->enable_control_list_logging("gpu_driver_bug_list");
970 bool success = gpu_driver_bug_list_->LoadList( 986 bool success = gpu_driver_bug_list_->LoadList(
971 gpu_driver_bug_list_json, gpu::GpuControlList::kCurrentOsOnly); 987 gpu_driver_bug_list_json, gpu::GpuControlList::kCurrentOsOnly);
972 DCHECK(success); 988 DCHECK(success);
973 } 989 }
974 990
991 // Don't lose gpu vendor, device if set externally
992 std::string gpu_vendor_string = gpu_info_.gpu.vendor_string;
993 std::string gpu_device_string = gpu_info_.gpu.device_string;
994
975 gpu_info_ = gpu_info; 995 gpu_info_ = gpu_info;
996
997 if (!gpu_vendor_string.empty())
998 gpu_info_.gpu.vendor_string = gpu_vendor_string;
999 if (!gpu_device_string.empty())
1000 gpu_info_.gpu.device_string = gpu_device_string;
1001
976 UpdateGpuInfo(gpu_info); 1002 UpdateGpuInfo(gpu_info);
977 UpdateGpuSwitchingManager(gpu_info); 1003 UpdateGpuSwitchingManager(gpu_info);
978 UpdatePreliminaryBlacklistedFeatures(); 1004 UpdatePreliminaryBlacklistedFeatures();
979 } 1005 }
980 1006
981 void GpuDataManagerImplPrivate::UpdateBlacklistedFeatures( 1007 void GpuDataManagerImplPrivate::UpdateBlacklistedFeatures(
982 const std::set<int>& features) { 1008 const std::set<int>& features) {
983 blacklisted_features_ = features; 1009 blacklisted_features_ = features;
984 1010
985 // Force disable using the GPU for these features, even if they would 1011 // Force disable using the GPU for these features, even if they would
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after
1153 gpu_info_.context_info_state = gpu::kCollectInfoFatalFailure; 1179 gpu_info_.context_info_state = gpu::kCollectInfoFatalFailure;
1154 #if defined(OS_WIN) 1180 #if defined(OS_WIN)
1155 gpu_info_.dx_diagnostics_info_state = gpu::kCollectInfoFatalFailure; 1181 gpu_info_.dx_diagnostics_info_state = gpu::kCollectInfoFatalFailure;
1156 #endif 1182 #endif
1157 complete_gpu_info_already_requested_ = true; 1183 complete_gpu_info_already_requested_ = true;
1158 // Some observers might be waiting. 1184 // Some observers might be waiting.
1159 NotifyGpuInfoUpdate(); 1185 NotifyGpuInfoUpdate();
1160 } 1186 }
1161 1187
1162 } // namespace content 1188 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698