Index: src/effects/SkMorphologyImageFilter.cpp |
diff --git a/src/effects/SkMorphologyImageFilter.cpp b/src/effects/SkMorphologyImageFilter.cpp |
index 584cf1bf8c3db449240f2913be4eacfa4a213cfb..4f606667627d3050566d5290d2e2744193fd388b 100644 |
--- a/src/effects/SkMorphologyImageFilter.cpp |
+++ b/src/effects/SkMorphologyImageFilter.cpp |
@@ -458,7 +458,6 @@ namespace { |
void apply_morphology_rect(GrDrawContext* drawContext, |
- GrRenderTarget* rt, |
const GrClip& clip, |
GrTexture* texture, |
const SkIRect& srcRect, |
@@ -473,12 +472,11 @@ void apply_morphology_rect(GrDrawContext* drawContext, |
radius, |
morphType, |
bounds))->unref(); |
- drawContext->drawNonAARectToRect(rt, clip, paint, SkMatrix::I(), SkRect::Make(dstRect), |
+ drawContext->drawNonAARectToRect(clip, paint, SkMatrix::I(), SkRect::Make(dstRect), |
SkRect::Make(srcRect)); |
} |
void apply_morphology_rect_no_bounds(GrDrawContext* drawContext, |
- GrRenderTarget* rt, |
const GrClip& clip, |
GrTexture* texture, |
const SkIRect& srcRect, |
@@ -491,12 +489,11 @@ void apply_morphology_rect_no_bounds(GrDrawContext* drawContext, |
direction, |
radius, |
morphType))->unref(); |
- drawContext->drawNonAARectToRect(rt, clip, paint, SkMatrix::I(), SkRect::Make(dstRect), |
+ drawContext->drawNonAARectToRect(clip, paint, SkMatrix::I(), SkRect::Make(dstRect), |
SkRect::Make(srcRect)); |
} |
void apply_morphology_pass(GrDrawContext* drawContext, |
- GrRenderTarget* rt, |
const GrClip& clip, |
GrTexture* texture, |
const SkIRect& srcRect, |
@@ -529,15 +526,15 @@ void apply_morphology_pass(GrDrawContext* drawContext, |
} |
if (middleSrcRect.fLeft - middleSrcRect.fRight >= 0) { |
// radius covers srcRect; use bounds over entire draw |
- apply_morphology_rect(drawContext, rt, clip, texture, srcRect, dstRect, radius, |
+ apply_morphology_rect(drawContext, clip, texture, srcRect, dstRect, radius, |
morphType, bounds, direction); |
} else { |
// Draw upper and lower margins with bounds; middle without. |
- apply_morphology_rect(drawContext, rt, clip, texture, lowerSrcRect, lowerDstRect, radius, |
+ apply_morphology_rect(drawContext, clip, texture, lowerSrcRect, lowerDstRect, radius, |
morphType, bounds, direction); |
- apply_morphology_rect(drawContext, rt, clip, texture, upperSrcRect, upperDstRect, radius, |
+ apply_morphology_rect(drawContext, clip, texture, upperSrcRect, upperDstRect, radius, |
morphType, bounds, direction); |
- apply_morphology_rect_no_bounds(drawContext, rt, clip, texture, middleSrcRect, middleDstRect, |
+ apply_morphology_rect_no_bounds(drawContext, clip, texture, middleSrcRect, middleDstRect, |
radius, morphType, direction); |
} |
} |
@@ -568,12 +565,12 @@ bool apply_morphology(const SkBitmap& input, |
if (nullptr == scratch) { |
return false; |
} |
- SkAutoTUnref<GrDrawContext> dstDrawContext(context->drawContext()); |
+ SkAutoTUnref<GrDrawContext> dstDrawContext(context->drawContext(scratch->asRenderTarget())); |
if (!dstDrawContext) { |
return false; |
} |
- apply_morphology_pass(dstDrawContext, scratch->asRenderTarget(), clip, srcTexture, |
+ apply_morphology_pass(dstDrawContext, clip, srcTexture, |
srcRect, dstRect, radius.fWidth, morphType, |
Gr1DKernelEffect::kX_Direction); |
SkIRect clearRect = SkIRect::MakeXYWH(dstRect.fLeft, dstRect.fBottom, |
@@ -581,7 +578,7 @@ bool apply_morphology(const SkBitmap& input, |
GrColor clearColor = GrMorphologyEffect::kErode_MorphologyType == morphType ? |
SK_ColorWHITE : |
SK_ColorTRANSPARENT; |
- dstDrawContext->clear(scratch->asRenderTarget(), &clearRect, clearColor, false); |
+ dstDrawContext->clear(&clearRect, clearColor, false); |
srcTexture.reset(scratch); |
srcRect = dstRect; |
@@ -591,12 +588,12 @@ bool apply_morphology(const SkBitmap& input, |
if (nullptr == scratch) { |
return false; |
} |
- SkAutoTUnref<GrDrawContext> dstDrawContext(context->drawContext()); |
+ SkAutoTUnref<GrDrawContext> dstDrawContext(context->drawContext(scratch->asRenderTarget())); |
if (!dstDrawContext) { |
return false; |
} |
- apply_morphology_pass(dstDrawContext, scratch->asRenderTarget(), clip, srcTexture, |
+ apply_morphology_pass(dstDrawContext, clip, srcTexture, |
srcRect, dstRect, radius.fHeight, morphType, |
Gr1DKernelEffect::kY_Direction); |