swapchain: Fix auto-merger defect: Fix SHARED presentation modes

Part of aosp/1921342 did not end up in goog/master.  This fixes that.

Test: dEQP.EGL/functional_mutable_render_buffer_basic
Bug: 209035115
Bug: 200378297
Change-Id: Id5bf9c5af8e60184f575517e3209482953535a20
diff --git a/vulkan/libvulkan/swapchain.cpp b/vulkan/libvulkan/swapchain.cpp
index e6717d7..4a6b4f1 100644
--- a/vulkan/libvulkan/swapchain.cpp
+++ b/vulkan/libvulkan/swapchain.cpp
@@ -1236,6 +1236,12 @@
         return VK_ERROR_SURFACE_LOST_KHR;
     }
 
+    // In shared mode the num_images must be one regardless of how many
+    // buffers were allocated for the buffer queue.
+    if (swapchain_image_usage & VK_SWAPCHAIN_IMAGE_USAGE_SHARED_BIT_ANDROID) {
+        num_images = 1;
+    }
+
     int32_t legacy_usage = 0;
     if (dispatch.GetSwapchainGrallocUsage2ANDROID) {
         uint64_t consumer_usage, producer_usage;