tests: Use general layout for blit tests
Conflicts:
tests/blit_tests.cpp
diff --git a/tests/blit_tests.cpp b/tests/blit_tests.cpp
index d2531b8..95b9c33 100644
--- a/tests/blit_tests.cpp
+++ b/tests/blit_tests.cpp
@@ -870,7 +870,7 @@
// copy in and tile
cmd_.begin();
vkCmdCopyBufferToImage(cmd_.handle(), in_buf.handle(),
- img.handle(), VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL,
+ img.handle(), VK_IMAGE_LAYOUT_GENERAL,
checker.regions().size(), &checker.regions()[0]);
cmd_.end();
@@ -893,7 +893,7 @@
// copy out and linearize
cmd_.begin();
vkCmdCopyImageToBuffer(cmd_.handle(),
- img.handle(), VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL,
+ img.handle(), VK_IMAGE_LAYOUT_GENERAL,
out_buf.handle(),
checker.regions().size(), &checker.regions()[0]);
cmd_.end();
@@ -933,7 +933,7 @@
cmd_.begin();
vkCmdCopyBufferToImage(cmd_.handle(),
buf.handle(),
- img.handle(), VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL,
+ img.handle(), VK_IMAGE_LAYOUT_GENERAL,
checker.regions().size(), &checker.regions()[0]);
cmd_.end();
@@ -974,6 +974,7 @@
img_info.tiling = it->tiling;
img_info.usage = VK_IMAGE_USAGE_TRANSFER_DST_BIT |
VK_IMAGE_USAGE_TRANSFER_SRC_BIT;
+ img_info.initialLayout = VK_IMAGE_LAYOUT_GENERAL;
test_copy_memory_to_image(img_info);
}
@@ -1003,7 +1004,7 @@
cmd_.begin();
vkCmdCopyImageToBuffer(cmd_.handle(),
- img.handle(), VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL,
+ img.handle(), VK_IMAGE_LAYOUT_GENERAL,
buf.handle(),
checker.regions().size(), &checker.regions()[0]);
cmd_.end();
@@ -1045,6 +1046,7 @@
img_info.tiling = it->tiling;
img_info.usage = VK_IMAGE_USAGE_TRANSFER_SRC_BIT |
VK_IMAGE_USAGE_TRANSFER_DST_BIT; // Going to fill it before copy
+ img_info.initialLayout = VK_IMAGE_LAYOUT_GENERAL;
test_copy_image_to_memory(img_info);
}
@@ -1103,8 +1105,8 @@
cmd_.begin();
vkCmdCopyImage(cmd_.handle(),
- src.handle(), VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL,
- dst.handle(), VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL,
+ src.handle(), VK_IMAGE_LAYOUT_GENERAL,
+ dst.handle(), VK_IMAGE_LAYOUT_GENERAL,
copies.size(), &copies[0]);
cmd_.end();
@@ -1132,6 +1134,7 @@
img_info.extent.height = 64;
img_info.tiling = it->tiling;
img_info.usage = VK_IMAGE_USAGE_TRANSFER_SRC_BIT | VK_IMAGE_USAGE_TRANSFER_DST_BIT;
+ img_info.initialLayout = VK_IMAGE_LAYOUT_GENERAL;
VkImageCopy copy = {};
copy.srcSubresource = vk_testing::Image::subresource(VK_IMAGE_ASPECT_COLOR_BIT, 0, 0, 1);
@@ -1225,7 +1228,7 @@
p_to_clear.push_back(&to_clear.back());
to_xfer.push_back(img.image_memory_barrier(all_cache_outputs, all_cache_inputs,
VK_IMAGE_LAYOUT_GENERAL,
- VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL, *it));
+ VK_IMAGE_LAYOUT_GENERAL, *it));
p_to_xfer.push_back(&to_xfer.back());
}
@@ -1290,6 +1293,7 @@
img_info.extent.width = 64;
img_info.extent.height = 64;
img_info.tiling = it->tiling;
+ img_info.initialLayout = VK_IMAGE_LAYOUT_GENERAL;
img_info.usage = VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT |
VK_IMAGE_USAGE_TRANSFER_SRC_BIT; // Going to check contents
@@ -1405,7 +1409,7 @@
to_xfer.push_back(img.image_memory_barrier(all_cache_outputs, all_cache_inputs,
VK_IMAGE_LAYOUT_GENERAL,
- VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL, *it));
+ VK_IMAGE_LAYOUT_GENERAL, *it));
}
for (std::vector<VkImageSubresourceRange>::const_iterator it = ranges.begin();
it != ranges.end(); it++) {
@@ -1425,7 +1429,7 @@
stencil
};
vkCmdClearDepthStencilImage(cmd_.handle(),
- img.handle(), VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL,
+ img.handle(), VK_IMAGE_LAYOUT_GENERAL,
&clear_value,
ranges.size(), &ranges[0]);
@@ -1474,19 +1478,18 @@
img_info.extent.height = 64;
img_info.tiling = it->tiling;
img_info.usage = VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT;
-
- const VkImageSubresourceRange range =
- vk_testing::Image::subresource_range(img_info, VK_IMAGE_ASPECT_DEPTH_BIT);
- std::vector<VkImageSubresourceRange> ranges(&range, &range + 1);
+ img_info.initialLayout = VK_IMAGE_LAYOUT_GENERAL;
+ VkImageAspectFlags aspect = VK_IMAGE_ASPECT_DEPTH_BIT;
if (it->format == VK_FORMAT_D32_SFLOAT_S8_UINT ||
it->format == VK_FORMAT_D16_UNORM_S8_UINT ||
it->format == VK_FORMAT_D24_UNORM_S8_UINT) {
- const VkImageSubresourceRange range2 =
- vk_testing::Image::subresource_range(img_info, VK_IMAGE_ASPECT_STENCIL_BIT);
- ranges.push_back(range2);
- }
+ aspect |= VK_IMAGE_ASPECT_STENCIL_BIT;
+ }
+ const VkImageSubresourceRange range =
+ vk_testing::Image::subresource_range(img_info, aspect);
+ std::vector<VkImageSubresourceRange> ranges(&range, &range + 1);
test_clear_depth_stencil(img_info, 0.25f, 63, ranges);
}