aboutsummaryrefslogtreecommitdiff
path: root/layers/core_validation.cpp
diff options
context:
space:
mode:
authorMark Lobodzinski <mark@lunarg.com>2017-02-15 13:58:23 -0700
committerMark Lobodzinski <mark@lunarg.com>2017-02-16 13:40:19 -0700
commitb8387e8d8ab1d86d6c7830614e3f265e4f7153e2 (patch)
tree20e895554e708672505a342ad007c587d183ef12 /layers/core_validation.cpp
parente0d8f6d133d3ce72483d3cc6a31aa6adbb97cb23 (diff)
downloadusermoji-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.cpp14
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,