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);
     }