layers: Add missing initial image layout state tracking
Add initial image layout state tracking to path it was missing.
Resolves CTS assert. Refactor initial layout state setup to utility
function.
Change-Id: I016a558ef8af0c8b7854bc436ce4148954178247
diff --git a/layers/buffer_validation.cpp b/layers/buffer_validation.cpp
index de59f05..44cf7f8 100644
--- a/layers/buffer_validation.cpp
+++ b/layers/buffer_validation.cpp
@@ -292,7 +292,7 @@
VkImageLayout expected_layout) {
auto *subresource_map = GetImageSubresourceLayoutMap(cb_node, image_state);
assert(subresource_map); // the non-const getter must return a valid pointer
- if (subresource_map->SetSubresourceRangeLayout(image_subresource_range, layout, expected_layout)) {
+ if (subresource_map->SetSubresourceRangeLayout(*cb_node, image_subresource_range, layout, expected_layout)) {
cb_node->image_layout_change_count++; // Change the version of this data to force revalidation
}
}
@@ -302,7 +302,7 @@
IMAGE_STATE *image_state = GetImageState(view_state.create_info.image);
if (image_state) {
auto *subresource_map = GetImageSubresourceLayoutMap(cb_node, *image_state);
- subresource_map->SetSubresourceRangeInitialLayout(view_state.normalized_subresource_range, layout, *cb_node, &view_state);
+ subresource_map->SetSubresourceRangeInitialLayout(*cb_node, view_state.normalized_subresource_range, layout, &view_state);
}
}
@@ -311,7 +311,7 @@
const VkImageSubresourceRange &range, VkImageLayout layout) {
auto *subresource_map = GetImageSubresourceLayoutMap(cb_node, image_state);
assert(subresource_map);
- subresource_map->SetSubresourceRangeInitialLayout(NormalizeSubresourceRange(image_state, range), layout, *cb_node);
+ subresource_map->SetSubresourceRangeInitialLayout(*cb_node, NormalizeSubresourceRange(image_state, range), layout);
}
void CoreChecks::SetImageInitialLayout(CMD_BUFFER_STATE *cb_node, VkImage image, const VkImageSubresourceRange &range,