diff options
author | 2015-03-03 06:41:45 -0800 | |
---|---|---|
committer | 2015-03-03 06:41:45 -0800 | |
commit | cff10b21a9934afc540d121b493b204335829589 (patch) | |
tree | f696624f21c4a45a052250cb9a18460e8aea0c0d /src/gpu/SkGr.cpp | |
parent | 3ebb16df938099dcbb6645ca08365e6d1dde8ddd (diff) |
change colorfilter to return an array of frag processors
BUG=skia:
Review URL: https://codereview.chromium.org/973593002
Diffstat (limited to 'src/gpu/SkGr.cpp')
-rw-r--r-- | src/gpu/SkGr.cpp | 9 |
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(); + } } } } |