| Index: gpu/config/gpu_info_collector_win.cc
|
| diff --git a/gpu/config/gpu_info_collector_win.cc b/gpu/config/gpu_info_collector_win.cc
|
| index ca737b942497633cfc5583e814f1a6ae11dddf2e..ed92fee72ea06d1d279b681ef97a331a92b6b1a1 100644
|
| --- a/gpu/config/gpu_info_collector_win.cc
|
| +++ b/gpu/config/gpu_info_collector_win.cc
|
| @@ -452,7 +452,7 @@ bool CollectDriverInfoD3D(const std::wstring& device_id,
|
| return found;
|
| }
|
|
|
| -bool CollectContextGraphicsInfo(GPUInfo* gpu_info) {
|
| +CollectInfoResult CollectContextGraphicsInfo(GPUInfo* gpu_info) {
|
| TRACE_EVENT0("gpu", "CollectGraphicsInfo");
|
|
|
| DCHECK(gpu_info);
|
| @@ -462,12 +462,13 @@ bool CollectContextGraphicsInfo(GPUInfo* gpu_info) {
|
| CommandLine::ForCurrentProcess()->GetSwitchValueASCII(switches::kUseGL);
|
| if (requested_implementation_name == "swiftshader") {
|
| gpu_info->software_rendering = true;
|
| - return false;
|
| + return kCollectInfoNonFatalFailure;
|
| }
|
| }
|
|
|
| - if (!CollectGraphicsInfoGL(gpu_info))
|
| - return false;
|
| + CollectInfoResult result = CollectGraphicsInfoGL(gpu_info);
|
| + if (result != kCollectInfoSuccess)
|
| + return result;
|
|
|
| // ANGLE's renderer strings are of the form:
|
| // ANGLE (<adapter_identifier> Direct3D<version> vs_x_x ps_x_x)
|
| @@ -517,7 +518,7 @@ bool CollectContextGraphicsInfo(GPUInfo* gpu_info) {
|
| gpu_info->finalized = true;
|
| }
|
|
|
| - return true;
|
| + return kCollectInfoSuccess;
|
| }
|
|
|
| GpuIDResult CollectGpuID(uint32* vendor_id, uint32* device_id) {
|
| @@ -549,7 +550,7 @@ GpuIDResult CollectGpuID(uint32* vendor_id, uint32* device_id) {
|
| return kGpuIDFailure;
|
| }
|
|
|
| -bool CollectBasicGraphicsInfo(GPUInfo* gpu_info) {
|
| +CollectInfoResult CollectBasicGraphicsInfo(GPUInfo* gpu_info) {
|
| TRACE_EVENT0("gpu", "CollectPreliminaryGraphicsInfo");
|
|
|
| DCHECK(gpu_info);
|
| @@ -590,7 +591,7 @@ bool CollectBasicGraphicsInfo(GPUInfo* gpu_info) {
|
| }
|
|
|
| if (id.length() <= 20)
|
| - return false;
|
| + return kCollectInfoNonFatalFailure;
|
|
|
| int vendor_id = 0, device_id = 0;
|
| base::string16 vendor_id_string = id.substr(8, 4);
|
| @@ -601,7 +602,7 @@ bool CollectBasicGraphicsInfo(GPUInfo* gpu_info) {
|
| gpu_info->gpu.device_id = device_id;
|
| // TODO(zmo): we only need to call CollectDriverInfoD3D() if we use ANGLE.
|
| if (!CollectDriverInfoD3D(id, gpu_info))
|
| - return false;
|
| + return kCollectInfoNonFatalFailure;
|
|
|
| // Collect basic information about supported D3D11 features. Delay for 45
|
| // seconds so as not to regress performance tests.
|
| @@ -623,20 +624,20 @@ bool CollectBasicGraphicsInfo(GPUInfo* gpu_info) {
|
| }
|
| }
|
|
|
| - return true;
|
| + return kCollectInfoSuccess;
|
| }
|
|
|
| -bool CollectDriverInfoGL(GPUInfo* gpu_info) {
|
| +CollectInfoResult CollectDriverInfoGL(GPUInfo* gpu_info) {
|
| TRACE_EVENT0("gpu", "CollectDriverInfoGL");
|
|
|
| if (!gpu_info->driver_version.empty())
|
| - return true;
|
| + return kCollectInfoSuccess;
|
|
|
| std::string gl_version_string = gpu_info->gl_version_string;
|
|
|
| - return RE2::PartialMatch(gl_version_string,
|
| - "([\\d\\.]+)$",
|
| - &gpu_info->driver_version);
|
| + bool parsed = RE2::PartialMatch(
|
| + gl_version_string, "([\\d\\.]+)$", &gpu_info->driver_version);
|
| + return parsed ? kCollectInfoSuccess : kCollectInfoNonFatalFailure;
|
| }
|
|
|
| void MergeGPUInfo(GPUInfo* basic_gpu_info,
|
|
|