#ifndef __QF_Vulkan_swapchain_h #define __QF_Vulkan_swapchain_h typedef struct qfv_swapchain_s { struct qfv_device_s *device; VkSurfaceKHR surface; VkSwapchainKHR swapchain; VkFormat format; VkExtent2D extent; int32_t numImages; VkImageUsageFlags usage; struct qfv_imageset_s *images; struct qfv_imageviewset_s *imageViews; } qfv_swapchain_t; struct vulkan_ctx_s; qfv_swapchain_t *QFV_CreateSwapchain (struct vulkan_ctx_s *ctx, VkSwapchainKHR old_swapchain); void QFV_DestroySwapchain (qfv_swapchain_t *swapchain); struct qfv_semaphore_s; struct qfv_fence_s; int QFV_AcquireNextImage (qfv_swapchain_t *swapchain, VkSemaphore semaphore, VkFence fence, uint32_t *imageIndex); #endif//__QF_Vulkan_swapchain_h