#include "vulkan_loader.h" #include #include #include #include gnInstanceFunctions loadVulkanInstanceFunctions() { return (gnInstanceFunctions){ .createInstance = (PFN_gnCreateInstance)createVulkanInstance, .destroyInstance = (PFN_gnDestroyInstance)destroyVulkanInstance, ._gnGetPhysicalDevices = getPhysicalDevices, ._gnPhysicalDeviceCanPresentToSurface = deviceCanPresentToSurface, ._gnCreateOutputDevice = createVulkanOutputDevice, ._gnDestroyOutputDevice = destroyVulkanOutputDevice, #ifdef GN_PLATFORM_LINUX #ifdef GN_WINDOW_X11 ._gnCreateX11WindowSurface = createX11WindowSurface, #endif #ifdef GN_WINDOW_WAYLAND ._gnCreateWaylandWindowSurface, #endif #endif #ifdef GN_PLATFORM_WIN32 ._gnCreateWin32WindowSurface, #endif #ifdef GN_PLATFORM_MACOS ._gnCreateMacOSWindowSurface = createMacOSWindowSurface, #endif ._gnDestroyWindowSurface = destroyWindowSurface, ._gnGetSurfaceDetails = getSurfaceDetails }; }