30 lines
626 B
C++
30 lines
626 B
C++
#pragma once
|
|
#include "basalt_window.h"
|
|
|
|
namespace basalt
|
|
{
|
|
class Device;
|
|
|
|
typedef u16 QueueFlag;
|
|
typedef enum QueueFlags
|
|
{
|
|
QUEUE_FLAG_SUPPORTS_GRAPHICS = 1,
|
|
QUEUE_FLAG_SUPPORTS_PRESENT = 2,
|
|
QUEUE_FLAG_SUPPORTS_COMPUTE = 4,
|
|
QUEUE_FLAG_SUPPORTS_TRANSFER = 8
|
|
} QueueFlags;
|
|
|
|
class Queue
|
|
{
|
|
public:
|
|
Queue(const Queue&) = default;
|
|
Queue& operator =(const Queue&) = default;
|
|
Queue(Queue&&) = default;
|
|
Queue& operator =(Queue&&) = default;
|
|
|
|
Queue(basalt::Device& dev, VkQueue queue, u32 family_index, VkSurfaceKHR surface=VK_NULL_HANDLE);
|
|
basalt::Device* device;
|
|
VkQueue queue;
|
|
QueueFlag flags;
|
|
};
|
|
} |