From e12ca33626bdadedc3158cb69f2a4d2f9bbeeeb0 Mon Sep 17 00:00:00 2001 From: Chuyan Zhang Date: Fri, 6 Sep 2024 01:50:30 -0700 Subject: setup swapchain --- src/vulkan_swapchain.h | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 src/vulkan_swapchain.h (limited to 'src/vulkan_swapchain.h') diff --git a/src/vulkan_swapchain.h b/src/vulkan_swapchain.h new file mode 100644 index 0000000..99405b6 --- /dev/null +++ b/src/vulkan_swapchain.h @@ -0,0 +1,34 @@ +#include "imgui_impl_glfw.h" +#include "imgui_impl_vulkan.h" +#include "vulkan_helper.h" +#include "vulkan/vulkan_core.h" +#include +#include +#include +#include + +std::vector get_glfw_instance_extensions(); + +namespace iris { + +struct Swapchain { + iris::Device device; + + VkSurfaceKHR surface = VK_NULL_HANDLE; + VkSwapchainKHR swapchain = VK_NULL_HANDLE; + VkRenderPass render_pass = VK_NULL_HANDLE; + VkDescriptorPool descriptor_pool = VK_NULL_HANDLE; + GLFWwindow *window = nullptr; + uint32_t width = -1; + uint32_t height = -1; + + static constexpr uint32_t SWAPCHAIN_IMAGE_COUNT = 3; + VkImage swapchain_images[SWAPCHAIN_IMAGE_COUNT]; + VkImageView swapchain_image_views[SWAPCHAIN_IMAGE_COUNT]; + VkFramebuffer framebuffers[SWAPCHAIN_IMAGE_COUNT]; + + Swapchain(GLFWwindow *window, iris::Device device); + ~Swapchain(); +}; + +} // namespace iris \ No newline at end of file -- cgit v1.2.3-70-g09d2