layers: Move image validation support to buffer_val
Moved the new CmdClear[Color/DepthStencil]Image support routines
to the buffer_validation module, along with some related helper
functions.
Change-Id: I76a4b545e696bbc770ef0c672d14c92e4a941e49
diff --git a/layers/buffer_validation.h b/layers/buffer_validation.h
index 653057a..acdc8f1 100644
--- a/layers/buffer_validation.h
+++ b/layers/buffer_validation.h
@@ -42,4 +42,26 @@
bool ValidateImageAttributes(core_validation::layer_data *device_data, IMAGE_STATE *image_state, VkImageSubresourceRange range);
+void ResolveRemainingLevelsLayers(core_validation::layer_data *dev_data, VkImageSubresourceRange *range, VkImage image);
+
+void ResolveRemainingLevelsLayers(core_validation::layer_data *dev_data, uint32_t *levels, uint32_t *layers,
+ VkImageSubresourceRange range, VkImage image);
+
+bool VerifyClearImageLayout(core_validation::layer_data *device_data, GLOBAL_CB_NODE *cb_node, VkImage image,
+ VkImageSubresourceRange range, VkImageLayout dest_image_layout, const char *func_name);
+
+void RecordClearImageLayout(core_validation::layer_data *dev_data, GLOBAL_CB_NODE *cb_node, VkImage image,
+ VkImageSubresourceRange range, VkImageLayout dest_image_layout);
+
+bool PreCallValidateCmdClearColorImage(core_validation::layer_data *dev_data, VkCommandBuffer commandBuffer, VkImage image,
+ VkImageLayout imageLayout, uint32_t rangeCount, const VkImageSubresourceRange *pRanges);
+
+void PreCallRecordCmdClearImage(core_validation::layer_data *dev_data, VkCommandBuffer commandBuffer, VkImage image,
+ VkImageLayout imageLayout, uint32_t rangeCount, const VkImageSubresourceRange *pRanges,
+ CMD_TYPE cmd_type);
+
+bool PreCallValidateCmdClearDepthStencilImage(core_validation::layer_data *dev_data, VkCommandBuffer commandBuffer, VkImage image,
+ VkImageLayout imageLayout, uint32_t rangeCount,
+ const VkImageSubresourceRange *pRanges);
+
#endif // CORE_VALIDATION_BUFFER_VALIDATION_H_