diff options
| author | Nicolas James <nj3ahxac@gmail.com> | 2026-02-08 17:49:48 +1100 |
|---|---|---|
| committer | Nicolas James <nj3ahxac@gmail.com> | 2026-02-08 17:49:48 +1100 |
| commit | 5ab5046b643b04b9c31fd41cdfca39b9d5f6b99e (patch) | |
| tree | da5383b41b2fff17362425d2a57cbd129f681498 /src/queue_context.hh | |
| parent | c7363b6165a7795d10a8989c241dcdec84d0c7d7 (diff) | |
track queue submits WIP
Diffstat (limited to 'src/queue_context.hh')
| -rw-r--r-- | src/queue_context.hh | 44 |
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 |
