| Index: src/effects/SkXfermodeImageFilter.cpp
|
| diff --git a/src/effects/SkXfermodeImageFilter.cpp b/src/effects/SkXfermodeImageFilter.cpp
|
| index 599fd42b12d0987bfa631f47d593d04f7b6296b2..972884330b7dee64aab12a4d093d4f4ecf2f720c 100644
|
| --- a/src/effects/SkXfermodeImageFilter.cpp
|
| +++ b/src/effects/SkXfermodeImageFilter.cpp
|
| @@ -123,7 +123,7 @@ void SkXfermodeImageFilter::toString(SkString* str) const {
|
| #if SK_SUPPORT_GPU
|
|
|
| bool SkXfermodeImageFilter::canFilterImageGPU() const {
|
| - return fMode && fMode->asFragmentProcessor(NULL, NULL) && !cropRectIsSet();
|
| + return fMode && fMode->asFragmentProcessor(NULL, NULL, NULL) && !cropRectIsSet();
|
| }
|
|
|
| bool SkXfermodeImageFilter::filterImageGPU(Proxy* proxy,
|
| @@ -166,7 +166,9 @@ bool SkXfermodeImageFilter::filterImageGPU(Proxy* proxy,
|
| return false;
|
| }
|
|
|
| - if (!fMode || !fMode->asFragmentProcessor(&xferProcessor, backgroundTex)) {
|
| + GrPaint paint;
|
| + if (!fMode || !fMode->asFragmentProcessor(&xferProcessor, paint.getShaderDataManager(),
|
| + backgroundTex)) {
|
| // canFilterImageGPU() should've taken care of this
|
| SkASSERT(false);
|
| return false;
|
| @@ -180,7 +182,6 @@ bool SkXfermodeImageFilter::filterImageGPU(Proxy* proxy,
|
| SkRect srcRect;
|
| src.getBounds(&srcRect);
|
|
|
| - GrPaint paint;
|
| SkAutoTUnref<GrFragmentProcessor> foregroundDomain(GrTextureDomainEffect::Create(
|
| foregroundTex, foregroundMatrix,
|
| GrTextureDomain::MakeTexelDomain(foregroundTex, foreground.bounds()),
|
|
|