From 25e69b09b5a95e668165313a69c86ea6af8aee61 Mon Sep 17 00:00:00 2001 From: Chia-I Wu Date: Mon, 26 Oct 2015 16:55:27 +0800 Subject: bug 14848: Verifying Sparse Behavior (WIP) Merge vkQueueBindSparse*() to one. https://cvs.khronos.org/bugzilla/show_bug.cgi?id=14848 --- loader/gpa_helper.h | 8 ++------ loader/table_ops.h | 12 +++--------- loader/trampoline.c | 22 ++-------------------- 3 files changed, 7 insertions(+), 35 deletions(-) (limited to 'loader') diff --git a/loader/gpa_helper.h b/loader/gpa_helper.h index c9673f0c..f572c364 100644 --- a/loader/gpa_helper.h +++ b/loader/gpa_helper.h @@ -99,12 +99,8 @@ static inline void* globalGetProcAddr(const char *name) return (void*) vkGetImageSparseMemoryRequirements; if (!strcmp(name, "GetPhysicalDeviceSparseImageFormatProperties")) return (void*) vkGetPhysicalDeviceSparseImageFormatProperties; - if (!strcmp(name, "QueueBindSparseBufferMemory")) - return (void*) vkQueueBindSparseBufferMemory; - if (!strcmp(name, "QueueBindSparseImageOpaqueMemory")) - return (void*) vkQueueBindSparseImageOpaqueMemory; - if (!strcmp(name, "QueueBindSparseImageMemory")) - return (void*) vkQueueBindSparseImageMemory; + if (!strcmp(name, "QueueBindSparse")) + return (void*) vkQueueBindSparse; if (!strcmp(name, "CreateFence")) return (void*) vkCreateFence; if (!strcmp(name, "DestroyFence")) diff --git a/loader/table_ops.h b/loader/table_ops.h index 6f135c7c..d4a167e7 100644 --- a/loader/table_ops.h +++ b/loader/table_ops.h @@ -55,9 +55,7 @@ static inline void loader_init_device_dispatch_table(VkLayerDispatchTable *table table->GetImageMemoryRequirements = (PFN_vkGetImageMemoryRequirements) gpa(dev, "vkGetImageMemoryRequirements"); table->BindBufferMemory = (PFN_vkBindBufferMemory) gpa(dev, "vkBindBufferMemory"); table->BindImageMemory = (PFN_vkBindImageMemory) gpa(dev, "vkBindImageMemory"); - table->QueueBindSparseBufferMemory = (PFN_vkQueueBindSparseBufferMemory) gpa(dev, "vkQueueBindSparseBufferMemory"); - table->QueueBindSparseImageMemory = (PFN_vkQueueBindSparseImageMemory) gpa(dev, "vkQueueBindSparseImageMemory"); - table->QueueBindSparseImageOpaqueMemory = (PFN_vkQueueBindSparseImageOpaqueMemory) gpa(dev, "vkQueueBindSparseImageOpaqueMemory"); + table->QueueBindSparse = (PFN_vkQueueBindSparse) gpa(dev, "vkQueueBindSparse"); table->CreateFence = (PFN_vkCreateFence) gpa(dev, "vkCreateFence"); table->DestroyFence = (PFN_vkDestroyFence) gpa(dev, "vkDestroyFence"); table->ResetFences = (PFN_vkResetFences) gpa(dev, "vkResetFences"); @@ -221,12 +219,8 @@ static inline void *loader_lookup_device_dispatch_table( return (void *) table->BindBufferMemory; if (!strcmp(name, "BindImageMemory")) return (void *) table->BindImageMemory; - if (!strcmp(name, "QueueBindSparseBufferMemory")) - return (void *) table->QueueBindSparseBufferMemory; - if (!strcmp(name, "QueueBindSparseImageMemory")) - return (void *) table->QueueBindSparseImageMemory; - if (!strcmp(name, "QueueBindSparseImageOpaqueMemory")) - return (void *) table->QueueBindSparseImageOpaqueMemory; + if (!strcmp(name, "QueueBindSparse")) + return (void *) table->QueueBindSparse; if (!strcmp(name, "CreateFence")) return (void *) table->CreateFence; if (!strcmp(name, "DestroyFence")) diff --git a/loader/trampoline.c b/loader/trampoline.c index 4613630f..ecf7f172 100644 --- a/loader/trampoline.c +++ b/loader/trampoline.c @@ -483,31 +483,13 @@ LOADER_EXPORT void VKAPI vkGetPhysicalDeviceSparseImageFormatProperties(VkPhysic disp->GetPhysicalDeviceSparseImageFormatProperties(physicalDevice, format, type, samples, usage, tiling, pPropertyCount, pProperties); } -LOADER_EXPORT VkResult VKAPI vkQueueBindSparseBufferMemory(VkQueue queue, VkBuffer buffer, uint32_t bindInfoCount, const VkSparseMemoryBindInfo* pBindInfo) +LOADER_EXPORT VkResult VKAPI vkQueueBindSparse(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence) { const VkLayerDispatchTable *disp; disp = loader_get_dispatch(queue); - return disp->QueueBindSparseBufferMemory(queue, buffer, bindInfoCount, pBindInfo); -} - -LOADER_EXPORT VkResult VKAPI vkQueueBindSparseImageOpaqueMemory(VkQueue queue, VkImage image, uint32_t bindInfoCount, const VkSparseMemoryBindInfo* pBindInfo) -{ - const VkLayerDispatchTable *disp; - - disp = loader_get_dispatch(queue); - - return disp->QueueBindSparseImageOpaqueMemory(queue, image, bindInfoCount, pBindInfo); -} - -LOADER_EXPORT VkResult VKAPI vkQueueBindSparseImageMemory(VkQueue queue, VkImage image, uint32_t bindInfoCount, const VkSparseImageMemoryBindInfo* pBindInfo) -{ - const VkLayerDispatchTable *disp; - - disp = loader_get_dispatch(queue); - - return disp->QueueBindSparseImageMemory(queue, image, bindInfoCount, pBindInfo); + return disp->QueueBindSparse(queue, bindInfoCount, pBindInfo, fence); } LOADER_EXPORT VkResult VKAPI vkCreateFence(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocCallbacks* pAllocator, VkFence* pFence) -- cgit v1.2.3