vulkan: Fix EnumeratePhysicalDeviceGroups()

Fixes CTS failure in dEQP-VK.api.info.instance.physical_device_groups on
Eve (Pixelbook) with Pi.

The Vulkan spec requires that vkEnumeratePhysicalDeviceGroups return
VK_INCOMPLETE when (a) pPhysicalDeviceGroupProperties is not NULL and
(b) *pPhysicalDeviceGroupCount is less than the actual number of groups.

Bug libvulkan/driver.cpp:EnumeratePhysicalDeviceGroups() returned
VK_SUCCESS when (pPhysicalDeviceGroupProperties != NULL &&
*pPhysicalDeviceGroupCount == 0) regardless of the actual number of
groups.

V2: Simplify according to zzyiwei@'s suggestion

Bug: b/114614186
Test: dEQP-VK.api.info.instance.physical_device_groups on eve-arcnext
Change-Id: Ia3067e9d8125ff2b708a4fa674e8283a1f17ba0b
diff --git a/vulkan/libvulkan/driver.cpp b/vulkan/libvulkan/driver.cpp
index 56bc35e..fdbd969 100644
--- a/vulkan/libvulkan/driver.cpp
+++ b/vulkan/libvulkan/driver.cpp
@@ -1165,27 +1165,28 @@
         result = EnumeratePhysicalDevices(instance, &device_count, nullptr);
         if (result < 0)
             return result;
+
         if (!pPhysicalDeviceGroupProperties) {
             *pPhysicalDeviceGroupCount = device_count;
             return result;
         }
 
-        device_count = std::min(device_count, *pPhysicalDeviceGroupCount);
         if (!device_count) {
             *pPhysicalDeviceGroupCount = 0;
             return result;
         }
+        device_count = std::min(device_count, *pPhysicalDeviceGroupCount);
+        if (!device_count)
+            return VK_INCOMPLETE;
 
         android::Vector<VkPhysicalDevice> devices;
         devices.resize(device_count);
-
+        *pPhysicalDeviceGroupCount = device_count;
         result = EnumeratePhysicalDevices(instance, &device_count,
                                           devices.editArray());
         if (result < 0)
             return result;
 
-        devices.resize(device_count);
-        *pPhysicalDeviceGroupCount = device_count;
         for (uint32_t i = 0; i < device_count; ++i) {
             pPhysicalDeviceGroupProperties[i].physicalDeviceCount = 1;
             pPhysicalDeviceGroupProperties[i].physicalDevices[0] = devices[i];