| Index: content/gpu/gpu_info_collector_win.cc
 | 
| ===================================================================
 | 
| --- content/gpu/gpu_info_collector_win.cc	(revision 149965)
 | 
| +++ content/gpu/gpu_info_collector_win.cc	(working copy)
 | 
| @@ -153,6 +153,16 @@
 | 
|  
 | 
|  namespace gpu_info_collector {
 | 
|  
 | 
| +#if !defined(OFFICIAL_BUILD)
 | 
| +AMDVideoCardType GetAMDVideocardType() {
 | 
| +  return UNKNOWN;
 | 
| +}
 | 
| +#else
 | 
| +// This function has a real implementation for official builds that can
 | 
| +// be found in src/third_party/amd.
 | 
| +AMDVideoCardType GetAMDVideocardType();
 | 
| +#endif
 | 
| +
 | 
|  bool CollectGraphicsInfo(content::GPUInfo* gpu_info) {
 | 
|    TRACE_EVENT0("gpu", "CollectGraphicsInfo");
 | 
|  
 | 
| @@ -344,12 +354,13 @@
 | 
|              reinterpret_cast<LPBYTE>(value), &dwcb_data);
 | 
|          if (result == ERROR_SUCCESS) {
 | 
|            driver_vendor = WideToASCII(std::wstring(value));
 | 
| -          // If it's an Intel GPU with a driver provided by AMD then it's
 | 
| -          // probably AMD's Dynamic Switchable Graphics.
 | 
| -          // TODO: detect only AMD switchable
 | 
| -          gpu_info->amd_switchable =
 | 
| -              driver_vendor == "Advanced Micro Devices, Inc." ||
 | 
| -              driver_vendor == "ATI Technologies Inc.";
 | 
| +          if (driver_vendor == "Advanced Micro Devices, Inc." ||
 | 
| +              driver_vendor == "ATI Technologies Inc.") {
 | 
| +            // We are conservative and assume that in the absense of a clear
 | 
| +            // signal the videocard is assumed to be switchable.
 | 
| +            AMDVideoCardType amd_card_type = GetAMDVideocardType();
 | 
| +            gpu_info->amd_switchable = (amd_card_type != STANDALONE);
 | 
| +          }
 | 
|          }
 | 
|  
 | 
|          gpu_info->driver_vendor = driver_vendor;
 | 
| 
 |