layers: Refactor CmdCopyImage for pre/post
Refactored this API and moved routines to buffer validation module.
Also moved several related helper routines.
Change-Id: I5859c3413290c81983f7e1b30ddb75928448fb20
diff --git a/layers/buffer_validation.h b/layers/buffer_validation.h
index a5abd35..6c2398b 100644
--- a/layers/buffer_validation.h
+++ b/layers/buffer_validation.h
@@ -109,7 +109,8 @@
FRAMEBUFFER_STATE *framebuffer_state);
bool PreCallValidateCmdCopyImage(layer_data *device_data, GLOBAL_CB_NODE *cb_node, IMAGE_STATE *src_image_state,
- IMAGE_STATE *dst_image_state, uint32_t region_count, const VkImageCopy *regions);
+ IMAGE_STATE *dst_image_state, uint32_t region_count, const VkImageCopy *regions,
+ VkImageLayout src_image_layout, VkImageLayout dst_image_layout);
bool PreCallValidateCmdClearAttachments(layer_data *device_data, VkCommandBuffer commandBuffer, uint32_t attachmentCount,
const VkClearAttachment *pAttachments, uint32_t rectCount, const VkClearRect *pRects);
@@ -163,4 +164,11 @@
void PostCallRecordCreateImageView(layer_data *device_data, const VkImageViewCreateInfo *create_info, VkImageView view);
+bool ValidateCopyBufferImageTransferGranularityRequirements(layer_data *device_data, const GLOBAL_CB_NODE *cb_node,
+ const IMAGE_STATE *img, const VkBufferImageCopy *region,
+ const uint32_t i, const char *function);
+
+void PreCallRecordCmdCopyImage(layer_data *device_data, GLOBAL_CB_NODE *cb_node, IMAGE_STATE *src_image_state,
+ IMAGE_STATE *dst_image_state);
+
#endif // CORE_VALIDATION_BUFFER_VALIDATION_H_