Bug 14644 - add poolUsage/maxSets to VkDescriptorPoolCreateInfo

Bug 14644 - vkCreateDescriptorPool should have poolUsage/maxSets as part of VkDescriptorPoolCreateInfo
merge request #342
diff --git a/layers/draw_state.cpp b/layers/draw_state.cpp
index 172260e..78304fb 100644
--- a/layers/draw_state.cpp
+++ b/layers/draw_state.cpp
@@ -1840,9 +1840,9 @@
     return result;
 }
 
-VK_LAYER_EXPORT VkResult VKAPI vkCreateDescriptorPool(VkDevice device, VkDescriptorPoolUsage poolUsage, uint32_t maxSets, const VkDescriptorPoolCreateInfo* pCreateInfo, VkDescriptorPool* pDescriptorPool)
+VK_LAYER_EXPORT VkResult VKAPI vkCreateDescriptorPool(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, VkDescriptorPool* pDescriptorPool)
 {
-    VkResult result = get_dispatch_table(draw_state_device_table_map, device)->CreateDescriptorPool(device, poolUsage, maxSets, pCreateInfo, pDescriptorPool);
+    VkResult result = get_dispatch_table(draw_state_device_table_map, device)->CreateDescriptorPool(device, pCreateInfo, pDescriptorPool);
     if (VK_SUCCESS == result) {
         // Insert this pool into Global Pool LL at head
         if (log_msg(mdd(device), VK_DBG_REPORT_INFO_BIT, VK_OBJECT_TYPE_DESCRIPTOR_POOL, (*pDescriptorPool).handle, 0, DRAWSTATE_OUT_OF_MEMORY, "DS",
@@ -1863,8 +1863,8 @@
                 pNewNode->createInfo.pTypeCount = new VkDescriptorTypeCount[typeCountSize];
                 memcpy((void*)pNewNode->createInfo.pTypeCount, pCreateInfo->pTypeCount, typeCountSize);
             }
-            pNewNode->poolUsage  = poolUsage;
-            pNewNode->maxSets      = maxSets;
+            pNewNode->poolUsage  = pCreateInfo->poolUsage;
+            pNewNode->maxSets      = pCreateInfo->maxSets;
             pNewNode->pool       = *pDescriptorPool;
             poolMap[pDescriptorPool->handle] = pNewNode;
         }
diff --git a/layers/param_checker.cpp b/layers/param_checker.cpp
index 583363a..3b3cc06 100644
--- a/layers/param_checker.cpp
+++ b/layers/param_checker.cpp
@@ -4741,6 +4741,7 @@
         return false;
     }
 
+    /* TODOVV: How do we validate maxSets? Probably belongs in the limits layer? */
 
     if(pDescriptorPool != nullptr)
     {
@@ -4758,16 +4759,14 @@
 
 VK_LAYER_EXPORT VkResult VKAPI vkCreateDescriptorPool(
     VkDevice device,
-    VkDescriptorPoolUsage poolUsage,
-    uint32_t maxSets,
     const VkDescriptorPoolCreateInfo* pCreateInfo,
     VkDescriptorPool* pDescriptorPool)
 {
     PreCreateDescriptorPool(device, pCreateInfo);
 
-    VkResult result = get_dispatch_table(pc_device_table_map, device)->CreateDescriptorPool(device, poolUsage, maxSets, pCreateInfo, pDescriptorPool);
+    VkResult result = get_dispatch_table(pc_device_table_map, device)->CreateDescriptorPool(device, pCreateInfo, pDescriptorPool);
 
-    PostCreateDescriptorPool(device, poolUsage, maxSets, pDescriptorPool, result);
+    PostCreateDescriptorPool(device, pCreateInfo->poolUsage, pCreateInfo->maxSets, pDescriptorPool, result);
 
     return result;
 }