diff options
| author | Mark Lobodzinski <mark@lunarg.com> | 2017-02-15 13:58:23 -0700 |
|---|---|---|
| committer | Mark Lobodzinski <mark@lunarg.com> | 2017-02-16 13:40:19 -0700 |
| commit | b8387e8d8ab1d86d6c7830614e3f265e4f7153e2 (patch) | |
| tree | 20e895554e708672505a342ad007c587d183ef12 /layers/core_validation.cpp | |
| parent | e0d8f6d133d3ce72483d3cc6a31aa6adbb97cb23 (diff) | |
| download | usermoji-b8387e8d8ab1d86d6c7830614e3f265e4f7153e2.tar.xz | |
layers: Separate val/state updates in buff-img copy
Moved state updates out of precallvalidate routines into
precallrecord routines.
Change-Id: If13e8a14cabc2b63a53f5369c33b1e632b15ff3a
Diffstat (limited to 'layers/core_validation.cpp')
| -rw-r--r-- | layers/core_validation.cpp | 14 |
1 files changed, 10 insertions, 4 deletions
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, |
