| Index: src/gpu/GrGpu.cpp
|
| diff --git a/src/gpu/GrGpu.cpp b/src/gpu/GrGpu.cpp
|
| index 0de9fedb8c6d4f8bc0d9c1613134dfd354c1d69a..f5764248890a72fbdd8569a782fd967c4db69b39 100644
|
| --- a/src/gpu/GrGpu.cpp
|
| +++ b/src/gpu/GrGpu.cpp
|
| @@ -190,7 +190,8 @@ GrTexture* GrGpu::createTexture(const GrSurfaceDesc& origDesc, SkBudgeted budget
|
| return tex;
|
| }
|
|
|
| -GrTexture* GrGpu::wrapBackendTexture(const GrBackendTextureDesc& desc, GrWrapOwnership ownership) {
|
| +sk_sp<GrTexture> GrGpu::wrapBackendTexture(const GrBackendTextureDesc& desc,
|
| + GrWrapOwnership ownership) {
|
| this->handleDirtyContext();
|
| if (!this->caps()->isConfigTexturable(desc.fConfig)) {
|
| return nullptr;
|
| @@ -203,22 +204,20 @@ GrTexture* GrGpu::wrapBackendTexture(const GrBackendTextureDesc& desc, GrWrapOwn
|
| if (desc.fWidth > maxSize || desc.fHeight > maxSize) {
|
| return nullptr;
|
| }
|
| - GrTexture* tex = this->onWrapBackendTexture(desc, ownership);
|
| - if (nullptr == tex) {
|
| + sk_sp<GrTexture> tex = this->onWrapBackendTexture(desc, ownership);
|
| + if (!tex) {
|
| return nullptr;
|
| }
|
| // TODO: defer this and attach dynamically
|
| GrRenderTarget* tgt = tex->asRenderTarget();
|
| if (tgt && !fContext->resourceProvider()->attachStencilAttachment(tgt)) {
|
| - tex->unref();
|
| return nullptr;
|
| - } else {
|
| - return tex;
|
| }
|
| + return tex;
|
| }
|
|
|
| -GrRenderTarget* GrGpu::wrapBackendRenderTarget(const GrBackendRenderTargetDesc& desc,
|
| - GrWrapOwnership ownership) {
|
| +sk_sp<GrRenderTarget> GrGpu::wrapBackendRenderTarget(const GrBackendRenderTargetDesc& desc,
|
| + GrWrapOwnership ownership) {
|
| if (!this->caps()->isConfigRenderable(desc.fConfig, desc.fSampleCnt > 0)) {
|
| return nullptr;
|
| }
|
| @@ -226,7 +225,7 @@ GrRenderTarget* GrGpu::wrapBackendRenderTarget(const GrBackendRenderTargetDesc&
|
| return this->onWrapBackendRenderTarget(desc, ownership);
|
| }
|
|
|
| -GrRenderTarget* GrGpu::wrapBackendTextureAsRenderTarget(const GrBackendTextureDesc& desc) {
|
| +sk_sp<GrRenderTarget> GrGpu::wrapBackendTextureAsRenderTarget(const GrBackendTextureDesc& desc) {
|
| this->handleDirtyContext();
|
| if (!(desc.fFlags & kRenderTarget_GrBackendTextureFlag)) {
|
| return nullptr;
|
|
|