Index: gpu/config/gpu_info_collector_linux.cc |
diff --git a/gpu/config/gpu_info_collector_linux.cc b/gpu/config/gpu_info_collector_linux.cc |
index e201ce049ed25c4ab27721cb174251b04a4fadab..ee8f81003d8c28aed718b0fc010ac7fdc29b3d10 100644 |
--- a/gpu/config/gpu_info_collector_linux.cc |
+++ b/gpu/config/gpu_info_collector_linux.cc |
@@ -14,12 +14,14 @@ |
#include "base/logging.h" |
#include "base/memory/scoped_ptr.h" |
#include "base/message_loop/message_loop.h" |
+#include "base/strings/string_number_conversions.h" |
#include "base/strings/string_piece.h" |
#include "base/strings/string_split.h" |
#include "base/strings/string_tokenizer.h" |
#include "base/strings/string_util.h" |
#include "base/trace_event/trace_event.h" |
#include "gpu/config/gpu_info_collector.h" |
+#include "gpu/config/gpu_switches.h" |
#include "ui/gl/gl_bindings.h" |
#include "ui/gl/gl_context.h" |
#include "ui/gl/gl_implementation.h" |
@@ -124,8 +126,22 @@ CollectInfoResult CollectPCIVideoCardInfo(GPUInfo* gpu_info) { |
continue; |
GPUInfo::GPUDevice gpu; |
- gpu.vendor_id = device->vendor_id; |
- gpu.device_id = device->device_id; |
+ |
+ base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); |
+ |
+ if (command_line->HasSwitch(switches::kGpuTestingVendorId)) |
+ base::HexStringToUInt( |
+ command_line->GetSwitchValueASCII(switches::kGpuTestingVendorId), |
+ &gpu.vendor_id); |
+ else |
+ gpu.vendor_id = device->vendor_id; |
+ |
+ if (command_line->HasSwitch(switches::kGpuTestingDeviceId)) |
+ base::HexStringToUInt( |
+ command_line->GetSwitchValueASCII(switches::kGpuTestingDeviceId), |
+ &gpu.device_id); |
+ else |
+ gpu.device_id = device->device_id; |
if (!primary_gpu_identified) { |
primary_gpu_identified = true; |