diff options
Diffstat (limited to 'src/gpu/vk/GrVkCommandBuffer.cpp')
-rw-r--r-- | src/gpu/vk/GrVkCommandBuffer.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/gpu/vk/GrVkCommandBuffer.cpp b/src/gpu/vk/GrVkCommandBuffer.cpp index 2e474bad12..06b3bb1050 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 |