summaryrefslogtreecommitdiffstats
path: root/chrome/common
diff options
context:
space:
mode:
authorjbates@chromium.org <jbates@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-03-09 17:53:01 +0000
committerjbates@chromium.org <jbates@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-03-09 17:53:01 +0000
commit317e270b12e2a325127293d1c8e4797ed5fdfd64 (patch)
tree85ae0fe3452f32af30ababfbba1fb42b694df133 /chrome/common
parent6d6afe837ea1230508731c530fb47c262b8aaecb (diff)
downloadchromium_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.h5
-rw-r--r--chrome/common/child_process_logging_linux.cc21
-rw-r--r--chrome/common/child_process_logging_mac.mm5
-rw-r--r--chrome/common/child_process_logging_win.cc5
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());