tests:Only init queue families that have queues

It's possible for a device to return queue families that don't have
any queues, but we should not be requesting creation of queues from
such a family when we create the device as it's against the spec and
leads to a parameter validation error..
This change only requests that a device initiate queue families that
have at least one queue.
diff --git a/tests/vktestbinding.cpp b/tests/vktestbinding.cpp
index 5b8b320..903bd7c 100644
--- a/tests/vktestbinding.cpp
+++ b/tests/vktestbinding.cpp
@@ -259,12 +259,20 @@
             graphics_queue_node_index_ = i;
         }
     }
+    // Only request creation with queuefamilies that have at least one queue
+    std::vector<VkDeviceQueueCreateInfo> create_queue_infos;
+    auto qci = queue_info.data();
+    for (uint32_t j = 0; j < queue_info.size(); ++j) {
+        if (qci[j].queueCount) {
+            create_queue_infos.push_back(qci[j]);
+        }
+    }
 
     VkDeviceCreateInfo dev_info = {};
     dev_info.sType = VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO;
     dev_info.pNext = NULL;
-    dev_info.queueCreateInfoCount = queue_info.size();
-    dev_info.pQueueCreateInfos = queue_info.data();
+    dev_info.queueCreateInfoCount = create_queue_infos.size();
+    dev_info.pQueueCreateInfos = create_queue_infos.data();
     dev_info.enabledLayerCount = 0;
     dev_info.ppEnabledLayerNames = NULL;
     dev_info.enabledExtensionCount = extensions.size();