diff options
author | jbates@chromium.org <jbates@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-09 17:53:01 +0000 |
---|---|---|
committer | jbates@chromium.org <jbates@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-09 17:53:01 +0000 |
commit | 317e270b12e2a325127293d1c8e4797ed5fdfd64 (patch) | |
tree | 85ae0fe3452f32af30ababfbba1fb42b694df133 /chrome/common | |
parent | 6d6afe837ea1230508731c530fb47c262b8aaecb (diff) | |
download | chromium_src-317e270b12e2a325127293d1c8e4797ed5fdfd64.zip chromium_src-317e270b12e2a325127293d1c8e4797ed5fdfd64.tar.gz chromium_src-317e270b12e2a325127293d1c8e4797ed5fdfd64.tar.bz2 |
linux crash dump now includes gpu data
BUG=71852
TEST=
Review URL: http://codereview.chromium.org/6580055
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@77483 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/common')
-rw-r--r-- | chrome/common/child_process_logging.h | 5 | ||||
-rw-r--r-- | chrome/common/child_process_logging_linux.cc | 21 | ||||
-rw-r--r-- | chrome/common/child_process_logging_mac.mm | 5 | ||||
-rw-r--r-- | chrome/common/child_process_logging_win.cc | 5 |
4 files changed, 31 insertions, 5 deletions
diff --git a/chrome/common/child_process_logging.h b/chrome/common/child_process_logging.h index 36dd486..7b80c82 100644 --- a/chrome/common/child_process_logging.h +++ b/chrome/common/child_process_logging.h @@ -28,6 +28,11 @@ namespace child_process_logging { // compromised context without going through the standard library. extern char g_active_url[]; extern char g_client_id[]; +extern char g_gpu_vendor_id[]; +extern char g_gpu_device_id[]; +extern char g_gpu_driver_ver[]; +extern char g_gpu_ps_ver[]; +extern char g_gpu_vs_ver[]; #endif // Sets the URL that is logged if the child process crashes. Use GURL() to clear diff --git a/chrome/common/child_process_logging_linux.cc b/chrome/common/child_process_logging_linux.cc index e81fcc3..400a8fe 100644 --- a/chrome/common/child_process_logging_linux.cc +++ b/chrome/common/child_process_logging_linux.cc @@ -4,6 +4,7 @@ #include "chrome/common/child_process_logging.h" +#include "base/string_number_conversions.h" #include "base/string_util.h" #include "base/utf_string_conversions.h" #include "chrome/common/gpu_info.h" @@ -22,6 +23,14 @@ static const size_t kClientIdSize = 32 + 1; char g_active_url[kMaxActiveURLSize]; char g_client_id[kClientIdSize]; +static const size_t kGpuStringSize = 32; + +char g_gpu_vendor_id[kGpuStringSize] = ""; +char g_gpu_device_id[kGpuStringSize] = ""; +char g_gpu_driver_ver[kGpuStringSize] = ""; +char g_gpu_ps_ver[kGpuStringSize] = ""; +char g_gpu_vs_ver[kGpuStringSize] = ""; + void SetActiveURL(const GURL& url) { base::strlcpy(g_active_url, url.possibly_invalid_spec().c_str(), @@ -49,7 +58,17 @@ void SetActiveExtensions(const std::set<std::string>& extension_ids) { } void SetGpuInfo(const GPUInfo& gpu_info) { - // TODO(rlp): Bug 38737. + snprintf(g_gpu_vendor_id, kGpuStringSize, "0x%04x", gpu_info.vendor_id); + snprintf(g_gpu_device_id, kGpuStringSize, "0x%04x", gpu_info.device_id); + strncpy(g_gpu_driver_ver, + gpu_info.driver_version.c_str(), + kGpuStringSize); + strncpy(g_gpu_ps_ver, + base::UintToString(gpu_info.pixel_shader_version).c_str(), + kGpuStringSize); + strncpy(g_gpu_vs_ver, + base::UintToString(gpu_info.vertex_shader_version).c_str(), + kGpuStringSize); } void SetNumberOfViews(int number_of_views) { diff --git a/chrome/common/child_process_logging_mac.mm b/chrome/common/child_process_logging_mac.mm index 2c93f78..50cd141 100644 --- a/chrome/common/child_process_logging_mac.mm +++ b/chrome/common/child_process_logging_mac.mm @@ -8,6 +8,7 @@ #include "base/string_number_conversions.h" #include "base/string_util.h" +#include "base/stringprintf.h" #include "base/utf_string_conversions.h" #include "chrome/common/gpu_info.h" #include "chrome/installer/util/google_update_settings.h" @@ -145,10 +146,10 @@ void SetGpuKeyValue(const char* param_name, const std::string& value_str, void SetGpuInfoImpl(const GPUInfo& gpu_info, SetCrashKeyValueFuncPtr set_key_func) { SetGpuKeyValue(kGPUVendorIdParamName, - base::UintToString(gpu_info.vendor_id), + base::StringPrintf("0x%04x", gpu_info.vendor_id), set_key_func); SetGpuKeyValue(kGPUDeviceIdParamName, - base::UintToString(gpu_info.device_id), + base::StringPrintf("0x%04x", gpu_info.device_id), set_key_func); SetGpuKeyValue(kGPUDriverVersionParamName, gpu_info.driver_version, diff --git a/chrome/common/child_process_logging_win.cc b/chrome/common/child_process_logging_win.cc index 29e188c..8f7121ee 100644 --- a/chrome/common/child_process_logging_win.cc +++ b/chrome/common/child_process_logging_win.cc @@ -8,6 +8,7 @@ #include "base/string_util.h" #include "base/string_number_conversions.h" +#include "base/stringprintf.h" #include "base/utf_string_conversions.h" #include "chrome/common/chrome_constants.h" #include "chrome/common/gpu_info.h" @@ -137,8 +138,8 @@ void SetGpuInfo(const GPUInfo& gpu_info) { return; } (set_gpu_info)( - base::UintToString16(gpu_info.vendor_id).c_str(), - base::UintToString16(gpu_info.device_id).c_str(), + base::StringPrintf(L"0x%04x", gpu_info.vendor_id).c_str(), + base::StringPrintf(L"0x%04x", gpu_info.device_id).c_str(), UTF8ToUTF16(gpu_info.driver_version).c_str(), base::UintToString16(gpu_info.pixel_shader_version).c_str(), base::UintToString16(gpu_info.vertex_shader_version).c_str()); |