Files
basalt/include/vulkan/basalt_queue.h

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;
};
}