48 class FVulkanSwapChain
72 inline VkSwapchainKHR GetSwapChainHandle()
const {
return m_SwapChain; }
74 inline VkExtent2D GetSwapChainExtent()
const {
return m_SwapChainExtent; }
75 inline uint32_t GetMaxFramesInFlight()
const {
return MAX_FRAMES_IN_FLIGHT; }
76 inline const std::vector<VkImage>& GetSwapChainImages()
const {
return m_SwapChainImages; }
77 inline const std::vector<VkImageView>& GetSwapChainImageViews()
const {
return m_SwapChainImageViews; }
78 inline VkFormat GetSwapChainImageFormat()
const {
return m_SwapChainImageFormat; }
106 static VkSurfaceFormatKHR ChooseSwapSurfaceFormat(
const std::vector<VkSurfaceFormatKHR>& availableFormats);
117 VkPresentModeKHR ChooseSwapPresentMode(
const std::vector<VkPresentModeKHR>& availablePresentModes);
126 VkExtent2D ChooseSwapExtent(
const VkSurfaceCapabilitiesKHR& capabilities);
130 const VkInstance m_Instance;
133 VkSurfaceKHR m_Surface = VK_NULL_HANDLE;
134 VkSwapchainKHR m_SwapChain = VK_NULL_HANDLE;
136 std::vector<VkImage> m_SwapChainImages;
137 std::vector<VkImageView> m_SwapChainImageViews;
139 VkFormat m_SwapChainImageFormat;
140 VkExtent2D m_SwapChainExtent;
142 VkSurfaceFormatKHR m_SurfaceFormat;
143 VkPresentModeKHR m_PresentMode;
145 GLFWwindow* m_WindowHandle;
147 uint32_t m_InternalWidth = 0;
148 uint32_t m_InternalHeight = 0;
150 bool bInternalFullScreen =
false;
152 uint32_t m_CurrentImageIndex;
153 uint32_t m_SemaphoreIndex;
157 const uint32_t MAX_FRAMES_IN_FLIGHT = 4;
static FVulkanSwapChain * Create(FVulkanDevice *InDevice)
Creates a Vulkan swapchain based on the provided device.
Definition VulkanSwapChain.cpp:8