Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(151)

Unified Diff: src/core/SkImageFilter.cpp

Issue 348903004: Re-land "Fix external SkImageFilter caching with clips." (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/core/SkImageFilter.cpp
diff --git a/src/core/SkImageFilter.cpp b/src/core/SkImageFilter.cpp
index 6356c1a5dd0ab33fb9d49f9baf813631317f44f8..4c4b56beace2f60b9ff858e70c76cd6c1f3b2cd7 100644
--- a/src/core/SkImageFilter.cpp
+++ b/src/core/SkImageFilter.cpp
@@ -122,6 +122,16 @@ bool SkImageFilter::filterBounds(const SkIRect& src, const SkMatrix& ctm,
SkIRect* dst) const {
SkASSERT(&src);
SkASSERT(dst);
+ if (SkImageFilter::GetExternalCache()) {
+ /*
+ * When the external cache is active, do not intersect the saveLayer
+ * bounds with the clip bounds. This is so that the cached result
+ * is always the full size of the primitive's bounds,
+ * regardless of the clip active on first draw.
+ */
+ *dst = SkIRect::MakeLargest();
+ return true;
+ }
return this->onFilterBounds(src, ctm, dst);
}
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698