From 31c69428639c0674339c3752c5401542d38693bc Mon Sep 17 00:00:00 2001 From: Nicolas James Date: Wed, 1 Apr 2026 00:49:34 +1100 Subject: Turn shared_ptr to unique_ptr in Context, strictly transfer ownership in notify_present --- src/swapchain_monitor.hh | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'src/swapchain_monitor.hh') diff --git a/src/swapchain_monitor.hh b/src/swapchain_monitor.hh index 295ac5b..4fed3f8 100644 --- a/src/swapchain_monitor.hh +++ b/src/swapchain_monitor.hh @@ -8,6 +8,7 @@ #include #include #include +#include #include #include @@ -31,7 +32,8 @@ class SwapchainMonitor { std::chrono::milliseconds present_delay = std::chrono::milliseconds{0}; bool was_low_latency_requested = false; - std::deque in_flight_submissions; + std::deque> + in_flight_submissions; protected: // Small fix to avoid submissions growing limitlessly in size if this @@ -53,7 +55,7 @@ class SwapchainMonitor { public: virtual void - notify_present(const QueueContext::submissions_ptr_t& submissions) = 0; + notify_present(std::unique_ptr submissions) = 0; }; // Provides asynchronous monitoring of submissions and signalling of some @@ -86,8 +88,8 @@ class ReflexSwapchainMonitor final : public SwapchainMonitor { const std::uint64_t& value); public: - virtual void - notify_present(const QueueContext::submissions_ptr_t& submissions) override; + virtual void notify_present( + std::unique_ptr submissions) override; }; // Much simpler synchronous waiting with no thread requirement. @@ -102,8 +104,8 @@ class AntiLagSwapchainMonitor final : public SwapchainMonitor { void await_submissions(); public: - virtual void - notify_present(const QueueContext::submissions_ptr_t& submissions) override; + virtual void notify_present( + std::unique_ptr submissions) override; }; } // namespace low_latency -- cgit v1.2.3