diff options
Diffstat (limited to 'src/queue_context.hh')
| -rw-r--r-- | src/queue_context.hh | 16 |
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 |
