| Index: src/gpu/vk/GrVkGpu.cpp
|
| diff --git a/src/gpu/vk/GrVkGpu.cpp b/src/gpu/vk/GrVkGpu.cpp
|
| index b13e16282e808b53a10c3081541f64085af79fc6..7d75921c238419e96b27ceb3b893f55f793ecf98 100644
|
| --- a/src/gpu/vk/GrVkGpu.cpp
|
| +++ b/src/gpu/vk/GrVkGpu.cpp
|
| @@ -756,8 +756,8 @@ static GrSurfaceOrigin resolve_origin(GrSurfaceOrigin origin) {
|
| }
|
| }
|
|
|
| -GrTexture* GrVkGpu::onWrapBackendTexture(const GrBackendTextureDesc& desc,
|
| - GrWrapOwnership ownership) {
|
| +sk_sp<GrTexture> GrVkGpu::onWrapBackendTexture(const GrBackendTextureDesc& desc,
|
| + GrWrapOwnership ownership) {
|
| if (0 == desc.fTextureHandle) {
|
| return nullptr;
|
| }
|
| @@ -791,22 +791,14 @@ GrTexture* GrVkGpu::onWrapBackendTexture(const GrBackendTextureDesc& desc,
|
| // In VK, we don't have this restriction
|
| surfDesc.fOrigin = resolve_origin(desc.fOrigin);
|
|
|
| - GrVkTexture* texture = nullptr;
|
| - if (renderTarget) {
|
| - texture = GrVkTextureRenderTarget::CreateWrappedTextureRenderTarget(this, surfDesc,
|
| - ownership, info);
|
| - } else {
|
| - texture = GrVkTexture::CreateWrappedTexture(this, surfDesc, ownership, info);
|
| + if (!renderTarget) {
|
| + return GrVkTexture::MakeWrappedTexture(this, surfDesc, ownership, info);
|
| }
|
| - if (!texture) {
|
| - return nullptr;
|
| - }
|
| -
|
| - return texture;
|
| + return GrVkTextureRenderTarget::MakeWrappedTextureRenderTarget(this, surfDesc, ownership, info);
|
| }
|
|
|
| -GrRenderTarget* GrVkGpu::onWrapBackendRenderTarget(const GrBackendRenderTargetDesc& wrapDesc,
|
| - GrWrapOwnership ownership) {
|
| +sk_sp<GrRenderTarget> GrVkGpu::onWrapBackendRenderTarget(const GrBackendRenderTargetDesc& wrapDesc,
|
| + GrWrapOwnership ownership) {
|
|
|
| const GrVkImageInfo* info =
|
| reinterpret_cast<const GrVkImageInfo*>(wrapDesc.fRenderTargetHandle);
|
| @@ -824,12 +816,10 @@ GrRenderTarget* GrVkGpu::onWrapBackendRenderTarget(const GrBackendRenderTargetDe
|
|
|
| desc.fOrigin = resolve_origin(wrapDesc.fOrigin);
|
|
|
| - GrVkRenderTarget* tgt = GrVkRenderTarget::CreateWrappedRenderTarget(this, desc,
|
| - ownership,
|
| - info);
|
| + sk_sp<GrVkRenderTarget> tgt = GrVkRenderTarget::MakeWrappedRenderTarget(this, desc,
|
| + ownership, info);
|
| if (tgt && wrapDesc.fStencilBits) {
|
| - if (!createStencilAttachmentForRenderTarget(tgt, desc.fWidth, desc.fHeight)) {
|
| - tgt->unref();
|
| + if (!createStencilAttachmentForRenderTarget(tgt.get(), desc.fWidth, desc.fHeight)) {
|
| return nullptr;
|
| }
|
| }
|
|
|