summaryrefslogtreecommitdiff
path: root/test/test-instancing.cpp
diff options
context:
space:
mode:
authorDan Goodliffe <dan@randomdan.homeip.net>2023-04-21 23:52:56 +0100
committerDan Goodliffe <dan@randomdan.homeip.net>2023-04-21 23:52:56 +0100
commitab5b46dbe58ae0401c24ead55a2627b9a577fc1a (patch)
tree8c2d20920186a636f33c471bd1bfa515ea9de2af /test/test-instancing.cpp
parentSwitch to render trees in bulk through foliage asset rendering (diff)
downloadilt-ab5b46dbe58ae0401c24ead55a2627b9a577fc1a.tar.bz2
ilt-ab5b46dbe58ae0401c24ead55a2627b9a577fc1a.tar.xz
ilt-ab5b46dbe58ae0401c24ead55a2627b9a577fc1a.zip
Instances buffer data needs to be unmapped before use
Here we change quite a bit to support mapping and unmapping the buffer as required. The instance/free referencing is still broken though. We add several instances of tree in the render.
Diffstat (limited to 'test/test-instancing.cpp')
-rw-r--r--test/test-instancing.cpp15
1 files changed, 10 insertions, 5 deletions
diff --git a/test/test-instancing.cpp b/test/test-instancing.cpp
index 7191567..2eb3647 100644
--- a/test/test-instancing.cpp
+++ b/test/test-instancing.cpp
@@ -15,16 +15,21 @@ BOOST_FIXTURE_TEST_SUITE(i, InstanceVertices<int>)
BOOST_AUTO_TEST_CASE(createDestroy)
{
- BOOST_REQUIRE(data.data());
+ BOOST_CHECK(!data);
+ map();
+ BOOST_REQUIRE(data);
BOOST_CHECK_EQUAL(0, next);
BOOST_CHECK(unused.empty());
+ unmap();
+ BOOST_CHECK(!data);
}
BOOST_AUTO_TEST_CASE(storeRetreive)
{ // Read write raw buffer, not normally allowed
- std::vector<int> test(data.size());
- std::copy(test.begin(), test.end(), data.begin());
- BOOST_CHECK_EQUAL_COLLECTIONS(test.begin(), test.end(), data.begin(), data.end());
+ std::vector<int> test(capacity);
+ map();
+ std::copy(test.begin(), test.end(), data);
+ BOOST_CHECK_EQUAL_COLLECTIONS(test.begin(), test.end(), data, data + capacity);
}
BOOST_AUTO_TEST_CASE(acquireRelease)
@@ -69,7 +74,7 @@ BOOST_AUTO_TEST_CASE(resize)
proxies.push_back(acquire(n));
expected.emplace_back(n);
}
- BOOST_CHECK_EQUAL_COLLECTIONS(expected.begin(), expected.end(), data.begin(), data.begin() + COUNT);
+ BOOST_CHECK_EQUAL_COLLECTIONS(expected.begin(), expected.end(), data, data + COUNT);
BOOST_CHECK_EQUAL_COLLECTIONS(expected.begin(), expected.end(), proxies.begin(), proxies.end());
}