diff options
author | Greg Daniel <egdaniel@google.com> | 2017-08-17 15:37:20 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-08-18 13:28:18 +0000 |
commit | 1591c38d1362790cb0ec27740678e107e71073bc (patch) | |
tree | ca562f251e8f467e9d22d9abb307453b93a9a07b /src/gpu/vk/GrVkTextureRenderTarget.cpp | |
parent | ceef4fb5c498003be77a32a46cedfbf5da22a274 (diff) |
Use GrBackendObjectOwnership instead of GrVkImage::Wrapped
This is more in line with what GL does and will make things cleaner for
the metal backend as well.
Bug: skia:
Change-Id: I0ba0c588f813ad78051251c1cb9e8f92fd917ecc
Reviewed-on: https://skia-review.googlesource.com/35940
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Diffstat (limited to 'src/gpu/vk/GrVkTextureRenderTarget.cpp')
-rw-r--r-- | src/gpu/vk/GrVkTextureRenderTarget.cpp | 60 |
1 files changed, 32 insertions, 28 deletions
diff --git a/src/gpu/vk/GrVkTextureRenderTarget.cpp b/src/gpu/vk/GrVkTextureRenderTarget.cpp index 8dc5ffed1e..e380e73095 100644 --- a/src/gpu/vk/GrVkTextureRenderTarget.cpp +++ b/src/gpu/vk/GrVkTextureRenderTarget.cpp @@ -26,12 +26,13 @@ GrVkTextureRenderTarget::GrVkTextureRenderTarget(GrVkGpu* gpu, const GrVkImageView* texView, const GrVkImageInfo& msaaInfo, const GrVkImageView* colorAttachmentView, - const GrVkImageView* resolveAttachmentView) + const GrVkImageView* resolveAttachmentView, + GrBackendObjectOwnership ownership) : GrSurface(gpu, desc) - , GrVkImage(info, GrVkImage::kNot_Wrapped) - , GrVkTexture(gpu, desc, info, texView, GrVkImage::kNot_Wrapped) + , GrVkImage(info, ownership) + , GrVkTexture(gpu, desc, info, texView, ownership) , GrVkRenderTarget(gpu, desc, info, msaaInfo, colorAttachmentView, - resolveAttachmentView, GrVkImage::kNot_Wrapped) { + resolveAttachmentView, GrBackendObjectOwnership::kOwned) { this->registerWithCache(budgeted); } @@ -40,11 +41,12 @@ GrVkTextureRenderTarget::GrVkTextureRenderTarget(GrVkGpu* gpu, const GrSurfaceDesc& desc, const GrVkImageInfo& info, const GrVkImageView* texView, - const GrVkImageView* colorAttachmentView) + const GrVkImageView* colorAttachmentView, + GrBackendObjectOwnership ownership) : GrSurface(gpu, desc) - , GrVkImage(info, GrVkImage::kNot_Wrapped) - , GrVkTexture(gpu, desc, info, texView, GrVkImage::kNot_Wrapped) - , GrVkRenderTarget(gpu, desc, info, colorAttachmentView, GrVkImage::kNot_Wrapped) { + , GrVkImage(info, ownership) + , GrVkTexture(gpu, desc, info, texView, ownership) + , GrVkRenderTarget(gpu, desc, info, colorAttachmentView, GrBackendObjectOwnership::kOwned) { this->registerWithCache(budgeted); } @@ -55,12 +57,12 @@ GrVkTextureRenderTarget::GrVkTextureRenderTarget(GrVkGpu* gpu, const GrVkImageInfo& msaaInfo, const GrVkImageView* colorAttachmentView, const GrVkImageView* resolveAttachmentView, - GrVkImage::Wrapped wrapped) + GrBackendObjectOwnership ownership) : GrSurface(gpu, desc) - , GrVkImage(info, wrapped) - , GrVkTexture(gpu, desc, info, texView, wrapped) + , GrVkImage(info, ownership) + , GrVkTexture(gpu, desc, info, texView, ownership) , GrVkRenderTarget(gpu, desc, info, msaaInfo, colorAttachmentView, - resolveAttachmentView, wrapped) { + resolveAttachmentView, ownership) { this->registerWithCacheWrapped(); } @@ -69,11 +71,11 @@ GrVkTextureRenderTarget::GrVkTextureRenderTarget(GrVkGpu* gpu, const GrVkImageInfo& info, const GrVkImageView* texView, const GrVkImageView* colorAttachmentView, - GrVkImage::Wrapped wrapped) + GrBackendObjectOwnership ownership) : GrSurface(gpu, desc) - , GrVkImage(info, wrapped) - , GrVkTexture(gpu, desc, info, texView, wrapped) - , GrVkRenderTarget(gpu, desc, info, colorAttachmentView, wrapped) { + , GrVkImage(info, ownership) + , GrVkTexture(gpu, desc, info, texView, ownership) + , GrVkRenderTarget(gpu, desc, info, colorAttachmentView, ownership) { this->registerWithCacheWrapped(); } @@ -82,7 +84,8 @@ sk_sp<GrVkTextureRenderTarget> GrVkTextureRenderTarget::Make(GrVkGpu* gpu, const GrSurfaceDesc& desc, const GrVkImageInfo& info, SkBudgeted budgeted, - GrVkImage::Wrapped wrapped) { + GrBackendObjectOwnership ownership, + bool isWrapped) { VkImage image = info.fImage; // Create the texture ImageView const GrVkImageView* imageView = GrVkImageView::Create(gpu, image, info.fFormat, @@ -149,30 +152,30 @@ sk_sp<GrVkTextureRenderTarget> GrVkTextureRenderTarget::Make(GrVkGpu* gpu, sk_sp<GrVkTextureRenderTarget> texRT; if (desc.fSampleCnt) { - if (GrVkImage::kNot_Wrapped == wrapped) { + if (!isWrapped) { texRT = sk_sp<GrVkTextureRenderTarget>(new GrVkTextureRenderTarget( gpu, budgeted, desc, info, imageView, msInfo, colorAttachmentView, - resolveAttachmentView)); + resolveAttachmentView, ownership)); } else { texRT = sk_sp<GrVkTextureRenderTarget>(new GrVkTextureRenderTarget( gpu, desc, info, imageView, msInfo, colorAttachmentView, - resolveAttachmentView, wrapped)); + resolveAttachmentView, ownership)); } } else { - if (GrVkImage::kNot_Wrapped == wrapped) { + if (!isWrapped) { texRT = sk_sp<GrVkTextureRenderTarget>(new GrVkTextureRenderTarget( gpu, budgeted, desc, info, imageView, - colorAttachmentView)); + colorAttachmentView, ownership)); } else { texRT = sk_sp<GrVkTextureRenderTarget>(new GrVkTextureRenderTarget( gpu, desc, info, imageView, - colorAttachmentView, wrapped)); + colorAttachmentView, ownership)); } } return texRT; @@ -191,7 +194,8 @@ GrVkTextureRenderTarget::CreateNewTextureRenderTarget(GrVkGpu* gpu, return nullptr; } - sk_sp<GrVkTextureRenderTarget> trt = Make(gpu, desc, info, budgeted, GrVkImage::kNot_Wrapped); + sk_sp<GrVkTextureRenderTarget> trt = Make(gpu, desc, info, budgeted, + GrBackendObjectOwnership::kOwned, false); if (!trt) { GrVkImage::DestroyImageInfo(gpu, &info); } @@ -202,16 +206,16 @@ GrVkTextureRenderTarget::CreateNewTextureRenderTarget(GrVkGpu* gpu, sk_sp<GrVkTextureRenderTarget> GrVkTextureRenderTarget::MakeWrappedTextureRenderTarget(GrVkGpu* gpu, const GrSurfaceDesc& desc, - GrWrapOwnership ownership, + GrWrapOwnership wrapOwnership, const GrVkImageInfo* info) { SkASSERT(info); // Wrapped textures require both image and allocation (because they can be mapped) SkASSERT(VK_NULL_HANDLE != info->fImage && VK_NULL_HANDLE != info->fAlloc.fMemory); - GrVkImage::Wrapped wrapped = kBorrow_GrWrapOwnership == ownership ? GrVkImage::kBorrowed_Wrapped - : GrVkImage::kAdopted_Wrapped; + GrBackendObjectOwnership ownership = kBorrow_GrWrapOwnership == wrapOwnership + ? GrBackendObjectOwnership::kBorrowed : GrBackendObjectOwnership::kOwned; - return Make(gpu, desc, *info, SkBudgeted::kNo, wrapped); + return Make(gpu, desc, *info, SkBudgeted::kNo, ownership, true); } bool GrVkTextureRenderTarget::updateForMipmap(GrVkGpu* gpu, const GrVkImageInfo& newInfo) { |