Index: src/gpu/vk/GrVkTextureRenderTarget.cpp |
diff --git a/src/gpu/vk/GrVkTextureRenderTarget.cpp b/src/gpu/vk/GrVkTextureRenderTarget.cpp |
index fa9327c78844300a702a9b5ca56b0f76cf0f5df0..43e213fc5002255ba9e0a68fd3c96471c6aaf82f 100644 |
--- a/src/gpu/vk/GrVkTextureRenderTarget.cpp |
+++ b/src/gpu/vk/GrVkTextureRenderTarget.cpp |
@@ -150,9 +150,12 @@ GrVkTextureRenderTarget::CreateWrappedTextureRenderTarget(GrVkGpu* gpu, |
GrVkImage::Resource::Flags flags = (VK_IMAGE_TILING_LINEAR == info->fImageTiling) |
? Resource::kLinearTiling_Flag : Resource::kNo_Flags; |
- const GrVkImage::Resource* imageResource = new GrVkImage::Resource(info->fImage, |
- info->fAlloc, |
- flags); |
+ const GrVkImage::Resource* imageResource; |
+ if (kBorrowed_LifeCycle == lifeCycle) { |
+ imageResource = new GrVkImage::BorrowedResource(info->fImage, info->fAlloc, flags); |
+ } else { |
+ imageResource = new GrVkImage::Resource(info->fImage, info->fAlloc, flags); |
+ } |
if (!imageResource) { |
return nullptr; |
} |
@@ -166,6 +169,5 @@ GrVkTextureRenderTarget::CreateWrappedTextureRenderTarget(GrVkGpu* gpu, |
imageResource->unref(gpu); |
return trt; |
- |
} |