vulkan: fix layout and queue family problems with ExternalVkImageBacking

1. For the first time GL access, the backing's queue family could be not
   VK_QUEUE_FAMILY_EXTERNAL. We need to transfer it to external for GL
   access.
2. SkiaOutputDeviceBufferQueue doesn't set backing's layout and queue
   family after Skia write access. Fix it by override
   PreGrContextSubmitz() to set the backing's layout and queue family.

Bug: 1101167
Change-Id: I2f2f527ffb6f4b56e0042c8762cdb93eea4b6942
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2286052
Reviewed-by: Vasiliy Telezhnikov <vasilyt@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#786453}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: a9affd1df83ea7a4e94c929c59f59613f9872037
4 files changed