Make sure we set stencil layout when doing copy as draw

Cherry-Picking change.

Bug: skia:
Change-Id: Ifa52e97d36a7008b670a1b69f1cd45df5c090f91
Reviewed-On: https://skia-review.googlesource.com/115008
Reviewed-By: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-on: https://skia-review.googlesource.com/115080
Reviewed-by: Greg Daniel <egdaniel@google.com>
diff --git a/src/gpu/vk/GrVkCopyManager.cpp b/src/gpu/vk/GrVkCopyManager.cpp
index da19d10..ba62980 100644
--- a/src/gpu/vk/GrVkCopyManager.cpp
+++ b/src/gpu/vk/GrVkCopyManager.cpp
@@ -7,6 +7,7 @@
 
 #include "GrVkCopyManager.h"
 
+#include "GrRenderTargetPriv.h"
 #include "GrSamplerState.h"
 #include "GrShaderCaps.h"
 #include "GrSurface.h"
@@ -312,6 +313,17 @@
                            VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT,
                            false);
 
+    GrStencilAttachment* stencil = rt->renderTargetPriv().getStencilAttachment();
+    if (stencil) {
+        GrVkStencilAttachment* vkStencil = (GrVkStencilAttachment*)stencil;
+        vkStencil->setImageLayout(gpu,
+                                  VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL,
+                                  VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT |
+                                  VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT,
+                                  VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT,
+                                  false);
+    }
+
     GrVkRenderPass::LoadStoreOps vkColorOps(VK_ATTACHMENT_LOAD_OP_DONT_CARE,
                                             VK_ATTACHMENT_STORE_OP_STORE);
     GrVkRenderPass::LoadStoreOps vkStencilOps(VK_ATTACHMENT_LOAD_OP_LOAD,