diff options
author | jbauman@chromium.org <jbauman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-23 03:49:02 +0000 |
---|---|---|
committer | jbauman@chromium.org <jbauman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-23 03:49:02 +0000 |
commit | 808f7fe7f54d770c411409d55a486437da664119 (patch) | |
tree | c31c85d40ae9ac7597902c32c6ec1d8be81c56c5 /content/gpu/gpu_render_thread.cc | |
parent | d8528c1042cb74073bea1a8adc0721be4c7eb64d (diff) | |
download | chromium_src-808f7fe7f54d770c411409d55a486437da664119.zip chromium_src-808f7fe7f54d770c411409d55a486437da664119.tar.gz chromium_src-808f7fe7f54d770c411409d55a486437da664119.tar.bz2 |
Check the GPU watchdog after processing every 3D command.
Reduce the chance that a long stream of expensive 3D commands will cause the watchdog to go off by checking the watchdog after every 3D command.
BUG=76603
TEST=none
Review URL: http://codereview.chromium.org/6715006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79097 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/gpu/gpu_render_thread.cc')
-rw-r--r-- | content/gpu/gpu_render_thread.cc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/content/gpu/gpu_render_thread.cc b/content/gpu/gpu_render_thread.cc index 99d9e58..7930337 100644 --- a/content/gpu/gpu_render_thread.cc +++ b/content/gpu/gpu_render_thread.cc @@ -23,11 +23,13 @@ #include "ipc/ipc_channel_handle.h" GpuRenderThread::GpuRenderThread(IPC::Message::Sender* browser_channel, + GpuWatchdogThread* gpu_watchdog_thread, MessageLoop* io_message_loop, base::WaitableEvent* shutdown_event) : io_message_loop_(io_message_loop), shutdown_event_(shutdown_event), - browser_channel_(browser_channel) { + browser_channel_(browser_channel), + watchdog_thread_(gpu_watchdog_thread) { DCHECK(browser_channel); DCHECK(io_message_loop); DCHECK(shutdown_event); @@ -72,7 +74,7 @@ void GpuRenderThread::OnEstablishChannel(int renderer_id) { GpuChannelMap::const_iterator iter = gpu_channels_.find(renderer_id); if (iter == gpu_channels_.end()) - channel = new GpuChannel(this, renderer_id); + channel = new GpuChannel(this, watchdog_thread_, renderer_id); else channel = iter->second; |