1
0
Fork 0
Univerxel/src/client/render/vk/SwapChain.hpp

29 lines
615 B
C++
Raw Normal View History

2020-09-26 22:05:43 +00:00
#pragma once
#include "forward.hpp"
#include <vector>
#include <optional>
namespace render::vk {
2020-10-04 13:32:28 +00:00
class SwapChain final {
2020-09-26 22:05:43 +00:00
public:
SwapChain(VkDevice, const PhysicalDeviceInfo &);
~SwapChain();
const std::vector<VkImageView> &getImageViews() { return imageViews; }
std::optional<uint32_t> acquireNextImage(VkSemaphore, VkFence);
2020-09-27 20:25:35 +00:00
bool presentImage(uint32_t, VkSemaphore);
2020-09-26 22:05:43 +00:00
private:
VkDevice device;
2020-09-27 20:25:35 +00:00
VkQueue presentQueue;
VkSwapchainKHR chain = VK_NULL_HANDLE;
2020-09-26 22:05:43 +00:00
std::vector<VkImage> images;
std::vector<VkImageView> imageViews;
std::vector<VkFence> imagesInFlight;
};
}