aboutsummaryrefslogtreecommitdiff
path: root/src/queue_context.hh
diff options
context:
space:
mode:
authorNicolas James <nj3ahxac@gmail.com>2026-02-08 17:49:48 +1100
committerNicolas James <nj3ahxac@gmail.com>2026-02-08 17:49:48 +1100
commit5ab5046b643b04b9c31fd41cdfca39b9d5f6b99e (patch)
treeda5383b41b2fff17362425d2a57cbd129f681498 /src/queue_context.hh
parentc7363b6165a7795d10a8989c241dcdec84d0c7d7 (diff)
track queue submits WIP
Diffstat (limited to 'src/queue_context.hh')
-rw-r--r--src/queue_context.hh44
1 files changed, 44 insertions, 0 deletions
diff --git a/src/queue_context.hh b/src/queue_context.hh
new file mode 100644
index 0000000..eb3f2ea
--- /dev/null
+++ b/src/queue_context.hh
@@ -0,0 +1,44 @@
+#ifndef QUEUE_STATE_HH_
+#define QUEUE_STATE_HH_
+
+#include "timestamp_pool.hh"
+
+#include <vulkan/utility/vk_dispatch_table.h>
+#include <vulkan/vulkan.hpp>
+
+#include <deque>
+#include <vector>
+
+namespace low_latency {
+
+class QueueContext final {
+ public:
+ VkDevice device;
+ VkuDeviceDispatchTable vtable;
+
+ VkQueue queue;
+ std::uint32_t queue_family_index;
+
+ VkSemaphore semaphore;
+ VkCommandPool command_pool;
+
+ TimestampPool timestamp_pool;
+
+ std::deque<
+ std::vector<std::pair<TimestampPool::Handle, TimestampPool::Handle>>>
+ tracked_queues;
+
+ public:
+ QueueContext(const VkDevice& device, const VkQueue queue,
+ const std::uint32_t& queue_family_index,
+ const VkuDeviceDispatchTable& vtable);
+ QueueContext(const QueueContext&) = delete;
+ QueueContext(QueueContext&&) = delete;
+ QueueContext operator==(const QueueContext&) = delete;
+ QueueContext operator==(QueueContext&&) = delete;
+ ~QueueContext();
+};
+
+}; // namespace low_latency
+
+#endif \ No newline at end of file