| Index: src/gpu/SkGpuDevice.cpp
|
| diff --git a/src/gpu/SkGpuDevice.cpp b/src/gpu/SkGpuDevice.cpp
|
| index 89273be9a3823e419fb19051c1c3ecafa02da799..cd678af880a723992c79cd12a1dabe05ce9da5de 100644
|
| --- a/src/gpu/SkGpuDevice.cpp
|
| +++ b/src/gpu/SkGpuDevice.cpp
|
| @@ -10,7 +10,6 @@
|
| #include "GrBlurUtils.h"
|
| #include "GrContext.h"
|
| #include "SkDraw.h"
|
| -#include "GrDrawContext.h"
|
| #include "GrGpu.h"
|
| #include "GrGpuResourcePriv.h"
|
| #include "GrImageIDTextureAdjuster.h"
|
| @@ -171,13 +170,11 @@ SkGpuDevice* SkGpuDevice::Create(GrContext* context, SkSurface::Budgeted budgete
|
| SkGpuDevice::SkGpuDevice(GrRenderTarget* rt, int width, int height,
|
| const SkSurfaceProps* props, unsigned flags)
|
| : INHERITED(SkSurfacePropsCopyOrDefault(props))
|
| -{
|
| - fContext = SkRef(rt->getContext());
|
| + , fContext(SkRef(rt->getContext()))
|
| + , fRenderTarget(SkRef(rt)) {
|
| fNeedClear = SkToBool(flags & kNeedClear_Flag);
|
| fOpaque = SkToBool(flags & kIsOpaque_Flag);
|
|
|
| - fRenderTarget = SkRef(rt);
|
| -
|
| SkAlphaType at = fOpaque ? kOpaque_SkAlphaType : kPremul_SkAlphaType;
|
| SkImageInfo info = rt->surfacePriv().info(at).makeWH(width, height);
|
| SkPixelRef* pr = new SkGrPixelRef(info, rt);
|
| @@ -226,11 +223,6 @@ GrRenderTarget* SkGpuDevice::CreateRenderTarget(GrContext* context, SkSurface::B
|
| return texture->asRenderTarget();
|
| }
|
|
|
| -SkGpuDevice::~SkGpuDevice() {
|
| - fRenderTarget->unref();
|
| - fContext->unref();
|
| -}
|
| -
|
| ///////////////////////////////////////////////////////////////////////////////
|
|
|
| bool SkGpuDevice::onReadPixels(const SkImageInfo& dstInfo, void* dstPixels, size_t dstRowBytes,
|
| @@ -346,8 +338,7 @@ void SkGpuDevice::replaceRenderTarget(bool shouldRetainContent) {
|
|
|
| SkASSERT(fRenderTarget != newRT);
|
|
|
| - fRenderTarget->unref();
|
| - fRenderTarget = newRT.detach();
|
| + fRenderTarget.reset(newRT.detach());
|
|
|
| #ifdef SK_DEBUG
|
| SkImageInfo info = fRenderTarget->surfacePriv().info(fOpaque ? kOpaque_SkAlphaType :
|
|
|