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

Unified Diff: gpu/config/gpu_info_collector_win.cc

Issue 194303002: Blacklist GLX indirect rendering (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix various bugs Created 6 years, 9 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 side-by-side diff with in-line comments
Download patch
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,

Powered by Google App Engine
This is Rietveld 408576698