| 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;
|
| }
|
|
|
|
|