From 19bf53be9621007568b90ea99b5aa828aa502b4f Mon Sep 17 00:00:00 2001 From: Mark Lobodzinski Date: Fri, 3 Jul 2015 15:58:09 -0600 Subject: vulkan.h: V136 -- Vulkan Sparse Resource Issues Totally reworked sparse resources. This commit also incorporates the changes for bug 14237. --- layers/param_checker.cpp | 52 ++++++++++++++---------------------------------- 1 file changed, 15 insertions(+), 37 deletions(-) (limited to 'layers/param_checker.cpp') 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; } -- cgit v1.2.3