diff options
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 |
