48 vk::UniqueSwapchainKHR& get_swapchain();
49 vk::SwapchainCreateInfoKHR& get_swapchain_create_info();
50 [[
nodiscard]]
const std::vector<vk::Image>& get_swapchain_images()
const;
51 vk::SurfaceFormatKHR& get_surface_format();
52 vk::Extent2D& get_swapchain_extent();
53 [[
nodiscard]]
const std::vector<vk::UniqueImageView>& get_swapchain_image_views()
const;
55 std::expected<uint32_t, vk::Result> get_vulkan_images(vk::UniqueSemaphore& image_acquired);
58 void rebuild_per_image_sync();
60 [[
nodiscard]] vk::CommandPool get_command_pool()
const;
62 void resize(
int witdh,
int height);
72 void create_swapchain();
73 void create_command_pool();
74 void create_swapchain_dependent_resources();
99 bool m_is_minimized{};
100 bool m_is_framebuffer_resized{};
Definition Application.hpp:22
Definition VulkanWindow.hpp:19
vk::UniqueSemaphore image_acquired
Definition VulkanWindow.hpp:20
vk::UniqueFence in_flight
Definition VulkanWindow.hpp:21
Definition LayerList.hpp:15
Definition VulkanWindow.hpp:24
vk::UniqueSemaphore render_complete
Definition VulkanWindow.hpp:25
Definition VulkanContext.hpp:22
Definition VulkanWindow.hpp:35
bool is_framebuffer_resized() const
Definition VulkanWindow.hpp:65
vk::SwapchainCreateInfoKHR m_swapchain_create_info
Definition VulkanWindow.hpp:85
VulkanContext & m_vulkan_ctx
Definition VulkanWindow.hpp:76
std::vector< vk::UniqueCommandBuffer > m_command_buffers
Definition VulkanWindow.hpp:94
VulkanContext & get_vulkan_context()
Definition VulkanWindow.hpp:69
std::vector< vk::Image > m_swapchain_images
Definition VulkanWindow.hpp:87
vk::UniqueCommandPool m_command_pool
Definition VulkanWindow.hpp:93
vk::UniqueSwapchainKHR m_swapchain
Definition VulkanWindow.hpp:84
vk::CommandBuffer get_current_command_buffer() const
Definition VulkanWindow.hpp:68
vk::UniqueSurfaceKHR m_surface
Definition VulkanWindow.hpp:82
std::vector< SwapchainSync > m_swapchain_syncs
Definition VulkanWindow.hpp:97
vk::SurfaceFormatKHR m_surface_format
Definition VulkanWindow.hpp:90
vk::SurfaceCapabilitiesKHR m_surface_capabilities
Definition VulkanWindow.hpp:91
vk::Extent2D m_swapchain_extent
Definition VulkanWindow.hpp:89
vk::Device & m_device
Definition VulkanWindow.hpp:77
std::vector< vk::UniqueImageView > m_swapchain_image_views
Definition VulkanWindow.hpp:88
Window & m_window
Definition VulkanWindow.hpp:80
std::vector< FrameSync > m_frame_syncs
Definition VulkanWindow.hpp:96
void reset_framebuffer_resized()
Definition VulkanWindow.hpp:66
bool is_minimized() const
Definition VulkanWindow.hpp:64
consteval U64 type_id_of()
Definition type_id.hpp:6