Refactor SkImageFilter usage to cache results.
If an SkImageFilter is used, create an image
snapshot with the filter applied to avoid
re-computing it on each draw invocation
Bug: 188450217
Test: Re-ran CTS tests
Change-Id: Ib790669e14ada9d4ebbfac958d699e2b5242f2d7
diff --git a/libs/hwui/pipeline/skia/StretchMask.cpp b/libs/hwui/pipeline/skia/StretchMask.cpp
index 1c58c6a..2dbeb3a 100644
--- a/libs/hwui/pipeline/skia/StretchMask.cpp
+++ b/libs/hwui/pipeline/skia/StretchMask.cpp
@@ -59,8 +59,7 @@
}
sk_sp<SkImage> maskImage = mMaskSurface->makeImageSnapshot();
- sk_sp<SkShader> maskStretchShader = stretch.getShader(
- width, height, maskImage);
+ sk_sp<SkShader> maskStretchShader = stretch.getShader(width, height, maskImage, nullptr);
SkPaint maskPaint;
maskPaint.setShader(maskStretchShader);