Add SK_SUPPORT_LEGACY_BACKEND_OBJECTS

This relies on the Chrome CL: https://chromium-review.googlesource.com/c/chromium/src/+/999796 (Add SK_SUPPORT_LEGACY_BACKEND_OBJECTS to SkUserConfig.h) landing first.

Change-Id: Ie0a2b7b84cc02e46957765a0a7d6444a5320769d
Reviewed-on: https://skia-review.googlesource.com/119140
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
diff --git a/tools/sk_app/VulkanWindowContext.cpp b/tools/sk_app/VulkanWindowContext.cpp
index b39c564..ecf6d80 100644
--- a/tools/sk_app/VulkanWindowContext.cpp
+++ b/tools/sk_app/VulkanWindowContext.cpp
@@ -543,11 +543,11 @@
                         QueueSubmit(fBackendContext->fQueue, 1, &submitInfo,
                                     backbuffer->fUsageFences[0]));
 
-    GrVkImageInfo* imageInfo;
     SkSurface* surface = fSurfaces[backbuffer->fImageIndex].get();
-    surface->getRenderTargetHandle((GrBackendObject*)&imageInfo,
-                                   SkSurface::kFlushRead_BackendHandleAccess);
-    imageInfo->updateImageLayout(VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL);
+    GrBackendRenderTarget backendRT = surface->getBackendRenderTarget(
+                                                        SkSurface::kFlushRead_BackendHandleAccess);
+    backendRT.setVkImageLayout(VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL);
+
 
     return sk_ref_sp(surface);
 }
@@ -555,14 +555,16 @@
 void VulkanWindowContext::swapBuffers() {
 
     BackbufferInfo* backbuffer = fBackbuffers + fCurrentBackbufferIndex;
-    GrVkImageInfo* imageInfo;
     SkSurface* surface = fSurfaces[backbuffer->fImageIndex].get();
-    surface->getRenderTargetHandle((GrBackendObject*)&imageInfo,
-                                   SkSurface::kFlushRead_BackendHandleAccess);
-    // Check to make sure we never change the actually wrapped image
-    SkASSERT(imageInfo->fImage == fImages[backbuffer->fImageIndex]);
 
-    VkImageLayout layout = imageInfo->fImageLayout;
+    GrBackendRenderTarget backendRT = surface->getBackendRenderTarget(
+                                                        SkSurface::kFlushRead_BackendHandleAccess);
+    GrVkImageInfo imageInfo;
+    SkAssertResult(backendRT.getVkImageInfo(&imageInfo));
+    // Check to make sure we never change the actually wrapped image
+    SkASSERT(imageInfo.fImage == fImages[backbuffer->fImageIndex]);
+
+    VkImageLayout layout = imageInfo.fImageLayout;
     VkPipelineStageFlags srcStageMask = GrVkMemory::LayoutToPipelineStageFlags(layout);
     VkPipelineStageFlags dstStageMask = VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT;
     VkAccessFlags srcAccessMask = GrVkMemory::LayoutToSrcAccessMask(layout);