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()), |