tests: Use correct usage bits for images
diff --git a/tests/blit_tests.cpp b/tests/blit_tests.cpp
index a4becd1..dbf5556 100644
--- a/tests/blit_tests.cpp
+++ b/tests/blit_tests.cpp
@@ -972,7 +972,8 @@
img_info.extent.width = 64;
img_info.extent.height = 64;
img_info.tiling = it->tiling;
- img_info.usage = VK_IMAGE_USAGE_TRANSFER_DESTINATION_BIT;
+ img_info.usage = VK_IMAGE_USAGE_TRANSFER_DESTINATION_BIT |
+ VK_IMAGE_USAGE_TRANSFER_SOURCE_BIT;
test_copy_memory_to_image(img_info);
}
@@ -1042,7 +1043,8 @@
img_info.extent.width = 64;
img_info.extent.height = 64;
img_info.tiling = it->tiling;
- img_info.usage = VK_IMAGE_USAGE_TRANSFER_SOURCE_BIT;
+ img_info.usage = VK_IMAGE_USAGE_TRANSFER_SOURCE_BIT |
+ VK_IMAGE_USAGE_TRANSFER_DESTINATION_BIT; // Going to fill it before copy
test_copy_image_to_memory(img_info);
}
@@ -1290,7 +1292,8 @@
img_info.extent.width = 64;
img_info.extent.height = 64;
img_info.tiling = it->tiling;
- img_info.usage = VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT;
+ img_info.usage = VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT |
+ VK_IMAGE_USAGE_TRANSFER_SOURCE_BIT; // Going to check contents
const VkImageSubresourceRange range =
vk_testing::Image::subresource_range(img_info, VK_IMAGE_ASPECT_COLOR);
diff --git a/tests/vkrenderframework.cpp b/tests/vkrenderframework.cpp
index 7eb5856..c079045 100644
--- a/tests/vkrenderframework.cpp
+++ b/tests/vkrenderframework.cpp
@@ -319,11 +319,13 @@
if (props.linearTilingFeatures & VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT) {
img->init((uint32_t)m_width, (uint32_t)m_height, m_render_target_fmt,
- VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT, VK_IMAGE_TILING_LINEAR);
+ VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT | VK_IMAGE_USAGE_TRANSFER_SOURCE_BIT,
+ VK_IMAGE_TILING_LINEAR);
}
else if (props.optimalTilingFeatures & VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT) {
img->init((uint32_t)m_width, (uint32_t)m_height, m_render_target_fmt,
- VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT, VK_IMAGE_TILING_OPTIMAL);
+ VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT | VK_IMAGE_USAGE_TRANSFER_SOURCE_BIT,
+ VK_IMAGE_TILING_OPTIMAL);
}
else {
FAIL() << "Neither Linear nor Optimal allowed for render target";
@@ -789,7 +791,7 @@
VkImageObj stagingImage(device);
VkMemoryPropertyFlags reqs = VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT;
- stagingImage.init(16, 16, tex_format, VK_IMAGE_USAGE_SAMPLED_BIT, VK_IMAGE_TILING_LINEAR, reqs);
+ stagingImage.init(16, 16, tex_format, VK_IMAGE_USAGE_TRANSFER_DESTINATION_BIT | VK_IMAGE_USAGE_TRANSFER_SOURCE_BIT, VK_IMAGE_TILING_LINEAR, reqs);
VkSubresourceLayout layout = stagingImage.subresource_layout(subresource(VK_IMAGE_ASPECT_COLOR, 0, 0));
if (colors == NULL)
@@ -814,7 +816,7 @@
view.subresourceRange.arraySize = 1;
/* create image */
- init(16, 16, tex_format, VK_IMAGE_USAGE_SAMPLED_BIT, VK_IMAGE_TILING_OPTIMAL);
+ init(16, 16, tex_format, VK_IMAGE_USAGE_SAMPLED_BIT | VK_IMAGE_USAGE_TRANSFER_DESTINATION_BIT, VK_IMAGE_TILING_OPTIMAL);
/* create image view */
view.image = handle();
diff --git a/tests/vktestframework.cpp b/tests/vktestframework.cpp
index 3ea9bdf..b1af377 100644
--- a/tests/vktestframework.cpp
+++ b/tests/vktestframework.cpp
@@ -251,7 +251,7 @@
VkImageObj displayImage(image->device());
VkMemoryPropertyFlags reqs = VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT;
- displayImage.init(image->extent().width, image->extent().height, image->format(), 0, VK_IMAGE_TILING_LINEAR, reqs);
+ displayImage.init(image->extent().width, image->extent().height, image->format(), VK_IMAGE_USAGE_TRANSFER_DESTINATION_BIT, VK_IMAGE_TILING_LINEAR, reqs);
displayImage.CopyImage(*image);
filename.append(basename);