7 #include <condition_variable>
12 #include "flutter/fml/closure.h"
13 #include "flutter/fml/macros.h"
24 using WaitSet = std::vector<std::shared_ptr<WaitSetEntry>>;
34 bool AddFence(vk::UniqueFence fence,
const fml::closure& callback);
39 std::weak_ptr<DeviceHolder> device_holder_;
40 std::unique_ptr<std::thread> waiter_thread_;
41 std::mutex wait_set_mutex_;
42 std::condition_variable wait_set_cv_;
44 bool terminate_ =
false;
46 explicit FenceWaiterVK(std::weak_ptr<DeviceHolder> device_holder);
51 void WaitUntilEmpty();