Index: src/gpu/vk/GrVkGpuCommandBuffer.cpp |
diff --git a/src/gpu/vk/GrVkGpuCommandBuffer.cpp b/src/gpu/vk/GrVkGpuCommandBuffer.cpp |
index b2336495a9ce837c70bd0ee06723c87d600a98fd..77a038a9577999a245c829427d31298e9495978a 100644 |
--- a/src/gpu/vk/GrVkGpuCommandBuffer.cpp |
+++ b/src/gpu/vk/GrVkGpuCommandBuffer.cpp |
@@ -346,6 +346,13 @@ static void append_sampled_images(const GrProcessor& processor, |
const GrTextureAccess& texAccess = processor.textureAccess(i); |
GrVkTexture* vkTexture = static_cast<GrVkTexture*>(processor.texture(i)); |
SkASSERT(vkTexture); |
+ |
+ // We may need to resolve the texture first if it is also a render target |
+ GrVkRenderTarget* texRT = static_cast<GrVkRenderTarget*>(vkTexture->asRenderTarget()); |
+ if (texRT) { |
+ gpu->onResolveRenderTarget(texRT); |
+ } |
+ |
const GrTextureParams& params = texAccess.getParams(); |
// Check if we need to regenerate any mip maps |
if (GrTextureParams::kMipMap_FilterMode == params.filterMode()) { |