From 4efb01f1bcbf9403eaddb428c7684b8ec39344a9 Mon Sep 17 00:00:00 2001 From: Tony Barbour Date: Fri, 10 Jul 2015 10:50:45 -0600 Subject: Bug 14248: Add vkFreeDescriptorSets --- loader/gpa_helper.h | 2 ++ loader/table_ops.h | 3 +++ loader/trampoline.c | 9 +++++++++ 3 files changed, 14 insertions(+) (limited to 'loader') diff --git a/loader/gpa_helper.h b/loader/gpa_helper.h index 04f97dae..a6d88085 100644 --- a/loader/gpa_helper.h +++ b/loader/gpa_helper.h @@ -207,6 +207,8 @@ static inline void* globalGetProcAddr(const char *name) return (void*) vkResetDescriptorPool; if (!strcmp(name, "AllocDescriptorSets")) return (void*) vkAllocDescriptorSets; + if (!strcmp(name, "FreeDescriptorSets")) + return (void*) vkFreeDescriptorSets; if (!strcmp(name, "UpdateDescriptorSets")) return (void*) vkUpdateDescriptorSets; if (!strcmp(name, "CreateDynamicViewportState")) diff --git a/loader/table_ops.h b/loader/table_ops.h index df8c2b4a..8e8ce9bf 100644 --- a/loader/table_ops.h +++ b/loader/table_ops.h @@ -107,6 +107,7 @@ static inline void loader_init_device_dispatch_table(VkLayerDispatchTable *table table->DestroyDescriptorPool = (PFN_vkDestroyDescriptorPool) gpa(dev, "vkDestroyDescriptorPool"); table->ResetDescriptorPool = (PFN_vkResetDescriptorPool) gpa(dev, "vkResetDescriptorPool"); table->AllocDescriptorSets = (PFN_vkAllocDescriptorSets) gpa(dev, "vkAllocDescriptorSets"); + table->FreeDescriptorSets = (PFN_vkFreeDescriptorSets) gpa(dev, "vkFreeDescriptorSets"); table->UpdateDescriptorSets = (PFN_vkUpdateDescriptorSets) gpa(dev, "vkUpdateDescriptorSets"); table->CreateDynamicViewportState = (PFN_vkCreateDynamicViewportState) gpa(dev, "vkCreateDynamicViewportState"); table->DestroyDynamicViewportState = (PFN_vkDestroyDynamicViewportState) gpa(dev, "vkDestroyDynamicViewportState"); @@ -323,6 +324,8 @@ static inline void *loader_lookup_device_dispatch_table( return (void *) table->ResetDescriptorPool; if (!strcmp(name, "AllocDescriptorSets")) return (void *) table->AllocDescriptorSets; + if (!strcmp(name, "FreeDescriptorSets")) + return (void *) table->FreeDescriptorSets; if (!strcmp(name, "UpdateDescriptorSets")) return (void *) table->UpdateDescriptorSets; if (!strcmp(name, "CreateDynamicViewportState")) diff --git a/loader/trampoline.c b/loader/trampoline.c index dbd134fd..13d4e680 100644 --- a/loader/trampoline.c +++ b/loader/trampoline.c @@ -953,6 +953,15 @@ LOADER_EXPORT VkResult VKAPI vkAllocDescriptorSets(VkDevice device, VkDescriptor return disp->AllocDescriptorSets(device, descriptorPool, setUsage, count, pSetLayouts, pDescriptorSets, pCount); } +LOADER_EXPORT VkResult VKAPI vkFreeDescriptorSets(VkDevice device, VkDescriptorPool descriptorPool, uint32_t count, const VkDescriptorSet* pDescriptorSets) +{ + const VkLayerDispatchTable *disp; + + disp = loader_get_dispatch(device); + + return disp->FreeDescriptorSets(device, descriptorPool, count, pDescriptorSets); +} + LOADER_EXPORT VkResult VKAPI vkUpdateDescriptorSets(VkDevice device, uint32_t writeCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t copyCount, const VkCopyDescriptorSet* pDescriptorCopies) { const VkLayerDispatchTable *disp; -- cgit v1.2.3