Index: src/gpu/vk/GrVkCommandBuffer.cpp |
diff --git a/src/gpu/vk/GrVkCommandBuffer.cpp b/src/gpu/vk/GrVkCommandBuffer.cpp |
index 2e474bad12c6d0c034b4737493a6f5e67eef8aac..06b3bb105029aa3d2897114a574344c2030d6ff7 100644 |
--- a/src/gpu/vk/GrVkCommandBuffer.cpp |
+++ b/src/gpu/vk/GrVkCommandBuffer.cpp |
@@ -568,6 +568,26 @@ void GrVkPrimaryCommandBuffer::clearDepthStencilImage(const GrVkGpu* gpu, |
subRanges)); |
} |
+void GrVkPrimaryCommandBuffer::resolveImage(GrVkGpu* gpu, |
+ const GrVkImage& srcImage, |
+ const GrVkImage& dstImage, |
+ uint32_t regionCount, |
+ const VkImageResolve* regions) { |
+ SkASSERT(fIsActive); |
+ SkASSERT(!fActiveRenderPass); |
+ |
+ this->addResource(srcImage.resource()); |
+ this->addResource(dstImage.resource()); |
+ |
+ GR_VK_CALL(gpu->vkInterface(), CmdResolveImage(fCmdBuffer, |
+ srcImage.image(), |
+ srcImage.currentLayout(), |
+ dstImage.image(), |
+ dstImage.currentLayout(), |
+ regionCount, |
+ regions)); |
+} |
+ |
void GrVkPrimaryCommandBuffer::onFreeGPUData(const GrVkGpu* gpu) const { |
SkASSERT(!fActiveRenderPass); |
// Destroy the fence, if any |