Files
Seele/src/Engine/Graphics/Vulkan/Queue.h
T

24 lines
618 B
C++
Raw Normal View History

2020-03-24 21:05:32 +01:00
#pragma once
2023-10-26 18:37:29 +02:00
#include "Resources.h"
2020-03-24 21:05:32 +01:00
2024-06-09 12:20:04 +02:00
namespace Seele {
namespace Vulkan {
2023-11-15 00:06:00 +01:00
DECLARE_REF(Command)
2021-04-01 16:40:14 +02:00
DECLARE_REF(Graphics)
2024-06-09 12:20:04 +02:00
class Queue {
public:
2024-01-16 19:24:49 +01:00
Queue(PGraphics graphics, uint32 familyIndex, uint32 queueIndex);
2020-04-12 15:47:19 +02:00
virtual ~Queue();
void submitCommandBuffer(PCommand command, const Array<VkSemaphore>& signalSemaphore);
2024-06-09 12:20:04 +02:00
constexpr uint32 getFamilyIndex() const { return familyIndex; }
constexpr VkQueue getHandle() const { return queue; }
2020-04-12 15:47:19 +02:00
2024-06-09 12:20:04 +02:00
private:
2021-04-13 23:09:16 +02:00
std::mutex queueLock;
2020-04-12 15:47:19 +02:00
PGraphics graphics;
VkQueue queue;
uint32 familyIndex;
};
DEFINE_REF(Queue)
} // namespace Vulkan
} // namespace Seele