diff options
-rw-r--r-- | chrome/app/breakpad_linux.cc | 11 | ||||
-rw-r--r-- | chrome/browser/metrics/metrics_log.cc | 2 | ||||
-rw-r--r-- | chrome/common/child_process_logging.h | 2 | ||||
-rw-r--r-- | chrome/common/child_process_logging_posix.cc | 6 | ||||
-rw-r--r-- | chrome/common/metrics/proto/system_profile.proto | 8 |
5 files changed, 29 insertions, 0 deletions
diff --git a/chrome/app/breakpad_linux.cc b/chrome/app/breakpad_linux.cc index 07e1511..b4cca7b 100644 --- a/chrome/app/breakpad_linux.cc +++ b/chrome/app/breakpad_linux.cc @@ -1063,16 +1063,27 @@ void HandleCrashDump(const BreakpadInfo& info) { // If GPU info is known, send it. if (*child_process_logging::g_gpu_vendor_id) { +#if !defined(OS_ANDROID) static const char vendor_msg[] = "gpu-venid"; static const char device_msg[] = "gpu-devid"; +#endif + static const char gl_vendor_msg[] = "gpu-gl-vendor"; + static const char gl_renderer_msg[] = "gpu-gl-renderer"; static const char driver_msg[] = "gpu-driver"; static const char psver_msg[] = "gpu-psver"; static const char vsver_msg[] = "gpu-vsver"; +#if !defined(OS_ANDROID) writer.AddPairString(vendor_msg, child_process_logging::g_gpu_vendor_id); writer.AddBoundary(); writer.AddPairString(device_msg, child_process_logging::g_gpu_device_id); writer.AddBoundary(); +#endif + writer.AddPairString(gl_vendor_msg, child_process_logging::g_gpu_gl_vendor); + writer.AddBoundary(); + writer.AddPairString(gl_renderer_msg, + child_process_logging::g_gpu_gl_renderer); + writer.AddBoundary(); writer.AddPairString(driver_msg, child_process_logging::g_gpu_driver_ver); writer.AddBoundary(); writer.AddPairString(psver_msg, child_process_logging::g_gpu_ps_ver); diff --git a/chrome/browser/metrics/metrics_log.cc b/chrome/browser/metrics/metrics_log.cc index 246880e..a63fc2d 100644 --- a/chrome/browser/metrics/metrics_log.cc +++ b/chrome/browser/metrics/metrics_log.cc @@ -846,6 +846,8 @@ void MetricsLog::RecordEnvironmentProto( gpu_performance->set_graphics_score(gpu_info.performance_stats.graphics); gpu_performance->set_gaming_score(gpu_info.performance_stats.gaming); gpu_performance->set_overall_score(gpu_info.performance_stats.overall); + gpu->set_gl_vendor(gpu_info.gl_vendor); + gpu->set_gl_renderer(gpu_info.gl_renderer); const gfx::Size display_size = GetScreenSize(); hardware->set_primary_screen_width(display_size.width()); diff --git a/chrome/common/child_process_logging.h b/chrome/common/child_process_logging.h index a9958d0..3d0f078 100644 --- a/chrome/common/child_process_logging.h +++ b/chrome/common/child_process_logging.h @@ -56,6 +56,8 @@ extern char g_client_id[]; extern char g_extension_ids[]; extern char g_gpu_vendor_id[]; extern char g_gpu_device_id[]; +extern char g_gpu_gl_vendor[]; +extern char g_gpu_gl_renderer[]; extern char g_gpu_driver_ver[]; extern char g_gpu_ps_ver[]; extern char g_gpu_vs_ver[]; diff --git a/chrome/common/child_process_logging_posix.cc b/chrome/common/child_process_logging_posix.cc index d9e8485..76b7493 100644 --- a/chrome/common/child_process_logging_posix.cc +++ b/chrome/common/child_process_logging_posix.cc @@ -33,6 +33,8 @@ char g_channel[kChannelSize] = ""; static const size_t kGpuStringSize = 32; char g_gpu_vendor_id[kGpuStringSize] = ""; char g_gpu_device_id[kGpuStringSize] = ""; +char g_gpu_gl_vendor[kGpuStringSize] = ""; +char g_gpu_gl_renderer[kGpuStringSize] = ""; char g_gpu_driver_ver[kGpuStringSize] = ""; char g_gpu_ps_ver[kGpuStringSize] = ""; char g_gpu_vs_ver[kGpuStringSize] = ""; @@ -98,6 +100,10 @@ void SetGpuInfo(const content::GPUInfo& gpu_info) { gpu_info.gpu.vendor_id); snprintf(g_gpu_device_id, arraysize(g_gpu_device_id), "0x%04x", gpu_info.gpu.device_id); + base::strlcpy(g_gpu_gl_vendor, gpu_info.gl_vendor.c_str(), + arraysize(g_gpu_gl_vendor)); + base::strlcpy(g_gpu_gl_renderer, gpu_info.gl_renderer.c_str(), + arraysize(g_gpu_gl_renderer)); base::strlcpy(g_gpu_driver_ver, gpu_info.driver_version.c_str(), arraysize(g_gpu_driver_ver)); base::strlcpy(g_gpu_ps_ver, gpu_info.pixel_shader_version.c_str(), diff --git a/chrome/common/metrics/proto/system_profile.proto b/chrome/common/metrics/proto/system_profile.proto index 53914fe..3b0fe4b 100644 --- a/chrome/common/metrics/proto/system_profile.proto +++ b/chrome/common/metrics/proto/system_profile.proto @@ -134,6 +134,14 @@ message SystemProfileProto { optional float overall_score = 3; } optional PerformanceStatistics performance_statistics = 5; + + // The GL_VENDOR string. An example of a gl_vendor string is + // "Imagination Technologies". "" if we are not using OpenGL. + optional string gl_vendor = 6; + + // The GL_RENDERER string. An example of a gl_renderer string is + // "PowerVR SGX 540". "" if we are not using OpenGL. + optional string gl_renderer = 7; } optional Graphics gpu = 8; } |