diff options
author | 2018-04-10 13:46:30 -0400 | |
---|---|---|
committer | 2018-04-11 11:14:58 +0000 | |
commit | 323fbcf6d18f1a82b76cc3e471015dc9717e7fb5 (patch) | |
tree | 6542aa1caf6b2f7e0a473cbf0b42ed397b2722d4 /src/gpu/vk | |
parent | 3b6afd51b22c14fdfd5e741b809c5e02c6ec2095 (diff) |
Move GrBackendRenderTarget over to new system of getting backed infos
Bug: skia:
Change-Id: I3927390894715e8424b3d0240dad3ee6cd03dc38
Reviewed-on: https://skia-review.googlesource.com/120181
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Diffstat (limited to 'src/gpu/vk')
-rw-r--r-- | src/gpu/vk/GrVkCaps.cpp | 6 | ||||
-rw-r--r-- | src/gpu/vk/GrVkGpu.cpp | 16 | ||||
-rw-r--r-- | src/gpu/vk/GrVkRenderTarget.cpp | 6 |
3 files changed, 13 insertions, 15 deletions
diff --git a/src/gpu/vk/GrVkCaps.cpp b/src/gpu/vk/GrVkCaps.cpp index 5747cc04c3..ae1570cd71 100644 --- a/src/gpu/vk/GrVkCaps.cpp +++ b/src/gpu/vk/GrVkCaps.cpp @@ -510,12 +510,12 @@ bool GrVkCaps::validateBackendTexture(const GrBackendTexture& tex, SkColorType c bool GrVkCaps::validateBackendRenderTarget(const GrBackendRenderTarget& rt, SkColorType ct, GrPixelConfig* config) const { - const GrVkImageInfo* imageInfo = rt.getVkImageInfo(); - if (!imageInfo) { + GrVkImageInfo imageInfo; + if (!rt.getVkImageInfo(&imageInfo)) { return false; } - return validate_image_info(imageInfo->fFormat, ct, config); + return validate_image_info(imageInfo.fFormat, ct, config); } bool GrVkCaps::getConfigFromBackendFormat(const GrBackendFormat& format, SkColorType ct, diff --git a/src/gpu/vk/GrVkGpu.cpp b/src/gpu/vk/GrVkGpu.cpp index 0d45ae02ad..3b1b219c31 100644 --- a/src/gpu/vk/GrVkGpu.cpp +++ b/src/gpu/vk/GrVkGpu.cpp @@ -933,11 +933,12 @@ sk_sp<GrRenderTarget> GrVkGpu::onWrapBackendRenderTarget(const GrBackendRenderTa return nullptr; } - const GrVkImageInfo* info = backendRT.getVkImageInfo(); - if (!info) { + GrVkImageInfo info; + if (!backendRT.getVkImageInfo(&info)) { return nullptr; } - if (VK_NULL_HANDLE == info->fImage) { + + if (VK_NULL_HANDLE == info.fImage) { return nullptr; } @@ -948,9 +949,9 @@ sk_sp<GrRenderTarget> GrVkGpu::onWrapBackendRenderTarget(const GrBackendRenderTa desc.fConfig = backendRT.config(); desc.fSampleCnt = 1; - sk_sp<GrVkImageLayout> layout(new GrVkImageLayout(info->fImageLayout)); + sk_sp<GrVkImageLayout> layout = backendRT.getGrVkImageLayout(); - sk_sp<GrVkRenderTarget> tgt = GrVkRenderTarget::MakeWrappedRenderTarget(this, desc, *info, + sk_sp<GrVkRenderTarget> tgt = GrVkRenderTarget::MakeWrappedRenderTarget(this, desc, info, std::move(layout)); // We don't allow the client to supply a premade stencil buffer. We always create one if needed. @@ -1565,10 +1566,11 @@ GrBackendRenderTarget GrVkGpu::createTestingOnlyBackendRenderTarget(int w, int h void GrVkGpu::deleteTestingOnlyBackendRenderTarget(const GrBackendRenderTarget& rt) { SkASSERT(kVulkan_GrBackend == rt.fBackend); - if (const auto* info = rt.getVkImageInfo()) { + GrVkImageInfo info; + if (rt.getVkImageInfo(&info)) { // something in the command buffer may still be using this, so force submit this->submitCommandBuffer(kForce_SyncQueue); - GrVkImage::DestroyImageInfo(this, const_cast<GrVkImageInfo*>(info)); + GrVkImage::DestroyImageInfo(this, const_cast<GrVkImageInfo*>(&info)); } } diff --git a/src/gpu/vk/GrVkRenderTarget.cpp b/src/gpu/vk/GrVkRenderTarget.cpp index 5570c0d3b4..83c3b97776 100644 --- a/src/gpu/vk/GrVkRenderTarget.cpp +++ b/src/gpu/vk/GrVkRenderTarget.cpp @@ -360,12 +360,8 @@ GrBackendObject GrVkRenderTarget::getRenderTargetHandle() const { } GrBackendRenderTarget GrVkRenderTarget::getBackendRenderTarget() const { - int numStencilBits = 0; - if (GrStencilAttachment* stencil = this->renderTargetPriv().getStencilAttachment()) { - numStencilBits = stencil->bits(); - } return GrBackendRenderTarget(this->width(), this->height(), this->numColorSamples(), - numStencilBits, fInfo); + fInfo, this->grVkImageLayout()); } const GrVkResource* GrVkRenderTarget::stencilImageResource() const { |