From b8387e8d8ab1d86d6c7830614e3f265e4f7153e2 Mon Sep 17 00:00:00 2001 From: Mark Lobodzinski Date: Wed, 15 Feb 2017 13:58:23 -0700 Subject: layers: Separate val/state updates in buff-img copy Moved state updates out of precallvalidate routines into precallrecord routines. Change-Id: If13e8a14cabc2b63a53f5369c33b1e632b15ff3a --- layers/core_validation.cpp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'layers/core_validation.cpp') diff --git a/layers/core_validation.cpp b/layers/core_validation.cpp index 96f36280..1d74ceb4 100644 --- a/layers/core_validation.cpp +++ b/layers/core_validation.cpp @@ -7732,12 +7732,15 @@ VKAPI_ATTR void VKAPI_CALL CmdCopyBufferToImage(VkCommandBuffer commandBuffer, V skip_call = PreCallValidateCmdCopyBufferToImage(dev_data, dstImageLayout, cb_node, src_buff_state, dst_image_state, regionCount, pRegions, "vkCmdCopyBufferToImage()"); } else { + lock.unlock(); assert(0); // TODO: report VU01244 here, or put in object tracker? } - lock.unlock(); - if (!skip_call) + if (!skip_call) { + PreCallRecordCmdCopyBufferToImage(dev_data, cb_node, src_buff_state, dst_image_state); + lock.unlock(); dev_data->dispatch_table.CmdCopyBufferToImage(commandBuffer, srcBuffer, dstImage, dstImageLayout, regionCount, pRegions); + } } VKAPI_ATTR void VKAPI_CALL CmdCopyImageToBuffer(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, @@ -7753,12 +7756,15 @@ VKAPI_ATTR void VKAPI_CALL CmdCopyImageToBuffer(VkCommandBuffer commandBuffer, V skip_call = PreCallValidateCmdCopyImageToBuffer(dev_data, srcImageLayout, cb_node, src_image_state, dst_buff_state, regionCount, pRegions, "vkCmdCopyImageToBuffer()"); } else { + lock.unlock(); assert(0); // TODO: report VU01262 here, or put in object tracker? } - lock.unlock(); - if (!skip_call) + if (!skip_call) { + PreCallRecordCmdCopyImageToBuffer(dev_data, cb_node, src_image_state, dst_buff_state); + lock.unlock(); dev_data->dispatch_table.CmdCopyImageToBuffer(commandBuffer, srcImage, srcImageLayout, dstBuffer, regionCount, pRegions); + } } VKAPI_ATTR void VKAPI_CALL CmdUpdateBuffer(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, -- cgit v1.2.3