#include "vulkan_loader.h" #include #include #include #include gryphnInstanceFunctionLayers loadVulkanAPILayer() { return (gryphnInstanceFunctionLayers) { .createInstance = { vulkanCreateInstance, NULL }, .destroyInstance = { vulkanDestroyInstance, NULL } }; } gnInstanceFunctions loadVulkanInstanceFunctions() { return (gnInstanceFunctions){ ._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 }; }