diff options
| author | Chia-I Wu <olv@lunarg.com> | 2015-10-26 16:55:27 +0800 |
|---|---|---|
| committer | Courtney Goeltzenleuchter <courtney@LunarG.com> | 2015-11-02 14:12:19 -0700 |
| commit | 25e69b09b5a95e668165313a69c86ea6af8aee61 (patch) | |
| tree | daea26dbc070cbb91a3e5f10ed34eb319ed88142 /layers/param_checker.cpp | |
| parent | 915f84a9f5657ee8d017f8f0489aafcfe00681cf (diff) | |
| download | usermoji-25e69b09b5a95e668165313a69c86ea6af8aee61.tar.xz | |
bug 14848: Verifying Sparse Behavior (WIP)
Merge vkQueueBindSparse*() to one.
https://cvs.khronos.org/bugzilla/show_bug.cgi?id=14848
Diffstat (limited to 'layers/param_checker.cpp')
| -rw-r--r-- | layers/param_checker.cpp | 125 |
1 files changed, 15 insertions, 110 deletions
diff --git a/layers/param_checker.cpp b/layers/param_checker.cpp index d407c160..2849efbe 100644 --- a/layers/param_checker.cpp +++ b/layers/param_checker.cpp @@ -2693,9 +2693,10 @@ VK_LAYER_EXPORT void VKAPI vkGetPhysicalDeviceSparseImageFormatProperties( PostGetPhysicalDeviceSparseImageFormatProperties(physicalDevice, format, type, samples, usage, tiling, pNumProperties, pProperties); } -bool PreQueueBindSparseBufferMemory( +bool PreQueueBindSparse( VkQueue queue, - const VkSparseMemoryBindInfo* pBindInfo) + uint32_t bindInfoCount, + const VkBindSparseInfo* pBindInfo) { if(pBindInfo != nullptr) { @@ -2704,107 +2705,11 @@ bool PreQueueBindSparseBufferMemory( return true; } -bool PostQueueBindSparseBufferMemory( +bool PostQueueBindSparse( VkQueue queue, - VkBuffer buffer, - uint32_t numBindings, - VkResult result) -{ - - - - if(result < VK_SUCCESS) - { - std::string reason = "vkQueueBindSparseBufferMemory parameter, VkResult result, is " + EnumeratorString(result); - log_msg(mdd(queue), VK_DBG_REPORT_ERROR_BIT, (VkDbgObjectType)0, 0, 0, 1, "PARAMCHECK", reason.c_str()); - return false; - } - - return true; -} - -VK_LAYER_EXPORT VkResult VKAPI vkQueueBindSparseBufferMemory( - VkQueue queue, - VkBuffer buffer, - uint32_t numBindings, - const VkSparseMemoryBindInfo* pBindInfo) -{ - PreQueueBindSparseBufferMemory(queue, pBindInfo); - - VkResult result = get_dispatch_table(pc_device_table_map, queue)->QueueBindSparseBufferMemory(queue, buffer, numBindings, pBindInfo); - - PostQueueBindSparseBufferMemory(queue, buffer, numBindings, result); - - return result; -} - -bool PreQueueBindSparseImageOpaqueMemory( - VkQueue queue, - const VkSparseMemoryBindInfo* pBindInfo) -{ - if(pBindInfo != nullptr) - { - } - - return true; -} - -bool PostQueueBindSparseImageOpaqueMemory( - VkQueue queue, - VkImage image, - uint32_t numBindings, - VkResult result) -{ - - - - if(result < VK_SUCCESS) - { - std::string reason = "vkQueueBindSparseImageOpaqueMemory parameter, VkResult result, is " + EnumeratorString(result); - log_msg(mdd(queue), VK_DBG_REPORT_ERROR_BIT, (VkDbgObjectType)0, 0, 0, 1, "PARAMCHECK", reason.c_str()); - return false; - } - - return true; -} - -VK_LAYER_EXPORT VkResult VKAPI vkQueueBindSparseImageOpaqueMemory( - VkQueue queue, - VkImage image, - uint32_t numBindings, - const VkSparseMemoryBindInfo* pBindInfo) -{ - PreQueueBindSparseImageOpaqueMemory(queue, pBindInfo); - - VkResult result = get_dispatch_table(pc_device_table_map, queue)->QueueBindSparseImageOpaqueMemory(queue, image, numBindings, pBindInfo); - - PostQueueBindSparseImageOpaqueMemory(queue, image, numBindings, result); - - return result; -} - -bool PreQueueBindSparseImageMemory( - VkQueue queue, - const VkSparseImageMemoryBindInfo* pBindInfo) -{ - if(pBindInfo != nullptr) - { - if ((pBindInfo->subresource.aspect & - (VK_IMAGE_ASPECT_COLOR_BIT | VK_IMAGE_ASPECT_DEPTH_BIT | VK_IMAGE_ASPECT_STENCIL_BIT | VK_IMAGE_ASPECT_METADATA_BIT)) == 0) - { - log_msg(mdd(queue), VK_DBG_REPORT_ERROR_BIT, (VkDbgObjectType)0, 0, 0, 1, "PARAMCHECK", - "vkQueueBindSparseImageMemory parameter, VkImageAspect pBindInfo->subresource.aspect, is an unrecognized enumerator"); - return false; - } - } - - return true; -} - -bool PostQueueBindSparseImageMemory( - VkQueue queue, - VkImage image, - uint32_t numBindings, + uint32_t bindInfoCount, + const VkBindSparseInfo* pBindInfo, + VkFence fence, VkResult result) { @@ -2812,7 +2717,7 @@ bool PostQueueBindSparseImageMemory( if(result < VK_SUCCESS) { - std::string reason = "vkQueueBindSparseImageMemory parameter, VkResult result, is " + EnumeratorString(result); + std::string reason = "vkQueueBindSparse parameter, VkResult result, is " + EnumeratorString(result); log_msg(mdd(queue), VK_DBG_REPORT_ERROR_BIT, (VkDbgObjectType)0, 0, 0, 1, "PARAMCHECK", reason.c_str()); return false; } @@ -2820,17 +2725,17 @@ bool PostQueueBindSparseImageMemory( return true; } -VK_LAYER_EXPORT VkResult VKAPI vkQueueBindSparseImageMemory( +VK_LAYER_EXPORT VkResult VKAPI vkQueueBindSparse( VkQueue queue, - VkImage image, - uint32_t numBindings, - const VkSparseImageMemoryBindInfo* pBindInfo) + uint32_t bindInfoCount, + const VkBindSparseInfo* pBindInfo, + VkFence fence) { - PreQueueBindSparseImageMemory(queue, pBindInfo); + PreQueueBindSparse(queue, bindInfoCount, pBindInfo); - VkResult result = get_dispatch_table(pc_device_table_map, queue)->QueueBindSparseImageMemory(queue, image, numBindings, pBindInfo); + VkResult result = get_dispatch_table(pc_device_table_map, queue)->QueueBindSparse(queue, bindInfoCount, pBindInfo, fence); - PostQueueBindSparseImageMemory(queue, image, numBindings, result); + PostQueueBindSparse(queue, bindInfoCount, pBindInfo, fence, result); return result; } |
