summaryrefslogtreecommitdiffstats
path: root/chrome/gpu/gpu_thread.h
diff options
context:
space:
mode:
authorapatrick@chromium.org <apatrick@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-11-09 01:50:08 +0000
committerapatrick@chromium.org <apatrick@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-11-09 01:50:08 +0000
commite09cee46b136f877390960323c84ef935ce5b7df (patch)
treedd1429752417d269b5b252bb3baea676e427cb05 /chrome/gpu/gpu_thread.h
parent04b7a5a3bcfe08aa22c33e341184dfbbd3c00646 (diff)
downloadchromium_src-e09cee46b136f877390960323c84ef935ce5b7df.zip
chromium_src-e09cee46b136f877390960323c84ef935ce5b7df.tar.gz
chromium_src-e09cee46b136f877390960323c84ef935ce5b7df.tar.bz2
- Relanding 61718.
I disabled the GPU watchdog in three new cases: - If the OSMesa software renderer is in use. This will disable it on bots. - When running on valgrind, whether on a bot or locally. - In debug builds I added a GPU process initialization time to the GPU info. I moved the GPU initialization code outside the watchdog protection because it can take a long time and trigger the watchdog. I increased the timeout. I set up a field trial with different timeouts to see the rate of failure for each period. Original CL description: I added a watchdog thread that intermitently checks the main thread can respond to tasks posted on its message queue. I fixed some bugs that prevented GGL from failing when the GPU channel was lost. Added a command line swith to disable the watchdog thread for debugging purposes. TEST=try, local testing of all features BUG=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65461 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/gpu/gpu_thread.h')
-rw-r--r--chrome/gpu/gpu_thread.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/chrome/gpu/gpu_thread.h b/chrome/gpu/gpu_thread.h
index 65a0234..56d4b431 100644
--- a/chrome/gpu/gpu_thread.h
+++ b/chrome/gpu/gpu_thread.h
@@ -8,8 +8,10 @@
#include "base/basictypes.h"
#include "base/scoped_ptr.h"
+#include "base/time.h"
#include "build/build_config.h"
#include "chrome/common/child_thread.h"
+#include "chrome/common/gpu_info.h"
#include "chrome/gpu/gpu_channel.h"
#include "chrome/gpu/gpu_config.h"
#include "chrome/gpu/x_util.h"
@@ -20,6 +22,8 @@ class GpuThread : public ChildThread {
GpuThread();
~GpuThread();
+ void Init(const base::Time& process_start_time);
+
// Remove the channel for a particular renderer.
void RemoveChannel(int renderer_id);
@@ -37,6 +41,9 @@ class GpuThread : public ChildThread {
typedef base::hash_map<int, scoped_refptr<GpuChannel> > GpuChannelMap;
GpuChannelMap gpu_channels_;
+ // Information about the GPU, such as device and vendor ID.
+ GPUInfo gpu_info_;
+
DISALLOW_COPY_AND_ASSIGN(GpuThread);
};