Fix Vulkan null_driver's EnumeratePhysicalDevices()

Counter to the Vulkan spec, the EnumeratePhysicalDevices() function was always
setting the count to 1, even when it didn't write anything.  This caused a
crash with the "dEQP-VK.api.info.instance.physical_devices" test case of the
Vulkan CTS v1.0.2.

Test: Run Vulkan CTS v1.0.2 (doesn't crash right away)
Change-Id: I1b7ba9f11229197efb825d8d0ad1b9ad88f029fb
diff --git a/vulkan/nulldrv/null_driver.cpp b/vulkan/nulldrv/null_driver.cpp
index 6714779..6814ae6 100644
--- a/vulkan/nulldrv/null_driver.cpp
+++ b/vulkan/nulldrv/null_driver.cpp
@@ -343,9 +343,14 @@
 VkResult EnumeratePhysicalDevices(VkInstance instance,
                                   uint32_t* physical_device_count,
                                   VkPhysicalDevice* physical_devices) {
-    if (physical_devices && *physical_device_count >= 1)
+    if (!physical_devices)
+        *physical_device_count = 1;
+    else if (*physical_device_count == 0)
+        return VK_INCOMPLETE;
+    else {
         physical_devices[0] = &instance->physical_device;
-    *physical_device_count = 1;
+        *physical_device_count = 1;
+    }
     return VK_SUCCESS;
 }