aboutsummaryrefslogtreecommitdiff
path: root/src/queue_context.hh
diff options
context:
space:
mode:
authorNicolas James <Eele1Ephe7uZahRie@tutanota.com>2026-02-11 23:19:15 +1100
committerNicolas James <Eele1Ephe7uZahRie@tutanota.com>2026-02-11 23:19:15 +1100
commit76f3ef1d7c2b4393a8e8b402deb924e606448d27 (patch)
treea291bec0544f007536a41ec1f590338aee1163e9 /src/queue_context.hh
parent77e2be172718878b38999efc247ce7571435fcc8 (diff)
More cleanup, fix lifetime and mutex issues
Diffstat (limited to 'src/queue_context.hh')
-rw-r--r--src/queue_context.hh16
1 files changed, 9 insertions, 7 deletions
diff --git a/src/queue_context.hh b/src/queue_context.hh
index 49bfcdf..184e31d 100644
--- a/src/queue_context.hh
+++ b/src/queue_context.hh
@@ -1,37 +1,39 @@
#ifndef QUEUE_STATE_HH_
#define QUEUE_STATE_HH_
+#include "context.hh"
#include "timestamp_pool.hh"
#include <vulkan/utility/vk_dispatch_table.h>
#include <vulkan/vulkan.hpp>
#include <memory>
+#include <deque>
namespace low_latency {
-
+
class DeviceContext;
-class QueueContext final {
+class QueueContext final : public Context {
public:
DeviceContext& device_context;
const VkQueue queue;
const std::uint32_t queue_family_index;
+ // this is incremented and tied to our semaphore
+ std::uint64_t semaphore_sequence = 0;
VkSemaphore semaphore;
+
VkCommandPool command_pool;
std::unique_ptr<TimestampPool> timestamp_pool;
+ std::deque<std::unique_ptr<TimestampPool::Handle>> handle_hack;
public:
QueueContext(DeviceContext& device_context, const VkQueue& queue,
const std::uint32_t& queue_family_index);
- QueueContext(const QueueContext&) = delete;
- QueueContext(QueueContext&&) = delete;
- QueueContext operator==(const QueueContext&) = delete;
- QueueContext operator==(QueueContext&&) = delete;
- ~QueueContext();
+ virtual ~QueueContext();
};
}; // namespace low_latency