layers: MR167, Make sure queueCount is non-zero in param_checker
authorMichael Lentine <mlentine@google.com>
Wed, 27 Jan 2016 17:40:27 +0000 (11:40 -0600)
committerMark Lobodzinski <mark@lunarg.com>
Thu, 28 Jan 2016 00:06:08 +0000 (17:06 -0700)
Conflicts:
layers/param_checker.cpp

layers/param_checker.cpp

index 800b093..83ffdfe 100644 (file)
@@ -2055,10 +2055,14 @@ void validateDeviceCreateInfo(VkPhysicalDevice physicalDevice, const VkDeviceCre
     for (uint32_t i = 0; i < pCreateInfo->queueCreateInfoCount; ++i) {
         if (set.count(pCreateInfo->pQueueCreateInfos[i].queueFamilyIndex)) {
             log_msg(mdd(physicalDevice), VK_DEBUG_REPORT_ERROR_BIT_EXT, (VkDebugReportObjectTypeEXT)0, 0, __LINE__, 1, "PARAMCHECK",
-                "VkDeviceCreateInfo parameter, uint32_t pQueueCreateInfos[%d]->queueFamilyIndex, is not unique within this structure.", i);
+                "VkDeviceCreateInfo parameter, uint32_t pQueueCreateInfos[%d]->queueFamilyIndex is not unique within this structure.", i);
         } else {
             set.insert(pCreateInfo->pQueueCreateInfos[i].queueFamilyIndex);
         }
+        if (pCreateInfo->pQueueCreateInfos[i].queueCount == 0) {
+            log_msg(mdd(physicalDevice), VK_DEBUG_REPORT_ERROR_BIT_EXT, (VkDebugReportObjectTypeEXT)0, 0, __LINE__, 1, "PARAMCHECK",
+                "VkDeviceCreateInfo parameter, uint32_t pQueueCreateInfos[%d]->queueCount cannot be zero.", i);
+        }
     }
 }