diff options
Diffstat (limited to 'src/strategies/anti_lag')
| -rw-r--r-- | src/strategies/anti_lag/device_strategy.cc | 10 | ||||
| -rw-r--r-- | src/strategies/anti_lag/device_strategy.hh | 9 | ||||
| -rw-r--r-- | src/strategies/anti_lag/queue_strategy.cc | 3 | ||||
| -rw-r--r-- | src/strategies/anti_lag/queue_strategy.hh | 1 |
4 files changed, 20 insertions, 3 deletions
diff --git a/src/strategies/anti_lag/device_strategy.cc b/src/strategies/anti_lag/device_strategy.cc index df11dca..b391371 100644 --- a/src/strategies/anti_lag/device_strategy.cc +++ b/src/strategies/anti_lag/device_strategy.cc @@ -54,8 +54,7 @@ void AntiLagDeviceStrategy::notify_update(const VkAntiLagDataAMD& data) { } } - // We might need to wait a little more time to meet our frame limit, if - // necessary. + // We might need to wait a little more time to meet our frame limit. using namespace std::chrono; if (this->delay != 0us && this->previous_input_release.has_value()) { std::this_thread::sleep_until(*this->previous_input_release + @@ -80,4 +79,11 @@ bool AntiLagDeviceStrategy::should_track_submissions() { return true; } +// Stub - anti_lag doesn't differentiate between swapchains. +void AntiLagDeviceStrategy::notify_create_swapchain( + const VkSwapchainKHR&, const VkSwapchainCreateInfoKHR&) {} + +// Stub - again, AL doesn't care about swapchains. +void AntiLagDeviceStrategy::notify_destroy_swapchain(const VkSwapchainKHR&) {} + } // namespace low_latency
\ No newline at end of file diff --git a/src/strategies/anti_lag/device_strategy.hh b/src/strategies/anti_lag/device_strategy.hh index 836e748..3533647 100644 --- a/src/strategies/anti_lag/device_strategy.hh +++ b/src/strategies/anti_lag/device_strategy.hh @@ -18,7 +18,7 @@ class AntiLagDeviceStrategy final : public DeviceStrategy { std::shared_mutex mutex{}; // If this is nullopt don't track the submission. std::optional<std::uint64_t> frame_index{}; - std::optional<std::chrono::steady_clock::time_point> previous_input_release; + std::optional<std::chrono::steady_clock::time_point> previous_input_release{}; std::chrono::microseconds delay{}; bool is_enabled{}; @@ -27,6 +27,13 @@ class AntiLagDeviceStrategy final : public DeviceStrategy { virtual ~AntiLagDeviceStrategy(); public: + virtual void + notify_create_swapchain(const VkSwapchainKHR& swapchain, + const VkSwapchainCreateInfoKHR& info) override; + virtual void + notify_destroy_swapchain(const VkSwapchainKHR& swapchain) override; + + public: void notify_update(const VkAntiLagDataAMD& data); bool should_track_submissions(); diff --git a/src/strategies/anti_lag/queue_strategy.cc b/src/strategies/anti_lag/queue_strategy.cc index 9dbe127..0834a96 100644 --- a/src/strategies/anti_lag/queue_strategy.cc +++ b/src/strategies/anti_lag/queue_strategy.cc @@ -59,4 +59,7 @@ void AntiLagQueueStrategy::await_complete() { last->end->await_time(); } +// Stub - AntiLag doesn't care about presents. +void AntiLagQueueStrategy::notify_present(const VkPresentInfoKHR&) {} + } // namespace low_latency diff --git a/src/strategies/anti_lag/queue_strategy.hh b/src/strategies/anti_lag/queue_strategy.hh index 3887474..37c44a5 100644 --- a/src/strategies/anti_lag/queue_strategy.hh +++ b/src/strategies/anti_lag/queue_strategy.hh @@ -25,6 +25,7 @@ class AntiLagQueueStrategy final : public QueueStrategy { std::unique_ptr<Submission> submission) override; virtual void notify_submit(const VkSubmitInfo2& submit, std::unique_ptr<Submission> submission) override; + virtual void notify_present(const VkPresentInfoKHR& present) override; public: // Wait for all pending submissions to complete. Resets pending submissions |
