Implement initial swapchain creation

This commit is contained in:
Wunkolo 2023-07-22 15:24:41 -07:00
parent 197e2a4bbd
commit 26c97eb716
2 changed files with 129 additions and 9 deletions

View file

@ -4,17 +4,13 @@
class GPU;
class RendererVK final : public Renderer {
// The order of these `Unique*` members is important, they will be destroyed in RAII order
vk::UniqueInstance instance = {};
vk::PhysicalDevice physicalDevice = {};
vk::UniqueDevice device = {};
vk::UniqueDebugUtilsMessengerEXT debugMessenger = {};
vk::UniqueSurfaceKHR surface = {};
vk::UniqueSwapchainKHR swapchain = {};
std::vector<vk::UniqueImage> swapchainImages = {};
std::vector<vk::UniqueImageView> swapchainImageViews = {};
vk::UniqueDebugUtilsMessengerEXT debugMessenger = {};
vk::PhysicalDevice physicalDevice = {};
vk::Queue presentQueue = {};
u32 presentQueueFamily = ~0u;
@ -25,6 +21,13 @@ class RendererVK final : public Renderer {
vk::Queue transferQueue = {};
u32 transferQueueFamily = ~0u;
vk::UniqueDevice device = {};
vk::UniqueSwapchainKHR swapchain = {};
std::vector<vk::UniqueImage> swapchainImages = {};
std::vector<vk::UniqueImageView> swapchainImageViews = {};
public:
RendererVK(GPU& gpu, const std::array<u32, regNum>& internalRegs);
~RendererVK() override;