composecolorfilter can now append stages

Bug: skia:
Change-Id: I46b54e5fd09de16b467142a5501b226273182d52
Reviewed-on: https://skia-review.googlesource.com/15615
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
This commit is contained in:
Mike Reed 2017-05-05 12:23:42 -04:00 committed by Skia Commit-Bot
parent 912876b38a
commit 9444bdd32b

View File

@ -102,6 +102,16 @@ public:
}
#endif
bool onAppendStages(SkRasterPipeline* p, SkColorSpace* dst, SkArenaAlloc* scratch,
bool shaderIsOpaque) const override {
bool innerIsOpaque = shaderIsOpaque;
if (!(fInner->getFlags() & kAlphaUnchanged_Flag)) {
innerIsOpaque = false;
}
return fInner->appendStages(p, dst, scratch, shaderIsOpaque) &&
fOuter->appendStages(p, dst, scratch, innerIsOpaque);
}
#if SK_SUPPORT_GPU
sk_sp<GrFragmentProcessor> asFragmentProcessor(GrContext* context,
SkColorSpace* dstColorSpace) const override {