From cf92aa46e0caf0ecf5f6ae0d5b88f55cfbc9bdc4 Mon Sep 17 00:00:00 2001 From: Courtney Goeltzenleuchter Date: Wed, 16 Sep 2015 16:12:45 -0600 Subject: Bug 14644 - add poolUsage/maxSets to VkDescriptorPoolCreateInfo Bug 14644 - vkCreateDescriptorPool should have poolUsage/maxSets as part of VkDescriptorPoolCreateInfo merge request #342 --- layers/draw_state.cpp | 8 ++++---- layers/param_checker.cpp | 7 +++---- 2 files changed, 7 insertions(+), 8 deletions(-) (limited to 'layers') diff --git a/layers/draw_state.cpp b/layers/draw_state.cpp index 172260eb..78304fb4 100644 --- a/layers/draw_state.cpp +++ b/layers/draw_state.cpp @@ -1840,9 +1840,9 @@ VkResult VKAPI vkCreatePipelineLayout(VkDevice device, const VkPipelineLayoutCre 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 @@ VK_LAYER_EXPORT VkResult VKAPI vkCreateDescriptorPool(VkDevice device, VkDescrip 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 583363ae..3b3cc068 100644 --- a/layers/param_checker.cpp +++ b/layers/param_checker.cpp @@ -4741,6 +4741,7 @@ bool PostCreateDescriptorPool( return false; } + /* TODOVV: How do we validate maxSets? Probably belongs in the limits layer? */ if(pDescriptorPool != nullptr) { @@ -4758,16 +4759,14 @@ bool PostCreateDescriptorPool( 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; } -- cgit v1.2.3