tests: On init, specify if buffer is src or dst
diff --git a/tests/blit_tests.cpp b/tests/blit_tests.cpp
index 04d5969..9c301ec 100644
--- a/tests/blit_tests.cpp
+++ b/tests/blit_tests.cpp
@@ -545,7 +545,7 @@
vk_testing::Buffer buf;
VkMemoryPropertyFlags reqs = VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT;
- buf.init(dev_, 20, reqs);
+ buf.init_as_dst(dev_, 20, reqs);
cmd_.begin();
vkCmdFillBuffer(cmd_.obj(), buf.obj(), 0, 4, 0x11111111);
@@ -569,7 +569,7 @@
vk_testing::Buffer buf;
VkMemoryPropertyFlags reqs = VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT;
- buf.init(dev_, size, reqs);
+ buf.init_as_dst(dev_, size, reqs);
cmd_.begin();
vkCmdFillBuffer(cmd_.obj(), buf.obj(), 0, size / 2, 0x11111111);
@@ -592,7 +592,7 @@
vk_testing::Buffer buf;
VkMemoryPropertyFlags reqs = VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT;
- buf.init(dev_, 64, reqs);
+ buf.init_as_dst(dev_, 64, reqs);
cmd_.begin();
vkCmdFillBuffer(cmd_.obj(), buf.obj(), 0, 48, 0x11111111);
@@ -618,7 +618,8 @@
cmd_.begin();
for (int i = 0; i < ARRAY_SIZE(bufs); i++) {
- bufs[i].init(dev_, size, reqs);
+
+ bufs[i].init_as_dst(dev_, size, reqs);
vkCmdFillBuffer(cmd_.obj(), bufs[i].obj(), 0, size, 0x11111111);
size <<= 1;
}
@@ -646,12 +647,12 @@
vk_testing::Buffer src, dst;
VkMemoryPropertyFlags reqs = VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT;
- src.init(dev_, 4, reqs);
+ src.init_as_src(dev_, 4, reqs);
uint32_t *data = static_cast<uint32_t *>(src.map());
data[0] = 0x11111111;
src.unmap();
- dst.init(dev_, 4, reqs);
+ dst.init_as_dst(dev_, 4, reqs);
cmd_.begin();
VkBufferCopy region = {};
@@ -672,14 +673,14 @@
vk_testing::Buffer src, dst;
VkMemoryPropertyFlags reqs = VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT;
- src.init(dev_, size, reqs);
+ src.init_as_src(dev_, size, reqs);
uint32_t *data = static_cast<uint32_t *>(src.map());
VkDeviceSize offset;
for (offset = 0; offset < size; offset += 4)
data[offset / 4] = offset;
src.unmap();
- dst.init(dev_, size, reqs);
+ dst.init_as_dst(dev_, size, reqs);
cmd_.begin();
VkBufferCopy region = {};
@@ -716,13 +717,13 @@
vk_testing::Buffer src, dst;
VkMemoryPropertyFlags reqs = VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT;
- src.init(dev_, 256, reqs);
+ src.init_as_src(dev_, 256, reqs);
uint8_t *data = static_cast<uint8_t *>(src.map());
for (int i = 0; i < 256; i++)
data[i] = i;
src.unmap();
- dst.init(dev_, 1024, reqs);
+ dst.init_as_dst(dev_, 1024, reqs);
cmd_.begin();
vkCmdCopyBuffer(cmd_.obj(), src.obj(), dst.obj(), ARRAY_SIZE(regions), regions);
@@ -790,7 +791,7 @@
ASSERT_VK_SUCCESS(err);
for (int i = 0; i < ARRAY_SIZE(bufs); i++) {
- bufs[i].init(dev_, 4, reqs);
+ bufs[i].init_as_src_and_dst(dev_, 4, reqs);
uint32_t *data = static_cast<uint32_t *>(bufs[i].map());
data[0] = 0x22222222 * (i + 1);
@@ -889,7 +890,7 @@
vk_testing::Buffer in_buf;
VkMemoryPropertyFlags reqs = VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT;
- in_buf.init(dev_, checker.buffer_size(), reqs);
+ in_buf.init_as_src(dev_, checker.buffer_size(), reqs);
checker.fill(in_buf);
// copy in and tile
@@ -913,7 +914,7 @@
vk_testing::Buffer out_buf;
VkMemoryPropertyFlags reqs = VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT;
- out_buf.init(dev_, checker.buffer_size(), reqs);
+ out_buf.init_as_dst(dev_, checker.buffer_size(), reqs);
// copy out and linearize
cmd_.begin();
@@ -950,7 +951,7 @@
VkMemoryPropertyFlags image_reqs =
(img_info.tiling == VK_IMAGE_TILING_LINEAR)?VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT:0;
- buf.init(dev_, checker.buffer_size(), buffer_reqs);
+ buf.init_as_src(dev_, checker.buffer_size(), buffer_reqs);
checker.fill(buf);
img.init(dev_, img_info, image_reqs);
@@ -1023,7 +1024,7 @@
img.init(dev_, img_info, image_reqs);
fill_src(img, checker);
- buf.init(dev_, checker.buffer_size(), buffer_reqs);
+ buf.init_as_dst(dev_, checker.buffer_size(), buffer_reqs);
cmd_.begin();
vkCmdCopyImageToBuffer(cmd_.obj(),
diff --git a/tests/vkrenderframework.cpp b/tests/vkrenderframework.cpp
index d6b7ab5..32642fb 100644
--- a/tests/vkrenderframework.cpp
+++ b/tests/vkrenderframework.cpp
@@ -861,7 +861,7 @@
VkMemoryPropertyFlags reqs = VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT;
const size_t allocationSize = constantCount * constantSize;
- init(*m_device, allocationSize, reqs);
+ init_as_src_and_dst(*m_device, allocationSize, reqs);
void *pData = map();
memcpy(pData, data, allocationSize);
@@ -976,7 +976,7 @@
const size_t allocationSize = numIndexes * m_stride;
VkMemoryPropertyFlags reqs = VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT;
- init(*m_device, allocationSize, reqs);
+ init_as_src_and_dst(*m_device, allocationSize, reqs);
void *pData = map();
memcpy(pData, data, allocationSize);
diff --git a/tests/vktestbinding.h b/tests/vktestbinding.h
index dd9de33..18fe4f0 100644
--- a/tests/vktestbinding.h
+++ b/tests/vktestbinding.h
@@ -374,7 +374,9 @@
// vkCreateBuffer()
void init(const Device &dev, const VkBufferCreateInfo &info);
void init(const Device &dev, VkDeviceSize size) { init(dev, create_info(size, 0)); }
- void init(const Device &dev, VkDeviceSize size, VkMemoryPropertyFlags &reqs) { init(dev, create_info(size, VK_BUFFER_USAGE_TRANSFER_SOURCE_BIT), reqs); }
+ void init_as_src(const Device &dev, VkDeviceSize size, VkMemoryPropertyFlags &reqs) { init(dev, create_info(size, VK_BUFFER_USAGE_TRANSFER_SOURCE_BIT), reqs); }
+ void init_as_dst(const Device &dev, VkDeviceSize size, VkMemoryPropertyFlags &reqs) { init(dev, create_info(size, VK_BUFFER_USAGE_TRANSFER_DESTINATION_BIT), reqs); }
+ void init_as_src_and_dst(const Device &dev, VkDeviceSize size, VkMemoryPropertyFlags &reqs) { init(dev, create_info(size, VK_BUFFER_USAGE_TRANSFER_SOURCE_BIT | VK_BUFFER_USAGE_TRANSFER_DESTINATION_BIT), reqs); }
void init(const Device &dev, const VkBufferCreateInfo &info, VkMemoryPropertyFlags &reqs);
void init_no_mem(const Device &dev, const VkBufferCreateInfo &info);
diff --git a/tests/vktestframework.cpp b/tests/vktestframework.cpp
index be39d2d..fb5ded6 100644
--- a/tests/vktestframework.cpp
+++ b/tests/vktestframework.cpp
@@ -462,8 +462,7 @@
}
VkMemoryPropertyFlags flags = VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT;
- flags |= VK_BUFFER_USAGE_TRANSFER_SOURCE_BIT;
- buf.init(m_device, (VkDeviceSize)m_display_image->m_data_size, flags);
+ buf.init_as_src(m_device, (VkDeviceSize)m_display_image->m_data_size, flags);
dest_ptr = buf.map();
memcpy(dest_ptr, m_display_image->m_data, m_display_image->m_data_size);
buf.unmap();