tests: Update multisample tests to be more cross platform
diff --git a/tests/layer_validation_tests.cpp b/tests/layer_validation_tests.cpp
index 44d6ae7..2404eb0 100644
--- a/tests/layer_validation_tests.cpp
+++ b/tests/layer_validation_tests.cpp
@@ -5065,14 +5065,16 @@
         image_create_info.arrayLayers = 1;
         image_create_info.samples = 2;
         image_create_info.tiling = VK_IMAGE_TILING_LINEAR;
-        image_create_info.usage = VK_IMAGE_USAGE_TRANSFER_SOURCE_BIT;
+        // Note: Some implementations expect color attachment usage for any multisample surface
+        image_create_info.usage = VK_IMAGE_USAGE_TRANSFER_SOURCE_BIT | VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT;
         image_create_info.flags = 0;
 
     err = vkCreateImage(m_device->device(), &image_create_info, &srcImage);
     ASSERT_VK_SUCCESS(err);
 
         image_create_info.imageType = VK_IMAGE_TYPE_1D;
-        image_create_info.usage = VK_IMAGE_USAGE_TRANSFER_DESTINATION_BIT;
+        // Note: Some implementations expect color attachment usage for any multisample surface
+        image_create_info.usage = VK_IMAGE_USAGE_TRANSFER_DESTINATION_BIT | VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT;
 
     err = vkCreateImage(m_device->device(), &image_create_info, &destImage);
     ASSERT_VK_SUCCESS(err);
@@ -5169,14 +5171,17 @@
         image_create_info.arrayLayers = 1;
         image_create_info.samples = 2;
         image_create_info.tiling = VK_IMAGE_TILING_LINEAR;
-        image_create_info.usage = VK_IMAGE_USAGE_TRANSFER_SOURCE_BIT;
+        // Note: Some implementations expect color attachment usage for any multisample surface
+        image_create_info.usage = VK_IMAGE_USAGE_TRANSFER_SOURCE_BIT | VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT;
         image_create_info.flags = 0;
 
     err = vkCreateImage(m_device->device(), &image_create_info, &srcImage);
     ASSERT_VK_SUCCESS(err);
 
-        image_create_info.format = VK_FORMAT_B8G8R8_SRGB;
-        image_create_info.usage = VK_IMAGE_USAGE_TRANSFER_DESTINATION_BIT;
+        // Set format to something other than source image
+        image_create_info.format = VK_FORMAT_R32_SFLOAT;
+        // Note: Some implementations expect color attachment usage for any multisample surface
+        image_create_info.usage = VK_IMAGE_USAGE_TRANSFER_DESTINATION_BIT | VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT;
         image_create_info.samples = 1;
 
     err = vkCreateImage(m_device->device(), &image_create_info, &destImage);
@@ -5274,14 +5279,16 @@
         image_create_info.arrayLayers = 1;
         image_create_info.samples = 2;
         image_create_info.tiling = VK_IMAGE_TILING_LINEAR;
-        image_create_info.usage = VK_IMAGE_USAGE_TRANSFER_SOURCE_BIT;
+        // Note: Some implementations expect color attachment usage for any multisample surface
+        image_create_info.usage = VK_IMAGE_USAGE_TRANSFER_SOURCE_BIT | VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT;
         image_create_info.flags = 0;
 
     err = vkCreateImage(m_device->device(), &image_create_info, &srcImage);
     ASSERT_VK_SUCCESS(err);
 
         image_create_info.imageType = VK_IMAGE_TYPE_1D;
-        image_create_info.usage = VK_IMAGE_USAGE_TRANSFER_DESTINATION_BIT;
+        // Note: Some implementations expect color attachment usage for any multisample surface
+        image_create_info.usage = VK_IMAGE_USAGE_TRANSFER_DESTINATION_BIT | VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT;
         image_create_info.samples = 1;
 
     err = vkCreateImage(m_device->device(), &image_create_info, &destImage);