anv: Handle vkGetPhysicalDeviceQueueFamilyProperties with count == 0
authorChad Versace <chadversary@chromium.org>
Tue, 27 Dec 2016 18:25:58 +0000 (10:25 -0800)
committerChad Versace <chadversary@chromium.org>
Tue, 27 Dec 2016 20:31:34 +0000 (12:31 -0800)
The spec implicitly allows the incoming count to be 0. From the Vulkan
1.0.38 spec, Section 4.1 Physical Devices:

    If the value referenced by pQueueFamilyPropertyCount is not 0 [then
    do stuff].

Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
src/intel/vulkan/anv_device.c

index 037ef827e15a9a3ed6afe7499cd23325af3e78f0..323cae4029277a26179f1c17cab9823e7f9ddaeb 100644 (file)
@@ -646,7 +646,14 @@ void anv_GetPhysicalDeviceQueueFamilyProperties(
       return;
    }
 
-   assert(*pCount >= 1);
+   /* The spec implicitly allows the incoming count to be 0. From the Vulkan
+    * 1.0.38 spec, Section 4.1 Physical Devices:
+    *
+    *     If the value referenced by pQueueFamilyPropertyCount is not 0 [then
+    *     do stuff].
+    */
+   if (*pCount == 0)
+      return;
 
    *pQueueFamilyProperties = (VkQueueFamilyProperties) {
       .queueFlags = VK_QUEUE_GRAPHICS_BIT |