diff options
Diffstat (limited to 'src/swapchain_monitor.hh')
| -rw-r--r-- | src/swapchain_monitor.hh | 10 |
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; |
