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

36 lines
1.0 KiB
C++
Raw Normal View History

2020-03-24 21:05:32 +01:00
#pragma once
#include "VulkanGraphicsResources.h"
namespace Seele
{
namespace Vulkan
{
DECLARE_REF(CmdBuffer);
DECLARE_REF(Graphics);
class Queue
{
public:
2020-04-01 02:17:49 +02:00
Queue(PGraphics graphics, QueueType queueType, uint32 familyIndex, uint32 queueIndex);
2020-03-24 21:05:32 +01:00
virtual ~Queue();
void submitCommandBuffer(PCmdBuffer cmdBuffer, uint32 numSignalSemaphores = 0, VkSemaphore* signalSemaphore = nullptr);
inline void submitCommandBuffer(PCmdBuffer cmdBuffer, VkSemaphore signalSemaphore)
{
submitCommandBuffer(cmdBuffer, 1, &signalSemaphore);
}
uint32 getFamilyIndex() const
{
return familyIndex;
}
inline VkQueue getHandle() const
{
return queue;
}
private:
2020-04-01 02:17:49 +02:00
PGraphics graphics;
2020-03-24 21:05:32 +01:00
VkQueue queue;
uint32 familyIndex;
QueueType queueType;
};
DEFINE_REF(Queue)
}
}