aboutsummaryrefslogtreecommitdiff
path: root/src/strategies/low_latency2/swapchain_monitor.hh
diff options
context:
space:
mode:
authorNicolas James <nj3ahxac@gmail.com>2026-04-08 12:55:29 +1000
committerNicolas James <nj3ahxac@gmail.com>2026-04-08 12:55:29 +1000
commit453d5b0052bd17ed74d47570ffff403ffcd9ebb3 (patch)
tree14ab71a5ff27d5485faea061f6e8fe26c0e19640 /src/strategies/low_latency2/swapchain_monitor.hh
parenteb9719cc8b9a308654ccd2c3bce8a7047b6e2a1a (diff)
Fix refactor latency regression for VK_NV_LowLatency2 by checking if work has already completed
Diffstat (limited to 'src/strategies/low_latency2/swapchain_monitor.hh')
-rw-r--r--src/strategies/low_latency2/swapchain_monitor.hh7
1 files changed, 2 insertions, 5 deletions
diff --git a/src/strategies/low_latency2/swapchain_monitor.hh b/src/strategies/low_latency2/swapchain_monitor.hh
index 837f8e4..a5f8362 100644
--- a/src/strategies/low_latency2/swapchain_monitor.hh
+++ b/src/strategies/low_latency2/swapchain_monitor.hh
@@ -26,16 +26,13 @@ class SwapchainMonitor final {
void signal(const DeviceContext& device) const;
};
- // An empty vector here represents our 'no work' state.
std::vector<std::unique_ptr<FrameSpan>> pending_frame_spans{};
- // A pairing of semaphore -> submissions.
- // If the Submissions completes then signal the bundled semaphore.
- struct SemaphoreSpans {
+ struct PendingSignal {
WakeupSemaphore wakeup_semaphore{};
std::vector<std::unique_ptr<FrameSpan>> frame_spans{};
};
- std::optional<SemaphoreSpans> semaphore_spans{};
+ std::deque<PendingSignal> pending_signals{};
protected:
const DeviceContext& device;