#ifndef __SWAPCHAIN_H__ #define __SWAPCHAIN_H__ #include VkSurfaceFormatKHR *svlk_getSurfaceFormats(VkPhysicalDevice physDevice, VkSurfaceKHR surface, unsigned int *len); VkPresentModeKHR *svlk_getPresentModes(VkPhysicalDevice physDevice, VkSurfaceKHR surface, unsigned int *len); VkSurfaceFormatKHR svlk_selectSwapchainFormatFromList(VkSurfaceFormatKHR *surfaceFormats, VkFormat format, VkColorSpaceKHR colorSpace, unsigned int *len); VkSurfaceFormatKHR svlk_selectSwapchainFormat(VkPhysicalDevice physDevice, VkSurfaceKHR surface, VkFormat format, VkColorSpaceKHR colorSpace); VkExtent2D svlk_checkSwapchainExtent(const VkSurfaceCapabilitiesKHR *capabilities, int w, int h); VkSwapchainCreateInfoKHR svlk_createSwapchainCreateinfo( unsigned int imageCount, VkSurfaceKHR surface, VkSurfaceFormatKHR format, VkPresentModeKHR presentMode, VkExtent2D extent, int arrayLayers, unsigned int usage, VkSurfaceTransformFlagBitsKHR pretransform ); void svlk_selectSharingMode(VkSwapchainCreateInfoKHR *createinfo, int concurrent, unsigned int *queueFamilies, int queueFamiliesNum); VkResult svlk_createSwapchain(); VkImage *svlk_getSwapchainImages(VkDevice device, VkSwapchainKHR swapchain, unsigned int *imageCount); VkImageViewCreateInfo svlk_createVkImageViewCreateInfo(VkImage image, VkImageViewType viewtype, VkFormat format); VkResult svlk_createVkImageView(VkDevice device, VkImage image, VkImageViewType viewtype, VkFormat format, VkImageView *imageView); #endif