| 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 64672625e5fcfb02e779c87ddd536de725643485..4da72a63bf7a1dc520fcb565b4d97364ff4ffff2 100644
|
| --- a/gpu/config/gpu_info_collector_win.cc
|
| +++ b/gpu/config/gpu_info_collector_win.cc
|
| @@ -449,7 +449,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);
|
| @@ -459,12 +459,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)
|
| @@ -514,7 +515,7 @@ bool CollectContextGraphicsInfo(GPUInfo* gpu_info) {
|
| gpu_info->finalized = true;
|
| }
|
|
|
| - return true;
|
| + return kCollectInfoSuccess;
|
| }
|
|
|
| GpuIDResult CollectGpuID(uint32* vendor_id, uint32* device_id) {
|
| @@ -546,7 +547,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);
|
| @@ -587,7 +588,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);
|
| @@ -598,7 +599,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.
|
| @@ -620,20 +621,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,
|
|
|