19#include <vulkan/vulkan.h>
57#if defined(VK_USE_PLATFORM_WIN32_KHR)
58 void initSurface(
void* platformHandle,
void* platformWindow);
59#elif defined(VK_USE_PLATFORM_ANDROID_KHR)
60 void initSurface(ANativeWindow* window);
61#elif defined(VK_USE_PLATFORM_XCB_KHR)
62 void initSurface(xcb_window_t xcbWindow);
65 void create(uint32_t* width, uint32_t* height,
bool vsync =
false);
66 VkResult
acquireNextImage(VkSemaphore presentCompleteSemaphore, uint32_t* imageIndex);
67 VkResult
queuePresent(VkQueue queue, uint32_t imageIndex, VkSemaphore waitSemaphore = VK_NULL_HANDLE);
struct _SwapChainBuffers SwapChainBuffer
PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR fpGetPhysicalDeviceSurfaceCapabilitiesKHR
PFN_vkGetSwapchainImagesKHR fpGetSwapchainImagesKHR
std::vector< SwapChainBuffer > buffers
PFN_vkAcquireNextImageKHR fpAcquireNextImageKHR
std::vector< VkImage > images
PFN_vkQueuePresentKHR fpQueuePresentKHR
void create(uint32_t *width, uint32_t *height, bool vsync=false)
VkPhysicalDevice physicalDevice
VkResult queuePresent(VkQueue queue, uint32_t imageIndex, VkSemaphore waitSemaphore=VK_NULL_HANDLE)
void connect(VkInstance instance, VkPhysicalDevice physicalDevice, VkDevice device)
PFN_vkGetPhysicalDeviceSurfaceSupportKHR fpGetPhysicalDeviceSurfaceSupportKHR
PFN_vkCreateSwapchainKHR fpCreateSwapchainKHR
VkResult acquireNextImage(VkSemaphore presentCompleteSemaphore, uint32_t *imageIndex)
PFN_vkDestroySwapchainKHR fpDestroySwapchainKHR
VkColorSpaceKHR colorSpace
PFN_vkGetPhysicalDeviceSurfacePresentModesKHR fpGetPhysicalDeviceSurfacePresentModesKHR
PFN_vkGetPhysicalDeviceSurfaceFormatsKHR fpGetPhysicalDeviceSurfaceFormatsKHR