26 lines
758 B
C++
26 lines
758 B
C++
#pragma once
|
|
|
|
#include <vector>
|
|
#include <vulkan/vulkan.h>
|
|
|
|
namespace VkObjects
|
|
{
|
|
class PhysicalDevice;
|
|
|
|
class Device
|
|
{
|
|
VkDevice device_ = nullptr;
|
|
VkQueue graphics_queue_ = nullptr;
|
|
VkQueue present_queue_ = nullptr;
|
|
VkQueue transfer_queue_ = nullptr;
|
|
public:
|
|
explicit Device(const PhysicalDevice& physical_device, const std::vector<const char*>& device_extensions);
|
|
~Device();
|
|
|
|
inline VkDevice get_native() const { return device_; }
|
|
inline VkQueue get_graphics_queue() const { return graphics_queue_; }
|
|
inline VkQueue get_present_queue() const { return present_queue_; }
|
|
inline VkQueue get_transfer_queue() const { return transfer_queue_; }
|
|
};
|
|
}
|