57TEST(FenceWaiterVKTest, ExecutesNewFenceThenOldFence) {
59 auto const device = context->GetDevice();
60 auto const waiter = context->GetFenceWaiter();
66 waiter->AddFence(std::move(fence), [&signal]() { signal.Signal(); });
75 waiter->AddFence(std::move(fence2), [&signal2]() { signal2.Signal(); });
80 raw_fence->SetStatus(vk::Result::eSuccess);
103TEST(FenceWaiterVKTest, InProgressFencesStillWaitIfTerminated) {
108 auto const device = context->GetDevice();
109 auto const waiter = context->GetFenceWaiter();
117 waiter->AddFence(std::move(fence), [&signal]() { signal.Signal(); });
120 std::thread thread([&]() {
121 std::this_thread::sleep_for(std::chrono::milliseconds{100u});
122 raw_fence->
SetStatus(vk::Result::eSuccess);
std::shared_ptr< ContextVK > Build()
Create a Vulkan context with Vulkan functions mocked. The caller is given a chance to tinker on the s...