| Index: src/gpu/SkGpuDevice.cpp
|
| diff --git a/src/gpu/SkGpuDevice.cpp b/src/gpu/SkGpuDevice.cpp
|
| index f6137de56ec7c90de029305f8f27aee91c80f4bf..c30571f6d39dc13c025b384c8d93c422ce8b04d2 100644
|
| --- a/src/gpu/SkGpuDevice.cpp
|
| +++ b/src/gpu/SkGpuDevice.cpp
|
| @@ -171,7 +171,7 @@ SkGpuDevice::SkGpuDevice(GrRenderTarget* rt, int width, int height,
|
| fLegacyBitmap.setInfo(info);
|
| fLegacyBitmap.setPixelRef(pr)->unref();
|
|
|
| - fDrawContext.reset(this->context()->drawContext(rt, &this->surfaceProps()));
|
| + fDrawContext = this->context()->drawContext(sk_ref_sp(rt), &this->surfaceProps());
|
| if (flags & kNeedClear_Flag) {
|
| this->clearAll();
|
| }
|
| @@ -384,7 +384,8 @@ void SkGpuDevice::replaceRenderTarget(bool shouldRetainContent) {
|
| SkPixelRef* pr = new SkGrPixelRef(fLegacyBitmap.info(), fRenderTarget);
|
| fLegacyBitmap.setPixelRef(pr)->unref();
|
|
|
| - fDrawContext.reset(this->context()->drawContext(fRenderTarget, &this->surfaceProps()));
|
| + fDrawContext = this->context()->drawContext(sk_ref_sp(fRenderTarget.get()),
|
| + &this->surfaceProps());
|
| }
|
|
|
| ///////////////////////////////////////////////////////////////////////////////
|
| @@ -512,7 +513,7 @@ void SkGpuDevice::drawRect(const SkDraw& draw, const SkRect& rect, const SkPaint
|
| SkPath path;
|
| path.setIsVolatile(true);
|
| path.addRect(rect);
|
| - GrBlurUtils::drawPathWithMaskFilter(fContext, fDrawContext,
|
| + GrBlurUtils::drawPathWithMaskFilter(fContext, fDrawContext.get(),
|
| fClip, path, paint,
|
| *draw.fMatrix, nullptr,
|
| draw.fClip->getBounds(), true);
|
| @@ -563,7 +564,7 @@ void SkGpuDevice::drawRRect(const SkDraw& draw, const SkRRect& rect,
|
| return;
|
| }
|
| if (paint.getMaskFilter()->directFilterRRectMaskGPU(fContext->textureProvider(),
|
| - fDrawContext,
|
| + fDrawContext.get(),
|
| &grPaint,
|
| fClip,
|
| *draw.fMatrix,
|
| @@ -584,7 +585,7 @@ void SkGpuDevice::drawRRect(const SkDraw& draw, const SkRRect& rect,
|
| SkPath path;
|
| path.setIsVolatile(true);
|
| path.addRRect(rect);
|
| - GrBlurUtils::drawPathWithMaskFilter(fContext, fDrawContext,
|
| + GrBlurUtils::drawPathWithMaskFilter(fContext, fDrawContext.get(),
|
| fClip, path, paint,
|
| *draw.fMatrix, nullptr,
|
| draw.fClip->getBounds(), true);
|
| @@ -630,7 +631,7 @@ void SkGpuDevice::drawDRRect(const SkDraw& draw, const SkRRect& outer,
|
| path.addRRect(inner);
|
| path.setFillType(SkPath::kEvenOdd_FillType);
|
|
|
| - GrBlurUtils::drawPathWithMaskFilter(fContext, fDrawContext,
|
| + GrBlurUtils::drawPathWithMaskFilter(fContext, fDrawContext.get(),
|
| fClip, path, paint,
|
| *draw.fMatrix, nullptr,
|
| draw.fClip->getBounds(), true);
|
| @@ -700,7 +701,7 @@ void SkGpuDevice::drawPath(const SkDraw& draw, const SkPath& origSrcPath,
|
| CHECK_SHOULD_DRAW(draw);
|
| GR_CREATE_TRACE_MARKER_CONTEXT("SkGpuDevice", "drawPath", fContext);
|
|
|
| - GrBlurUtils::drawPathWithMaskFilter(fContext, fDrawContext,
|
| + GrBlurUtils::drawPathWithMaskFilter(fContext, fDrawContext.get(),
|
| fClip, origSrcPath, paint,
|
| *draw.fMatrix, prePathMatrix,
|
| draw.fClip->getBounds(), pathIsMutable);
|
|
|