aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/SkGr.cpp
diff options
context:
space:
mode:
authorGravatar reed <reed@google.com>2015-03-03 06:41:45 -0800
committerGravatar Commit bot <commit-bot@chromium.org>2015-03-03 06:41:45 -0800
commitcff10b21a9934afc540d121b493b204335829589 (patch)
treef696624f21c4a45a052250cb9a18460e8aea0c0d /src/gpu/SkGr.cpp
parent3ebb16df938099dcbb6645ca08365e6d1dde8ddd (diff)
change colorfilter to return an array of frag processors
Diffstat (limited to 'src/gpu/SkGr.cpp')
-rw-r--r--src/gpu/SkGr.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/gpu/SkGr.cpp b/src/gpu/SkGr.cpp
index 401a50eca8..ff6f7fa098 100644
--- a/src/gpu/SkGr.cpp
+++ b/src/gpu/SkGr.cpp
@@ -662,9 +662,12 @@ void SkPaint2GrPaintNoShader(GrContext* context, GrRenderTarget* rt, const SkPai
SkColor filtered = colorFilter->filterColor(skPaint.getColor());
grPaint->setColor(SkColor2GrColor(filtered));
} else {
- SkAutoTUnref<GrFragmentProcessor> fp(colorFilter->asFragmentProcessor(context));
- if (fp.get()) {
- grPaint->addColorProcessor(fp);
+ SkTDArray<GrFragmentProcessor*> array;
+ if (colorFilter->asFragmentProcessors(context, &array)) {
+ for (int i = 0; i < array.count(); ++i) {
+ grPaint->addColorProcessor(array[i]);
+ array[i]->unref();
+ }
}
}
}