load instance functions

This commit is contained in:
Gregory Wells
2025-06-24 13:29:37 -04:00
parent 2f2baf4586
commit 93921452ba
9 changed files with 61 additions and 11 deletions

View File

@@ -1,8 +1,40 @@
#include "vulkan_loader.h"
#include "instance/vulkan_instance.h"
#include <instance/vulkan_instance.h>
#include <output_device/vulkan_physical_device.h>
#include <output_device/vulkan_output_devices.h>
#include <vulkan_surface/vulkan_surface.h>
gnInstanceFunctions loadVulkanFunctions(gnRenderingAPI api) {
return (gnInstanceFunctions){
._gnCreateInstance = createInstance
._gnCreateInstance = createInstance,
._gnDestroyInstance = destroyInstance,
._gnGetPhysicalDevices = getPhysicalDevices,
._gnQueueCanPresentToSurface = queueCanPresentToSurface,
._gnCreateOutputDevice = createOutputDevice,
._gnDestroyOutputDevice = destroyOutputDevice,
#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
#endif
._gnDestroyWindowSurface = destroyWindowSurface,
._gnGetSurfaceDetails = getSurfaceDetails
};
}