diff options
author | vmpstr@chromium.org <vmpstr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-03-14 19:33:53 +0000 |
---|---|---|
committer | vmpstr@chromium.org <vmpstr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-03-14 19:33:53 +0000 |
commit | f53befdf0c64f5b645f0bd915d07d897d6ad6986 (patch) | |
tree | d59c1e22389a03d822eee5318edcd9a829da6afe /cc/output/software_renderer.cc | |
parent | 0b822f208263d15b9eca6b40ab9816a62879c09c (diff) | |
download | chromium_src-f53befdf0c64f5b645f0bd915d07d897d6ad6986.zip chromium_src-f53befdf0c64f5b645f0bd915d07d897d6ad6986.tar.gz chromium_src-f53befdf0c64f5b645f0bd915d07d897d6ad6986.tar.bz2 |
cc: Fix to rasterize on demand with multiple worker threads.
This patch fixes an issue that can occur if we're using more than one
raster worker thread. In that case, we have to use the picture pile
clone appropriate for our thread.
BUG=351826
R=reveman@chromium.org
Review URL: https://codereview.chromium.org/195993003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@257176 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc/output/software_renderer.cc')
-rw-r--r-- | cc/output/software_renderer.cc | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/cc/output/software_renderer.cc b/cc/output/software_renderer.cc index 672f8fe..04067a0 100644 --- a/cc/output/software_renderer.cc +++ b/cc/output/software_renderer.cc @@ -53,7 +53,12 @@ class OnDemandRasterTaskImpl : public internal::Task { // Overridden from internal::Task: virtual void RunOnWorkerThread(unsigned thread_index) OVERRIDE { TRACE_EVENT0("cc", "OnDemandRasterTaskImpl::RunOnWorkerThread"); - picture_pile_->RasterDirect(canvas_, content_rect_, contents_scale_, NULL); + + PicturePileImpl* picture_pile = + picture_pile_->GetCloneForDrawingOnThread(thread_index); + DCHECK(picture_pile); + + picture_pile->RasterDirect(canvas_, content_rect_, contents_scale_, NULL); } protected: |