diff options
author | commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2014-05-08 23:24:05 +0000 |
---|---|---|
committer | commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2014-05-08 23:24:05 +0000 |
commit | f97d65dc256111f1de6bbf3521c7cd3cf3e70f60 (patch) | |
tree | 006f070e89ae52ae52ee96e4e148669cf691cd62 /src/core/SkPicturePlayback.h | |
parent | 97f0b089da0d9c4fe8aa2532b5f61d2615f6bf65 (diff) |
Fix rendering artifacts in pull-saveLayers-forward mode
This CL fixes 2 bugs in the pre-rendering of saveLayers:
1) The drawBitmapRect call wasn't occurring in device space so could sometimes be double transformed
2) The BBH op skipping in SkPicturePlayback could sometimes mess up the SkPictureStateTree's state
It also reduces the number of layers that are pre-rendered when a BBH is not in use.
Committed: http://code.google.com/p/skia/source/detail?r=14650
R=bsalomon@google.com, reed@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/267293007
git-svn-id: http://skia.googlecode.com/svn/trunk@14659 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'src/core/SkPicturePlayback.h')
-rw-r--r-- | src/core/SkPicturePlayback.h | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/core/SkPicturePlayback.h b/src/core/SkPicturePlayback.h index 37caa8a43d..d6f0cf1919 100644 --- a/src/core/SkPicturePlayback.h +++ b/src/core/SkPicturePlayback.h @@ -273,7 +273,7 @@ private: struct ReplacementInfo { size_t fStart; size_t fStop; - SkPoint fPos; + SkIPoint fPos; SkBitmap* fBM; const SkPaint* fPaint; // Note: this object doesn't own the paint }; @@ -293,14 +293,13 @@ private: void freeAll(); - #ifdef SK_DEBUG +#ifdef SK_DEBUG void validate() const; - #endif +#endif SkTDArray<ReplacementInfo> fReplacements; }; - // Replace all the draw ops in the replacement ranges in 'replacements' with // the associated drawBitmap call // Draw replacing cannot be enabled at the same time as draw limiting |