diff options
| author | Mark Lobodzinski <mark@lunarg.com> | 2015-07-03 15:58:09 -0600 |
|---|---|---|
| committer | Courtney Goeltzenleuchter <courtney@LunarG.com> | 2015-07-08 17:17:40 -0600 |
| commit | 19bf53be9621007568b90ea99b5aa828aa502b4f (patch) | |
| tree | 457cba4f45c5f9ae362dd5ee546fe4e15533986e /layers/param_checker.cpp | |
| parent | dd6169d82d5bc0e1518687c8d0b1374911cf1f1c (diff) | |
| download | usermoji-19bf53be9621007568b90ea99b5aa828aa502b4f.tar.xz | |
vulkan.h: V136 -- Vulkan Sparse Resource Issues
Totally reworked sparse resources. This commit also incorporates the
changes for bug 14237.
Diffstat (limited to 'layers/param_checker.cpp')
| -rw-r--r-- | layers/param_checker.cpp | 52 |
1 files changed, 15 insertions, 37 deletions
diff --git a/layers/param_checker.cpp b/layers/param_checker.cpp index 8d53751e..1f55e38f 100644 --- a/layers/param_checker.cpp +++ b/layers/param_checker.cpp @@ -2888,10 +2888,8 @@ void PreQueueBindSparseBufferMemory( void PostQueueBindSparseBufferMemory( VkQueue queue, VkBuffer buffer, - VkDeviceSize rangeOffset, - VkDeviceSize rangeSize, - VkDeviceMemory mem, - VkDeviceSize memOffset, + uint32_t numBindings, + const VkSparseMemoryBindInfo* pBindInfo, VkResult result) { if(queue == nullptr) @@ -2908,16 +2906,6 @@ void PostQueueBindSparseBufferMemory( return; } - - - if(mem == nullptr) - { - log_msg(mdd(queue), VK_DBG_REPORT_WARN_BIT, (VkObjectType)0, NULL, 0, 1, "PARAMCHECK", - "vkQueueBindSparseBufferMemory parameter, VkDeviceMemory mem, is null pointer"); - return; - } - - if(result != VK_SUCCESS) { std::string reason = "vkQueueBindSparseBufferMemory parameter, VkResult result, is " + EnumeratorString(result); @@ -2927,24 +2915,22 @@ void PostQueueBindSparseBufferMemory( } VK_LAYER_EXPORT VkResult VKAPI vkQueueBindSparseBufferMemory( - VkQueue queue, - VkBuffer buffer, - VkDeviceSize rangeOffset, - VkDeviceSize rangeSize, - VkDeviceMemory mem, - VkDeviceSize memOffset) + VkQueue queue, + VkBuffer buffer, + uint32_t numBindings, + const VkSparseMemoryBindInfo* pBindInfo) { PreQueueBindSparseBufferMemory(queue); - VkResult result = get_dispatch_table(pc_device_table_map, queue)->QueueBindSparseBufferMemory(queue, buffer, rangeOffset, rangeSize, mem, memOffset); + VkResult result = get_dispatch_table(pc_device_table_map, queue)->QueueBindSparseBufferMemory(queue, buffer, numBindings, pBindInfo); - PostQueueBindSparseBufferMemory(queue, buffer, rangeOffset, rangeSize, mem, memOffset, result); + PostQueueBindSparseBufferMemory(queue, buffer, numBindings, pBindInfo, result); return result; } void PreQueueBindSparseImageMemory( VkQueue queue, - const VkImageMemoryBindInfo* pBindInfo) + const VkSparseImageMemoryBindInfo* pBindInfo) { if(queue == nullptr) { @@ -2959,13 +2945,6 @@ void PreQueueBindSparseImageMemory( "vkQueueBindSparseImageMemory parameter, const VkImageMemoryBindInfo* pBindInfo, is null pointer"); return; } - if(pBindInfo->subresource.aspect < VK_IMAGE_ASPECT_BEGIN_RANGE || - pBindInfo->subresource.aspect > VK_IMAGE_ASPECT_END_RANGE) - { - log_msg(mdd(queue), VK_DBG_REPORT_WARN_BIT, (VkObjectType)0, NULL, 0, 1, "PARAMCHECK", - "vkQueueBindSparseImageMemory parameter, VkImageAspect pBindInfo->subresource.aspect, is unrecognized enumerator"); - return; - } } void PostQueueBindSparseImageMemory( @@ -3006,16 +2985,15 @@ void PostQueueBindSparseImageMemory( } VK_LAYER_EXPORT VkResult VKAPI vkQueueBindSparseImageMemory( - VkQueue queue, - VkImage image, - const VkImageMemoryBindInfo* pBindInfo, - VkDeviceMemory mem, - VkDeviceSize memOffset) + VkQueue queue, + VkImage image, + uint32_t numBindings, + const VkSparseImageMemoryBindInfo* pBindInfo) { PreQueueBindSparseImageMemory(queue, pBindInfo); - VkResult result = get_dispatch_table(pc_device_table_map, queue)->QueueBindSparseImageMemory(queue, image, pBindInfo, mem, memOffset); + VkResult result = get_dispatch_table(pc_device_table_map, queue)->QueueBindSparseImageMemory(queue, image, numBindings, pBindInfo); - PostQueueBindSparseImageMemory(queue, image, mem, memOffset, result); + PostQueueBindSparseImageMemory(queue, image, pBindInfo->mem, pBindInfo->memOffset, result); return result; } |
