aboutsummaryrefslogtreecommitdiff
path: root/src/strategies/anti_lag/device_strategy.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/strategies/anti_lag/device_strategy.hh')
-rw-r--r--src/strategies/anti_lag/device_strategy.hh17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/strategies/anti_lag/device_strategy.hh b/src/strategies/anti_lag/device_strategy.hh
index 8a9afee..46197b0 100644
--- a/src/strategies/anti_lag/device_strategy.hh
+++ b/src/strategies/anti_lag/device_strategy.hh
@@ -3,14 +3,31 @@
#include "strategies/device_strategy.hh"
+#include <vulkan/vulkan.h>
+
+#include <optional>
+#include <shared_mutex>
+
namespace low_latency {
class DeviceContext;
class AntiLagDeviceStrategy final : public DeviceStrategy {
+ private:
+ std::shared_mutex mutex{};
+ // If this is nullopt don't track the submission.
+ std::optional<std::uint64_t> frame_index{};
+ std::chrono::microseconds delay{};
+ bool is_enabled{};
+
public:
AntiLagDeviceStrategy(DeviceContext& device);
virtual ~AntiLagDeviceStrategy();
+
+ public:
+ void notify_update(const VkAntiLagDataAMD& data);
+
+ bool should_track_submissions();
};
} // namespace low_latency