Index: src/gpu/SkGpuDevice_drawTexture.cpp |
diff --git a/src/gpu/SkGpuDevice_drawTexture.cpp b/src/gpu/SkGpuDevice_drawTexture.cpp |
index 902aae0843d35f191e76d2765f962ccfa8564d22..ff5a6872afa1a1c726a0206f329c6e3dc6aca482 100644 |
--- a/src/gpu/SkGpuDevice_drawTexture.cpp |
+++ b/src/gpu/SkGpuDevice_drawTexture.cpp |
@@ -29,7 +29,8 @@ static const GrFragmentProcessor* mix_texture_fp_with_paint_color_and_shader( |
bool textureIsAlphaOnly, |
GrContext* context, |
const SkMatrix& viewMatrix, |
- const SkPaint& paint) { |
+ const SkPaint& paint, |
+ GrRenderTarget* dst) { |
// According to the SkCanvas API, we only consider the shader if the bitmap or image being |
// rendered is alpha-only. |
if (textureIsAlphaOnly) { |
@@ -38,7 +39,7 @@ static const GrFragmentProcessor* mix_texture_fp_with_paint_color_and_shader( |
shader->asFragmentProcessor(context, |
viewMatrix, |
nullptr, |
- paint.getFilterQuality())); |
+ paint.getFilterQuality(), dst)); |
if (!shaderFP) { |
return nullptr; |
} |
@@ -157,14 +158,14 @@ void SkGpuDevice::drawTextureAdjusterImpl(GrTextureAdjuster* adjuster, |
bool coordsAllInsideSrcRect = !paint.isAntiAlias() && !mf; |
SkAutoTUnref<const GrFragmentProcessor> fp(adjuster->createFragmentProcessor( |
- *textureFPMatrix, clippedSrcRect, constraintMode, coordsAllInsideSrcRect, filterMode)); |
+ *textureFPMatrix, clippedSrcRect, constraintMode, coordsAllInsideSrcRect, filterMode, fRenderTarget)); |
if (!fp) { |
return; |
} |
fp.reset(mix_texture_fp_with_paint_color_and_shader(fp, alphaTexture, this->context(), |
- viewMatrix, paint)); |
+ viewMatrix, paint, fRenderTarget)); |
GrPaint grPaint; |
- if (!SkPaintToGrPaintReplaceShader(fContext, paint, fp, &grPaint)) { |
+ if (!SkPaintToGrPaintReplaceShader(fContext, paint, fp, &grPaint, fRenderTarget)) { |
return; |
} |