diff options
author | apatrick@chromium.org <apatrick@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-09 01:50:08 +0000 |
---|---|---|
committer | apatrick@chromium.org <apatrick@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-09 01:50:08 +0000 |
commit | e09cee46b136f877390960323c84ef935ce5b7df (patch) | |
tree | dd1429752417d269b5b252bb3baea676e427cb05 /chrome/gpu/gpu_thread.h | |
parent | 04b7a5a3bcfe08aa22c33e341184dfbbd3c00646 (diff) | |
download | chromium_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.h | 7 |
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); }; |