aboutsummaryrefslogtreecommitdiff
path: root/src/swapchain_monitor.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/swapchain_monitor.hh')
-rw-r--r--src/swapchain_monitor.hh10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/swapchain_monitor.hh b/src/swapchain_monitor.hh
index e8603b5..eaf4933 100644
--- a/src/swapchain_monitor.hh
+++ b/src/swapchain_monitor.hh
@@ -12,6 +12,7 @@
#include <mutex>
#include <thread>
+#include "instance_context.hh"
#include "queue_context.hh"
namespace low_latency {
@@ -69,7 +70,14 @@ class ReflexSwapchainMonitor final : public SwapchainMonitor {
public:
void signal(const DeviceContext& device) const;
};
- std::deque<WakeupSemaphore> wakeup_semaphores;
+
+ // A pairing of semaphore -> submissions.
+ // If the Submissions completes then signal the bundled semaphore.
+ struct SemaphoreSubmissions {
+ WakeupSemaphore wakeup_semaphore;
+ std::unique_ptr<QueueContext::Submissions> submissions;
+ };
+ std::deque<SemaphoreSubmissions> semaphore_submissions;
std::mutex mutex;
std::condition_variable_any cv;