test/binding: inherit Buffer and Image from NonDispHandle
Remove support for vkQueueBindSparseBufferMemory() and
vkQueueBindSparseImageMemory().
diff --git a/tests/blit_tests.cpp b/tests/blit_tests.cpp
index 66d10be..fc511d8 100644
--- a/tests/blit_tests.cpp
+++ b/tests/blit_tests.cpp
@@ -236,7 +236,7 @@
bool ImageChecker::walk(Action action, Buffer &buf) const
{
- void *data = buf.map();
+ void *data = buf.memory().map();
if (!data)
return false;
@@ -246,14 +246,14 @@
break;
}
- buf.unmap();
+ buf.memory().unmap();
return (it == regions_.end());
}
bool ImageChecker::walk(Action action, Image &img) const
{
- void *data = img.map();
+ void *data = img.memory().map();
if (!data)
return false;
@@ -263,7 +263,7 @@
break;
}
- img.unmap();
+ img.memory().unmap();
return (it == regions_.end());
}
@@ -548,19 +548,19 @@
buf.init_as_dst(dev_, 20, reqs);
cmd_.begin();
- vkCmdFillBuffer(cmd_.handle(), buf.obj(), 0, 4, 0x11111111);
- vkCmdFillBuffer(cmd_.handle(), buf.obj(), 4, 16, 0x22222222);
+ vkCmdFillBuffer(cmd_.handle(), buf.handle(), 0, 4, 0x11111111);
+ vkCmdFillBuffer(cmd_.handle(), buf.handle(), 4, 16, 0x22222222);
cmd_.end();
submit_and_done();
- const uint32_t *data = static_cast<const uint32_t *>(buf.map());
+ const uint32_t *data = static_cast<const uint32_t *>(buf.memory().map());
EXPECT_EQ(0x11111111, data[0]);
EXPECT_EQ(0x22222222, data[1]);
EXPECT_EQ(0x22222222, data[2]);
EXPECT_EQ(0x22222222, data[3]);
EXPECT_EQ(0x22222222, data[4]);
- buf.unmap();
+ buf.memory().unmap();
}
TEST_F(VkCmdFillBufferTest, Large)
@@ -572,19 +572,19 @@
buf.init_as_dst(dev_, size, reqs);
cmd_.begin();
- vkCmdFillBuffer(cmd_.handle(), buf.obj(), 0, size / 2, 0x11111111);
- vkCmdFillBuffer(cmd_.handle(), buf.obj(), size / 2, size / 2, 0x22222222);
+ vkCmdFillBuffer(cmd_.handle(), buf.handle(), 0, size / 2, 0x11111111);
+ vkCmdFillBuffer(cmd_.handle(), buf.handle(), size / 2, size / 2, 0x22222222);
cmd_.end();
submit_and_done();
- const uint32_t *data = static_cast<const uint32_t *>(buf.map());
+ const uint32_t *data = static_cast<const uint32_t *>(buf.memory().map());
VkDeviceSize offset;
for (offset = 0; offset < size / 2; offset += 4)
EXPECT_EQ(0x11111111, data[offset / 4]) << "Offset is: " << offset;
for (; offset < size; offset += 4)
EXPECT_EQ(0x22222222, data[offset / 4]) << "Offset is: " << offset;
- buf.unmap();
+ buf.memory().unmap();
}
TEST_F(VkCmdFillBufferTest, Overlap)
@@ -595,19 +595,19 @@
buf.init_as_dst(dev_, 64, reqs);
cmd_.begin();
- vkCmdFillBuffer(cmd_.handle(), buf.obj(), 0, 48, 0x11111111);
- vkCmdFillBuffer(cmd_.handle(), buf.obj(), 32, 32, 0x22222222);
+ vkCmdFillBuffer(cmd_.handle(), buf.handle(), 0, 48, 0x11111111);
+ vkCmdFillBuffer(cmd_.handle(), buf.handle(), 32, 32, 0x22222222);
cmd_.end();
submit_and_done();
- const uint32_t *data = static_cast<const uint32_t *>(buf.map());
+ const uint32_t *data = static_cast<const uint32_t *>(buf.memory().map());
VkDeviceSize offset;
for (offset = 0; offset < 32; offset += 4)
EXPECT_EQ(0x11111111, data[offset / 4]) << "Offset is: " << offset;
for (; offset < 64; offset += 4)
EXPECT_EQ(0x22222222, data[offset / 4]) << "Offset is: " << offset;
- buf.unmap();
+ buf.memory().unmap();
}
TEST_F(VkCmdFillBufferTest, MultiAlignments)
@@ -619,7 +619,7 @@
cmd_.begin();
for (int i = 0; i < ARRAY_SIZE(bufs); i++) {
bufs[i].init_as_dst(dev_, size, reqs);
- vkCmdFillBuffer(cmd_.handle(), bufs[i].obj(), 0, size, 0x11111111);
+ vkCmdFillBuffer(cmd_.handle(), bufs[i].handle(), 0, size, 0x11111111);
size <<= 1;
}
cmd_.end();
@@ -628,12 +628,12 @@
size = 4;
for (int i = 0; i < ARRAY_SIZE(bufs); i++) {
- const uint32_t *data = static_cast<const uint32_t *>(bufs[i].map());
+ const uint32_t *data = static_cast<const uint32_t *>(bufs[i].memory().map());
VkDeviceSize offset;
for (offset = 0; offset < size; offset += 4)
EXPECT_EQ(0x11111111, data[offset / 4]) << "Buffser is: " << i << "\n" <<
"Offset is: " << offset;
- bufs[i].unmap();
+ bufs[i].memory().unmap();
size <<= 1;
}
@@ -647,23 +647,23 @@
VkMemoryPropertyFlags reqs = VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT;
src.init_as_src(dev_, 4, reqs);
- uint32_t *data = static_cast<uint32_t *>(src.map());
+ uint32_t *data = static_cast<uint32_t *>(src.memory().map());
data[0] = 0x11111111;
- src.unmap();
+ src.memory().unmap();
dst.init_as_dst(dev_, 4, reqs);
cmd_.begin();
VkBufferCopy region = {};
region.copySize = 4;
- vkCmdCopyBuffer(cmd_.handle(), src.obj(), dst.obj(), 1, ®ion);
+ vkCmdCopyBuffer(cmd_.handle(), src.handle(), dst.handle(), 1, ®ion);
cmd_.end();
submit_and_done();
- data = static_cast<uint32_t *>(dst.map());
+ data = static_cast<uint32_t *>(dst.memory().map());
EXPECT_EQ(0x11111111, data[0]);
- dst.unmap();
+ dst.memory().unmap();
}
TEST_F(VkCmdCopyBufferTest, Large)
@@ -673,26 +673,26 @@
VkMemoryPropertyFlags reqs = VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT;
src.init_as_src(dev_, size, reqs);
- uint32_t *data = static_cast<uint32_t *>(src.map());
+ uint32_t *data = static_cast<uint32_t *>(src.memory().map());
VkDeviceSize offset;
for (offset = 0; offset < size; offset += 4)
data[offset / 4] = offset;
- src.unmap();
+ src.memory().unmap();
dst.init_as_dst(dev_, size, reqs);
cmd_.begin();
VkBufferCopy region = {};
region.copySize = size;
- vkCmdCopyBuffer(cmd_.handle(), src.obj(), dst.obj(), 1, ®ion);
+ vkCmdCopyBuffer(cmd_.handle(), src.handle(), dst.handle(), 1, ®ion);
cmd_.end();
submit_and_done();
- data = static_cast<uint32_t *>(dst.map());
+ data = static_cast<uint32_t *>(dst.memory().map());
for (offset = 0; offset < size; offset += 4)
EXPECT_EQ(offset, data[offset / 4]);
- dst.unmap();
+ dst.memory().unmap();
}
TEST_F(VkCmdCopyBufferTest, MultiAlignments)
@@ -717,20 +717,20 @@
VkMemoryPropertyFlags reqs = VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT;
src.init_as_src(dev_, 256, reqs);
- uint8_t *data = static_cast<uint8_t *>(src.map());
+ uint8_t *data = static_cast<uint8_t *>(src.memory().map());
for (int i = 0; i < 256; i++)
data[i] = i;
- src.unmap();
+ src.memory().unmap();
dst.init_as_dst(dev_, 1024, reqs);
cmd_.begin();
- vkCmdCopyBuffer(cmd_.handle(), src.obj(), dst.obj(), ARRAY_SIZE(regions), regions);
+ vkCmdCopyBuffer(cmd_.handle(), src.handle(), dst.handle(), ARRAY_SIZE(regions), regions);
cmd_.end();
submit_and_done();
- data = static_cast<uint8_t *>(dst.map());
+ data = static_cast<uint8_t *>(dst.memory().map());
for (int i = 0; i < ARRAY_SIZE(regions); i++) {
const VkBufferCopy &r = regions[i];
@@ -740,7 +740,7 @@
"Offset is: " << r.destOffset + j;
}
}
- dst.unmap();
+ dst.memory().unmap();
}
TEST_F(VkCmdCopyBufferTest, RAWHazard)
@@ -792,14 +792,14 @@
for (int i = 0; i < ARRAY_SIZE(bufs); i++) {
bufs[i].init_as_src_and_dst(dev_, 4, reqs);
- uint32_t *data = static_cast<uint32_t *>(bufs[i].map());
+ uint32_t *data = static_cast<uint32_t *>(bufs[i].memory().map());
data[0] = 0x22222222 * (i + 1);
- bufs[i].unmap();
+ bufs[i].memory().unmap();
}
cmd_.begin();
- vkCmdFillBuffer(cmd_.handle(), bufs[0].obj(), 0, 4, 0x11111111);
+ vkCmdFillBuffer(cmd_.handle(), bufs[0].handle(), 0, 4, 0x11111111);
// is this necessary?
VkBufferMemoryBarrier memory_barrier = bufs[0].buffer_memory_barrier(
VK_MEMORY_OUTPUT_TRANSFER_BIT, VK_MEMORY_INPUT_TRANSFER_BIT, 0, 4);
@@ -811,14 +811,14 @@
VkBufferCopy region = {};
region.copySize = 4;
- vkCmdCopyBuffer(cmd_.handle(), bufs[0].obj(), bufs[1].obj(), 1, ®ion);
+ vkCmdCopyBuffer(cmd_.handle(), bufs[0].handle(), bufs[1].handle(), 1, ®ion);
memory_barrier = bufs[1].buffer_memory_barrier(
VK_MEMORY_OUTPUT_TRANSFER_BIT, VK_MEMORY_INPUT_TRANSFER_BIT, 0, 4);
pmemory_barrier = &memory_barrier;
vkCmdPipelineBarrier(cmd_.handle(), src_stages, dest_stages, false, 1, (const void **)&pmemory_barrier);
- vkCmdCopyBuffer(cmd_.handle(), bufs[1].obj(), bufs[2].obj(), 1, ®ion);
+ vkCmdCopyBuffer(cmd_.handle(), bufs[1].handle(), bufs[2].handle(), 1, ®ion);
/* Use vkCmdSetEvent and vkCmdWaitEvents to test them.
* This could be vkCmdPipelineBarrier.
@@ -836,9 +836,9 @@
submit_and_done();
- const uint32_t *data = static_cast<const uint32_t *>(bufs[2].map());
+ const uint32_t *data = static_cast<const uint32_t *>(bufs[2].memory().map());
EXPECT_EQ(0x11111111, data[0]);
- bufs[2].unmap();
+ bufs[2].memory().unmap();
err = vkDestroyObject(dev_.handle(), VK_OBJECT_TYPE_EVENT, event);
ASSERT_VK_SUCCESS(err);
@@ -894,8 +894,8 @@
// copy in and tile
cmd_.begin();
- vkCmdCopyBufferToImage(cmd_.handle(), in_buf.obj(),
- img.obj(), VK_IMAGE_LAYOUT_TRANSFER_DESTINATION_OPTIMAL,
+ vkCmdCopyBufferToImage(cmd_.handle(), in_buf.handle(),
+ img.handle(), VK_IMAGE_LAYOUT_TRANSFER_DESTINATION_OPTIMAL,
checker.regions().size(), &checker.regions()[0]);
cmd_.end();
@@ -918,8 +918,8 @@
// copy out and linearize
cmd_.begin();
vkCmdCopyImageToBuffer(cmd_.handle(),
- img.obj(), VK_IMAGE_LAYOUT_TRANSFER_SOURCE_OPTIMAL,
- out_buf.obj(),
+ img.handle(), VK_IMAGE_LAYOUT_TRANSFER_SOURCE_OPTIMAL,
+ out_buf.handle(),
checker.regions().size(), &checker.regions()[0]);
cmd_.end();
@@ -957,8 +957,8 @@
cmd_.begin();
vkCmdCopyBufferToImage(cmd_.handle(),
- buf.obj(),
- img.obj(), VK_IMAGE_LAYOUT_TRANSFER_DESTINATION_OPTIMAL,
+ buf.handle(),
+ img.handle(), VK_IMAGE_LAYOUT_TRANSFER_DESTINATION_OPTIMAL,
checker.regions().size(), &checker.regions()[0]);
cmd_.end();
@@ -1027,8 +1027,8 @@
cmd_.begin();
vkCmdCopyImageToBuffer(cmd_.handle(),
- img.obj(), VK_IMAGE_LAYOUT_TRANSFER_SOURCE_OPTIMAL,
- buf.obj(),
+ img.handle(), VK_IMAGE_LAYOUT_TRANSFER_SOURCE_OPTIMAL,
+ buf.handle(),
checker.regions().size(), &checker.regions()[0]);
cmd_.end();
@@ -1126,8 +1126,8 @@
cmd_.begin();
vkCmdCopyImage(cmd_.handle(),
- src.obj(), VK_IMAGE_LAYOUT_TRANSFER_SOURCE_OPTIMAL,
- dst.obj(), VK_IMAGE_LAYOUT_TRANSFER_DESTINATION_OPTIMAL,
+ src.handle(), VK_IMAGE_LAYOUT_TRANSFER_SOURCE_OPTIMAL,
+ dst.handle(), VK_IMAGE_LAYOUT_TRANSFER_DESTINATION_OPTIMAL,
copies.size(), &copies[0]);
cmd_.end();
@@ -1259,7 +1259,7 @@
vkCmdPipelineBarrier(cmd_.handle(), src_stages, dest_stages, false, 1, (const void **)&p_to_clear[0]);
vkCmdClearColorImage(cmd_.handle(),
- img.obj(), VK_IMAGE_LAYOUT_GENERAL,
+ img.handle(), VK_IMAGE_LAYOUT_GENERAL,
&clear_color, ranges.size(), &ranges[0]);
vkCmdPipelineBarrier(cmd_.handle(), src_stages, dest_stages, false, 1, (const void **)&p_to_xfer[0]);
@@ -1439,7 +1439,7 @@
vkCmdPipelineBarrier(cmd_.handle(), src_stages, dest_stages, false, to_clear.size(), (const void **)&p_to_clear[0]);
vkCmdClearDepthStencilImage(cmd_.handle(),
- img.obj(), VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL,
+ img.handle(), VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL,
depth, stencil,
ranges.size(), &ranges[0]);